sclang: ServerShmInterface - try to avoid multiple destructor calls
[supercollider.git] / HelpSource / Classes / Pfin.schelp
blobcc6de769e5df1789ae18063a58f9cd11cd421f29
1 class:: Pfin
2 summary:: limit number of events embedded in a stream
3 related:: Classes/Pfinval, Classes/Pfindur, Classes/Pconst
4 categories:: Streams-Patterns-Events>Patterns>Repetition
6 description::
8 note::
9 Pfin is intended for event patterns. After the count elements are embedded, the stream is called with a nil input value so that link::Classes/Pmono::, link::Classes/Pfx:: and others can release resources. Ordinary value patterns should not be called in this case, so for value patterns, you should use link::Classes/Pfinval:: instead.
12 ClassMethods::
14 method::new
15 embeds strong::count:: elements of the strong::pattern:: into the stream.
17 Examples::
19 code::
21 var a, b;
22 a = Pfin(5, Pseq(#[1, 2, 3],inf));
23 b = a.asStream;
24 9.do({ b.next.postln; });
28 //Pfin used as a sequence of pitches
31 SynthDef(\help_sinegrain,
32         { arg out=0, freq=440, sustain=0.05;
33                 var env;
34                 env = EnvGen.kr(Env.perc(0.01, sustain, 0.2), doneAction:2);
35                 Out.ar(out, SinOsc.ar(freq, 0, env))
36         }).add;
40 var c, b;
41 c = Pn(Pfin({ rrand(3, 5)}, Pseq([1, 2, 3, 4, 5, 6],inf)*4+65),inf);
42 b = c.asStream;
43 Routine({
44         loop({
45                 Synth(\help_sinegrain, [\freq, b.next.midicps]);
46                 0.12.wait;
47         })
48 }).play;