( // LFO SynthDef with multiple waveform options SynthDef(\lfoEffect, { |out=0, freq=1, min=0, max=1, waveform=0, target=0| var lfo; // Select waveform based on parameter lfo = Select.kr(waveform, [ SinOsc.kr(freq), // Sine wave (waveform=0) LFTri.kr(freq), // Triangle wave (waveform=1) LFSaw.kr(freq, 0, -1), // Decreasing sawtooth (waveform=2) LFPulse.kr(freq, 0, 0.5) // Square wave (waveform=3) ]); // Scale to range lfo = lfo.range(min, max); // Output to control bus Out.kr(out, lfo); }).add; "Enhanced LFO effects loaded".postln; )