Help programming rules

I’m only beginning to work with Bome, and there are many things I don’t understand. I don’t know how to assign variables such as oo, pp, vv etc. so the values are distinct (such as to program change, balance or volume.) I saw a chart for them in an older version, but can’t find it in the manual or in help.

Here’s what I’m trying to do:
I’m sending expression pedal cc from a Line 6 Helix to Ableton Live and to a Line 6 PodGo. Routing is stable and most functions are working, however I want to set rules to make routing this stuff easier.

I want the expression pedal to trigger C0 07 if the pedal transmits any value 64 or below and I want to trigger C0 0A if the pedal transmits any value 65 or higher.

I’ve tried to express this through 2 rules as a balance function:

if oo<=64 then exit rules, execute Outgoing Action

if oo>=65 then exit rules, execute Outgoing Action

Outgoing action is set to C0 07 and C0 0A respectively.

I’ve also got a single button that triggers a note on/off toggle at CC59 to the PodGo. I’m trying to set it so that any message received by Bome that isn’t that note on value triggers note off, so that any other button I touch on the Helix will trigger note off and only the specified one will turn it on.

Expressed in 2 rules as:
if pp==59 then exit rules, execute Outgoing Action
else exit rules, skip Outgoing Action

if pp==59 then exit rules, skip Outgoing Action
else exit rules, execute Outgoing Action

Neither of these functions are working for me. Any help would be appreciated!
-Conley Ray

Hi and welcome to the Bome community!

The attached file should work for requirement 1
The first translator handles looking at the CC value and triggering the program change. We use the global variable ga to determine if a program change on that PC # has already been sent. Here are the rules
emphasized text

if qq<=64 then tt=7
if qq>64 then tt=10

//Log "Log incoming value
// Prevent from sending PC more than once
if tt==ga then exit rules, skip Outgoing Action
// Set last PC sent
if tt==7 then ga=7
if tt==10 then ga=10

The second translator handles blocking CC7 from going to the MIDI thru paths that are set. Generally I don’t like MIDI thru paths and do everything with translators instead but I’m assuming most of what you are sending needs to go straight thru.

I need some more explanation here. Do you want any CC or Note off to send Note-Off Note 53 to PodGo only and everything to go through t Ableton Live. I started a couple of translator here but have them disabled as I’m not quite sure of the requirement.

I have my aliases set up as follows. You will need to change them for your devices.

You can learn more about aliases from this tutorial.

I also have most routing at either MIDI through or preset level.

For more information about device selection, see this tutorial.

Here is the project file.

Line6-2024-01-18.bmtp (2.4 KB)

Steve Caldwell
Bome Customer Care

Also available for paid consulting services:

Thanks for the quick reply, Steve. On the rule for the PodGo, I’m trying to have one button on the Helix that turns a compressor pedal on (CC59). I want every single other button and controller on the Helix that isn’t CC59 to send messages to turn that pedal off.

Do you only want the note-off sent once or every time you get any non CC59 value 127 message?

Do you want all messages without translators to get passed to the both devices?

Steve Caldwell
Bome Customer Care

Also available for paid consulting services:

No sir. I want note off to occur for every button that isn’t CC59. I would like this to occur from the Helix to the translator to the PodGo. That note-off message should not be passed to any other device but the PodGo.

This should do it.

Translator 0.2 will pass through CC59 any value but any other CC will send CC 59 value 0 to PodGo only.

Translator 0.3 makes sure all CC’s get through to Ableton Live. We need this because the previous translator will block the thru route to Ableton Live.

All other MIDI messages go through to both using MIDI thru routes.

You might want to read up on global and local variables I use mostly local. I only use global variable ga to stop sending PC changes more than once based on the CC7 threshold. Press F1 for the user manual.

Line6-2024-01-18a.bmtp (1.9 KB)

Steve Caldwell
Bome Customer Care

Also available for paid consulting services:

Your instruction has helped a lot and I’m able to create and modify rules that fit my needs now. Thank you!!!

Glad to help!