music/bemidi.cpp
author tron
Sat, 13 Aug 2005 16:23:07 +0000
changeset 2336 48ace1344af0
parent 2192 57118ff67922
permissions -rw-r--r--
(svn r2862) Return a proper version number, when testing the TTDPatch version in the SkipIf action. Pretend to be version 2.0.1 alpha 49 for now.
Also change the type of the variables, which get compared, to uint32, because the values are at most 32bits wide and always seem to be unsigned.
2186
461a2aff3486 (svn r2701) Insert Id tags into all source files
tron
parents: 2173
diff changeset
     1
/* $Id$ */
461a2aff3486 (svn r2701) Insert Id tags into all source files
tron
parents: 2173
diff changeset
     2
2192
57118ff67922 (svn r2707) Missed the paths in the BeOS MIDI player, sorry for all the noise
tron
parents: 2186
diff changeset
     3
#include "../stdafx.h"
57118ff67922 (svn r2707) Missed the paths in the BeOS MIDI player, sorry for all the noise
tron
parents: 2186
diff changeset
     4
#include "../openttd.h"
57118ff67922 (svn r2707) Missed the paths in the BeOS MIDI player, sorry for all the noise
tron
parents: 2186
diff changeset
     5
#include "bemidi.h"
531
d5412b554030 (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents: -1
diff changeset
     6
d5412b554030 (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents: -1
diff changeset
     7
// BeOS System Includes
d5412b554030 (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents: -1
diff changeset
     8
#include <MidiSynthFile.h>
d5412b554030 (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents: -1
diff changeset
     9
2173
dabe358aec40 (svn r2687) Make a variable static
tron
parents: 2171
diff changeset
    10
static BMidiSynthFile midiSynthFile;
531
d5412b554030 (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents: -1
diff changeset
    11
1301
313804601383 (svn r1805) Teach the driver layer a few things about const correctness
tron
parents: 532
diff changeset
    12
static const char *bemidi_start(const char * const *parm)
531
d5412b554030 (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents: -1
diff changeset
    13
{
d5412b554030 (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents: -1
diff changeset
    14
	return NULL;
d5412b554030 (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents: -1
diff changeset
    15
}
d5412b554030 (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents: -1
diff changeset
    16
d5412b554030 (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents: -1
diff changeset
    17
static void bemidi_stop(void)
d5412b554030 (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents: -1
diff changeset
    18
{
d5412b554030 (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents: -1
diff changeset
    19
	midiSynthFile.UnloadFile();
d5412b554030 (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents: -1
diff changeset
    20
}
d5412b554030 (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents: -1
diff changeset
    21
d5412b554030 (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents: -1
diff changeset
    22
static void bemidi_play_song(const char *filename)
d5412b554030 (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents: -1
diff changeset
    23
{
d5412b554030 (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents: -1
diff changeset
    24
	bemidi_stop();
d5412b554030 (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents: -1
diff changeset
    25
	entry_ref midiRef;
d5412b554030 (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents: -1
diff changeset
    26
	get_ref_for_path(filename, &midiRef);
d5412b554030 (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents: -1
diff changeset
    27
	midiSynthFile.LoadFile(&midiRef);
d5412b554030 (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents: -1
diff changeset
    28
	midiSynthFile.Start();
d5412b554030 (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents: -1
diff changeset
    29
}
d5412b554030 (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents: -1
diff changeset
    30
d5412b554030 (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents: -1
diff changeset
    31
static void bemidi_stop_song(void)
d5412b554030 (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents: -1
diff changeset
    32
{
d5412b554030 (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents: -1
diff changeset
    33
	midiSynthFile.UnloadFile();
d5412b554030 (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents: -1
diff changeset
    34
}
d5412b554030 (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents: -1
diff changeset
    35
d5412b554030 (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents: -1
diff changeset
    36
static bool bemidi_is_playing(void)
d5412b554030 (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents: -1
diff changeset
    37
{
d5412b554030 (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents: -1
diff changeset
    38
	return !midiSynthFile.IsFinished();
d5412b554030 (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents: -1
diff changeset
    39
}
d5412b554030 (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents: -1
diff changeset
    40
d5412b554030 (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents: -1
diff changeset
    41
static void bemidi_set_volume(byte vol)
d5412b554030 (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents: -1
diff changeset
    42
{
d5412b554030 (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents: -1
diff changeset
    43
	fprintf(stderr, "BeMidi: Set volume not implemented\n");
d5412b554030 (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents: -1
diff changeset
    44
}
d5412b554030 (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents: -1
diff changeset
    45
d5412b554030 (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents: -1
diff changeset
    46
const HalMusicDriver _bemidi_music_driver = {
d5412b554030 (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents: -1
diff changeset
    47
	bemidi_start,
d5412b554030 (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents: -1
diff changeset
    48
	bemidi_stop,
d5412b554030 (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents: -1
diff changeset
    49
	bemidi_play_song,
d5412b554030 (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents: -1
diff changeset
    50
	bemidi_stop_song,
d5412b554030 (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents: -1
diff changeset
    51
	bemidi_is_playing,
d5412b554030 (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents: -1
diff changeset
    52
	bemidi_set_volume,
d5412b554030 (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents: -1
diff changeset
    53
};