From f3c898fe09662b1348118ce3706aa853454c0a39 Mon Sep 17 00:00:00 2001 From: KubaPro010 Date: Sat, 22 Mar 2025 21:01:46 +0100 Subject: [PATCH] update oscillator --- lib/oscillator.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/lib/oscillator.c b/lib/oscillator.c index cffc1f5..f90763c 100644 --- a/lib/oscillator.c +++ b/lib/oscillator.c @@ -22,11 +22,16 @@ float get_oscillator_cos_sample(Oscillator *osc) { return sample; } -float get_oscillator_sin_multiplier_ni(Oscillator *osc, float multiplier) { // ni = No Increment - return sinf(osc->phase*multiplier); +float get_oscillator_sin_multiplier_ni(Oscillator *osc, float multiplier) { + float temp_phase_increment = osc->phase_increment * multiplier; + float temp_phase = fmodf(osc->phase + temp_phase_increment, M_2PI); + return sinf(temp_phase); } + float get_oscillator_cos_multiplier_ni(Oscillator *osc, float multiplier) { - return cosf(osc->phase*multiplier); + float temp_phase_increment = osc->phase_increment * multiplier; + float temp_phase = fmodf(osc->phase + temp_phase_increment, M_2PI); + return cosf(temp_phase); } void advance_oscillator(Oscillator *osc) {