Author Topic: Mackie Control support improvements (!!!NOT AZ Controller!!!)  (Read 1422 times)

Offline azslow3

  • Administrator
  • Hero Member
  • *****
  • Posts: 1034
Mackie Control support improvements (!!!NOT AZ Controller!!!)
« on: December 20, 2016, 08:40:19 PM »
Originally in the CakeWalk forum, the post is in the "locked" forum section now... So I report here to have a possibility to update it when required:

To avoid confusion with my other activity, this post is about Open Source CakeWalk MackieControl plug-in. It is NOT about my AZ Controller platform.

Installation
  • You should know either your installed Sonar is 32bit or 64bit. If unsure, open "Help/About SONAR". At the end of "Version: ..." you should see "x64" if it is 64bit version.
  • Make sure original Mackie Control is correctly installed:
    • In Sonar "Preferences / MIDI / Control Surfaces", add "Mackie Control" with "Input port"/"Output port" pointing from/toward your Mackie (or compatible) device. Click OK.
    • Add "ACT Module" to the Sonar Control Bar. If you see "Connecting..." or "Trks 1-8..." there, everything is ready to the step (2)
    • If you do not see "Mackie Control" in the "ACT Module", if you could not select "Mackie Control" at all or it was added in brackets "(Mackie Control)" and ports discarded to None, you should install original plug-in first:
  • Find where MackieControl.dll is installed on your system. On 64bit Windows and with 64bit Sonar installed, it is in "C:\Cakewalk\Shared Surfaces" by default. But you can open Windows Explored and search for that file (verbatim) to find all locations. There can be several, especially if you have 32bit and 64bit versions of Sonar installed in parallel. 32bit version is normally in "Program files (x86)/Cakewalk/Shared Surfaces". Create a link to correct directory on your desktop, you will have to reinstall modified file after each Sonar update.
  • Download modified MackieControl.dll:
  • Replace original DLL with downloaded one
  • Download the configuration file with correct ProChannel EQ/Compressor definition, independent from the number of bits:
    https://raw.githubusercontent.com/AZSlow3/Cakewalk-Control-Surface-SDK/dyneq/Surfaces/MackieControl/MackieControl.ini
    Most browsers will show you this file as a text, "File/Save as..." it in your browser. Correct name is pre-selected (can be MackieControl without "INI" shown, but it will be saved with ini)
    Ed has extended this file for Neutron 2 EQ: http://www.azslow.com/index.php/topic,394.0.html
  • Put MackieControl.ini into the same directory as MackieControl.dll. Depending from you original installation, it can replace the original file
  • Open Sonar, there should be no changes in the "ACT Module", it still should show "Connecting..." or "Trks 1-8...". If not, open "Preferences/MIDI/Control Surfaces". Probably you will see "(Mackie Control)", so in brackets, and Input/Output is None. Probably you are using older Sonar version and you do not have modern Microsoft Runtime installed. Close Sonar, download and install:
    https://www.microsoft.com/en-us/download/details.aspx?id=48145
    If you have "Connecting..." now everything is ok, you just have to select Input/Output ports in Control Surfaces preferences again. If you still see the name in brackets:
    • check that you put file into correct folder, especially if you found several MackieContorl.dll locations
    • check that you have downloaded the version with correct number of bits (32 or 64)
    • check that MackieControl.dll is approximately 200kB is size, if there was problem with Internet connection, download it again

Configuration
Open "Utilities/Mackie Control - 1" surface properties dialog. Press "F1" to read about all original options and operations. Here I list implemented in the modified version additions and mention most important general option:
  • Disable handshake. Many so called "compatible" devices have not implemented Mackie Control Handshake. Original Sonar plug-in display "Connecting..." for such devices since they fail to identify themselves as Mackie Control. This option disable handshake phase and assume the device is Mackie Control, effectively making it work with Sonar. Known devices for which this option is required: M-Audio Code, Behringer Motör, ICon QCon (with older firmware)
  • Exclude filters from plug-ins. By default ProChannel EQ and Compressor are at the top of any FX list in plug-in mode. Since they have dedicated modes, that is not required and inconvenient, especially when you do not use ProChannel
  • Modified version should work with ProChannel EQ and Compressor correctly, independent from there position in ProChannel. Also Sonar does not crash when controlling the Compressor
  • Select highlights track. Very important standard option. Without it, selecting channels on the device does not focus them in Sonar

EDIT:
Updated (8.11) to support ProChannel Compressor. Also INI file is updated with ProChannel EQ and Track/Bus Compressors mapping.
Updated (16.7.2016) to support (in)compatible devices
Updated (20.12.2016) a workaround against ProChannel Compressor crashing Sonar when asked for its "Type" parameter label.
Updated (27.03.2017) an option to exclude ProChannel EQ and Compressor for the list in Plugin mode
« Last Edit: November 05, 2017, 10:18:09 AM by azslow3 »

