diff --git a/MacOSX/QuakeSpasm.xcodeproj/project.xcworkspace/xcuserdata/ericwa.xcuserdatad/UserInterfaceState.xcuserstate b/MacOSX/QuakeSpasm.xcodeproj/project.xcworkspace/xcuserdata/ericwa.xcuserdatad/UserInterfaceState.xcuserstate index 44cf0ab3..6fff5e96 100644 Binary files a/MacOSX/QuakeSpasm.xcodeproj/project.xcworkspace/xcuserdata/ericwa.xcuserdatad/UserInterfaceState.xcuserstate and b/MacOSX/QuakeSpasm.xcodeproj/project.xcworkspace/xcuserdata/ericwa.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/Quake/snd_mix.c b/Quake/snd_mix.c index 4bdb212c..79aeea35 100644 --- a/Quake/snd_mix.c +++ b/Quake/snd_mix.c @@ -213,10 +213,8 @@ static void S_UpdateFilter(filter_t *filter, int M, float f_c) filter->f_c = f_c; filter->parity = 0; - if ((M + 1) % 16 == 0) - filter->kernelsize = (M + 1); - else - filter->kernelsize = (M + 1) + 16 - ((M + 1) % 16); + // M + 1 rounded up to the next multiple of 16 + filter->kernelsize = (M + 1) + 16 - ((M + 1) % 16); filter->memory = calloc(filter->kernelsize, sizeof(float)); filter->kernel = calloc(filter->kernelsize, sizeof(float)); @@ -230,7 +228,7 @@ static void S_ApplyFilter(filter_t *filter, int *data, int stride, int count) float *input; const int kernelsize = filter->kernelsize; const float *kernel = filter->kernel; - int parity = 0; + int parity; input = malloc(sizeof(float) * (filter->kernelsize + count)); @@ -250,25 +248,22 @@ static void S_ApplyFilter(filter_t *filter, int *data, int stride, int count) // apply the filter + parity = filter->parity; + for (i=0; iparity = parity; @@ -290,15 +285,19 @@ static void S_LowpassFilter(int *data, int stride, int count, int M; float bw; - if (snd_filterquality.value == 0) + switch ((int)snd_filterquality.value) { - M = 126; - bw = 0.90; - } - else - { - M = 222; - bw = 0.96; + case 1: + M = 126; bw = 0.900; break; + case 2: + M = 150; bw = 0.915; break; + case 3: + M = 174; bw = 0.930; break; + case 4: + M = 198; bw = 0.945; break; + case 5: + default: + M = 222; bw = 0.960; break; } float f_c = (bw * 11025 / 2.0) / 44100.0;