Advance a patch

I'm still getting to grips with the wonderful Bome products which are working great for me so far with my initial tests but something I need to do is trigger from a keystroke to a Midi keyboard and move the patch one by one using the down (or indeed back up one by one with the up key) ,the keyboard then not only moves itself along patch wise but triggers Mainstage on a Mac (which all works fine) but I want to also move up and down with the keyboard up and down key. Just not sure the best way to go about this, is it a Rules thing I am still getting to grips with ?

Hi, and welcome!

I’m not sure from your description what you are trying to do. Are you saying that you press a key on your computer keyboard to send a program change MIDI message to the an external MIDI keyboard/synth using the computer up and down keys? If this is the case, then you may need to find a Mac program to suppress the computer keystroke since incoming keystrokes in MT pro are not suppressed. The keystroke will indeed send a MIDI message (if that is how you have it programmed in MT Pro), however the computer will still process the key stroke.

There might be a way to use AppleScript (outside of MT Pro) to do this however.

If you are on Windows platform, however, I have been able to create a program, that can indeed suppress normal keystroke actions. If you are interested, let me know via email.

Steve Caldwell
Bome Q and A Moderator and
Independent Bome Consultant/Specialist
bome@sniz.biz

 

 

 

 

In more detail I am running Mainstage on a Mac and a Yamaha synth, now we want to use both mainstage and the Yamaha sounds (as a backup) so I want to advance (and retard) patch changes on both devices at the same time. So that all works fine how I’m plugged up right now (using a Bome Box as it’s via network and other devices plugged in to), a Midi footswitch controls both, volume and sustain works and if I advance the Yamaha synth via it’s buttons it advances Mainstage too. All good so far but I’d like to be able to control the advance (and retard) patch buttons on the yamaha synth from the mac keyboard therefore having control that way too. So I currently have control of a patch change from 1 to 2 on the synth telling MT to do it on a keystroke press but the question is how do I do that properly making it an incremental change every time the down (or up) key is pressed on the mac keyboard rather than a single event i’m asking it to do. Which does mean I’m happy for the keystroke to still work on the Mac as it’ll move the patch in Mainstage up and down unless you are saying I’ll have 2 signals ? one from the mac keyboard and another back from the Synth ? Sorry if all that sounds confusing, it’s hard to describe in a coherent manner I’m finding 🙂 And thank you for any help, much appreciated.

OK, I think I understand now. So say you are patch 1 and you press the up key, you take both to patch 2 and then if you press the down key you take them both down to patch 1. And by patch you mean “MIDI Program change” . If the Yamaha Synth or Mainstage does not recognize any command for increment/decrement, then you basically need to track the current patch number in Bome MIDI Translator so that it can send the “absolute” program number on each key press. Something like the below if you start at patch 0. Note, you will have to find a way to get in sync what the current patch is to get this to work. Hopefully if your Synth sends absolute patch MIDI data, you can use this to capture the initial patch. In the example below, I use the global variable “ga” to track the current patch number.

——
Translator : Next Patch
Incoming: Key Stroke up arrow
——-
Rules:
ga=ga+1
// On outgoing message, make sure appropriate output device ports are set at either
// The translator or preset level
// End of Rules
——-
Outgoing: Program Change MIDI channel 1 program value ga
Options: swallow
——
——
Translator : Previous Patch
Incoming: Key Stroke down arrow
——-
Rules:
ga=ga-1
// On outgoing message, make sure appropriate output device ports are set at either
// The translator or preset level
// End of Rules
——-
Outgoing: Program Change MIDI channel 1 program value ga
Options: swallow
——

——–
As I said, there might need to be a way to capture the current patch number as you change it on the synth (assuming it sends it out the MIDI port). It would look like
the below:

——
Translator : Establish Patch number
Incoming: Program Change on Channel 1 from Yamaha Synth, set value to pp
——-
Rules:
ga=pp
//

// End of Rules
——-
Outgoing:None
Options: Swallow
——
—–
If you want Mainstage to also control the patch number, you will need to do something similar for that.

I hope this helps!

Steve Caldwell
Bome Q and A Moderator and
Independent Bome Consultant/Specialist
bome@sniz.biz