diff options
author | Max Horn | 2011-03-24 16:40:11 +0100 |
---|---|---|
committer | Max Horn | 2011-03-24 16:46:47 +0100 |
commit | e76a8a8eb6c68b1ffc048385c41cd1b542623449 (patch) | |
tree | 2b0882cac4df41bc065e4f9568560f7e32447597 /engines/m4/midi.h | |
parent | 94e7a231fe7a975886ba74bc1670cb4a34619316 (diff) | |
download | scummvm-rg350-e76a8a8eb6c68b1ffc048385c41cd1b542623449.tar.gz scummvm-rg350-e76a8a8eb6c68b1ffc048385c41cd1b542623449.tar.bz2 scummvm-rg350-e76a8a8eb6c68b1ffc048385c41cd1b542623449.zip |
M4: Change MidiPlayer to derive from Audio::MidiPlayer
Also fix the _driver double delete regression I recently introduced
Diffstat (limited to 'engines/m4/midi.h')
-rw-r--r-- | engines/m4/midi.h | 27 |
1 files changed, 4 insertions, 23 deletions
diff --git a/engines/m4/midi.h b/engines/m4/midi.h index cc3f62621d..e1f92cd4b6 100644 --- a/engines/m4/midi.h +++ b/engines/m4/midi.h @@ -28,32 +28,22 @@ #ifndef M4_MIDI_H #define M4_MIDI_H -#include "audio/mididrv.h" -#include "audio/midiparser.h" -#include "common/mutex.h" +#include "audio/midiplayer.h" namespace M4 { -class MidiPlayer : public MidiDriver_BASE { +class MidiPlayer : public Audio::MidiPlayer { public: - MidiPlayer(MadsM4Engine *vm, MidiDriver *driver); + MidiPlayer(MadsM4Engine *vm); ~MidiPlayer(); - bool isPlaying() const { return _isPlaying; } - - void setVolume(int volume); - int getVolume() const { return _masterVolume; } - - void setNativeMT32(bool b) { _nativeMT32 = b; } - bool hasNativeMT32() const{ return _nativeMT32; } void playMusic(const char *name, int32 vol, bool loop, int32 trigger, int32 scene); - void stopMusic(); + virtual void stop(); void setGM(bool isGM) { _isGM = isGM; } // MidiDriver_BASE interface implementation virtual void send(uint32 b); - virtual void metaEvent(byte type, byte *data, uint16 length); protected: static void onTimer(void *data); @@ -61,23 +51,14 @@ protected: MadsM4Engine *_vm; byte *_midiData; - MidiChannel *_channel[16]; - MidiDriver *_driver; - MidiParser *_parser; - byte _channelVolume[16]; - bool _nativeMT32; bool _isGM; - bool _isPlaying; bool _randomLoop; - byte _masterVolume; byte *_musicData; uint16 *_buf; size_t _musicDataSize; - Common::Mutex _mutex; - byte *convertHMPtoSMF(byte *data, uint32 inSize, uint32 &outSize); }; |