How do I switch on and off the LEDs on my Launchpad?

kflak's icon

Hi, been trying to figure out how to do something reeeeealy simple, but it just ain't working: How do I switch on and off the buttons of my Launchpad? Tried using a combination of matrixctrl and the phi.lpad.in and phi.lpad.out abstractions, but the pad is behaving in weird ways: THe launchpad is always lighting up one step behind me. And the matrixctrol is sometimes listening to what my launchpad tells it to do, sometimes not at all... Any bright ideas how to accomplish this?

Max Patch
Copy patch and select New From Clipboard in Max.

Here's my ineffectual patch:

kflak's icon

Oh, and one more thing: I would like to do it in such a way that I can switch on a button, and when I press it the next time it will switch itself off. Toggle-style, basically.

Jeff Kaiser's icon
Jeff Kaiser's icon
Max Patch
Copy patch and select New From Clipboard in Max.

The following is an example for the first square button.

kflak's icon

Hi, Jeff,

Tutorial patch no 7 did the job exactly as I wanted it to :-) Thanks!

LiamCormacGould's icon

part of the problem with your previous patch was the [pack] and [unpack] objects. the switching around of middle inlet [unpack] to left inlet [pack] causes it to trigger before it has received all the appropriate messages.

LiamCormacGould's icon
Max Patch
Copy patch and select New From Clipboard in Max.

oh and here is my Lpan.in abstraction if it helps I too used the phi. ones initially and they are very helpful to get you started.

Miller's icon

Just to shamelessly plug my stuff, my Launchpad abstractions are in the toolbox here: https://cycling74.com/tools/launchpad-abstractions/

kflak's icon

On tour now, but will check these things out when I'm back to my homebase!

kflak's icon
Max Patch
Copy patch and select New From Clipboard in Max.

Sooooo, I'm back from tour, and been getting a bit more serious with my launchpad programming. I've found a way to use the pads to make a jit.cellblock object behave like a matrix of toggles, remembering all of their 1/0 states and all, but it seems to me it's a very cumbersome and inelegant way of doing it. I'm sure there must be a better way to do this, using some fancy object combination my beginner's mind hasn't been able to crack yet?

Tiago Morgado's icon

with a matrix message of visual feedback note-ons and offs sent back to the novation launchpad

kflak's icon

@Tiago Morgado: How does that work precisely? I've tried using a matrixctrl as well, but the thing is that I want to switch the toggles on AND off using the note-on message from the Launchpad. If I pipe the numbers from LPad directly into a matrix they will only stay on for as long as I hold the pad down. Basically what I'm trying to emulate is something similar to the default behavior of the Launchpad when working in clip view in Live... Are there any ways of working with matrix directly that would make this possible?

Jeff Kaiser's icon

Hi kflac,

Max Patch
Copy patch and select New From Clipboard in Max.

You will probably want to make an abstraction using [stripnote] to get rid of the "note off" message, perhaps using something like the following:

kflak's icon

Thanks, Jeff! This is exactly the kind of stuff I'm looking for! I'm just now digging into the workings of jit.matrix, I have a feeling this be the solution to the whole storage problem... Or? Is this just a potential dead end that will cost me numerous nights of lost sleep?

Jeff Kaiser's icon

Storage of what exactly? I love the autopattr/pattrstorage combination for storing states of buttons, matrices, et cetera.

kflak's icon

Well, basically what I'm imagining building over the next couple of months is a kind of multi-instrument where I can use the launchpad to trigger live recording and playback of different sound files, with the added possibilities of routing and rerouting to different effects. To top it all off I would like to throw in a stepsequencer. So, basically, what I need is a way to flip back and forth between different pages of the Launchpad and be able to see what's been triggered in the different pages, what's running and what's not. Is it possible to use the autopatter/pattrstorage for that kind of on-the-fly stuff? One of the functions I've already been thinking of is to use the launchpad to trigger different presets... So I'm very sympathetic to the idea.

Jeff Kaiser's icon

I think it is perfect for such things, I use it that way all the time. Feel free to message me if you have any questions.

kflak's icon

I might just pick you up on that offer :-) For the next couple of days I'll be in the forest blessed with no internet connection, just trying out stuff. Can't wait, and I'm sure to come back with a few questions...

Miller's icon

If you're looking for other Launchpad UI inspiration, check out Five12's Numerology and how it does Launchpad support. If you're not familiar with it, Numerology is a kind of modular step sequencer. It currently has support for triggering presets, controlling the mixer, and programming notes through the Launchpad.

Apart from pattr objects, there are other data storage objects like coll that can be used. For the Launchpad work I've been doing recently, I ended up using the coll object for storing information about the state of Launchpad LEDs.

kflak's icon

Miller: Nice tips about Numerology. Looks pretty impressive.
I've never really got my head around using coll in a good way, but I guess now is a good time to dive into it...

johno's icon

Hi Folks,

I've been building my own Launchpad based instruments and patches for a while now. I found the easiest way was to use wac.lphandler on this website

It is an OSC wrapper for the launchpad, which means that all the messages are easy to read and write. It offers you 8 separate banks on which to program and can be switched back and forth from OSC mode to Ableton Live mode by pressing buttons on the Launchpad. It can also be used with up to 6 Launchpads at a time.

One of the great things about this is that the basic Monome tutorials on sending and receiving messages help out a lot.

I don't have my patches in front of me right now but I'll post one in the next few hours.

johno's icon
Max Patch
Copy patch and select New From Clipboard in Max.

Here is an example patch. As I mentioned above the Monome site has basic tutorials on how to have multiple pages and a few other handy tips. Good luck with it.

kflak's icon

johno: great stuff, that last patcher of yours solved a lot of problems involving literally hundreds of patchlines and very unwieldy numbers of toggles... Thanks a lot!

johno's icon

Glad to hear it

Lee Todd Lacks's icon

Hello Miller,

I recently downloaded your library of phi.lp objects. While the objects appear to be functionning in Max 8.5 7, I am having trouble figuring out how to get the LED's on my Launchpad mini MkIII to change from on to off colors when I am sending on/off CC messages from the Max patcher for my software instrument. I would greatly appreciate a basic example patcher, which demonstrates how this task can be performed for any given MIDI CC message. Thanks very much!

Lee Todd Lacks