Init action / unconditional action

Newbie questions, bear with me :slight_smile:

I´m looking for a way to initialize a launchpad pro (lpp) to light up the pads before anything else happens. It´s an original/mk1, so no fancy setup via novation components like for mk3s. My idea is:

Preset01 (init): Use 96 translators to push a sysex message to each button of the lpp. Execute this Preset once, ie use translator 97 to deactive the init preset 01. 96 translators instead of one with variables because of per-pad colour choice.

Question on this: Since there is no event to react to, how do I execute an outgoing action unconditionally? “No action” does not do anything. It would be great to have a selection between “do nothing” and "do this (outgoing action) " on the on the “None” incoming action.

Preset 02 (button pressed feedback) Use 192 translators listening on the lpp port for any button action, then send a sysex string to change the color. Again, 96 to have an option for individual colors.

Of course it would be nicer to use translators that can import a value table from a textfile that would have pad number, off color, on color. But I´m not sure if such an option exists.

Does that make sense or are there better ways to give old launchpads the new launchpad´s functionality?

Hi and welcome to the Bome Forum!

Here is how I would do it.

  1. Set up a translator with incoming trigger of “Project Opened” and outgoing action of a one shot timer “Init”
  2. Set up a second translator with an incoming keystroke of your choice and also an outgoing action of timer “Init”. I usually use the computer ESC key. This way I can re-initialize the project at will even after it has started.
  3. Set up another translator with incoming trigger of “Init” and no outgoing action but define all the values of your global variables used in the project in rules here. That way you have a record of all global variables you use in the project. Aso projects grow, the list of global variables get longer so this is a handy way to not only initialize them but to document them when you need to assign more.
  4. Set up another timer with and incoming trigger of “Init” and the outgoing action of either
    a) Raw MIDI (SysEX) turning on the LEDs you want
    or
    oo=ga
    // decrement for next iteration
    // note number for note 96
    if oo==96 then pp=25
    // color for note 96
    if oo=96 then qq=5
    // Note number for note 95
    if oo=95 then qq=26
    // note color for note 96
    if pp==95 then qq=6
    // Do each note number here
    outgoing action Note on note pp value qq

Of course if there is a pattern to the note numbers, you can instead do some math to calculate the note number instead of a separate rule for each of 96 notes. And of course if you want them all the same color you can just set qq once.

Usually if I have to do a bunch of rules, I set them all up in a spreadsheet and then export the rules from the spreadsheet to a text file that I can copy and paste into the rules of MT Pro.

I almost always use note patterns instead of individual rules to calculate the note numbers I need for each pad.

If I can find my Lauchpad Pro example and I cannot find it on the Forum, I will look for it on my hard drive and repost it.

Steve Caldwell
Bome Customer Care


Also available for paid consulting services: bome@sniz.biz
2 Likes

Hi,

This project file pretty much is what I described earlier. Except I just set all LED’s to the same color instead of using a bunch of rules. For note numbers, I just skipped the notes that the LP Pro does not use in standalone mode programmer layout. I added a translator with SysEX to ensure we were in the correct mode and layout before iterating through then note message.

Launchpad–Pro-LED-Init-Example.bmtp (2.0 KB)

Steve Caldwell
Bome Customer Care


Also available for paid consulting services: bome@sniz.biz
1 Like

Steve,

thank you for the fast, complete and helpful answer!

The lpp (and a few of it´s siblings) will be used to control a DMX software. I will color the pads differently in different modes, so for example the lp controlling 4 scanners with 8 colors each will have 2x2 groups of colors, ie pad 11, 12, 21,22 red, 13,14,23,24 green etc. Other pads will get groups of 2x4, others will have single pads for things like “all lights off” etc. So while I could use some math for the groups, I will stick with line by line config, as the layout may change, still working on interface ergonomics.

Overall, I´m now at 768 pads on the 4 minis (3 modes) plus 96 on lpp classic/mk, so reading the mappings from external would be nice, quickly swapping between setups. But I can also just copy the mtp project files and swap them around.

Cheers,
Oliver!

Pics of soft and hardware:
qlc vc |690x461
workspace|666x500, 50%