40 lines
856 B
C
40 lines
856 B
C
|
#ifndef IFILTER_H
|
||
|
#define IFILTER_H
|
||
|
|
||
|
#include "IRefCounted.h"
|
||
|
|
||
|
namespace cAudio
|
||
|
{
|
||
|
enum FilterTypes
|
||
|
{
|
||
|
EFT_NULL,
|
||
|
EFT_LOWPASS,
|
||
|
EFT_HIGHPASS,
|
||
|
EFT_BANDPASS,
|
||
|
EFT_COUNT
|
||
|
};
|
||
|
|
||
|
class IFilter : public IRefCounted
|
||
|
{
|
||
|
public:
|
||
|
IFilter() { }
|
||
|
virtual ~IFilter() { }
|
||
|
|
||
|
virtual const FilterTypes& getType() const = 0;
|
||
|
virtual void setType(const FilterTypes& type) = 0;
|
||
|
|
||
|
virtual float getVolume() const = 0;
|
||
|
virtual void setVolume(const float& volume) = 0;
|
||
|
|
||
|
virtual float getLowFrequencyVolume() const = 0;
|
||
|
virtual void setLowFrequencyVolume(const float& volumeLF) = 0;
|
||
|
|
||
|
virtual float getHighFrequencyVolume() const = 0;
|
||
|
virtual void setHighFrequencyVolume(const float& volumeHF) = 0;
|
||
|
|
||
|
virtual unsigned int getLastUpdated() const = 0;
|
||
|
virtual bool isValid() const = 0;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
#endif //! IFILTER_H
|