X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fsource.h;h=090de0ff36b12e30666fdff8f55c2bd821122046;hb=58dc1e7c15f928d0f861a20c46f2be4112bf5baf;hp=234dcb832f4a2d8e9b4ca0bf66af3e87ea3bbf37;hpb=35ea5cc8d1eb8c806885d27441548f630e7b1266;p=libs%2Fal.git diff --git a/source/source.h b/source/source.h index 234dcb8..090de0f 100644 --- a/source/source.h +++ b/source/source.h @@ -2,7 +2,7 @@ This file is part of libmspal Copyright © 2008 Mikko Rasa, Mikkosoft Productions -Diestributed under the LGPL +Distributed under the LGPL */ #ifndef MSP_AL_SOURCE_H_ @@ -10,12 +10,21 @@ Diestributed under the LGPL #include #include +#include "types.h" namespace Msp { namespace AL { class Buffer; +enum SourceState +{ + INITIAL = AL_INITIAL, + PLAYING = AL_PLAYING, + PAUSED = AL_PAUSED, + STOPPED = AL_STOPPED +}; + class Source { private: @@ -29,9 +38,23 @@ 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 &); - void queue_buffer(Buffer &); + void get_attribute(ALenum, int *) const; + void get_attribute(ALenum, float *) const; + SourceState get_state() const; + unsigned get_buffers_queued() const; + unsigned get_buffers_processed() const; + void set_position(float, float, float); + void set_looping(bool); + void set_buffer(const Buffer &); + void queue_buffers(const std::vector &); + void queue_buffer(const Buffer &); + void unqueue_buffers(const std::vector &); + void unqueue_buffer(const Buffer &); + void clear_buffers(); + void play(); + void pause(); + void stop(); + void rewind(); }; } // namespace AL