Step by Step Tutorial

Adding LED Feedback

John Carney's picture by John Carney last updated Mar 10, 2019

LED Feedback to your MIDI Controller is achieved by using the 'Reactions' mapping type.
Amongst other uses, Reaction mappings can send custom MIDI velocity values to your Controller when events occur in Ableton Live.
Think of them as Trigger & Action Mappings. The trigger could be an event in Live such as a new Track is added, or it could be that it has received a MIDI Message from your Controller.

We are going to send custom on and off velocity values back to your Controller when you press your button. This gives you the ability to display your button as on or off.

Click the Plus Icon for 'Mode' and select ‘Reactions’.

adding a reactions mapping type

In the Reactions Settings Menu select 2.
You will immediately see 2 ‘Reaction’ mappings appear in the Script Manager, as children of the ‘Reactions' Mapping.

adding 2 reaction mappings

Open the Settings Menu of the first Reaction by clicking the Cog Icon next to it.

For the Listener Menu, choose 'Button 1’ (the button you used for the Undo Mapping).
Add a Condition and select Button 1.
In the white text Input field, enter .value
Select ==
Select Input
In the second Input field, enter 127. This needs to match the Velocity value which the Button sends when turned on.

Reaction Condition

If you’re not sure of this value, open and turn on the MIDI Monitor, and press the button see a read out of the Velocity value.

MIDI Monitor Velocity read out

In the Reaction Section, add a row if one doesn’t already exist.
Select your Button in the first Menu.
In the Input field, add the string: .send_value
Select ( ) in the next Menu
Then enter 127 in the final Input Field.

Your complete Reaction should look like this.

Your completed Reaction

This is what the Reaction is telling Ableton Live to do:
1. When you press Button 1
2. if the velocity value of the Button is 127
3. Send the Velocity Value 127 to Button 1.
This will light up the Button's LED whenever you press it, creating a bi-directional connection.

But unless you want the LED to always stay on, we also need a second Reaction which turns the LED off when you release the button.

Open the second Reaction, and enter the same information as before but change 127 to 0 in both the Condition and Reaction sections so it looks like this.
Note: '0' is pretty standard for turning LEDs off, but it's best to check as some Controllers use '4'.

second reaction for off state

We`re doing the same as before but this time telling Live to send a Velocity value of 0 whenever it receives a Velocity value of 0 from the button.

For more information on creating custom Reactions,
This tutorial goes a bit deeper into building Reactions:
Reactions Reference Guide: