src/music/libtimidity.cpp
branchnoai
changeset 9631 8a2d1c2ceb88
parent 6573 7624f942237f
child 6872 1c4a4a609f85
child 8710 52015340050c
--- a/src/music/libtimidity.cpp	Wed Jun 27 01:01:16 2007 +0000
+++ b/src/music/libtimidity.cpp	Sat Jul 07 09:20:52 2007 +0000
@@ -44,7 +44,9 @@
 }
 #endif /* PSP */
 
-static const char *LibtimidityMidiStart(const char *const *param)
+static FMusicDriver_LibTimidity iFMusicDriver_LibTimidity;
+
+const char *MusicDriver_LibTimidity::Start(const char *const *param)
 {
 	_midi.status = MIDI_STOPPED;
 
@@ -53,8 +55,7 @@
 		 *  If it was not forced via param, try to load it without a
 		 *  configuration. Who knows that works. */
 		if (param != NULL || mid_init_no_config() < 0) {
-			DEBUG(driver, 0, "error initializing timidity");
-			return NULL;
+			return "error initializing timidity";
 		}
 	}
 	DEBUG(driver, 1, "successfully initialised timidity");
@@ -77,7 +78,7 @@
 	return NULL;
 }
 
-static void LibtimidityMidiStop()
+void MusicDriver_LibTimidity::Stop()
 {
 	if (_midi.status == MIDI_PLAYING) {
 		_midi.status = MIDI_STOPPED;
@@ -86,7 +87,7 @@
 	mid_exit();
 }
 
-static void LibtimidityMidiPlaySong(const char *filename)
+void MusicDriver_LibTimidity::PlaySong(const char *filename)
 {
 	_midi.stream = mid_istream_open_file(filename);
 	if (_midi.stream == NULL) {
@@ -107,13 +108,13 @@
 	_midi.status = MIDI_PLAYING;
 }
 
-static void LibtimidityMidiStopSong()
+void MusicDriver_LibTimidity::StopSong()
 {
 	_midi.status = MIDI_STOPPED;
 	mid_song_free(_midi.song);
 }
 
-static bool LibtimidityMidiIsPlaying()
+bool MusicDriver_LibTimidity::IsSongPlaying()
 {
 	if (_midi.status == MIDI_PLAYING) {
 		_midi.song_position = mid_song_get_time(_midi.song);
@@ -126,18 +127,8 @@
 	return (_midi.status == MIDI_PLAYING);
 }
 
-static void LibtimidityMidiSetVolume(byte vol)
+void MusicDriver_LibTimidity::SetVolume(byte vol)
 {
 	if (_midi.song != NULL)
 		mid_song_set_volume(_midi.song, vol);
 }
-
-const HalMusicDriver _libtimidity_music_driver = {
-	LibtimidityMidiStart,
-	LibtimidityMidiStop,
-	LibtimidityMidiPlaySong,
-	LibtimidityMidiStopSong,
-	LibtimidityMidiIsPlaying,
-	LibtimidityMidiSetVolume,
-};
-