Pause : MultiOutUGen
 var runningSynth;
  
 // creation
 *ar { arg argEventFunc, level = 0.0;
  
  ^this.multiChannelPerform('ar1', argEventFunc, level)
 }
 *ar1 { arg argEventFunc, level = 0.0;
  ^super.ar1.init(argEventFunc, level)
 }
 // no control rate version available 
 

 // PRIVATE:
 init { arg argEventFunc, theInput;
  runningSynth = Synth.new(argEventFunc);
  runningSynth.newTempoBase(synth.tempo);
  
  inputs = theInput;
  ^this.initOutputs;
 }

 initOutputs {
  var i = 0, outChan, numChannels, outputs;
  if (runningSynth.notNil, {
   outputs = runningSynth.outputs;
   if (outputs.isKindOf(Array), {
    numChannels = outputs.size;
    channels = Array.new(numChannels);
    while ({ i < numChannels },{
     outChan = OutputProxy.ar1(this);
     channels.add(outChan);
     i = i + 1;
    });
    ^channels
   },{
    outChan = OutputProxy.ar1(this);
    channels = Array.with(outChan);
    ^outChan
   });
  });
 }
}


This page was created by SimpleText2Html 1.0.3 on 22-Feb-100.