Appendix C. ParameterObject Reference and Examples

Table of Contents
C.1. Generator ParameterObjects
C.1.1. accumulator (a)
C.1.2. basketFill (bf)
C.1.3. basketFillSelect (bfs)
C.1.4. basketGen (bg)
C.1.5. breakGraphFlat (bgf)
C.1.6. breakGraphHalfCosine (bghc)
C.1.7. breakGraphLinear (bgl)
C.1.8. breakGraphPower (bgp)
C.1.9. breakPointFlat (bpf)
C.1.10. breakPointHalfCosine (bphc)
C.1.11. breakPointLinear (bpl)
C.1.12. breakPointPower (bpp)
C.1.13. basketSelect (bs)
C.1.14. constant (c)
C.1.15. constantFile (cf)
C.1.16. cyclicGen (cg)
C.1.17. caList (cl)
C.1.18. caValue (cv)
C.1.19. directorySelect (ds)
C.1.20. envelopeGeneratorAdsr (ega)
C.1.21. envelopeGeneratorTrapezoid (egt)
C.1.22. envelopeGeneratorUnit (egu)
C.1.23. funnelBinary (fb)
C.1.24. feedbackModelLibrary (fml)
C.1.25. fibonacciSeries (fs)
C.1.26. grammarTerminus (gt)
C.1.27. henonBasket (hb)
C.1.28. iterateCross (ic)
C.1.29. iterateGroup (ig)
C.1.30. iterateHold (ih)
C.1.31. iterateSelect (is)
C.1.32. iterateWindow (iw)
C.1.33. lorenzBasket (lb)
C.1.34. logisticMap (lm)
C.1.35. listPrime (lp)
C.1.36. lineSegment (ls)
C.1.37. mask (m)
C.1.38. markovGeneratorAnalysis (mga)
C.1.39. maskReject (mr)
C.1.40. maskScale (ms)
C.1.41. markovValue (mv)
C.1.42. noise (n)
C.1.43. operatorAdd (oa)
C.1.44. operatorCongruence (oc)
C.1.45. operatorDivide (od)
C.1.46. operatorMultiply (om)
C.1.47. oneOver (oo)
C.1.48. operatorPower (op)
C.1.49. operatorSubtract (os)
C.1.50. pathRead (pr)
C.1.51. quantize (q)
C.1.52. randomBeta (rb)
C.1.53. randomBilateralExponential (rbe)
C.1.54. randomCauchy (rc)
C.1.55. randomExponential (re)
C.1.56. randomGauss (rg)
C.1.57. randomInverseExponential (rie)
C.1.58. randomInverseLinear (ril)
C.1.59. randomInverseTriangular (rit)
C.1.60. randomLinear (rl)
C.1.61. randomTriangular (rt)
C.1.62. randomUniform (ru)
C.1.63. randomWeibull (rw)
C.1.64. sampleAndHold (sah)
C.1.65. sieveFunnel (sf)
C.1.66. sieveList (sl)
C.1.67. sampleSelect (ss)
C.1.68. typeFormat (tf)
C.1.69. valuePrime (vp)
C.1.70. valueSieve (vs)
C.1.71. waveCosine (wc)
C.1.72. waveHalfPeriodCosine (whpc)
C.1.73. waveHalfPeriodPulse (whpp)
C.1.74. waveHalfPeriodSine (whps)
C.1.75. waveHalfPeriodTriangle (whpt)
C.1.76. wavePulse (wp)
C.1.77. wavePowerDown (wpd)
C.1.78. wavePowerUp (wpu)
C.1.79. waveSine (ws)
C.1.80. waveSawDown (wsd)
C.1.81. waveSawUp (wsu)
C.1.82. waveTriangle (wt)
C.2. Rhythm ParameterObjects
C.2.1. binaryAccent (ba)
C.2.2. convertSecond (cs)
C.2.3. convertSecondTriple (cst)
C.2.4. gaRhythm (gr)
C.2.5. iterateRhythmGroup (irg)
C.2.6. iterateRhythmHold (irh)
C.2.7. iterateRhythmWindow (irw)
C.2.8. loop (l)
C.2.9. markovPulse (mp)
C.2.10. markovRhythmAnalysis (mra)
C.2.11. pulseSieve (ps)
C.2.12. pulseTriple (pt)
C.2.13. rhythmSieve (rs)
C.3. Filter ParameterObjects
C.3.1. bypass (b)
C.3.2. filterAdd (fa)
C.3.3. filterDivide (fd)
C.3.4. filterDivideAnchor (fda)
C.3.5. filterFunnelBinary (ffb)
C.3.6. filterMultiply (fm)
C.3.7. filterMultiplyAnchor (fma)
C.3.8. filterPower (fp)
C.3.9. filterQuantize (fq)
C.3.10. maskFilter (mf)
C.3.11. maskScaleFilter (msf)
C.3.12. orderBackward (ob)
C.3.13. orderRotate (or)
C.3.14. pipeLine (pl)
C.3.15. replace (r)
C.4. TextureStatic ParameterObjects
C.4.1. eventDensityPartition (edp)
C.4.2. interpolationMethodControl (imc)
C.4.3. levelEventCount (lec)
C.4.4. levelEventPartition (lep)
C.4.5. levelFrameDuration (lfd)
C.4.6. levelFieldMonophonic (lfm)
C.4.7. levelFieldPolyphonic (lfp)
C.4.8. levelOctaveMonophonic (lom)
C.4.9. levelOctavePolyphonic (lop)
C.4.10. loopWithinSet (lws)
C.4.11. multisetSelectorControl (msc)
C.4.12. maxTimeOffset (mto)
C.4.13. ornamentLibrarySelect (ols)
C.4.14. ornamentMaxDensity (omd)
C.4.15. pathDurationFraction (pdf)
C.4.16. parameterInterpolationControl (pic)
C.4.17. parallelMotionList (pml)
C.4.18. pitchSelectorControl (psc)
C.4.19. snapEventTime (set)
C.4.20. snapSustainTime (sst)
C.4.21. totalEventCount (tec)
C.4.22. totalSegmentCount (tsc)
C.5. CloneStatic ParameterObjects
C.5.1. retrogradeMethodToggle (rmt)
C.5.2. timeReferenceSource (trs)

C.1. Generator ParameterObjects

C.1.1. accumulator (a)

accumulator, initValue, parameterObject

Description: For each evaluation, this Generator adds the result of the Generator ParameterObject to the stored cumulative numeric value; the initialization value argument initValue is the origin of the cumulative value, and is the first value returned.

Arguments: (1) name, (2) initValue, (3) parameterObject {Generator}

Sample Arguments: a, 0, (bg,rc,(1,3,4,7,-11))

Example C-1. accumulator Demonstration 1

accumulator, 0, (basketGen, randomChoice, (1,3,4,7,-11))

Example C-2. accumulator Demonstration 2

accumulator, 0, (waveSine, event, (constant, 20), 0, (constant, -0.5),
(constant, 1.5))

C.1.2. basketFill (bf)

basketFill, selectionString, parameterObject, valueCount

Description: Chooses values from a ParameterObject generated list of values. The number of values generated is determined by the valueCount integer. Valuse are generated only at initialization. Values are chosen from this list using the selector specified by the selectionString argument.

Arguments: (1) name, (2) selectionString {'randomChoice', 'randomWalk', 'randomPermutate', 'orderedCyclic', 'orderedCyclicRetrograde', 'orderedOscillate'}, (3) parameterObject {source Generator}, (4) valueCount

Sample Arguments: bf, oc, (ru,0,1), 10

Example C-3. basketFill Demonstration 1

basketFill, orderedCyclic, (randomUniform, (constant, 0), (constant, 1)), 10

C.1.3. basketFillSelect (bfs)

basketFillSelect, parameterObject, valueCount, parameterObject

Description: Chooses values from a ParameterObject generated list of values. The number of values generated is determined by the valueCount integer. Valuse are generated only at initialization. Values are choosen from the list with values within the unit interval produced by an embedded ParameterObject. Values that exceed the unit interval are limited within the unit interval.

Arguments: (1) name, (2) parameterObject {source Generator}, (3) valueCount, (4) parameterObject {selection Generator}

Sample Arguments: bfs, (ru,0,1), 10, (rb,0.2,0.2,0,1)

Example C-4. basketFillSelect Demonstration 1

basketFillSelect, (randomUniform, (constant, 0), (constant, 1)), 10,
(randomBeta, 0.2, 0.2, (constant, 0), (constant, 1))

C.1.4. basketGen (bg)

basketGen, selectionString, valueList

Description: Chooses values from a user-supplied list (valueList). Values can be strings or numbers. Values are chosen from this list using the selector specified by the selectionString argument.

Arguments: (1) name, (2) selectionString {'randomChoice', 'randomWalk', 'randomPermutate', 'orderedCyclic', 'orderedCyclicRetrograde', 'orderedOscillate'}, (3) valueList

Sample Arguments: bg, rc, (0,0.25,0.25,1)

Example C-5. basketGen Demonstration 1

basketGen, randomChoice, (0,0.25,0.25,1)

Example C-6. basketGen Demonstration 2

basketGen, orderedOscillate, (0,0.1,0.2,0.4,0.8,0.6,0.5,1)

Example C-7. basketGen Demonstration 3

basketGen, randomWalk, (0,0.1,0.2,0.4,0.8,0.6,0.5,1)

C.1.5. breakGraphFlat (bgf)

breakGraphFlat, stepString, edgeString, parameterObject, parameterObject, pointCount

Description: Provides a dynamic break-point function without interpolation. A list of (x,y) coordinate pairs is generated from two embedded Generator ParameterObjects. The number of generated pairs is determined by the count argument. A step type (stepString) determines if x values in the pointList refer to events or real-time values. Interpolated y values are the output of the Generator. The edgeString argument determines if the break-point function loops, or is executed once at the given coordinates.

Arguments: (1) name, (2) stepString {'event', 'time'}, (3) edgeString {'loop', 'single'}, (4) parameterObject {x point Generator}, (5) parameterObject {y point Generator}, (6) pointCount

Sample Arguments: bgf, e, l, (a,0,(bg,rp,(1,3,9))), (bg,rc,(0,0.25,0.5,0.75,1)), 60

Example C-8. breakGraphFlat Demonstration 1

breakGraphFlat, event, loop, (accumulator, 0, (basketGen, randomPermutate,
(1,3,9))), (basketGen, randomChoice, (0,0.25,0.5,0.75,1)), 60

C.1.6. breakGraphHalfCosine (bghc)

breakGraphHalfCosine, stepString, edgeString, parameterObject, parameterObject, pointCount

Description: Provides a dynamic break-point function with half-cosine interpolation. A list of (x,y) coordinate pairs is generated from two embedded Generator ParameterObjects. The number of generated pairs is determined by the count argument. A step type (stepString) determines if x values in the pointList refer to events or real-time values. Interpolated y values are the output of the Generator. The edgeString argument determines if the break-point function loops, or is executed once at the given coordinates. The exponent argument may be any positive or negative numeric value.

Arguments: (1) name, (2) stepString {'event', 'time'}, (3) edgeString {'loop', 'single'}, (4) parameterObject {x point Generator}, (5) parameterObject {y point Generator}, (6) pointCount

Sample Arguments: bghc, e, l, (a,0,(bg,rp,(1,3,9))), (bg,rc,(0,0.25,0.5,0.75,1)), 60

Example C-9. breakGraphHalfCosine Demonstration 1

breakGraphHalfCosine, event, loop, (accumulator, 0, (basketGen,
randomPermutate, (1,3,9))), (basketGen, randomChoice, (0,0.25,0.5,0.75,1)), 60

C.1.7. breakGraphLinear (bgl)

breakGraphLinear, stepString, edgeString, parameterObject, parameterObject, pointCount

Description: Provides a dynamic break-point function with linear interpolation. A list of (x,y) coordinate pairs is generated from two embedded Generator ParameterObjects. The number of generated pairs is determined by the count argument. A step type (stepString) determines if x values in the pointList refer to events or real-time values. Interpolated y values are the output of the Generator. The edgeString argument determines if the break-point function loops, or is executed once at the given coordinates.

Arguments: (1) name, (2) stepString {'event', 'time'}, (3) edgeString {'loop', 'single'}, (4) parameterObject {x point Generator}, (5) parameterObject {y point Generator}, (6) pointCount

Sample Arguments: bgl, e, l, (a,0,(bg,rp,(1,3,9))), (bg,rc,(0,0.25,0.5,0.75,1)), 60

Example C-10. breakGraphLinear Demonstration 1

breakGraphLinear, event, loop, (accumulator, 0, (basketGen, randomPermutate,
(1,3,9))), (basketGen, randomChoice, (0,0.25,0.5,0.75,1)), 60

C.1.8. breakGraphPower (bgp)

breakGraphPower, stepString, edgeString, parameterObject, parameterObject, pointCount, exponent

