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 SynthDefs again.
So it looks like maybe we can have nice things 
             
            
              
              
              2 Likes