Imitate a guitar amp channel switch

I have a latching dual switch which can run into a TRS input of a controller.

I can then use Bome to have the switch trigger footswitch functions on my Amp Modeller. All good!

Here's my current set up:

Switch 1 = when open has a value of 0, which I'll send to CCX, when it's closed it has a value of 127 so I'll map that to CCY. All good here.

Now here's what I'm trying to figure out:

Switch 2 = follows the same mechanics as Switch 1, I can map it closed to CCZ at the value127.

HOWEVER when I Open the switch, how can I program it so that at value0 it maps to which ever setting Switch 1 is at, so when Switch 2 is value0 (open) it will map to CCX or CCY depending on Switch 1 current setting.

This is to emulate say, a Fender amp pedal where the first switch is either channel 1or2 but the second switch only engages channel 3.

Hi please find the attached.

For this example, I use note 0 for switch 1 and note 1 for switch 2 on incoming.

I use the global variable ga to track the state of switch 1.

When note 0 (Switch 1) is on, CC 1 is sent a value of 127

When note 0 is off, CC 0 is sent a value of 127

In the rules, I set the value of ga to the note state (1 for on or 0 for off)

When note 1 (Switch 2) is on, CC 2 is sent a value of 127

When note 2 is off, we look at the value of ga and send to either CC 0 (if switch 1 is off) or CC 1 (if switch 1 is on) a value of 127.

Since you didn't have any dependencies on switch 2 for switch 1. We are not tracking the state of switch 2, rather just sending CC's based on the current state of switch 1 (if switch 2 is off) or the on value for switch 2.

Switch 1 Off Event - CC0 value 127

Switch1 On - CC1 value 127

Switch 2 Off - CC based on Switch 1 value 127

Switch 2 On - CC2 value 127

If you want to set an initial switch state, you could create another translator to do that with an incoming action of "Project Open" and an output value of the CC you want (and also set the state of ga).

Steve Caldwell
Bome Customer Care

Also available for paid consulting services:



Thank you so much Steve, I’ll give this a try and get back to you

Hi Steve,

Is it possible for me to activate this translation with a footswitch that's already sending CC? as when I set it to notes, it only shoots velocity127 Note On. I'm using the TRS input of a Maschine Jam.

Also, how can I change the outgoing CC to CC49,50,51 respectively for each switch?



Just change the incoming triggers and outgoing actions for the MIDI messages you want to use to trigger and send respectively.

Check our tutorials for a basic understanding on how to do this type of thing.

After reviewing them, if you still can't figure it out, come back here.

Steve Caldwell
Bome Customer Care

Also available for paid consulting services:


Hi Steve,

I managed to figure it out, apologies for my ignorance, it's just scripts and stuff like that is so foreign to me, I'd love to learn more about this language so I can be more self sufficient with Bome and the Rules box. What language is this ?


Sorry again but I do just have one little question,

I want to make it so that while Switch 2 is engaged, Switch 1 can still send MIDI into Bome but NOT out from Bome. I put gf=2 into Switch 2 ON rules (this is the CC Value it sends)

I am trying to figure out that if gf=2 then Switch 1 cannot send outgoing message.

Hi, without looking at the code, you can suppress outgoing messages with a construct such as the below:


if gf==2 then exit rules, skip outgoing action


In answer to your earlier question, the language does not have a name and in specific to Bome MIDI Translator. The user guide and language constructs can be found by pressing F1 or going to the help menu to open up the Bome MIDI Translator users guide which is in Adobe PDF format.


Steve Caldwell
Bome Customer Care

Also available for paid consulting services: