IEffect.h

00001 // Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones
00002 // This file is part of the "cAudio Engine"
00003 // For conditions of distribution and use, see copyright notice in cAudio.h
00004 
00005 #ifndef IEFFECT_H
00006 #define IEFFECT_H
00007 
00008 #include "IRefCounted.h"
00009 #include "IFilter.h"
00010 #include "IEffectParameters.h"
00011 #include "cAudioDefines.h"
00012 
00013 #ifdef CAUDIO_EFX_ENABLED
00014 
00015 namespace cAudio
00016 {
00018         enum EffectTypes
00019         {
00020                 EET_NULL,
00021                 EET_EAX_REVERB,
00022                 EET_REVERB,
00023                 EET_CHORUS,
00024                 EET_DISTORTION,
00025                 EET_ECHO,
00026                 EET_FLANGER,
00027                 EET_FREQUENCY_SHIFTER,
00028                 EET_VOCAL_MORPHER,
00029                 EET_PITCH_SHIFTER,
00030                 EET_RING_MODULATOR,
00031                 EET_AUTOWAH,
00032                 EET_COMPRESSOR,
00033                 EET_EQUALIZER,
00034                 EET_COUNT
00035         };
00036 
00038         class IEffect : public IRefCounted
00039         {
00040         public:
00041                 IEffect() {  }
00042                 virtual ~IEffect() {  }
00043 
00045                 virtual const EffectTypes& getType() const = 0;
00046 
00048 
00050                 virtual void setType(const EffectTypes& type) = 0;
00051 
00053                 virtual const sEAXReverbParameters& getEAXReverbParameters() const = 0;
00054 
00056 
00058                 virtual void setEAXReverbParameters(const sEAXReverbParameters& param) = 0;
00059 
00061                 virtual const sReverbParameters& getReverbParameters() const = 0;
00062 
00064 
00066                 virtual void setReverbParameters(const sReverbParameters& param) = 0;
00067 
00069                 virtual const sChorusParameters& getChorusParameters() const = 0;
00070 
00072 
00074                 virtual void setChorusParameters(const sChorusParameters& param) = 0;
00075 
00077                 virtual const sDistortionParameters& getDistortionParameters() const = 0;
00078 
00080 
00082                 virtual void setDistortionParameters(const sDistortionParameters& param) = 0;
00083 
00085                 virtual const sEchoParameters& getEchoParameters() const = 0;
00086 
00088 
00090                 virtual void setEchoParameters(const sEchoParameters& param) = 0;
00091 
00093                 virtual const sFlangerParameters& getFlangerParameters() const = 0;
00094 
00096 
00098                 virtual void setFlangerParameters(const sFlangerParameters& param) = 0;
00099 
00101                 virtual const sFrequencyShiftParameters& getFrequencyShiftParameters() const = 0;
00102 
00104 
00106                 virtual void setFrequencyShiftParameters(const sFrequencyShiftParameters& param) = 0;
00107 
00109                 virtual const sVocalMorpherParameters& getVocalMorpherParameters() const = 0;
00110 
00112 
00114                 virtual void setVocalMorpherParameters(const sVocalMorpherParameters& param) = 0;
00115 
00117                 virtual const sPitchShifterParameters& getPitchShifterParameters() const = 0;
00118 
00120 
00122                 virtual void setPitchShifterParameters(const sPitchShifterParameters& param) = 0;
00123 
00125                 virtual const sRingModulatorParameters& getRingModulatorParameters() const = 0;
00126 
00128 
00130                 virtual void setRingModulatorParameters(const sRingModulatorParameters& param) = 0;
00131 
00133                 virtual const sAutowahParameters& getAutowahParameters() const = 0;
00134 
00136 
00138                 virtual void setAutowahParameters(const sAutowahParameters& param) = 0;
00139 
00141                 virtual const sCompressorParameters& getCompressorParameters() const = 0;
00142 
00144 
00146                 virtual void setCompressorParameters(const sCompressorParameters& param) = 0;
00147 
00149                 virtual const sEqualizerParameters& getEqualizerParameters() const = 0;
00150 
00152 
00154                 virtual void setEqualizerParameters(const sEqualizerParameters& param) = 0;
00155 
00157 
00159                 virtual float getMasterVolume() const = 0;
00160 
00162 
00164                 virtual void setMasterVolume(const float& volume) = 0;
00165 
00167                 virtual bool isIgnoringAttenuation() const = 0;
00168 
00170 
00172                 virtual void ignoreAttenuation(const bool& ignore) = 0;
00173 
00175                 virtual IFilter* getFilter() const = 0;
00176 
00178 
00180                 virtual void attachFilter(IFilter* filter) = 0;
00181 
00183                 virtual void removeFilter() = 0;
00184 
00186                 virtual unsigned int getLastUpdated() const = 0;
00187                 
00189                 virtual bool isValid() const = 0;
00190         };
00191 };
00192 
00193 #endif
00194 
00195 #endif 
 All Classes Namespaces Functions Variables Enumerations

Generated on Sat Feb 20 22:55:08 2010 for cAudio by  doxygen 1.6.2