Trig1 : UGen {
 
 *ar { arg in = 0.0, dur = 0.1;
  ^this.multiChannelPerform('ar1', in, dur)
 }
 *kr { arg in = 0.0, dur = 0.1;
  ^this.multiChannelPerform('kr1', in, dur)
 }
 *ar1 { arg in = 0.0, dur = 0.1;
  ^super.ar1.init(in, dur)
 }
 *kr1 { arg in = 0.0, dur = 0.1;
  ^super.kr1.init(in, dur)
 }
 
}

Trig : Trig1 {
}

TDelay : Trig1 {
}

Latch : UGen {
 
 *ar { arg in = 0.0, trig = 0.0;
  ^this.multiChannelPerform('ar1', in, trig)
 }
 *kr { arg in = 0.0, trig = 0.0;
  ^this.multiChannelPerform('kr1', in, trig)
 }
 *ar1 { arg in = 0.0, trig = 0.0;
  ^super.ar1.init(in, trig)
 }
 *kr1 { arg in = 0.0, trig = 0.0;
  ^super.kr1.init(in, trig)
 }
 
}

Gate : Latch
}

PulseCount : UGen {
 
 *ar { arg trig = 0.0, reset = 0.0;
  ^this.multiChannelPerform('ar1', trig, reset)
 }
 *kr { arg trig = 0.0, reset = 0.0;
  ^this.multiChannelPerform('kr1', trig, reset)
 }
 *ar1 { arg trig = 0.0, reset = 0.0;
  ^super.ar1.init(trig, reset)
 }
 *kr1 { arg trig = 0.0, reset = 0.0;
  ^super.kr1.init(trig, reset)
 }
 
}

Peak : PulseCount {
}

PulseDivider : UGen {
 
 *ar { arg trig = 0.0, div = 2.0, start = 0.0;
  ^this.multiChannelPerform('ar1', trig, div, start)
 }
 *kr { arg trig = 0.0, div = 2.0, start = 0.0;
  ^this.multiChannelPerform('kr1', trig, div, start)
 }
 *ar1 { arg trig = 0.0, div = 2.0, start = 0.0;
  ^super.ar1.init(trig, div, start)
 }
 *kr1 { arg trig = 0.0, div = 2.0, start = 0.0;
  ^super.kr1.init(trig, div, start)
 }
 
}

SetResetFF : PulseCount {
 set { _SetResetFF_Set }
 reset { _SetResetFF_Reset }
 toggle { _SetResetFF_Toggle }
}

ToggleFF : UGen {
 
 *ar { arg trig = 0.0;
  ^this.multiChannelPerform('ar1', trig)
 }
 *kr { arg trig = 0.0;
  ^this.multiChannelPerform('kr1', trig)
 }
 *ar1 { arg trig = 0.0;
  ^super.ar1.init(trig)
 }
 *kr1 { arg trig = 0.0;
  ^super.kr1.init(trig)
 }
 
 init { arg theInput;
  inputs = theInput;
 }
 set { _ToggleFF_Set }
 reset { _ToggleFF_Reset }
 toggle { _ToggleFF_Toggle }
}


ImpulseSequencer : UGen {
 var <>stream;
 
 *ar { arg sequence, trig = 0.0, mul = 1.0, add = 0.0;
  ^this.multiChannelPerform('ar1', sequence, trig, mul, add)
 }
 *kr { arg sequence, trig = 0.0, mul = 1.0, add = 0.0;
  ^this.multiChannelPerform('kr1', sequence, trig, mul, add)
 }
 *ar1 { arg sequence, trig = 0.0, mul = 1.0, add = 0.0;
  ^super.ar1.init(sequence, trig, mul, add)
 }
 *kr1 { arg sequence, trig = 0.0, mul = 1.0, add = 0.0;
  ^super.kr1.init(sequence, trig, mul, add)
 }
 init { arg sequence ... theInputs;
  stream = sequence;
  inputs = theInputs;
 }
// next { // called internally when calling a Routine
//  ^stream.next(nil)  // push nil to prevent byte code optimization & elimination
// }
}

Sequencer : ImpulseSequencer {
}

