IFilter.h
00001
00002
00003
00004
00005 #ifndef IFILTER_H
00006 #define IFILTER_H
00007
00008 #include "IRefCounted.h"
00009 #include "cAudioDefines.h"
00010
00011 #ifdef CAUDIO_EFX_ENABLED
00012
00013 namespace cAudio
00014 {
00016 enum FilterTypes
00017 {
00018 EFT_NULL,
00019 EFT_LOWPASS,
00020 EFT_HIGHPASS,
00021 EFT_BANDPASS,
00022 EFT_COUNT
00023 };
00024
00026 class IFilter : public IRefCounted
00027 {
00028 public:
00029 IFilter() { }
00030 virtual ~IFilter() { }
00031
00033 virtual const FilterTypes& getType() const = 0;
00034
00036
00038 virtual void setType(const FilterTypes& type) = 0;
00039
00041 virtual float getVolume() const = 0;
00042
00044
00046 virtual void setVolume(const float& volume) = 0;
00047
00049 virtual float getLowFrequencyVolume() const = 0;
00050
00052
00054 virtual void setLowFrequencyVolume(const float& volumeLF) = 0;
00055
00057 virtual float getHighFrequencyVolume() const = 0;
00058
00060
00062 virtual void setHighFrequencyVolume(const float& volumeHF) = 0;
00063
00065 virtual unsigned int getLastUpdated() const = 0;
00066
00068 virtual bool isValid() const = 0;
00069 };
00070 };
00071
00072 #endif
00073
00074 #endif