Description: Provides a dynamic break-point function with exponential interpolation. A list of (x,y) coordinate pairs is generated from two embedded Generator ParameterObjects. The number of generated pairs is determined by the count argument. A step type (stepString) determines if x values in the pointList refer to events or real-time values. Interpolated y values are the output of the Generator. The edgeString argument determines if the break-point function loops, or is executed once at the given coordinates. The exponent argument may be any positive or negative numeric value.

Arguments: (1) name, (2) stepString {'event', 'time'}, (3) edgeString {'loop', 'single'}, (4) parameterObject {x point Generator}, (5) parameterObject {y point Generator}, (6) pointCount, (7) exponent

Sample Arguments: bgp, e, l, (a,0,(bg,rp,(1,3,9))), (bg,rc,(0,0.25,0.5,0.75,1)), 60, -1.5

Example C-11. breakGraphPower Demonstration 1

breakGraphPower, event, loop, (accumulator, 0, (basketGen, randomPermutate,
(1,3,9))), (basketGen, randomChoice, (0,0.25,0.5,0.75,1)), 60, -1.5

C.1.9. breakPointFlat (bpf)

breakPointFlat, stepString, edgeString, pointList

Description: Provides a break-point function without interpolation from a list of (x,y) coordinate pairs (pointList). A step type (stepString) determines if x values in the pointList refer to events or real-time values. Interpolated y values are the output of the Generator. The edgeString argument determines if the break-point function loops, or is executed once at the given coordinates.

Arguments: (1) name, (2) stepString {'event', 'time'}, (3) edgeString {'loop', 'single'}, (4) pointList

Sample Arguments: bpf, e, l, ((0,1),(6,0.3),(12,0.3),(18,0),(24,0.6))

Example C-12. breakPointFlat Demonstration 1

breakPointFlat, event, loop, ((0,1),(6,0.3),(12,0.3),(18,0),(24,0.6))

Example C-13. breakPointFlat Demonstration 2

breakPointFlat, event, single, ((12,0.3),(18,0.9),(24,0.2),(48,0.6))

Example C-14. breakPointFlat Demonstration 3

breakPointFlat, event, loop,
((0,0.3),(10,0.3),(11,0.8),(25,0.75),(26,0.5),(37,0.35),(42,0.7),(45,0.5))

C.1.10. breakPointHalfCosine (bphc)

breakPointHalfCosine, stepString, edgeString, pointList

Description: Provides a break-point function with half-cosine interpolation from a list of (x,y) coordinate pairs (pointList). A step type (stepString) determines if x values in the pointList refer to events or real-time values. Interpolated y values are the output of the Generator. The edgeString argument determines if the break-point function loops, or is executed once at the given coordinates.

Arguments: (1) name, (2) stepString {'event', 'time'}, (3) edgeString {'loop', 'single'}, (4) pointList

Sample Arguments: bphc, e, l, ((0,1),(6,0.3),(12,0.3),(18,0),(24,0.6))

Example C-15. breakPointHalfCosine Demonstration 1

breakPointHalfCosine, event, loop, ((0,1),(6,0.3),(12,0.3),(18,0),(24,0.6))

Example C-16. breakPointHalfCosine Demonstration 2

breakPointHalfCosine, event, single, ((12,0.3),(18,0.9),(24,0.2),(48,0.6))

Example C-17. breakPointHalfCosine Demonstration 3

breakPointHalfCosine, event, loop,
((0,0.3),(10,0.3),(11,0.8),(25,0.75),(26,0.5),(37,0.35),(42,0.7),(45,0.5))

C.1.11. breakPointLinear (bpl)

breakPointLinear, stepString, edgeString, pointList

Description: Provides a break-point function with linear interpolation from a list of (x,y) coordinate pairs (pointList). A step type (stepString) determines if x values in the pointList refer to events or real-time values. Interpolated y values are the output of the Generator. The edgeString argument determines if the break-point function loops, or is executed once at the given coordinates.

Arguments: (1) name, (2) stepString {'event', 'time'}, (3) edgeString {'loop', 'single'}, (4) pointList

Sample Arguments: bpl, e, l, ((0,1),(6,0.3),(12,0.3),(18,0),(24,0.6))

Example C-18. breakPointLinear Demonstration 1

breakPointLinear, event, loop, ((0,1),(6,0.3),(12,0.3),(18,0),(24,0.6))

Example C-19. breakPointLinear Demonstration 2

breakPointLinear, event, single, ((12,0.3),(18,0.9),(24,0.2),(48,0.6))

Example C-20. breakPointLinear Demonstration 3

breakPointLinear, event, loop,
((0,0.3),(10,0.3),(11,0.8),(25,0.75),(26,0.5),(37,0.35),(42,0.7),(45,0.5))

C.1.12. breakPointPower (bpp)

breakPointPower, stepString, edgeString, pointList, exponent

Description: Provides a break-point function with exponential interpolation from a list of (x,y) coordinate pairs (pointList). A step type (stepString) determines if x values in the pointList refer to events or real-time values. Interpolated y values are the output of the Generator. The edgeString argument determines if the break-point function loops, or is executed once at the given coordinates. The exponent argument may be any positive or negative numeric value.

Arguments: (1) name, (2) stepString {'event', 'time'}, (3) edgeString {'loop', 'single'}, (4) pointList, (5) exponent

Sample Arguments: bpp, e, l, ((0,1),(6,0.3),(12,0.3),(18,0),(24,0.6)), -1.5

Example C-21. breakPointPower Demonstration 1

breakPointPower, event, loop, ((0,1),(6,0.3),(12,0.3),(18,0),(24,0.6)), -1.5

Example C-22. breakPointPower Demonstration 2

breakPointPower, event, loop,
((0,0.2),(10,1),(20,0.8),(30,0.5),(40,0.2),(45,1),(50,0),(55,1)), 3.5

Example C-23. breakPointPower Demonstration 3

breakPointPower, event, single, ((12,0.3),(18,0.9),(24,0.8),(48,0.2)), -4

C.1.13. basketSelect (bs)

basketSelect, valueList, parameterObject

Description: Chooses values from a user-supplied list (valueList). Values can be strings or numbers. Values are choosen from the list with values within the unit interval produced by an embedded ParameterObject. Values that exceed the unit interval are limited within the unit interval.

Arguments: (1) name, (2) valueList, (3) parameterObject {selection Generator}

Sample Arguments: bs, (1,2,3,4,5,6,7,8,9), (rb,0.2,0.2,(bpl,e,s,((0,0.4),(120,0))),(bpl,e,s,((0,0.6),(120,1))))

Example C-24. basketSelect Demonstration 1

basketSelect, (1,2,3,4,5,6,7,8,9), (randomBeta, 0.2, 0.2, (breakPointLinear,
event, single, ((0,0.4),(120,0))), (breakPointLinear, event, single,
((0,0.6),(120,1)))),

C.1.14. constant (c)

constant, value

Description: Return a constant string or numeric value.

Arguments: (1) name, (2) value

Sample Arguments: c, 0

Example C-25. constant Demonstration 1

constant, 0

C.1.15. constantFile (cf)

constantFile, absoluteFilePath

Description: Given an absolute file path, a constant file path is returned as a string. Note: symbolic links (aliases or shortcuts) and home directory symbols (~) are expanded into complete paths.

Arguments: (1) name, (2) absoluteFilePath

Sample Arguments: cf,

C.1.16. cyclicGen (cg)

cyclicGen, directionString, min, max, increment

Description: Cycles between static minimum (min) and maximum (max) values with a static increment value. Cycling direction and type is controlled by the directionString argument.

Arguments: (1) name, (2) directionString {'upDown', 'downUp', 'up', 'down'}, (3) min, (4) max, (5) increment

Sample Arguments: cg, ud, 0, 1, 0.13

Example C-26. cyclicGen Demonstration 1

cyclicGen, upDown, 0, 1, 0.13

Example C-27. cyclicGen Demonstration 2

cyclicGen, down, 0, 1, 0.13

C.1.17. caList (cl)

caList, caSpec, parameterObject, parameterObject, tableExtractionString, selectionString

Description: Produces values from a one-dimensional cellular automata table. One dimensional cellular automata may be standard, totalistic, continuous, or float formats, and are defined with a caSpec string. The caSpec string may contain one or more CA parameters defined in key{value} pairs. All parameters not defined assume default values. Valid parameters include f (format), k, r, i (initialization), x (row width), y (number of steps), w (extracted width), c (extracted center), and s (initial step skip). Rule and mutation values may be provided by embedded Generator ParameterObjects. Values may be extracted into a list from the resulting table as defined by the tableFormatString. Values are chosen from this list using the selector specified by the selectionString argument.

Arguments: (1) name, (2) caSpec, (3) parameterObject {rule}, (4) parameterObject {mutation}, (5) tableExtractionString {'averageColumn', 'averageColumnActive', 'averageColumnIndex', 'averageColumnIndexActive', 'averageColumnIndexPassive', 'averageColumnPassive', 'averageRow', 'averageRowActive', 'averageRowIndex', 'averageRowIndexActive', 'averageRowIndexPassive', 'averageRowPassive', 'flatColumn', 'flatColumnActive', 'flatColumnIndex', 'flatColumnIndexActive', 'flatColumnIndexPassive', 'flatColumnPassive', 'flatColumnReflect', 'flatColumnReflectActive', 'flatColumnReflectIndex', 'flatColumnReflectIndexActive', 'flatColumnReflectIndexPassive', 'flatColumnReflectPassive', 'flatRow', 'flatRowActive', 'flatRowIndex', 'flatRowIndexActive', 'flatRowIndexPassive', 'flatRowPassive', 'flatRowReflect', 'flatRowReflectActive', 'flatRowReflectIndex', 'flatRowReflectIndexActive', 'flatRowReflectIndexPassive', 'flatRowReflectPassive', 'productColumn', 'productColumnActive', 'productColumnIndex', 'productColumnIndexActive', 'productColumnIndexPassive', 'productColumnPassive', 'productRow', 'productRowActive', 'productRowIndex', 'productRowIndexActive', 'productRowIndexPassive', 'productRowPassive', 'sumColumn', 'sumColumnActive', 'sumColumnIndex', 'sumColumnIndexActive', 'sumColumnIndexPassive', 'sumColumnPassive', 'sumRow', 'sumRowActive', 'sumRowIndex', 'sumRowIndexActive', 'sumRowIndexPassive', 'sumRowPassive'}, (6) selectionString {'randomChoice', 'randomWalk', 'randomPermutate', 'orderedCyclic', 'orderedCyclicRetrograde', 'orderedOscillate'}

Sample Arguments: cl, f{f}i{c}x{81}y{120}, 0.25, 0.0005, sc, oc

Example C-28. caList Demonstration 1

caList, f{f}k{0}r{1}i{center}x{81}y{120}w{81}c{0}s{0}, (constant, 0.25),
(constant, 0.0005), sumColumn, orderedCyclic

Example C-29. caList Demonstration 2

caList, f{s}k{2}r{1}i{center}x{91}y{120}w{91}c{0}s{0}, (markovValue,
a{90}b{182}:{a=29|b=1}, (constant, 0)), (constant, 0), flatRowIndexActive,
orderedCyclic

C.1.18. caValue (cv)

caValue, caSpec, parameterObject, parameterObject, tableExtractionString, min, max, selectionString

Description: Produces values from a one-dimensional cellular automata table scaled within dynamic min and max values. One dimensional cellular automata may be standard, totalistic, continuous, or float formats, and are defined with a caSpec string. The caSpec string may contain one or more CA parameters defined in key{value} pairs. All parameters not defined assume default values. Valid parameters include f (format), k, r, i (initialization), x (row width), y (number of steps), w (extracted width), c (extracted center), and s (initial step skip). Rule and mutation values may be provided by embedded Generator ParameterObjects. Values may be extracted into a list from the resulting table as defined by the tableFormatString. Values are chosen from this list using the selector specified by the selectionString argument. After selection, this value is scaled within the range designated by min and max; min and max may be specified with ParameterObjects.

Arguments: (1) name, (2) caSpec, (3) parameterObject {rule}, (4) parameterObject {mutation}, (5) tableExtractionString {'averageColumn', 'averageColumnActive', 'averageColumnIndex', 'averageColumnIndexActive', 'averageColumnIndexPassive', 'averageColumnPassive', 'averageRow', 'averageRowActive', 'averageRowIndex', 'averageRowIndexActive', 'averageRowIndexPassive', 'averageRowPassive', 'flatColumn', 'flatColumnActive', 'flatColumnIndex', 'flatColumnIndexActive', 'flatColumnIndexPassive', 'flatColumnPassive', 'flatColumnReflect', 'flatColumnReflectActive', 'flatColumnReflectIndex', 'flatColumnReflectIndexActive', 'flatColumnReflectIndexPassive', 'flatColumnReflectPassive', 'flatRow', 'flatRowActive', 'flatRowIndex', 'flatRowIndexActive', 'flatRowIndexPassive', 'flatRowPassive', 'flatRowReflect', 'flatRowReflectActive', 'flatRowReflectIndex', 'flatRowReflectIndexActive', 'flatRowReflectIndexPassive', 'flatRowReflectPassive', 'productColumn', 'productColumnActive', 'productColumnIndex', 'productColumnIndexActive', 'productColumnIndexPassive', 'productColumnPassive', 'productRow', 'productRowActive', 'productRowIndex', 'productRowIndexActive', 'productRowIndexPassive', 'productRowPassive', 'sumColumn', 'sumColumnActive', 'sumColumnIndex', 'sumColumnIndexActive', 'sumColumnIndexPassive', 'sumColumnPassive', 'sumRow', 'sumRowActive', 'sumRowIndex', 'sumRowIndexActive', 'sumRowIndexPassive', 'sumRowPassive'}, (6) min, (7) max, (8) selectionString {'randomChoice', 'randomWalk', 'randomPermutate', 'orderedCyclic', 'orderedCyclicRetrograde', 'orderedOscillate'}

