summaryrefslogtreecommitdiff
path: root/src/music/null_m.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/music/null_m.h')
-rw-r--r--src/music/null_m.h26
1 files changed, 24 insertions, 2 deletions
diff --git a/src/music/null_m.h b/src/music/null_m.h
index d6edfb71d..2b7be7581 100644
--- a/src/music/null_m.h
+++ b/src/music/null_m.h
@@ -3,8 +3,30 @@
#ifndef MUSIC_NULL_H
#define MUSIC_NULL_H
-#include "../hal.h"
+#include "music_driver.hpp"
-extern const HalMusicDriver _null_music_driver;
+class MusicDriver_Null: public MusicDriver {
+public:
+ /* virtual */ bool CanProbe() { return false; }
+
+ /* virtual */ const char *Start(const char * const *param) { return NULL; }
+
+ /* virtual */ void Stop() { }
+
+ /* virtual */ void PlaySong(const char *filename) { }
+
+ /* virtual */ void StopSong() { }
+
+ /* virtual */ bool IsSongPlaying() { return true; }
+
+ /* virtual */ void SetVolume(byte vol) { }
+};
+
+class FMusicDriver_Null: public MusicDriverFactory<FMusicDriver_Null> {
+public:
+ /* virtual */ const char *GetName() { return "null"; }
+ /* virtual */ const char *GetDescription() { return "Null Music Driver"; }
+ /* virtual */ Driver *CreateInstance() { return new MusicDriver_Null(); }
+};
#endif /* MUSIC_NULL_H */