aboutsummaryrefslogtreecommitdiff
path: root/engines/cge/sound.h
diff options
context:
space:
mode:
authorPaul Gilbert2011-08-12 21:33:45 +1000
committerPaul Gilbert2011-08-12 21:33:45 +1000
commitb76c0af2f4fe9cafeafdde70867e159e076b2752 (patch)
tree49decc9da9eaa6a73579baf6820bbb5e0e06a297 /engines/cge/sound.h
parentf1f1d8bde084b44756480c7b724f356562ca02b1 (diff)
downloadscummvm-rg350-b76c0af2f4fe9cafeafdde70867e159e076b2752.tar.gz
scummvm-rg350-b76c0af2f4fe9cafeafdde70867e159e076b2752.tar.bz2
scummvm-rg350-b76c0af2f4fe9cafeafdde70867e159e076b2752.zip
CGE: Work on implementing MIDI music playback.
Music playback is now sort of working, but it seems like only a beat track of the MIDI is getting played
Diffstat (limited to 'engines/cge/sound.h')
-rw-r--r--engines/cge/sound.h28
1 files changed, 25 insertions, 3 deletions
diff --git a/engines/cge/sound.h b/engines/cge/sound.h
index 67b16fc888..9f7d20957e 100644
--- a/engines/cge/sound.h
+++ b/engines/cge/sound.h
@@ -30,14 +30,19 @@
#include "cge/wav.h"
#include "cge/snddrv.h"
-#include "cge/cge.h"
#include "audio/audiostream.h"
#include "audio/decoders/wave.h"
#include "audio/fmopl.h"
+#include "audio/mididrv.h"
+#include "audio/midiparser.h"
+#include "audio/midiplayer.h"
#include "audio/mixer.h"
+#include "common/memstream.h"
namespace CGE {
+class CGEEngine;
+
class Sound {
public:
SmpInfo _smpinf;
@@ -74,8 +79,25 @@ public:
DataCk *operator[](int ref);
};
-void loadMidi(int ref);
-void killMidi();
+class MusicPlayer {
+private:
+ MidiDriver *_driver;
+ MidiParser *_midiParser;
+ byte *_data;
+ int _dataSize;
+
+ // Start MIDI File
+ void sndMidiStart();
+
+ // Stop MIDI File
+ void sndMidiStop();
+public:
+ MusicPlayer();
+ ~MusicPlayer();
+
+ void loadMidi(int ref);
+ void killMidi();
+};
} // End of namespace CGE