UserUGen : UGen {
 var <>stream;
 
 *ar { arg sequence, mul = 1.0, add = 0.0;
  ^this.multiChannelPerform('ar1', sequence, mul, add)
 }
 *kr { arg sequence, mul = 1.0, add = 0.0;
  ^this.multiChannelPerform('kr1', sequence, mul, add)
 }
 *ar1 { arg sequence, mul = 1.0, add = 0.0;
  ^super.ar1.init(sequence, mul, add)
 }
 *kr1 { arg sequence, mul = 1.0, add = 0.0;
  ^super.kr1.init(sequence, mul, add)
 }
 init { arg sequence ... theInputs;
  stream = sequence;
  inputs = theInputs;
 }
 next { // called internally when calling a Routine
  ^stream.next(nil// push nil to prevent byte code optimization & elimination
 }
}

StepClock : UGen {
 var <>stream;
 
 *ar { arg sequence, rate = 1.0, mul = 1.0, add = 0.0;
  ^this.multiChannelPerform('ar1', sequence, rate, mul, add)
 }
 *kr { arg sequence, rate = 1.0, mul = 1.0, add = 0.0;
  ^this.multiChannelPerform('kr1', sequence, rate, mul, add)
 }
 *ar1 { arg sequence, rate = 1.0, mul = 1.0, add = 0.0;
  ^super.ar1.init(sequence, rate, mul, add)
 }
 *kr1 { arg sequence, rate = 1.0, mul = 1.0, add = 0.0;
  ^super.kr1.init(sequence, rate, mul, add)
 }
 init { arg sequence ... theInputs;
  stream = sequence;
  inputs = theInputs;
 }
 next { // called internally when calling a Routine
  ^stream.next(nil)
 }
}


ZeroCrossing : UGen {
 
 *ar { arg in = 0.0;
  ^this.multiChannelPerform('ar1', in)
 }
 *kr { arg in = 0.0;
  ^this.multiChannelPerform('kr1', in)
 }
 *ar1 { arg in = 0.0;
  ^super.ar1.init(in)
 }
 *kr1 { arg in = 0.0;
  ^super.kr1.init(in)
 }
 init { arg theInput;
  inputs = theInput;
 }
}

PeakFollower : UGen {
 
 *ar { arg in = 0.0, decay = 0.999;
  ^this.multiChannelPerform('ar1', in, decay)
 }
 *kr { arg in = 0.0, decay = 0.999;
  ^this.multiChannelPerform('kr1', in, decay)
 }
 *ar1 { arg in = 0.0, decay = 0.999;
  ^super.ar1.init(in, decay)
 }
 *kr1 { arg in = 0.0, decay = 0.999;
  ^super.kr1.init(in, decay)
 }
}

Pitch : MultiOutUGen {
 var buffer, initFreq, minFreq, maxFreq, execFreq;
 var maxBinsPerOctave, median, ampThreshold, peakThreshold, downSample;
 
 *kr { arg in = 0.0, initFreq = 440.0, minFreq = 60.0, maxFreq = 4000.0, execFreq = 100.0,
  maxBinsPerOctave = 16, median = 1, ampThreshold = 0.01, peakThreshold = 0.5, downSample = 1;
  ^this.multiChannelPerform('kr1', in, initFreq, minFreq, maxFreq, execFreq,
    maxBinsPerOctave, median, ampThreshold, peakThreshold, downSample)
 }
 *kr1 { arg in = 0.0, initFreq = 440.0, minFreq = 60.0, maxFreq = 4000.0, execFreq = 100.0,
  maxBinsPerOctave = 16, median = 1, ampThreshold = 0.01, peakThreshold = 0.5, downSample = 1;
  ^super.kr1.init(in, initFreq, minFreq, maxFreq, execFreq,
   maxBinsPerOctave, median, ampThreshold, peakThreshold, downSample)
 }
 init { arg argInput, argInitFreq, argMinFreq, argMaxFreq, argExecFreq,
   argMaxBinsPerOctave, argMedian, argAmpThreshold, argPeakThreshold, argDownSample;
  inputs = argInput;
  initFreq = argInitFreq;
  minFreq = argMinFreq;
  maxFreq = argMaxFreq;
  execFreq = argExecFreq;
  maxBinsPerOctave = argMaxBinsPerOctave;
  median = argMedian;
  ampThreshold = argAmpThreshold;
  peakThreshold = argPeakThreshold;
  downSample = argDownSample;
  channels = [ OutputProxy.kr1(this), OutputProxy.kr1(this) ];
  ^channels
 }
}


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