Lighting Up Buttons on CMD Controller

Jordan Mandel's icon

MM1 MIDI.pdf
application/pdf 196.31 KB

Hey folks,
I'm using a Behringer CMD MM-1 controller in my live rig, and I have each of the buttons mapped to different effects in my Live template. No great shakes so far.
The problem I have is that the buttons are always illuminated, and it'd be a huge help to be able to see at a glance whether the effect is on, by the button's light toggling based on whether I've pressed it.
I'm imagining this could be done by building an M4L device that sends a message to the controller when I push a button.
In the MIDI implementation doc, it says
To drive the LED for a specific control, send the output message for that control back to the MM-1.
Last byte values control LED state.
Buttons:
00 - off
01 - on solid
02 - on blinking"
(I've attached the PDF doc that I got this info from)

Can anyone point me in the direction of how to build this?

Thank you!!

Len Richardson's icon

You should check out the [midiformat] object i think.

Kind regards

Len

Mellon's icon

I have the MM-1, it's pretty handy! Send the button a note-on to change led. velocity determines led state. 00 = orange. velocity 01 = blue, velocity 02 = blinking. don't bother with note off. for example sending "19 01" into the left input of midi format (and on to midi out) will turn the leftmost "1" button blue.

Jordan Mandel's icon

Thanks Len and Mellon, you both led me in the right direction. I built a max patch that's able to toggle between orange and blue for the CMD MM-1 buttons.

Now the weirdness begins. I moved this patch into Max For Live (by copying and pasting it), and everything turns to blue alright, but won't turn back to orange!! I've tried all sorts of variations, sending messages explicitly with a 0 velocity, etc.

I am totally stumped. I've included the patch I'm using, which as I say, works perfectly when it's just in Max.

One interesting thing I noticed was when I added the MIDI monitor in line, it was showing the MIDI messages with 3 ints: note number, velocity (changing from 0 to 1) and then this other mysterious 1 at the end. Which is why I'm thinking that I can't turn back to orange, because according to this message it's still a note on. With that said, I have no idea where that last digit is coming from.

Then again, when I use the MIDI note status, it pretty clearly recognizes my velocity as 0 or 1.

The major problem, in summary:
Everything works smashingly in Max.
In Max For Live, I can only get the note to go on, but can't turn it back off. (Or, I can only get the button to go blue, but never back to orange).
Any ideas about what I can do?

lightController.1[CMDlayout].maxpat
Max Patch

Len Richardson's icon

Hey Jordan,

I don't have experience with that controller so I can only guess a few things.
First of all you should try the third inlet of the midiformat object since the controller is expecting control-change-events (CC) and not note-events for the leds I suspect.

Kind Regards

Len

Mellon's icon

The midiout object only sends to the Live track when using M4L. Is the track this device sits on sending midi back out to the CMD MM-1 on the appropriate channel? My MM-1 uses channel 5. Now check in Live's options to see that Track midi is being sent to the MM-1.

Mellon's icon

Oh also Live used to do some weird things in regard to note-off. The CMD doesn't need them but i wonder what would happen if you used makenote to send an on/off pair. Does the button go dark or stay the color you want?