diff --git a/src/music/dmusic.h b/src/music/dmusic.h --- 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" + +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); -extern const HalMusicDriver _dmusic_midi_driver; + /* virtual */ void StopSong(); + + /* virtual */ bool IsSongPlaying(); + + /* virtual */ void SetVolume(byte vol); +}; + +class FMusicDriver_DMusic: public MusicDriverFactory { +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 */