Mackie C4 and Cubase. How to make the encoders work?

Can you post a screenshot of how your aliases are set up in MT Pro? Also disable any ports that are trying to connect directly to your C4 from Cubase.

I am sorry, but what do you mean by aliases in MT Pro?
I think there is really nothing in Cubase that uses the ports for the C4. I checked it right now.
In the picture it is Port 1 on MTPAV. That is where the C4 is connected.
I am sorry, that there are so much midi-ports in the Cubase picture :/ .

Here again the midi-setup in Cubase, comparing to before, this time Port 1 is \"inactive\" for both midi in and out, so nothing uses it.


Attachments:
![](upload://nw1r6nh7Eymoj4kOMQoiiWTOsTh.png)

In MT Pro click on the menu item MIDI then Edit Project Port Aliases. You will see a screen shot of how your aliases are assigned.

Here it goes:

 


Attachments:
![](upload://w591gfA9ZQClXcOKgtemk3Ykrii.png)

That looks correct. I just tried this with the following project file although my devices sends 41(65) for positive and 3F (63) for negative. Just disable my presets and enable yours and it should work although you might have reverse encoders again.

After disabling the conflicting ports on Cubase I had to shut down Cubase, the MT Pro, then open MT Pro first then Cubase.  I tested with just virtual devices though.

What gets returned to the controller is the same CC it sends however the values are the same as the Mackie MCU doc calls out of encoder rings.

So for the first 8 you should see B0 00 qq  through B0 07 qq - qq will be a value from 0-12

For the second at it would be B0 08 qq through B0 0f qq

and so forth.

 

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

 


Attachments:
1590006538900_C4-2020-05-20.bmtp

Ok, i opened your project. I guess your presets are the ones with the EC4 label. Those are already disabled.
Pan settings are reversed again, but this time, i do not even have the feedback/rings in 3rd row or better said no rings at all :/ .

You seem to have this thing here: http://faderfox.de/ec4.html
If i just have bought this, instead of my C4 :)

You could buy one if you want, however the translations would need to change in both directions.
It is a nice little unit. Much smaller than a C4 but it IS a bit spendy. You might also want to consider a MIDI Fighter Twister which is a bit less expensive (probably about 1/2 the price of an EC4).

No display, no way i buy it :) . EC4 is cheaper then my C4. I might sell it, if i can not use it, to my like and buy a EC4.
Otherwise, i am pretty amazed by the C4. It is really outstanding haptics and quality.
In combination with MTP and this Commander software, i can do already things, i only dreamed off.

Did you ever get your VPOT rings to do anything? If there was any movement at all, it would be promising and maybe just a matter of scaling what is coming back from Cubase. Mackie sends values of 0-13 but you could scale that up to 0-127 using the technique shown in this tutorial.

 

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

 

 

 

Ok, lets say the last project you send me is v03, then v02 was promising because the third row encoders had feedback/working LED rings. Everything i did on first row encoders, was reflected on third row encoders RINGS with feedback.

If second row encoders are pushed/pressed, then the 1st button (from left) is for routing, the 3rd button for pan, the 5th button for EQ bands, 6th button for channel strip. All reflected on third row rings. Other buttons from second row do something, but i do not know what. Again, if i rotate first row encoders, it is reflected on third row encoders rings and they have feedback.

I am not sure, but maybe Mackie does that on purpose, to avoid a feedback-loop. I think i read something about that in the Cubase forum, but i need to find it. Although there is this "flip" button on a Mackie Control, where you can change Vpots vs. Faders and vice versa.
I hope i could help :) and i will try to find that Cubase post, that describes that the Vpots send and receive on different CC. From my memory, they send from CC 16-23 and receive from CC 48-55.

Oh and to answer your question: If i do not use any programs like MTP or Commander software (or both), i am basically lost. I would need to work with just Generic Remote and this thing is kind of broken. The only thing i could achieve with Cubase alone is, to have the encoders partially working. CW rotating works, CCW not and that is all. No rings, no feedback, no display. But i admit, that i did not spend much time, as the encoders are not working properly, so everything else is not much of a use.

