Behringer XTouch One - FL Studio. I made two projects, get them here!

So I decided to give BOME MTP a try. Turned out quite great actually.

I made two MTP projects:

Download here:
XTouchOne - FLStudio.zip (6.8 KB)

Update:

  • Swallow a message from FL at launch that turned on the ‘cycle’(Redo) LED light.

  • Added a 200 delay on the OFF message for all command lights, looks fancier.

  • XTOUCH-FL-STUDIO - MCU Standard Mode.

  • XTOUCH-FL-STUDIO - MCU Reaper Mode.

The standard mode forces you to use Banks/Channels in an awkward completely useless way for a unit with one fader. I ended ditching this one in favor of the Reaper Mode one. Trying to select channels this way, as well as the way the Faderport did (admittedly better) results in a lot of noise each time you change channels with the mouse/arrows. Plus I never really used the fader for mixing, if at all.

The Reaper one allows you to select any channel in the mixer behind scenes, it won’t force the mixer to seek and select the tracks and you can guide yourself by looking at the small LCD. So, in my case I can mostly have the fader selecting my Metronome/Preview channel which I adjust quite frequently, so now I can use the fancy fader for that. Also if I wanted to mix with that I can still do it.

Also, it is silent as the fader is not updating each time I change channel with the mouse.

The layouts for both projects are fairly the same and contains the things that I use a lot. You can change those of course:


FL Studio MCU Standard Layout (Requires the XtouchOne to be in ‘MC Std’ mode):

Channel selection goes by banks and FL will show the selection. (Default behavior, I don’t love it)

The Fader supports double tap to bring the currently selected track to 0dB.

Functions:

F1 = Cut
F2 = Copy
F3 = Paste
F4 = Insert (CTRL+Ins)
F5 = Delete (CTRL+Del)
F6 (default) = Opens extra menus in the Mixer and Channel Rack.

Marker = Creates a new Marker in the PL. (you must have the PL selected)
Nudge = Undo
Cycle = Redo
Drop(default) = Turns the metronome ON/OFF.
Replace = Turns Wait for Input ON/OFF
Click = Countdown ON/OFF.
Solo(default): Swaps between Song and Pattern.

All transport buttons work even if FL is not focused.

‘<<’ and ‘>>’ Are modified to use ‘/’ and ‘*’ Keystrokes so the cursor always lands on a bar. Pretty much what the wheel does but it does not require you to focus the PL as it works universally while focusing any window.

The pedal input now Starts/Stop the project (Basically an injected SPACEBAR)

All lights work with some small exceptions:

  • Some lights cannot be held on (WaitforInput and Countdown) as FL doesn’t seem to send that data out. For those I still made them so they lit when pressed.

  • Bank Left and Right buttons lit as you press them. Channel Left and Right lights are left alone because FL auto turns them off.

  • ‘<<’ and ‘>>’ buttons blink as you hold them. (small touch)

The rest of the functions/lights works as normal.


  • XTOUCH-FL-STUDIO - MCU Reaper Mode (Requires the XtouchOne to be in ‘MC Reap’ mode).

Channel selection does not require constant bank swapping and happens behind scenes without forcing FL to select in the mixer. (Which I prefer)

The Fader supports double tap to bring the currently selected track to 0dB.

Functions:

After clicking ‘Master’ you can adjust the master level with the fader. (MCU Standard uses the encoder knob)

F1 = Cut
F2 = Copy
F3 = Paste
F4 = Insert (CTRL+Ins)
F5 = Delete (CTRL+Del)
F6 = Panic

Marker = Creates a new Marker in the PL. (you must have the PL selected)
Nudge = Undo
Cycle = Redo
Drop(default) = Turns the metronome ON/OFF.
Replace = Turns Wait for Input ON/OFF
Click(default) = Disabled. Doesn’t send any data so I cannot use it.
Solo(default) = Saves the project. Cannot change it. Is quite useful actually. It lights up when you tweak something to tell you the project is not saved.
DoubleClick SHIFT: Countdown. (you must focus FL’s main window)

All transport buttons work even if FL is not focused.

‘<<’ and ‘>>’ Are modified to use ‘/’ and ‘*’ Keystrokes so the cursor always lands on a bar. Pretty much what the wheel does but it does not require you to focus the PL as it works universally while focusing any window.

The pedal input now Starts/Stop the project (Basically an injected SPACEBAR)

