PLhprand dynamic scope Phprand variant
Part of: miSCellaneous
Inherits from: Phprand
Takes Symbol args for later reference by the Streams, which will read from variables in the Environments of their instantiation. See PLx suite.
See also: Phprand, PLlprand, Event patterns and Functions, VarGui, VarGui shortcut builds
Creation / Class Methods
*new (lo, hi, length, envir)
Creates a new PLhprand object.
lo - Symbol or Phprand lo arg. Defaults to 0.
If a Symbol is passed, lo can be assigned to an envir variable later on.
Can be dynamically replaced by Patterns or Streams.
hi - Symbol or Phprand hi arg. Defaults to 1.
If a Symbol is passed, hi can be assigned to an envir variable later on.
Can be dynamically replaced by Patterns or Streams.
length - Symbol or Phprand length arg. Defaults to inf.
If a Symbol is passed, length can be assigned to an envir variable later on.
envir - Dictionary or one of the Symbols
\top, \t (topEnvironment), \current, \c (currentEnvironment).
Dictionary to be taken for variable reference. Defaults to \current.
Examples
(
s = Server.local;
Server.default = s;
s.boot;
)
// definition for future reference in arbitrary Environments
q = PLhprand(\lo, \hi);
// prepare current Environment
// PLseq repeats arg defaults to inf
(
~lo = 60;
~hi = PLseq((92..62));
)
// run
(
y = Pbind(
\midinote, Ptuple(q!5),
\dur, 0.1,
\amp, 0.05
).play;
)
// replace, converging bounds
(
~lo = PLseq((40..70) ++ (70!5));
~hi = 70.5;
)
y.stop;
// compare this example with lo-weighted PLlprand