Offline BassRocket

  • Newbie
  • *
  • Posts: 1
Re: Mackie Control support improvements (!!!NOT AZ Controller!!!)
« Reply #1 on: March 29, 2017, 08:12:14 PM »
Hi,
It's Shawna again.
I know a "little" about PC's (I built and upgraded mine) but no programming.

Thanks again for responding and offering your AZ Controller suggestions. I'd like to try the Mackie Mode for my Code61 controller, but I'm unsure how to use your programming. (the .dll file)

Also, I'm getting knobs and faders mixed up in the AC Controller setup. I assign all the faders, then move on to the encoders and all of a sudden one of the encoders is working the previously set up faders. I don't know the way to fix it other than quitting without saving and starting over again and again.

I would like to help you beta test, but I don't think I am knowledgeable enough.



Offline azslow3

  • Administrator
  • Hero Member
  • *****
  • Posts: 1034
Re: Mackie Control support improvements (!!!NOT AZ Controller!!!)
« Reply #2 on: March 29, 2017, 08:43:45 PM »
Hi,

I have just replied on PM.

Offline kashmate

  • Newbie
  • *
  • Posts: 6
Re: Mackie Control support improvements (!!!NOT AZ Controller!!!)
« Reply #3 on: August 12, 2017, 08:13:19 PM »
Hi azslow3,

I would like to try and play with this project, the main idea is to allow remapping buttons function:

To intercept external device button clicks and assign it user custom command (the same way the original plugin allows to configure the another Sonar internal command)
Can you please point me for central classes to start exploring ?

Thanks again for your help & effort !

Offline azslow3

  • Administrator
  • Hero Member
  • *****
  • Posts: 1034
Re: Mackie Control support improvements (!!!NOT AZ Controller!!!)
« Reply #4 on: August 12, 2017, 11:17:14 PM »
Hi,
I do not think I understand your question...
This thread is about original Mackie plug-in mod, which as original works with Mackie or compatible devices only.
So what you mean by "external device"?

Offline kashmate

  • Newbie
  • *
  • Posts: 6
Re: Mackie Control support improvements (!!!NOT AZ Controller!!!)
« Reply #5 on: August 12, 2017, 11:57:16 PM »
"External device" refers to any Mackie-Control compatible device (for example X-Touch / FaderPort8 / QCon / etc..)
As we all know,each vendor claims that their device is Mackie-Control compatible, but in reality, the implementation is partial.
Usually the basic stuff works (transport, volume faders, pan, etc...) - But the buttons are always different.
My idea was to be able to map these devices buttons into user defined mapping.
We already have such functionality in the MCU properties dialog (with the Function buttons mapping) - But I would like to support any button on the MCU "compatible" device.

For example, to map the "Marker" button on X-Touch device to Sonar's "Add Marker" command,etc...




Offline azslow3

  • Administrator
  • Hero Member
  • *****
  • Posts: 1034
Re: Mackie Control support improvements (!!!NOT AZ Controller!!!)
« Reply #6 on: August 13, 2017, 09:18:05 AM »
There was mod is such direction: http://forum.cakewalk.com/FindPost/3092979

But note that:
* X-Touch has correct original Mackie labeling. Original Sonar plug-in (as other DAWs Mackie plug-ins) has special overlay for a reason, Logic labeled layout simply does not "fit" well into Sonar functionality. So while they could implement some buttons as they are labeled, that was not possible for all buttons.
* QCon had a bit more problems then just with labeling in its Mackie compatibility
* FaderPort8 and all other known Mackie compatible (except mentioned X-Touch and QCon) are in fact so far away with the number of controls from Mackie unit that even with possible "re-mapping" of buttons they can not provide there best using Mackie plug-in

Also I have plans to re-make my Mackie preset for AZ Controller, especially for X-Touch (using Behringer protocol instead of Mackie compatibility mode, to support color display...). Not sure when that happens, but that will probably make current plug-in "obsolete" (current Mack. preset in AZ Controller already provides almost the same functionality as original, it is just not well tested and newer versions of AZ Controller allows to do it much cleaner, in such preset it is not only simple to change any assignments but also possible to adopt the logic for concrete device).

Offline Hermu

  • Jr. Member
  • **
  • Posts: 53
Re: Mackie Control support improvements (!!!NOT AZ Controller!!!)
« Reply #7 on: September 12, 2017, 01:42:52 PM »
How can i get Loop On/Off to work with MackieControl.dll
i have downloaded the latest version from this page and it all works as expected, only Loop On/Off did not switch Loop On/Off.

iCON Platfom M+ sends 86 0x56 (Note D6) if Loop Button is pressed, but it does'nt work.
this button works with most other DAWs Mackie Control support.
i know, there is no official Mackie Control protokoll, but a real Mackie Control device sends also Note D6 for Loop On/Off.
http://web.archive.org/web/20080126093602/http://members.aol.com/mhigrules/MCMap.htm

