diff options
Diffstat (limited to 'src/music/dmusic.h')
-rw-r--r-- | src/music/dmusic.h | 26 |
1 files changed, 24 insertions, 2 deletions
diff --git a/src/music/dmusic.h b/src/music/dmusic.h index a01269e1d..9bfb1bb1c 100644 --- a/src/music/dmusic.h +++ b/src/music/dmusic.h @@ -3,8 +3,30 @@ #ifndef MUSIC_DMUSIC_H #define MUSIC_DMUSIC_H -#include "../hal.h" +#include "music_driver.hpp" -extern const HalMusicDriver _dmusic_midi_driver; +class MusicDriver_DMusic: 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_DMusic: public MusicDriverFactory<FMusicDriver_DMusic> { +public: + /* virtual */ const char *GetName() { return "dmusic"; } + /* virtual */ const char *GetDescription() { return "DirectMusic MIDI Driver"; } + /* virtual */ Driver *CreateInstance() { return new MusicDriver_DMusic(); } +}; #endif /* MUSIC_DMUSIC_H */ |