An InterplEnv is a specification for a segmented envelope. InterplEnvs can be used both server-side, by an IEnvGen within a SynthDef, and clientside, with methods such as at. An InterplEnv can have any number of segments. An InterplEnv can have several shapes for its segments.
InterplEnvs do not have release or loop nodes. They are of a fixed duration. Mostly, it is meant to be used with IEnvGen, where 'times' are actually an index into the envelope shape.
Create a new envelope specification.
an array of levels. The first level is the initial value of the envelope.
an array of durations of segments in seconds. There should be one fewer duration than there are levels.
The possible values are:
used to offset an envelope into negative starttimes.
Creates a new envelope specification with numSegments for filling in later.
This can be useful when passing Env parameters as args to a Synth. Note that the maximum number of segments is fixed and cannot be changed once embedded in a SynthDef. Trying to set an Env with more segments than then this may result in other args being unexpectedly set. See newClear example below.
Plot this envelope's shape in a window.
The size of the plot.
Converts the InterplEnv to an Array in a specially ordered format. This allows for InterplEnv parameters to be settable arguments in a SynthDef.
Returns the value of the InterplEnv at time.
InterplEnv([0, 1, 0.707], [0.2, 1.3], [\lin, \sin]).at(0.5);