]> git.tdb.fi Git - libs/al.git/blobdiff - source/listener.h
Remove the general-purpose attribute functions
[libs/al.git] / source / listener.h
index 63f6ccf25e10fe9b50e195dd4536dc0db5f739ac..0876815ce6ecaec3b8e52bac158786a6bf63a4b3 100644 (file)
@@ -7,19 +7,22 @@ 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