aboutsummaryrefslogtreecommitdiff
path: root/src/libjin/Audio/je_source.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/libjin/Audio/je_source.h')
-rw-r--r--src/libjin/Audio/je_source.h77
1 files changed, 73 insertions, 4 deletions
diff --git a/src/libjin/Audio/je_source.h b/src/libjin/Audio/je_source.h
index 9ef0b46..ac87c07 100644
--- a/src/libjin/Audio/je_source.h
+++ b/src/libjin/Audio/je_source.h
@@ -10,6 +10,9 @@ namespace JinEngine
namespace Audio
{
+ ///
+ /// Audio source encoding type.
+ ///
enum SourceType
{
INVALID = 0,
@@ -17,25 +20,90 @@ namespace JinEngine
OGG,
};
+ ///
+ /// Audio source.
+ ///
class Source
{
public:
+ ///
+ /// Source constructor.
+ ///
Source() {};
+
+ ///
+ /// Source destructor.
+ ///
virtual ~Source() {};
- /* interface */
- virtual void play() = 0;
+
+ ///
+ /// Start playing source.
+ ///
+ virtual void play() = 0;
+
+ ///
+ /// Stop playing source.
+ ///
virtual void stop() = 0;
+
+ ///
+ /// Pause source.
+ ///
virtual void pause() = 0;
+
+ ///
+ /// Resume source.
+ ///
virtual void resume() = 0;
+
+ ///
+ /// Rewind source.
+ ///
virtual void rewind() = 0;
+
+ ///
+ /// Whether the source is playing or not.
+ ///
virtual bool isStopped() const = 0;
+
+ ///
+ /// Whether the source is paused or not.
+ ///
virtual bool isPaused() const = 0;
+
+ ///
+ /// Set source pitch.
+ ///
+ /// @param pitch Pitch of source.
+ ///
virtual void setPitch(float pitch) = 0;
+
+ ///
+ /// Set volume of source.
+ ///
+ /// @param volume Volume of source.
+ ///
virtual void setVolume(float volume) = 0;
- virtual bool setLoop(bool loop) = 0;
+
+ ///
+ /// Set source loop.
+ ///
+ /// @param loop Looping or not.
+ ///
+ virtual void setLoop(bool loop) = 0;
+
+ ///
+ /// Set source rate.
+ ///
+ /// @param rate Rate of source.
+ ///
virtual void setRate(float rate) = 0;
protected:
+
+ ///
+ /// Get type of source data.
+ ///
static SourceType getType(const void* mem, int size);
};
@@ -44,4 +112,5 @@ namespace JinEngine
} // namespace JinEngine
#endif // LIBJIN_MODULES_AUDIO
-#endif // __JE_AUDIO_SOURCE_H
+
+#endif // __JE_AUDIO_SOURCE_H \ No newline at end of file