2
0
Fork 0
OPL/Source/DROMultiplexer.h

34 lines
716 B
C++

#pragma once
#include "hiopl.h"
class DROMultiplexer
{
public:
DROMultiplexer();
~DROMultiplexer();
void TwoOpMelodicNoteOn(Hiopl* opl, int ch);
void TwoOpMelodicNoteOff(Hiopl* opl, int ch);
void PercussionHit(Hiopl* opl);
void InitCaptureVariables();
bool IsAnInstanceRecording();
bool IsAnotherInstanceRecording();
void StartCapture(const char* filepath, Hiopl* opl);
void StopCapture();
//private:
void _CaptureDelay(Bit16u delayMs);
void _CaptureRegWriteWithDelay(Bit32u reg, Bit8u value);
void _CaptureRegWrite(Bit32u reg, Bit8u value);
void _CaptureOpl3Enable();
static DROMultiplexer* master;
FILE* captureHandle;
Bit64s captureStart;
Bit64s lastWrite;
Bit32u captureLengthBytes;
};