diff options
author | Gregory Montoir | 2008-06-26 10:12:12 +0000 |
---|---|---|
committer | Gregory Montoir | 2008-06-26 10:12:12 +0000 |
commit | b6adcca897963aae66ea68eac043f845500e11b1 (patch) | |
tree | bcfb15734816c6610d68a5fc5aa954a656bb10f0 /engines/touche/midi.cpp | |
parent | 1d71ab7e1fcf8d1545a9e508c4e21dc10ced2270 (diff) | |
download | scummvm-rg350-b6adcca897963aae66ea68eac043f845500e11b1.tar.gz scummvm-rg350-b6adcca897963aae66ea68eac043f845500e11b1.tar.bz2 scummvm-rg350-b6adcca897963aae66ea68eac043f845500e11b1.zip |
moved midi driver object creation to MidiPlayer class (to match delete call)
svn-id: r32798
Diffstat (limited to 'engines/touche/midi.cpp')
-rw-r--r-- | engines/touche/midi.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/engines/touche/midi.cpp b/engines/touche/midi.cpp index ce62849d2f..d77dbf5bfa 100644 --- a/engines/touche/midi.cpp +++ b/engines/touche/midi.cpp @@ -23,6 +23,7 @@ * */ +#include "common/config-manager.h" #include "common/stream.h" #include "sound/midiparser.h" @@ -31,9 +32,8 @@ namespace Touche { -MidiPlayer::MidiPlayer(MidiDriver *driver, bool nativeMT32) - : _driver(driver), _parser(0), _midiData(0), _isLooping(false), _isPlaying(false), _masterVolume(0), _nativeMT32(nativeMT32) { - assert(_driver); +MidiPlayer::MidiPlayer() + : _driver(0), _parser(0), _midiData(0), _isLooping(false), _isPlaying(false), _masterVolume(0) { memset(_channelsTable, 0, sizeof(_channelsTable)); memset(_channelsVolume, 0, sizeof(_channelsVolume)); open(); @@ -92,6 +92,9 @@ void MidiPlayer::setVolume(int volume) { } int MidiPlayer::open() { + int midiDriver = MidiDriver::detectMusicDriver(MDT_MIDI | MDT_ADLIB | MDT_PREFER_MIDI); + _nativeMT32 = ((midiDriver == MD_MT32) || ConfMan.getBool("native_mt32")); + _driver = MidiDriver::createMidi(midiDriver); int ret = _driver->open(); if (ret == 0) { _parser = MidiParser::createParser_SMF(); |