StreamClutch : Stream : AbstractFunction : Object

buffers a streamed value
Source: Stream.sc

Class Methods

StreamClutch.new(pattern, connected: true)

Arguments:

pattern

a pattern or stream to be buffered.

connected

if true it will call the next stream value for each time next is called. if false it returns the last value.

Inherited class methods

Instance Methods

Inherited instance methods

Undocumented instance methods

.connected

.connected = value

.lastValue

.next(inval)

.reset

.reset = value

.step(inval)

.stream

.stream = value

Examples

a = Pseq([1, 2, 3], inf);
b = StreamClutch(a);

6.do({ b.next.postln });
b.connected = false;
6.do({ b.next.postln });


//statistical clutch
a = Pseq([1, 2, 3], inf);
b = StreamClutch(a, { 0.5.coin });
12.do({ b.next.postln });
s.boot;
//sound example:
(
var clutch, pat, decision;
decision = Pseq([Pn(true,10), Prand([true, false], 10)], inf).asStream;
pat = Pbind(\freq, Pseq([200, [300, 302], 400, 450], inf), \dur, 0.3);
clutch = StreamClutch(pat, decision);
clutch.asEventStreamPlayer.play;
)
// independant stepping
(
var clutch, pat, decision;
pat = Pbind(\freq, Pseq([200, [300, 302], 400, 450], inf), \dur, 0.3);
b = StreamClutch(pat);
b.connected = false;
b.asEventStreamPlayer.play;
)

b.step;