Jump to content

Latest MMcL MackieControl.dll available with HUI Support


msmcleod

Recommended Posts

https://github.com/msmcleod/Cakewalk-Control-Surface-SDK/raw/7db72b23efc32f6b2094c110032cb8a3717b2e71/Bin/x64/MMcLMackieControlSetup.exe

OK, I'll answer my own question, I found it on github after a while!

Very good, that's got the Track Selections working correctly, so the next question is about selecting Plugins in the FX Bin.

If I Press View - Track / Bus then the 8 Rotary Encoders all control the Pan for the 8 Tracks selected.

If I Press View -EQ I can use the Rotary Encoders to fiddle with the Pro Channel EQ.

If I Press View - Compressor then I can now work the Pro Channel Compressor, so far so good, this is great!

If I Press View - Plugin I get the Pro Channel EQ again, oh dear, what did I do wrong, shouldn't I now be able to select Plugins in the FX Bin ?

Link to comment
Share on other sites

1 hour ago, spiffo said:

Sorry to re-open an old thread but I've recently replaced the duff display in my MCU Pro and after playing with it for a while I notice that pressing the Select Buttons does not highlight the Track in Cakewalk, which is a problem.

It seems that msmcleod's  enhanced .dll might fix this but unfortunately this link appears broken?

http://msmcleod.co.uk/cakewalk/MMcLMackieControlSetup.zip

Is there anywhere else to find it?

@spiffo - the link still works fine for me, but you shouldn't need to use my version any more. The standard Cakewalk MackieControl dll now contains all of the enhancements in the MMcL version, so I'd advise just going with Cakewalk's one.

  • Like 1
Link to comment
Share on other sites

OK, so all the documentation mentions:

'Hold Down M1 and Press Plug-In' to access the Synth Rack.

That works fine but how on earth do you get out of this Mode?

The documentation doesn't mention anything and no combination of button presses I've tried can get me back into the normal Track / Bus Mode ????

Link to comment
Share on other sites

  • 2 weeks later...

@msmcleod: Imade huge progress meanwhile with emulating the MCU protocol on a C4 with Cubase.
Currently i have all assignment buttons working and can adress all displays. I could even start my own menues now. I still have one problem and that is level metering. I can enable the level metering, but i do not see anything happening on the displays. I see all the incoming midi-data for level metering from Cubase and i translate it to the C4, but it seems that adressing for that is different on a C4. I had similar problems with the displays, but could change the incoming sysex properly to the C4 displays. Could not find out what is need to change for a C4 and level metering and i have the hope, you might have some clue for me, if i kindly ask for it.

Please help me with this if you can, it would be noble from you.

Link to comment
Share on other sites

2 hours ago, u-man said:

@msmcleod: Imade huge progress meanwhile with emulating the MCU protocol on a C4 with Cubase.
Currently i have all assignment buttons working and can adress all displays. I could even start my own menues now. I still have one problem and that is level metering. I can enable the level metering, but i do not see anything happening on the displays. I see all the incoming midi-data for level metering from Cubase and i translate it to the C4, but it seems that adressing for that is different on a C4. I had similar problems with the displays, but could change the incoming sysex properly to the C4 displays. Could not find out what is need to change for a C4 and level metering and i have the hope, you might have some clue for me, if i kindly ask for it.

Please help me with this if you can, it would be noble from you.

Apart from a few tweaks, I've really not done much with the C4 in code, as CbB's implementation is pretty much complete.

The best thing is to look at the code on github for Cakewalk's implementation:

https://github.com/Cakewalk/Cakewalk-Control-Surface-SDK

Take a look at /Surfaces/MackieControl/MackieControlC4TxDisplay.cpp

Link to comment
Share on other sites

This does not help me much, because it is C++ code (or whatever it is). You do not communicate with a C4 like this. You only have midi to do this. I would need to know, what is send to a C4 to start level metering and what is send to start level metering on the displays. Since i can look at this git-hub code all day, at the end i will still do not know what was send to a C4. I hope i described my dilemma well enough.

