An envelope for the shape~ object can be defined using the same format as the line~ or zigzag~ objects (and edited graphically by connecting a function object). Unlike line~ the time values of shape~ are normalized so that the output occurs within signal ramp of a phasor from 0 to 1 (or 1 to 0). This means you can trigger the output sample-accurately and determine the time of the function by using different ramp durations (or phasor~ frequencies).
Sets the number of initial segments of the envelope that will be played at a constant time based on their millisecond time values independent of the input ramp duration. The default value for constant is zero, meaning none of the segments will be played with a constant time -- all segments will be scaled. If constant is 1, the first ("attack) segment will have a constant time and the remaining segments will be scaled to occupy the part of the incoming ramp starting when the input value when the constant portion of the output ends. For example, if the first segment is constant and it ends when the input is equal to 0.5, the remaining part of the envelope will be re-normalized to fit into the space between 0.5 and 1.
Note that the constant attribute only works with ascending ramps and can only designate segments at the beginning of an envelope.
Sets whether shape~ plays curved breakpoints and how it interprets incoming lists.
0 = 'Off' ( No curved breakpoints )
When curvemode is disabled (Off), shape~ interprets incoming lists to set its breakpoints as pairs. If any curved breakpionts were previously set, they are played as linear ramps.
1 = 'On' ( Use curved breakpoints )
When curvemode is enabled (On), shape~ interprets incoming lists to be triplets consisting of . All curved breakpoints are output with their curvature.
2 = 'Auto' ( Use connected function mode setting )
When curvemode is set to Auto, shape~ determines how to interpret incoming lists on the basis of the mode attribute of a connected function or mc.function object. If mode is set to 0 (Linear), lists are interpreted as pairs. If mode is set to 1 (Curve), lists are interpreted as triplets. If any segments contain non-zero curvature, they are played with their curvature.
In order for Auto mode to work properly, the function object must have its second outlet directly connected to the left inlet of shape.
Common Box Attributes
When curvemode is enabled, the list format starts with the initial followed by triplets of numbers -- -- for each breakpoint. The curvature value ranges from -1 to 1.