I have a surprisingly simple solution at least for the function frames arp
loading. Needs more eyes/testing.
Iāve written a modified NamedControl that properly handles this now. (I have posed the code in the development thread; itās 180 lines as an extension with plenty of debugging messages, but the meat of it less.) The sad part is that it doesnāt fix JITLib because the way you generate \out relative to user code has those two lines swapped!!
var out2 = NamedControl.kr(\out, 42); // user func
var out1 = Control.names(\out).kr(123); // JITLib
So even my āsuper smartā NamedControl that now loads all the stuff created by the other interfaces (args and Control.names), it doesnāt help with the ordering for this because you issue Control.names(\out)
after the user function is evaluated. So you really also need to change JITLib to eat your own dogfood, i.e. use NamedControl to catch the references to those controls in the user-function under the same Control.
By the way, since my version of NamedControl also sees { arg out;. ...}
generated controls as such, thereās no need to try to ban out
as an arg in the userās function def anymore.