Jump to content

Mackie Control Questions


skavan

Recommended Posts

Hi,

Am using CbB with a physical MCU (Old Logic Control Unit with 1.02 firmware).

Mostly seems to be working. But one thing I like to do, is rapidly access Automation Read Enable and Automation Write Enable parameters. Both by track and for all tracks.

I have run into a few gotchas, that maybe my ignorance of how it works, a dodgy setting in Cakewalk or .....:

  1. the READ/OFF button (AUTOMATION section on MCU) doesn't seem to do anything. I would expect a tap of that button to toggle the AUTOMATION PLAYBACK MODE across all tracks (i.e. Automation Read Enable). I have dug through the @msmcleod MCU code and found this (I'm not a C++ guy, so what do I know!) - which implies it should work (and oddly, the second case (READ/OFF with MODIFIER M1, does work and disables the faders).

    void CMackieControlMaster::OnSwitchReadOff()
    {
     switch (m_cState.GetModifiers(M1_TO_M4_MASK))
        {case MCS_MODIFIER_NONE:                         // Enable/Disable Automation Playback
                DoCommand(NEW_CMD_ENABLE_DISABLE_AUTOMATION_PLAYBACK);
                break;

        case MCS_MODIFIER_M1:                           // Toggle disable faders
                m_cState.SetDisableFaders(!m_cState.GetDisableFaders());
                break;
       
        default:
                break;
       }
    }

  2. Holding the M1 (MODIFIER 1) Key down,  Switches the REC/RDY (ARM) to instead show AUTOMATION WRITE ENABLE (Volume Only). Doing the same with M2 Arms All parameters for AUTOMATION WRITE (pan, send, send level, send pan etc...). My question is whether there is any equivalent for READ AUTOMATION
    In other words, how can one set the read automation state of a track?
     
  3. Totally unrelated to the above, I can't wrap my head around what the GLOBAL VIEW on MCU button (and it's corresponding LED) actually does. 

In all cases, I can confirm that midi traffic is properly going back and forth. and cakewalk does send the LED state back when I click the button (#1 and #3 above).

Thanks in advance!

 

Edited by skavan
correction
Link to comment
Share on other sites

Firstly, what you have is technically a Logic Controller and not an MCU, so many of the messages being sent aren't Mackie MCU commands - they will be Logic commands. 

What you really need is the updated firmware.  The old logic controllers need the main control IC & 2 x PWM IC's swapped out.  Mackie have long since discontinued the upgrade kit, but you can get a set here: https://www.ebay.co.uk/itm/Mackie-control-universal-pro-emagic-logic-control-XT-upgraded-PWM-Chips-V3-50/324107898548. This kit will essentially turn your Logic controller into a v1 MCU Pro minus the USB MIDI connectivity.

Secondly, I'm assuming you've got the SONAR lexan overlay?  This relabels many of the buttons. If you're not going to upgrade your Logic controller to an MCU, you'll need to compare this overlay to the equivalent Logic overlay and "transpose" the commands accordingly.

But in answer to your questions:

1. / 2.  -  The code snippet for the MCS_MODIFIER_NONE is the correct one for disabling/enabling read automation.   However the main CMackieControlMaster::OnSwitch section is the one that invokes it. I think you'll find the button value for MC_READ_OFF is something different on a logic controller vs MCU.  Either that, or the GetModifiers(M1_TO_M4_MASK) is returning something different for a Logic controller.

FYI, I didn't actually write this code - it was written way back in 2005, but I created a fork of the original code in github before I worked for BandLab.

3. The Global View button is actually "Edit" mode. It allows you to edit the parameters (e.g. VST plugin parameters). For some reason this was left off the SONAR overlay for the original MCU - its correctly labelled on the MCU Pro version of the overlay.  I used a label machine with white on black text to create a small label to stick under this button on my original MCU.
 

Link to comment
Share on other sites

First @msmcleod, thank you for taking the trouble.

I have ordered the linked kit. 

Second, when my Logic Control boots, I have set it to MCU mode for what that's worth!

Third, I am actually working on building a software version of the MCU. With the exception of the previously mentioned issues, it is working. See screenshot. Probably because I am sending logic commands rather than MCU commands. But try as I might I can't find a definitive MCU protocol spec. Any ideas where I might get my hands on one? p.s. if you run node, I could send you a rough alpha to play with.

Also - thanks for the guidance on the Global View. Makes sense now. I am using the Sonar overlay -- with "Global View"!

While I have you one last weird question. Do you know where I can find the formula to translate linear position to db. for example, 6dB on a fader is the top or 100% position and approximately -75dB (-INF) is 0%. I can't figure out a formula to translate Cakewalk dB to a linear slider position, that matches what one sees on the cakewalk fader. The standard db log 10 formulas are not even close. By trial and error, I have a rough approximation which has no logic behind it at all: value = Math.round((((2.2**(val/20))/1.267)-0.04)/0.96*127) !

image.thumb.png.4654ba28fcdfd3e7016e4c866728e5b6.png

Thanks mate.

Suresh

 

  • Like 1
Link to comment
Share on other sites

One more addendum, I found a MCU protocol sheet here: https://drive.google.com/file/d/1cD3HZbLfzgns_Y7u42SaXOTTbYuIxN-I/view

My M1 button on the logic control is sending the correct value (70). The same as an MCU.

So I played around in cakewalk, and discovered that Ctl-F12 (which is the built in shortcut to disabling/enabling read automation) does not work.

In fact, even trying to create my own shortcut doesn't work -- which leads me to suspect that there is a bug in cakewalk, where that interface/binding is broken. And therefore it's not an MCU problem.

s.

Link to comment
Share on other sites

I can confirm, corresponding command does not work.

I do not think there is any difference between known (official) Logic Control documentation and MCU (Pro) in the same mode. Cakewalk plug-in strictly follows the layout. While I do not have any Mackie device, I have checked remotely and X-Touch (big one) sends exactly the same messages. http://www.azslow.com/files/mcu.png

I am not sure what you mean by "standard db log 10"... Cakewalk value to dB is significantly not linear. I personally approximate it with 4 linear peaces (that gives sufficient for me precision for all possible values). REAPER use exp(dB*lg(10)/20) for saved value. But it converts it to "fader" (so MIDI) values with quite complicated (not public) formula. They have mentioned somewhere (if I remember correctly) it is a king of Mackie (Logic) approach, probably it should be described in some documentation (I haven not rechecked Logic documentation, may be it is there).

In any case, Cakewalk curve for normalized (0. to 1.) values works great for all controls, so for faders, knobs and encoders. That I have realized after trying to control REAPER by encoder (tried direct value  and "fader" curve, with different step sizes, nothing was convenient).

Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
×
×
  • Create New...