music_driver.hpp
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00012 #ifndef MUSIC_MUSIC_DRIVER_HPP
00013 #define MUSIC_MUSIC_DRIVER_HPP
00014
00015 #include "../driver.h"
00016
00017 class MusicDriver: public Driver {
00018 public:
00019 virtual void PlaySong(const char *filename) = 0;
00020
00021 virtual void StopSong() = 0;
00022
00023 virtual bool IsSongPlaying() = 0;
00024
00025 virtual void SetVolume(byte vol) = 0;
00026 };
00027
00028 class MusicDriverFactoryBase: public DriverFactoryBase {
00029 };
00030
00031 template <class T>
00032 class MusicDriverFactory: public MusicDriverFactoryBase {
00033 public:
00034 MusicDriverFactory() { this->RegisterDriver(((T *)this)->GetName(), Driver::DT_MUSIC, ((T *)this)->priority); }
00035
00039 const char *GetName();
00040 };
00041
00042 extern MusicDriver *_music_driver;
00043 extern char *_ini_musicdriver;
00044
00045 #endif