- Main Page
- Namespaces
- Classes
- Files

- File List
- File Members

# ik_ISoundEffectControl.h

Go to the documentation of this file.

    00001 // Copyright (C) 2002-2018 Nikolaus Gebhardt
    00002 // This file is part of the "irrKlang" library.
    00003 // For conditions of distribution and use, see copyright notice in irrKlang.h
    00004
    00005 #ifndef __I_IRRKLANG_SOUND_EFFECT_CONTROL_H_INCLUDED__
    00006 #define __I_IRRKLANG_SOUND_EFFECT_CONTROL_H_INCLUDED__
    00007
    00008 #include "ik_IVirtualRefCounted.h"
    00009 #include "ik_vec3d.h"
    00010
    00011
    00012 namespace irrklang
    00013 {
    00015
    00026         class ISoundEffectControl
    00027         {
    00028         public:
    00029
    00031                 virtual void disableAllEffects() = 0;
    00032
    00034
    00046                 virtual bool enableChorusSoundEffect(ik_f32 fWetDryMix = 50,
    00047                                                                                         ik_f32 fDepth = 10,
    00048                                                                                         ik_f32 fFeedback = 25,
    00049                                                                                         ik_f32 fFrequency = 1.1,
    00050                                                                                         bool sinusWaveForm = true,
    00051                                                                                         ik_f32 fDelay = 16,
    00052                                                                                         ik_s32 lPhase = 90) = 0;
    00053
    00055                 virtual void disableChorusSoundEffect() = 0;
    00056
    00058                 virtual bool isChorusSoundEffectEnabled() = 0;
    00059
    00061
    00070                 virtual bool enableCompressorSoundEffect( ik_f32 fGain = 0,
    00071                                                                                                 ik_f32 fAttack = 10,
    00072                                                                                                 ik_f32 fRelease = 200,
    00073                                                                                                 ik_f32 fThreshold = -20,
    00074                                                                                                 ik_f32 fRatio = 3,
    00075                                                                                                 ik_f32 fPredelay = 4) = 0;
    00076
    00078                 virtual void disableCompressorSoundEffect() = 0;
    00079
    00081                 virtual bool isCompressorSoundEffectEnabled() = 0;
    00082
    00084
    00093                 virtual bool enableDistortionSoundEffect(ik_f32 fGain = -18,
    00094                                                                                                 ik_f32 fEdge = 15,
    00095                                                                                                 ik_f32 fPostEQCenterFrequency = 2400,
    00096                                                                                                 ik_f32 fPostEQBandwidth = 2400,
    00097                                                                                                 ik_f32 fPreLowpassCutoff = 8000) = 0;
    00098
    00100                 virtual void disableDistortionSoundEffect() = 0;
    00101
    00103                 virtual bool isDistortionSoundEffectEnabled() = 0;
    00104
    00106
    00114                 virtual bool enableEchoSoundEffect(ik_f32 fWetDryMix = 50,
    00115                                                                                         ik_f32 fFeedback = 50,
    00116                                                                                         ik_f32 fLeftDelay = 500,
    00117                                                                                         ik_f32 fRightDelay = 500,
    00118                                                                                         ik_s32 lPanDelay = 0) = 0;
    00119
    00121                 virtual void disableEchoSoundEffect() = 0;
    00122
    00124                 virtual bool isEchoSoundEffectEnabled() = 0;
    00125
    00127
    00141                 virtual bool enableFlangerSoundEffect(ik_f32 fWetDryMix = 50,
    00142                                                                                         ik_f32 fDepth = 100,
    00143                                                                                         ik_f32 fFeedback = -50,
    00144                                                                                         ik_f32 fFrequency = 0.25f,
    00145                                                                                         bool triangleWaveForm = true,
    00146                                                                                         ik_f32 fDelay = 2,
    00147                                                                                         ik_s32 lPhase = 0) = 0;
    00148
    00150                 virtual void disableFlangerSoundEffect() = 0;
    00151
    00153                 virtual bool isFlangerSoundEffectEnabled() = 0;
    00154
    00156
    00161                 virtual bool enableGargleSoundEffect(ik_s32 rateHz = 20, bool sinusWaveForm = true) = 0;
    00162
    00164                 virtual void disableGargleSoundEffect() = 0;
    00165
    00167                 virtual bool isGargleSoundEffectEnabled() = 0;
    00168
    00170
    00185                 virtual bool enableI3DL2ReverbSoundEffect(ik_s32 lRoom = -1000,
    00186                                                                                                 ik_s32 lRoomHF = -100,
    00187                                                                                                 ik_f32 flRoomRolloffFactor = 0,
    00188                                                                                                 ik_f32 flDecayTime = 1.49f,
    00189                                                                                                 ik_f32 flDecayHFRatio = 0.83f,
    00190                                                                                                 ik_s32 lReflections = -2602,
    00191                                                                                                 ik_f32 flReflectionsDelay = 0.007f,
    00192                                                                                                 ik_s32 lReverb = 200,
    00193                                                                                                 ik_f32 flReverbDelay = 0.011f,
    00194                                                                                                 ik_f32 flDiffusion = 100.0f,
    00195                                                                                                 ik_f32 flDensity = 100.0f,
    00196                                                                                                 ik_f32 flHFReference = 5000.0f ) = 0;
    00197
    00199                 virtual void disableI3DL2ReverbSoundEffect() = 0;
    00200
    00202                 virtual bool isI3DL2ReverbSoundEffectEnabled() = 0;
    00203
    00205
    00211                 virtual bool enableParamEqSoundEffect(ik_f32 fCenter = 8000,
    00212                                                                                         ik_f32 fBandwidth = 12,
    00213                                                                                         ik_f32 fGain = 0) = 0;
    00214
    00216                 virtual void disableParamEqSoundEffect() = 0;
    00217
    00219                 virtual bool isParamEqSoundEffectEnabled() = 0;
    00220
    00222
    00228                 virtual bool enableWavesReverbSoundEffect(ik_f32 fInGain = 0,
    00229                                                                                         ik_f32 fReverbMix = 0,
    00230                                                                                         ik_f32 fReverbTime = 1000,
    00231                                                                                         ik_f32 fHighFreqRTRatio = 0.001f) = 0;
    00232
    00234                 virtual void disableWavesReverbSoundEffect() = 0;
    00235
    00237                 virtual bool isWavesReverbSoundEffectEnabled() = 0;
    00238         };
    00239
    00240 } // end namespace irrklang
    00241
    00242
    00243 #endif

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines

| The irrKlang Engine Documentation © 2003-2018 by Nikolaus Gebhardt. Generated by Doxygen (1.6.1)