All lights work except the Click and Solo.

  • Some lights cannot be held on (WaitforInput and Countdown) as FL doesn’t seem to send that data out. For those I still made them so they lit when pressed.

  • Bank Left and Right buttons lit as you press them. Channel Left and Right lights are left alone because FL auto turns them off.

  • ‘<<’ and ‘>>’ buttons blink as you hold them. (small touch)

The rest of the functions/lights works as normal.


Here some pictures. BTW, you can totally remove the silver sides, the walls are a nice plate and not a hole. Looks a lot sleeker.
The fader is using the handle from the Faderport which looks a lot better IMHO.
The Wheel LED ring is blue because I stuffed bits of blue plastic bag inside the cavities where the LEDs are. (You’ll see them if you pull the wheel out)

1 Like

Hi, thanks for your great work! We always love when users post there working examples!

I do have a few suggestions for improvement.

  1. Use aliases. When you use aliases instead of physical port names, it is usually more obvious what your virtual ports are used for. I notice you have on named ‘FL Out’ but not one named ‘FL In’ and in your router it looks like you a reading from Bome MIDI Translator 1 Virtual In. I would aliases that to ‘FL In’ and use the router in that fashion.

Here is what you have

Here is what I changed it to after creating the alias ‘FL In’

Note, I didn’t change your other physical ports to aliases. You might want to do that as well incase your interfaces change.

Also Alias makes your projects more portable.

You can learn more about aliases from this tutorial.

  1. Organize your device routing by presets. I notice that you have them on individual translators which is fine until you have to change them. It is easier to change just a few presets that have the same routing than maybe hundreds of translators within that preset.

If translators do not have defined routing, they inherit the preset routing. If presets don’t have defined routing, they inherit the project routing.

In your case your preset has routing that you want so it is not necessary to re-define it at the translator level as it will inherit the preset routing. Only translators with different routing would need to be defined, or moved to a different preset. Again, in routing, always use aliases.

In your case, I would recommend 3 presets with routing as follows.
Then put the relevant translators under those presets without implicit routing.

  • X-touch to Application - XTouch IN to FL Out
  • Application Feedback - FL In to XTouch One
  • Local Feedback - XTouch IN to XTouch One

For more information about device selection, see this tutorial.

  1. Focus your application before sending a keystroke. As it is written, if your FL application is not focused, the keystrokes might not work.

Rather I would put a rule like this in each of you translators that have outgoing keystrokes and then put a 20ms delay on the keystroke to give time for the application focus to complete before the keystroke fires. This would ensure the application has focus when you send the keystroke.

Perform "focus"

Then add this translator.

I hope this helps!

Steve Caldwell
Bome Customer Care


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

Hi.

Nice!

Thank you, I’ll try that for more refined projects. Yeah I decided not to use Alias on the MTP In because I thought MTP 1 is always MTP 1 (not like an unknown device users will not have). But yeah, it would be neater with the alias.

I’ll try the focus and see if that helps or breaks something. I know FL needs focus on specific windows for some stuff and the things MTP captures aren’t always useful (Because FL’S UI uses some nonstandard stuff). The only thing that really needs focus is the pedal->Start/Stop.

I thought about having both modes in one project and use presets. But I thought it could complicate things for users that will always use one or the other.

I know I can swap presets automatically, but I haven’t investigated on what would be the best message to trigger them (Change of mode in the XTouch for example). Hence I decided to keep that part simple for now.

1 Like

Updated.

  • Removed unused Aliases.

  • Used Aliases instead of direct links.

  • Re routed.

  • Revised all translators so they have their specific ports.

  • Tried injecting the shortcuts but as I said, almost nothing works with injection in FL Studio. I was lucky back then that I could get Spacebar to work for the Pedal.

Same captured text or other captured windows texts and my own variations (deleting parts of the captured form) didn’t work at all with things like ‘CTRL+I’ (Wait For Input). Nothing gets send, or things don’t work as expected.

  • Decided to go with two separate projects, avoiding the need to trigger or reset the X Touch when rebooting the PC. The user just chooses the default one.

Later on the user can add it in one project if desired. (Jumping from one mode to the other in sync with the unit)

Updated:

  • A few fixes with both version’s Light OFF on marker/undo/redo.
  • DoubleClick SHIFT: Countdown (Reaper mode)
1 Like