Your shopping cart is empty.

Reactions Reference Guide

Remotify Team's picture by Remotify Team last updated Mar 27, 2020

Listeners, Conditions & Reactions

This table contains details of all options for the 3 Reaction types: Listener, Conditions & Reactions. Usage: The Table has horizontal and vertical scrolling. The columns are split into 3 by colour. Red = Listener, Light Blue = Condition, Dark Blue = Reaction. X = Not available for that Reaction type.

Listeners, Conditions & Reactions Available types Listener fires when: Condition: Description Condition: Text Input Field 1 Condition: Menu Selection Condition: Text Input Field 2 Reaction: Description Reaction: Text Input Field 1 Reaction: Assignment Menu Selection Reaction: Value Menu Selection Reaction: Text Input Field 2
All Connected 'MIDI Controller' Controls Listener, Reaction When the corresponding physical input on your MIDI Controller is pressed / turned / moved. Note: Control must also have a MIDI Mapping on current Mode (other than a Reaction) in order to fire. X X X X Send a Velocity Value to the corresponding MIDI Controller's physical Control. (normally used to display an LED & specific Colour). .send_value ( ) Input A numerical value between 0 and 127.
Track Volume Listener When the value of ANY Track Volume changes. X X X X X X X X X
Track Panning Listener When the value of ANY Track Panning changes. X X X X X X X X X
Track Mute Listener When the value of ANY Track Mute changes. X X X X X X X X X
Track Solo Listener When the value of ANY Track Solo changes. X X X X X X X X X
Track Arm Listener When the value of ANY Track Arm changes. X X X X X X X X X
show message Reaction X X X X X Display a Message in Live's Status Bar.  leave empty ( ) Input Text must be wrapped in quotation marks. Example: "this is a message"
log message Reaction X X X X X Output a Message in the log.txt file.  leave empty ( ) Input Text must be wrapped in quotation marks. Example: "this is a message""
cue points Reaction X X X X X Jump to a specific Cue Point in the Arranger leave empty ( ) Input Example, jump to first cue point: .[1].jump
return tracks Listener, Condition, Reaction When a Return Track is added or removed see 'Targeting Mixer Controls & Devices on Tracks & Scenes'       see 'Targeting Mixer Controls & Devices on Tracks & Scenes'        
scenes Listener, Condition, Reaction When a Scene is added, deleted or moved to a new position. see 'Targeting Mixer Controls & Devices on Tracks & Scenes'       see 'Targeting Mixer Controls & Devices on Tracks & Scenes'        
tracks Listener, Condition, Reaction When a Track is added, deleted or moved to a new position. When a Track group is folded or unfolded. see 'Targeting Mixer Controls & Devices on Tracks & Scenes'       see 'Targeting Mixer Controls & Devices on Tracks & Scenes'        
visible tracks Listener, Condition, Reaction When a Visible Track is added, deleted or moved to a new position. When a Visible Track group is expanded or collapsed. see 'Targeting Mixer Controls & Devices on Tracks & Scenes'       see 'Targeting Mixer Controls & Devices on Tracks & Scenes'        
master track Condition, Reaction X see 'Targeting Mixer Controls & Devices on Tracks & Scenes'       see 'Targeting Mixer Controls & Devices on Tracks & Scenes'        
view Condition, Reaction X see 'Targeting Mixer Controls & Devices on Tracks & Scenes'       see 'Targeting Mixer Controls & Devices on Tracks & Scenes'        
appointed device Listener, Reaction When the Blue hand is moved to a different Device X X X X Move the Blue Hand to a specific Device. leave empty = Input Example: self.song().tracks[0].devices[0]
arrangement overdub Listener, When Arrangement Overdub is turned on or off. X X X X X X X X X
back to arranger Listener, When Back to Arranger button is pressed or when arrangement is overridden. X X X X X X X X X
can jump to next cue Listener, In arrangement view. when 'previous locator' / 'next locator' buttons are pressed (does not fire when the playhead is moved to the very start). Also fires when you click inside the arrangement view and the orange playhead marker is moved to a new position. Is there a next cue jump to move to. leave empty True, False leave empty X X X X X
can jump to prev cue point Listener, In arrangement view. when 'previous locator' / 'next locator' buttons are pressed (does not fire when the playhead is moved to the the last cue point).  Also fires when you click inside the arrangement view and the orange playhead marker is moved to a new position. Is there a previous cue jump to move to. leave empty True, False leave empty X X X X X
can redo Condition, X Is there something in the history to redo leave empty True, False leave empty X X X X X
can undo Condition, X Is there something in the history to undo leave empty True, False leave empty X X X X X
clip trigger quantization   ? X       X X X X X
current song time Listener, Condition, Reaction Fires whenever the Current Song time changes. Will continuously fire when play back is active. Arrangement play position in beats. leave empty Input Example: 87.5801058317 Set the current song time (in beats). leave empty = Input Numerical Value, example 87.5801058317
exclusive arm Condition, X Is exclusive arm enabled. leave empty True, False leave empty X X X X X
exclusive solo Condition X Is exclusive solo enabled. leave empty True, False leave empty X X X X X
groove amount   X X X X X ? ? ? ? ?
is playing Condition, Reaction X Is the Song currently playing leave empty True, False leave empty Start / Stop playing leave empty = True / False leave empty
last event time Condition, X ?   Input numerical value, example: 104 X X X X X
loop Condition, Reaction X Is Arrangment Loop Switch On / Off. leave empty True, False leave empty Turn Arrangement Loop on/off leave empty = True / False True / False
loop length Condition, Reaction X Length of the loop - in bars. leave empty Input 4.0 = 4 bars, Example : 4.0 Sets the Arrangement Loop Length leave empty = Input Numerical Value. Example, 1 Bar: 1.0
loop start Listener, Condition, Reaction When the arrangement Loop Start position is moved. Loop start position - in bars. leave empty Input 4.0 = 4 bars, Example : 4.0 Sets the Arrangement Loop Start Position leave empty = Input Numerical Value. Example, 1 Bar: 1.0
metronome Listener, Condition, Reaction When the Metronome is turned on or off. Is Metronome turned on/off leave empty True, False leave empty Turns the Metronome on/off leave empty = True / False leave empty
midi recording quantization Listener, Condition, Reaction When the MIDI Recording Quantization is changed. The current MIDI Recording Quantization Amount. leave empty Input Possible values:
rec_q_no_q,
rec_q_quarter,
rec_q_eight,
rec_q_eight_triplet,
rec_q_eight_eight_triplet,
rec_q_sixtenth,
rec_q_sixtenth_triplet,
rec_q_sixtenth_sixtenth_triplet,
rec_q_thirtysecond
Sets the MIDI Recording Quantization amount. leave empty = Input Example:
Live.Song.RecordingQuantization.rec_q_eight_triplet