You need to be aware that i "translate" the MCU protocol from Cubase to a C4. And there is stuff that is clearly different between Mackie Control and a C4. Like for example the displays:

A Mackie Control unit has only a single display. The example in the Logic manual shows:

F0 00 00 66 10 12 00 48 65 6C 6C 6F F7

for writing "Hello" in the top left in the display of a Mackie Control unit. Of course, this example is for a MCU not a C4. It still works on the 1st display of a C4 by changing the sysex header to a C4 accordingly to:

F0 00 00 66 17 12 00 48 65 6C 6C 6F F7

but you can do what you want, it will not work on the other three displays.

Until i change that to:
F0 00 00 66 17 30 00 48 65 6C 6C 6F F7
it writes again "Hello" in the top left corner on the display of the first row encoders (same like before).
If i change that to:
F0 00 00 66 17 31 00 48 65 6C 6C 6F F7
it writes "Hello" in the top left corner on the display of the second row encoders.
If i change that to:
F0 00 00 66 17 32 00 48 65 6C 6C 6F F7
it writes "Hello" in the top left corner on the display of the third row encoders.
If i change that to:
F0 00 00 66 17 33 00 48 65 6C 6C 6F F7
it writes "Hello" in the top left corner on the display of the fourth row encoders.

So you see that the incoming sysex needs to be changed (the bold marked here), to be properly displayed on the C4.
I assume, that the same thing is true for level metering:

The incoming sysex for level metering on a Mackie Control is:
F0 00 00 66 10 21 01 F7
It is not enough to change the ID to a C4 ID:
F0 00 00 66 17 21 01 F7
The level metering is started (proofed by lots of incoming data from Cubase), but it doesnt do anything on the displays of a C4.
And i want to know, how or what is send to a C4 (the midi data) to achieve the same with your DAW.

Link to comment
Share on other sites

Unlike for original Logic Control (almost MCU Pro),  I have not seen C4 documentation. So the source code is good source...

Check MackieControlLCDDisplay.cpp, especially SetMeterMode (and called from it SendMeterModeSelect).

What you mention (0x21) is "Global meter mode" (which declare "vertical" or not). I guess you need channel meter mode (0x20) with proper parameters.

Link to comment
Share on other sites

Thank you azslow3 for your reply. Yes you are right with the vertical metering. It was my mistake, that i left out the other messages.
Off course i have channel meter mode messages (from Cubase) too, they look like this:

F0 00 00 66 10 20 00 01 F7
F0 00 00 66 10 20 01 01 F7
F0 00 00 66 10 20 02 01 F7
F0 00 00 66 10 20 03 01 F7
F0 00 00 66 10 20 04 01 F7
F0 00 00 66 10 20 05 01 F7
F0 00 00 66 10 20 06 01 F7
F0 00 00 66 10 20 07 01 F7

I can change the "10" to "17", but it does not make a difference.
I also got many Peak-metering data like this:

D0 06
D0 05
D0 04
D0 03
D0 02
D0 01
D0 00

and in between those D0 xx messages, i got some of these, where i do not know what they do:

BF 40 33
BF 41 20
BF 42 20
BF 43 71
BF 44 20
BF 45 74

It is like you wrote before. There is no C4 documentation. I did not want to sound rude, but i am just not a expert. So looking at source code is like ???? WTF.
You can help me way more, if we keep talking in midi-terms. That are things i can understand.
So my big problem is, i can invoke/start level metering, but nothing happens on the C4 displays.
Since Cakewalk can manage level-metering on a C4, i have the hope to get some clues here, what i need to get this working too.

Again thank you both azslow3 and msmcleod for even helping me.

Link to comment
Share on other sites

General channel message is:

F0 00 00 66 <dev id> 20 <chan> <mode> F7

  • <dev id> "17" for C4
  • <chan> is (if I read the source right) 0...31 for C4
  • <mode> can be 0, 2, 4 or 6. (4/6 - display peak hold, 2/6 - LCD bar graph, whatever that means...). "01" you see for MCU will not work.