Offline azslow3

  • Administrator
  • Hero Member
  • *****
  • Posts: 1034
Re: Mackie Control support improvements (!!!NOT AZ Controller!!!)
« Reply #8 on: September 12, 2017, 04:15:39 PM »
Sonar MCU Layout has 2 "loop" buttons,
one is 'Set "LOOP" navigation mode" (85, MCU "Next From") and another is "LOOP ON/OFF" (89, MCU "Loop")

86 is 'Set "SELECT" navigation mode' (MCU "End"), so while working, you do not see immediate result at all from this code, till you use Rewind/Fast Forward.

Offline orchardhouse

  • Newbie
  • *
  • Posts: 5
Re: Mackie Control support improvements (!!!NOT AZ Controller!!!)
« Reply #9 on: November 16, 2017, 07:21:34 AM »

Also I have plans to re-make my Mackie preset for AZ Controller, especially for X-Touch (using Behringer protocol instead of Mackie compatibility mode, to support color display...). Not sure when that happens, but that will probably make current plug-in "obsolete" (current Mack. preset in AZ Controller already provides almost the same functionality as original, it is just not well tested and newer versions of AZ Controller allows to do it much cleaner, in such preset it is not only simple to change any assignments but also possible to adopt the logic for concrete device).

I just picked up an X-Touch for use with SONAR Platinum and like the X-Touch very much. But Behringer isn't going to be providing templates any time soon, and I'd love to have the X-Touch buttons mapped properly without a template (or a Dymo labeller).

What are you working on for mapping existing functions to an X-Touch specifically? I see that Harrison MixBus allows you to select both control protocol and control surface, so it maps the X-Touch buttons to MixBus very well. I'd love to see that for SONAR.

PS - I'm a .Net developer.

Offline azslow3

  • Administrator
  • Hero Member
  • *****
  • Posts: 1034
Re: Mackie Control support improvements (!!!NOT AZ Controller!!!)
« Reply #10 on: November 16, 2017, 11:44:36 AM »
There is small misunderstanding why the buttons are label "wrong". X-Touch use exactly the same labels as original Mackie units, they are for Logic (only).
Different DAWs have different functions it make sense to expose on Control Surfaces. While some labels "intersect", so theoretically can be assigned "as is", that is not optimal for particular DAW control. That was the reason why every DAW has different Mackie layout, from the beginning, and Mackie is delivering overlays for major DAWs.

X-Touch is a "cheap copy" of the MCU, so they save where they can, including overlays.

What I want to say is that it make no sense to "re-map" buttons in Sonar plug-in(s) to match Logic labels. There are several threads about X-Touch overlays for Sonar on the CW forum. Dymo does not look "professional", but properly printed Lexan (like) overlay is. I am not sure about the status, you can try bump some of these threads.   

Offline orchardhouse

  • Newbie
  • *
  • Posts: 5
Re: Mackie Control support improvements (!!!NOT AZ Controller!!!)
« Reply #11 on: November 16, 2017, 04:43:37 PM »
I've read through all the CW (and other) forums. A short run of Lexan overlays is cost prohibitive. I've also looked into a simple laminated print of your PNG with proper labels for SONAR, but haven't gone down that path yet. I may end up just not using that functionality on the X-Touch.

It seems to me that configurability for those buttons (beyond the F keys) would generally be a good idea, even though the labeling might not apply to SONAR. As I mentioned, the Harrison MixBus software provides mapping specific to a number of control surfaces integrated with the application. I've not used AZ Controller, but I gather that it's MIDI only?

Offline azslow3

  • Administrator
  • Hero Member
  • *****
  • Posts: 1034
Re: Mackie Control support improvements (!!!NOT AZ Controller!!!)
« Reply #12 on: November 16, 2017, 06:36:36 PM »
For printing, take PDF from the Bahringer forum. My PNG is just a Photoshop edition, it is not in size.
Also at least one other user on CW forum wrote he has a good PDF (while he has not provided public link).

Sure, once I update my MCU preset for AZ Controller, it can be user modified. AZ Controller is a "power platform" for Control Surface integration with Sonar. Current Mackie preset for it try to mimic MackieControl plug-in, till some degree with success. But it is untested and it is written long time ago. With currently available in AZ Controller features, the preset can be simplified. But I want to finish my surface emulator project before creating new big presets, I do not have any real device to test.

AZ Controller support MIDI bidirectionally, so can be used for Mackie Control/HUI, simple MIDI devices, SysEx based devices (like Yamaha old mixers), etc. But it also support OSC and Joystick protocols. Special X-Touch ethernet protocol implementation is bending (for color display support, since in Mackie emulation mode colors can not be set). A prototype was positively tested to work between X-Touch and XAir mixer, so controlling Sonar with display colors match Sonar strip colors, while not loosing the possibility to control XAir (and without any other bridge on the PC). But I have limited time, so all projects move slowly.