Mackie Emulation for Various Non-Mackie Controllers using Bome MIDI Translator Pro

Hey folks, I've been working on using MT Pro to provide Mackie Emulation on some controllers that do not have built-in Mackie Mode.

So far I've got some Mackie emulation capabilities for the following controllers:

Worlde EasyControl.9

Akai APC40 MKII

Nektar Impact LX25+

Novation Launch Control

---

If you have one of the above controllers, I can provide the Bome Project to you at a pretty decent price.

If you have another controller type that you want Mackie Emulation where there is none, but want to improve on the current Mackie Emulation with MT Pro, then I'm available for fee based programming/consulting.

The emulation I've created all has fader and V-POT and bank up and down functionality. If the controller has LED feedback, it also provides for indicators for solo, mute, select, record/arm V-Pot ring. Mileage for other functions vary depending on available knobs, buttons etc of the native controller. Most controllers do not have Mackie Display but if you load up MIDI Tools on your PC, you can forward these display message through Bome to see those as well using the MIDI Tools "Mackie Display" feature.

 

The benefit of having this is you can basically use your non-Mackie controller plug-and-play with any applications that support Mackie. I've tested the above with Ableton Live, Reaper, Cakewalk by Bandlab, BitWig and Davinci Resolve.

Just reach out to me at the email address below:

Steve Caldwell Bome Q and A Moderator and Independent Bome Consultant/Specialist bome@sniz.biz

 

I’ve just tested the LaunchControl Mackie implementation with FL Studio 12 and Studio One 3 as well. I use 7 out of the 8 factory layers available to handle different mixer functions with the same 8 buttons. The lower knobs act as faders, and the upper knobs act as V-Pots. I use the left and right up and down arrows for navigation of factory template 0. Left and right handle bank select in factory template 1. Up handles a shift function so I can go one channel right and left in factory template 1. Also up handles various shift functions in other factory templates (like for re-centering the V-Pots). I have yet to see anyone make this little controller handle as much as Mackie implementation of most controllers their size and cost.

It is really a nice little controller in Mackie mode.

I’m now looking into what I can do with my Novation Launchkey MINI. It has an “undocumented” HUI mode but is quite limiting and also the Ableton implementation only can use the knobs for instrument control. I think with a little work I can have it doing almost as much as my LaunchControl It has 8 more pads but 8 less knobs so I would probably need to implement a shift function for the knobs. Also it doesn’t appear to have factor templates so I would need to emulate this in Bome presets.

Whoops also tested LaunchControl Mackie with Tracktion 7. I have the free (stripped down) version of most of the DAW’s than answer it so that I can better help users here.
The advantage of using Mackie Emulation is there is a lot less configuration setup with various DAW’s. Just use the Bome project file and go.

I now have my Novation Launchkey MINI working in Mackie Emulation Mode.

I use InControl to use knobs as either faders or V-Pots depending on the round button selection.
I have “takeup” feature on faders in case you change the volume on the DAW, The Launchkey MIDI won’t “jump” and will only work when it crosses the point that the DAW has set.
I use the track left and right buttons for bank left and right. I use the up button as a “shift” function so that the same track left and right buttons can also act as a channel left and right switch.
I use the up button as a shift button for fader 8. When held fader 8 will be master volume.
I use down button to control what the Pads send and display. press once and top row is Rec and bottom row is Select. If you press the down button, top row is Solo and bottom row is mute. Push down arrow button again and it toggles back to Rec and Select.

All standard keyboard features are unchanged. You can press InControl to turn off InControl mode and it acts just as if it were in “standard” mode.

It is amazing what you can do with Bome MIDI Translator Pro.

Steve Caldwell
Bome Q and A Moderator and
Independent Bome Consultant/Specialist
bome@sniz.biz

Hi. Not sure if you are still maintaining these emulations since last post in this thread was 5 years ago, but i am interested in porting one of these over to the monogram cc. Which one of these is closest to it you think ?

Thanks

