Yes, the two cases behave surprisingly differently (to me) in the
time-varying case. Yours is more robust, so I've adopted it as
follows:
// --- lf_sawpos ---
// simple sawtooth waveform oscillator between 0 and 1
lf_sawpos(freq) = frac ~ +(freq/ml.SR) with { // Bart Brouns version
frac(x) = x
Thanks!
On 2 jun. 2016, at 03:00, Julius Smith wrote:
> Yes, the two cases behave surprisingly differently (to me) in the
> time-varying case. Yours is more robust, so I've adopted it as
> follows:
>
> // --- lf_sawpos ---
> // simple sawtooth waveform oscillator between 0 and 1
> lf_sawpos(fr