aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorVitaly Novichkov <admin@wohlnet.ru>2018-04-10 02:15:03 +0300
committerVitaly Novichkov <admin@wohlnet.ru>2018-04-10 02:15:03 +0300
commit8a0a939a3281a31fc17327d24f0a4c0975a1b9fa (patch)
treee5f87aba998ede08465aa319af7dba930abff025 /include
parent0ad695eeaaf5d52d3ea4ef15d295d8cc62002a50 (diff)
downloadlibADLMIDI-8a0a939a3281a31fc17327d24f0a4c0975a1b9fa.tar.gz
libADLMIDI-8a0a939a3281a31fc17327d24f0a4c0975a1b9fa.tar.bz2
libADLMIDI-8a0a939a3281a31fc17327d24f0a4c0975a1b9fa.zip
[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.
Diffstat (limited to 'include')
-rw-r--r--include/adlmidi.h17
1 files changed, 16 insertions, 1 deletions
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;