Sample Arguments: cv, f{s}, (c,110), (c,0), sr, 0, 1, oc

Example C-30. caValue Demonstration 1

caValue, f{s}k{2}r{1}i{center}x{91}y{135}w{91}c{0}s{0}, (constant, 110),
(constant, 0), sumRow, (constant, 0), (constant, 1), orderedCyclic

Example C-31. caValue Demonstration 2

caValue, f{s}k{2}r{1}i{random}x{81}y{120}w{81}c{0}s{0}, (breakPointLinear,
event, single, ((0,30),(119,34))), (constant, 0.05), sumRow, (constant, 0),
(constant, 1), orderedCyclic

Example C-32. caValue Demonstration 3

caValue, f{t}k{3}r{1}i{center}x{81}y{120}w{12}c{0}s{0}, (constant, 1842),
(breakPointLinear, event, loop, ((0,0),(80,0.02))), sumRow, (waveSine, event,
(constant, 15), 0, (constant, 0), (constant, 0.4)), (constant, 1),
orderedCyclic

C.1.19. directorySelect (ds)

directorySelect, directoryFilePath, fileExtension, selectionString

Description: Within a user-provided directory (directoryFilePath) and all sub-directories, this Generator finds all files named with a file extension that matches the fileExtension argument, and collects these complete file paths into a list. Values are chosen from this list using the selector specified by the selectionString argument. Note: the fileExtension argument string may not include a leading period (for example, use "aif", not ".aif"); symbolic links (aliases or shortcuts) and home directory symbols (~) are expanded into complete paths.

Arguments: (1) name, (2) directoryFilePath, (3) fileExtension, (4) selectionString {'randomChoice', 'randomWalk', 'randomPermutate', 'orderedCyclic', 'orderedCyclicRetrograde', 'orderedOscillate'}

Sample Arguments: ds, ., aif, rw

C.1.20. envelopeGeneratorAdsr (ega)

envelopeGeneratorAdsr, scaleString, edgeString, eventCount, parameterObject, parameterObject, parameterObject, parameterObject, parameterObject, parameterObject, min, max

Description: Generates a sequence of dynamic envelopes with durations controlled by a Generator Parameter Object. Envelope duration is specified by the duration ParameterObject; all values are interpreted in seconds. The scaleString parameter determines if shape values are interpreted as proportional values or absolute values in seconds. The number of envelopes generated is controlled by the eventCount parameter; envelopes are looped when necessary. The minimum and maximum envelope value is scaled within the range designated by min and max; min and max are selected once per envelope; min and max may be specified with ParameterObjects.

Arguments: (1) name, (2) scaleString {'absolute', 'proportional'}, (3) edgeString {'loop', 'single'}, (4) eventCount, (5) parameterObject {duration Generator}, (6) parameterObject {attack Generator}, (7) parameterObject {decay Generator}, (8) parameterObject {sustain Generator}, (9) parameterObject {release Generator}, (10) parameterObject {sustain scalar Generator}, (11) min, (12) max

Sample Arguments: ega, proportional, l, 100, (c,40), (c,2), (c,4), (c,2), (c,4), (c,0.5), 0, 1

Example C-33. envelopeGeneratorAdsr Demonstration 1

envelopeGeneratorAdsr, proportional, loop, 100, (constant, 40), (constant, 2),
(constant, 4), (constant, 2), (constant, 4), (constant, 0.5), (constant, 0),
(constant, 1)

Example C-34. envelopeGeneratorAdsr Demonstration 2

envelopeGeneratorAdsr, proportional, loop, 100, (basketGen, orderedCyclic,
(60,40,20)), (basketGen, orderedCyclic, (1,5,10)), (basketGen, orderedCyclic,
(10,5,1)), (constant, 6), (constant, 2), (basketGen, orderedCyclic,
(0.2,0.5,0.7)), (constant, 0), (constant, 1)

Example C-35. envelopeGeneratorAdsr Demonstration 3

envelopeGeneratorAdsr, absolute, loop, 100, (basketGen, orderedCyclic,
(60,40,20)), (basketGen, orderedCyclic, (1,5,10)), (basketGen, orderedCyclic,
(10,5,1)), (constant, 6), (constant, 2), (basketGen, orderedCyclic,
(0.2,0.5,0.7)), (constant, 0), (constant, 1)

C.1.21. envelopeGeneratorTrapezoid (egt)

envelopeGeneratorTrapezoid, scaleString, edgeString, eventCount, parameterObject, parameterObject, parameterObject, parameterObject, parameterObject, min, max

Description: Generates a sequence of dynamic envelopes with durations controlled by a Generator Parameter Object. Envelope duration is specified by the duration ParameterObject; all values are interpreted in seconds. The scaleString parameter determines if shape values are interpreted as proportional values or absolute values in seconds. The number of envelopes generated is controlled by the eventCount parameter; envelopes are looped when necessary. The minimum and maximum envelope value is scaled within the range designated by min and max; min and max are selected once per envelope; min and max may be specified with ParameterObjects.

Arguments: (1) name, (2) scaleString {'absolute', 'proportional'}, (3) edgeString {'loop', 'single'}, (4) eventCount, (5) parameterObject {duration Generator}, (6) parameterObject {ramp up Generator}, (7) parameterObject {width max Generator}, (8) parameterObject {ramp down Generator}, (9) parameterObject {width min Generator}, (10) min, (11) max

Sample Arguments: egt, proportional, l, 100, (c,40), (c,0.5), (c,4), (c,2), (c,4), 0, 1

Example C-36. envelopeGeneratorTrapezoid Demonstration 1

envelopeGeneratorTrapezoid, proportional, loop, 100, (constant, 40),
(constant, 0.5), (constant, 4), (constant, 2), (constant, 4), (constant, 0),
(constant, 1)

Example C-37. envelopeGeneratorTrapezoid Demonstration 2

envelopeGeneratorTrapezoid, proportional, loop, 100, (basketGen,
orderedCyclic, (60,40,20)), (basketGen, orderedCyclic, (1,5,10)), (constant,
6), (constant, 8), (constant, 2), (constant, 0), (constant, 1)

Example C-38. envelopeGeneratorTrapezoid Demonstration 3

envelopeGeneratorTrapezoid, absolute, loop, 100, (basketGen, orderedCyclic,
(60,40,20)), (basketGen, orderedCyclic, (1,5,10)), (constant, 6), (constant,
8), (constant, 2), (constant, 0), (constant, 1)

C.1.22. envelopeGeneratorUnit (egu)

envelopeGeneratorUnit, edgeString, eventCount, parameterObject, parameterObject, parameterObject, min, max

Description: Generates a sequence of dynamic envelopes with durations controlled by a Generator Parameter Object. Envelope duration is specified by the duration ParameterObject; all values are interpreted in seconds. The scaleString parameter determines if shape values are interpreted as proportional values or absolute values in seconds. The number of envelopes generated is controlled by the eventCount parameter; envelopes are looped when necessary. The minimum and maximum envelope value is scaled within the range designated by min and max; min and max are selected once per envelope; min and max may be specified with ParameterObjects.

Arguments: (1) name, (2) edgeString {'loop', 'single'}, (3) eventCount, (4) parameterObject {duration Generator}, (5) parameterObject {sustain center unit Generator}, (6) parameterObject {sustain width unit Generator}, (7) min, (8) max

Sample Arguments: egu, l, 100, (c,40), (c,0.4), (c,0.2), 0, 1

Example C-39. envelopeGeneratorUnit Demonstration 1

envelopeGeneratorUnit, loop, 100, (constant, 40), (constant, 0.4), (constant,
0.2), (constant, 0), (constant, 1)

Example C-40. envelopeGeneratorUnit Demonstration 2

envelopeGeneratorUnit, loop, 100, (basketGen, orderedCyclic, (60,40,20)),
(basketGen, orderedCyclic, (0.1,0.4,0.6)), (basketGen, orderedCyclic,
(0.1,0.5,0.8)), (constant, 0), (constant, 1)

C.1.23. funnelBinary (fb)

funnelBinary, thresholdMatchString, parameterObject, parameterObject, parameterObject, parameterObject

Description: A dynamic, two-part variable funnel. Given values produced by two boundary parameterObjects and a threshold ParameterObject, the output of a Generator ParameterObject value is shifted to one of the boundaries (or the threshold) depending on the relationship of the generated value to the threshold. If the generated value is equal to the threshold, the value may be shifted to the upper or lower value, or retain the threshold value.

Arguments: (1) name, (2) thresholdMatchString {'upper', 'lower', 'match'}, (3) parameterObject {threshold}, (4) parameterObject {first boundary}, (5) parameterObject {second boundary}, (6) parameterObject {generator of masked values}

Sample Arguments: fb, u, (bpl,e,s,((0,0),(120,1))), (ws,e,60,0,0.5,0), (wc,e,90,0,0.5,1), (ru,0,1)

Example C-41. funnelBinary Demonstration 1

funnelBinary, upper, (breakPointLinear, event, single, ((0,0),(120,1))),
(waveSine, event, (constant, 60), 0, (constant, 0.5), (constant, 0)),
(waveCosine, event, (constant, 90), 0, (constant, 0.5), (constant, 1)),
(randomUniform, (constant, 0), (constant, 1))

Example C-42. funnelBinary Demonstration 2

funnelBinary, match, (constant, 0.2), (breakPointLinear, event, loop,
((0,0),(60,0.5))), (breakPointLinear, event, loop, ((0,1),(60,0.5))),
(waveSine, event, (constant, 20), 0, (constant, 0), (constant, 1))

C.1.24. feedbackModelLibrary (fml)

feedbackModelLibrary, feedbackModelName, parameterObject, parameterObject, min, max

Description: A model of a feedback system made from discrete particles. This value is scaled within the range designated by min and max; min and max may be specified with ParameterObjects.

Arguments: (1) name, (2) feedbackModelName, (3) parameterObject {aging step}, (4) parameterObject {threshold}, (5) min, (6) max

Sample Arguments: fml, cc, (bg,rc,(1,3)), (c,0.9), 0, 1

Example C-43. feedbackModelLibrary Demonstration 1

feedbackModelLibrary, climateControl, (basketGen, randomChoice, (1,3)),
(constant, 0.9), (constant, 0), (constant, 1)

C.1.25. fibonacciSeries (fs)

fibonacciSeries, start, length, min, max, selectionString

Description: Provides values derived from a contigous section of the Fibonacci series. A section is built from an initial value (start) and as many additional values as specified by the length argument. Negative length values reverse the direction of the series. The resulting list of values is normalized within the unit interval. Values are chosen from this list using the selector specified by the selectionString argument. After selection, this value is scaled within the range designated by min and max; min and max may be specified with ParameterObjects.

Arguments: (1) name, (2) start, (3) length, (4) min, (5) max, (6) selectionString {'randomChoice', 'randomWalk', 'randomPermutate', 'orderedCyclic', 'orderedCyclicRetrograde', 'orderedOscillate'}

Sample Arguments: fs, 200, 20, 0, 1, oc

Example C-44. fibonacciSeries Demonstration 1

fibonacciSeries, 200, 20, (constant, 0), (constant, 1), orderedCyclic

Example C-45. fibonacciSeries Demonstration 2

fibonacciSeries, 40, 20, (constant, 0), (constant, 1), randomChoice

Example C-46. fibonacciSeries Demonstration 3

fibonacciSeries, 400, 20, (waveSine, event, (constant, 35), 0, (constant,
0.5), (constant, 0)), (cyclicGen, upDown, 0.6, 1, 0.03), orderedOscillate

C.1.26. grammarTerminus (gt)

grammarTerminus, grammarString, stepCount, selectionString

Description: Produces values from a one-dimensional string rewrite rule, or Lindenmayer-system generative grammar. The terminus, or final result of the number of generations of values specifed by the stepCount parameter, is used to produce a list of defined values. Values are chosen from this list using the selector specified by the selectionString argument.

Arguments: (1) name, (2) grammarString, (3) stepCount, (4) selectionString {'randomChoice', 'randomWalk', 'randomPermutate', 'orderedCyclic', 'orderedCyclicRetrograde', 'orderedOscillate'}