I’m pretty sure we can get all your encoders to work with MT Pro. The main issue I see is V-POT feedback. and of course scribble strip feedback. We simply make your C4 appear as three generic Mackie devices and route encoders from each row of V-Pots to a different Mackie interface in Cubase.

I do not want to sound like a douchebag here, but i really do not see, what our end-result will look like. I am not a fan of the MCU protocol. It has only two features, i would consider nice.

First is the feedback of all settings.
Second is the read-out of every parameter-name, track name, labels etc. (i am a lazy dog :) )

But other then that, i have nearly no interest in this protocol. Ok, i admit, how can i say that, if i never saw it in action. I have a Yamaha 01v96i for remote control the mixer in Cubase. I mean if you can solve this mystery of a C4, you would not only make me happy. There are many Cubase-users, who would like to see that thing rocking. But in nearly 15 years, no one could find a solution, except the one with the Commander-software i described. Even that, is pretty unknown.
You should not underestimate this Commander software, because you can control both: software and hardware. Something that a MCU protocol can not. You can switch 32 labeled paramter settings to the next 32 parameters, with just a button press. Same for switching between hard and software. I can have dozens of pages. I am even not limited to 6 character labeling. My names can be 55 letters long, if i really need that, and so on etc.
I have plenty of hardware and they all love the C4 :) :D .

I attached you the software. You can try it, even without a real C4. To get a feeling.

But i am to dumb, to make feedback possible, maybe it is impossible to do, i do not know. Steinberg needs more people like you :) .
The Faderfox guy lives in Hamburg, like me....and he like problems... who knows :)


Attachments:
1590172564319_C4_Commander.zip

Yeah the faderfox has displays but right now you can update the display text remotely. He tells me he is working on that feature for a future firmware revision.

Also, MT Pro has the capability to send serial messages to serial port and I’ve done a few projects using it. See this video.

I like your product, i bought it right now.
Many people compare it to Midi-OX, but that is really not the same.
You should make more encoder presets :) . I will spread the word ;) .

Challenge: Make just one encoder work properly, with feedback on rings and one label. I would be happy enough.

I would do that if I had a C4, but for now I would rely on C4 users (you to test).

 

I am really tempted to send you that thing :)
While buying MTP, i saw that the company is in Munich/Germany. I am curious, if we can talk in german?

Back to topic: Yesterday i tried to get some LED rings working, by using the Logic manual and MTP only. It worked right away and i would need what you already suggested, to convert the absolute values (1-127) from Cubase to a 1-11 range.

B0 20 06 to B0 27 06 creates a centered LED on the ring for the first row encoders.
B0 28 06 to B0 2F 06 creates a centered LED on the ring for the second row encoders.
B0 30 06 to B0 37 06 creates a centered LED on the ring for the third row encoders.
B0 38 06 to B0 3F 06 creates a centered LED on the ring for the fourth row encoders.

So that could be used, for the feedback on the LED rings. Since the rings are just a visible feedback, we need to do the same with the \"real\" values of a parameter too.

So we need a Translator that recognize which encoder (and CC value) is rotated in Cubase and translate the 1-127 value to a 1-11 value. That would be the basic work for the rings. How we would do the \"real\" values of a parameter, is something i do not know right at the moment. The same goes for the various types of a ring (single dot, boost/cut, wrap, spread). Other then that, i have hopes now and i am optimistic :) .

I also tried the example of writing \"Hello\" to the LCD displays and this worked too :) .
The example in the manual shows:

F0 00 00 66 10 12 00 48 65 6C 6C 6F F7
for writing \"Hello\" in the top left of the display in the master section of the MCU protocol.
Of course, this example is for a MCU not a C4.

The sysex for my C4 is:
F0 00 00 66 17 01 00 00 00 00 00 00 00 34 31 06 00 F7.

