aboutsummaryrefslogtreecommitdiff
path: root/engines/draci
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/draci
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/draci')
-rw-r--r--engines/draci/music.cpp6
-rw-r--r--engines/draci/music.h10
2 files changed, 2 insertions, 14 deletions
diff --git a/engines/draci/music.cpp b/engines/draci/music.cpp
index cc1cd6d3fb..b56e10518b 100644
--- a/engines/draci/music.cpp
+++ b/engines/draci/music.cpp
@@ -97,10 +97,6 @@ int MusicPlayer::open() {
return 0;
}
-bool MusicPlayer::isOpen() const {
- return _driver && _driver->isOpen();
-}
-
void MusicPlayer::close() {
stop();
if (_driver) {
@@ -198,7 +194,7 @@ void MusicPlayer::playSMF(int track, bool loop) {
MidiParser *parser = _smfParser;
parser->setTrack(0);
parser->setMidiDriver(this);
- parser->setTimerRate(getBaseTempo());
+ parser->setTimerRate(_driver->getBaseTempo());
parser->property(MidiParser::mpCenterPitchWheelOnUnload, 1);
_parser = parser;
diff --git a/engines/draci/music.h b/engines/draci/music.h
index 0d15fdaf1b..80d25016dc 100644
--- a/engines/draci/music.h
+++ b/engines/draci/music.h
@@ -36,7 +36,7 @@ namespace Draci {
// Taken from MADE, which took it from SAGA.
-class MusicPlayer : public MidiDriver {
+class MusicPlayer : public MidiDriver_BASE {
public:
MusicPlayer(MidiDriver *driver, const char *pathMask);
~MusicPlayer();
@@ -61,19 +61,11 @@ public:
// MidiDriver interface implementation
int open();
- bool isOpen() const;
void close();
void send(uint32 b);
void metaEvent(byte type, byte *data, uint16 length);
- void setTimerCallback(void *timerParam, void (*timerProc)(void *)) { }
- uint32 getBaseTempo() { return _driver ? _driver->getBaseTempo() : 0; }
-
- //Channel allocation functions
- MidiChannel *allocateChannel() { return 0; }
- MidiChannel *getPercussionChannel() { return 0; }
-
MidiParser *_parser;
Common::Mutex _mutex;