Penvir use an environment when embedding the pattern in a stream
superclass: Pattern
Penvir(envir, pattern, independent)
envir an environment with objects to embed
pattern pattern or stream, ususally a Pfunc, Prout.
independent if true (default) streams can write to the environment without influencing other
streams created from this pattern.
if false, the streams write to a common namespace.
// examples:
(
x = (a:8);
y = Penvir(
x,
Pfunc { ~a * 2 }
);
t = y.asStream;
)
t.next;
(
x = (a:8);
y = Penvir(
x,
Pfunc { ~a = ~a * 2 }
);
t = y.asStream;
z = y.asStream;
)
t.next;
t.next;
x.postln; // x stays unchanged