File diff r531:705436a71e4f → r532:99f68246c0ce
os/beos/bemidi.cpp
Show inline comments
 
new file 100644
 
#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)
 
{
 
	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,
 
};
 

	
 
#endif // __BEOS__