aboutsummaryrefslogtreecommitdiff
path: root/scumm/imuse.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'scumm/imuse.cpp')
-rw-r--r--scumm/imuse.cpp18
1 files changed, 10 insertions, 8 deletions
diff --git a/scumm/imuse.cpp b/scumm/imuse.cpp
index 83b434cc56..4b57e3e7a1 100644
--- a/scumm/imuse.cpp
+++ b/scumm/imuse.cpp
@@ -31,10 +31,6 @@
// the most common iMuse diagnostic messages.
// #define IMUSE_DEBUG
-// Unremark this statement to support simultaneous
-// use of Adlib and native MIDI drivers.
-// #define ADLIB_TOO
-
//
// Some constants
//
@@ -290,6 +286,7 @@ class IMuseInternal {
friend struct Player;
private:
+ bool _enable_multi_midi;
MidiDriver *_midi_adlib;
MidiDriver *_midi_native;
@@ -631,10 +628,7 @@ MidiDriver *IMuseInternal::getBestMidiDriver (int sound) {
}
#if !defined(__PALM_OS__) // Adlib not supported on PalmOS
} else {
- if (!_midi_adlib) {
-#if !defined(ADLIB_TOO)
- if (_midi_native) return NULL;
-#endif
+ if (!_midi_adlib && (_enable_multi_midi || !_midi_native)) {
_midi_adlib = MidiDriver_ADLIB_create();
initMidiDriver (_midi_adlib);
}
@@ -1652,6 +1646,14 @@ uint32 IMuseInternal::property(int prop, uint32 value) {
if (value >= 50 && value <= 200)
_tempoFactor = value;
break;
+
+ case IMuse::PROP_NATIVE_MT32:
+ Instrument::nativeMT32 (value > 0);
+ break;
+
+ case IMuse::PROP_MULTI_MIDI:
+ _enable_multi_midi = (value > 0);
+ break;
}
return 0;
}