00001 00033 #ifndef LL_LISTENER_DS3D_H 00034 #define LL_LISTENER_DS3D_H 00035 00036 #include "listener.h" 00037 00038 #include <dmusici.h> 00039 #include <dsound.h> 00040 #include <ks.h> 00041 00042 class LLListener_DS3D : public LLListener 00043 { 00044 private: 00045 protected: 00046 IDirectSound3DListener8 *m3DListener; 00047 public: 00048 00049 private: 00050 protected: 00051 public: 00052 LLListener_DS3D(); 00053 virtual ~LLListener_DS3D(); 00054 virtual void init(); 00055 00056 virtual void setDS3DLPtr (IDirectSound3DListener8 *listener_p); 00057 00058 virtual void translate(LLVector3 offset); 00059 virtual void setPosition(LLVector3 pos); 00060 virtual void setVelocity(LLVector3 vel); 00061 virtual void orient(LLVector3 up, LLVector3 at); 00062 00063 virtual void setDopplerFactor(F32 factor); 00064 virtual F32 getDopplerFactor(); 00065 virtual void setDistanceFactor(F32 factor); 00066 virtual F32 getDistanceFactor(); 00067 virtual void setRolloffFactor(F32 factor); 00068 virtual F32 getRolloffFactor(); 00069 00070 virtual void commitDeferredChanges(); 00071 }; 00072 00073 #endif 00074 00075