realearn icon indicating copy to clipboard operation
realearn copied to clipboard

Adding Mackie C4 Support

Open nmorris80 opened this issue 3 years ago • 7 comments

Mackie C4.pdf

I have attached the C4 info

nmorris80 avatar Oct 27 '22 17:10 nmorris80

@nmorris80 This document is not really a spec of the C4 communication protocol, it's a CSI widget file.

Did you try it in CSI and does it work there to your satisfaction? So does it allow you to use all displays and so on?

helgoboss avatar Oct 27 '22 21:10 helgoboss

Hey, just a quick heads up, I parsed this from CSI source, may have the pertinent MIDI bytes for the C4 displays. Thanks again for your help with my own requests for MCU extenders and X-Touch / X-Touch extender color displays!

if(widgetType == "FB_C4DisplayUpper") feedbackProcessor = new MCUDisplay_Midi_FeedbackProcessor(surface, widget, 0, 0x17, stoi(tokenLines[i][1]) + 0x30, stoi(tokenLines[i][2])); else if(widgetType == "FB_C4DisplayLower") feedbackProcessor = new MCUDisplay_Midi_FeedbackProcessor(surface, widget, 1, 0x17, stoi(tokenLines[i][1]) + 0x30, stoi(tokenLines[i][2]));

Compared to standard MCU displays...

if(widgetType == "FB_MCUDisplayUpper") feedbackProcessor = new MCUDisplay_Midi_FeedbackProcessor(surface, widget, 0, 0x14, 0x12, stoi(tokenLines[i][1])); else if(widgetType == "FB_MCUDisplayLower") feedbackProcessor = new MCUDisplay_Midi_FeedbackProcessor(surface, widget, 1, 0x14, 0x12, stoi(tokenLines[i][1])); else if(widgetType == "FB_MCUXTDisplayUpper") feedbackProcessor = new MCUDisplay_Midi_FeedbackProcessor(surface, widget, 0, 0x15, 0x12, stoi(tokenLines[i][1])); else if(widgetType == "FB_MCUXTDisplayLower") feedbackProcessor = new MCUDisplay_Midi_FeedbackProcessor(surface, widget, 1, 0x15, 0x12, stoi(tokenLines[i][1]));

RattlesnakeLodge avatar Oct 27 '22 21:10 RattlesnakeLodge

Yes, this was copied from CSI, but it does cover all rotary, buttons, LED's, and displays of the unit. I assumed this was relevant, sorry if it is not.

nmorris80 avatar Oct 27 '22 21:10 nmorris80

@nmorris80 It's relevant, no worries. It's just not the spec itself. Thanks. So it does cover everything, yes? That's perfect because then I can have a glimpse into CSI's code to extract the information which MIDI messages need to be sent ...

@RattlesnakeLodge ... and turns out somebody already did it. Thanks!

helgoboss avatar Oct 27 '22 21:10 helgoboss

yes thats everything, great!

nmorris80 avatar Oct 27 '22 22:10 nmorris80

Anything else I can do to help with this?

nmorris80 avatar May 20 '23 11:05 nmorris80

Anything else I can do to help with this?

It's just a matter of time/priority at the moment. I will raise it to the "next" list. But even that's already long ;)

helgoboss avatar May 21 '23 20:05 helgoboss