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

live.remote~

Realtime control of device parameters

Description

The live.remote~ object allows to remotely control Lives DeviceParameter objects in realtime.

Examples

Discussion

The DeviceParameter object is selected using live.path and its id is put into the right inlet of live.remote~. An example path of a DeviceParameter is live_set master_track mixer_device volume.

Integer or float values are send into left inlet of live.remote~, as messages or as an audio signal. The values are applied sample-precise (if sent by the audio thread of Max) with a constant latency of a single audio buffer.

A device parameter is disabled in Live while it is controlled by a live.remote~, just as if it controlled by a Macro parameter (but without the green dot). This means that the automation of the parameter is disabled and the value in the Live set is not changed, no undo steps are created. The envelopes are active, though. To stop controlling a device parameter and to reenable it, send id 0 to the right inlet of live.remote~.

Arguments

None.

Attributes

smoothing [float]

Set the ramp time that is used for each incoming event. This also performs an automatic downsampling of any signal you send in. For example, a smoothing value of 1 ms will downsample the signal to 1 ms and send ramp events which output a linear approximation of the initial signal. This attribute defaults to 1 ms.

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] (default: 0)

Adds or removes the object from the patcher's background layer. background 1 adds the object to the background layer, background 0 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'

hidden [int] (default: 0)

Toggles whether an object is hidden when the patcher is locked.

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] (default: 0)

Toggles whether an object ignores mouse clicks in a locked patcher.

patching_rect [4 floats] (default: 0. 0. 100. 0.)

Sets the position and size of the object in the patcher window.

position [2 floats]

g/s(set)

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] (default: 0)

Sets whether an object belongs to the patcher's presentation.

presentation_rect [4 floats] (default: 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]

g/s(set)

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]

g/s(set)

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 [float]

Sets the color for the object's text in RGBA format.

textjustification [int]

Text Justification

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.

Inlets

Left inlet

value (signal/float) Gets the value of the device parameter object selected by the right inlet. For valid ranges look at the min and max properties of the DeviceParameter. The value curve is linear to the parameter's GUI control in Live.

Right inlet

id nn Gets object id message id nn to select the DeviceParameter object to control.
id 0 means no object, i.e. the remote stops controlling the DeviceParameter. This is also the initial state.

Messages

float

Arguments

value [float]
A floating point number value received in the left inlet will be applied to the selected Live DeviceParameter, if any. Obviously not in realtime.

int

Arguments

value [int]
An integer number value received in the left inlet will be applied to the selected Live DeviceParameter, if any. Not in realtime, though.

list

Arguments

target-value [float]
delta-time [number]
Start a ramp with a list of two floats, similar to the line~ object. Sending in “1 500” means that the value 1. will be reached in 500 ms, starting at the current value. New ramps will always override the current ramp, so if you want to cut short a ramp, send another value.

signal

Signal input values received in the left inlet will be applied to the selected Live DeviceParameter, if any, in realtime.

id nn

In right inlet: Sets the current object. The message has no effect if the id is no a DeviceParameter.

Inspector

Persistence

The live.remote~ object has a special entry in its inspector labelled "Use Persistent Mapping". This setting, when enabled, causes the id associated with the object to persist when the Live document is saved and restored, and when the Max Device is moved between the Live application and the Max editor, or within the Live Set. Beginning in Live 8.2.2, Live API ids remain persistent between launches of Live, which in conjunction with the Persistence feature of live.object, live.observer and live.remote~, makes it possible to create simpler devices which retain their association with elements in the Live user interface.

See Also

Name Description
Max For Live Max For Live
Live API Overview Live API Overview
Live Object Model LOM - The Live Object Model
live.object Perform operations on Live objects
live.observer Monitor changes in Live objects
live.path Navigate to objects in the Live application
Using the Live API Creating Devices that use the Live API
The LiveAPI JavaScript Object (jsliveapi) The LiveAPI Object