/usr/share/SuperCollider/HelpSource/Classes/Done.schelp is in supercollider-common 1:3.8.0~repack-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 | class:: Done
summary:: Monitors another UGen to see when it is finished
related:: Classes/FreeSelfWhenDone, Classes/PauseSelfWhenDone, Reference/UGen-doneActions
categories:: UGens>Synth control
Description::
Some UGens set a 'done' flag when they are finished playing. This UGen echoes that flag when it is set to track a particular UGen.
The UGens trackable by Done are:
list::
## link::Classes/PlayBuf::
## link::Classes/RecordBuf::
## link::Classes/Line::
## link::Classes/XLine::
## link::Classes/EnvGen::
## link::Classes/Linen::
## link::Classes/BufRd::
## link::Classes/BufWr::
## link::Classes/Dbufrd::
## link::Classes/Dbufwr::
## link::Classes/DiskIn::
## link::Classes/VDiskIn::
## link::Classes/Demand::
::
classmethods::
private:: categories
method::kr
argument::src
UGen to monitor
examples::
The 'done' flag can be used to trigger other things in the same synth:
code::
(
SynthDef("Done-help", { arg out, t_trig;
var line, a, b;
line= Line.kr(1,0,1);
a= SinOsc.ar(440,0,0.1*line); //sound fading out
b= WhiteNoise.ar(Done.kr(line)*0.1); //noise starts at end of line
Out.ar(out, Pan2.ar(a+b));
}).add;
)
Synth("Done-help"); //note that this synth doesn't have it's own doneAction, so you'll need to manually deallocate it
::
The 'done' flag can be used to trigger a delayed freeing of the current synth, which is not possible by using link::Reference/UGen-doneActions:: :
code::
play {
var env = Line.kr(1,0,2);
var sig = PinkNoise.ar(env);
FreeSelf.kr(TDelay.kr(Done.kr(env),3));
GVerb.ar(sig,70,7);
}
::
|