2005-07-24 14:12:37 +00:00
|
|
|
/* $Id$ */
|
|
|
|
|
2005-07-25 08:16:05 +00:00
|
|
|
#include "../stdafx.h"
|
|
|
|
#include "../openttd.h"
|
|
|
|
#include "bemidi.h"
|
2004-12-01 19:42:42 +00:00
|
|
|
|
|
|
|
// BeOS System Includes
|
|
|
|
#include <MidiSynthFile.h>
|
|
|
|
|
2005-07-23 15:34:05 +00:00
|
|
|
static BMidiSynthFile midiSynthFile;
|
2004-12-01 19:42:42 +00:00
|
|
|
|
2005-02-05 18:05:42 +00:00
|
|
|
static const char *bemidi_start(const char * const *parm)
|
2004-12-01 19:42:42 +00:00
|
|
|
{
|
|
|
|
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,
|
|
|
|
};
|