aboutsummaryrefslogtreecommitdiff
path: root/engines/m4/midi.cpp
diff options
context:
space:
mode:
authorMax Horn2011-03-23 15:23:26 +0100
committerMax Horn2011-03-23 15:25:47 +0100
commit29847ea42da3e597d3496972c80ce49bea76da20 (patch)
tree654596bc11032f28d9b2a776571fdb7623ceb5c6 /engines/m4/midi.cpp
parentc70c8864f131bfe42437b05d03f77ab198f59247 (diff)
downloadscummvm-rg350-29847ea42da3e597d3496972c80ce49bea76da20.tar.gz
scummvm-rg350-29847ea42da3e597d3496972c80ce49bea76da20.tar.bz2
scummvm-rg350-29847ea42da3e597d3496972c80ce49bea76da20.zip
AUDIO: Change several fake MidiDrivers to MidiDriver_BASE subclasses
Many engines follow the advice in audio/midiparser.h and create a "pseudo-MidiDriver" subclass. But MidiParser really only needs a tiny subset of the MidiDriver capabilities, namely those found in MidiDriver_BASE. So we try to subclass from that whenever possible; this allows us to remove many stub methods, and enables further future simplifications.
Diffstat (limited to 'engines/m4/midi.cpp')
-rw-r--r--engines/m4/midi.cpp7
1 files changed, 2 insertions, 5 deletions
diff --git a/engines/m4/midi.cpp b/engines/m4/midi.cpp
index 3a6475da89..36f7f29a2e 100644
--- a/engines/m4/midi.cpp
+++ b/engines/m4/midi.cpp
@@ -33,11 +33,12 @@
namespace M4 {
MidiPlayer::MidiPlayer(MadsM4Engine *vm, MidiDriver *driver) : _vm(vm), _midiData(NULL), _driver(driver), _isPlaying(false), _passThrough(false), _isGM(false) {
+ assert(_driver);
memset(_channel, 0, sizeof(_channel));
_masterVolume = 0;
_parser = MidiParser::createParser_SMF();
_parser->setMidiDriver(this);
- _parser->setTimerRate(getBaseTempo());
+ _parser->setTimerRate(_driver->getBaseTempo());
open();
}
@@ -83,10 +84,6 @@ int MidiPlayer::open() {
return 0;
}
-bool MidiPlayer::isOpen() const {
- return _driver && _driver->isOpen();
-}
-
void MidiPlayer::close() {
stopMusic();
if (_driver) {