IFilter.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 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 
 All Classes Namespaces Functions Variables Enumerations

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