JITLib: How to know if a NodeProxy is fully ready?

Seems that I lost this information, or perhaps I never really knew.

For a NodeProxy, is there a .changed notification when the source object is up and running?

Use case: I’m automatically reloading a ProxySpace. I wanted to play around with a VST EQ. To reload that, I need to run a thread to open the plugin and readProgram the preset. But this can’t be done until after the synth is running.

Well, to propose an answer by myself, it looks like this would meet the immediate need:

p = ProxySpace.new.push;

(
var now = SystemClock.seconds;

~x = { Silent.ar(1) };

o.free;
o = OSCFunc({
	(SystemClock.seconds - now).debug("seconds to open synth");
}, '/n_go', s.addr, argTemplate: [~x.objects[0].nodeID]);
)

Would be nice, though, if there were a unified message that would wait for everything belonging to the proxy to be ready. (The above approach recognizes only when a specific synth is ready, so it wouldn’t work for multiple sub-objects, nor for non-synth playcontrols.)

hjh

VSTPluginNodeProxyController should take care of that. See sc/classes/VSTPluginNodeProxy.sc · master · Pure Data libraries / vstplugin · GitLab, in particular the checkIfStarted and sendMsg methods. It uses the /n_go message, similar to your example.

OK, that’s good to know. I’ll have to try it again in a new patch and see if a more streamlined approach, relying on your Condition logic, handles it.

hjh