From 48aa1e10d64d7c62cab856a0c5d7f9e140efbd6b Mon Sep 17 00:00:00 2001 From: Chris Robinson Date: Tue, 28 May 2013 10:57:38 -0700 Subject: Use the high-shelf filter in place of low-pass They effectively both work to lower (or raise) high frequencies. However, the high-shelf performs better when gain=1. --- Alc/ALu.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'Alc/ALu.c') diff --git a/Alc/ALu.c b/Alc/ALu.c index 57dfa30f..c05fb48c 100644 --- a/Alc/ALu.c +++ b/Alc/ALu.c @@ -455,7 +455,7 @@ ALvoid CalcNonAttnSourceParams(ALsource *ALSource, const ALCcontext *ALContext) ALfloat gain = maxf(0.001f, sqrtf(DryGainHF)); for(c = 0;c < num_channels;c++) ALfilterState_setParams(&ALSource->Params.Direct.Filter[c], - ALfilterType_LowPass, gain, + ALfilterType_HighShelf, gain, (ALfloat)LOWPASSFREQREF/Frequency, 0.0f); } for(i = 0;i < NumSends;i++) @@ -463,7 +463,7 @@ ALvoid CalcNonAttnSourceParams(ALsource *ALSource, const ALCcontext *ALContext) ALfloat gain = maxf(0.001f, sqrtf(WetGainHF[i])); for(c = 0;c < num_channels;c++) ALfilterState_setParams(&ALSource->Params.Send[i].Filter[c], - ALfilterType_LowPass, gain, + ALfilterType_HighShelf, gain, (ALfloat)LOWPASSFREQREF/Frequency, 0.0f); } } @@ -904,14 +904,14 @@ ALvoid CalcSourceParams(ALsource *ALSource, const ALCcontext *ALContext) { ALfloat gain = maxf(0.001f, sqrtf(DryGainHF)); ALfilterState_setParams(&ALSource->Params.Direct.Filter[0], - ALfilterType_LowPass, gain, + ALfilterType_HighShelf, gain, (ALfloat)LOWPASSFREQREF/Frequency, 0.0f); } for(i = 0;i < NumSends;i++) { ALfloat gain = maxf(0.001f, sqrtf(WetGainHF[i])); ALfilterState_setParams(&ALSource->Params.Send[i].Filter[0], - ALfilterType_LowPass, gain, + ALfilterType_HighShelf, gain, (ALfloat)LOWPASSFREQREF/Frequency, 0.0f); } } -- cgit v1.2.3