caudio/include/IFilter.h
Joshua Jones 30e5b4a99e Added support for all OpenAL Audio Effects. Access can be gotten through the main audio manager using the AudioEffects interface. IEffect provides access to effect parameters and allows for binding to cAudio sources. IFilter provides access to filters that can be attached to sources and effects.
Added conversion functions from our audio format enum to OpenAL's in preparation for supporting more formats.
Reorganized cAudio defines, made it easier to access some compile time parameters.
Fixed a bug where a source could not be played again after it reached the end of its audio stream.
Added better checking for sources.  IsValid() should provide a more useful indication of whether a source is usable.
Added error checking and logging to cAudioCapture.
Prevented initializing of cAudioManager until shutdown() has been called.
Added a tutorial for Audio Effects.
Added a footsteps sound for showing off Audio Effects.
Moved the default compile location for the main library to lib/.  The msvc project will copy the cAudio.dll to bin/win32-visual/
2010-01-11 00:39:08 +00:00

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