Sample Arguments: gt, a{.2}b{.5}c{.8}d{0}@a{ba}b{bc}c{cd}d{ac}@a, 6, oc

Example C-47. grammarTerminus Demonstration 1

grammarTerminus, a{.2}b{.5}c{.8}d{0}@a{ba}c{cd}b{bc}d{ac}@a, 6, orderedCyclic

C.1.27. henonBasket (hb)

henonBasket, xInit, yInit, parameterObject, parameterObject, valueCount, valueSelect, min, max, selectionString

Description: Performs the Henon map, a non-linear two-dimensional discrete deterministic dynamical system. For some parameter settings the system exhibits chaotic behavior, for others, periodic behavior; small changes in initial parameters may demonstrate the butterfly effect. Variables x and y describe coordinate positions; values a (alpha) and b (beta) configure the system. As the output range cannot be predicted, as many values as specified by the valueCount argument, as well as any combination of variables with the valueSelect argument, are generated and stored at initialization. These values are then scaled within the unit interval. Values are chosen from this list using the selector specified by the selectionString argument. After selection, this value is scaled within the range designated by min and max; min and max may be specified with ParameterObjects. Note: some values may cause unexpected results; alpha values should not exceed 2.0.

Arguments: (1) name, (2) xInit, (3) yInit, (4) parameterObject {a value}, (5) parameterObject {b value}, (6) valueCount, (7) valueSelect {'x', 'y', 'xy', 'yx'}, (8) min, (9) max, (10) selectionString {'randomChoice', 'randomWalk', 'randomPermutate', 'orderedCyclic', 'orderedCyclicRetrograde', 'orderedOscillate'}

Sample Arguments: hb, 0.5, 0.5, 1.4, 0.3, 1000, x, 0, 1, oc

Example C-48. henonBasket Demonstration 1

henonBasket, 0.5, 0.5, (constant, 1.4), (constant, 0.3), 1000, x, (constant,
0), (constant, 1), orderedCyclic

Example C-49. henonBasket Demonstration 2

henonBasket, 0.5, 0.5, (constant, 0.5), (constant, 0.8), 1000, yx, (constant,
0), (constant, 1), orderedCyclic

Example C-50. henonBasket Demonstration 3

henonBasket, 0.5, 0.5, (cyclicGen, upDown, 0, 0.9, 0.05), (constant, 0.3),
1000, xy, (constant, 0), (constant, 1), orderedCyclic

C.1.28. iterateCross (ic)

iterateCross, parameterObject, parameterObject, parameterObject

Description: Produces a single value cross faded between two values created by two Generator ParameterObjects in parallel. The cross fade is expressed as a number within the unit interval, where a value of zero is the output of the first Generator, a value of one is the output of the second Generator, and all other values are proportionally and linearly cross faded.

Arguments: (1) name, (2) parameterObject {first source Generator}, (3) parameterObject {second source Generator}, (4) parameterObject {interpolation between first and second Generator}

Sample Arguments: ic, (ws,e,30,0,0,1), (wp,e,30,0,0,1), (bpl,e,l,((0,0),(120,1)))

Example C-51. iterateCross Demonstration 1

iterateCross, (waveSine, event, (constant, 30), 0, (constant, 0), (constant,
1)), (wavePulse, event, (constant, 30), 0, (constant, 0), (constant, 1)),
(breakPointLinear, event, loop, ((0,0),(120,1)))

Example C-52. iterateCross Demonstration 2

iterateCross, (waveSine, event, (constant, 30), 0, (constant, 0), (constant,
1)), (randomUniform, (constant, 0), (constant, 1)), (breakPointLinear, event,
loop, ((0,0),(120,1)))

C.1.29. iterateGroup (ig)

iterateGroup, parameterObject, parameterObject

Description: Allows the output of a source ParameterObject to be grouped (a value is held and repeated a certain number of times), to be skipped (a number of values are generated and discarded), or to be bypassed. A numeric value from a control ParameterObject is used to determine the source ParameterObject behavior. A positive value (rounded to the nearest integer) will cause the value provided by the source ParameterObject to be repeated that many times. After output of these values, a new control value is generated. A negative value (rounded to the nearest integer) will cause that many number of values to be generated and discarded from the source ParameterObject, and force the selection of a new control value. A value of 0 is treated as a bypass, and forces the selection of a new control value. Note: if the control ParameterObject fails to produce positive values after many attempts, a value will be automatically generated from the selected ParameterObject.

Arguments: (1) name, (2) parameterObject {source Generator}, (3) parameterObject {group or skip control Generator}

Sample Arguments: ig, (ws,e,30,0,0,1), (bg,rc,(-3,1,-1,5))

Example C-53. iterateGroup Demonstration 1

iterateGroup, (waveSine, event, (constant, 30), 0, (constant, 0), (constant,
1)), (basketGen, randomChoice, (-3,1,-1,5))

Example C-54. iterateGroup Demonstration 2

iterateGroup, (waveCosine, event, (constant, 30), 0, (constant, 0), (constant,
1)), (waveTriangle, event, (constant, 20), 0, (constant, 4), (constant, -1))

C.1.30. iterateHold (ih)

iterateHold, parameterObject, parameterObject, parameterObject, selectionString

Description: Allows a variable number of outputs from a source ParameterObject, collected and stored in a list, to be held and selected. Values are chosen from this list using the selector specified by the selectionString argument. A numeric value from a size ParameterObject is used to determine how many values are drawn from the source ParameterObject. A numeric value from a refresh count ParameterObject is used to determine how many events must pass before a new size value is drawn and the source ParameterObject is used to refill the stored list. A refresh value of zero, once encountered, will prohibit any further changes to the stored list. Note: if the size ParameterObject fails to produce a non-zero value for the first event, an alternative count value will be assigned.

Arguments: (1) name, (2) parameterObject {source Generator}, (3) parameterObject {size Generator}, (4) parameterObject {refresh count Generator}, (5) selectionString {'randomChoice', 'randomWalk', 'randomPermutate', 'orderedCyclic', 'orderedCyclicRetrograde', 'orderedOscillate'}

Sample Arguments: ih, (ru,0,1), (bg,rc,(2,3,4)), (bg,oc,(12,24)), oc

Example C-55. iterateHold Demonstration 1

iterateHold, (randomUniform, (constant, 0), (constant, 1)), (basketGen,
randomChoice, (2,3,4)), (basketGen, orderedCyclic, (12,24)), orderedCyclic

Example C-56. iterateHold Demonstration 2

iterateHold, (waveSine, event, (constant, 30), 0, (constant, 0), (constant,
1)), (basketGen, randomChoice, (3,4,5)), (basketGen, orderedCyclic,
(6,12,18)), orderedOscillate

C.1.31. iterateSelect (is)

iterateSelect, parameterObject, parameterObject, parameterObject, parameterObject

Description: Allows a variable number of outputs from a source ParameterObject, collected and stored in a list, to be selected with values within the unit interval produced by an embedded ParameterObject. Values that exceed the unit interval are limited within the unit interval. Values are chosen from this list using the selector specified by the selectionString argument. A numeric value from a size ParameterObject is used to determine how many values are drawn from the source ParameterObject. A numeric value from a refresh count ParameterObject is used to determine how many events must pass before a new size value is drawn and the source ParameterObject is used to refill the stored list. A refresh value of zero, once encountered, will prohibit any further changes to the stored list. Note: if the size ParameterObject fails to produce a non-zero value for the first event, an alternative count value will be assigned.

Arguments: (1) name, (2) parameterObject {source Generator}, (3) parameterObject {size Generator}, (4) parameterObject {refresh count Generator}, (5) parameterObject {selection Generator}

Sample Arguments: is, (ru,0,1), (bg,rc,(10,11,12)), (bg,oc,(12,24)), (rb,0.15,0.15,0,1)

Example C-57. iterateSelect Demonstration 1

iterateSelect, (randomUniform, (constant, 0), (constant, 1)), (basketGen,
randomChoice, (10,11,12)), (basketGen, orderedCyclic, (12,24)), (randomBeta,
0.15, 0.15, (constant, 0), (constant, 1))

Example C-58. iterateSelect Demonstration 2

iterateSelect, (listPrime, 20, 20, integer, orderedCyclic), (constant, 20),
(constant, 20), (randomBeta, 0.2, 0.2, (constant, 0), (constant, 1))

C.1.32. iterateWindow (iw)

iterateWindow, parameterObjectList, parameterObject, selectionString

Description: Allows a ParameterObject, selected from a list of ParameterObjects, to generate values, to skip values (a number of values are generated and discarded), or to bypass value generation. A numeric value from a control ParameterObject is used to determine the selected ParameterObject behavior. A positive value (rounded to the nearest integer) will cause the selected ParameterObject to produce that many new values. After output of these values, a new ParameterObject is selected. A negative value (rounded to the nearest integer) will cause the selected ParameterObject to generate and discard that many values, and force the selection of a new ParameterObject. A value equal to 0 is treated as a bypass, and forces the selection of a new ParameterObject. ParameterObject selection is determined with a string argument for a selection method. Note: if the control ParameterObject fails to produce positive values after many attempts, a value will be automatically generated from the selected ParameterObject.

Arguments: (1) name, (2) parameterObjectList {a list of Generators}, (3) parameterObject {generate or skip control Generator}, (4) selectionString {'randomChoice', 'randomWalk', 'randomPermutate', 'orderedCyclic', 'orderedCyclicRetrograde', 'orderedOscillate'}

Sample Arguments: iw, ((ru,0,1),(wt,e,30,0,0,1)), (bg,oc,(8,4,-2)), oc

Example C-59. iterateWindow Demonstration 1

iterateWindow, ((randomUniform, (constant, 0), (constant, 1)), (waveTriangle,
event, (constant, 30), 0, (constant, 0), (constant, 1))), (basketGen,
orderedCyclic, (8,4,-2)), orderedCyclic

Example C-60. iterateWindow Demonstration 2

iterateWindow, ((randomUniform, (constant, 1), (accumulator, 0, (constant,
-0.2))), (waveSine, event, (constant, 15), 0.25, (accumulator, 1, (constant,
0.4)), (constant, 1))), (basketGen, orderedCyclic, (8,8,-11)), randomChoice

C.1.33. lorenzBasket (lb)

lorenzBasket, xInit, yInit, zInit, parameterObject, parameterObject, parameterObject, valueCount, valueSelect, min, max, selectionString

Description: Performs the Lorenz attractor, a non-linear three-dimensional discrete deterministic dynamical system. The equations are derived from a simplified model of atmospheric convection rolls. For some parameter settings the system exhibits chaotic behavior, for others, periodic behavior; small changes in initial parameters may demonstrate the butterfly effect. Variables x, y, and z are proportional to convective intensity, temperature difference between descending and ascending currents, and the difference in vertical temperature profile from linearity. Values s (sigma), r, and b are the Prandtl number, the quotient of the Rayleigh number and the critical Rayleigh number, and the geometric factor. As the output range cannot be predicted, as many values as specified by the valueCount argument, as well as any combination of variables with the valueSelect argument, are generated and stored at initialization. These values are then scaled within the unit interval. Values are chosen from this list using the selector specified by the selectionString argument. After selection, this value is scaled within the range designated by min and max; min and max may be specified with ParameterObjects. Note: some values may cause unexpected results; r should not exceed 90.

Arguments: (1) name, (2) xInit, (3) yInit, (4) zInit, (5) parameterObject {r value}, (6) parameterObject {s value}, (7) parameterObject {b value}, (8) valueCount, (9) valueSelect {'x', 'y', 'z', 'xy', 'xz', 'yx', 'yz', 'zx', 'zy', 'xyz', 'xzy', 'yxz', 'yzx', 'zxy', 'zyx'}, (10) min, (11) max, (12) selectionString {'randomChoice', 'randomWalk', 'randomPermutate', 'orderedCyclic', 'orderedCyclicRetrograde', 'orderedOscillate'}

Sample Arguments: lb, 1.0, 1.0, 1.0, 28, 10, 2.67, 1000, xyz, 0, 1, oc

Example C-61. lorenzBasket Demonstration 1

lorenzBasket, 1.0, 1.0, 1.0, (constant, 28), (constant, 10), (constant, 2.67),
1000, xyz, (constant, 0), (constant, 1), orderedCyclic

Example C-62. lorenzBasket Demonstration 2

lorenzBasket, 0.5, 1.5, 10, (cyclicGen, down, 1, 80, 1.5), (constant, 10),
(constant, 12.4), 1000, x, (constant, 0), (constant, 1), orderedCyclic

C.1.34. logisticMap (lm)

logisticMap, initValue, parameterObject, min, max

Description: Performs the logistic map, or the Verhulst population growth equation. The logistic map is a non-linear one-dimensional discrete deterministic dynamical system. For some parameter settings the system exhibits chaotic behavior, for others, periodic behavior; small changes in initial parameters may demonstrate the butterfly effect. Variable x represents the population value; value p represents a combined rate for reproduction and starvation. The p argument allows the user to provide a static or dynamic value to the equation. Certain p-value presets can be provided with strings: 'bi', 'quad', or 'chaos'. If a number is provided for p, the value will be used to create a constant ParameterObject. The equation outputs values within the unit interval. These values are scaled within the range designated by min and max; min and max may be specified with ParameterObjects.

