sclang: ServerShmInterface - try to avoid multiple destructor calls
[supercollider.git] / HelpSource / Classes / StreamClutch.schelp
blobed31aa3acea95ae820ff500007f4300a3172f83f
1 class:: StreamClutch
2 summary:: buffers a streamed value
3 related:: Classes/Routine, Classes/FuncStream, Classes/EventStreamPlayer
4 categories:: Streams-Patterns-Events
7 ClassMethods::
9 method::new
11 argument::pattern
12 a pattern or stream to be buffered.
14 argument::connected
15 if true it will call the next stream value for each time next is called. if false it returns the last value.
17 Examples::
19 code::
20 a = Pseq([1, 2, 3], inf);
21 b = StreamClutch(a);
23 6.do({ b.next.postln });
24 b.connected = false;
25 6.do({ b.next.postln });
28 //statistical clutch
29 a = Pseq([1, 2, 3], inf);
30 b = StreamClutch(a, { 0.5.coin });
31 12.do({ b.next.postln });
34 code::
35 s.boot;
36 //sound example:
38 var clutch, pat, decicion;
39 decicion = Pseq([Pn(true,10), Prand([true, false], 10)], inf).asStream;
40 pat = Pbind(\freq, Pseq([200, [300, 302], 400, 450], inf), \dur, 0.3);
41 clutch = StreamClutch(pat, decicion);
42 clutch.asEventStreamPlayer.play;
46 code::
47 // independant stepping
49 var clutch, pat, decicion;
50 pat = Pbind(\freq, Pseq([200, [300, 302], 400, 450], inf), \dur, 0.3);
51 b = StreamClutch(pat);
52 b.connected = false;
53 b.asEventStreamPlayer.play;
56 b.step;