music/bemidi.cpp
author tron
Sat, 23 Jul 2005 15:34:05 +0000
changeset 2173 dabe358aec40
parent 2171 008122046f7f
child 2186 461a2aff3486
permissions -rw-r--r--
(svn r2687) Make a variable static
531
d5412b554030 (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents: -1
diff changeset
     1
#include "stdafx.h"
1892
45894b95a925 (svn r2398) - CodeChange: forgot to update unix and os2 specific files as well.
Darkvater
parents: 1301
diff changeset
     2
#include "openttd.h"
2171
008122046f7f (svn r2685) -Codechange: Split the music/sound/video drivers into separate files and move them into subfolders.
tron
parents: 1892
diff changeset
     3
#include "music/bemidi.h"
531
d5412b554030 (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents: -1
diff changeset
     4
d5412b554030 (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents: -1
diff changeset
     5
// BeOS System Includes
d5412b554030 (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents: -1
diff changeset
     6
#include <MidiSynthFile.h>
d5412b554030 (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents: -1
diff changeset
     7
2173
dabe358aec40 (svn r2687) Make a variable static
tron
parents: 2171
diff changeset
     8
static BMidiSynthFile midiSynthFile;
531
d5412b554030 (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents: -1
diff changeset
     9
1301
313804601383 (svn r1805) Teach the driver layer a few things about const correctness
tron
parents: 532
diff changeset
    10
static const char *bemidi_start(const char * const *parm)
531
d5412b554030 (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents: -1
diff changeset
    11
{
d5412b554030 (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents: -1
diff changeset
    12
	return NULL;
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
d5412b554030 (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents: -1
diff changeset
    15
static void bemidi_stop(void)
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
	midiSynthFile.UnloadFile();
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
d5412b554030 (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents: -1
diff changeset
    20
static void bemidi_play_song(const char *filename)
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
	bemidi_stop();
d5412b554030 (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents: -1
diff changeset
    23
	entry_ref midiRef;
d5412b554030 (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents: -1
diff changeset
    24
	get_ref_for_path(filename, &midiRef);
d5412b554030 (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents: -1
diff changeset
    25
	midiSynthFile.LoadFile(&midiRef);
d5412b554030 (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents: -1
diff changeset
    26
	midiSynthFile.Start();
d5412b554030 (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents: -1
diff changeset
    27
}
d5412b554030 (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents: -1
diff changeset
    28
d5412b554030 (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents: -1
diff changeset
    29
static void bemidi_stop_song(void)
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
	midiSynthFile.UnloadFile();
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
d5412b554030 (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents: -1
diff changeset
    34
static bool bemidi_is_playing(void)
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
	return !midiSynthFile.IsFinished();
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
d5412b554030 (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents: -1
diff changeset
    39
static void bemidi_set_volume(byte vol)
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
	fprintf(stderr, "BeMidi: Set volume not implemented\n");
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
d5412b554030 (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents: -1
diff changeset
    44
const HalMusicDriver _bemidi_music_driver = {
d5412b554030 (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents: -1
diff changeset
    45
	bemidi_start,
d5412b554030 (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents: -1
diff changeset
    46
	bemidi_stop,
d5412b554030 (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents: -1
diff changeset
    47
	bemidi_play_song,
d5412b554030 (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents: -1
diff changeset
    48
	bemidi_stop_song,
d5412b554030 (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents: -1
diff changeset
    49
	bemidi_is_playing,
d5412b554030 (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents: -1
diff changeset
    50
	bemidi_set_volume,
d5412b554030 (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents: -1
diff changeset
    51
};