After setting up a prototype MIDI controller (a simple pot that sends a fixed MIDI CC with the appropriate value over serial usb), I am stuck on an issue about how other controllers receive data from DAWs and whether there is a standard to it , or whether it requires custom drivers for each OS or DAW.
Basically, if i had the controller setup as a class-compliant USB midi device (using HIDuino, a teensy or such) and if I wanted a rotary encoder with an LED ring around it to indicate its current position, or a motorfader that follows a channel - how would I go about it? Is it as simple as say assigning CC x to rotary encoder 1 and the DAW automatically sends a midi message to the arduino giving feedback on the current absolute value that i can then decode or is it a lot more complicated than that?
I have decent programming/ experience, but I am still new to the microcontroller / Arduino world. Wouldn't shy away from customizing a firmware or whatever if necessary ( even tho it would take some learning); however i'm thinking with the number of DAW software and controller devices that rely upon input from the software (rotary faders with LED status etc) there could be some sort of standard.
Thanks Piet, many great insights - I also stumbled upon this site MIDI Control with an Arduino and a Motorized Fader which contained some useful info as well. You mentioned that these protocols are proprietary, i suppose it also means I wouldn't be allowed to implement the mackie control mapping for say a control surface with 8 motorfaders and sell it , instructing users to select mackie control as their device in their DAWs?
Looking a little further into it, Ableton seems to make it relatively easy to basically write a config for a control surface, do you happen to know if the same applies to other DAWs or if there is any common protocol that i could base my controller surface's I/O midi messages on (and that i'm allowed to use).
I am thinking a few steps ahead here and will start with a much simpler "1-way" controller that will simply send MIDI through USB , but am already very curious about the feasability of some fun but more complex ideas and their legal status if i ever decided to try and sell them.
Jazz:
i suppose it also means I wouldn't be allowed to implement the mackie control mapping for say a control surface with 8 motorfaders and sell it
I have no idea, honestly, but if I had to guess: I don't think that's allowed.
Some DAWs do indeed allow you to specify your own control surface, others seem to have the presets hard-coded (or at least not specified in an editable plain-text file).
One-way MIDI is indeed very simple, and a good place to start.