summaryrefslogtreecommitdiff
path: root/bemidi.cpp
diff options
context:
space:
mode:
authortruelight <truelight@openttd.org>2004-08-09 17:04:08 +0000
committertruelight <truelight@openttd.org>2004-08-09 17:04:08 +0000
commitefaeb275f78e18d594d9ee8ff04eccd2dc59512c (patch)
treebc8e1f56d77706d14d048cb2d99e53291930b520 /bemidi.cpp
downloadopenttd-efaeb275f78e18d594d9ee8ff04eccd2dc59512c.tar.xz
(svn r1) Import of revision 975 of old (crashed) SVN
Diffstat (limited to 'bemidi.cpp')
-rw-r--r--bemidi.cpp55
1 files changed, 55 insertions, 0 deletions
diff --git a/bemidi.cpp b/bemidi.cpp
new file mode 100644
index 000000000..8c0ea4e1e
--- /dev/null
+++ b/bemidi.cpp
@@ -0,0 +1,55 @@
+#ifdef __BEOS__
+
+#include "stdafx.h"
+#include "ttd.h"
+#include "hal.h"
+
+// BeOS System Includes
+#include <MidiSynthFile.h>
+
+BMidiSynthFile midiSynthFile;
+
+static char *bemidi_start(char **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) {
+ if(midiSynthFile.IsFinished() == true)
+ {
+ return 0;
+ } else {
+ return 1;
+ }
+}
+
+
+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,
+};
+
+#endif // __BEOS__