(svn r876) reverted the accidently cleared bemidi.cpp

This commit is contained in:
bjarni 2004-12-01 19:42:42 +00:00
parent e9b49ebf8e
commit 5a458590b8
3 changed files with 58 additions and 4 deletions

View File

@ -543,8 +543,7 @@ endif
ttd_OBJS = $(C_SOURCES:%.c=%.o) $(CXX_SOURCES:%.cpp=%.o)
ifdef BEOS
CXX_SOURCES += os/beos/bemidi.cpp
CFLAGS += -I.
CXX_SOURCES += bemidi.cpp
endif
ifdef WIN32
@ -746,6 +745,6 @@ DEPS_MAGIC := $(shell mkdir .deps > /dev/null 2>&1 || :)
>> .deps/$(*F).P; \
rm .deps/$(*F).pp
# For DirectMusic build and BeOS specific parts
# For DirectMusic build
%.o: %.cpp $(MAKE_CONFIG)
$(CXX_BUILD) $< -o $@
$(CXX_BUILD) $<

55
bemidi.cpp Normal file
View File

@ -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)
{
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__

View File