00001 00024 #ifndef AUDIOENVIROMENT_H_INCLUDED_C4211030 00025 #define AUDIOENVIROMENT_H_INCLUDED_C4211030 00026 00027 #include "openalpp/audiobase.h" 00028 00029 namespace openalpp { 00030 00056 #include "openalpp/export.h" 00057 00058 #ifdef None 00059 #undef None // Defined in X-headers 00060 #endif 00061 typedef enum DistanceModel {None,InverseDistance,InverseDistanceClamped}; 00062 00068 class OPENALPP_API AudioEnvironment : public AudioBase { 00069 public: 00073 AudioEnvironment() throw (InitError); 00074 00083 AudioEnvironment(int frequency,int refresh,bool synchronous) 00084 throw (InitError); 00085 00086 00094 AudioEnvironment(int frequency,int refresh=-1) 00095 throw (InitError); 00096 00102 void setSoundVelocity(float speed) throw (ValueError,FatalError); 00103 00108 float getSoundVelocity() throw (FatalError); 00109 00116 void setDopplerFactor(float factor) throw (ValueError,FatalError); 00117 00122 float getDopplerFactor() throw (FatalError); 00123 00132 void setGain(float gain); 00133 00138 float getGain() throw (FatalError); 00139 00144 void setDistanceModel(DistanceModel model) throw (FatalError); 00145 00150 DistanceModel getDistanceModel() throw (FatalError); 00151 00155 void initiateReverb() throw (InitError); 00156 }; 00157 00158 } 00159 00160 #endif /* AUDIOENVIROMENT_H_INCLUDED_C4211030 */