]> git.tdb.fi Git - libs/al.git/blobdiff - source/listener.h
Fix compilation on OS X
[libs/al.git] / source / listener.h
index 63f6ccf25e10fe9b50e195dd4536dc0db5f739ac..ae222ae7bf7e5233ab8a06140dbe3a1f398807a1 100644 (file)
@@ -1,25 +1,28 @@
-#ifndef MSP_AL_LIStENER_H_
+#ifndef MSP_AL_LISTENER_H_
 #define MSP_AL_LISTENER_H_
 
-#include <AL/al.h>
+#include "al.h"
 
 namespace Msp {
 namespace AL {
 
 /**
-Represents the listener in the 3D environment.  There is only one listener in
-OpenAL - this class is not instantiable and all of its functions are static.
+Represents the listener in the 3D environment.  This class is a singleton.
 */
 class Listener
 {
 private:
+       float orientation[6];
+
        Listener();
 public:
-       static void attribute(ALenum, float);
-       static void attribute(ALenum, float, float, float);
-       static void attribute(ALenum, const float *);
-       static void set_position(float, float, float);
-       static void set_gain(float);
+       static Listener &instance();
+
+       void set_position(float, float, float);
+       void set_forward_direction(float, float, float);
+       void set_up_direction(float, float, float);
+       void set_velocity(float, float, float);
+       void set_gain(float);
 };
 
 } // namespace AL