cAudio 2.3.0
3d Audio Engine
Loading...
Searching...
No Matches
IEffect.h
1// Copyright (c) 2008-2011 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones, Murat (wolfmanfx) Sari
2// This file is part of the "cAudio Engine"
3// For conditions of distribution and use, see copyright notice in cAudio.h
4
5#pragma once
6
7#include "IRefCounted.h"
8#include "IFilter.h"
9#include "IEffectParameters.h"
10#include "cAudioDefines.h"
11
12#if CAUDIO_EFX_ENABLED == 1
13
14namespace cAudio
15{
17 enum EffectTypes
18 {
19 EET_NULL,
20 EET_EAX_REVERB,
21 EET_REVERB,
22 EET_CHORUS,
23 EET_DISTORTION,
24 EET_ECHO,
25 EET_FLANGER,
26 EET_FREQUENCY_SHIFTER,
27 EET_VOCAL_MORPHER,
28 EET_PITCH_SHIFTER,
29 EET_RING_MODULATOR,
30 EET_AUTOWAH,
31 EET_COMPRESSOR,
32 EET_EQUALIZER,
33 EET_COUNT
34 };
35
37 class IEffect : public IRefCounted
38 {
39 public:
40 IEffect() { }
41 virtual ~IEffect() { }
42
44 virtual const EffectTypes& getType() const = 0;
45
47
49 virtual void setType(const EffectTypes& type) = 0;
50
52 virtual const sEAXReverbParameters& getEAXReverbParameters() const = 0;
53
55
57 virtual void setEAXReverbParameters(const sEAXReverbParameters& param) = 0;
58
60 virtual const sReverbParameters& getReverbParameters() const = 0;
61
63
65 virtual void setReverbParameters(const sReverbParameters& param) = 0;
66
68 virtual const sChorusParameters& getChorusParameters() const = 0;
69
71
73 virtual void setChorusParameters(const sChorusParameters& param) = 0;
74
76 virtual const sDistortionParameters& getDistortionParameters() const = 0;
77
79
81 virtual void setDistortionParameters(const sDistortionParameters& param) = 0;
82
84 virtual const sEchoParameters& getEchoParameters() const = 0;
85
87
89 virtual void setEchoParameters(const sEchoParameters& param) = 0;
90
92 virtual const sFlangerParameters& getFlangerParameters() const = 0;
93
95
97 virtual void setFlangerParameters(const sFlangerParameters& param) = 0;
98
100 virtual const sFrequencyShiftParameters& getFrequencyShiftParameters() const = 0;
101
103
105 virtual void setFrequencyShiftParameters(const sFrequencyShiftParameters& param) = 0;
106
108 virtual const sVocalMorpherParameters& getVocalMorpherParameters() const = 0;
109
111
113 virtual void setVocalMorpherParameters(const sVocalMorpherParameters& param) = 0;
114
116 virtual const sPitchShifterParameters& getPitchShifterParameters() const = 0;
117
119
121 virtual void setPitchShifterParameters(const sPitchShifterParameters& param) = 0;
122
124 virtual const sRingModulatorParameters& getRingModulatorParameters() const = 0;
125
127
129 virtual void setRingModulatorParameters(const sRingModulatorParameters& param) = 0;
130
132 virtual const sAutowahParameters& getAutowahParameters() const = 0;
133
135
137 virtual void setAutowahParameters(const sAutowahParameters& param) = 0;
138
140 virtual const sCompressorParameters& getCompressorParameters() const = 0;
141
143
145 virtual void setCompressorParameters(const sCompressorParameters& param) = 0;
146
148 virtual const sEqualizerParameters& getEqualizerParameters() const = 0;
149
151
153 virtual void setEqualizerParameters(const sEqualizerParameters& param) = 0;
154
156
158 virtual float getMasterVolume() const = 0;
159
161
163 virtual void setMasterVolume(const float& volume) = 0;
164
166 virtual bool isIgnoringAttenuation() const = 0;
167
169
171 virtual void ignoreAttenuation(const bool& ignore) = 0;
172
174 virtual IFilter* getFilter() const = 0;
175
177
179 virtual void attachFilter(IFilter* filter) = 0;
180
182 virtual void removeFilter() = 0;
183
185 virtual unsigned int getLastUpdated() const = 0;
186
188 virtual bool isValid() const = 0;
189 };
190};
191
192#endif
Main namespace for the entire cAudio library.
Definition: cAudioCapture.h:16