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

live.remote~ Reference

Realtime control of device parameters



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



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




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


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.




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.



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.



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



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 Object Model
Using the Live API
The LiveAPI JavaScript Object (jsliveapi)