The CtrlDev component appears out of a desire to standardize compatible control surfaces, by allowing identification of published device characteristics and allowing an easy (python) patching and manipulation. At the basic level it was about presenting zynthian like control mechanisms but as can be seen it has extended to taking existing Kit and building zynthian interfaces on to these devices. We rely on well warn paths establishing themselves in this sort of environment and as such the issue of addressing a particular piece of kits default mode, so that, if some specific alterations have been performed on the kit’s local interface ( universally awful in most cases ) then a return to default will produce expected behaviour.
Once you try to manipulate keyboard MIDI data as opposed to control data, you really need accurate operation and python just wont hack it. So you have to descend into the dark and festering world of C, but lv2 to the rescue! Because of the design of the Zynthian lv2 components are efficiently added to the existing chains structure and we have all the advantages of considered real time operation.
There seems to be here, a sweet spot where by careful consideration we could provide the flexibility of the ctrldev infrastructure with a core lv2 component that could route configuration information provided by the ctrldev component. IF we could entirely extrapolate the ctrldev environment into turtle leaving only a sandbox python environment to generate the MIDI control and parameter interface then we have something rather fine and more importantly defined for subsequent misuse by ourselves and others.
The display component should be zynthian GUI aligned initially so as to reuse the considerable work that has been completed in this area. So ctrl dev presents as a Lv2 component with a zynthian front end that displays characteristics of the kit plugged in. Quite how the zynthian display is used and abused by this sub component would seem to be provided by the python infrastructure but this should be as prescribed as possible in passing data in and out to the lv2 component.
Display devices like MIDI readers and spectrum or audio level displays seem the sort of thing that could be implemented effectively and would make solid base for experimentation in both the lv2 & ctrldev world. Something that the zynthian has refined very successfully up to now.