Jump to content
chakko

Question about HUI protocol implementation

Recommended Posts

Posted (edited)

Hey,

I'm trying Cakewalk by Bandlab out at the moment (did plan to do so for a while now), and, I've set up my MIDI keyboard (Novation Impulse 49) in Cakewalk so that the control elements (faders, knobs and buttons) work with the HUI implementation of the keyboard in Cakewalk.

I first had some issues with it, after I set up the inputs and outputs, and it simply didn't work. So, I watched some Youtube videos, and one showed the Utilities -> Maeckie Control - 1 dialog, where you can set the protocol from Maeckie Control to HUI (Beta), and that basically did the job for me. All works, except for one thing: Controlling the Send levels of the tracks. The keyboars lets you switch the knobs from stereo panorama control to control of the Send levels of the 8 tracks selected, and even switch through different banks, so that you can control a total of 32 tracks. Unfortunately, in Cakewalk, it simply doesn't work. If I switch from controlling the stereo panorama to controlling the Sends with the knobs, in Cakewalk, the knobs will still control the stereo panorama of the 8 tracks. 

It works fine in Studio One, so, I can only assume that it's a limitation of the HUI implementation in Cakewalk. I think I read something which points in that direction, by the developer who is responsible for the HUI implementation in Cakewalk here once, I don't remember the name, but, it wasn't clear to me in which way the implementation is limited.

Can anyone confirm this? And, if it is how I wrote, is there any chance for full support for the protocol at some point? It's not something I have to have today, but, it would be cool anyway. As far as I know, quite a few keyboards use the HUI protocol these days. The newer Novation ones, Arturia's keyboards etc.

Thanks.

Edited by chakko

Share this post


Link to post
Share on other sites

I recommend find out and post which MIDI message the button responsible for switching into Sends mode send to the DAW (MIDIOx or simply recording it as MIDI event into track when Control Surface module is removed). Probably msmcleod will be able to help then.

BTW I suggest to try MCU mapping on the device. MCU protocol (more precisely LC protocol) documentation is still freely available, HUI always was closed proprietary protocol. Mackie plug-in implements all features of MCU, while HUI as you can see is "Beta".

Share this post


Link to post
Share on other sites

The HUI support was developed by using some documents I found on the internet, by someone who reverse engineered the protocol.

I used this in conjunction with the MCU in HUI mode, and TouchDAW in HUI Mode on an android tablet. All it does, is attempt to map HUI commands to MCU commands and vice versa.

Basic HUI functions work, but without the real HUI documentation or a real HUI device, it's very difficult to proceed further.

Share this post


Link to post
Share on other sites
Posted (edited)

Thanks for your replies.

I'm not really familiar with MCU. And, I doubt that it works with my keyboard, as I already had it configured as a MCU device in Cakewalk, and, the transport controls, knobs and faders basically did nothing. They only started to work when I activated the HUI (Beta) as protocol for the device in Cakewalk. As far as I understand, it's strictly for use with the HUI protocol.

Here's the knowledge base article from Novation regarding the firmware update for the Impulse which added HUI functionality: https://support.novationmusic.com/hc/en-gb/articles/360009516479 

I'm surprised that you say that the HUI protocol is not documented, BTW. Studio One, Cubase, Reaper and Ableton work fine with HUI devices. Did they pay some license fees to support it or something?

Edited by chakko

Share this post


Link to post
Share on other sites

If you're using MCU mode on a device which doesn't offer a Cakewalk or SONAR mode, make sure you check the "Disable Handshake" checkbox on Cakewalk's Mackie Control panel.

That should get transport, faders & knobs working.  

Share this post


Link to post
Share on other sites
Posted (edited)

Thanks, but, I don't think the keyboard does anything with that. Regardless of the "Disable handshake" option being on or off, when I switch the protocol to Maeckie Control Universal, the keyboards transport controls, knobs, faders and buttons stop working for the DAW control (they only work in normal MIDI CC mode then).

The only thing that works really is the HUI (Beta) protocol. I don't see any option either on the keyboard to switch it to MCU mode or something (if that is necessary). Novation's site and the manual only talks about "HUI" as well.

Edited by chakko

Share this post


Link to post
Share on other sites

@msmcleod It is hard to find high resolution picture for original HUI, but knobs assignment section is in Zone 0xB ("Send a" ... "Send e")

In your code I see you translate assignments from buttons in Zone 0x17 (Auto enable).

  • Thanks 1

Share this post


Link to post
Share on other sites
Posted (edited)

@msmcleod You probably already found it, but, is this maybe of help for you? https://forum.cockos.com/showthread.php?t=101328

I wished I could be more helpful with my keyboard, but, I really have no idea about HUI or MCU. @azslow3 suggested earlier to take a look at MIDI-Ox, but, frankly, I wouldn't even know how to get into HUI mode in that program. Without being in HUI mode, the knobs and faders just send the normal MIDI CC data.

Edited by chakko

Share this post


Link to post
Share on other sites
1 hour ago, chakko said:

@msmcleod You probably already found it, but, is this maybe of help for you? https://forum.cockos.com/showthread.php?t=101328

I wished I could be more helpful with my keyboard, but, I really have no idea about HUI or MCU. @azslow3 suggested earlier to take a look at MIDI-Ox, but, frankly, I wouldn't even know how to get into HUI mode in that program. Without being in HUI mode, the knobs and faders just send the normal MIDI CC data.

lol - yup... those are the ones I used!

  • Thanks 1

Share this post


Link to post
Share on other sites

