Shift selector "A-B-C-D" midi CC buttons (select & toggle and terminate previous shift)

Im looking for the solution to my four buttons to act like shift 1, shift 2, shift 3, shift 4.
What i want to toggle one of the shift button and the same time terminate the previously selected shift button.
It would be nice for me because all the 4 buttons has led, so i can visually see which one is toggled.

  1. Shift “A” is pressed last. So its toggled.
  2. I press Shift “B”. Shift “A” functions deactivated. Shift B toggled.

What are the 4 buttons incoming note values? Beyond lighting the LEDs, what action would you like to perform?


Leds doesn’t really have special function.
These buttons named as A-B-C-D. All the four has one-one led. When you hit A button led A will light, when you hit B button, led B will light…and so on. So i dont need to do anyhing with the leds.
I have 4 sliders and i wants to send midi cc messages with my 4 midi faders when hitting button A. When i hitting button B i want another four functions to my faders. For C and D also. So selected shift button needs to be toggled and terminate toggling of previously selected/pressed one. Acting like a Shift Selector with 4 buttons.
The leds just help me which one pressed last.
(Its a Faderfox Ft-3)

I need to know the values that the buttons send when you press them. Please turn on logging in MT pro and show the incoming MIDI messages.

Steve Caldwell
Bome Customer Care

Also available for paid consulting services:

Input messeage copied from my log window:
1: IN 13.4 Note On on ch. 6 with note:96 (0x60) and velocity:127 (0x7F)
2: IN 13.5 Note On on ch. 6 with note:97 (0x61) and velocity:127 (0x7F)
3: IN 13.6 Note On on ch. 6 with note:98 (0x62) and velocity:127 (0x7F)
4: IN 13.7 Note On on ch. 6 with note:99 (0x63) and velocity:127 (0x7F)

also sends off messages.

Assuming you want the functions to change when pressing a given button, the following project should work.

Presets 0 and 1 are always on.
Preset 0 handles setting up global variables and setting the assigned preset by number
Preset 1 handles preset changes by incoming note number and selects presets 2-5 depending on the button you press.

You can add translators under each preset for what you want the faders to do when that preset is selected.

I hope this helps!

A-B-C-D-Select.bmtp (1.9 KB)

Steve Caldwell
Bome Customer Care

Also available for paid consulting services:

Woow, works like charm. Such a nice preparation for me. :slight_smile:
Thank you very much Steve.
Taken just a few minutes to understand.

1 Like

I only have a little problem to implement it next to my existing presets.
I have some buttons and encoders also which has presets also.
When i copy all of your presets next to my older ones all will be deactivated by switch A-B-C-D. So the old one presets are deactivated by A-B-C-D
Do you have a solution for this? Maybe is have to copy them to Fader Function 1 - 2 - 3 - 4.
Because for buttons and encoders i dont want to use this A-B-C-D, only for the faders.

You have a few options

  1. Make your other presets always on, you can still manually enable and disable them
  2. On the outgoing action of the preset manager translator, turn off “disable all other presets”. Then within in each preset, have translators that disable the other presets on activation of the current preset.

Steve Caldwell
Bome Customer Care

Also available for paid consulting services:

Really appreciatie for your help.
Thank You,

Hello Steve,
I have almost finished with my mapping. The shift selector A-B-C-D works great.
Only one is missing. I have checked the video about gestures, downloaded the preset
but i can not implement to my project. Maybe there is some conflict.

Could you help me once when you can to implement my browser button with the following:

  • normal: right arrow
    -longpress: left arrow
    -double: enter

I have attached my project here. The last preset named GESTURE with the incoming CC set up.
Faderfox FT-3 ABLETON Midi control 2022.01.01.bmtp (66.6 KB)

OK the below should work.

I added global variable gc for a button press counter and gd to determine whether button is pressed or released. The Browser button translator (24.0) looks for note-on or note-off note 64 MIDI CH 5.

I then counts key presses as you press and release the button and puts in to global variable gc. The outgoing action is a 250ms one shot timer. When the timer fires, each of the 3 translators below look at the current count and only fire if the count matches how many times you pressed the button

count 1 (gc=1) with button still being held (gd=1) will count as a long press
count 2 (gc=2) will count as a regular press and release
count 4 (gc=4) will count as a double press

The counter is cleared (gc=0) after the evaluation. Each translator handles it’s own output keystroke as you requested.

I also set the preset to always on.

Faderfox FT-3 ABLETON Midi control 2022.01.01-sjc.bmtp (68.4 KB)

Steve Caldwell
Bome Customer Care

Also available for paid consulting services:

Exactly as described. Now i can browse up/down, open folder, close folder, go back to category browser, and loading my selected file…All with one encoder with button. Thank you again.
After 6 days im done my controller …but as i know myself i will have new ideas :slight_smile:
So will start to read the manual.

Happy New Year
Arnold Kovacs

1 Like