1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
|
TITLE:: Pget
summary:: Retrieve a value within the scope (namespace) of a Plambda
categories:: Streams-Patterns-Events>Patterns>Data Sharing
related:: Classes/Plambda, Classes/Plet
DESCRIPTION::
link::Classes/Pget:: retrieves the value of a link::Classes/Plet::.
link::Classes/Plet::/link::Classes/Pget:: are used to share data between patterns inside of a link::Classes/Plambda::
CLASSMETHODS::
METHOD:: new
ARGUMENT:: key
The name of the variable
ARGUMENT:: default
default value if none is defined by a paired link::Classes/Plet::
ARGUMENT:: repeats
INSTANCEMETHODS::
METHOD:: default
METHOD:: storeArgs
METHOD:: key
METHOD:: repeats
METHOD:: embedInStream
ARGUMENT:: inval
EXAMPLES::
code::
(
/*
Two patterns playing in parallel,
sharing data between eachother
*/
// a melody playing random scale degrees
a = Pbind(
\dur, 0.125,
\octave, 4,
\degree, Plet(\melody, pattern: Pwhite(0,7))
);
// the bass, scale degrees sampled from the \melody variable defined above
b = Pbind(
\dur, 0.5,
\octave, 3,
\degree, Pget(\melody, default: 1, repeats: inf).trace
);
// Play the patterns in parallel
Plambda(
Ppar([a, b], inf)
).play;
)
::
|