aboutsummaryrefslogtreecommitdiff
path: root/utils/winmm_drv
diff options
context:
space:
mode:
authorWohlstand <admin@wohlnet.ru>2025-03-29 23:11:07 +0300
committerWohlstand <admin@wohlnet.ru>2025-03-29 23:11:56 +0300
commita37298e7bed28752e8dcbe8e37e355fe47bf5e99 (patch)
treed97e76f8c1acfd43626f8d1a0496090c32ca4fd6 /utils/winmm_drv
parente92a4d7285197ab2868aa36f975d73ceee915bea (diff)
downloadlibADLMIDI-a37298e7bed28752e8dcbe8e37e355fe47bf5e99.tar.gz
libADLMIDI-a37298e7bed28752e8dcbe8e37e355fe47bf5e99.tar.bz2
libADLMIDI-a37298e7bed28752e8dcbe8e37e355fe47bf5e99.zip
Added support for LLE OPL2 and OPL3 emulators
Kept disabled by default because they are extremely heavy for ordinary processors.
Diffstat (limited to 'utils/winmm_drv')
-rw-r--r--utils/winmm_drv/cpl/config_dialog.c43
1 files changed, 42 insertions, 1 deletions
diff --git a/utils/winmm_drv/cpl/config_dialog.c b/utils/winmm_drv/cpl/config_dialog.c
index 62a308d..a97e958 100644
--- a/utils/winmm_drv/cpl/config_dialog.c
+++ b/utils/winmm_drv/cpl/config_dialog.c
@@ -8,6 +8,7 @@
#include <stdlib.h>
#include "config_dialog.h"
+#include "adlmidi.h" /* For ENUMs only */
#include "resource.h"
#include "regconfig.h"
@@ -48,6 +49,40 @@ static const char *const channel_allocation_descriptions[] =
NULL
};
+static const enum ADL_Emulator emulator_type_id[] =
+{
+#ifndef ADLMIDI_DISABLE_NUKED_EMULATOR
+ ADLMIDI_EMU_NUKED,
+ ADLMIDI_EMU_NUKED_174,
+#endif
+#ifndef ADLMIDI_DISABLE_DOSBOX_EMULATOR
+ ADLMIDI_EMU_DOSBOX,
+#endif
+#ifndef ADLMIDI_DISABLE_OPAL_EMULATOR
+ ADLMIDI_EMU_OPAL,
+#endif
+#ifndef ADLMIDI_DISABLE_JAVA_EMULATOR
+ ADLMIDI_EMU_JAVA,
+#endif
+#ifndef ADLMIDI_DISABLE_ESFMU_EMULATOR
+ ADLMIDI_EMU_ESFMu,
+#endif
+#ifndef ADLMIDI_DISABLE_MAME_OPL2_EMULATOR
+ ADLMIDI_EMU_MAME_OPL2,
+#endif
+#ifndef ADLMIDI_DISABLE_YMFM_EMULATOR
+ ADLMIDI_EMU_YMFM_OPL2,
+ ADLMIDI_EMU_YMFM_OPL3,
+#endif
+#ifdef ADLMIDI_ENABLE_OPL2_LLE_EMULATOR
+ ADLMIDI_EMU_NUKED_OPL2_LLE,
+#endif
+#ifdef ADLMIDI_ENABLE_OPL3_LLE_EMULATOR
+ ADLMIDI_EMU_NUKED_OPL3_LLE,
+#endif
+ ADLMIDI_EMU_end
+};
+
static const char * const emulator_type_descriptions[] =
{
"Nuked OPL3 1.8",
@@ -61,6 +96,12 @@ static const char * const emulator_type_descriptions[] =
"YMFM OPL2",
"YMFM OPL3",
#endif
+#ifdef ADLMIDI_ENABLE_OPL2_LLE_EMULATOR
+ "Nuked OPL2-LLE [!EXTRA HEAVY!]",
+#endif
+#ifdef ADLMIDI_ENABLE_OPL3_LLE_EMULATOR
+ "Nuked OPL3-LLE [!EXTRA HEAVY!]",
+#endif
NULL
};
@@ -328,7 +369,7 @@ INT_PTR CALLBACK ToolDlgProc(HWND hwnd, UINT Message, WPARAM wParam, LPARAM lPar
case IDC_EMULATOR:
if(HIWORD(wParam) == CBN_SELCHANGE)
{
- g_setup.emulatorId = SendMessageW((HWND)lParam, (UINT)CB_GETCURSEL, (WPARAM)0, (LPARAM)0);
+ g_setup.emulatorId = (int)emulator_type_id[SendMessageW((HWND)lParam, (UINT)CB_GETCURSEL, (WPARAM)0, (LPARAM)0)];
}
break;