Possible options
rec_q_no_q,
rec_q_quarter,
rec_q_eight,
rec_q_eight_triplet,
rec_q_eight_eight_triplet,
rec_q_sixtenth,
rec_q_sixtenth_triplet,
rec_q_sixtenth_sixtenth_triplet,
rec_q_thirtysecond

nudge down Listener, Condition, Reaction When Nudge Down is pressed/fired Is nudge down button on / off leave empty True, False leave empty Turn Nudge Down On / Off leave empty = True / False leave empty
overdub Listener, Condition, Reaction When Overdub is turned on / off via the Session Record Button Is overdub button on / off leave empty True, False leave empty Turn overdub On / Off leave empty = True / False leave empty
punch in Listener, Condition, Reaction When Punch In is turned on or off. Is punch in button on / off leave empty True, False leave empty Turn Punch In On / Off leave empty = True / False leave empty
punch out Listener, Condition, Reaction When Punch Out is turned on or off. Is punch out button on / off leave empty True, False leave empty Turn Punch In On / Off leave empty = True / False leave empty
nudge up Listener, Condition, Reaction When Nudge Up is pressed/fired Is nudge up button on / off leave empty True, False leave empty Turn Nudge Up On/Off leave empty = True / False leave empty
re enable automation enabled Condition, X Is re-enable automation button on/off leave empty True, False leave empty X X X X X
record mode Condition, X Is global record enabled (record switch in transport is red) leave empty True, False leave empty X X X X X
root note Condition, X ? leave empty Input numerical value, example: 0 X X X X X
scale name   X ? ? ? ? ?        
select on launch Condition, X Current status of the respective option set in the launch preferences. leave empty True, False leave empty X X X X X
session automation record Listener, Condition, When Automation Arm is turned on or off. Is session automation record on / off leave empty True, False leave empty ?        
session record Listener, Condition, Reaction When Session Record begins or ends. If session record is currently on / off. leave empty True, False leave empty Turn Session Record on/off leave empty = True / False leave empty
session record status Listener, Condition, When Session Record is about to begin. If clip session record is on / off. leave empty True, False leave empty ?        
signature denominator Condition, X The current time signature denominator leave empty Input numerical value, example: 4 X X X X X
signature numerator Listener, Condition, When Time Signature Denominator is changed. The current time signature numerator leave empty Input numerical value, example: 4 X X X X X
song length Listener, Condition, When the Song Length changes. The current length of the Song. leave empty Input numerical value (in bars), example: 243.0 X X X X X
swing amount Condition, X The current swing amount leave empty Input numerical value, example. 0.0 ?        
tempo Condition, Reaction, Reaction X The current tempo of the song. leave empty Input numerical value, example: 112.20 Sets the tempo of the song leave empty = Input Numerical Value, example: 120.90
capture and insert scene Reaction X X X X X Create a new scene with copies of the playing clips in each track. leave empty ( ) Input leave empty
continue playing Reaction X X X X X Continue Arrangement playback from current position. leave empty ( ) Input leave empty
create audio track Reaction X X X X X Insert a new Audio Track leave empty ( ) Input Numerical Value of position to insert audio track. Example: 1
create midi track Reaction X X X X X Insert a new MIDI Track leave empty ( ) Input Numerical Value of position to insert midi track. Example: 1
create return track Reaction X X X X X Insert a new Return track leave empty ( ) Input Numerical Value of position to insert return track. Example: 1
create scene Reaction X X X X X Insert a new Scene leave empty ( ) Input Numerical Value of position to insert scene. Example: 1
delete scene Reaction X X X X X Delete a Scene leave empty ( ) Input Numerical Value of Scene position to delete. Example: 1
delete track Reaction X X X X X Delete a Track leave empty ( ) Input Numerical Value of Track position to delete. Example: 1
duplicate scene Reaction X X X X X Duplicate a Scene leave empty ( ) Input Numerical Value of Scene position to duplicate. Example: 1
duplicate track Reaction X X X X X Duplicate a Track leave empty ( ) Input Numerical Value of Track position to duplicate. Example: 1
find device position   X ? ? ? ? X X X X X
get beats loop length Condition, X Current length of the Arrangement Loop. () Input Numerical value in bars.beats.sixteenths.ticks example: 026.00.00.000 X X X X X
get beats loop start Condition, X Current Arrangement Loop Start position. () Input Numerical value in bars.beats.sixteenths.ticks example: 001.01.01.001 X X X X X
get current beats song time Condition, X The current Arrangement playback position. () Input Numerical value in bars.beats.sixteenths.ticks example: 022.04.03.020 X X X X X
get current smpte song time Condition, Reaction X The current Arrangement playback position. (0) Input Numerical value in hours:min:sec:frames example: 000:00:46:918 X X X X X
is cue point selected Condition, X Is a cue point selected leave empty True, False leave empty X X X X X
jump by Reaction X X X X X Jump Arrangement Insert Marker leave empty ( ) Input "Numerical value to jump by (in bars). Use a minus value to jump backwards. Examples: 1, -1
jump to next cue Reaction X X X X X Jump to next Cue Point in Arrangement leave empty ( ) Input leave empty
jump to prev cue Reaction X X X X X Jump to previous Cue Point in Arrangement leave empty ( ) Input leave empty
move device   X ? ? ? ? X X X X X
play selection Reaction X X X X X Plays selection in Arranger (if there is a selection) leave empty ( ) Input leave empty
re enable automation Reaction X X X X X Re-enables Automation leave empty ( ) Input leave empty
redo Reaction X X X X X Redo last change leave empty ( ) Input leave empty
scrub by Reaction X X X X X scrub by an amount leave empty ( ) Input Numerical Value (in Bars). Use a minus value to Scrub left. Examples: 1, -1
set or delete cue Reaction X X X X X Sets or deletes a Cue Point at current position in Arrangement leave empty ( ) Input leave empty
start playing Reaction X X X X X Start Arrangement playing leave empty ( ) Input leave empty
stop all clips Reaction X X X X X Stop all playing clips leave empty ( ) Input leave empty
stop playing Reaction X X X X X Stop Arrangement playing leave empty ( ) Input leave empty
tap tempo Reaction X X X X X Tap Tempo leave empty ( ) Input leave empty
trigger session record   X X X X X ? ? ? ? ?
undo Reaction X X X X X Undo last change leave empty ( ) Input leave empty

