RioEngine  0.1
My first attempt to create a 3D WYSIWYG Game Engine
ik_ISoundEffectControl.h
Go to the documentation of this file.
1 // Copyright (C) 2002-2014 Nikolaus Gebhardt
2 // This file is part of the "irrKlang" library.
3 // For conditions of distribution and use, see copyright notice in irrKlang.h
4 
5 #ifndef __I_IRRKLANG_SOUND_EFFECT_CONTROL_H_INCLUDED__
6 #define __I_IRRKLANG_SOUND_EFFECT_CONTROL_H_INCLUDED__
7 
9 #include "ik_vec3d.h"
10 
11 
12 namespace irrklang
13 {
15 
27  {
28  public:
29 
31  virtual void disableAllEffects() = 0;
32 
34 
46  virtual bool enableChorusSoundEffect(ik_f32 fWetDryMix = 50,
47  ik_f32 fDepth = 10,
48  ik_f32 fFeedback = 25,
49  ik_f32 fFrequency = 1.1,
50  bool sinusWaveForm = true,
51  ik_f32 fDelay = 16,
52  ik_s32 lPhase = 90) = 0;
53 
55  virtual void disableChorusSoundEffect() = 0;
56 
58  virtual bool isChorusSoundEffectEnabled() = 0;
59 
61 
70  virtual bool enableCompressorSoundEffect( ik_f32 fGain = 0,
71  ik_f32 fAttack = 10,
72  ik_f32 fRelease = 200,
73  ik_f32 fThreshold = -20,
74  ik_f32 fRatio = 3,
75  ik_f32 fPredelay = 4) = 0;
76 
78  virtual void disableCompressorSoundEffect() = 0;
79 
81  virtual bool isCompressorSoundEffectEnabled() = 0;
82 
84 
93  virtual bool enableDistortionSoundEffect(ik_f32 fGain = -18,
94  ik_f32 fEdge = 15,
95  ik_f32 fPostEQCenterFrequency = 2400,
96  ik_f32 fPostEQBandwidth = 2400,
97  ik_f32 fPreLowpassCutoff = 8000) = 0;
98 
100  virtual void disableDistortionSoundEffect() = 0;
101 
103  virtual bool isDistortionSoundEffectEnabled() = 0;
104 
106 
114  virtual bool enableEchoSoundEffect(ik_f32 fWetDryMix = 50,
115  ik_f32 fFeedback = 50,
116  ik_f32 fLeftDelay = 500,
117  ik_f32 fRightDelay = 500,
118  ik_s32 lPanDelay = 0) = 0;
119 
121  virtual void disableEchoSoundEffect() = 0;
122 
124  virtual bool isEchoSoundEffectEnabled() = 0;
125 
127 
141  virtual bool enableFlangerSoundEffect(ik_f32 fWetDryMix = 50,
142  ik_f32 fDepth = 100,
143  ik_f32 fFeedback = -50,
144  ik_f32 fFrequency = 0.25f,
145  bool triangleWaveForm = true,
146  ik_f32 fDelay = 2,
147  ik_s32 lPhase = 0) = 0;
148 
150  virtual void disableFlangerSoundEffect() = 0;
151 
153  virtual bool isFlangerSoundEffectEnabled() = 0;
154 
156 
161  virtual bool enableGargleSoundEffect(ik_s32 rateHz = 20, bool sinusWaveForm = true) = 0;
162 
164  virtual void disableGargleSoundEffect() = 0;
165 
167  virtual bool isGargleSoundEffectEnabled() = 0;
168 
170 
185  virtual bool enableI3DL2ReverbSoundEffect(ik_s32 lRoom = -1000,
186  ik_s32 lRoomHF = -100,
187  ik_f32 flRoomRolloffFactor = 0,
188  ik_f32 flDecayTime = 1.49f,
189  ik_f32 flDecayHFRatio = 0.83f,
190  ik_s32 lReflections = -2602,
191  ik_f32 flReflectionsDelay = 0.007f,
192  ik_s32 lReverb = 200,
193  ik_f32 flReverbDelay = 0.011f,
194  ik_f32 flDiffusion = 100.0f,
195  ik_f32 flDensity = 100.0f,
196  ik_f32 flHFReference = 5000.0f ) = 0;
197 
199  virtual void disableI3DL2ReverbSoundEffect() = 0;
200 
202  virtual bool isI3DL2ReverbSoundEffectEnabled() = 0;
203 
205 
211  virtual bool enableParamEqSoundEffect(ik_f32 fCenter = 8000,
212  ik_f32 fBandwidth = 12,
213  ik_f32 fGain = 0) = 0;
214 
216  virtual void disableParamEqSoundEffect() = 0;
217 
219  virtual bool isParamEqSoundEffectEnabled() = 0;
220 
222 
228  virtual bool enableWavesReverbSoundEffect(ik_f32 fInGain = 0,
229  ik_f32 fReverbMix = 0,
230  ik_f32 fReverbTime = 1000,
231  ik_f32 fHighFreqRTRatio = 0.001f) = 0;
232 
234  virtual void disableWavesReverbSoundEffect() = 0;
235 
237  virtual bool isWavesReverbSoundEffectEnabled() = 0;
238  };
239 
240 } // end namespace irrklang
241 
242 
243 #endif
virtual bool isI3DL2ReverbSoundEffectEnabled()=0
returns if the sound effect is active on the sound
virtual bool enableDistortionSoundEffect(ik_f32 fGain=-18, ik_f32 fEdge=15, ik_f32 fPostEQCenterFrequency=2400, ik_f32 fPostEQBandwidth=2400, ik_f32 fPreLowpassCutoff=8000)=0
Enables the Distortion sound effect or adjusts its values.
virtual bool enableCompressorSoundEffect(ik_f32 fGain=0, ik_f32 fAttack=10, ik_f32 fRelease=200, ik_f32 fThreshold=-20, ik_f32 fRatio=3, ik_f32 fPredelay=4)=0
Enables the Compressor sound effect or adjusts its values.
virtual bool enableChorusSoundEffect(ik_f32 fWetDryMix=50, ik_f32 fDepth=10, ik_f32 fFeedback=25, ik_f32 fFrequency=1.1, bool sinusWaveForm=true, ik_f32 fDelay=16, ik_s32 lPhase=90)=0
Enables the chorus sound effect or adjusts its values.
virtual bool isCompressorSoundEffectEnabled()=0
returns if the sound effect is active on the sound
virtual bool isDistortionSoundEffectEnabled()=0
returns if the sound effect is active on the sound
virtual void disableWavesReverbSoundEffect()=0
removes the sound effect from the sound
virtual void disableFlangerSoundEffect()=0
removes the sound effect from the sound
signed int ik_s32
32 bit signed variable.
virtual bool enableWavesReverbSoundEffect(ik_f32 fInGain=0, ik_f32 fReverbMix=0, ik_f32 fReverbTime=1000, ik_f32 fHighFreqRTRatio=0.001f)=0
Enables the Waves Reverb sound effect or adjusts its values.
virtual void disableI3DL2ReverbSoundEffect()=0
removes the sound effect from the sound
virtual bool enableParamEqSoundEffect(ik_f32 fCenter=8000, ik_f32 fBandwidth=12, ik_f32 fGain=0)=0
Enables the ParamEq sound effect or adjusts its values.
virtual void disableEchoSoundEffect()=0
removes the sound effect from the sound
Everything in the irrKlang Sound Engine can be found in this namespace.
virtual bool enableGargleSoundEffect(ik_s32 rateHz=20, bool sinusWaveForm=true)=0
Enables the Gargle sound effect or adjusts its values.
virtual bool enableI3DL2ReverbSoundEffect(ik_s32 lRoom=-1000, ik_s32 lRoomHF=-100, ik_f32 flRoomRolloffFactor=0, ik_f32 flDecayTime=1.49f, ik_f32 flDecayHFRatio=0.83f, ik_s32 lReflections=-2602, ik_f32 flReflectionsDelay=0.007f, ik_s32 lReverb=200, ik_f32 flReverbDelay=0.011f, ik_f32 flDiffusion=100.0f, ik_f32 flDensity=100.0f, ik_f32 flHFReference=5000.0f)=0
Enables the Interactive 3D Level 2 reverb sound effect or adjusts its values.
virtual bool enableEchoSoundEffect(ik_f32 fWetDryMix=50, ik_f32 fFeedback=50, ik_f32 fLeftDelay=500, ik_f32 fRightDelay=500, ik_s32 lPanDelay=0)=0
Enables the Echo sound effect or adjusts its values.
virtual void disableParamEqSoundEffect()=0
removes the sound effect from the sound
virtual bool isChorusSoundEffectEnabled()=0
returns if the sound effect is active on the sound
virtual void disableDistortionSoundEffect()=0
removes the sound effect from the sound
virtual bool isEchoSoundEffectEnabled()=0
returns if the sound effect is active on the sound
virtual bool isGargleSoundEffectEnabled()=0
returns if the sound effect is active on the sound
virtual void disableGargleSoundEffect()=0
removes the sound effect from the sound
float ik_f32
32 bit floating point variable.
virtual void disableChorusSoundEffect()=0
removes the sound effect from the sound
virtual bool isFlangerSoundEffectEnabled()=0
returns if the sound effect is active on the sound
virtual bool enableFlangerSoundEffect(ik_f32 fWetDryMix=50, ik_f32 fDepth=100, ik_f32 fFeedback=-50, ik_f32 fFrequency=0.25f, bool triangleWaveForm=true, ik_f32 fDelay=2, ik_s32 lPhase=0)=0
Enables the Flanger sound effect or adjusts its values.
Interface to control the active sound effects (echo, reverb,...) of an ISound object, a playing sound.
virtual bool isParamEqSoundEffectEnabled()=0
returns if the sound effect is active on the sound
virtual void disableCompressorSoundEffect()=0
removes the sound effect from the sound
virtual bool isWavesReverbSoundEffectEnabled()=0
returns if the sound effect is active on the sound
virtual void disableAllEffects()=0
Disables all active sound effects.