diff --git a/src/music/music_driver.hpp b/src/music/music_driver.hpp --- a/src/music/music_driver.hpp +++ b/src/music/music_driver.hpp @@ -14,20 +14,41 @@ #include "../driver.h" +/** Driver for all music playback. */ class MusicDriver: public Driver { public: + /** + * Play a particular song. + * @param filename The name of file with the song to play. + */ virtual void PlaySong(const char *filename) = 0; + /** + * Stop playing the current song. + */ virtual void StopSong() = 0; + /** + * Are we currently playing a song? + * @return True if a song is being played. + */ virtual bool IsSongPlaying() = 0; + /** + * Set the volume, if possible. + * @param vol The new volume. + */ virtual void SetVolume(byte vol) = 0; }; +/** Base of the factory for the music drivers. */ class MusicDriverFactoryBase: public DriverFactoryBase { }; +/** + * Factory for the music drivers. + * @tparam T The type of the music factory to register. + */ template class MusicDriverFactory: public MusicDriverFactoryBase { public: