net.beadsproject.beads.ugens
Class OscillatorBank

java.lang.Object
  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.

Author:
ollie

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

OscillatorBank

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

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

setNumOscillators

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

Parameters:
numOscillators - the new number of oscillators.

setFrequencies

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

Parameters:
frequencies - the new frequencies.

getFrequencies

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

Returns:
array of frequencies.

setGains

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

Parameters:
gains - the new gains.

getGains

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

Returns:
array of gains.

calculateBuffer

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