src/music/libtimidity.cpp
author belugas
Tue, 17 Apr 2007 20:23:13 +0000
changeset 6481 85ad87daf4b0
parent 6247 7d81e3a5d803
child 7170 923946ec324f
permissions -rw-r--r--
(svn r9662) -Documentation: Doxygen corrections and @file omissions
6072
2eb3e6ecba20 (svn r8805) -Codechange (r8757): DO set eol-style and keywords on new files...
Darkvater
parents: 6034
diff changeset
     1
/* $Id$ */
6034
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
     2
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
     3
#include "../stdafx.h"
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
     4
#include "../openttd.h"
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
     5
#include "../sound.h"
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
     6
#include "../string.h"
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
     7
#include "../variables.h"
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
     8
#include "../debug.h"
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
     9
#include "libtimidity.h"
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
    10
#include <fcntl.h>
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
    11
#include <sys/types.h>
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
    12
#include <sys/wait.h>
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
    13
#include <unistd.h>
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
    14
#include <signal.h>
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
    15
#include <sys/stat.h>
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
    16
#include <errno.h>
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
    17
#include <timidity.h>
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
    18
#if defined(PSP)
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
    19
#include <pspaudiolib.h>
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
    20
#endif /* PSP */
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
    21
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
    22
enum MidiState {
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
    23
	MIDI_STOPPED = 0,
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
    24
	MIDI_PLAYING = 1,
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
    25
};
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
    26
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
    27
static struct {
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
    28
	MidIStream *stream;
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
    29
	MidSongOptions options;
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
    30
	MidSong *song;
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
    31
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
    32
	MidiState status;
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
    33
	uint32 song_length;
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
    34
	uint32 song_position;
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
    35
} _midi;
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
    36
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
    37
#if defined(PSP)
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
    38
static void AudioOutCallback(void *buf, unsigned int _reqn, void *userdata)
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
    39
{
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
    40
	memset(buf, 0, _reqn * PSP_NUM_AUDIO_CHANNELS);
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
    41
	if (_midi.status == MIDI_PLAYING) {
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
    42
		mid_song_read_wave(_midi.song, buf, _reqn * PSP_NUM_AUDIO_CHANNELS);
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
    43
	}
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
    44
}
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
    45
#endif /* PSP */
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
    46
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
    47
static const char *LibtimidityMidiStart(const char *const *param)
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
    48
{
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
    49
	_midi.status = MIDI_STOPPED;
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
    50
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
    51
	if (mid_init(param == NULL ? NULL : (char *)param[0]) < 0) {
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
    52
		/* If init fails, it can be because no configuration was found.
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
    53
		 *  If it was not forced via param, try to load it without a
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
    54
		 *  configuration. Who knows that works. */
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
    55
		if (param != NULL || mid_init_no_config() < 0) {
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
    56
			DEBUG(driver, 0, "error initializing timidity");
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
    57
			return NULL;
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
    58
		}
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
    59
	}
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
    60
	DEBUG(driver, 1, "successfully initialised timidity");
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
    61
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
    62
	_midi.options.rate = 44100;
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
    63
	_midi.options.format = MID_AUDIO_S16LSB;
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
    64
	_midi.options.channels = 2;
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
    65
#if defined(PSP)
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
    66
	_midi.options.buffer_size = PSP_NUM_AUDIO_SAMPLES;
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
    67
#else
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
    68
	_midi.options.buffer_size = _midi.options.rate;
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
    69
#endif
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
    70
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
    71
#if defined(PSP)
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
    72
	pspAudioInit();
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
    73
	pspAudioSetChannelCallback(_midi.options.channels, &AudioOutCallback, NULL);
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
    74
	pspAudioSetVolume(_midi.options.channels, PSP_VOLUME_MAX, PSP_VOLUME_MAX);
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
    75
#endif /* PSP */
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
    76
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
    77
	return NULL;
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
    78
}
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
    79
6247
7d81e3a5d803 (svn r9050) -Codechange: Foo(void) -> Foo()
rubidium
parents: 6072
diff changeset
    80
static void LibtimidityMidiStop()
6034
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
    81
{
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
    82
	if (_midi.status == MIDI_PLAYING) {
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
    83
		_midi.status = MIDI_STOPPED;
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
    84
		mid_song_free(_midi.song);
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
    85
	}
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
    86
	mid_exit();
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
    87
}
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
    88
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
    89
static void LibtimidityMidiPlaySong(const char *filename)
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
    90
{
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
    91
	_midi.stream = mid_istream_open_file(filename);
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
    92
	if (_midi.stream == NULL) {
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
    93
		DEBUG(driver, 0, "Could not open music file");
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
    94
		return;
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
    95
	}
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
    96
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
    97
	_midi.song = mid_song_load(_midi.stream, &_midi.options);
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
    98
	mid_istream_close(_midi.stream);
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
    99
	_midi.song_length = mid_song_get_total_time(_midi.song);
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
   100
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
   101
	if (_midi.song == NULL) {
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
   102
		DEBUG(driver, 1, "Invalid MIDI file");
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
   103
		return;
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
   104
	}
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
   105
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
   106
	mid_song_start(_midi.song);
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
   107
	_midi.status = MIDI_PLAYING;
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
   108
}
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
   109
6247
7d81e3a5d803 (svn r9050) -Codechange: Foo(void) -> Foo()
rubidium
parents: 6072
diff changeset
   110
static void LibtimidityMidiStopSong()
6034
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
   111
{
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
   112
	_midi.status = MIDI_STOPPED;
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
   113
	mid_song_free(_midi.song);
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
   114
}
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
   115
6247
7d81e3a5d803 (svn r9050) -Codechange: Foo(void) -> Foo()
rubidium
parents: 6072
diff changeset
   116
static bool LibtimidityMidiIsPlaying()
6034
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
   117
{
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
   118
	if (_midi.status == MIDI_PLAYING) {
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
   119
		_midi.song_position = mid_song_get_time(_midi.song);
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
   120
		if (_midi.song_position >= _midi.song_length) {
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
   121
			_midi.status = MIDI_STOPPED;
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
   122
			_midi.song_position = 0;
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
   123
		}
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
   124
	}
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
   125
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
   126
	return (_midi.status == MIDI_PLAYING);
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
   127
}
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
   128
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
   129
static void LibtimidityMidiSetVolume(byte vol)
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
   130
{
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
   131
	if (_midi.song != NULL)
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
   132
		mid_song_set_volume(_midi.song, vol);
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
   133
}
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
   134
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
   135
const HalMusicDriver _libtimidity_music_driver = {
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
   136
	LibtimidityMidiStart,
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
   137
	LibtimidityMidiStop,
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
   138
	LibtimidityMidiPlaySong,
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
   139
	LibtimidityMidiStopSong,
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
   140
	LibtimidityMidiIsPlaying,
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
   141
	LibtimidityMidiSetVolume,
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
   142
};
7a125490f55c (svn r8757) -Add: added libtimidity music driver (it is a nice small library simular to timidity via extmidi)
truelight
parents:
diff changeset
   143