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