Idea: press a latching button which puts MIDI messages on "hold" and when the button is released, the "held" messages execute/pass through the translator(s)

Is this possible with a script?

Context/Example: Say I’m playing with a live band, I’m controlling a drum module, guitar pedal and vocal pedal with MIDI. There’s a chorus coming up and I think “oh, I know what presets will be good for this chorus”, so I enable this “hold” function, I go to my MIDI controller and select the program changes ahead of time, then I “release” and all those program changes are sent at once on my mark, changing the presets in time with the song.

Does that make sense at all? Please let me know if so. Any ideas on how to achieve this?

If it’s not possible, no biggie, we can make do with sequencing from the DAW.

Hi, welcome back to the Forum.

Yes this is possible. See the attached script.
There are 5 translators.

  • Translator 1 sets up the appropriate PC numbers for each module where ga is the PC number for the drum module, gb is the PC number for the guitar pedak, and gc is the PC number for the vocal pedal. Nothing is sent with this translator. Just the global variables are set up.
  • Translator 2 triggers a timer “Multiple PC” when you release the button (note off)
  • Translator 3 sends the PC for the drum module to the drum module only up receiving timer “Multiple PC”
  • Translator 4 sends the PC for the guitar pedal to the guitar pedal only up receiving timer “Multiple PC”
  • Translator 5 sends the PC for the vocal pedal to the vocal pedal only up receiving timer “Multiple PC”

Again, all translators are triggered by the same timer when you release the button.

In my example, I have the aliases set up as follows for testing, however you will need to set them to your correct devices. This can be done in the Menu “MIDI -> Edit Project Port Aliases”


If your devices you different MIDI channels, you will need to change that in each individual translator. PC numbers can all be changed in the rules of the first translator.
You are not restricted to PC numbers, you can set up any outgoing messages you want.

Multiple-PC-On Button Release.bmtp (1.9 KB)

Steve Caldwell
Bome Customer Care

Also available for paid consulting services:

Thanks again Steve, I have given this a try and it seems to send the multiple messages out, currently I’m not able to alter the separate messages before they are released and they just send the number of whatever the release trigger is. I will keep working on it and come back with any questions if I get major stuck.

I’m not sure I understand the issue. They should release the last PC changed for each device to only the desired device when you release the button. Are you wanting to queue up mulitple messages from some device and the search the queue for the message you want to release?