A newer version of Max is available. Click here to access the latest version of this document.

line

Output numbers in a ramp from one value to another

Description

line is used to generate ramps and line segments from one value to another within a specified amount of time.

Arguments

Name Type Opt Description
initial-value and grain int or float opt The first argument 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 0 and the output type is int. The second argument 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 20.

Messages

int target-value ramp-time output-grain [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.
float target-value ramp-time output-grain [float]
Performs the same function as int but with floats only if the object-argument is a float.
list target-value and ramp-time [list]
The first number specifies a target value, and the second number specifies a total amount of time (in milliseconds). In that amount of time, numbers are output regularly in a line from the currently stored value to the target value.
clock setclock object name [symbol]
The word clock, followed by the name of an existing setclock object, sets the line object to be controlled by that setclock object rather than by Max’s internal millisecond clock. The word clock by itself sets the line object back to using Max’s regular millisecond clock.
set current-value [float]
In left inlet: The word set, followed by a number, makes that number the new starting value from which to proceed to the next received target value. The set message also stops line if it is in the process of sending out numbers.
stop In left inlet: Stops line from sending out numbers, until a new target value is received.

Information for box attributes common to all objects

Output

bang: Out right outlet: When line has arrived at its target value, bang 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).

Examples

Output values in a straight line... and bang when finished

See Also

Name Description
bline Event-driven multi-segment line object
funbuff Store x,y pairs of numbers together
setclock Control the clock speed of timing objects remotely
uzi Send a specific number of bang messages
Max Basic Tutorial 11: Procedural Drawing Max Basic Tutorial 11: Procedural Drawing