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;
|
||
|
|
||
|
};
|
||
|
|