caudio/include/IFilter.h

49 lines
1.1 KiB
C
Raw Normal View History

2010-02-09 05:18:39 +01:00
// Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones
// This file is part of the "cAudio Engine"
// For conditions of distribution and use, see copyright notice in cAudio.h
#ifndef IFILTER_H
#define IFILTER_H
#include "IRefCounted.h"
#include "cAudioDefines.h"
#ifdef CAUDIO_EFX_ENABLED
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
#endif //! IFILTER_H