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