@chakko Well... if motivated... you can install AZ Controller (https://www.azslow.com/index.php/topic,6.0.html), load HUIv2 preset (https://www.azslow.com/index.php/topic,223.msg1386.html#msg1386) and with a bit of luck it will switch device into HUI mode. Then you can press keys Novation specify for switching into Sends mode and switching sends and write down what you see in the "Last MIDI event" doing so (in the Options tab check CC interpretation is in 14bit mode, HUI sends 2 CCs per button, but at the end any of them will give us some hint what should be defined).

Share this post


Link to post
Share on other sites
Posted (edited)

I'm not sure if you can do anything with it, but, here's the MIDI monitor output from Studio One for those 8 knobs in HUI mode:

MIDI_monitor.jpg.33e76a3ffe929cdaf93bda14b7532894.jpg

The bottom entries go from bottom to top, i.e. I turned the first of the knob, then the second one etc., and the most upper entry is for the last of the 8 knobs. I first turned them left, then right, and made sure that only 1 message turns up in the log (I think it logged the last movement twice though).

Again, if you can anything with that. I have no idea exactly what you are looking for.

Oh, and, it didn't matter what I configure the knobs to do, I switched from controlling the pan for the tracks to SendA, SendB, SendC, and SendD (controlling the level of the send fx for each track). They always sent the same messages (might also be obvious to you, but, I thought I'd mention it anyway, if it matters).

Edited by chakko

Share this post


Link to post
Share on other sites

You have realized that.. knobs are always sending the same messages. And since you can control Pan, they are working fine in Cakewalk.

So record messages when you SWITCH to SendA...D, so messages from buttons.

Share this post


Link to post
Share on other sites

Sorry, didn't know that the button press is the relevant thing.

Here are screenthos from the MIDI messages when I press the buttons (to switch from Pan -> SendA -> SendB -> SendC -> SendD -> SendE, and back to Pan). A lot of stuff.

Note that in the last screenshot, the message marked in blue is the last message from the former screenshot. 

MIDI_monitor_01.jpg

MIDI_monitor_02.jpg

MIDI_monitor_03.jpg

MIDI_monitor_04.jpg

Edited by chakko

Share this post


Link to post
Share on other sites

Could this be incorporated in the HUI support in Cakewalk? I'm pretty sure this is standard stuff, which is also used in other keyboards for the same controls (for example, Arturia seems to also use it for their keyboards).

Share this post


Link to post
Share on other sites

Automap was discontinued by Novation, and, they even updated the firmware of the Impulse to make use of the Maeckie HUI protocol for that.

None of the newer Novation keyboards use Automap anymore. Thankfully, TBH. I was quite a mess IMO. Crashy, buggy, and, I can do without having every plugin double in my DAW as well, because you always needed a wrapper, if you wanted to use Automap to map your VST's.

Don't get me wrong about this thread: I don't need this functionality to work with Cakewalk, it was just interesting for me why it didn't work, and also interesting whether or not it's possible and worth the effort to improve/extend the HUI funcionality in Cakewalk. If it's not happening, so what. Would be cool if it was fully functional, also for other users, but, hey.

Cakewalk isn't even my primary DAW. I just had an impulse (no pun intended) to find out why that stuff isn't working.

Edited by chakko

Share this post


Link to post
Share on other sites

Microsoft hasn't supported Win 7 for quite some time but it seems like half the folks here still use it 😉

If the other options don't work for you, maybe try the last version of Automap. It worked fine on my SL a few years ago, but I confess I used it little because I use a Mackie Control Universal for my DAW control surface.

Share this post


Link to post
Share on other sites
27 minutes ago, John Nelson said:

Microsoft hasn't supported Win 7 for quite some time but it seems like half the folks here still use it 😉

If you're not on the net, you probably have very little issues with it. And, even if you are on the net, you probably have very little issues with it. :)

I never was a fan of Automap though. TBH, I dislike most of those manufacturer's solutions. And, I don't really like most DAW included MIDI mapping systems either. If I want to map my controller keyboard's controls to VST's, I use their internal MIDI mapping systems (or set up a template for those with fixed MIDI CC's), and, for DAW control, I prefer stuff like the Maeckie HUI protocol, which works in almost any DAW. That way I can also make sure that my controller works the same universally in any DAW.

Maybe I'm a bit finicky about stuff like that, but, it simply works for me.

Share this post


Link to post
Share on other sites
  1. msmcleod probably  will fix sends in HUI part. Theoretically, everyone is free to do this (the source code is on GitHub).
  2. HUI is even more archaic then Automap and Windows 7. And it was not invented to have cross-DAW compatibility nor to support different controllers. It just happened one particular DAW was (is) a "standard" in "professional studios". This DAW was almost refusing to use anything not "specific for me", hardware manufacturers was proud to claim "market leader compatibility" and other DAWs (with way more bright controllers support) could gain some users by "you can use pro hardware". BTW mentioned DAW has other owner and own controllers with new own protocol now (Cakewalk partially supports these controllers)
  3. Novation Impulse comes not even close to the capability of original "HUI device". It simply has way less physical controls (and those which are there are of lower quality...). So, it is "usable" with HUI software but functionality and usability is not at the level of specially build for such controller solutions.
  4. "InControl" on "Newer devices" is just... yet another MIDI button. The rest is up to particular DAW plug-in for particular device. I guess they was tired supporting Automap and decided to sell "MIDI controllers" instead (Automap devices was not standard MIDI class devices for OS).
  5. HUI protocol use 2 MIDI messages for most controls and is not symmetric (controls and feedback messages are slightly different). In contrast, Logic protocol use 1 MIDI message per control and is symmetric where possible (so except for encoder rings). There is a good reason to use 2-4 MIDI messages per control, when the number of such controls is huge (f.e. to map all parameters of digital mixers to the MIDI world). For dedicated DAW controllers it make no sense.
  • Like 1

Share this post


Link to post
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...