# bemidi.cpp

Go to the documentation of this file.

    00001 /* $Id: bemidi.cpp 15718 2009-03-15 00:32:18Z rubidium $ */
    00002
    00005 #include "../stdafx.h"
    00006 #include "../openttd.h"
    00007 #include "bemidi.h"
    00008
    00009 /* BeOS System Includes */
    00010 #include <MidiSynthFile.h>
    00011
    00012 static BMidiSynthFile midiSynthFile;
    00013
    00014 static FMusicDriver_BeMidi iFMusicDriver_BeMidi;
    00015
    00016 const char *MusicDriver_BeMidi::Start(const char * const *parm)
    00017 {
    00018   return NULL;
    00019 }
    00020
    00021 void MusicDriver_BeMidi::Stop()
    00022 {
    00023   midiSynthFile.UnloadFile();
    00024 }
    00025
    00026 void MusicDriver_BeMidi::PlaySong(const char *filename)
    00027 {
    00028   bemidi_stop();
    00029   entry_ref midiRef;
    00030   get_ref_for_path(filename, &midiRef);
    00031   midiSynthFile.LoadFile(&midiRef);
    00032   midiSynthFile.Start();
    00033 }
    00034
    00035 void MusicDriver_BeMidi::StopSong()
    00036 {
    00037   midiSynthFile.UnloadFile();
    00038 }
    00039
    00040 bool MusicDriver_BeMidi::IsSongPlaying()
    00041 {
    00042   return !midiSynthFile.IsFinished();
    00043 }
    00044
    00045 void MusicDriver_BeMidi::SetVolume(byte vol)
    00046 {
    00047   fprintf(stderr, "BeMidi: Set volume not implemented\n");
    00048 }