Switching patches with the + button

Hi Steve, I would like to create a rule in BMT that allows me to use the + button to easily switch the presets from my Roland GP-100 Guitar Preamp via Midi. Preset 1, Preset 2 and so on. I created the routing, but I don’t know how to implement it in BMT. Do you have an idea for this?

Hi,

Try the following. It has two presets

Preset 0 ‘Init’ 3 translators
0.0 - Trigger one shot timer ‘Init’ when project is opened
0.1 - Trigger one shot timer ‘Init’ with control up-arrow
0.2 - On timer ‘Init’ Initialized global variables. In this case I use the global variable ga for then initial Program change
0.3 - On timer ‘Init’ send initial program change

Preset 1 - Patch Switch
One translators increments ga in rules and sets the new program change ga

Here is how I have my aliases set up.
image

You can learn more about aliases from this tutorial.

PCwithplus.bmtp (1.6 KB)

Steve Caldwell
Bome Customer Care


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

Thanks Steve, with some adjustments it works great!

1 Like

Hi Steve, is there also a template of a rule that allows me to select presets directly with the number keys without having to create each program change individually, i.e. preset 1 with key 1, preset 2 with key 2 and so on.

Sure, but you will need to have different translators for each incoming keystroke, then you can have the outgoing action of each translator switch to a different preset name or number or do a different program change.

Steve Caldwell
Bome Customer Care


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

Thank you for the information. Is there a template for thias that can be customized?

Yeah, pretty simple, I started this one. Only created 0,1, and 2. You can continue on from here.

key-to-pc–example.bmtp (1.2 KB)

Steve Caldwell
Bome Customer Care


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

Hi Steve, I would like to add a function to the existing Project that allows me to switch the pre-selected patch to the next patch by using a footswitch (Translator 10). This works on its own, but not in combination with a previously selected patch, as the next patch is selected depending on ga. How can I implement this to make it work? Thanks for your support!

Switching Patches with numbers and + GP-100.bmtp (3.8 KB)

Hi,

It was a matter of setting ga in the rules of translator 0.0-0.9 and instead of output a hardcoded number, just outputting the value of ga.

I then set this in the last translator to 11 instead of 12 which it was.

// cycle back to the first
if ga>11 then ga=2

Untested but it should work.

Switching Patches with numbers and + GP-100-sjc.bmtp (3.9 KB)

Steve Caldwell
Bome Customer Care


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

Thanks, that’s exactly how it should work.

1 Like

2 posts were split to a new topic: Merging two MT Pro Project files

Hi Steve, I need further assistance please. How can the sequence continue with two-digit (10 to 99) and three-digit numbers (100 to 999)? How can i.e. enter number 10 without the program change from number 1 being triggered, but actually the program change from number 10? How can MSB and LSB be taken into account from 129 onwards? Is it also possible to enter the number at the same time, i.e. output via WIN+3 to software that does not support Midi-in? Thanks for your support.

The simplest way to handle this is use the ENTER key to tell the program that you have finished entering digits.

An alternate method would be to have a watchdog timer to determine when you have completed the entry. For instance we could set it for 1 second, and if you stop entering digits for a second or more, it would assume you are done with your digits

So if you enter 1 0 0 and each digit within on second and then paus for 1 second, it would take the value of 100. However if you pause for 1 second after 1 0 it would take the value 10 and if you pause after 1, it would take the value 1. In this fashion there would be no limit to the number of digits (outside of the 32 bit integer size of Bome variables) as long as your continue to pause.

For using the enter key this would be the same.

Yes, Bome MIDI Translator Pro can send keystrokes to other software that doesn’t support MIDI. The key here (no put intended) is to make sure that proper focus is given to where you want to send the outgoing keystroke(s). In many cases you can just focus the target application prior to sending the keystroke(s). In other cases you may need to place the mouse on a given control or area within the target application.

The attached examples shows how you can press a given note number and have it generate text to indicate the note number pressed. Prior to sending the keystrokes, translator 0.2 ensures you are focused on ‘Notepad’ (in Windows).

Translator 0.0 gets the note number
Translator 0.1 stores the note number, triggers the focus and then starts sending characters. It really handles most of the smarts of this project determining whether we are send 100’s position 10’s position or 1 position digits.

The translators in preset 2 process the actual keystrokes.

Note-to-Note-Number-Keystrokes.bmtp (3.7 KB)

Steve Caldwell
Bome Customer Care


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

Thanks for the information. In my case I can set focus on the application using the ‘Win+3’ key combination. To do this, I would like to expand the ‘Switching LivePrompter with Keypad.bmtp’ project so that the input generated via NUM is also passed on to this application. Unfortunately, I don’t know how to implement this in order to generate note numbers as described in your example. I also don’t know what needs to be specified for ga so that MSB and LSB are also taken into account?

Switching LivePrompter with Keypad.bmtp (2.7 KB)

The thing about using incoming keystrokes instead of MIDI is that they are never swallowed by Bome MIDI Translator. You can do it, but the keystrokes that you use should not be mapped to any standard keystroke function on your computer. Now if you are on a Windows platform, you could probably use AutoHotKey to map them (swallowing the original keystroke) to other non-used keystrokes and then have Bome MIDI Translator Pro take it from there. I’m not sure if there is an application on Mac that does similar.

For instance mapping NUM0 - NUM9 to something like F13-F22. Most applications avoid these keys as they are typically nowhere on a standard keyboard. I know with AutoHotKey you could also restrict this mapping when a given application is in focus. There are also programmable macro keypads available that you can purchase and set up to map to otherwise unused key combinations.

Putting this together for you is beyond the scope of free Bome support.

Really the easiest way to do this would probably be with an inexpensive MIDI controller and use MIDI input instead of computer keyboard input.

Steve Caldwell
Bome Customer Care


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