src/music/bemidi.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
2186
db48cf29b983 (svn r2701) Insert Id tags into all source files
tron
parents: 2173
diff changeset
     1
/* $Id$ */
db48cf29b983 (svn r2701) Insert Id tags into all source files
tron
parents: 2173
diff changeset
     2
6481
85ad87daf4b0 (svn r9662) -Documentation: Doxygen corrections and @file omissions
belugas
parents: 6247
diff changeset
     3
/** @file bemidi.cpp */
85ad87daf4b0 (svn r9662) -Documentation: Doxygen corrections and @file omissions
belugas
parents: 6247
diff changeset
     4
2192
6a4c2d020975 (svn r2707) Missed the paths in the BeOS MIDI player, sorry for all the noise
tron
parents: 2186
diff changeset
     5
#include "../stdafx.h"
6a4c2d020975 (svn r2707) Missed the paths in the BeOS MIDI player, sorry for all the noise
tron
parents: 2186
diff changeset
     6
#include "../openttd.h"
6a4c2d020975 (svn r2707) Missed the paths in the BeOS MIDI player, sorry for all the noise
tron
parents: 2186
diff changeset
     7
#include "bemidi.h"
531
4054e42edcce (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents:
diff changeset
     8
4054e42edcce (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents:
diff changeset
     9
// BeOS System Includes
4054e42edcce (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents:
diff changeset
    10
#include <MidiSynthFile.h>
4054e42edcce (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents:
diff changeset
    11
2173
d828f2e748fe (svn r2687) Make a variable static
tron
parents: 2171
diff changeset
    12
static BMidiSynthFile midiSynthFile;
531
4054e42edcce (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents:
diff changeset
    13
1301
bf64ba5b6774 (svn r1805) Teach the driver layer a few things about const correctness
tron
parents: 532
diff changeset
    14
static const char *bemidi_start(const char * const *parm)
531
4054e42edcce (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents:
diff changeset
    15
{
4054e42edcce (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents:
diff changeset
    16
	return NULL;
4054e42edcce (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents:
diff changeset
    17
}
4054e42edcce (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents:
diff changeset
    18
6247
7d81e3a5d803 (svn r9050) -Codechange: Foo(void) -> Foo()
rubidium
parents: 5475
diff changeset
    19
static void bemidi_stop()
531
4054e42edcce (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents:
diff changeset
    20
{
4054e42edcce (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents:
diff changeset
    21
	midiSynthFile.UnloadFile();
4054e42edcce (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents:
diff changeset
    22
}
4054e42edcce (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents:
diff changeset
    23
4054e42edcce (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents:
diff changeset
    24
static void bemidi_play_song(const char *filename)
4054e42edcce (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents:
diff changeset
    25
{
4054e42edcce (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents:
diff changeset
    26
	bemidi_stop();
4054e42edcce (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents:
diff changeset
    27
	entry_ref midiRef;
4054e42edcce (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents:
diff changeset
    28
	get_ref_for_path(filename, &midiRef);
4054e42edcce (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents:
diff changeset
    29
	midiSynthFile.LoadFile(&midiRef);
4054e42edcce (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents:
diff changeset
    30
	midiSynthFile.Start();
4054e42edcce (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents:
diff changeset
    31
}
4054e42edcce (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents:
diff changeset
    32
6247
7d81e3a5d803 (svn r9050) -Codechange: Foo(void) -> Foo()
rubidium
parents: 5475
diff changeset
    33
static void bemidi_stop_song()
531
4054e42edcce (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents:
diff changeset
    34
{
4054e42edcce (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents:
diff changeset
    35
	midiSynthFile.UnloadFile();
4054e42edcce (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents:
diff changeset
    36
}
4054e42edcce (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents:
diff changeset
    37
6247
7d81e3a5d803 (svn r9050) -Codechange: Foo(void) -> Foo()
rubidium
parents: 5475
diff changeset
    38
static bool bemidi_is_playing()
531
4054e42edcce (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents:
diff changeset
    39
{
4054e42edcce (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents:
diff changeset
    40
	return !midiSynthFile.IsFinished();
4054e42edcce (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents:
diff changeset
    41
}
4054e42edcce (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents:
diff changeset
    42
4054e42edcce (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents:
diff changeset
    43
static void bemidi_set_volume(byte vol)
4054e42edcce (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents:
diff changeset
    44
{
4054e42edcce (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents:
diff changeset
    45
	fprintf(stderr, "BeMidi: Set volume not implemented\n");
4054e42edcce (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents:
diff changeset
    46
}
4054e42edcce (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents:
diff changeset
    47
4054e42edcce (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents:
diff changeset
    48
const HalMusicDriver _bemidi_music_driver = {
4054e42edcce (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents:
diff changeset
    49
	bemidi_start,
4054e42edcce (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents:
diff changeset
    50
	bemidi_stop,
4054e42edcce (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents:
diff changeset
    51
	bemidi_play_song,
4054e42edcce (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents:
diff changeset
    52
	bemidi_stop_song,
4054e42edcce (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents:
diff changeset
    53
	bemidi_is_playing,
4054e42edcce (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents:
diff changeset
    54
	bemidi_set_volume,
4054e42edcce (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents:
diff changeset
    55
};