7 #include "cAudioDefines.h"
9 #if CAUDIO_EFX_ENABLED == 1
12 #include "cEFXFunctions.h"
13 #include "IAudioEffects.h"
14 #include "cSTLAllocator.h"
15 #include "cAudioString.h"
19 class cAudioEffects :
public IAudioEffects
23 virtual ~cAudioEffects();
25 virtual IEffect* createEffect();
26 virtual IFilter* createFilter();
28 virtual unsigned int getMaxEffectsSupported()
const;
29 virtual bool isEffectSupported(
const EffectTypes& type)
const;
30 virtual bool isFilterSupported(
const FilterTypes& type)
const;
32 virtual bool addEAXReverbEffectPreset(
const char* name,
const sEAXReverbParameters& setting);
33 virtual bool addReverbEffectPreset(
const char* name,
const sReverbParameters& setting);
34 virtual bool addChorusEffectPreset(
const char* name,
const sChorusParameters& setting);
35 virtual bool addDistortionEffectPreset(
const char* name,
const sDistortionParameters& setting);
36 virtual bool addEchoEffectPreset(
const char* name,
const sEchoParameters& setting);
37 virtual bool addFlangerEffectPreset(
const char* name,
const sFlangerParameters& setting);
38 virtual bool addFrequencyShiftEffectPreset(
const char* name,
const sFrequencyShiftParameters& setting);
39 virtual bool addVocalMorpherEffectPreset(
const char* name,
const sVocalMorpherParameters& setting);
40 virtual bool addPitchShifterEffectPreset(
const char* name,
const sPitchShifterParameters& setting);
41 virtual bool addRingModulatorEffectPreset(
const char* name,
const sRingModulatorParameters& setting);
42 virtual bool addAutowahEffectPreset(
const char* name,
const sAutowahParameters& setting);
43 virtual bool addCompressorEffectPreset(
const char* name,
const sCompressorParameters& setting);
44 virtual bool addEqualizerEffectPreset(
const char* name,
const sEqualizerParameters& setting);
46 virtual sEAXReverbParameters getEAXReverbEffectPreset(
const char* name);
47 virtual sReverbParameters getReverbEffectPreset(
const char* name);
48 virtual sChorusParameters getChorusEffectPreset(
const char* name);
49 virtual sDistortionParameters getDistortionEffectPreset(
const char* name);
50 virtual sEchoParameters getEchoEffectPreset(
const char* name);
51 virtual sFlangerParameters getFlangerEffectPreset(
const char* name);
52 virtual sFrequencyShiftParameters getFrequencyShiftEffectPreset(
const char* name);
53 virtual sVocalMorpherParameters getVocalMorpherEffectPreset(
const char* name);
54 virtual sPitchShifterParameters getPitchShifterEffectPreset(
const char* name);
55 virtual sRingModulatorParameters getRingModulatorEffectPreset(
const char* name);
56 virtual sAutowahParameters getAutowahEffectPreset(
const char* name);
57 virtual sCompressorParameters getCompressorEffectPreset(
const char* name);
58 virtual sEqualizerParameters getEqualizerEffectPreset(
const char* name);
60 virtual void removeEffectPreset(
const EffectTypes& type,
const char* name);
61 virtual bool isEffectPresetRegistered(
const EffectTypes& type,
const char* name);
62 virtual void removeAllEffectPresets(
const EffectTypes& type);
64 cEFXFunctions* getEFXInterface();
65 void checkEFXSupportDetails();
69 cEFXFunctions EFXInterface;
70 unsigned int MaxEffectsSupported;
71 bool SupportedEffects[EET_COUNT];
72 bool SupportedFilters[EFT_COUNT];
74 cAudioMap<cAudioString, sEAXReverbParameters>::Type EAXReverbPresets;
75 cAudioMap<cAudioString, sReverbParameters>::Type ReverbPresets;
76 cAudioMap<cAudioString, sChorusParameters>::Type ChorusPresets;
77 cAudioMap<cAudioString, sDistortionParameters>::Type DistortionPresets;
78 cAudioMap<cAudioString, sEchoParameters>::Type EchoPresets;
79 cAudioMap<cAudioString, sFlangerParameters>::Type FlangerPresets;
80 cAudioMap<cAudioString, sFrequencyShiftParameters>::Type FrequencyShiftPresets;
81 cAudioMap<cAudioString, sVocalMorpherParameters>::Type VocalMorpherPresets;
82 cAudioMap<cAudioString, sPitchShifterParameters>::Type PitchShifterPresets;
83 cAudioMap<cAudioString, sRingModulatorParameters>::Type RingModulatorPresets;
84 cAudioMap<cAudioString, sAutowahParameters>::Type AutowahPresets;
85 cAudioMap<cAudioString, sCompressorParameters>::Type CompressorPresets;
86 cAudioMap<cAudioString, sEqualizerParameters>::Type EqualizerPresets;