line Reference

Generate timed ramp

line

Description

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

Examples

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

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 0 and the output type is int.

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 20.

Attributes

compatmode [int] (default: 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] (default: 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] (default: 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] (default: 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

Messages

int

Arguments

input [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

Arguments

input [float]
Performs the same function as int but with floats only if the object-argument is a float.

list

Arguments

input [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

Arguments

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.

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 pause message was received, until either it receives a resume 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 pause message.

set

Arguments

input [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.

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).

See Also

Name Description
Max For Live Max For Live
bline
funbuff
line~
setclock
uzi
Max Basic Tutorial 11: Procedural Drawing Max Basic Tutorial 11: Procedural Drawing