After mode is set, you use:

[D<row>] [<chan><level>] (2 bytes)

So "D0 05" means "row 0, chan 0, level 5". For C4 there will be more, like "D1 52" for "row 1, channel 5, level 2)

 

Link to comment
Share on other sites

Ok. I tried to change

F0 00 00 66 10 20 00 01 F7

to

F0 00 00 66 17 20 00 00 F7 or

F0 00 00 66 17 20 00 02 F7 or

F0 00 00 66 17 20 00 04 F7 or

F0 00 00 66 17 20 00 06 F7

Sadly still nothing happens. Since i only translated assignment buttons of a MCU so far, i can only enter PAN, EQ, Sends, Inputs, Instruments or FX sections.
Do i need to be in another mode to get that right? Or does the level-metering has limits and work only for audio tracks for example?

Also i am not sure about the "D0 05" thing you described, as the logic manual does not mention rows at all. I tried that too, to change that to "D1 05" but still there is nothing happening on the C4.

Is it possible that some (global) variables need to be done first, before anything can work properly?

Link to comment
Share on other sites

Have you tried to send:

F0 00 00 66 17 21 01 F7

F0 00 00 66 17 20 00 06 F7

D0 05

in one sequence? If it works, is should display "some" signal for channel 1 for short period of time.

But we are seriously off topic with all that... This is Bandlab forum about special plug-in.

Link to comment
Share on other sites

  • 4 months later...

Hi Mark,

have the (old) Tascam DM24 mixing console which has a Mackie HUI emulation.

When I try to use it with this Mackie Control Surface for Cakewalk by Bandlab,

my console displays some MIDI Framing error, and freezes, I have to switch it off and on to do anything.

Most of the time Cakewalk freezes at this point as well.

Do you have any idea what the problem could be ?

I have tried the same with Cubase, and there the HUI emulation works just fine with my DM24.

Link to comment
Share on other sites

1 hour ago, Martin said:

Hi Mark,

have the (old) Tascam DM24 mixing console which has a Mackie HUI emulation.

When I try to use it with this Mackie Control Surface for Cakewalk by Bandlab,

my console displays some MIDI Framing error, and freezes, I have to switch it off and on to do anything.

Most of the time Cakewalk freezes at this point as well.

Do you have any idea what the problem could be ?

I have tried the same with Cubase, and there the HUI emulation works just fine with my DM24.

Sorry, can't help much here as a don't have a DM24.

The MackieControl.dll HUI mode was developed using the HUI mode of the Mackie MCU  & the HUI mode of TouchDAW - both which are emulations themselves, so it's quite possible there's some incompatibilities with other hardware that is also emulating a HUI in a slightly different way.

Link to comment
Share on other sites

Hi.

I have a M-audio Keystation 88 and in the manual it states Mackie Control. So I activated Mackie.

Created a Mackie Control in CW , but how can I know which button does what?

The mackie layout is not even close to my keaboard (of course) and there is nothing in the user guide telling which button is which.

Is there a way to test like function button F1  and see what happens ? Or see what happens ( midi code or something) when I press "play" button on my keayboard?

Help!

/Confused

 

Link to comment
Share on other sites

  • 2 months later...
  • 9 months later...

Great work man!!
Just some feedback  - works a treat with Novation Launchkey Mini MKIII - sorta

The connection seems to drop out - like it needs a keepalive or heartbeat to stay in DAW mode -
I know that one can manually start DAW mode by sending a channel 16 Note ON  c-1 127 (9Fh 0Ch 7Fh)
(BTW I cant seem to send this with CbB sysex but I can with MIDI-OX)
The only othe minor irritation is probably not your fault - I expect a limitation of the protocol.
although the pots on the launchkey are proper pots with a start and end - when adjusting (say volume) 
sometimes you have to fish around to get them to latch to the CbB control they are manipulating.
Its like if you move the pots too quickly they lose control (ha! outta control - LOL)

Other than that : Schweet !  Nice work

 

Cheers

 

Martin

Edited by Ez Goen
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...