Class OscillatorBank

  extended by net.beadsproject.beads.core.Bead
      extended by net.beadsproject.beads.core.UGen
          extended by net.beadsproject.beads.ugens.OscillatorBank

public class OscillatorBank
extends UGen

An OscillatorBank sums the output of a set of oscillators with assignable frequencies and amplitudes. The frequencies and amplitudes of the set of oscillators can be assigned using arrays.


Field Summary
Fields inherited from class net.beadsproject.beads.core.UGen
bufferSize, bufIn, bufOut, context, ins, outs
Constructor Summary
OscillatorBank(AudioContext context, Buffer buffer, int numOscillators)
          Instantiates a new OscillatorBank.
Method Summary
 void calculateBuffer()
          Called by the signal chain to update this UGen's ouput data.
 float[] getFrequencies()
          Gets the array of frequencies.
 float[] getGains()
          Gets the array of gains.
 void setFrequencies(float[] frequencies)
          Sets the frequencies of all oscillators.
 void setGains(float[] gains)
          Sets the gains of all oscillators.
 void setNumOscillators(int numOscillators)
          Sets the number of oscillators.
Methods inherited from class net.beadsproject.beads.core.UGen
addDependent, addInput, addInput, clearInputConnections, getContext, getIns, getNumberOfConnectedUGens, getOuts, getValue, getValue, noInputs, pause, printInputList, printOutBuffers, removeAllConnections, removeDependent, setValue, update, zeroIns, zeroOuts
Methods inherited from class net.beadsproject.beads.core.Bead
getKillListener, getName, isDeleted, isPaused, kill, message, messageReceived, setKillListener, setName, start, toString
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

Constructor Detail


public OscillatorBank(AudioContext context,
                      Buffer buffer,
                      int numOscillators)
Instantiates a new OscillatorBank.

context - the AudioContext.
buffer - the buffer used as a lookup table by the oscillators.
numOscillators - the number of oscillators.
Method Detail


public void setNumOscillators(int numOscillators)
Sets the number of oscillators.

numOscillators - the new number of oscillators.


public void setFrequencies(float[] frequencies)
Sets the frequencies of all oscillators.

frequencies - the new frequencies.


public float[] getFrequencies()
Gets the array of frequencies.

array of frequencies.


public void setGains(float[] gains)
Sets the gains of all oscillators.

gains - the new gains.


public float[] getGains()
Gets the array of gains.

array of gains.


public void calculateBuffer()
Description copied from class: UGen
Called by the signal chain to update this UGen's ouput data. Subclassses of UGen should implement the UGen's DSP perform routine here. In general this involves grabbing data from UGen.bufIn and putting data into UGen.bufOut in some way. UGen.bufIn and UGen.bufOut are 2D arrays of floats of the form float[numChannels][bufferSize]. The length of the buffers is given by UGen.bufferSize, and the number of channels of the input and output buffers are given by UGen.ins and UGen.outs respectively.

Specified by:
calculateBuffer in class UGen