net.beadsproject.beads.ugens
Class Function
java.lang.Object
net.beadsproject.beads.core.Bead
net.beadsproject.beads.core.UGen
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 UGen
s 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. |
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 |
x
protected float[] x
- An array representing the current values from the array of input UGens.
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.
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
UGen
s.
- Returns:
- the result of the calculation.