music/bemidi.cpp
changeset 2171 008122046f7f
parent 1892 45894b95a925
child 2173 dabe358aec40
equal deleted inserted replaced
2170:b8a5a7dc0cd2 2171:008122046f7f
       
     1 #include "stdafx.h"
       
     2 #include "openttd.h"
       
     3 #include "music/bemidi.h"
       
     4 
       
     5 // BeOS System Includes
       
     6 #include <MidiSynthFile.h>
       
     7 
       
     8 BMidiSynthFile midiSynthFile;
       
     9 
       
    10 static const char *bemidi_start(const char * const *parm)
       
    11 {
       
    12 	return NULL;
       
    13 }
       
    14 
       
    15 static void bemidi_stop(void)
       
    16 {
       
    17 	midiSynthFile.UnloadFile();
       
    18 }
       
    19 
       
    20 static void bemidi_play_song(const char *filename)
       
    21 {
       
    22 	bemidi_stop();
       
    23 	entry_ref midiRef;
       
    24 	get_ref_for_path(filename, &midiRef);
       
    25 	midiSynthFile.LoadFile(&midiRef);
       
    26 	midiSynthFile.Start();
       
    27 }
       
    28 
       
    29 static void bemidi_stop_song(void)
       
    30 {
       
    31 	midiSynthFile.UnloadFile();
       
    32 }
       
    33 
       
    34 static bool bemidi_is_playing(void)
       
    35 {
       
    36 	return !midiSynthFile.IsFinished();
       
    37 }
       
    38 
       
    39 static void bemidi_set_volume(byte vol)
       
    40 {
       
    41 	fprintf(stderr, "BeMidi: Set volume not implemented\n");
       
    42 }
       
    43 
       
    44 const HalMusicDriver _bemidi_music_driver = {
       
    45 	bemidi_start,
       
    46 	bemidi_stop,
       
    47 	bemidi_play_song,
       
    48 	bemidi_stop_song,
       
    49 	bemidi_is_playing,
       
    50 	bemidi_set_volume,
       
    51 };