.pause .resume uGens

As I understand Ugens like Line, Phasor, SinOsc etc. can only be paused with Synth. newPaused, but it is not possible to change parameters and set the line to run backward when resumed from the value it was paused.

Task, and Routine is pausable, but then I need to create everything from scrach, kind of line with args like start/end position, time, reset position and so on.

  1. If I’m wrong with respect to uGens, can you please explain me how to do that

  2. If language side is the only option I would appreciate any help to create Line ugen like behavior with Task that have start/end position args.

this works for me

a={SinOsc.ar(Phasor.kr(1,\rate.kr(0.0001),0.5,1)*\freq.kr(400),0.1)}.play
a.run(false);
a.set(\rate,-0.0001);
a.run(true);

Ah, I see \rate arg can be changed dynamically. BTW, do you know how to tell phasor stop automatically at start, end positions so its function as a line? With “if” condition it would be easy, but it doesn’t work on server side.

Phasor by definition is a loop.

Line and XLine are one-shot only. I use EnvGen when I need a retriggerable line with dynamic endpoints.

hjh

@semiquaver @jamshark70 :+1: