PLexprand dynamic scope Pexprand variant
Part of: miSCellaneous
Inherits from: Pexprand
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: Pexprand, Event patterns and Functions, VarGui, VarGui shortcut builds
Creation / Class Methods
*new (lo, hi, length, envir)
Creates a new PLexprand object.
lo - Symbol or Pexprand lo arg. Defaults to 0.0001.
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 Pexprand 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 Pexprand 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,
// intervals grow together with base tone
(
q = PLexprand(\lo, \hi);
p = Pbind(
\midinote, 60 + q + PLtuple([0, q]),
\dur, 0.1
);
)
// prepare current Environment
(
~lo = 0.1;
~hi = 10;
)
// run
x = p.play;
// replace
~hi = 20;
x.stop;