Targeting Mixer Controls & Devices on Tracks & Scenes

Setting the Track number

The Track number is contained inside the set of square brackets: [0]. They count from zero (Zero Indexed). Example: if you want to set the Mute Button on Track 3, it would be input like this: track [2].mute Return Tracks and Visible Tracks follow this same pattern.

The Track number for Tracks 'Relative to Session Box position' are input inside the set of the parenthesis ( ) like so: track [self.track_num(2)].mute Selected Tracks do not require a Track number to be input.

Setting the Device Number / Device Parameter Number

To select a Device Parameter, you also need to select the Track Number (as above), the Device Number and the Parameter Number. They are entered from left to right. This example selects Track 1, Device 2, Parameter 1. track [0].devices[1].parameters[1].value Note that For Device Parameters, '0' is the Device On/off button, which makes '1' the first Parameter.

Use the table below to see examples for all of the different possibilities.

  Values Track Visible Track Selected Track Track (Relative to Session Box) Return
    tracks visible tracks view  .selected_track tracks [self.track_num(0)] return tracks [0]
Mute True / False tracks [0].mute visible tracks [0].mute view  .selected_track.mute tracks [self.track_num(0)].mute return tracks [0].mute
Solo True / False tracks [0].solo visible tracks [0].solo view  .selected_track.solo tracks [self.track_num(0)].solo return tracks [0].solo
Arm True / False tracks [0].arm visible tracks [0].arm view  .selected_track.arm tracks [self.track_num(0)].arm return tracks [0].arm
Volume Range: 0 - 100 tracks [0].mixer_device.volume.value visible tracks [0].mixer_device.volume.value view  .selected_track.mixer_device.volume.value tracks [self.track_num(0)].mixer_device.volume.value return tracks [0].mixer_device.volume.value
Panning Range: 0 - 100 tracks [0].mixer_device.panning.value visible tracks [0].mixer_device.panning.value view  .selected_track.mixer_device.panning.value tracks [self.track_num(0)].mixer_device.panning.value return tracks [0].mixer_device.panning.value
Send Range: 0 - 100 tracks [0].mixer_device.sends[0].value visible tracks [0].mixer_device.sends[0].value view  .selected_track.mixer_device.sends[0].value tracks [self.track_num(0)].mixer_device.sends[0].value return tracks [0].mixer_device.sends[0].value
             
