sclang: ServerShmInterface - try to avoid multiple destructor calls
[supercollider.git] / HelpSource / Classes / Dreset.schelp
blob5cdbf843e85893befa53d6ebdd76e5fd5b002f16
1 class:: Dreset
2 summary:: demand rate reset
3 categories:: UGens>Demand
5 description::
6 The reset of a demand ugen can be controlled "from the outside" by the reset input of the link::Classes/Demand:: or link::Classes/Duty:: UGen, which consumes the chain of demands. Dreset allows to reset a subset of the chain internally.
8 classmethods::
9 method:: new
10 argument:: in
11 a demand UGen, producing values which are passed through
12 argument:: reset
13 a demand or any other UGen. When crossing from nonpositive to positive, it resets the first argument.
15 examples::
16 code::
19         var a, freq;
20         a = Dreset(Dseries(0, 2, inf), Drand([0, 0, 0, 1], inf));
21         freq = Duty.kr(1/MouseX.kr(1, 40, 1), 0, a) * 30 + 340;
22         SinOsc.ar(freq) * 0.1
23 }.play;
26 // reset when mouse button is pressed
29         var a, freq;
30         a = Dreset(Dseries(0, 2, inf), MouseButton.kr);
31         freq = Duty.kr(1/MouseX.kr(1, 40, 1), 0, a) * 30 + 340;
32         SinOsc.ar(freq) * 0.1
33 }.play;
36 // audio rate
39         var a, nmax = 90;
40         a = { Dreset(Dseries(0, 1, inf), Drand(0 ! nmax ++ 1, inf)) } ! 2;
41         Duty.ar(SampleDur.ir, 0, a) * (0.1 / nmax)
42 }.play;