aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/sound/drivers/mididriver.h
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/sci/sound/drivers/mididriver.h
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/sci/sound/drivers/mididriver.h')
-rw-r--r--engines/sci/sound/drivers/mididriver.h7
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;