Novation InControl protocol

I recently got a Novation SL Mk III keyboard. I love the little display screens for showing what the knobs are controlling.

One mind boggling shortcoming seems to be that while you can program templates for the controls, it doesn’t appear that Novation supports any kind of midi sync with these templates. I can link the knobs and sliders to GP widgets, but if I adjust a widget via mouse or I change variation, the Mk III doesn’t respond to the midi feedback with the sync option enabled. At first I thought I was missing an option somewhere, but I’ve read elsewhere that this is just part of the Novation firmware.

To get full bidirectional control it seems you need to use Novation’s “InControl” mode. With that enabled it syncs up very well with Ableton and some other DAWs. The screens and controls on the Mk III will follow what you’re doing in your DAW, etc. I’ve only played around a bit with it, but it seems surprisingly robust.

I assume it’s all scripting, so I wondered “couldn’t I do what I want with GP scripting?” Probably, but that would require documentation on the InControl protocol, and I can’t seem to find it anywhere.

Has anyone looked into this or come across anything about it? Is anyone using one of these with GP?

So in Ableton Live you can choose the Novation as a Remote Controller?
It is implemented as python script, so I fear that it is not that simple.
What can you see in the midi monitor window as incoming messages?
Maybe with some scripting this can be done…

So it follows perhaps a well known communication standard. If it follows the Mackie Control Protocol, it should be possible to modify the display by sending the appropriate SysEx using GP script.
Can you try to sniff the MIDI communication when syncing with the Novation display?

Yes, it’s configured in Ableton as a remote control. Similar in some other DAWs that support the protocol (presumably through their own scripting). It’s immediately recognized by Ableton, so there’s clearly some automatic handshaking going on.

I found a BItwig and Reaper extension to utilize it written by a guy named Jurgen Mossgraber. They’re java based, and in 30 minutes or so of looking at them I haven’t been able to really understand what’s going on. The code repository for the Bitwig version is on Github here. It’s cross-device package that works with a dozen different controllers and OSC, so it’s quite large and I haven’t figured out how it’s all structured yet.

The extremely thin documentation that comes with it says it supports HUI mode in DAWs that don’t have full InControl protocol scripting supported. In my brief searching on that I read somebody complaining that it doesn’t do full MCP, only a limited subset and they couldn’t get it behaving right with Reaper. Then somebody linked to that Jurgen Moss script add on I mentioned above and that ended the HUI discussion.

I wanted to check here to see if anyone’s gone down this path with the SL Mk3 with GP already, so I hopefully wouldn’t have to reinvent the wheel reverse engineering it.

Does midi sync work in basic mode?

It seems that you will have to… :grimacing: