aboutsummaryrefslogtreecommitdiffstats
path: root/Alc/effects
diff options
context:
space:
mode:
authorChris Robinson <[email protected]>2018-03-04 22:26:30 -0800
committerChris Robinson <[email protected]>2018-03-08 17:48:21 -0800
commit22d3e3b5639ac1de8e35a9be1dd82745ca3ddc23 (patch)
tree61f2c054094708150c77fbae2c075aad24d5b217 /Alc/effects
parent4e613c5d4b83e40d22acdf816cd41d911e6052aa (diff)
Simplify modulator effect index updating
Diffstat (limited to 'Alc/effects')
-rw-r--r--Alc/effects/modulator.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/Alc/effects/modulator.c b/Alc/effects/modulator.c
index 74a0d0c5..a7c4ce36 100644
--- a/Alc/effects/modulator.c
+++ b/Alc/effects/modulator.c
@@ -135,7 +135,7 @@ static ALvoid ALmodulatorState_update(ALmodulatorState *state, const ALCcontext
state->step = fastf2i(props->Modulator.Frequency*WAVEFORM_FRACONE /
device->Frequency);
- if(state->step == 0) state->step = 1;
+ state->step = clampi(state->step, 1, WAVEFORM_FRACONE-1);
/* Custom filter coeffs, which match the old version instead of a low-shelf. */
cw = cosf(F_TAU * props->Modulator.HighPassCutoff / device->Frequency);
@@ -177,8 +177,7 @@ static ALvoid ALmodulatorState_process(ALmodulatorState *state, ALsizei SamplesT
state->Chans[i].TargetGains, SamplesToDo-base, base, td);
}
- for(i = 0;i < td;i++)
- index += step;
+ index += (step*td) & WAVEFORM_FRACMASK;
index &= WAVEFORM_FRACMASK;
base += td;
}