final case classDEnvGen(levels: GE, lengths: GE, shapes: GE = 1, curvatures: GE = 0.0) extends SingleOut with Product with Serializable
An envelope generator UGen similar to SuperCollider's DemandEnvGen.
For each parameter of the envelope (levels, durations and shapes), values are
polled every time a new segment starts. The UGen keeps running as long as
level inputs are provided. If any of the other inputs terminate early, their
last values will be used for successive segments (e.g. one can use a constant
length or shape).
Note that as a consequence of having a "hot" levels input,
the target level of the last segment may not be reached, as the UGen would
terminate one sample earlier. As a workaround one can duplicate the last
level value with a length of 1.
The difference to DemandEnvGen is that this UGen does not duplicate functionality in the form
of levelScale, levelBias, timeScale, and it does not provide reset
and gate functionality. Durations are given as lengths in sample frames.
An envelope generator UGen similar to SuperCollider's DemandEnvGen.
For each parameter of the envelope (levels, durations and shapes), values are polled every time a new segment starts. The UGen keeps running as long as level inputs are provided. If any of the other inputs terminate early, their last values will be used for successive segments (e.g. one can use a constant length or shape).
Note that as a consequence of having a "hot"
levels
input, the target level of the last segment may not be reached, as the UGen would terminate one sample earlier. As a workaround one can duplicate the last level value with a length of 1.The difference to
DemandEnvGen
is that this UGen does not duplicate functionality in the form oflevelScale
,levelBias
,timeScale
, and it does not providereset
andgate
functionality. Durations are given as lengths in sample frames.