34 lines
716 B
C++
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;
|
|
|
|
};
|
|
|