Arguments: (1) name, (2) initValue, (3) parameterObject {p value}, (4) min, (5) max

Sample Arguments: lm, 0.5, (wt,e,90,0,2.75,4), 0, 1

Example C-63. logisticMap Demonstration 1

logisticMap, 0.5, (waveTriangle, event, (constant, 90), 0, (constant, 2.75),
(constant, 4)), (constant, 0), (constant, 1)

Example C-64. logisticMap Demonstration 2

logisticMap, 0.1, (basketGen, randomWalk, (3,3,3,3.2,3.2,3.2,3.9,3.9,3.9)),
(constant, 0), (constant, 1)

Example C-65. logisticMap Demonstration 3

logisticMap, 0.5, (iterateGroup, (basketGen, randomChoice, (3,3.2,3.57)),
(basketGen, randomChoice, (5,7,9))), (breakPointLinear, event, loop,
((0,0.5),(60,0),(120,0.5))), (breakPointLinear, event, loop, ((0,0.5),(40,3)))

C.1.35. listPrime (lp)

listPrime, start, length, format, selectionString

Description: Produces a segment of prime (pseudoprime) integers defined by a positive or negative start value and a length. Depending on format type, the resulting segment can be given as an integer, width, unit, or binary segment. Values are chosen from this list using the selector specified by the selectionString argument.

Arguments: (1) name, (2) start, (3) length, (4) format {'integer', 'width', 'unit', 'binary'}, (5) selectionString {'randomChoice', 'randomWalk', 'randomPermutate', 'orderedCyclic', 'orderedCyclicRetrograde', 'orderedOscillate'}

Sample Arguments: lp, 2, 50, int, oc

Example C-66. listPrime Demonstration 1

listPrime, 2, 50, integer, orderedCyclic

Example C-67. listPrime Demonstration 2

listPrime, -100, 100, width, randomChoice

Example C-68. listPrime Demonstration 3

listPrime, 200, -30, binary, randomPermutate

C.1.36. lineSegment (ls)

lineSegment, stepString, parameterObject, min, max

Description: Provides a dynamic line segment created from three embedded Generator ParameterObjects. Start and end values, taken from min and max generators, are used to create a line segment spaning the time or event distance provided by the secPerCycle argument. Depending on the stepString argument, the period rate (frequency) may be specified in spc (seconds per cycle) or eps (events per cycle).

Arguments: (1) name, (2) stepString {'event', 'time'}, (3) parameterObject {secPerCycle}, (4) min, (5) max

Sample Arguments: ls, e, 10, 0, 5

Example C-69. lineSegment Demonstration 1

lineSegment, (constant, 10), (constant, 0), (constant, 5)

Example C-70. lineSegment Demonstration 2

lineSegment, (basketGen, randomChoice, (4,7,18)), (randomUniform, (constant,
0), (constant, 20)), (randomUniform, (constant, 30), (constant, 50))

Example C-71. lineSegment Demonstration 3

lineSegment, (waveSine, event, (constant, 5), 0, (constant, 2), (constant,
15)), (constant, 0), (randomUniform, (constant, 0), (constant, 100))

C.1.37. mask (m)

mask, boundaryString, parameterObject, parameterObject, parameterObject

Description: Given values produced by two boundary ParameterObjects in parallel, the Generator ParameterObject value is fit within these values. The fit is determined by the boundaryString: limit will fix the value at the nearest boundary; wrap will wrap the value through the range defined by the boundaries; reflect will bounce values in the opposite direction through the range defined by the boundaries.

Arguments: (1) name, (2) boundaryString {'limit', 'wrap', 'reflect'}, (3) parameterObject {first boundary}, (4) parameterObject {second boundary}, (5) parameterObject {generator of masked values}

Sample Arguments: m, l, (ws,e,60,0,0.5,0), (wc,e,90,0,0.5,1), (ru,0,1)

Example C-72. mask Demonstration 1

mask, limit, (waveSine, event, (constant, 60), 0, (constant, 0.5), (constant,
0)), (waveCosine, event, (constant, 90), 0, (constant, 0.5), (constant, 1)),
(randomUniform, (constant, 0), (constant, 1))

Example C-73. mask Demonstration 2

mask, wrap, (breakPointLinear, event, loop, ((0,0),(90,0.5))),
(breakPointLinear, event, loop, ((0,1),(90,0.5))), (waveSine, event,
(constant, 30), 0, (constant, 0), (constant, 1))

Example C-74. mask Demonstration 3

mask, reflect, (waveSine, event, (constant, 60), 0.25, (constant, 0.7),
(constant, 1)), (breakPointLinear, event, loop, ((0,0.4),(90,0),(120,0.4))),
(waveSine, event, (constant, 24), 0, (constant, 0), (constant, 1))

C.1.38. markovGeneratorAnalysis (mga)

markovGeneratorAnalysis, parameterObject, valueCount, maxAnalysisOrder, parameterObject

Description: Produces values by means of a Markov analysis of values provided by a source Generator ParameterObject; the analysis of these values is used with a dynamic transition order Generator to produce new values. The number of values drawn from the source Generator is specified with the valueCount argument. The maximum order of analysis is specified with the maxAnalysisOrder argument. Markov transition order is specified by a ParameterObject that produces values between 0 and the maximum order available in the Markov transition string. If generated-orders are greater than those available, the largest available transition order will be used. Floating-point order values are treated as probabilistic weightings: for example, a transition of 1.5 offers equal probability of first or second order selection.

Arguments: (1) name, (2) parameterObject {source Generator}, (3) valueCount, (4) maxAnalysisOrder, (5) parameterObject {output order value}

Sample Arguments: mga, (ws,e,30,0,0,1), 30, 2, (mv,a{1}b{0}c{2}:{a=10|b=1|c=2},(c,0))

Example C-75. markovGeneratorAnalysis Demonstration 1

markovGeneratorAnalysis, (waveSine, event, (constant, 30), 0, (constant, 0),
(constant, 1)), 30, 2, (markovValue, a{1}b{0}c{2}:{a=10|b=1|c=2}, (constant,
0))

Example C-76. markovGeneratorAnalysis Demonstration 2

markovGeneratorAnalysis, (breakPointPower, event, loop,
((0,0.5),(10,1),(15,0)), 2), 15, 2, (basketGen, randomWalk, (0,1,2,2,1))

Example C-77. markovGeneratorAnalysis Demonstration 3

markovGeneratorAnalysis, (basketGen, orderedCyclic,
(0.3,0.3,0.3,0,0.9,0.9,0.6)), 28, 2, (markovValue,
a{1}b{0}c{2}:{a=10|b=1|c=2}, (constant, 0))

C.1.39. maskReject (mr)

maskReject, boundaryString, parameterObject, parameterObject, parameterObject

Description: Given values produced by two boundary ParameterObjects in parallel, the Generator ParameterObject value is fit outside of these values. The fit is determined by the boundaryString: limit will fix the value at the nearest boundary; wrap will wrap the value through the range defined by the boundaries; reflect will bounce values in the opposite direction through the range defined by the boundaries.

Arguments: (1) name, (2) boundaryString {'limit', 'wrap', 'reflect'}, (3) parameterObject {first boundary}, (4) parameterObject {second boundary}, (5) parameterObject {generator of masked values}

Sample Arguments: mr, l, (ws,e,60,0,0.5,0), (wc,e,90,0,0.5,1), (ru,0,1)

Example C-78. maskReject Demonstration 1

maskReject, limit, (waveSine, event, (constant, 60), 0, (constant, 0.5),
(constant, 0)), (waveCosine, event, (constant, 90), 0, (constant, 0.5),
(constant, 1)), (randomUniform, (constant, 0), (constant, 1))

Example C-79. maskReject Demonstration 2

maskReject, wrap, (breakPointLinear, event, loop, ((0,0),(90,0.5))),
(breakPointLinear, event, loop, ((0,1),(90,0.5))), (waveSine, event,
(constant, 30), 0, (constant, 0), (constant, 1))

Example C-80. maskReject Demonstration 3

maskReject, reflect, (waveSine, event, (constant, 60), 0.25, (constant, 0.7),
(constant, 1)), (breakPointLinear, event, loop, ((0,0.4),(90,0),(120,0.4))),
(waveSine, event, (constant, 24), 0, (constant, 0), (constant, 1))

C.1.40. maskScale (ms)

maskScale, parameterObject, valueCount, min, max, selectionString

Description: Given values produced by two boundary ParameterObjects in parallel, the Generator ParameterObject value is scaled within these values. A collection of values created by the Generator ParameterObject are stored. The resulting list of values is normalized within the unit interval. Values are chosen from this list using the selector specified by the selectionString argument. After selection, this value is scaled within the range designated by min and max; min and max may be specified with ParameterObjects.

Arguments: (1) name, (2) parameterObject {source Generator}, (3) valueCount, (4) min, (5) max, (6) selectionString {'randomChoice', 'randomWalk', 'randomPermutate', 'orderedCyclic', 'orderedCyclicRetrograde', 'orderedOscillate'}

Sample Arguments: ms, (lp,100,120,w,oc), 120, (bphc,e,l,((0,0),(120,-3))), 3, oc

Example C-81. maskScale Demonstration 1

maskScale, (listPrime, 100, 120, width, orderedCyclic), 120,
(breakPointHalfCosine, event, loop, ((0,0),(120,-3))), (constant, 3),
orderedCyclic

C.1.41. markovValue (mv)

markovValue, transitionString, parameterObject

Description: Produces values by means of a Markov transition string specification and a dynamic transition order generator. Markov transition order is specified by a ParameterObject that produces values between 0 and the maximum order available in the Markov transition string. If generated-orders are greater than those available, the largest available transition order will be used. Floating-point order values are treated as probabilistic weightings: for example, a transition of 1.5 offers equal probability of first or second order selection.

Arguments: (1) name, (2) transitionString, (3) parameterObject {order value}

Sample Arguments: mv, a{.2}b{.5}c{.8}d{0}:{a=5|b=4|c=7|d=1}, (c,0)

Example C-82. markovValue Demonstration 1

markovValue, a{.2}b{.5}c{.8}d{0}:{a=5|b=4|c=7|d=1}, (constant, 0)

Example C-83. markovValue Demonstration 2

markovValue, a{0}b{.2}c{.4}d{.6}e{.8}f{1}:{a=3|b=6|c=8|d=8|e=5|f=2}a:{b=3}b:{a
=2|c=4}c:{b=3|d=5}d:{a=1|c=4|e=3}e:{d=3|f=2}f:{e=2}a:b:{c=3}b:a:{b=2}b:c:{d=4}
c:b:{a=2|c=1}c:d:{a=1|c=1|e=3}d:a:{b=1}d:c:{b=3|d=1}d:e:{d=1|f=2}e:d:{c=3}e:f:
{e=2}f:e:{d=2}, (breakPointLinear, event, single, ((0,0),(119,2)))

C.1.42. noise (n)

noise, resolution, parameterObject, min, max

Description: Fractional noise (1/fn) Generator, capable of producing states and transitions between 1/f white, pink, brown, and black noise. Resolution is an integer that describes how many generators are used. The gamma argument determines what type of noise is created. All gamma values are treated as negative. A gamma of 0 is white noise; a gamma of 1 is pink noise; a gamma of 2 is brown noise; and anything greater is black noise. Gamma can be controlled by a dynamic ParameterObject. The value produced by the noise generator is scaled within the unit interval. This normalized value is then scaled within the range designated by min and max; min and max may be specified by ParameterObjects.

Arguments: (1) name, (2) resolution, (3) parameterObject {gamma value as string or number}, (4) min, (5) max

Sample Arguments: n, 100, pink, 0, 1

Example C-84. noise Demonstration 1

noise, 100, (constant, 1), (constant, 0), (constant, 1)

Example C-85. noise Demonstration 2

noise, 100, (constant, 3), (constant, 0), (constant, 1)

Example C-86. noise Demonstration 3

noise, 100, (waveTriangle, event, (constant, 120), 0, (constant, 1),
(constant, 3)), (constant, 0), (constant, 1)

Example C-87. noise Demonstration 4

noise, 100, (basketGen, randomChoice, (3,3,3,3,2,1)), (constant, 0),
(constant, 1)

C.1.43. operatorAdd (oa)

operatorAdd, parameterObject, parameterObject

Description: Adds the value of the first ParameterObject to the second ParameterObject.

Arguments: (1) name, (2) parameterObject {first value}, (3) parameterObject {second value}

Sample Arguments: oa, (ws,e,30,0,0,1), (a,0.5,(c,0.03))

Example C-88. operatorAdd Demonstration 1

