Lightningbeam/daw-backend/src/effects
Skyler Lehmkuhl 77eb2c2d33 Fix oscillator/synth phase wraparound drift
Replace conditional-subtraction phase wrapping with a single stable wrap:
- OscillatorNode: `(phase + freq_mod/sr).rem_euclid(1.0)` — also wraps correctly
  when FM drives freq_mod negative (the old `if >= 1.0` wouldn't).
- SynthVoice: `(phase + frequency/sr).fract()`.
Repeated `if phase >= 1.0 { phase -= 1.0 }` accumulates f32 rounding error over
long-held notes, drifting the timbre.
2026-07-02 01:15:45 -04:00
..
effect_trait.rs midi import in daw backend 2025-10-18 21:46:40 -04:00
eq.rs midi import in daw backend 2025-10-18 21:46:40 -04:00
gain.rs midi import in daw backend 2025-10-18 21:46:40 -04:00
mod.rs midi import in daw backend 2025-10-18 21:46:40 -04:00
pan.rs midi import in daw backend 2025-10-18 21:46:40 -04:00
synth.rs Fix oscillator/synth phase wraparound drift 2026-07-02 01:15:45 -04:00