live.remote~
Realtime control of parameters in Ableton Live and Max for Live.
Description
The live.remote~ object allows you to remotely control parameters in Ableton Live and Max for Live in realtime. To understand more about Live's parameters, look up the DeviceParameter Object Class in the Live Object Model .
Discussion
A parameter in Live and Max for Live is selected using
live.path or
live.map
and its id is sent to the right inlet of
live.remote~
. An example path of a DeviceParameter is
. Alternatively, you can get the path to a parameter in Ableton Live's interface by right-clicking a parameter and selecting "Copy LOM Path" in the context-menu (available only in Ableton Live 12).
Integer or float values are sent to the left inlet of
live.remote~
, as messages or as an audio signal. The values are applied sample-accurately
(if sent by the audio thread of Max) with a constant latency of a single
audio buffer.
A parameter is disabled in Live while it is controlled by a
live.remote~
, just as if it were controlled by a Macro parameter (but without the green
dot). This means that any parameter automation is disabled and the
value in the Live set is not changed. Additionally, no undo steps are created. The
envelopes remain active. To stop remote-controlling a device parameter and to
re-enable it, send
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 a temporal downsampling of any signal you send in. For example, a smoothing value of 1 ms will sample the incoming signal every 1 ms and send ramp events which output a linear approximation of the signal. This attribute defaults to 1 ms.
normalized[int]
Toggles the live.remote~ object's normalized mode, which automatically scales the input values to the target parameter range. When the normalized attribute is set to 1, sending a signal or values in the range 0 to 1 to live.remote~ will automatically scale the values to the range of the receiving parameter. If the normalized attribute is set to 0, automatic scaling is disabled. You will need to provide values between the minimum and maximum of the parameter in order to control it.
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]: 0
Adds or removes the object from the patcher's background layer.
adds the object to the background layer, 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'
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]: 0
Toggles whether an object ignores mouse clicks in a locked patcher.
jspainterfile[symbol]
JS Painter File
patching_rect[4 floats]: 0. 0. 100. 0.
Sets the position and size of the object in the patcher window.
position[2 floats]
write-only
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]: 0
Sets whether an object belongs to the patcher's presentation.
presentation_rect[4 floats]: 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]
write-only
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]
write-only
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[4 floats]
Sets the color for the object's text in RGBA format.
textjustification[int]
Sets the justification for the object's text.
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
Right inlet
means no object, i.e. the remote stops controlling the target parameter. This is also the initial state.
Messages
float
A floating point number value received in the left inlet will be applied to the selected Live parameter (DeviceParameter Object), if any, at the beginning of the next audio buffer, or at the end of a pending ramp (see smoothing).
- value
[float]
int
An integer number value received in the left inlet will be applied to the selected Live parameter (DeviceParameter Object), if any, at the beginning of the next audio buffer, or at the end of a pending ramp (see smoothing).
- value
[int]
list
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.
- target-value
[float]
- delta-time
[number]
signal
Signal input values received in the left inlet will be applied to the selected parameter (DeviceParameter Object), if any, in realtime.
id
In right inlet: Sets the selected object. The message has no effect if the id is not a parameter (DeviceParameter Object).
- parameter id
[int]
getid
The mapped object's id is sent from the outlet, preceded by the word
. If there is no mapped object, will be sent.Inspector
Persistence
The live.remote~ object has a special entry in its inspector labeled "Use Persistent Mapping". This setting, when enabled, causes the associated with the object, in this case the id of the parameter, to persist when the Ableton Live Set 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 feature of live.object , live.observer and live.remote~ , makes it possible to create simpler devices which retain their association with elements in the Ableton Live user interface.
See Also
Name | Description |
---|---|
JS API | JS API |
Live API Overview | Live API Overview |
Creating Devices that use the Live API | Creating Devices that use the Live API |
Live Object Model | 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 |
live.modulate~ | Modulate Ableton Live and Max for Live Parameters |