Device   tracks [0].devices[0] visible tracks [0].devices[0] view  .selected_track.devices[0] tracks [self.track_num(0)].devices[0] return tracks [0].devices[0]
Selected Device   tracks [0].view.selected_device visible tracks [0].view.selected_device view  .selected_track.view.selected_device tracks [self.track_num(0)].view.selected_device return tracks [0].view.selected_device
Device Parameter Range: 0 - 100 tracks [0].devices[0].parameters[1].value visible tracks [0].devices[0].parameters[1].value view  .selected_track.devices[0].parameters[1].value tracks [self.track_num(0)].devices[0].parameters[1].value return tracks [0].devices[0].parameters[1].value
Device On / Off Button 1 / 0 tracks [0].devices[0].parameters[0].value visible tracks [0].devices[0].parameters[0].value view  .selected_track.devices[0].parameters[0].value tracks [self.track_num(0)].devices[0].parameters[0].value return tracks [0].devices[0].parameters[0].value
Device Chain   tracks [0].devices[0].chains[0] visible tracks [0].devices[0].chains[0] view  .selected_track.[0].devices[0].chains[0] tracks [self.track_num(0)].[0].devices[0].chains[0] return tracks [0].devices[0].chains[0]
Device in Chain   tracks [0].devices[0].chains[0].devices[0] visible tracks [0].devices[0].chains[0].devices[0] view  .selected_track.[0].devices[0].chains[0].devices[0] tracks [self.track_num(0)].[0].devices[0].chains[0].devices[0] return tracks [0].devices[0].chains[0].devices[0]

"If you’re new to scripting in Ableton, this tool is a must.

It will not only save you a massive headache, but also allows you to learn how it works as you go since Remotify also gives you an uncompiled “.py” version of the files so you can have a look at the code.

This app will make basic mapping tasks a breeze."

Matias,
DJ Techtools

"Controllers are great! But sometimes you wish to customize a few knobs.
Before Remotify, you had to be a programmer to create an Ableton script.
Today, us mere mortals can go online to Remotify and use their dead simple, drag and drop script creator.

It literally takes a few seconds to have custom control of Ableton!
In the time it took you to read this, you could have created your own custom Ableton Script for that controller sitting in front of you!"

Antonio Sage,
Certified Ableton Instructor & Creative Director at AudiOutlaw

"Thanks again. It is working great! I'm running 2x DS1s to extend control over 16 channels and your Remotify app has enabled me to tailor the functionality and workflow in a way that I couldn't achieve otherwise. Thank you!"

Jap_

"Thank you so much for your support! It's nice to see how active you are and willing to help out customers on an individual basis. Can't wait to see how this project will evolve with all those exciting possibilities coming up. It has already evolved a lot since a few weeks ago when I discovered Remotify."

Oneiroi