effect_al.h
Go to the documentation of this file.00001
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029 #ifndef NLSOUND_EFFECT_AL_H
00030 #define NLSOUND_EFFECT_AL_H
00031 #include <nel/misc/types_nl.h>
00032
00033
00034
00035
00036
00037
00038
00039 namespace NLSOUND {
00040 class CSoundDriverAL;
00041
00048 class CEffectAL
00049 {
00050 protected:
00051
00052 CSoundDriverAL *_SoundDriver;
00053
00054
00055 ALuint _AlEffect;
00056 ALuint _AlAuxEffectSlot;
00057
00058 public:
00059 CEffectAL(CSoundDriverAL *soundDriver, ALuint alEffect, ALuint alAuxEffectSlot);
00060 virtual ~CEffectAL();
00061 virtual void release();
00062
00063 inline ALuint getAlEffect() { return _AlEffect; }
00064 inline ALuint getAuxEffectSlot() { return _AlAuxEffectSlot; }
00065
00066 };
00067
00074 class CStandardReverbEffectAL : public IReverbEffect, public CEffectAL
00075 {
00076 public:
00077 CStandardReverbEffectAL(CSoundDriverAL *soundDriver, ALuint alEffect, ALuint alAuxEffectSlot);
00078 virtual ~CStandardReverbEffectAL();
00079
00080 virtual void setEnvironment(const CEnvironment &environment = CEnvironment(), float roomSize = 100.0f);
00081
00082 };
00083
00084 #if EFX_CREATIVE_AVAILABLE
00085
00092 class CCreativeReverbEffectAL : public IReverbEffect, public CEffectAL
00093 {
00094 public:
00095 CCreativeReverbEffectAL(CSoundDriverAL *soundDriver, ALuint alEffect, ALuint alAuxEffectSlot);
00096 virtual ~CCreativeReverbEffectAL();
00097
00098 virtual void setEnvironment(const CEnvironment &environment = CEnvironment(), float roomSize = 100.0f);
00099
00100 };
00101
00102 #endif
00103
00104 }
00105
00106 #endif
00107
00108