aboutsummaryrefslogtreecommitdiff
path: root/engines/agos
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/agos
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/agos')
-rw-r--r--engines/agos/agos.cpp2
-rw-r--r--engines/agos/midi.cpp4
-rw-r--r--engines/agos/midi.h11
3 files changed, 2 insertions, 15 deletions
diff --git a/engines/agos/agos.cpp b/engines/agos/agos.cpp
index 574031d047..7b6d4cf3e3 100644
--- a/engines/agos/agos.cpp
+++ b/engines/agos/agos.cpp
@@ -571,7 +571,7 @@ Common::Error AGOSEngine::init() {
int ret = _midi.open();
if (ret)
- warning("MIDI Player init failed: \"%s\"", _midi.getErrorName (ret));
+ warning("MIDI Player init failed: \"%s\"", MidiDriver::getErrorName (ret));
_midi.setVolume(ConfMan.getInt("music_volume"), ConfMan.getInt("sfx_volume"));
diff --git a/engines/agos/midi.cpp b/engines/agos/midi.cpp
index bbc0181b11..d76aa42ddc 100644
--- a/engines/agos/midi.cpp
+++ b/engines/agos/midi.cpp
@@ -84,10 +84,6 @@ int MidiPlayer::open() {
return 0;
}
-bool MidiPlayer::isOpen() const {
- return _driver && _driver->isOpen();
-}
-
void MidiPlayer::close() {
stop();
// _system->lockMutex(_mutex);
diff --git a/engines/agos/midi.h b/engines/agos/midi.h
index c27c5a7973..01456d784e 100644
--- a/engines/agos/midi.h
+++ b/engines/agos/midi.h
@@ -55,7 +55,7 @@ struct MusicInfo {
}
};
-class MidiPlayer : public MidiDriver {
+class MidiPlayer : public MidiDriver_BASE {
protected:
Common::Mutex _mutex;
MidiDriver *_driver;
@@ -115,20 +115,11 @@ public:
public:
// MidiDriver interface implementation
int open();
- bool isOpen() const;
void close();
void send(uint32 b);
void metaEvent(byte type, byte *data, uint16 length);
void setPassThrough(bool b) { _passThrough = b; }
-
- // Timing functions - MidiDriver now operates timers
- void setTimerCallback(void *timer_param, void (*timer_proc) (void *)) { }
- uint32 getBaseTempo() { return _driver ? _driver->getBaseTempo() : 0; }
-
- // Channel allocation functions
- MidiChannel *allocateChannel() { return 0; }
- MidiChannel *getPercussionChannel() { return 0; }
};
} // End of namespace AGOS