Classes | Streams-Patterns-Events > Patterns > Function

Pfunc : Pattern : AbstractFunction : Object

Function pattern
Source: Patterns.sc

Description

Returns a Stream that returns values from the nextFunc.

Class Methods

Pfunc.new(nextFunc, resetFunc)

Arguments:

nextFunc

Stream function. In an event stream receives the current Event as argument.

resetFunc

Function that is called when the stream is reset. In an event stream receives the current Event as argument.

Inherited class methods

Instance Methods

Inherited instance methods

Undocumented instance methods

.asStream

.nextFunc

.nextFunc = value

.resetFunc

.resetFunc = value

Examples

(
var a, x;
a = Pfunc({ exprand(0.1, 2.0) + #[1, 2, 3, 6].choose }, { \reset.postln });
x = a.asStream;
x.nextN(20).postln;
x.reset;
)

Sound example

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

(
var a;
a = Pfunc({ exprand(0.1, 0.3) + #[1, 2, 3, 6, 7].choose }).asStream;
{
    a.do { |val|
        Synth(\help_sinegrain, [\freq, val * 100 + 300]);
        0.02.wait;
    }
}.fork;
)