bline

Event-driven multi-segment line object

Description

The bline object is an event-driven version of the Max line object. It takes a list of breakpoint segment pairs and 'tweens' appropriately to generate a smooth function. The major difference is that the bline object is driven by bang messages sent to its left inlet instead of being driven by the Max scheduler. This gives the object a flexible timebase, which is useful when working with events that have a variable processing time (such as rendering matrices in Jitter). As with the line object, the bline object sends a bang out the object's right outlet when the current ramp is finished. It works with integer and floating point numbers, can be stopped (with the stop message), and can use multi-segment lists (similar to the MSP line~ object).

Arguments

Name Type Opt Description
initial-value int or float opt Optional. An argument may be used to set the initial value to be stored and the output type for the object--if the first argument is an int, the bline object outputs integer values, and a float will set the bline object to output floating point values. If there is no argument, the initial value is 0 and the output type is int.

Messages

bang Sends a new step in the breakpoint list out the left outlet. If the current list of ramp segments is finished, a bang message will be sent out the right outlet
int set-input [int]
Sets the bline object to the specified integer value. Any and all pending breakpoint segments are forgotten (i.e. the time is considered 0 and bline outputs the target value when it receives a bang).
float set-input [float]
Sets the bline object to the specified float value. Any and all pending breakpoint segments are forgotten (i.e. the time is considered 0 and bline outputs the target value when it receives a bang).
list pairs of numbers [list]
The bline object sets breakpoint segment values using lists of data composed of pairs of numbers. The first number in each pair can be either an int or a float specifying a target value, followed by an integer that specifies the number of bang messages that will have to be received before reaching the target value--note that this differs from other Max/MSP breakpoint objects like line, which specify a time-to-target value in milliseconds.
set set-input [int or float]
Sets the bline object to the specified value. Any and all pending breakpoint segments are forgotten (i.e. the time is considered 0 and bline outputs the target value when it receives a bang).
stop Stops bline from sending out numbers, until a new list of ramp segments is received.

Information for box attributes common to all objects

Output

bang: Out right outlet: When bline has arrived at its target value, bang is sent out.
int: Out left outlet: Numbers are sent out in response to received bang messages, describing a straight line toward a target value. If a list of breakpoint segments is 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.

Examples

See Also

Name Description
funbuff Store x,y pairs of numbers together
line Output numbers in a ramp from one value to another
uzi Send a specific number of bang messages