operatorAdd, (waveSine, event, (constant, 30), 0, (constant, 0), (constant,
1)), (accumulator, 0.5, (constant, 0.03))

C.1.44. operatorCongruence (oc)

operatorCongruence, parameterObject, parameterObject

Description: Produces the congruent value of the first ParameterObject object as the modulus of the second ParameterObject. A modulus by zero, if encountered, returns the value of the first ParameterObject unaltered.

Arguments: (1) name, (2) parameterObject {first value}, (3) parameterObject {second value}

Sample Arguments: oc, (ws,e,30,0,0,1), (a,0.5,(c,0.03))

Example C-89. operatorCongruence Demonstration 1

operatorCongruence, (waveSine, event, (constant, 30), 0, (constant, 0),
(constant, 1)), (accumulator, 0.5, (constant, 0.03))

C.1.45. operatorDivide (od)

operatorDivide, parameterObject, parameterObject

Description: Divides the value of the first ParameterObject object by the second ParameterObject. Division by zero, if encountered, returns the value of the first Generator.

Arguments: (1) name, (2) parameterObject {first value}, (3) parameterObject {second value}

Sample Arguments: od, (ws,e,30,0,0,1), (a,0.5,(c,0.03))

Example C-90. operatorDivide Demonstration 1

operatorDivide, (waveSine, event, (constant, 30), 0, (constant, 0), (constant,
1)), (accumulator, 0.5, (constant, 0.03))

C.1.46. operatorMultiply (om)

operatorMultiply, parameterObject, parameterObject

Description: Multiplies the value of the first ParameterObject by the second.

Arguments: (1) name, (2) parameterObject {first value}, (3) parameterObject {second value}

Sample Arguments: om, (ws,e,30,0,0,1), (a,0.5,(c,0.03))

Example C-91. operatorMultiply Demonstration 1

operatorMultiply, (waveSine, event, (constant, 30), 0, (constant, 0),
(constant, 1)), (accumulator, 0.5, (constant, 0.03))

C.1.47. oneOver (oo)

oneOver, parameterObject

Description: Produces the value of one over the value of a ParameterObject. Divisors of zero are resolved to 1.

Arguments: (1) name, (2) parameterObject {value}

Sample Arguments: oo, (ws,e,30,0,0.5,2)

Example C-92. oneOver Demonstration 1

oneOver, (waveSine, event, (constant, 30), 0, (constant, 0.5), (constant, 2))

C.1.48. operatorPower (op)

operatorPower, parameterObject, parameterObject

Description: Raises the value of the first ParameterObject to the power of the second ParameterObject.

Arguments: (1) name, (2) parameterObject {first value}, (3) parameterObject {second value}

Sample Arguments: op, (ws,e,30,0,0,1), (a,0.5,(c,0.03))

Example C-93. operatorPower Demonstration 1

operatorPower, (waveSine, event, (constant, 30), 0, (constant, 0), (constant,
1)), (accumulator, 0.5, (constant, 0.03))

C.1.49. operatorSubtract (os)

operatorSubtract, parameterObject, parameterObject

Description: Subtracts the value of the second ParameterObject from the first ParameterObject.

Arguments: (1) name, (2) parameterObject {first value}, (3) parameterObject {second value}

Sample Arguments: os, (ws,e,30,0,0,1), (a,0.5,(c,0.03))

Example C-94. operatorSubtract Demonstration 1

operatorSubtract, (waveSine, event, (constant, 30), 0, (constant, 0),
(constant, 1)), (accumulator, 0.5, (constant, 0.03))

C.1.50. pathRead (pr)

pathRead, pathFormatString

Description: Extracts pitch information from the current Multiset within a Texture's Path. Data can be presented in a variety of formats including representations of the Multiset as 'forte', 'mason', or data on the current active pitch as 'fq' (frequency), 'ps' (psReal), 'midi' (midi pitch values), 'pch' (Csound pitch octave format), or 'name' (alphabetic note names).

Arguments: (1) name, (2) pathFormatString {'forte', 'mason', 'fq', 'ps', 'midi', 'pch', 'name'}

Sample Arguments: pr, forte

C.1.51. quantize (q)

quantize, parameterObject, parameterObject, stepCount, parameterObject, parameterObject

Description: Dynamic grid size and grid position quantization. For each value provided by the source ParameterObject, a grid is created. This grid is made by taking the number of steps specified by the stepCount integer from the step width Generator ParameterObject. The absolute value of these widths are used to create a grid above and below the reference value, with grid steps taken in order. The value provided by the source ParameterObject is found within this grid, and pulled to the nearest grid line. The degree of pull can be a dynamically allocated with a unit-interval quantize pull ParameterObject. A value of 1 forces all values to snap to the grid; a value of .5 will cause a weighted attraction.

Arguments: (1) name, (2) parameterObject {grid reference value Generator}, (3) parameterObject {step width Generator}, (4) stepCount, (5) parameterObject {unit interval measure of quantize pull}, (6) parameterObject {source Generator}

Sample Arguments: q, (c,0), (c,0.25), 1, (c,1), (ru,0,1)

Example C-95. quantize Demonstration 1

quantize, (constant, 0), (constant, 0.25), 1, (constant, 1), (randomUniform,
(constant, 0), (constant, 1))

Example C-96. quantize Demonstration 2

quantize, (constant, 0), (basketGen, orderedCyclic, (0.05,0.2)), 2,
(breakPointLinear, event, loop, ((0,1),(120,0.5))), (wavePowerUp, event,
(constant, 20), -2, 0, (constant, 0), (constant, 1))

Example C-97. quantize Demonstration 3

quantize, (waveSine, event, (constant, 60), 0, (constant, 1.25), (constant,
1.75)), (cyclicGen, upDown, 0.3, 0.9, 0.006), 1, (breakPointLinear, event,
loop, ((0,1),(40,1),(120,0.25))), (randomUniform, (constant, 0), (constant,
1))

C.1.52. randomBeta (rb)

randomBeta, alpha, beta, min, max

Description: Provides random numbers between 0 and 1 within a Beta distribution. This value is scaled within the range designated by min and max; min and max may be specified with ParameterObjects. Alpha and beta values should be between 0 and 1; small alpha and beta values (such as 0.1) increase the probability of events at the boundaries.

Arguments: (1) name, (2) alpha, (3) beta, (4) min, (5) max

Sample Arguments: rb, 0.5, 0.5, 0, 1

Example C-98. randomBeta Demonstration 1

randomBeta, 0.5, 0.5, (constant, 0), (constant, 1)

Example C-99. randomBeta Demonstration 2

randomBeta, 0.2, 0.2, (waveSine, event, (constant, 60), 0, (constant, 0),
(constant, 0.5)), (constant, 1)

C.1.53. randomBilateralExponential (rbe)

randomBilateralExponential, lambda, min, max

Description: Provides random numbers between 0 and 1 within a bilateral exponential distribution. This value is scaled within the range designated by min and max; min and max may be specified with ParameterObjects.

Arguments: (1) name, (2) lambda, (3) min, (4) max

Sample Arguments: rbe, 0.5, 0, 1

Example C-100. randomBilateralExponential Demonstration 1

randomBilateralExponential, 0.5, (constant, 0), (constant, 1)

Example C-101. randomBilateralExponential Demonstration 2

randomBilateralExponential, 10.0, (constant, 0), (constant, 1)

Example C-102. randomBilateralExponential Demonstration 3

randomBilateralExponential, 20.0, (constant, 0), (breakPointPower, event,
loop, ((0,1),(40,0.6),(80,1)), 2)

C.1.54. randomCauchy (rc)

randomCauchy, alpha, mu, min, max

Description: Provides random numbers between 0 and 1 within a Cauchy distribution. This value is scaled within the range designated by min and max; min and max may be specified with ParameterObjects. Note: suggested values: alpha = 0.1, mu = 0.5.

Arguments: (1) name, (2) alpha, (3) mu, (4) min, (5) max

Sample Arguments: rc, 0.1, 0.5, 0, 1

Example C-103. randomCauchy Demonstration 1

randomCauchy, 0.1, 0.5, (constant, 0), (constant, 1)

Example C-104. randomCauchy Demonstration 2

randomCauchy, 0.1, 0.1, (constant, 1), (breakPointPower, event, loop,
((0,0),(120,0.3)), 2)

Example C-105. randomCauchy Demonstration 3

randomCauchy, 0.1, 0.9, (constant, 0), (breakPointPower, event, loop,
((0,1),(120,0.3)), 2)

C.1.55. randomExponential (re)

randomExponential, lambda, min, max

Description: Provides random numbers between 0 and 1 within an exponential distribution. This value is scaled within the range designated by min and max; min and max may be specified with ParameterObjects. Lambda values should be greater than 0. Lambda values control the spread of values; larger values (such as 10) increase the probability of events near the minimum.

Arguments: (1) name, (2) lambda, (3) min, (4) max

Sample Arguments: re, 0.5, 0, 1

Example C-106. randomExponential Demonstration 1

randomExponential, 0.5, (constant, 0), (constant, 1)

Example C-107. randomExponential Demonstration 2

randomExponential, 100.0, (constant, 0), (constant, 1)

Example C-108. randomExponential Demonstration 3

randomExponential, 10.0, (breakPointLinear, event, loop, ((0,0),(120,0.5))),
(breakPointLinear, event, loop, ((0,0.5),(120,1)))

C.1.56. randomGauss (rg)

randomGauss, mu, sigma, min, max

Description: Provides random numbers between 0 and 1 within a Gaussian distribution. This value is scaled within the range designated by min and max; min and max may be specified with ParameterObjects. Note: suggested values: mu = 0.5, sigma = 0.1.

Arguments: (1) name, (2) mu, (3) sigma, (4) min, (5) max

Sample Arguments: rg, 0.5, 0.1, 0, 1

Example C-109. randomGauss Demonstration 1

randomGauss, 0.5, 0.1, (constant, 0), (constant, 1)

Example C-110. randomGauss Demonstration 2

randomGauss, 0.5, 0.5, (waveSine, event, (constant, 120), 0.25, (constant, 0),
(constant, 0.5)), (waveSine, event, (constant, 120), 0.5, (constant, 1),
(constant, 0.5))

C.1.57. randomInverseExponential (rie)

randomInverseExponential, lambda, min, max

Description: Provides random numbers between 0 and 1 within an inverse exponential distribution. Lambda values control the spread of values; larger values (such as 10) increase the probability of events near the maximum. This value is scaled within the range designated by min and max; min and max may be specified with ParameterObjects.

Arguments: (1) name, (2) lambda, (3) min, (4) max

Sample Arguments: rie, 0.5, 0, 1

Example C-111. randomInverseExponential Demonstration 1

randomInverseExponential, 0.5, (constant, 0), (constant, 1)

Example C-112. randomInverseExponential Demonstration 2

randomInverseExponential, 100.0, (constant, 0), (constant, 1)

Example C-113. randomInverseExponential Demonstration 3

randomInverseExponential, 10.0, (breakPointLinear, event, loop,
((0,0.5),(120,0))), (breakPointLinear, event, loop, ((0,1),(120,0.5)))

C.1.58. randomInverseLinear (ril)

randomInverseLinear, min, max

Description: Provides random numbers between 0 and 1 within a linearly increasing distribution. This value is scaled within the range designated by min and max; min and max may be specified with ParameterObjects. Note: values are distributed more strongly toward max.

Arguments: (1) name, (2) min, (3) max

Sample Arguments: ril, 0, 1

Example C-114. randomInverseLinear Demonstration 1

randomInverseLinear, (constant, 0), (constant, 1)

Example C-115. randomInverseLinear Demonstration 2

randomInverseLinear, (accumulator, 0, (constant, 0.01)), (accumulator, 0.2,
(constant, 0.03))

C.1.59. randomInverseTriangular (rit)

randomInverseTriangular, min, max

Description: Provides random numbers between 0 and 1 within an inverse triangular distribution. This value is scaled within the range designated by min and max; min and max may be specified with ParameterObjects. Note: values are distributed more strongly away from the mean of min and max.

Arguments: (1) name, (2) min, (3) max

Sample Arguments: rit, 0, 1

Example C-116. randomInverseTriangular Demonstration 1

randomInverseTriangular, (constant, 0), (constant, 1)

Example C-117. randomInverseTriangular Demonstration 2

randomInverseTriangular, (constant, 0), (wavePowerDown, event, (constant, 40),
0, 2, (constant, 1), (constant, 0.1))

C.1.60. randomLinear (rl)

randomLinear, min, max

Description: Provides random numbers between 0 and 1 within a linearly decreasing distribution. This value is scaled within the range designated by min and max; min and max may be specified with ParameterObjects. Note: values are distributed more strongly toward min.

Arguments: (1) name, (2) min, (3) max

Sample Arguments: rl, 0, 1

Example C-118. randomLinear Demonstration 1

randomLinear, (constant, 0), (constant, 1)

Example C-119. randomLinear Demonstration 2

randomLinear, (accumulator, 0.5, (constant, -0.01)), (accumulator, 0.5,
(constant, 0.01))

