Just want to point out that, if you are considering adding control surface support, the task may not be as daunting as it may first appear.
I’ve used a LOT of different control surfaces now in different studios, and they all support “Mackie Control” mode. In other words they all have a emulation mode for that protocol since everything that supports controllers, supports the Mackie Control.
So all I’m saying is that you’d only have to implement support for one protocol to consider that feature “added and done”. Just a thought.