30e5b4a99e
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/
92 lines
3.1 KiB
C++
92 lines
3.1 KiB
C++
#ifndef IEFFECT_H
|
|
#define IEFFECT_H
|
|
|
|
#include "IRefCounted.h"
|
|
#include "IFilter.h"
|
|
#include "IEffectParameters.h"
|
|
|
|
namespace cAudio
|
|
{
|
|
enum EffectTypes
|
|
{
|
|
EET_NULL,
|
|
EET_EAX_REVERB,
|
|
EET_REVERB,
|
|
EET_CHORUS,
|
|
EET_DISTORTION,
|
|
EET_ECHO,
|
|
EET_FLANGER,
|
|
EET_FREQUENCY_SHIFTER,
|
|
EET_VOCAL_MORPHER,
|
|
EET_PITCH_SHIFTER,
|
|
EET_RING_MODULATOR,
|
|
EET_AUTOWAH,
|
|
EET_COMPRESSOR,
|
|
EET_EQUALIZER,
|
|
EET_COUNT
|
|
};
|
|
|
|
class IEffect : public IRefCounted
|
|
{
|
|
public:
|
|
IEffect() { }
|
|
virtual ~IEffect() { }
|
|
|
|
virtual const EffectTypes& getType() const = 0;
|
|
virtual void setType(const EffectTypes& type) = 0;
|
|
|
|
virtual const sEAXReverbParameters& getEAXReverbParameters() const = 0;
|
|
virtual void setEAXReverbParameters(const sEAXReverbParameters& param) = 0;
|
|
|
|
virtual const sReverbParameters& getReverbParameters() const = 0;
|
|
virtual void setReverbParameters(const sReverbParameters& param) = 0;
|
|
|
|
virtual const sChorusParameters& getChorusParameters() const = 0;
|
|
virtual void setChorusParameters(const sChorusParameters& param) = 0;
|
|
|
|
virtual const sDistortionParameters& getDistortionParameters() const = 0;
|
|
virtual void setDistortionParameters(const sDistortionParameters& param) = 0;
|
|
|
|
virtual const sEchoParameters& getEchoParameters() const = 0;
|
|
virtual void setEchoParameters(const sEchoParameters& param) = 0;
|
|
|
|
virtual const sFlangerParameters& getFlangerParameters() const = 0;
|
|
virtual void setFlangerParameters(const sFlangerParameters& param) = 0;
|
|
|
|
virtual const sFrequencyShiftParameters& getFrequencyShiftParameters() const = 0;
|
|
virtual void setFrequencyShiftParameters(const sFrequencyShiftParameters& param) = 0;
|
|
|
|
virtual const sVocalMorpherParameters& getVocalMorpherParameters() const = 0;
|
|
virtual void setVocalMorpherParameters(const sVocalMorpherParameters& param) = 0;
|
|
|
|
virtual const sPitchShifterParameters& getPitchShifterParameters() const = 0;
|
|
virtual void setPitchShifterParameters(const sPitchShifterParameters& param) = 0;
|
|
|
|
virtual const sRingModulatorParameters& getRingModulatorParameters() const = 0;
|
|
virtual void setRingModulatorParameters(const sRingModulatorParameters& param) = 0;
|
|
|
|
virtual const sAutowahParameters& getAutowahParameters() const = 0;
|
|
virtual void setAutowahParameters(const sAutowahParameters& param) = 0;
|
|
|
|
virtual const sCompressorParameters& getCompressorParameters() const = 0;
|
|
virtual void setCompressorParameters(const sCompressorParameters& param) = 0;
|
|
|
|
virtual const sEqualizerParameters& getEqualizerParameters() const = 0;
|
|
virtual void setEqualizerParameters(const sEqualizerParameters& param) = 0;
|
|
|
|
virtual float getMasterVolume() const = 0;
|
|
virtual void setMasterVolume(const float& volume) = 0;
|
|
|
|
virtual bool isIgnoringAttenuation() const = 0;
|
|
virtual void ignoreAttenuation(const bool& ignore) = 0;
|
|
|
|
virtual IFilter* getFilter() const = 0;
|
|
virtual void attachFilter(IFilter* filter) = 0;
|
|
virtual void removeFilter() = 0;
|
|
|
|
virtual unsigned int getLastUpdated() const = 0;
|
|
virtual bool isValid() const = 0;
|
|
};
|
|
};
|
|
|
|
#endif //! IEFFECT_H
|