From 8a0a939a3281a31fc17327d24f0a4c0975a1b9fa Mon Sep 17 00:00:00 2001 From: Vitaly Novichkov Date: Tue, 10 Apr 2018 02:15:03 +0300 Subject: [Experimental] Added support for emulation core switching in real time! Due to clunky playback on updated Nuked OPL3 emulator v 1.8, I kept the Nuked OPL3 1.7.4 work in parallel and be a separated switchable emulator. --- include/adlmidi.h | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) (limited to 'include/adlmidi.h') diff --git a/include/adlmidi.h b/include/adlmidi.h index 1c2613b..4dbd476 100644 --- a/include/adlmidi.h +++ b/include/adlmidi.h @@ -126,9 +126,24 @@ extern int adl_openBankFile(struct ADL_MIDIPlayer *device, const char *filePath) extern int adl_openBankData(struct ADL_MIDIPlayer *device, const void *mem, unsigned long size); -/*Returns name of currently used OPL3 emulator*/ +/* DEPRECATED */ extern const char *adl_emulatorName(); +/*Returns chip emulator name string*/ +extern const char *adl_chipEmulatorName(struct ADL_MIDIPlayer *device); + +enum ADL_Emulator +{ + ADLMIDI_EMU_NUKED = 0, + ADLMIDI_EMU_NUKED_8, + ADLMIDI_EMU_DOSBOX, + ADLMIDI_EMU_end +}; + +/* Switch the emulation core */ +extern int adl_switchEmulator(struct ADL_MIDIPlayer *device, int emulator); + + typedef struct { ADL_UInt16 major; ADL_UInt16 minor; -- cgit v1.2.3