It seems that trying to .add
a SynthDef with a FluidStats instance throws an error (one I haven’t seen before):
// this:
SynthDef(\test,{
var sig = SinOsc.ar();
FluidStats.kr(sig,20);
}).add
// throws:
ERROR: source: Not an Array of OutputProxy(s)
// while this:
SynthDef(\test,{
var sig = SinOsc.ar();
FluidStats.kr(sig,20);
}).send // also .play
// or this:
{ FluidStats.kr(SinOsc.ar(),20) }.play
// seems to work without issue...
I can post more of the error message if needed, but perhaps someone here has a clue? 
1 Like
the tl;dr is that it looks like my attempts to structure FluidStats
’ output channels as an array of arrays breaks stuff for synthdefs 
If you want to fix this quickly so you can get on with your day, change line 33 of FluidStats.sc
from
^channels.reshape(2,numChans);
to just
^channels;
Meanwhile, I’ll put my head together with @tedmoore and see what breakage that change might cause.
2 Likes
It looks like I’m going to take an Ndef approach in my project after all, but thanks for the quick fix (and the quick reply)! Would be great if I could send this sucker to the SynthDescLib eventually - I could imagine using instances within Patterns at some point, for example!
1 Like
Turns out that if I move the Array.reshape
out of init
to the return of .kr
, everything is happy with SynthDef
s again.
So it looks like maybe we can have nice things 
2 Likes