LastValue
LastValue.ar(in, diff)
LastValue.kr(in, diff)
output the last value before the input changed more than a threshhold
in input
diff difference threshhold
d = { arg freq=440; SinOsc.ar(LastValue.ar(freq, 20), 0, 0.2) }.play;
d.set(\freq, 400);
d.set(\freq, 200);
d.set(\freq, 670);
d.set(\freq, 680);
d.set(\freq, 695);
d.free;
return the difference between currrent and the last changed
(
d = { arg out=0, val=1;
SinOsc.ar(
abs(val - LastValue.kr(val)) * 400 + 200,
0, 0.2
)
}.play;
)
d.set(\val, 3);
d.set(\val, 2);
d.set(\val, 0.2);
d.set(\val, 1);
d.set(\val, 2);
d.free;