aboutsummaryrefslogtreecommitdiff
path: root/engines/tinsel/music.h
diff options
context:
space:
mode:
Diffstat (limited to 'engines/tinsel/music.h')
-rw-r--r--engines/tinsel/music.h27
1 files changed, 6 insertions, 21 deletions
diff --git a/engines/tinsel/music.h b/engines/tinsel/music.h
index 1857032a6d..9436c02032 100644
--- a/engines/tinsel/music.h
+++ b/engines/tinsel/music.h
@@ -28,12 +28,13 @@
#ifndef TINSEL_MUSIC_H
#define TINSEL_MUSIC_H
-#include "audio/mididrv.h"
-#include "audio/midiparser.h"
+#include "audio/midiplayer.h"
#include "audio/audiostream.h"
#include "audio/mixer.h"
#include "common/mutex.h"
+class MidiParser;
+
namespace Tinsel {
bool PlayMidiSequence( // Plays the specified MIDI sequence through the sound driver
@@ -60,27 +61,21 @@ SCNHANDLE GetTrackOffset(int trackNumber);
void dumpMusic();
-class MidiMusicPlayer : public MidiDriver_BASE {
+class MidiMusicPlayer : public Audio::MidiPlayer {
public:
MidiMusicPlayer();
~MidiMusicPlayer();
- bool isPlaying() { return _isPlaying; }
- void setPlaying(bool playing) { _isPlaying = playing; }
-
- void setVolume(int volume);
- int getVolume() { return _masterVolume; }
+ virtual void setVolume(int volume);
void playXMIDI(byte *midiData, uint32 size, bool loop);
- void stop();
+// void stop();
void pause();
void resume();
- void setLoop(bool loop) { _looping = loop; }
// MidiDriver_BASE interface implementation
virtual void send(uint32 b);
- virtual void metaEvent(byte type, byte *data, uint16 length);
// The original sets the "sequence timing" to 109 Hz, whatever that
// means. The default is 120.
@@ -90,17 +85,7 @@ protected:
static void onTimer(void *data);
- MidiParser *_parser;
- Common::Mutex _mutex;
-
- MidiChannel *_channel[16];
- MidiDriver *_driver;
MidiParser *_xmidiParser;
- byte _channelVolume[16];
-
- bool _isPlaying;
- bool _looping;
- byte _masterVolume;
};
class PCMMusicPlayer : public Audio::AudioStream {