net.beadsproject.beads.ugens
Class Function

java.lang.Object
  extended by net.beadsproject.beads.core.Bead
      extended by net.beadsproject.beads.core.UGen
          extended by net.beadsproject.beads.ugens.Function

public abstract class Function
extends UGen

Function is an abstract class which can be quickly subclassed to make a custom UGen on the fly. Subclasses of Function must implement calculate(), getting data from the array x, and returning the result. x provides access to the array of UGens that are passed to Function's constructor.

Author:
ollie

Field Summary
protected  float[] x
          An array representing the current values from the array of input UGens.
 
Fields inherited from class net.beadsproject.beads.core.UGen
bufferSize, bufIn, bufOut, context, ins, outs
 
Constructor Summary
Function(UGen input)
          Instantiates a new function.
Function(UGen[] inputs)
          Instantiates a new function.
 
Method Summary
abstract  float calculate()
          Override this to calculate what to do.
 void calculateBuffer()
          Called by the signal chain to update this UGen's ouput data.
 
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
 

Field Detail

x

protected float[] x
An array representing the current values from the array of input UGens.

Constructor Detail

Function

public Function(UGen input)
Instantiates a new function.

Parameters:
input - the input

Function

public Function(UGen[] inputs)
Instantiates a new function.

Parameters:
inputs - the set of input UGens.
Method Detail

calculateBuffer

public final 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

calculate

public abstract float calculate()
Override this to calculate what to do. Use x[] to get the values from the input UGens.

Returns:
the result of the calculation.