Controlling LED RGB lighting on my MIDI controller

Ok thank you.
The platters send messages so fast, the delay makes sense.
It’s working great.

I was just scouring the internet for rgb lighting info, and a google link sent me back here to a previous question of mine. Then I noticed some other guys are using MTP to do lighting on their devices. So I can assume it’s possible to light this thing up? Do you have any study material on the topic? I can’t find anything anywhere. It’s all about controlling lights with MIDI. No info on controlling the lights on the MIDI controller itself.

I split this off to a different topic since this is really a different questiong.

Typically (but not always) a controller that has LED’s on their buttons has a way to turn them on remotely. Usually buttons send Notes and their LED’s light up by sending notes with the same MIDI value back to the button (LED).

If the LED is a single color LED a note on with value (with the same value as the button), will turn the LED on and a note on with a value of 0 (which is really a form of note-off) will turn the LED off.

If the buttons support multiple colors, then sometimes the velocity of the return note value will select a different color.

You can test this functionality with the attached project file. It is set to send back note message with the note pressed back to the controller so as you push a button the LED should light up and as you release it, the LED should go off? Some controllers have their own LED control logic so it is possible that some buttons will not behave as expected. For this, you usually have to refer to the manufacturer MIDI documentation (if available) or use the dreaded trial and error method.

Note LED Test.bmtp (1.4 KB)

Steve Caldwell
Bome Customer Care

Also available for paid consulting services:

Awesome, Steve! I got a purple light glowing :smiley:on my pad #1! Now I know it is possible, I can suffer through trial and error. I suspect velocity will dictate color.
I was lying on my bed and had the revelation that I had to set the controller itself as the input *and output ports for these note translators.

I’ve been up and down the manual and the Native Instruments forum all night. There is zero help with using this controller in MIDI mode outside of the Traktor Pro software. Everything is actually supposed to be configured with their own utilities, not with Bome’s MTP.

I had posted that teaser video there too. 50 people watched it and I got no responses. And there is not one forum post about using the lights in MIDI mode. So I’m on my own here, I will be getting no support from NI. But this glowing light is promising. Thank you.

I assume that I can have an init preset that sends a note on to all the objects I want to light up, when the project starts.


I usually use an Init Timer to do all initialization. I usually trigger a repeating timer called “:LED Refresh” or similar to iterate through the LED’s I want to update. I usually create a separate preset with the default incoming as “My Controller” and Outgoing as “My Controller” to override the project defaults and then put all translators that update the LED’s in that preset. I set up Aliases "My Controller: to point to the actual physical device.


1 Like

Ok cool.
So I’ve put all the light initialized translators in one preset, and I put all note off translators in another one. I have them all set to trigger when preset activates. So I put a toggle button on my keyboard so I can turn them on or off.

The ‘on’ preset does turn them on, but the ‘off’ preset isn’t turning them off. Each translator outputs a note off with a velocity of zero. All translators are set to output the preset default, which is set to go to the device. I don’t know why they aren’t turning off.

I also don’t know why the platter lights won’t turn on. They aren’t haptic drives or anything. They output the same MIDI messages as everything else. But sending them note on’s does nothing. I dunno.

You need to

  1. in rules set qq to 0
  2. In outgoing action set to Note-On (not note-ff) velocity qq

This will turn off the LED’s for most controllers.

1 Like

As I mentioned earlier, sometimes the controller manufacture has their own methodology in the way some of the LED’s work. If you can find a MIDI implementation map for your controller, that might helps some. I have one for my Pioneer DDJ-SB3 but even then a few of the the LED’s are locally controlled and don’t behave exactly as documented. I end up controlling what works only. For most of these controllers, the manufactures design them for their use case only and offer little or no support for things that happen outside their designed use case.

Steve Caldwell
Bome Customer Care

Also available for paid consulting services:

Perfect. Couldn’t figure out how to get a note on with a velocity of 0.
I actually put three macros on my keyboard to work on these macroes. Re-entering this info is pretty quick. Duplicating the preset and flipping over the velocities is quicker than capturing all the in and outs again.

I asked NI about the platter lights. Maybe it is unique.
Thanks again.

The faces of the platters don’t have lights. I already tried sending them note on messages.
But there is four lights on the sides of the platters, but these are cc message knobs, not note on/off, like buttons. So I don’t know how to send a note on to a cc knob? If that’s not possible, then those lights can’t be turned on.

Try using a CC value of 127. Do the knobs have LED rings?

Steve Caldwell
Bome Customer Care

Also available for paid consulting services:

Yup, it has four lights on the outside. You can see it in this stock picture.

Traktor Kontrol S3

Your idea still isn’t working. Oh well, I give up on that.

I’ve run into a big problem, if you could help me. I can’t puzzle it out
I have two buttons to toggle on/off the lights. It’s on my keyboard, sends F15, F16. These two presets have every translator set to trigger ‘on activation’. So pushing these buttons on my keyboard turns on/off the lights.

But I have different virtual banks with different types of lighting. So I have to enable these two ‘lights on’ presets (one for pads, one for all others) to change the lighting when switching virtual banks. But it turns the lights on, if I want them off.

Can’t figure out how to keep the lights off when switching virtual banks, but also switch the different lighting setups when I do want them on. They have to share the same lights on presets.

To toggle a light use a global variable for instance :slight_smile:


This will yield 1 if 0 or 0 if 1.
Have the output trigger the value as a note

if ga==0 then qq=127

Outgoing 90 pp qq

where pp is the note number.

If you want different for each preset, use different global variables for each preset. You don’t have to toggle when switching presets, just use the global variable for the LED in that preset.

So you might have ga in one preset and gb in another and then have a rule that when switching presets

Incoming: On activation of preset

Rules :
if qq==1 then qq=127

Outgoing 90 pp qq

In the second preset you would substitute qq=ga with qq=gb

Steve Caldwell
Bome Customer Care

Also available for paid consulting services:
1 Like

Global variables is probably the group behavior I was looking for. Was thinking timers at first, that activate inside light controller presets, but I’ll try out global variables.
Made a quick smart phone video showing what I’m working with.
At the end, it shows the problem. To change the brightness when changing banks, it has to send a new note, but that turns on the lights too.

It is difficult for me to tell what is going on but if your controller is turning on lights when bank change, you might have to give it time to do it’s thing and then turn off and then back on the lights to the brightness you want.

Steve Caldwell
Bome Customer Care

Also available for paid consulting services:

So I simplified it. Got rid of the extra bright layout that was annoying to look at anyway. Put pads and main lights both on one on/off button.
Using gn for a global variable, because MIDI Buddy is taking everything up to it.
Put a value of 1 when the ‘lights on’ preset is activated.
And value 0 when the ‘lights off’ preset is activated.
Global Rule
The only input that can toggle these presets is the one on my keyboard.
Then the buttons that need it, get the rules in their lights translators.
And their output value set to qq.
Rule For Toggle
A 20 value is dim light, so that’s ‘on’ for me. 127 value is when I press the button.
Works good. :slightly_smiling_face:


Before you know it, you will probably also be helping people on the forum. It sounds like you are making real progress.

Steve Caldwell
Bome Customer Care

Also available for paid consulting services:
1 Like

Ya, I was thinking that earlier. All your answers to my numerous questions; people can read up on them like a knowledge base.
I think my studio is all setup now. But I’ll probably be back for one reason or another.
Thank you Steve.

My pleasure @SuperTRev

Steve Caldwell
Bome Customer Care

Also available for paid consulting services:
1 Like