Hi,
Isn’t the Monogram cc the controller that has a bunch of modules that you can magnetically piece together to create your own layout? If so, you could probably put together 8 faders, and 8 knobs and convert their messages to from CC’s for level and pan. Any buttons, you could convert note message for things like Solo, Mute, Sel and Rec arm. Since it is so customizable, you could probably start with any of the projects I created and modify it to your needs or you could search this forum and find some examples that you could build from.

The pre-packaged stuff, I charge for (as an independent consultant) but what is on the forum here is free. Maybe if you told me a bit more about your configuration and what it sends, I could put a basic template together with a few functions to get you started.

Steve Caldwell
Bome Customer Care


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

Hi
Thanks for the reply.
I plan to use it mainly for transport control specifically, the orbiter module since it can serve as a jogwheel (The top 5 most common uses of Orbiter) for scrubbing the timeline in cubase and at its center there is a ‘joystick’ which I was planning on mapping to both vertical and horizontal zooms.
So ideally the template would include ways for the MIDI CC from the orbiter to be translated to the appropriate Mackie equivalents and one translator for each of a button, fader and dial

Please post your specifics in the open forum.

What MIDI messages a given control sends and what you want to do with each message

I can provide an example of a fader, VPOT (usually used for pan), mute, and jog wheel. That should get you started.

Steve

Below is the requested information
I am also including information on the various elements of the modules and their behaviors (taken from the website) in case that helps

Slider - CC 102 on MIDI channel 1
my intended use is volume

info on behavior

  • MIDI CC – changes the assigned MIDI CC between 0 to 127

Dial - CC103 on MIDI channel 1
my intended use is panning

info on behavior

  • MIDI CC (Absolute) – Dials operate as potentiometers with min and max points, sending values between 0 and 127 on the assigned CC number

  • MIDI CC (Relative) – Dials operate as endless encoders, sending repeating values of 1 and 127 when turned right and left, respectively. This is also known as ‘Twos Complement’.

    • Monogram does not apply acceleration internally when used in MIDI CC mode. Please select ‘Linear’ mode in your DAW if applicable.

Button - CC104 on MIDI channel 1
my intended use is start stop playback (or record)

info on behavior

  • MIDI Note

  • MIDI CC (Momentary) – changes the value of the assigned CC number from an Off value (default 0) to an On value (default 127) when the key is pressed

  • MIDI CC (Toggle) – each press toggles the value of the assigned CC number between two values (defaults 0 and 127)

Orbiter ring - CC 101 on MIDI channel 1
my intended use is jogwheel - CW forward CCW backwards

info on behavior

  • MIDI CC (Absolute) – Dials operate as potentiometers with min and max points, sending values between 0 and 127 on the assigned CC number

  • MIDI CC (Relative) – Dials operate as endless encoders, sending repeating values of 1 and 127 when turned right and left, respectively. This is also known as ‘Twos Complement’.

    • Monogram does not apply acceleration internally when used in MIDI CC mode. Please select ‘Linear’ mode in your DAW if applicable.

Orbiter disc x axis CC 105 on MIDI channel 1
my intended use is horizontal zoom in (click right) and out (click left)

Info on behavior

  • MIDI CC – changes the value of the assigned CC number from a minimum of 0 to a maximum of 127, resting at 63 when the disc returns to center
  • Pitch Bend (14-bit output)
    • This output is upscaled as the physical resolution of Orbiter disc is 8-bits per axis (i.e. -127 to +127)
  • Channel Pressure (0 to 127)

Orbiter disc y axis CC 106 on MIDI channel 1
my intended use is vertical zoom in (click up) and out (click down)

Info on behavior

  • MIDI CC – changes the value of the assigned CC number from a minimum of 0 to a maximum of 127, resting at 63 when the disc returns to center
  • Pitch Bend (14-bit output)
    • This output is upscaled as the physical resolution of Orbiter disc is 8-bits per axis (i.e. -127 to +127)
  • Channel Pressure (0 to 127)

