src/music/bemidi.cpp
branchcustombridgeheads
changeset 5643 3778051e8095
parent 2192 57118ff67922
child 6298 c30fe89622df
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/music/bemidi.cpp	Wed Jan 03 08:49:36 2007 +0000
@@ -0,0 +1,53 @@
+/* $Id$ */
+
+#include "../stdafx.h"
+#include "../openttd.h"
+#include "bemidi.h"
+
+// BeOS System Includes
+#include <MidiSynthFile.h>
+
+static BMidiSynthFile midiSynthFile;
+
+static const char *bemidi_start(const char * const *parm)
+{
+	return NULL;
+}
+
+static void bemidi_stop(void)
+{
+	midiSynthFile.UnloadFile();
+}
+
+static void bemidi_play_song(const char *filename)
+{
+	bemidi_stop();
+	entry_ref midiRef;
+	get_ref_for_path(filename, &midiRef);
+	midiSynthFile.LoadFile(&midiRef);
+	midiSynthFile.Start();
+}
+
+static void bemidi_stop_song(void)
+{
+	midiSynthFile.UnloadFile();
+}
+
+static bool bemidi_is_playing(void)
+{
+	return !midiSynthFile.IsFinished();
+}
+
+static void bemidi_set_volume(byte vol)
+{
+	fprintf(stderr, "BeMidi: Set volume not implemented\n");
+}
+
+const HalMusicDriver _bemidi_music_driver = {
+	bemidi_start,
+	bemidi_stop,
+	bemidi_play_song,
+	bemidi_stop_song,
+	bemidi_is_playing,
+	bemidi_set_volume,
+};