zenilib
0.5.3.0
|
#include "config.h"
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include "alMain.h"
#include "alu.h"
#include "alAuxEffectSlot.h"
#include "alEffect.h"
#include "alFilter.h"
#include "alError.h"
Go to the source code of this file.
Typedefs | |
typedef struct ALverbState | ALverbState |
typedef struct DelayLine | DelayLine |
Variables | |
static const ALfloat | ALLPASS_LINE_LENGTH [4] |
static const ALfloat | DECO_FRACTION = 0.15f |
static const ALfloat | DECO_MULTIPLIER = 2.0f |
static const ALfloat | EARLY_LINE_LENGTH [4] |
static const ALfloat | ECHO_ALLPASS_LENGTH = 0.0133f |
ALboolean | EmulateEAXReverb = AL_FALSE |
static const ALfloat | LATE_LINE_LENGTH [4] |
static const ALfloat | LATE_LINE_MULTIPLIER = 4.0f |
static const ALfloat | MODULATION_DEPTH_COEFF = 0.1f |
static const ALfloat | MODULATION_FILTER_COEFF = 0.048f |
static const ALfloat | MODULATION_FILTER_CONST = 100000.0f |
ALfloat | ReverbBoost = 1.0f |
typedef struct ALverbState ALverbState |
typedef struct DelayLine DelayLine |
Reverb for the OpenAL cross platform audio library Copyright (C) 2008-2009 by Christopher Fitzgerald. This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details.
You should have received a copy of the GNU Library General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. Or go to http://www.gnu.org/copyleft/lgpl.html
|
static |
Definition at line 637 of file alcReverb.c.
References AL_EAXREVERB_MAX_ECHO_TIME, AL_EAXREVERB_MAX_LATE_REVERB_DELAY, AL_EAXREVERB_MAX_MODULATION_TIME, AL_EAXREVERB_MAX_REFLECTIONS_DELAY, AL_FALSE, AL_TRUE, ALLPASS_LINE_LENGTH, CalcLineLength(), DECO_FRACTION, DECO_MULTIPLIER, EARLY_LINE_LENGTH, ECHO_ALLPASS_LENGTH, LATE_LINE_LENGTH, LATE_LINE_MULTIPLIER, MODULATION_DEPTH_COEFF, NULL, RealizeLineOffset(), realloc, and TRACE.
Referenced by ReverbDeviceUpdate().
|
static |
Definition at line 242 of file alcReverb.c.
References DelayLineIn(), and DelayLineOut().
Referenced by EAXEcho(), and LateAllPassInOut().
|
static |
Definition at line 236 of file alcReverb.c.
Referenced by EarlyDelayLineOut(), EAXEcho(), and LateDelayLineOut().
|
static |
Definition at line 838 of file alcReverb.c.
References CalcDecayCoeff(), lpCoeffCalc(), and minf().
Referenced by UpdateEchoLine(), and UpdateLateLines().
Definition at line 763 of file alcReverb.c.
Referenced by CalcDampingCoeff(), UpdateEarlyLines(), UpdateEchoLine(), and UpdateLateLines().
Definition at line 770 of file alcReverb.c.
Referenced by CalcLimitedHfRatio().
Definition at line 784 of file alcReverb.c.
Referenced by UpdateEchoLine(), and UpdateLateLines().
|
static |
Definition at line 819 of file alcReverb.c.
References CalcDecayLength(), clampf(), and SPEEDOFSOUNDMETRESPERSEC.
Referenced by ReverbUpdate().
|
static |
Definition at line 619 of file alcReverb.c.
References fastf2u(), and NextPowerOf2().
Referenced by AllocLines().
Definition at line 803 of file alcReverb.c.
Referenced by ReverbUpdate().
Definition at line 230 of file alcReverb.c.
Referenced by AllpassInOut(), EarlyReflection(), EAXEcho(), EAXModulation(), EAXVerbPass(), LateReverb(), and VerbPass().
Definition at line 225 of file alcReverb.c.
Referenced by AllpassInOut(), EAXModulation(), EAXVerbPass(), and VerbPass().
|
static |
Definition at line 295 of file alcReverb.c.
References AttenuatedDelayLineOut().
Referenced by EarlyReflection().
|
static |
Definition at line 304 of file alcReverb.c.
References d, DelayLineIn(), and EarlyDelayLineOut().
Referenced by EAXVerbPass(), and VerbPass().
|
static |
Definition at line 446 of file alcReverb.c.
References AllpassInOut(), AttenuatedDelayLineOut(), DelayLineIn(), and lerp().
Referenced by EAXVerbPass().
|
static |
Definition at line 258 of file alcReverb.c.
References DelayLineIn(), DelayLineOut(), F_PI, fastf2u(), and lerp().
Referenced by EAXVerbPass().
|
static |
Definition at line 519 of file alcReverb.c.
References DelayLineIn(), DelayLineOut(), EarlyReflection(), EAXEcho(), EAXModulation(), LateReverb(), and lpFilter2P().
Referenced by EAXVerbProcess().
|
static |
Definition at line 581 of file alcReverb.c.
References EAXVerbPass(), and MaxChannels.
Referenced by ReverbUpdate().
|
static |
|
static |
Definition at line 358 of file alcReverb.c.
References AttenuatedDelayLineOut().
Referenced by LateReverb().
|
static |
|
static |
Definition at line 375 of file alcReverb.c.
References d, DelayLineIn(), LateAllPassInOut(), LateDelayLineOut(), and LateLowPassInOut().
Referenced by EAXVerbPass(), and VerbPass().
Definition at line 613 of file alcReverb.c.
Referenced by AllocLines().
ALeffectState* ReverbCreate | ( | void | ) |
Definition at line 1188 of file alcReverb.c.
References malloc, MaxChannels, NULL, ReverbDestroy(), ReverbDeviceUpdate(), ReverbUpdate(), and VerbProcess().
Referenced by InitializeEffect().
|
static |
Definition at line 1175 of file alcReverb.c.
Referenced by ReverbCreate().
|
static |
Definition at line 728 of file alcReverb.c.
References AL_FALSE, AL_TRUE, AllocLines(), ALLPASS_LINE_LENGTH, EARLY_LINE_LENGTH, ECHO_ALLPASS_LENGTH, fastf2u(), ALCdevice_struct::Frequency, MODULATION_FILTER_COEFF, and MODULATION_FILTER_CONST.
Referenced by ReverbCreate().
|
static |
Definition at line 1080 of file alcReverb.c.
References ALeffect::AirAbsorptionGainHF, AL_EFFECT_EAXREVERB, AL_EFFECT_REVERB, AL_FALSE, AL_TRUE, CalcI3DL2HFreq(), CalcLimitedHfRatio(), CalcMatrixCoeffs(), ALeffect::DecayHFLimit, ALeffect::DecayHFRatio, ALeffect::DecayTime, ALeffect::Density, ALeffect::Diffusion, EAXVerbProcess(), ALeffect::EchoDepth, ALeffect::EchoTime, ALeffectslot::effect, EmulateEAXReverb, ALCdevice_struct::Frequency, ALeffectslot::Gain, ALeffect::Gain, ALeffect::GainHF, ALeffect::HFReference, ALeffect::LateReverbDelay, ALeffect::LateReverbGain, ALeffect::LateReverbPan, LOWPASSFREQREF, lpCoeffCalc(), MaxChannels, ALeffect::ModulationDepth, ALeffect::ModulationTime, ALCdevice_struct::NumChan, ALeffect::ReflectionsDelay, ALeffect::ReflectionsGain, ALeffect::ReflectionsPan, ALeffect::Reverb, ReverbBoost, ALCdevice_struct::Speaker2Chan, ALeffect::type, Update3DPanning(), UpdateDecorrelator(), UpdateDelayLine(), UpdateEarlyLines(), UpdateEchoLine(), UpdateLateLines(), UpdateModulator(), and VerbProcess().
Referenced by ReverbCreate().
|
static |
Definition at line 1031 of file alcReverb.c.
References ComputeAngleGains(), F_PI, lerp(), MaxChannels, minf(), ALCdevice_struct::NumChan, and ReverbBoost.
Referenced by ReverbUpdate().
|
static |
Definition at line 920 of file alcReverb.c.
References DECO_FRACTION, DECO_MULTIPLIER, fastf2u(), LATE_LINE_LENGTH, and LATE_LINE_MULTIPLIER.
Referenced by ReverbUpdate().
|
static |
|
static |
Definition at line 903 of file alcReverb.c.
References CalcDecayCoeff(), and EARLY_LINE_LENGTH.
Referenced by ReverbUpdate().
|
static |
Definition at line 999 of file alcReverb.c.
References CalcDampingCoeff(), CalcDecayCoeff(), CalcDensityGain(), ECHO_ALLPASS_LENGTH, and fastf2u().
Referenced by ReverbUpdate().
|
static |
Definition at line 941 of file alcReverb.c.
References ALLPASS_LINE_LENGTH, CalcDampingCoeff(), CalcDecayCoeff(), CalcDensityGain(), fastf2u(), LATE_LINE_LENGTH, and LATE_LINE_MULTIPLIER.
Referenced by ReverbUpdate().
|
static |
Definition at line 865 of file alcReverb.c.
References fastf2u(), maxu(), and MODULATION_DEPTH_COEFF.
Referenced by ReverbUpdate().
|
static |
Definition at line 480 of file alcReverb.c.
References DelayLineIn(), DelayLineOut(), EarlyReflection(), LateReverb(), and lpFilter2P().
Referenced by VerbProcess().
|
static |
Definition at line 558 of file alcReverb.c.
References MaxChannels, and VerbPass().
Referenced by ReverbCreate(), and ReverbUpdate().
Definition at line 208 of file alcReverb.c.
Referenced by AllocLines(), ReverbDeviceUpdate(), and UpdateLateLines().
Definition at line 196 of file alcReverb.c.
Referenced by AllocLines(), and UpdateDecorrelator().
Definition at line 197 of file alcReverb.c.
Referenced by AllocLines(), and UpdateDecorrelator().
Definition at line 202 of file alcReverb.c.
Referenced by AllocLines(), ReverbDeviceUpdate(), and UpdateEarlyLines().
Definition at line 191 of file alcReverb.c.
Referenced by AllocLines(), ReverbDeviceUpdate(), and UpdateEchoLine().
Definition at line 171 of file alcReverb.c.
Referenced by alc_initconfig(), and ReverbUpdate().
Definition at line 214 of file alcReverb.c.
Referenced by AllocLines(), UpdateDecorrelator(), and UpdateLateLines().
Definition at line 221 of file alcReverb.c.
Referenced by AllocLines(), UpdateDecorrelator(), and UpdateLateLines().
Definition at line 179 of file alcReverb.c.
Referenced by AllocLines(), and UpdateModulator().
Definition at line 186 of file alcReverb.c.
Referenced by ReverbDeviceUpdate().
Definition at line 187 of file alcReverb.c.
Referenced by ReverbDeviceUpdate().
ALfloat ReverbBoost = 1.0f |
Definition at line 168 of file alcReverb.c.
Referenced by alc_initconfig(), ReverbUpdate(), and Update3DPanning().