7 #include "cAudioDefines.h"
9 #if CAUDIO_EFX_ENABLED == 1
14 #include "cEFXFunctions.h"
15 #include "cMemoryOverride.h"
20 class cEffect :
public IEffect,
public cMemoryOverride
23 cEffect(cEFXFunctions* oALFunctions);
26 virtual const EffectTypes& getType()
const;
27 virtual void setType(
const EffectTypes& type);
29 virtual const sEAXReverbParameters& getEAXReverbParameters()
const;
30 virtual void setEAXReverbParameters(
const sEAXReverbParameters& param);
32 virtual const sReverbParameters& getReverbParameters()
const;
33 virtual void setReverbParameters(
const sReverbParameters& param);
35 virtual const sChorusParameters& getChorusParameters()
const;
36 virtual void setChorusParameters(
const sChorusParameters& param);
38 virtual const sDistortionParameters& getDistortionParameters()
const;
39 virtual void setDistortionParameters(
const sDistortionParameters& param);
41 virtual const sEchoParameters& getEchoParameters()
const;
42 virtual void setEchoParameters(
const sEchoParameters& param);
44 virtual const sFlangerParameters& getFlangerParameters()
const;
45 virtual void setFlangerParameters(
const sFlangerParameters& param);
47 virtual const sFrequencyShiftParameters& getFrequencyShiftParameters()
const;
48 virtual void setFrequencyShiftParameters(
const sFrequencyShiftParameters& param);
50 virtual const sVocalMorpherParameters& getVocalMorpherParameters()
const;
51 virtual void setVocalMorpherParameters(
const sVocalMorpherParameters& param);
53 virtual const sPitchShifterParameters& getPitchShifterParameters()
const;
54 virtual void setPitchShifterParameters(
const sPitchShifterParameters& param);
56 virtual const sRingModulatorParameters& getRingModulatorParameters()
const;
57 virtual void setRingModulatorParameters(
const sRingModulatorParameters& param);
59 virtual const sAutowahParameters& getAutowahParameters()
const;
60 virtual void setAutowahParameters(
const sAutowahParameters& param);
62 virtual const sCompressorParameters& getCompressorParameters()
const;
63 virtual void setCompressorParameters(
const sCompressorParameters& param);
65 virtual const sEqualizerParameters& getEqualizerParameters()
const;
66 virtual void setEqualizerParameters(
const sEqualizerParameters& param);
68 virtual float getMasterVolume()
const;
69 virtual void setMasterVolume(
const float& volume);
71 virtual bool isIgnoringAttenuation()
const;
72 virtual void ignoreAttenuation(
const bool& ignore);
74 virtual IFilter* getFilter()
const;
75 virtual void attachFilter(IFilter* filter);
76 virtual void removeFilter();
78 virtual unsigned int getLastUpdated()
const;
79 virtual bool isValid()
const;
81 ALuint getOpenALEffect()
const;
82 ALuint getOpenALEffectSlot()
const;
91 bool IgnoreAttenuation;
92 unsigned int LastUpdated;
103 ALenum ConvertEffectEnum(EffectTypes type);
104 ALenum ConvertFrequencyShiftEnum(sFrequencyShiftParameters::ShiftDirection shift);
105 ALenum ConvertVocalMorphPhonemeEnum(sVocalMorpherParameters::MorpherPhoneme phoneme);
108 sEAXReverbParameters EAXReverbParam;
109 sReverbParameters ReverbParam;
110 sChorusParameters ChorusParam;
111 sDistortionParameters DistortionParam;
112 sEchoParameters EchoParam;
113 sFlangerParameters FlangerParam;
114 sFrequencyShiftParameters FrequencyShiftParam;
115 sVocalMorpherParameters VocalMorpherParam;
116 sPitchShifterParameters PitchShifterParam;
117 sRingModulatorParameters RingModulatorParam;
118 sAutowahParameters AutowahParam;
119 sCompressorParameters CompressorParam;
120 sEqualizerParameters EqualizerParam;