Merge pull request #506 from andrewcsmith/patch-2
[supercollider.git] / HelpSource / Classes / Pfinval.schelp
blob4458c51619d56b5ee1e71842ab1cd221dbde2862
1 class:: Pfinval
2 summary:: limit number of items embedded in a stream
3 related:: Classes/Pfindur, Classes/Pfin, Classes/Pconst
4 categories:: Streams-Patterns-Events>Patterns>Repetition
6 description::
8 note::
9 Pfinval is not appropriate for wrapping link::Classes/Pmono::, link::Classes/Pfx:: etc. For these types of event patterns, you should use link::Classes/Pfin::.
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 = Pfinval(5, Pseq(#[1, 2, 3],inf));
23 b = a.asStream;
24 9.do({ b.next.postln; });
28 //Pfinval 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(Pfinval({ 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;