C.1.61. randomTriangular (rt)

randomTriangular, min, max

Description: Provides random numbers between 0 and 1 within a triangular distribution. This value is scaled within the range designated by min and max; min and max may be specified with ParameterObjects. Note: values are distributed more strongly toward the mean of min and max.

Arguments: (1) name, (2) min, (3) max

Sample Arguments: rt, 0, 1

Example C-120. randomTriangular Demonstration 1

randomTriangular, (constant, 0), (constant, 1)

Example C-121. randomTriangular Demonstration 2

randomTriangular, (constant, 0), (wavePowerDown, event, (constant, 90), 0,
-1.5, (constant, 1), (constant, 0))

C.1.62. randomUniform (ru)

randomUniform, min, max

Description: Provides random numbers between 0 and 1 within an uniform distribution. This value is scaled within the range designated by min and max; min and max may be specified with ParameterObjects. Note: values are evenly distributed between min and max.

Arguments: (1) name, (2) min, (3) max

Sample Arguments: ru, 0, 1

Example C-122. randomUniform Demonstration 1

randomUniform, (constant, 0), (constant, 1)

Example C-123. randomUniform Demonstration 2

randomUniform, (waveSine, event, (constant, 60), 0, (constant, 0.5),
(constant, 0)), (waveSine, event, (constant, 40), 0.25, (constant, 1),
(constant, 0.5))

C.1.63. randomWeibull (rw)

randomWeibull, alpha, beta, min, max

Description: Provides random numbers between 0 and 1 within a Weibull distribution. This value is scaled within the range designated by min and max; min and max may be specified with ParameterObjects. Note: suggested values: alpha = 0.5, beta = 2.0.

Arguments: (1) name, (2) alpha, (3) beta, (4) min, (5) max

Sample Arguments: rw, 0.5, 2.0, 0, 1

Example C-124. randomWeibull Demonstration 1

randomWeibull, 0.5, 2.0, (constant, 0), (constant, 1)

Example C-125. randomWeibull Demonstration 2

randomWeibull, 0.9, 0.1, (constant, 0), (constant, 1)

Example C-126. randomWeibull Demonstration 3

randomWeibull, 0.1, 0.9, (waveSine, event, (constant, 240), 0, (constant, 0),
(constant, 0.4)), (constant, 1)

C.1.64. sampleAndHold (sah)

sampleAndHold, comparison, parameterObject, parameterObject, parameterObject

Description: A sample and hold generator. Produces, and continues to produce, a value drawn from the source Generator until the trigger Generator produces a value equal to the threshold Generator. All values are converted to floating-point values.

Arguments: (1) name, (2) comparison, (3) parameterObject {source Generator}, (4) parameterObject {trigger Generator}, (5) parameterObject {trigger threshold Generator}

Sample Arguments: sah, gt, (ru,0,1), (wsd,e,10,0,0,1), (c,0.5)

Example C-127. sampleAndHold Demonstration 1

sampleAndHold, greaterThan, (randomUniform, (constant, 0), (constant, 1)),
(waveSawDown, event, (constant, 10), 0, (constant, 0), (constant, 1)),
(constant, 0.5)

Example C-128. sampleAndHold Demonstration 2

sampleAndHold, equal, (randomUniform, (constant, 0), (constant, 1)),
(wavePulse, event, (constant, 20), 0, (constant, 0), (constant, 1)),
(constant, 1)

Example C-129. sampleAndHold Demonstration 3

sampleAndHold, equal, (randomUniform, (constant, 0), (constant, 1)),
(waveSawDown, event, (constant, 5), 0, (constant, 0), (constant, 1)),
(constant, 1)

C.1.65. sieveFunnel (sf)

sieveFunnel, logicalString, length, min, max, parameterObject

Description: Using the user-supplied logical string, this Generator produces a Xenakis sieve segment within the z range of zero to one less than the supplied length. Values produced with the fill value Generator ParameterObject are funneled through this sieve: given a fill value, the nearest sieve value is selected and returned. Note: the fill value ParameterObject min and max should be set to 0 and 1.

Arguments: (1) name, (2) logicalString, (3) length, (4) min, (5) max, (6) parameterObject {fill value generator}

Sample Arguments: sf, 3|4, 24, 0, 1, (ru,0,1)

Example C-130. sieveFunnel Demonstration 1

sieveFunnel, 3@0|4@0, 24, (constant, 0), (constant, 1), (randomUniform,
(constant, 0), (constant, 1))

Example C-131. sieveFunnel Demonstration 2

sieveFunnel, 5@0|13@0, 14, (waveSine, event, (constant, 60), 0, (constant, 0),
(constant, 0.25)), (waveSine, event, (constant, 60), 0, (constant, 0.75),
(constant, 1)), (randomUniform, (constant, 0), (constant, 1))

Example C-132. sieveFunnel Demonstration 3

sieveFunnel, 13@5|13@7|13@11, 20, (accumulator, 0, (waveSine, event,
(constant, 30), 1, (constant, -0.75), (constant, 1.75))), (breakPointPower,
event, loop, ((0,100),(160,20)), 2), (randomBeta, 0.4, 0.3, (constant, 0),
(constant, 1))

C.1.66. sieveList (sl)

sieveList, logicalString, zMin, zMax, format, selectionString

Description: Produces a Xenakis sieve as a raw, variable format sieve segment list. A z is defined by the range of integers from zMin to zMax. Depending on format type, the resulting segment can be given as an integer, width, unit, or binary segment. Values are chosen from this list using the selector specified by the selectionString argument.

Arguments: (1) name, (2) logicalString, (3) zMin, (4) zMax, (5) format {'integer', 'width', 'unit', 'binary'}, (6) selectionString {'randomChoice', 'randomWalk', 'randomPermutate', 'orderedCyclic', 'orderedCyclicRetrograde', 'orderedOscillate'}

Sample Arguments: sl, 3|4, -12, 12, int, oc

Example C-133. sieveList Demonstration 1

sieveList, 3@0|4@0, -12, 12, integer, orderedCyclic

C.1.67. sampleSelect (ss)

sampleSelect, fileNameList, selectionString

Description: Given a list of file names (fileNameList), this Generator provides a complete file path to the file found within either the athenaCL/audio or the user-selected audio directory. Values are chosen from this list using the selector specified by the selectionString argument.

Arguments: (1) name, (2) fileNameList, (3) selectionString {'randomChoice', 'randomWalk', 'randomPermutate', 'orderedCyclic', 'orderedCyclicRetrograde', 'orderedOscillate'}

Sample Arguments: ss, (), rc

C.1.68. typeFormat (tf)

typeFormat, typeFormatString, parameterObject

Description: Convert the output of any ParameterObject into a different type or display format.

Arguments: (1) name, (2) typeFormatString {'string', 'stringQuote'}, (3) parameterObject {generator}

Sample Arguments: tf, sq, (bg,rc,(1,3,4,7,-11))

C.1.69. valuePrime (vp)

valuePrime, start, length, min, max, selectionString

Description: Produces a segment of prime (pseudoprime) integers defined by a positive or negative start value and a length. The resulting list of values is normalized within the unit interval. Values are chosen from this list using the selector specified by the selectionString argument. After selection, this value is scaled within the range designated by min and max; min and max may be specified with ParameterObjects.

Arguments: (1) name, (2) start, (3) length, (4) min, (5) max, (6) selectionString {'randomChoice', 'randomWalk', 'randomPermutate', 'orderedCyclic', 'orderedCyclicRetrograde', 'orderedOscillate'}

Sample Arguments: vp, 2, 50, 0, 1, oo

Example C-134. valuePrime Demonstration 1

valuePrime, 2, 50, (constant, 0), (constant, 1), orderedOscillate

Example C-135. valuePrime Demonstration 2

valuePrime, 100, 20, (breakPointHalfCosine, event, loop, ((0,0.5),(120,1))),
(constant, 1), randomPermutate

C.1.70. valueSieve (vs)

valueSieve, logicalString, length, min, max, selectionString

Description: Using the user-supplied logical string, this Generator produces a Xenakis sieve segment within the z range of zero to one less than the supplied length. The resulting list of values is normalized within the unit interval. Values are chosen from this list using the selector specified by the selectionString argument. After selection, this value is scaled within the range designated by min and max; min and max may be specified with ParameterObjects.

Arguments: (1) name, (2) logicalString, (3) length, (4) min, (5) max, (6) selectionString {'randomChoice', 'randomWalk', 'randomPermutate', 'orderedCyclic', 'orderedCyclicRetrograde', 'orderedOscillate'}

Sample Arguments: vs, 3&19|4&13@11, 360, 0, 1, oo

Example C-136. valueSieve Demonstration 1

valueSieve, 3@0&19@0|4@0&13@11, 360, (constant, 0), (constant, 1),
orderedOscillate

Example C-137. valueSieve Demonstration 2

valueSieve, 3@0&19@0|4@0&13@11|5@2&15@2, 120, (constant, 0), (constant, 1),
randomWalk

Example C-138. valueSieve Demonstration 3

valueSieve, 3@0&19@0|4@0&13@11, 240, (breakPointPower, event, single,
((0,0),(80,48),(120,30)), -1.25), (breakPointPower, event, single,
((0,100),(80,52),(120,100)), 1.25), orderedCyclic

Example C-139. valueSieve Demonstration 4

valueSieve, 3@0&19@0|4@0&13@11, 120, (breakPointPower, event, single,
((0,0),(80,48),(120,30)), -1.25), (breakPointPower, event, single,
((0,100),(80,52),(120,100)), 1.25), randomPermutate

C.1.71. waveCosine (wc)

waveCosine, stepString, parameterObject, phase, min, max

Description: Provides cosinusoid oscillation between 0 and 1 at a rate given in either time or events per period. Depending on the stepString argument, the period rate (frequency) may be specified in spc (seconds per cycle) or eps (events per cycle). This value is scaled within the range designated by min and max; min and max may be specified with ParameterObjects. The phase argument is specified as a value between 0 and 1. Note: conventional cycles per second (cps or Hz) are not used for frequency.

Arguments: (1) name, (2) stepString {'event', 'time'}, (3) parameterObject {secPerCycle}, (4) phase, (5) min, (6) max

Sample Arguments: wc, e, 30, 0, 0, 1

Example C-140. waveCosine Demonstration 1

waveCosine, event, (constant, 30), 0, (constant, 0), (constant, 1)

Example C-141. waveCosine Demonstration 2

waveCosine, event, (breakPointLinear, event, loop, ((0,30),(120,15))), 0,
(constant, 0), (constant, 1)

Example C-142. waveCosine Demonstration 3

waveCosine, event, (constant, 40), 0, (wavePulse, event, (constant, 20), 0,
(constant, 1), (constant, 0.5)), (accumulator, 0, (constant, 0.01))

C.1.72. waveHalfPeriodCosine (whpc)

waveHalfPeriodCosine, stepString, parameterObject, phase, min, max

Description: Provides half-period cosinusoid oscillation between 0 and 1 at a rate given in either time or events per period. Depending on the stepString argument, the half-period rate (frequency) may be specified in spc (seconds per cycle) or eps (events per cycle). This value is scaled within the range designated by min and max; min and max may be specified with ParameterObjects. The phase argument is specified as a value between 0 and 1. Half-period oscillators update seconds/event per cycle only once per half-period, permitting smooth transitons between diverse half-period segments. Note: conventional cycles per second (cps or Hz) are not used for frequency.

Arguments: (1) name, (2) stepString {'event', 'time'}, (3) parameterObject {secPerCycle}, (4) phase, (5) min, (6) max

Sample Arguments: whpc, e, (bg,rc,(10,20,30)), 0, 0, 1

Example C-143. waveHalfPeriodCosine Demonstration 1

waveHalfPeriodCosine, event, (basketGen, randomChoice, (10,20,30)), 0,
(constant, 0), (constant, 1)

Example C-144. waveHalfPeriodCosine Demonstration 2

waveHalfPeriodCosine, event, (breakPointLinear, event, loop,
((0,30),(120,15))), 0, (constant, 0), (constant, 1)

C.1.73. waveHalfPeriodPulse (whpp)

waveHalfPeriodPulse, stepString, parameterObject, phase, min, max

Description: Provides half-period pulse (square) wave oscillation between 0 and 1 at a rate given in either time or events per period. Depending on the stepString argument, the half-period rate (frequency) may be specified in spc (seconds per cycle) or eps (events per cycle). This value is scaled within the range designated by min and max; min and max may be specified with ParameterObjects. The phase argument is specified as a value between 0 and 1. Half-period oscillators update seconds/event per cycle only once per half-period, permitting smooth transitons between diverse half-period segments. Note: conventional cycles per second (cps or Hz) are not used for frequency.

Arguments: (1) name, (2) stepString {'event', 'time'}, (3) parameterObject {secPerCycle}, (4) phase, (5) min, (6) max

Sample Arguments: whpp, e, (bg,rc,(10,20,30)), 0, 0, 1

Example C-145. waveHalfPeriodPulse Demonstration 1

