oneShot: free the responder before running user func (avoid error)
[supercollider.git] / HelpSource / Classes / Done.schelp
blob3ed7b9eca338f3a8de7cec73d9f0799b2bc36199
1 class:: Done
2 summary:: Monitors another UGen to see when it is finished
3 related:: Classes/FreeSelfWhenDone, Classes/PauseSelfWhenDone
4 categories::  UGens>Synth control
6 Description::
8 Some UGens, such as 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::, and the Buffer delay UGens set a 'done' flag when they are finished playing. This UGen echoes that flag when it is set to track a particular UGen. 
10 classmethods::
11 private:: categories
13 method::kr
15 argument::src
17 UGen to monitor
19 examples::
20 code::
22 SynthDef("Done-help", { arg out, t_trig;
23         var line, a, b; 
24         
25         line= Line.kr(1,0,1);
26         
27         a= SinOsc.ar(440,0,0.1*line); //sound fading out
28         b= WhiteNoise.ar(Done.kr(line)*0.1); //noise starts at end of line
29         
30         Out.ar(out, Pan2.ar(a+b));
31 }).send(s);
34 Synth("Done-help"); //note that this synth doesn't have it's own doneAction, so you'll need to manually deallocate it