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