Classes | Streams-Patterns-Events > Patterns > Function

Plazy : Pattern : AbstractFunction : Object

instantiate new patterns from a function
Source: Ppatmod.sc
Subclasses: PlazyEnvir

Description

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

Class Methods

Plazy.new(func)

Arguments:

func

A Function that returns a pattern or any other valid pattern input.

Inherited class methods

Instance Methods

Inherited instance methods

Undocumented instance methods

.embedInStream(inval)

.func

.func = value

Examples

(
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: Done.freeSelf);
        Out.ar(out, SinOsc.ar(freq, 0, env))
    }).add;
)

(
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;
)