]> git.tdb.fi Git - libs/al.git/blobdiff - source/source.h
Add more methods to Source
[libs/al.git] / source / source.h
index 234dcb832f4a2d8e9b4ca0bf66af3e87ea3bbf37..29118c5ea0d6dd18d2b7abd82b2ae1862d305700 100644 (file)
@@ -16,6 +16,14 @@ namespace AL {
 
 class Buffer;
 
+enum SourceState
+{
+       INITIAL = AL_INITIAL,
+       PLAYING = AL_PLAYING,
+       PAUSED  = AL_PAUSED,
+       STOPPED = AL_STOPPED
+};
+
 class Source
 {
 private:
@@ -29,9 +37,18 @@ public:
        void attribute(ALenum, float);
        void attribute(ALenum, float, float, float);
        void attribute(ALenum, const float *);
-       void set_buffer(Buffer &);
-       void queue_buffers(const std::vector<Buffer *> &);
-       void queue_buffer(Buffer &);
+       void get_attr(ALenum, int *) const;
+       void get_attr(ALenum, float *) const;
+       SourceState get_state() const;
+       void set_position(float, float, float);
+       void set_looping(bool);
+       void set_buffer(const Buffer &);
+       void queue_buffers(const std::vector<const Buffer *> &);
+       void queue_buffer(const Buffer &);
+       void play();
+       void pause();
+       void stop();
+       void rewind();
 };
 
 } // namespace AL