Any way to query Synth IO?

given a Synth is there any way to find out what bus(es) it is writing to?
something like

a = Synth(\foo);
a.outputs

TIA!

If you have your Out.ar bus mono and defined internally in the SynthDef you could use the method .get to get the value of SynthDef’s args:

(
SynthDef(\ciao,{arg out = 0;
	Out.ar(out, SinOsc.ar());
}).add;
)

x = Synth(\ciao);
x.get(\out, {arg out; ("bus is now:" + out).postln});

This one also work:

~buss = Bus.alloc();

(
SynthDef(\ciao,{arg out = 0;
	Out.ar(out, SinOsc.ar());
}).add;
)

x = Synth(\ciao, [\out, ~buss]);
x.get(\out, {arg out; ("bus is now:" + out).postln});

The NodeSnapshot quark also supports this - see SynthSnapshot:outputs.

thx all! @scztt TreeSnapshot.get is working well - is there a way to get a single SynthSnapshot? SynthSnapshot().server_(s).nodeId_(1000) doesn’t seem to do it!

@brokencode thanks! I forgot about needing to put the function in the argument to get … aaaarg

Whoa TreeSnapshotView is so cool!