aboutsummaryrefslogtreecommitdiff
path: root/src/libjin/Audio/je_audio_manager.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/libjin/Audio/je_audio_manager.h')
-rw-r--r--src/libjin/Audio/je_audio_manager.h34
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