Thanks for that info. I fell like I am getting there. Once finished I'll post a thread about what I learned.
In the MDX, I have averaging switched off and the history value set to zero.
In my own code, which is a Centrafuse plugin, I'm going to implement settling algorithms for each of these types
Momentary - for things like volume, if I hold down then keep sending the signal
Switch - for things like mute, once pressed wait for nothing pressed until it is safe to send another signal
Value - just settle on a threshold (like mod 5) so that needles don't constantly twitch.
Scale - only send a signal if the value has switched range (like the illumination control which is a set of values and we only want to trigger on a value change)
I have a simple hardware question... The SWC resistance max is 4.7Kohms. I have used the same value resistor in my voltage divider. That gives me only a 50% range of numbers. If I switch to a lower value resistor then the range will increase and that should make the values more accurate. Is there a downside to using a lower resistor (i.e. draws more current and then USB power cannot support as many inputs)?

