line
Generate timed ramp
Description
Generate ramps and line segments from one value to another within a specified amount of time.
Arguments
initial[number]
optional
Sets the initial value to be stored in line and the output type for the object (floating-point or integer). If there is no argument, the initial value is and the output type is .
grain[number]
optional
Sets an initial value for the grain: the time interval at which numbers are sent out. If the grain is not specified, line outputs a number every 20 milliseconds. The minimum grain allowed is 1 millisecond; any number less than 1 will be set to .
Attributes
compatmode[int]: 0
Provides compatibility when importing patches created with versions 7.x and earlier of Max. Set compatmode to 1 to use legacy behavior.
floatoutput[int]: 2
Sets the floating-point output mode for the line object. The default is 2 (auto).
Possible values:
0 = 'Off'
(
Floating-Point Output off
)
Does not output float values. If the initial argument is an integer, the floatoutput is set to off.
1 = 'On'
(
Floating-Point Output on
)
Outputs float values if specified in the initial argument.
2 = 'Auto'
(
Floating-Point Output Auto
)
Ouputs float values if distance is <= 1, line does not have a float argument, and step size is < 0.4.
grain[float]: 20.
Sets the grain value: the time interval at which numbers are sent out. The default is 20 milliseconds. The minimum grain allowed is 1 millisecond.
maxpoints[int]: 129
Sets the maximum number of user defined points. The default is 129. To allow a greater number of points, use the maxpoints attribute.
Common Box Attributes
annotation[symbol]
Sets the text that will be displayed in the Clue window when the user moves the mouse over the object.
background[int]: 0
Adds or removes the object from the patcher's background layer.
adds the object to the background layer, removes it. Objects in the background layer are shown behind all objects in the default foreground layer.
color[4 floats]
Sets the color for the object box outline.
fontface[int]
Sets the type style used by the object. The options are:
plain
bold
italic
bold italic
Possible values:
0 = 'regular'
1 = 'bold'
2 = 'italic'
3 = 'bold italic'
fontname[symbol]
Sets the object's font.
fontsize[float]
Sets the object's font size (in points).
Possible values:
'8'
'9'
'10'
'11'
'12'
'13'
'14'
'16'
'18'
'20'
'24'
'30'
'36'
'48'
'64'
'72'
hint[symbol]
Sets the text that will be displayed in as a pop-up hint when the user moves the mouse over the object in a locked patcher.
ignoreclick[int]: 0
Toggles whether an object ignores mouse clicks in a locked patcher.
jspainterfile[symbol]
You can override the default appearance of a user interface object by assigning a JavaScript file with code for painting the object. The file must be in the search path.
patching_rect[4 floats]: 0. 0. 100. 0.
Sets the position and size of the object in the patcher window.
position[2 floats]
write-only
Sets the object's x and y position in both patching and presentation modes (if the object belongs to its patcher's presentation), leaving its size unchanged.
presentation[int]: 0
Sets whether an object belongs to the patcher's presentation.
presentation_rect[4 floats]: 0. 0. 0. 0.
Sets the x and y position and width and height of the object in the patcher's presentation, leaving its patching position unchanged.
rect[4 floats]
write-only
Sets the x and y position and width and height of the object in both patching and presentation modes (if the object belongs to its patcher's presentation).
size[2 floats]
write-only
Sets the object's width and height in both patching and presentation modes (if the object belongs to its patcher's presentation), leaving its position unchanged.
textcolor[4 floats]
Sets the color for the object's text in RGBA format.
textjustification[int]
Sets the justification for the object's text.
Possible values:
0 = 'left'
1 = 'center'
2 = 'right'
varname[symbol]
Sets the patcher's scripting name, which can be used to address the object by name in pattr, scripting messages to thispatcher, and the js object.
Messages
int
In left inlet: The number is the target value, to be arrived at in the time specified by the number in the middle inlet. If no time has been specified since the last target value, the time is considered 0 and line immediately outputs the target value.
Note: the output type for the line object is set by using the first argument to the object (see Arguments).
In middle inlet: The number is the time, in milliseconds, in which to arrive at the target value.
In right inlet: The number is the interval (in milliseconds) at which intermediary numbers are regularly sent out.
- input
[int]
float
Performs the same function as
but with floats only if the object-argument is a float.- input
[float]
list
Use various list combinations to reach a target value.
In one list combination, the first number specifies a starting value, followed by a comma and a number pair. The first number in the pair specifies the target value. The second number of the pair specifies the total amount of time (in milliseconds) in which line should reach the target value. In that amount of time, numbers are output regularly in a line from the currently stored value to the target value.
An example of this type of list is . In this example, line would go from the starting value of 0 to 1 in one second, then back down to 0 in one second. Once the first ramp has reached its target value, the next one starts. A subsequent , , or in the left inlet clears all ramps yet to be generated.
In another combination, the first number specifies a target value, not followed a comma, and the second number specifies a total amount of time (in milliseconds) in which line should reach the target value. The third number, which is optional, sets the grain. Grain will affect the time interval at which numbers are sent out. Once grains are set in a list, they will override the default until manually reset.
An example of this type of list is . In this example, line would go from the current value to 1 in a second, outputting a value every 100 milliseconds.
If the list has an even number of elements greater than three, each pair of elements is considered a destination-ramptime pair in a breakpoint function. If the list has an odd number of elements greater than three, the last element will be ignored.
- input
[list]
clock
pause
In left inlet: Pauses the internal ramp but does not change the target value nor clear pending target-time pairs. line will continue outputting whatever value was its current value when the message was received, until either it receives a message or until a new ramp is input.
resume
In left inlet: Resumes the internal ramp and subsequent pending target-time pairs if the line object was paused as a result of the message.
set
In left inlet: The word line if it is in the process of sending out numbers.
, followed by a number, makes that number the new starting value from which to proceed to the next received target value. The message also stops- input
[float]
stop
In left inlet: Stops line from sending out numbers, until a new target value is received.
Output
bang
Out right outlet: When line has arrived at its target value, is sent out.
Note: In practice, the target value is arrived at in just under the amount of time specified (time minus grain).
int
Out left outlet: Numbers are sent out at regular intervals, describing a straight line toward a target value. If a new target value and time are specified before the line is completed, the new line starts from the most recent output value, in order to avoid discontinuities.
If a value is received in the left inlet without an accompanying time value, it is sent out immediately (time is considered 0).
See Also
Name | Description |
---|---|
bline | Generate ramps using bang |
funbuff | Store pairs of numbers |
line~ | Linear signal ramp generator |
setclock | Create and control an alternative clock |
uzi | Send many bang messages |