diff options
author | Max Horn | 2011-03-23 16:14:39 +0100 |
---|---|---|
committer | Max Horn | 2011-03-23 16:49:41 +0100 |
commit | e70fd59b3505619cccb6f3280a4cf0fb57aefa97 (patch) | |
tree | 055c9719a41c4706baa4e5c4837e5fd31da95486 /engines/draci/draci.cpp | |
parent | 29847ea42da3e597d3496972c80ce49bea76da20 (diff) | |
download | scummvm-rg350-e70fd59b3505619cccb6f3280a4cf0fb57aefa97.tar.gz scummvm-rg350-e70fd59b3505619cccb6f3280a4cf0fb57aefa97.tar.bz2 scummvm-rg350-e70fd59b3505619cccb6f3280a4cf0fb57aefa97.zip |
ENGINES: Further simplify pseudo MidiDrivers; fix some regressions
The regression affected AGOS and maybe some others; specifically,
the real MidiDriver would have been deleted twice -- I previously
missed that the Engine instances takes care of freeing the real
MidiDriver, not the MidiPlayer wrapping it.
This commit should clarify the ownership of the real MidiDriver for
most pseudo MidiDrivers.
Diffstat (limited to 'engines/draci/draci.cpp')
-rw-r--r-- | engines/draci/draci.cpp | 14 |
1 files changed, 1 insertions, 13 deletions
diff --git a/engines/draci/draci.cpp b/engines/draci/draci.cpp index 0bf2d5d34a..45d17ea24f 100644 --- a/engines/draci/draci.cpp +++ b/engines/draci/draci.cpp @@ -162,18 +162,7 @@ int DraciEngine::init() { _dubbingArchive = openAnyPossibleDubbing(); _sound = new Sound(_mixer); - MidiDriver::DeviceHandle dev = MidiDriver::detectDevice(MDT_MIDI | MDT_ADLIB | MDT_PREFER_GM); - bool native_mt32 = ((MidiDriver::getMusicType(dev) == MT_MT32) || ConfMan.getBool("native_mt32")); - //bool adlib = (MidiDriver::getMusicType(dev) == MT_ADLIB); - - _midiDriver = MidiDriver::createMidi(dev); - if (native_mt32) - _midiDriver->property(MidiDriver::PROP_CHANNEL_MASK, 0x03FE); - - _music = new MusicPlayer(_midiDriver, musicPathMask); - _music->setNativeMT32(native_mt32); - _music->open(); - //_music->setAdLib(adlib); + _music = new MusicPlayer(musicPathMask); // Setup mixer syncSoundSettings(); @@ -404,7 +393,6 @@ DraciEngine::~DraciEngine() { delete _sound; delete _music; - delete _midiDriver; delete _soundsArchive; delete _dubbingArchive; |