rsc3/doc-schelp/HelpSource/Classes/LastValue.scrbl

74 lines
958 B
Text
Raw Permalink Normal View History

2022-08-24 13:53:18 +00:00
#lang scribble/manual
@(require (for-label racket))
@title{LastValue}
Output the last value before the input changed@section{related}
Classes/LeastChange, Classes/MostChange
@section{categories}
UGens>Triggers
@section{description}
Output the last value before the input changed more than a threshold.
@section{classmethods}
@section{method}
ar, kr
@section{argument}
in
The input signal.
@section{argument}
diff
Difference threshold.
@section{Examples}
@racketblock[
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 current and the last changed:
]
@racketblock[
(
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;
::
]