Closed batata004 closed 1 year ago
HUI (Human User Interface Protocol) and MCU (Mackie Control Universal) are not implemented by the library and there are no plans for them to be. In fact, to keep WEBMIDI.js lean, it would probably be best if they were implemented as separate add-on libraries. If someone was willing to take on this task, I would happily help them out as best as I can. However, given the proprietary nature of HUI and MCU, I'm suspecting equivalent facilities will be developed using MIDI 2.0 in the future.
@djipco Thanks for clearing this out! I am willing to do a separate add-on/plugin to this but I cant find absolutely no information online on how to do the basics of HUI using JS. I have an Arturia MIDI keyboard which is great and supports HUI, but I have no idea where to start (I know programming very well, but I cant find any useful information on how to start reading HUI since it looks like it uses a completely different protocol and I dont know if Javascript allows reading that). Could you please provide some information, if you are aware of it?
I think it wouldnt be necessary to implement all HUI features, I think the only and most useful one is syncing the initial state of all faders/knobs of the MIDI controller to the Javascript side. This is actually the only thing I really see useful from HUI and I am pretty sure 99% of people would use it because it's a necessary thing every time you turn on your midi controller.
I know next to nothing about how HUI is implemented. My guess is that it uses MIDI system exclusive (a.k.a. sysex) commands to do its bidding. HUI is a proprietary protocol and thus is not publicly documented.
You can start by looking on GitHub for examples. I know there is such a Python library called PythonMcu which might be a good place to start.
@djipco thank you!!!
there might be some info for you on this Reaper forum post:
Hi, this library is awesome but is there a way I can use Mackie or HUI with it? It's an important feature to allow syncronizing the state of faders/knobs on the DAW and on the keyboard. With HUI it would be pretty easy to make the DAW discover all the faders/knobs values at startup without the user having to move each and everyone of the knobs/faders a little bit so the DAW gets the correct initial value.