PlazyEnvirN
superclass: PlazyEnvir
Evaluates a function that returns a pattern and embeds it in a stream.
In difference to [Plazy], the function is evaluated using the environment passed in by the stream.
In difference to [PlazyEnvir], PlayzEnvirN expands to multiple parallel patterns if the function arguments
receive multiple channels. In difference to PlazyEnvir, this works only with event streams.
PlazyEnvirN(func)
// example
(
SynthDef("help-sinegrain",
{ arg out=0, freq=440, sustain=0.05, pan=0;
var env;
env = EnvGen.kr(Env.perc(0.01, sustain, 0.2), doneAction:2);
Out.ar(out, Pan2.ar(SinOsc.ar(freq, 0, env), pan))
}).store;
a = PlazyEnvirN({ arg g=0, h=0, dur=1;
postf("g: %, h: %, dur: %\n", g, h, dur);
Pbind(
\instrument, 'help-sinegrain',
\dur, dur,
\degree, Pseq([g, g, h, g, h], 2)
)
});
);
// different variants
(a <> (g: 0, h: 3, dur:0.2)).play; // single stream
(a <> (g: [0, 4], h: [3, -1], dur:0.2)).play; // same durations, two streams
(a <> (g: [0, 4], h: [3, -1], dur: [0.2, 0.3])).play; // different durations, two streams
// for more about the composition operator <> see: Pchain