aboutsummaryrefslogtreecommitdiffstats
path: root/Alc
diff options
context:
space:
mode:
Diffstat (limited to 'Alc')
-rw-r--r--Alc/ALu.c14
-rw-r--r--Alc/mixer.c4
2 files changed, 8 insertions, 10 deletions
diff --git a/Alc/ALu.c b/Alc/ALu.c
index 28dfd7c1..7775d160 100644
--- a/Alc/ALu.c
+++ b/Alc/ALu.c
@@ -954,9 +954,9 @@ static void CalcPanningAndFilters(ALvoice *voice, const ALfloat Distance, const
ALfloat gainHF = maxf(DryGainHF, 0.001f); /* Limit -60dB */
ALfloat gainLF = maxf(DryGainLF, 0.001f);
- voice->Direct.Params[0].FilterType = AF_None;
- if(gainHF != 1.0f) voice->Direct.Params[0].FilterType |= AF_LowPass;
- if(gainLF != 1.0f) voice->Direct.Params[0].FilterType |= AF_HighPass;
+ voice->Direct.FilterType = AF_None;
+ if(gainHF != 1.0f) voice->Direct.FilterType |= AF_LowPass;
+ if(gainLF != 1.0f) voice->Direct.FilterType |= AF_HighPass;
ALfilterState_setParams(
&voice->Direct.Params[0].LowPass, ALfilterType_HighShelf,
gainHF, hfScale, calc_rcpQ_from_slope(gainHF, 1.0f)
@@ -967,7 +967,6 @@ static void CalcPanningAndFilters(ALvoice *voice, const ALfloat Distance, const
);
for(c = 1;c < num_channels;c++)
{
- voice->Direct.Params[c].FilterType = voice->Direct.Params[0].FilterType;
ALfilterState_copyParams(&voice->Direct.Params[c].LowPass,
&voice->Direct.Params[0].LowPass);
ALfilterState_copyParams(&voice->Direct.Params[c].HighPass,
@@ -981,9 +980,9 @@ static void CalcPanningAndFilters(ALvoice *voice, const ALfloat Distance, const
ALfloat gainHF = maxf(WetGainHF[i], 0.001f);
ALfloat gainLF = maxf(WetGainLF[i], 0.001f);
- voice->Send[i].Params[0].FilterType = AF_None;
- if(gainHF != 1.0f) voice->Send[i].Params[0].FilterType |= AF_LowPass;
- if(gainLF != 1.0f) voice->Send[i].Params[0].FilterType |= AF_HighPass;
+ voice->Send[i].FilterType = AF_None;
+ if(gainHF != 1.0f) voice->Send[i].FilterType |= AF_LowPass;
+ if(gainLF != 1.0f) voice->Send[i].FilterType |= AF_HighPass;
ALfilterState_setParams(
&voice->Send[i].Params[0].LowPass, ALfilterType_HighShelf,
gainHF, hfScale, calc_rcpQ_from_slope(gainHF, 1.0f)
@@ -994,7 +993,6 @@ static void CalcPanningAndFilters(ALvoice *voice, const ALfloat Distance, const
);
for(c = 1;c < num_channels;c++)
{
- voice->Send[i].Params[c].FilterType = voice->Send[i].Params[0].FilterType;
ALfilterState_copyParams(&voice->Send[i].Params[c].LowPass,
&voice->Send[i].Params[0].LowPass);
ALfilterState_copyParams(&voice->Send[i].Params[c].HighPass,
diff --git a/Alc/mixer.c b/Alc/mixer.c
index 71714c70..56d65207 100644
--- a/Alc/mixer.c
+++ b/Alc/mixer.c
@@ -457,7 +457,7 @@ ALboolean MixSource(ALvoice *voice, ALsource *Source, ALCdevice *Device, ALsizei
samples = DoFilters(
&parms->LowPass, &parms->HighPass, Device->FilteredData,
- ResampledData, DstBufferSize, parms->FilterType
+ ResampledData, DstBufferSize, voice->Direct.FilterType
);
if(!(voice->Flags&VOICE_HAS_HRTF))
{
@@ -598,7 +598,7 @@ ALboolean MixSource(ALvoice *voice, ALsource *Source, ALCdevice *Device, ALsizei
samples = DoFilters(
&parms->LowPass, &parms->HighPass, Device->FilteredData,
- ResampledData, DstBufferSize, parms->FilterType
+ ResampledData, DstBufferSize, voice->Send[send].FilterType
);
if(!Counter)