UC-33 rules configuration


I recently found out about Bome Midi Translator in a blog post ( How to Set Up a MIDI Console for Capture One (or Any Other Photo Software) ) that describes how to control Capture One with a Behringer X-Touch Mini.

I have a friend that had a UC-33 laying around so I decided to try to use it to control CP1 but I cannot figure out how to setup the rules.

From my understanding the knobs and the faders are not infinite so they have a minimum and maximum value message. The values sent are absolute since they are always the same when you turn it to the max or min. Let’s see if you can help me setup a simple rule.

Controlling Exposure


The shortcuts to increase or decrease exposure are already setup in CP1:
This allows 0.1 increments (the maximum exposure on the software is 4 and the minimum is -4.

I did not find a shortcut to reset exposure to “0”, only a global shortcut to reset all adjustments to “0”. There is a way to do this with a mouse click but it’s not possible to map a shortcut.

What is my goal

I do not know if this is possible but my objective is to make the middle position of the fader correspond to “0 exposure”. When the fader goes up it increases the exposure. When the fader goes down from the middle, it reduces exposure. Maybe I should configure a fader just to reduce exposure and another fader to increase exposure but I want to know if this is possible first. I think there is a problem because I could not find any shortcut to reset the exposure value to “0” (middle of the fader).

UC-33 Midi messages

Message when the fader is in the 0 position:

Message when the fader is in the 64 (middle) position:

middle position fader~

Message when the fader is in the 127(max) position:

Do you have any ideas if my goal is possible to achieve?

Thanks in advance.

Hi, and welcome to the Bome Community!

Something like the attached should get you started. Unfortunately there is no way to determine the initial position of the fader, so I set up a note-0 on command to set a global variable ga ot 64 which should tell Bome MIDI Translator Pro where the fader is. You will need to.

  1. Move the control in Capture 0 to the center position with your mouse (unless you have a keyboard shortcut can do that).
  2. Send a Note 0 (or you can change the incoming trigger to anything you want for translator 0.2.

Then as long as you do not touch the control in Capture One, things should be in sync. With that said, the precision of the fader movement will be 128 steps (0-127) and it may not align with Capture One precision so if the control moves to far or not enough, the project file will need modification. I don’t have Capture One loaded to test this.

Give it a try and let me know how it goes. It is usually better to have endless encoders with relative values to do this kind of incremental/decremental adjustments with an application. due to the issues you are facing here with faders that have hard stops.

Fader-to-Exposure-Capture-One-2021-09-22.bmtp (1.8 KB)

Steve Caldwell
Bome Customer Care

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

Thanks for the quick answer, I will try it and report back

You may need to change the incoming message from CC0 to CC8 as indicated in your log. My bad eyes initially read CC0. I get new glasses in a few days :wink:

Steve Caldwell
Bome Customer Care

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

I was able to figure that out in the end but thanks for pointing it out. I got it to work perfectly but then I messed it up again and I’m not sure which parameter got it working.

I only have to send note 0 when I align the fader in Capture one and Uc33 right?

When I press this button the log is as following:

The problem is when I try to bring the fader up or down it makes a movement like if it’s fighting against itself. I’m not sure why this is happening but as I said I got it working perfectly but I cannot figure out what was the problem.

I cannot understand why the log sends a shortcut Exposure+ and Exposure- either if I bring the fader up or down. The only thing I changed from your template was the CC# from 1 to 8. I also changed the button that gives the order ga=64.

I got it working again but I’m using some strange configuration let me tell you how it is, maybe you can figure this out.

I changed “Center Fader” that sends the note 0 from “note on” to “control change” and the CC# to “any CC#”. Also “Capture midi” is checked because otherwise it does not work properly in capture one. I’m not sure why this works but I tried a lot of things and this was the only config I found.

Is this a motorized fader? You may need to also send the value back to itself. In which case you will not need to manually center the fader on your controller, you can send the set value back to the controller and it should center. You will still need to manually center the value within Capture One however.

I see a value of pp of 540343584 and the way I sent it to you it should never be more than 127 so something else is messing with the value of pp somewhere.

You have to accept any value and then compare the current value (qq) with the last known value (ga) to determine whether you execute the first keystroke or the second. It should never try to execute both. The rules within the translators are very important that way so that only one keystroke is executed.

Steve Caldwell
Bome Customer Care

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

No, it’s a normal fader. How can I send the value back to itself? I tried multiple configurations the only one that seems to be working is the one I explained in my last post with “capture midi”
turned on.

Config v5.bmtp (2.7 KB)

Not sure what is going on. What is the value of ga? Where does it come from to be inputed in “get last known value from ga”? I think I understand the concept basically there needs to be a comparison between the current value and the new value. If the new value is smaller it should activate “Exposure -” and if the new value is bigger then it should activate “Exposure+”.You confirm this rules are correct right?

Exposure + Keystroke
// get last known value from ga
if pp>qq then exit rules, skip Outgoing Action

Exposure - Keystroke
// get last known value from ga
if pp<qq then exit rules, skip Outgoing Action

Center fader

Thanks again for your time.


First of all I had to change the incoming variable from qa to qq in your translators. We are comparing the last known value of the fader to the new incoming value to determine the difference and which translator to fire. I use the global variable “ga” for Exposure and “gb” for contrast. You need to have a different global variable to track the last known value for each fader. Sharing the variable among faders will confuse things.

In the rules of each fader you also need to change the global variable used for that fader.

Here are the rules for Exposure ± -

// get last known value from ga
if pp<qq then exit rules, skip Outgoing Action

Compared to the rules for Contrast ± -

// get last known value from gb
if pp<qq then exit rules, skip Outgoing Action

Note that exposure and contrast use different global variables (ga vs gb) so all rules need to reflect the new global variable for that given fader. The local variables don’t matter since we are not saving them anywhere for future use. We are only using them for temporary values within translator.

Local variables are oo, pp qq, rr,ss,tt,uu,vv,ww and xx. Everything else is global.
Local variables are not seen outside the current translator (more precisely outside the incoming trigger) and are either set by the incoming value or in rules. If not set, the value is random.

(Press F1 in within MT Pro to open the user manual that discusses global vs local variables)

Global variables by contrast are set to 0 when a project is started (unless you change them) and are remembered as long as the project is open.

I set up another Preset “Init” and translators to set the global variable ga and gb to 64 (mid point) at project start.
Project Opened - Init - > Fires a one shot timer called “Init” when the project is opened.
ESC - Init → Fires a oneshot timer called “Init” when you hit the computer escape key
Initialize Globals - Input is the timer “Init” from above and the rules are there to set the initial values to 64. This is also a handy way to document all of your global variables in one place.

Now the other issue you have is the two “Center Fader” translators, which are going to alter the global variables no matter what knob (CC) you are turning. This needs to be a unique MIDI message that is not used anywhere else. For now I set it back to Note 0 and used a single translator in the “Init” preset too handle it and disabled the other two translators you have.

Here is the fixed project file.

Config v5-sjc.bmtp (3.2 KB)

Steve Caldwell
Bome Customer Care

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