Plazy

superclass: Pattern

evaluates a function that returns a pattern and embeds it in a stream.

Plazy(func)

(

a = Plazy({

var x, y;

x = Array.series(rrand(2, 4), [1, 100].choose, 1);

Pshuf(x,1);

});

x = Pn(a, inf).asStream;

30.do({ x.next.postln });

)

Plazy used to produce a sequence of pitches:

(

SynthDef("help-sinegrain",

{ arg out=0, freq=440, sustain=0.05;

var env;

env = EnvGen.kr(Env.perc(0.01, sustain, 0.2), doneAction:2);

Out.ar(out, SinOsc.ar(freq, 0, env))

}).store;

)

(

a = Plazy({

var x, y;

x = Array.series(rrand(2, 4), [1, 5].choose, 1);

x.put(x.size.rand, 8+0.1.rand2);

Pseq(x,1);

});

x = Pn(a, inf).asStream;

Routine({

loop({

Synth("help-sinegrain", [\freq, (x.next*5+70).midicps]);

0.13.wait;

})

}).play;

)

// using event streams

(

a = Plazy({

var x, y;

x = Array.series(rrand(2, 4), [1, 5].choose, 1);

x.put(x.size.rand, 8+0.1.rand2);

Pbind(

\instrument, 'help-sinegrain',

\dur, 0.12,

\degree, Pseq(x, 2)

)

});

Pn(a, inf).play;

)