Merge pull request #506 from andrewcsmith/patch-2
[supercollider.git] / HelpSource / Classes / Ptpar.schelp
blobfdd6df6851f2d6f16d9c0f968080666a4b4955e7
1 class:: Ptpar
2 summary:: embed event streams in parallel, with time offset
3 related:: Classes/Ppar
4 categories:: Streams-Patterns-Events>Patterns>Parallel
6 description::
8 Embeds several event streams so that they form a single output stream with all their events in temporal order, providing a global strong::offset:: for each. When one stream ends, the other streams are further embedded until all have ended.
10 ClassMethods::
12 method::new
14 argument::list
15 list of pairs of times and patterns: [time, pat, time, pat .. ].
17 argument::repeats
18 repeat the whole pattern n times.
20 Examples::
22 code::
23 // see the delta values in the resulting events
25 var a, b, c, t;
26 a = Pbind(\x, Pseq([1, 2, 3, 4]), \dur, 1);
27 b = Pbind(\x, Pseq([10, 20, 30, 40]), \dur, 0.4);
28 c = Ptpar([0.0, a, 1.3, b]);
29 t = c.asStream;
30 20.do({ t.next(Event.default).postln; });
33 // sound example
35 var a, b;
36 a = Pbind(\note, Pseq([7, 4, 0], 4), \dur, Pseq([1, 0.5, 1.5], inf));
37 b = Pbind(\note, Pseq([5, 10, 12], 4), \dur, 1);
38 Ptpar([ 0.0, a, 1.3, b ]).play;