ProxyChain combined with Ndef result in silence?

I often tend to use Ndefs and ProxyChains and while ProxyChains and Pdef get along very well I fail to do the same with Ndefs and ProxyChains.

(
// define an FX
ProxyChain.add3(
	srcName: \myBpf,
	source: \filter -> {|in|
		BPF.ar(in, \freq.kr(440), \rq.kr(1.0));
	},
	level: 0.5,
	specs: (
		freq: [20, 20000, \exp],
		rq: [0, 1],
	)
);
)


(
// set up a chain and start it
ProxyChain(key: \zoo, slotNames: [\myBpf]).play.gui;
)

(
// write a pattern and route it through the proxychain
Pdef(\myPattern, Pbind(
	\scalor, Pstutter(4, Pxrand((6..18), inf)),
	\dur, Pxrand((1..12), inf)/Pkey(\scalor),
	\degree, Pkey(\scalor)*Pkey(\dur),
	\out, ProxyChain(key: \zoo).proxy.index,
)).play;
)

// now activate the slot in the ProxyChain
ProxyChain(\zoo).add(\myBpf, 1.0);

ProxyChain(\zoo).set(\freq, 1800);

// works

(
Pdef(\myPattern).clear;
)

// now reset the proxychain
(
ProxyChain(\zoo).clear;
ProxyChain(key: \zoo, slotNames: [\myBpf]).play.gui;
)


// now through a Ndef
(
Ndef(\myNdef, {|out|
	var sig;
	sig = SinOscFB.ar(
		freq: LFDNoise3.kr(3!2).exprange(100, 400),
		feedback: LFDNoise1.kr(2!2).abs,
	)*0.06;
	Out.ar(out, sig);
}).play(out: ProxyChain(\zoo).proxy.index);
)

// we hear sound and scale the volume of our proxychain
// via the gui [sry, dont know how to do this w/ code]

// but once we kick in the slot we hear nothing :/
ProxyChain(\zoo).add(\myBpf, 1.0);

// i can see that a new group gets spawned on the server

// by deactivating the slot we can hear it again
ProxyChain(\zoo).add(\myBpf, 0.0);

// so maybe only mixing it a bit?
ProxyChain(\zoo).add(\myBpf, 0.1);
// no

(
// clearup
ProxyChain(\zoo).clear;
Ndef(\myNdef).clear;
)

Even if there is just some misunderstanding on my site, what would be some practices to inspect the routing within the server?

My immediate guess is that the monitor synth of the play method comes after the proxy of the zoo ProxyChain, so it doesn’t read it. It may be you are not using ProxyChain as intended. I don’t use it, so someone else will know better!

if you specify the group does it work?

(
Ndef(\myNdef, {|out|
	var sig;
	sig = SinOscFB.ar(
		freq: LFDNoise3.kr(3!2).exprange(100, 400),
		feedback: LFDNoise1.kr(2!2).abs,
	)*0.06;
	Out.ar(out, sig);
}).play(out: ProxyChain(\zoo).proxy.index, group:ProxyChain(\zoo).proxy.group);
)
1 Like

Adding this worked, thank you very much!
Any advice on how this could have been inspected? Still struggle to understand the routing behind Ndefs/ProxyChain sometimes.