net.beadsproject.beads.ugens
Class WavePlayer

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

public class WavePlayer
extends UGen

WavePlayer iterates over wave data stored in a Buffer. The frequency of the WavePlayer is controlled by a @UGen, meaning that WavePlayers can easily be combined to perform FM synthesis or ring modulation.

Author:
ollie
See Also:
{@link SineBuffer} {@link SawBuffer} {@link SquareBuffer}

Field Summary
 
Fields inherited from class net.beadsproject.beads.core.UGen
bufferSize, bufIn, bufOut, context, ins, outs
 
Constructor Summary
WavePlayer(AudioContext context, float frequency, Buffer buffer)
          Instantiates a new WavePlayer with given static frequency and Buffer.
WavePlayer(AudioContext context, UGen frequencyEnvelope, Buffer buffer)
          Instantiates a new WavePlayer with given frequency envelope and Buffer.
 
Method Summary
 void calculateBuffer()
          Called by the signal chain to update this UGen's ouput data.
 UGen getFrequencyEnvelope()
          Gets the frequency envelope.
 UGen getPhaseEnvelope()
          Gets the phase envelope.
 void setBuffer(Buffer b)
          Sets the Buffer.
 void setFrequencyEnvelope(UGen frequencyEnvelope)
          Sets the frequency envelope.
 void setPhaseEnvelope(UGen phaseEnvelope)
          Sets the phase envelope.
 void start()
          Shortcut for pause(false).
 
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, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

WavePlayer

public WavePlayer(AudioContext context,
                  UGen frequencyEnvelope,
                  Buffer buffer)
Instantiates a new WavePlayer with given frequency envelope and Buffer.

Parameters:
context - the AudioContext.
frequencyEnvelope - the frequency envelope.
buffer - the Buffer.

WavePlayer

public WavePlayer(AudioContext context,
                  float frequency,
                  Buffer buffer)
Instantiates a new WavePlayer with given static frequency and Buffer.

Parameters:
context - the AudioContext.
frequency - the frequency in Hz.
buffer - the Buffer.
Method Detail

start

public void start()
Description copied from class: Bead
Shortcut for pause(false).

Overrides:
start in class Bead

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

getFrequencyEnvelope

public UGen getFrequencyEnvelope()
Gets the frequency envelope.

Returns:
the frequency envelope.

setFrequencyEnvelope

public void setFrequencyEnvelope(UGen frequencyEnvelope)
Sets the frequency envelope. Note, if the phase envelope is not null, the frequency envelope will have no effect.

Parameters:
frequencyEnvelope - the new frequency envelope.

getPhaseEnvelope

public UGen getPhaseEnvelope()
Gets the phase envelope.

Returns:
the phase envelope.

setPhaseEnvelope

public void setPhaseEnvelope(UGen phaseEnvelope)
Sets the phase envelope.

Parameters:
phaseEnvelope - the new phase envelope.

setBuffer

public void setBuffer(Buffer b)
Sets the Buffer.

Parameters:
b - the new Buffer.