diff options
Diffstat (limited to 'src/libjin/Audio/je_audio_manager.h')
-rw-r--r-- | src/libjin/Audio/je_audio_manager.h | 34 |
1 files changed, 33 insertions, 1 deletions
diff --git a/src/libjin/Audio/je_audio_manager.h b/src/libjin/Audio/je_audio_manager.h index 86716ef..10df08c 100644 --- a/src/libjin/Audio/je_audio_manager.h +++ b/src/libjin/Audio/je_audio_manager.h @@ -16,10 +16,16 @@ namespace JinEngine class Source; + /// + /// Audio manager. + /// template<class SubAudio> class AudioManager : public Subsystem<SubAudio> { public: + /// + /// Audio state. + /// enum State { PLAY , @@ -27,19 +33,45 @@ namespace JinEngine PAUSE, }; + /// + /// Play all sources whose state is playing. + /// virtual void play() = 0; + + /// + /// Stop and remove all sources from the queue. + /// virtual void stop() = 0; + + /// + /// Pause audio. + /// virtual void pause() = 0; + + /// + /// Resume audio. + /// virtual void resume() = 0; + + /// + /// Set global audio volume. + /// virtual void setVolume(float volume) = 0; protected: singleton(AudioManager); + /// + /// AudioManager constructor. + /// AudioManager() : volume(1) , state(State::PLAY) {}; + + /// + /// AudioManager destructor. + /// virtual ~AudioManager() {}; float volume; @@ -52,4 +84,4 @@ namespace JinEngine #endif // LIBJIN_MODULES_AUDIO -#endif // __JE_AUDIO_H +#endif // __JE_AUDIO_H
\ No newline at end of file |