aboutsummaryrefslogtreecommitdiff
path: root/engines/cge/sound.h
diff options
context:
space:
mode:
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