diff options
author | peter1138 <peter1138@openttd.org> | 2007-07-05 12:23:54 +0000 |
---|---|---|
committer | peter1138 <peter1138@openttd.org> | 2007-07-05 12:23:54 +0000 |
commit | 5e85e8c5e03105e43cf9f2216e993c0596d7dfec (patch) | |
tree | 52e0cc5b1e4eb6cf9aed8556873ee6833662e11f /src/music/extmidi.h | |
parent | 7884a07b43fd293a2ca5b39b64df98b700959874 (diff) | |
download | openttd-5e85e8c5e03105e43cf9f2216e993c0596d7dfec.tar.xz |
(svn r10444) -Codechange: switch to c++ classes and inheritance for sound/music/video drivers, using self-registration based on the blitter-model.
Diffstat (limited to 'src/music/extmidi.h')
-rw-r--r-- | src/music/extmidi.h | 26 |
1 files changed, 24 insertions, 2 deletions
diff --git a/src/music/extmidi.h b/src/music/extmidi.h index f118f933a..df1472d34 100644 --- a/src/music/extmidi.h +++ b/src/music/extmidi.h @@ -3,8 +3,30 @@ #ifndef MUSIC_EXTERNAL_H #define MUSIC_EXTERNAL_H -#include "../hal.h" +#include "music_driver.hpp" -extern const HalMusicDriver _extmidi_music_driver; +class MusicDriver_ExtMidi: public MusicDriver { +public: + /* virtual */ bool CanProbe() { return true; } + + /* virtual */ const char *Start(const char * const *param); + + /* virtual */ void Stop(); + + /* virtual */ void PlaySong(const char *filename); + + /* virtual */ void StopSong(); + + /* virtual */ bool IsSongPlaying(); + + /* virtual */ void SetVolume(byte vol); +}; + +class FMusicDriver_ExtMidi: public MusicDriverFactory<FMusicDriver_ExtMidi> { +public: + /* virtual */ const char *GetName() { return "extmidi"; } + /* virtual */ const char *GetDescription() { return "External MIDI Driver"; } + /* virtual */ Driver *CreateInstance() { return new MusicDriver_ExtMidi(); } +}; #endif /* MUSIC_EXTERNAL_H */ |