diff options
author | Max Horn | 2011-03-23 15:23:26 +0100 |
---|---|---|
committer | Max Horn | 2011-03-23 15:25:47 +0100 |
commit | 29847ea42da3e597d3496972c80ce49bea76da20 (patch) | |
tree | 654596bc11032f28d9b2a776571fdb7623ceb5c6 /engines/sci/sound/drivers/mididriver.h | |
parent | c70c8864f131bfe42437b05d03f77ab198f59247 (diff) | |
download | scummvm-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/sci/sound/drivers/mididriver.h')
-rw-r--r-- | engines/sci/sound/drivers/mididriver.h | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/engines/sci/sound/drivers/mididriver.h b/engines/sci/sound/drivers/mididriver.h index 5cecebd325..2038725dbe 100644 --- a/engines/sci/sound/drivers/mididriver.h +++ b/engines/sci/sound/drivers/mididriver.h @@ -76,7 +76,7 @@ enum { #define SCI_MIDI_CONTROLLER(status) ((status & 0xF0) == 0xB0) -class MidiPlayer : public MidiDriver { +class MidiPlayer : public MidiDriver_BASE { protected: MidiDriver *_driver; int8 _reverb; @@ -89,13 +89,10 @@ public: return open(resMan); } virtual int open(ResourceManager *resMan) { return _driver->open(); } - bool isOpen() const { return _driver->isOpen(); } virtual void close() { _driver->close(); } virtual void send(uint32 b) { _driver->send(b); } - uint32 getBaseTempo() { return _driver->getBaseTempo(); } + virtual uint32 getBaseTempo() { return _driver->getBaseTempo(); } virtual bool hasRhythmChannel() const = 0; - MidiChannel *allocateChannel() { return _driver->allocateChannel(); } - MidiChannel *getPercussionChannel() { return _driver->getPercussionChannel(); } virtual void setTimerCallback(void *timer_param, Common::TimerManager::TimerProc timer_proc) { _driver->setTimerCallback(timer_param, timer_proc); } virtual byte getPlayId() const = 0; |