]> git.tdb.fi Git - libs/al.git/blobdiff - source/source.h
Fix compilation on OS X
[libs/al.git] / source / source.h
index 29118c5ea0d6dd18d2b7abd82b2ae1862d305700..8de3d0284d109fe1b3524539937d655748e7055a 100644 (file)
@@ -1,15 +1,9 @@
-/* $Id$
-
-This file is part of libmspal
-Copyright © 2008 Mikko Rasa, Mikkosoft Productions
-Diestributed under the LGPL
-*/
-
 #ifndef MSP_AL_SOURCE_H_
 #define MSP_AL_SOURCE_H_
 
 #include <vector>
-#include <AL/al.h>
+#include "al.h"
+#include "types.h"
 
 namespace Msp {
 namespace AL {
@@ -24,6 +18,9 @@ enum SourceState
        STOPPED = AL_STOPPED
 };
 
+/**
+Represents an audio source in the 3D environment.
+*/
 class Source
 {
 private:
@@ -33,18 +30,22 @@ public:
        Source();
        ~Source();
 
-       void attribute(ALenum, int);
-       void attribute(ALenum, float);
-       void attribute(ALenum, float, float, float);
-       void attribute(ALenum, const float *);
-       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_velocity(float, float, float);
+       void set_gain(float);
+       void set_rolloff_factor(float);
+
        void set_buffer(const Buffer &);
        void queue_buffers(const std::vector<const Buffer *> &);
        void queue_buffer(const Buffer &);
+       void unqueue_buffers(const std::vector<const Buffer *> &);
+       void unqueue_buffer(const Buffer &);
+       void clear_buffers();
+       unsigned get_buffers_queued() const;
+       unsigned get_buffers_processed() const;
+
+       void set_looping(bool);
        void play();
        void pause();
        void stop();