I'm trying to implement MIDI-CI Property Exchange Controller Resources specification and noticed that those `priority` fields in (an entry of) `AllCtrlList` and `ChCtrlList` lack the default value (neither in the JSON Schema or `M2-17-UMv1-0_Property_Exchange_Controller_Resources.pdf`).
This does not look right to me. What if an implementation A sets the default to 3, and another implementation B sets the default to 5? Would the order of those controllers, often to determine whether one is shown on the UI (such as Compact View on AudioUnit v3) or not, become implementation dependent?
I'm not sure I understand the question properly... but I'll try and answer it 🙂
Each device decides on the priority of it's set of controllers. So a subtractive synth may say that the cutoff and resonance are priority of 1, while a piano module may say that the cutoff and resonance are low priority (e.g. 5) because that is not the most common parameter of a piano.
So, what happens when a host receives two control definitions (properties) from the connected device, control A with priority with 3 and another control B without priority. Which is in higher priority? Or even, should a control without priority put take precedence over a control with priority 5? To me it seems that the *host* cannot decide which should be shown first.