I have an APC20 and a launchpad mini, and I’d like to set up a project file that a) sets initial colors of all the pads, and b) on one button press, that button goes from solid color to flashing, and c) on second press, the initial solid color is restored. I’m currently working through tutorial videos to set this up, but anyone who has programmed this kind of behavior before, please chime in! Ultimately this will be used in conjunction with a lighting console and media server. Steve Caldwell was nice enough to send me the bmtp file from his youtube video, and asked me to share it here. Thank you Steve!
Marked as spam
Well you have a fairly tall order but I’ve got it started. It turns out that there are two possible ways to flash LED.s
1- All flashing handled by MT Pro using timers
In both cases we need to have MT Pro handle the state of each LED (flashing or steady)
We would need either 64 global variables for the LP MINI and 40 global variables for the APC 20 (which is a lot of global variables) to control the state of each LED. Or we could use a more complex to implement (but simple to maintain) bitmap scheme where we would be able to handle Normal/Flash State of 64 bits into to global variables of 32 bits each for the LP MIN and 2 global variables to handle the Normal/Flash state of 40 bits of the the APC20.
If the controllers support native flashing, then timers in MT Pro would not be necessary to handle
I know the Launchpad MINI supports native flashing but I have to research more on how to have the controller handle it natively.
I don’t know if the APC-20 can do flashing natively.
In either case completing this entire project is somewhat beyond the scope of what we handle here on the Q&A.
With that, I’m going to attach a few files that might help get you started. These took several hours each to create.
LED Bit Manipulation – APC MINI
In this project I bitmap all APC MINI lights so you can see how I can handle 64 LED states with 2 global variables.
Primarily show how to initialize the state of LED’s for both devices. I started working
In either case, I think bitmapping each device would be easier to manage each button state and especially if we need use MT Pro to do the flashin.
I suggest if you want me to build the entire project for you, come back to me in email and I can provide a quotation. Just send me another email to get started. Or you can see if you can figure it out as you go and ask simple pointed questions on the Bome Q&A as you go.
In the past, as you know, I’ve done demos on controlling a few LED’s but handling this on 104 LED’s is quite more complex than just a few.
Let me know
Marked as spam
I’ve gotten to the point where I can set colors, or change colors, but can’t get it to beyond that.
Thanks so much!
I made a few changes to the Launchpad MINI portion of the APC-20-LP-Demo. I figured out how to make lights blink 2 colors (green and yellow) using double buffering and flashing LED function as describe on page 16 and 17 of the Launchpad-S Programmers reference manual.
Basically what I do on initialization is set both buffer 0 and buffer 1 the same color and then turn on flash for all LED’s. They are essentially all flashing green and green so you don’t see the flash. Then to toggle flash, I turn buffer 0 to yellow so you can see the flash on buttons that have yellow on (yellow and green flash). I did this with two buttons.
I hope this helps. To me this is very good as we don’t have to set flash timers in MT Pro.
Marked as spam
Each button will need it’s own global variable (simplest way). The project file I sent you already showed how to initialize to the beginning color.
Translators would like like this with different note and global variable for each button to change color states. Input would be from APC20 and output would be to APC 20. You can use the monitor incoming message to determine the note number for each button.
Incoming: Note On channel 1 Note x set note to pp)
// Each note with a different variable. Let’s start with ga
// Toggle GA
if ga==1 the qq=5
if ga==0 then qq=1
Setting this up for all 40 notes would probably take me an hour or 2 so if you want me to do it, reach out to me at my email address for a price.
Marked as spam