Jump to content

Sending a MIDI Ack message to a hardware controller

Recommended Posts

I am trying to build a mapping device on NG basis to connect a Mackie C4 Pro to basically every imaginable kind of hardware to make it universally usable.

My starting point was reading the MIDI messages coming from the C4, which worked fine. The other way round, though, is giving me a hard time, because the C4 just stays in its startup screen and doesn't react to messages which would work when going through the Mackie Commander software (I already successfully tried that, I can get the displays going and everything)

So it seems that when going the way over my MIDIbox something is missing. Like an Ack message to let the C4 know, that it's supposed to listen now. Has anyone ever had a problem similar to this with any kind of hardware controller?

I also tried to mirror the power on message sent out by the Mackie and sending it back to it. Didn't work.

Link to post
Share on other sites
On 18.6.2020 at 0:28 AM, Antichambre said:

It seems the C4 must be unlocked by a compatible software to work. The only way is to sniff it when connected to the compatible software(e.g. Commander) and do the reverse engineering, an heavy work...

Hey, thanks for the thread link!

I've actually gotten a step further at this point. It IS actually possible to just overwrite the start-up screen by sending the respective SysEx commands. The main reason for my difficulties was that the connection built by the NG project template just didn't suffice to get through... I tried it out with the MIDI 4x4 project.hex file and it worked. I set up my EVENT_SENDERs/RECEIVERs according to the fwd.ngc file and I am in the (still very early) working phase of being able to send "some SysEx" and print "some ASCII sequence" on the Mackie C4 after turning an encoder/pushing an encoder etc.

What I was wondering about next was if there is a possibility to store the callback value that the C4 receives, after successfully sending a "value increment" command (triggered by turning the rotary knobs on the C4). My case specifically consists of an NG as interface between the C4 and a Korg M3R Racksynth. The M3R answers the request by returning a SysEx message similar to the one that he was being fed. This message usually also contains the updated value. I've seen in the tutorials that there are SYSEX_VARs. Are those the ones to use here?

Also it is of course the plan to, when displaying M3R's program information (which one is selected) on the Mackie, actually put the name there that is used in the Korg manual and displayed on the synth itself. This String is, of course, never part of any communication between the machines, so the idea should be to create a file on the SD card, where program numbers are mapped to the program names, stored as SysEx streams for further use. Does that seem plausible? And is that possible?

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...