I hope the above helps

Please find the attached.

I set up both Play/Stop and Record/Stop as the same but disabled one of the translators since you are using the same incoming CC.

For Volume and Pan, I set up just track 1. There are 8 tracks in the MCU protocol.

monogram-to-mcu-2024-01-23.bmtp (3.6 KB)

Steve Caldwell
Bome Customer Care


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

Thank you for this. Everything works as expected. One thing I noticed is that if I have more than one track in the project, and I try to move the volume fader on any selected track, it always changes the fader of the first track. I am guessing this is how Mackie works. It doesn’t know to affect the volume fader of any selected track just the first, second, etc track in the selected bank. Cubase 12 and up now has the MIDI Remote feature so I was thinking of leaving the jog wheel on Mackie and program the fader/pan through that
Also, can we combine inputs in MTP? Meaning can I push the shift key on my keyboard and turn the dial on the console so that the scrubbing is slower for example?

Right, Mackie MCU has no concept of ‘Currently selected Track’. If you have a couple of spare buttons, we could program them for next track and previous track and keep track (no pun intended) on which one we are on in MT pro and send out messages to the desired fader.

Steve Caldwell
Bome Customer Care


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

Hello
Thanks for the reply. i was able to solve the selected track situation with the MIDI remote feature of cubase while keeping the jog wheel on mackie
Is there a way to combine inputs in translator pro? Meaning can I push the shift key on my keyboard and turn the dial on the console so that the scrubbing is slower for example?

Potentially, however it depends on what your controller sends. If it is sending values greater than 1 (in each direction) we can put a translator together that changes it to 1 and then add a shift preset in the project file that would could be turned on and off with the shift key. If your dial only sends +1 or -1 then we can’t get any finer thatn that.

Steve Caldwell
Bome Customer Care


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

One functionality I would like to have is to slow down the rate at which the jog dial scrubs through the project when I press the shift key and to activate the vertical zoom only when I press shift so that I don’t accidentally hit it when I am zooming in horizontally. Is that achievable ?

I am trying to add more Mackie controls to the monogram but I don’t know what those messages are supposed to be… Is there a repository of the Mackie protocol somewhere? I noticed the translator output is raw data. Where do we get those from ?

Thanks

Well your documentation indicates that it does not have acceleration so the only thing I could think of is to only send a message on 2-3 click of a turn in either direction. The amount moved would be the same for every click that gets through but there would be less clicks as you move the wheel.

Indeed you could have button to block any outgoing action when you push a button. You generally set a global variable (ga for example) to 1 and have a rule at the beginning of your rules that says

if ga>0 then exit rules skip outgoing action.

A note on (button push) and note-off (button release) could set ga to 1 and 0 respectively. (2 more translators). Or you could use a computer shift key if you are out of MIDI buttons.

The below link had a manual that is pretty good. Toward the end is where all of the MIDI messages are documented. This is primarily how I learned it but some vendors implement a bit differently.

Steve Caldwell
Bome Customer Care


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

hi
I started a new translator that I called ‘global shift key’ to capture my keyboard shit key but I can’t find where to assign it to the ga variable so that I can call it from the other translators …

OK, please find the attached.

Translator 0.0 will set ga=1 when note 96 button is pushed on MIDI CH 1
Translator 0.1 will set ga=0 when note 96 button is released on MIDI CH 1
Translator 0.2 will either send CC9 or CC10 while turning CC96 with whatever value C96 is. If ga=1 it sends CC10 if ga=0 it sends CC9.

Here are the rules for 0.2

if ga==1 then pp=10
if ga==0 then pp=9

Conditional-Shift-w-Global-Variable.bmtp (1.5 KB)

This tutorial is also an example.

You can also use shift using presets instead of global variables.
This tutorial is an example of that method.

There are advantages and disadvantages to each method so I leave that up to you to decide which method you want to use.

Steve Caldwell
Bome Customer Care


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