title: Connecting multiple stages of parallel synths, with array of buses, in superCollider
body: <p>When I have 2 stages of multiple parallel synths, I am able to connect it with an array of buses. (Thanks to Dan S for the answer to a previous <a href="https://stackoverflow.com/questions/35076874/array-of-buses-in-supercollider/35100028#35100028">question</a>). When there is a 3 stage, this doesn't seem to work. </p>
  
  <pre><code>(
  SynthDef(\siny, { arg freq, outBus=0; Out.ar( outBus, SinOsc.ar(freq!2,0,0.2) ) } ).send(s);
  SynthDef(\filter, { arg cFreq,q=0.8, inBus, outBus=0; Out.ar( outBus, BPF.ar(In.ar(inBus), cFreq!2, 1/q ) ) } ).send(s);
  )
  
  (
  var z = [100,500,1000,1500,200];
  ~sourceOut = z.collect{ Bus.audio(s) };
  ~sineOut = z.collect{ Bus.audio(s) };
  ~sine_Group = ParGroup.new;
  ~myGroup    = ParGroup.new;
  
  {
  z.do({ arg val, index; Synth( \siny, [\freq: val, \outBus: ~sourceOut[index]], ~sine_Group ) });
  z.do({ arg val, index; Synth.after(~sine_Group, \filter, [\inBus: ~sourceOut[index], \outBus: ~sineOut[index],\cFreq: 200, \q: 20 ], ~myGroup) });
  z.do({ arg val, index; Synth.after(~myGroup, \filter, [\inBus: ~sineOut[index], \cFreq: 200, \q: 20]) });
  
  }.play;
  )
  </code></pre>
  
  <p>Another harm that I am doing here is, everytime I stop and run the synth, new instances of busses are created and eventually run out of audio buses. How can I solve this?</p>