os/beos/bemidi.cpp
author tron
Sat, 05 Feb 2005 18:05:42 +0000
changeset 1301 bf64ba5b6774
parent 532 d894d437be85
child 1892 8717d92b32b1
permissions -rw-r--r--
(svn r1805) Teach the driver layer a few things about const correctness
531
4054e42edcce (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents:
diff changeset
     1
#ifdef __BEOS__
4054e42edcce (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents:
diff changeset
     2
4054e42edcce (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents:
diff changeset
     3
#include "stdafx.h"
4054e42edcce (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents:
diff changeset
     4
#include "ttd.h"
4054e42edcce (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents:
diff changeset
     5
#include "hal.h"
4054e42edcce (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents:
diff changeset
     6
4054e42edcce (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents:
diff changeset
     7
// BeOS System Includes
4054e42edcce (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents:
diff changeset
     8
#include <MidiSynthFile.h>
4054e42edcce (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents:
diff changeset
     9
4054e42edcce (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents:
diff changeset
    10
BMidiSynthFile midiSynthFile;
4054e42edcce (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents:
diff changeset
    11
1301
bf64ba5b6774 (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
4054e42edcce (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents:
diff changeset
    13
{
4054e42edcce (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents:
diff changeset
    14
	return NULL;
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
4054e42edcce (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents:
diff changeset
    17
static void bemidi_stop(void)
4054e42edcce (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents:
diff changeset
    18
{
4054e42edcce (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents:
diff changeset
    19
	midiSynthFile.UnloadFile();
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
4054e42edcce (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents:
diff changeset
    22
static void bemidi_play_song(const char *filename)
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
	bemidi_stop();
4054e42edcce (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents:
diff changeset
    25
	entry_ref midiRef;
4054e42edcce (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents:
diff changeset
    26
	get_ref_for_path(filename, &midiRef);
4054e42edcce (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents:
diff changeset
    27
	midiSynthFile.LoadFile(&midiRef);
4054e42edcce (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents:
diff changeset
    28
	midiSynthFile.Start();
4054e42edcce (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents:
diff changeset
    29
}
4054e42edcce (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents:
diff changeset
    30
4054e42edcce (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents:
diff changeset
    31
static void bemidi_stop_song(void)
4054e42edcce (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents:
diff changeset
    32
{
4054e42edcce (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents:
diff changeset
    33
	midiSynthFile.UnloadFile();
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
4054e42edcce (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents:
diff changeset
    36
static bool bemidi_is_playing(void)
4054e42edcce (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents:
diff changeset
    37
{
4054e42edcce (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents:
diff changeset
    38
	return !midiSynthFile.IsFinished();
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
4054e42edcce (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents:
diff changeset
    41
static void bemidi_set_volume(byte vol)
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
	fprintf(stderr, "BeMidi: Set volume not implemented\n");
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
4054e42edcce (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents:
diff changeset
    46
const HalMusicDriver _bemidi_music_driver = {
4054e42edcce (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents:
diff changeset
    47
	bemidi_start,
4054e42edcce (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents:
diff changeset
    48
	bemidi_stop,
4054e42edcce (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents:
diff changeset
    49
	bemidi_play_song,
4054e42edcce (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents:
diff changeset
    50
	bemidi_stop_song,
4054e42edcce (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents:
diff changeset
    51
	bemidi_is_playing,
4054e42edcce (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents:
diff changeset
    52
	bemidi_set_volume,
4054e42edcce (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents:
diff changeset
    53
};
4054e42edcce (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents:
diff changeset
    54
4054e42edcce (svn r876) reverted the accidently cleared bemidi.cpp
bjarni
parents:
diff changeset
    55
#endif // __BEOS__