If i did understand the manual correctly, i would make a new sysex from the bytes that are in bold here, to make it look like this: F0 00 00 66 17 12 00 48 65 6C 6C 6F F7
and indeed it wrote \"Hello\" in the top left corner on the display of the first row encoders.

If 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.

The maximum offset to write \"Hello\" to the top right would be 32 and for bottom right 6A, but considering 7-chars per channel/encoder to stay in this standard: 6-chars + 1-char as a seperator, it would be 31 and 69 (last label to the right, can only display 6-char).

So the thing here is, we need to know, in which section we are. From the example in the manual alone, i could not manage to display \"Hello\" in any other display, but the one from the first row. Only when i was starting to change the bold number from \"12\" to \"30\" - \"33\", i was able to show \"Hello\" on the other three displays. Obviously i have no clue, to which \"section\" this number belongs, but it seems that the protocol really makes differences here. Be aware, i still just use the C4 and MTP here (no Cubase or Commander software involved).
Maybe the numbers 30-33 are really reserved for the C4 and the manual means with \"master section\" only the display of a MCU, because that would be nice for us.

I still see this as a huge success, because the manual tells the truth, i only needed to change the sysex header from a \"MCU\" to a \"C4\" header. We can access all displays and write something in it, without creating additional code for just that. Hooray!!!

I will stop here and continue, if i find out anything new, that also could be interesting. So far, so good.

I am really tempted to send you that thing :)
While buying MTP, i saw that the company is in Munich/Germany. I am curious, if we can talk in german.

SJC> The company is based in Germany, but I\'m a contractor working out of the USA.

Back to topic: Yesterday i tried to get some LED rings working, by using the Logic manual and MTP only. It worked right away and i would need what you already suggested, to convert the absolute values (1-127) from Cubase to a 1-11 range.

B0 20 06 to B0 27 06 creates a centered LED on the ring for the first row encoders.
B0 28 06 to B0 2F 06 creates a centered LED on the ring for the second row encoders.
B0 30 06 to B0 37 06 creates a centered LED on the ring for the third row encoders.
B0 38 06 to B0 3F 06 creates a centered LED on the ring for the fourth row encoders.

SJC>
In Mackie Mode on Cubase, you will see the following for encoders in each row for LED rings.

B0 3i XX

Where i is the V-POT number 0-7
and the last 4 bits of xx is a value of 0 (all rings off) to 11 (All rings on)

You will likely need to strip out bits 4-7 as these are used to define whether the dot is on (bit 6) and the type of ring (dot,boost/cut,wrap, or spread)

To determine which ring on your C4 you want to light up, it depends on the port from Cubase.

So you would need something to convert from.

B0 3i xx on the first MCU device to B0 20-27 XX

Coming from the second port same incoming to B0 28-2F XX

and so forth.

You can also use raw MIDI on incoming Sysex to confirt you MIDI messages, just remember from Cubase standpoint it sees for MCU devices so you will need to do Sysex conversion similar to V-POT ring conversion based on the attache MCU port (from Cubase perspetive)

 

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

I understand your theory: "convert from B0 3i xx on the first MCU device to B0 20-27 XX"
This basically means, make the third row from the C4, the first. Am i right?

You expect way to far from me. I have a basic to average understanding of these stuff, but i can not make this working on my own. The routing alone, is a headache for me. We have four MCU units in Cubase, to adress the four displays of a C4. You seem to forget, that we can not tell Cubase to adress the LCD displays. I have not found a way to do this. There is no file or data that we can manipulate, none that i am aware of. So we would need to emulate display read outs and that would be a infinite amount of rules. Ok some things would work, but parameter-names of a VST-instrument i.e. How would you do that?
You can correct me if i am wrong.

I can only help to provide as much as info i have or by doing some tedious work, like Character Sets i.e.
I created and attached you the Character Settings for a C4. I write now, a updated version, that will include all zones (encoder 1-8 labeling/names) and the needed offsets to label the displays.


Attachments:
1590263190023_C4_character_set.txt