waveHalfPeriodPulse, event, (basketGen, randomChoice, (10,20,30)), 0,
(constant, 0), (constant, 1)

Example C-146. waveHalfPeriodPulse Demonstration 2

waveHalfPeriodPulse, event, (breakPointLinear, event, loop,
((0,30),(120,15))), 0, (constant, 0), (constant, 1)

Example C-147. waveHalfPeriodPulse Demonstration 3

waveHalfPeriodPulse, event, (constant, 10), 0, (accumulator, 0, (waveSine,
event, (constant, 30), 0.75, (constant, -0.01), (constant, 0.03))), (constant,
0.5)

Example C-148. waveHalfPeriodPulse Demonstration 4

waveHalfPeriodPulse, event, (basketGen, randomChoice, (15,10,5,8,2)), 0,
(constant, 0), (lineSegment, (constant, 100), (constant, 0.3), (constant, 1))

C.1.74. waveHalfPeriodSine (whps)

waveHalfPeriodSine, stepString, parameterObject, phase, min, max

Description: Provides half-period sinusoid oscillation between 0 and 1 at a rate given in either time or events per period. Depending on the stepString argument, the half-period rate (frequency) may be specified in spc (seconds per cycle) or eps (events per cycle). This value is scaled within the range designated by min and max; min and max may be specified with ParameterObjects. The phase argument is specified as a value between 0 and 1. Half-period oscillators update seconds/event per cycle only once per half-period, permitting smooth transitons between diverse half-period segments. Note: conventional cycles per second (cps or Hz) are not used for frequency.

Arguments: (1) name, (2) stepString {'event', 'time'}, (3) parameterObject {secPerCycle}, (4) phase, (5) min, (6) max

Sample Arguments: whps, e, (bg,rc,(10,20,30)), 0, 0, 1

Example C-149. waveHalfPeriodSine Demonstration 1

waveHalfPeriodSine, event, (basketGen, randomChoice, (10,20,30)), 0,
(constant, 0), (constant, 1)

Example C-150. waveHalfPeriodSine Demonstration 2

waveHalfPeriodSine, event, (breakPointLinear, event, loop, ((0,30),(120,15))),
0, (constant, 0), (constant, 1)

Example C-151. waveHalfPeriodSine Demonstration 3

waveHalfPeriodSine, event, (constant, 20), 0, (constant, 0), (waveSine, event,
(constant, 60), 0.25, (constant, 0.25), (constant, 1))

Example C-152. waveHalfPeriodSine Demonstration 4

waveHalfPeriodSine, event, (basketGen, orderedOscillate, (19,19,20,20,20)), 0,
(constant, 0), (constant, 1)

C.1.75. waveHalfPeriodTriangle (whpt)

waveHalfPeriodTriangle, stepString, parameterObject, phase, min, max

Description: Provides half-period triangle wave oscillation between 0 and 1 at a rate given in either time or events per period. Depending on the stepString argument, the half-period rate (frequency) may be specified in spc (seconds per cycle) or eps (events per cycle). This value is scaled within the range designated by min and max; min and max may be specified with ParameterObjects. The phase argument is specified as a value between 0 and 1. Half-period oscillators update seconds/event per cycle only once per half-period, permitting smooth transitons between diverse half-period segments. Note: conventional cycles per second (cps or Hz) are not used for frequency.

Arguments: (1) name, (2) stepString {'event', 'time'}, (3) parameterObject {secPerCycle}, (4) phase, (5) min, (6) max

Sample Arguments: whpt, e, (bg,rc,(10,20,30)), 0, 0, 1

Example C-153. waveHalfPeriodTriangle Demonstration 1

waveHalfPeriodTriangle, event, (basketGen, randomChoice, (10,20,30)), 0,
(constant, 0), (constant, 1)

Example C-154. waveHalfPeriodTriangle Demonstration 2

waveHalfPeriodTriangle, event, (breakPointLinear, event, loop,
((0,30),(120,15))), 0, (constant, 0), (constant, 1)

C.1.76. wavePulse (wp)

wavePulse, stepString, parameterObject, phase, min, max

Description: Provides a pulse (square) wave between 0 and 1 at a rate given in either time or events per period. Depending on the stepString argument, the period rate (frequency) may be specified in spc (seconds per cycle) or eps (events per cycle). This value is scaled within the range designated by min and max; min and max may be specified with ParameterObjects. The phase argument is specified as a value between 0 and 1. Note: conventional cycles per second (cps or Hz) are not used for frequency.

Arguments: (1) name, (2) stepString {'event', 'time'}, (3) parameterObject {secPerCycle}, (4) phase, (5) min, (6) max

Sample Arguments: wp, e, 30, 0, 0, 1

Example C-155. wavePulse Demonstration 1

wavePulse, event, (constant, 30), 0, (constant, 0), (constant, 1)

Example C-156. wavePulse Demonstration 2

wavePulse, event, (breakPointLinear, event, loop, ((0,30),(120,15))), 0,
(constant, 0), (constant, 1)

Example C-157. wavePulse Demonstration 3

wavePulse, event, (constant, 10), 0, (accumulator, 0, (waveSine, event,
(constant, 30), 0.75, (constant, -0.01), (constant, 0.03))), (constant, 0.5)

C.1.77. wavePowerDown (wpd)

wavePowerDown, stepString, parameterObject, phase, exponent, min, max

Description: Provides a power down wave between 0 and 1 at a rate given in either time or events per period. Depending on the stepString argument, the period rate (frequency) may be specified in spc (seconds per cycle) or eps (events per cycle). This value is scaled within the range designated by min and max; min and max may be specified with ParameterObjects. The phase argument is specified as a value between 0 and 1. Note: conventional cycles per second (cps or Hz) are not used for frequency.

Arguments: (1) name, (2) stepString {'event', 'time'}, (3) parameterObject {secPerCycle}, (4) phase, (5) exponent, (6) min, (7) max

Sample Arguments: wpd, e, 30, 0, 2, 0, 1

Example C-158. wavePowerDown Demonstration 1

wavePowerDown, event, (constant, 30), 0, 2, (constant, 0), (constant, 1)

Example C-159. wavePowerDown Demonstration 2

wavePowerDown, event, (breakPointLinear, event, loop, ((0,30),(120,15))), 0,
2, (constant, 0), (constant, 1)

Example C-160. wavePowerDown Demonstration 3

wavePowerDown, event, (constant, 40), 0, -1.5, (wavePulse, event, (constant,
30), 0, (constant, 0), (constant, 0.2)), (wavePulse, event, (constant, 20),
0.25, (constant, 1), (constant, 0.8))

C.1.78. wavePowerUp (wpu)

wavePowerUp, stepString, parameterObject, phase, exponent, min, max

Description: Provides a power up wave between 0 and 1 at a rate given in either time or events per period. Depending on the stepString argument, the period rate (frequency) may be specified in spc (seconds per cycle) or eps (events per cycle). This value is scaled within the range designated by min and max; min and max may be specified with ParameterObjects. The phase argument is specified as a value between 0 and 1. Note: conventional cycles per second (cps or Hz) are not used for frequency.

Arguments: (1) name, (2) stepString {'event', 'time'}, (3) parameterObject {secPerCycle}, (4) phase, (5) exponent, (6) min, (7) max

Sample Arguments: wpu, e, 30, 0, 2, 0, 1

Example C-161. wavePowerUp Demonstration 1

wavePowerUp, event, (constant, 30), 0, 2, (constant, 0), (constant, 1)

Example C-162. wavePowerUp Demonstration 2

wavePowerUp, event, (breakPointLinear, event, loop, ((0,30),(120,15))), 0, 2,
(constant, 0), (constant, 1)

Example C-163. wavePowerUp Demonstration 3

wavePowerUp, event, (constant, 40), 0, 2, (randomUniform, (constant, 0),
(accumulator, 0, (constant, 0.005))), (constant, 1)

C.1.79. waveSine (ws)

waveSine, stepString, parameterObject, phase, min, max

Description: Provides sinusoid oscillation between 0 and 1 at a rate given in either time or events per period. Depending on the stepString argument, the period rate (frequency) may be specified in spc (seconds per cycle) or eps (events per cycle). This value is scaled within the range designated by min and max; min and max may be specified with ParameterObjects. The phase argument is specified as a value between 0 and 1. Note: conventional cycles per second (cps or Hz) are not used for frequency.

Arguments: (1) name, (2) stepString {'event', 'time'}, (3) parameterObject {secPerCycle}, (4) phase, (5) min, (6) max

Sample Arguments: ws, e, 30, 0, 0, 1

Example C-164. waveSine Demonstration 1

waveSine, event, (constant, 30), 0, (constant, 0), (constant, 1)

Example C-165. waveSine Demonstration 2

waveSine, event, (breakPointLinear, event, loop, ((0,30),(120,15))), 0,
(constant, 0), (constant, 1)

Example C-166. waveSine Demonstration 3

waveSine, event, (constant, 20), 0, (constant, 0), (waveSine, event,
(constant, 60), 0.25, (constant, 0.25), (constant, 1))

Example C-167. waveSine Demonstration 4

waveSine, event, (basketGen, orderedOscillate, (19,19,20,20,20)), 0,
(constant, 0), (constant, 1)

C.1.80. waveSawDown (wsd)

waveSawDown, stepString, parameterObject, phase, min, max

Description: Provides a saw-down wave between 0 and 1 at a rate given in either time or events per period. Depending on the stepString argument, the period rate (frequency) may be specified in spc (seconds per cycle) or eps (events per cycle). This value is scaled within the range designated by min and max; min and max may be specified with ParameterObjects. The phase argument is specified as a value between 0 and 1. Note: conventional cycles per second (cps or Hz) are not used for frequency.

Arguments: (1) name, (2) stepString {'event', 'time'}, (3) parameterObject {secPerCycle}, (4) phase, (5) min, (6) max

Sample Arguments: wsd, e, 30, 0, 0, 1

Example C-168. waveSawDown Demonstration 1

waveSawDown, event, (constant, 30), 0, (constant, 0), (constant, 1)

Example C-169. waveSawDown Demonstration 2

waveSawDown, event, (breakPointLinear, event, loop, ((0,30),(120,15))), 0,
(constant, 0), (constant, 1)

Example C-170. waveSawDown Demonstration 3

waveSawDown, event, (constant, 20), 0, (wavePowerUp, event, (constant, 120),
0, 1.5, (constant, 0.5), (constant, 1)), (wavePowerDown, event, (constant,
40), 0.25, 1.5, (constant, 0.5), (constant, 0))

C.1.81. waveSawUp (wsu)

waveSawUp, stepString, parameterObject, phase, min, max

Description: Provides a saw-up wave between 0 and 1 at a rate given in either time or events per period. Depending on the stepString argument, the period rate (frequency) may be specified in spc (seconds per cycle) or eps (events per cycle). This value is scaled within the range designated by min and max; min and max may be specified with ParameterObjects. The phase argument is specified as a value between 0 and 1. Note: conventional cycles per second (cps or Hz) are not used for frequency.

Arguments: (1) name, (2) stepString {'event', 'time'}, (3) parameterObject {secPerCycle}, (4) phase, (5) min, (6) max

Sample Arguments: wsu, e, 30, 0, 0, 1

Example C-171. waveSawUp Demonstration 1

waveSawUp, event, (constant, 30), 0, (constant, 0), (constant, 1)

Example C-172. waveSawUp Demonstration 2

waveSawUp, event, (breakPointLinear, event, loop, ((0,30),(120,15))), 0,
(constant, 0), (constant, 1)

Example C-173. waveSawUp Demonstration 3

waveSawUp, event, (constant, 20), 0, (wavePowerDown, event, (constant, 40), 0,
1.5, (constant, 1), (constant, 0.5)), (constant, 0)

C.1.82. waveTriangle (wt)

waveTriangle, stepString, parameterObject, phase, min, max

Description: Provides a triangle wave between 0 and 1 at a rate given in either time or events per period. Depending on the stepString argument, the period rate (frequency) may be specified in spc (seconds per cycle) or eps (events per cycle). This value is scaled within the range designated by min and max; min and max may be specified with ParameterObjects. The phase argument is specified as a value between 0 and 1. Note: conventional cycles per second (cps or Hz) are not used for frequency.

Arguments: (1) name, (2) stepString {'event', 'time'}, (3) parameterObject {secPerCycle}, (4) phase, (5) min, (6) max

Sample Arguments: wt, e, 30, 0, 0, 1

Example C-174. waveTriangle Demonstration 1

waveTriangle, event, (constant, 30), 0, (constant, 0), (constant, 1)

Example C-175. waveTriangle Demonstration 2

waveTriangle, event, (breakPointLinear, event, loop, ((0,30),(120,15))), 0,
(constant, 0), (constant, 1)

Example C-176. waveTriangle Demonstration 3

waveTriangle, event, (constant, 30), 0, (randomUniform, (constant, 0),
(constant, 0.3)), (randomUniform, (constant, 0.7), (constant, 1))