IAudioEffects.h
00001
00002
00003
00004
00005 #ifndef IAUDIOEFFECTS_H
00006 #define IAUDIOEFFECTS_H
00007
00008 #include "IEffect.h"
00009 #include "IFilter.h"
00010 #include "cAudioDefines.h"
00011
00012 #ifdef CAUDIO_EFX_ENABLED
00013
00014 namespace cAudio
00015 {
00017 class IAudioEffects
00018 {
00019 public:
00020 IAudioEffects() {}
00021 virtual ~IAudioEffects() {}
00022
00024
00025 virtual IEffect* createEffect() = 0;
00026
00028
00029 virtual IFilter* createFilter() = 0;
00030
00032 virtual unsigned int getMaxEffectsSupported() const = 0;
00033
00035
00038 virtual bool isEffectSupported(const EffectTypes& type) const = 0;
00039
00041
00044 virtual bool isFilterSupported(const FilterTypes& type) const = 0;
00045
00047
00051 virtual bool addEAXReverbEffectPreset(const char* name, const sEAXReverbParameters& setting) = 0;
00052
00054
00058 virtual bool addReverbEffectPreset(const char* name, const sReverbParameters& setting) = 0;
00059
00061
00065 virtual bool addChorusEffectPreset(const char* name, const sChorusParameters& setting) = 0;
00066
00068
00072 virtual bool addDistortionEffectPreset(const char* name, const sDistortionParameters& setting) = 0;
00073
00075
00079 virtual bool addEchoEffectPreset(const char* name, const sEchoParameters& setting) = 0;
00080
00082
00086 virtual bool addFlangerEffectPreset(const char* name, const sFlangerParameters& setting) = 0;
00087
00089
00093 virtual bool addFrequencyShiftEffectPreset(const char* name, const sFrequencyShiftParameters& setting) = 0;
00094
00096
00100 virtual bool addVocalMorpherEffectPreset(const char* name, const sVocalMorpherParameters& setting) = 0;
00101
00103
00107 virtual bool addPitchShifterEffectPreset(const char* name, const sPitchShifterParameters& setting) = 0;
00108
00110
00114 virtual bool addRingModulatorEffectPreset(const char* name, const sRingModulatorParameters& setting) = 0;
00115
00117
00121 virtual bool addAutowahEffectPreset(const char* name, const sAutowahParameters& setting) = 0;
00122
00124
00128 virtual bool addCompressorEffectPreset(const char* name, const sCompressorParameters& setting) = 0;
00129
00131
00135 virtual bool addEqualizerEffectPreset(const char* name, const sEqualizerParameters& setting) = 0;
00136
00138
00141 virtual sEAXReverbParameters getEAXReverbEffectPreset(const char* name) = 0;
00142
00144
00147 virtual sReverbParameters getReverbEffectPreset(const char* name) = 0;
00148
00150
00153 virtual sChorusParameters getChorusEffectPreset(const char* name) = 0;
00154
00156
00159 virtual sDistortionParameters getDistortionEffectPreset(const char* name) = 0;
00160
00162
00165 virtual sEchoParameters getEchoEffectPreset(const char* name) = 0;
00166
00168
00171 virtual sFlangerParameters getFlangerEffectPreset(const char* name) = 0;
00172
00174
00177 virtual sFrequencyShiftParameters getFrequencyShiftEffectPreset(const char* name) = 0;
00178
00180
00183 virtual sVocalMorpherParameters getVocalMorpherEffectPreset(const char* name) = 0;
00184
00186
00189 virtual sPitchShifterParameters getPitchShifterEffectPreset(const char* name) = 0;
00190
00192
00195 virtual sRingModulatorParameters getRingModulatorEffectPreset(const char* name) = 0;
00196
00198
00201 virtual sAutowahParameters getAutowahEffectPreset(const char* name) = 0;
00202
00204
00207 virtual sCompressorParameters getCompressorEffectPreset(const char* name) = 0;
00208
00210
00213 virtual sEqualizerParameters getEqualizerEffectPreset(const char* name) = 0;
00214
00216
00219 virtual void removeEffectPreset(const EffectTypes& type, const char* name) = 0;
00220
00222
00226 virtual bool isEffectPresetRegistered(const EffectTypes& type, const char* name) = 0;
00227
00229
00231 virtual void removeAllEffectPresets(const EffectTypes& type) = 0;
00232
00233 protected:
00234 private:
00235 };
00236 };
00237
00238 #endif
00239
00240 #endif