/*
 FSinOsc - fixed frequency sine oscillator
 arguments :
  freq - frequency in cycles per second. Must be a scalar.
  mul - multiply by signal or scalar
  add - add to signal or scalar
  
 This unit generator uses a very fast algorithm for generating a sine
 wave at a fixed frequency.
*/

FSinOsc : UGen
 *ar { arg freq=440.0, mul = 1.0, add = 0.0;
  ^this.multiChannelPerform('ar1', freq, mul, add)
 }
 *kr { arg freq=440.0, mul = 1.0, add = 0.0;
  ^this.multiChannelPerform('kr1', freq, mul, add)
 }
 *ar1 { arg freq=440.0, mul = 1.0, add = 0.0;
  ^super.ar1.init(freq, mul, add)
 }
 *kr1 { arg freq=440.0, mul = 1.0, add = 0.0;
  ^super.kr1.init(freq, mul, add)
 }
}


Klang : UGen {
 var freqs, amps, phases, coefs;
 
 *ar { arg argSpecificationsArrayRef,
   freqscale = 1.0, freqoffset = 0.0, mul = 1.0, add = 0.0;
  ^this.multiChannelPerform('ar1', argSpecificationsArrayRef,
   freqscale, freqoffset, mul, add)
 }
 *ar1 { arg argSpecificationsArrayRef,
   freqscale = 1.0, freqoffset = 0.0, mul = 1.0, add = 0.0;
  ^super.ar1.init( argSpecificationsArrayRef,
   freqscale, freqoffset, mul, add)
 }
 init { arg argSpecificationsArrayRef ... theInputs;
  var specificationsArray;
  specificationsArray = argSpecificationsArrayRef.value;
  # freqs, amps, phases = specificationsArray;
  inputs = theInputs;
 } 
}

Klank : UGen {
 var freqs, amps, times, coefs;
 
 *ar { arg argSpecificationsArrayRef, input,
   freqscale = 1.0, freqoffset = 0.0, decayscale = 1.0, mul = 1.0, add = 0.0;
  ^this.multiChannelPerform('ar1', argSpecificationsArrayRef, input,
   freqscale, freqoffset, decayscale, mul, add)
 }
 *ar1 { arg argSpecificationsArrayRef, input,
   freqscale = 1.0, freqoffset = 0.0, decayscale = 1.0, mul = 1.0, add = 0.0;
  ^super.ar1.init( argSpecificationsArrayRef, input,
   freqscale, freqoffset, decayscale, mul, add)
 }
 init { arg argSpecificationsArrayRef ... theInputs;
  var specificationsArray;
  specificationsArray = argSpecificationsArrayRef.value;
  # freqs, amps, times = specificationsArray;
  inputs = theInputs;
 } 
}

OldKlank : Klank {
 // for compatibility
}

Blip : UGen
 *ar { arg freq=440.0, numharm = 200.0, mul = 1.0, add = 0.0;
  ^this.multiChannelPerform('ar1', freq, numharm, mul, add)
 }
 *ar1 { arg freq=440.0, numharm = 200.0, mul = 1.0, add = 0.0;
  ^super.ar1.init(freq, numharm, mul, add)
 }
}

Saw : UGen
 *ar { arg freq=440.0, mul = 1.0, add = 0.0;
  ^this.multiChannelPerform('ar1', freq, mul, add)
 }
 *ar1 { arg freq=440.0, mul = 1.0, add = 0.0;
  ^super.ar1.init(freq, mul, add)
 }
}

Pulse : UGen
 *ar { arg freq=440.0, width = 0.5, mul = 1.0, add = 0.0;
  ^this.multiChannelPerform('ar1', freq, width, mul, add)
 }
 *ar1 { arg freq=440.0, width = 0.5, mul = 1.0, add = 0.0;
  ^super.ar1.init(freq, width, mul, add)
 }
}


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