Why is NodeProxy outputting on the wrong bus if In.kr(\out.ir) is used inside its function?

It might be that the reason is that the mix between Control and NamedControl is not always consistent.

(
a = {  
	var out1 = Control.names(\out).kr(123);
	var out2 = NamedControl.kr(\out, 42);
	[out1, out2].poll
}.play
)


a.set(\out, -42); // this sets the first, but not the second

There are different levels at which one could solve the issue at hand. One would be to make ProxySynthDef use NamedControl instead of Control. The other, more complicated but probably better, would be to have NamedControl look up if there are instances of Control to which a given name corresponds and then return that instead.

In SynthDef creation, Controls are just dummy objects. Does anyone know how to get a control object for a given control index/key of a SynthDef? This is the tricky bit for the “better” solution.