net.beadsproject.beads.ugens
Class Gain

java.lang.Object
  extended by net.beadsproject.beads.core.Bead
      extended by net.beadsproject.beads.core.UGen
          extended by net.beadsproject.beads.ugens.Gain
All Implemented Interfaces:
DataBeadReceiver

public class Gain
extends UGen
implements DataBeadReceiver

Gain modifies the gain of a multi-channel audio signal. The gain value can be controlled by an audio signal.

Author:
ollie

Nested Class Summary
 
Nested classes/interfaces inherited from class net.beadsproject.beads.core.UGen
UGen.OutputInitializationRegime, UGen.OutputPauseRegime
 
Field Summary
 
Fields inherited from class net.beadsproject.beads.core.UGen
bufferSize, bufIn, bufOut, context, ins, outputInitializationRegime, outputPauseRegime, outs
 
Constructor Summary
Gain(AudioContext context, int inouts)
          Instantiates a new Gain with Static gain envelop set to 1.
Gain(AudioContext context, int inouts, float gain)
          Instantiates a new Gain with a Static gain envelop with the given value.
Gain(AudioContext context, int inouts, UGen gainEnvelope)
          Instantiates a new Gain.
 
Method Summary
 void calculateBuffer()
          Called by the signal chain to update this UGen's ouput data.
 float getGain()
          Gets the current gain value.
 UGen getGainEnvelope()
          Deprecated. As of version 1.0, replaced by setGain(UGen).
 UGen getGainUGen()
          Gets the gain UGen, if it exists.
 DataBeadReceiver sendData(DataBead db)
          The method through which a class receives and parses DataBeads.
 Gain setGain(float gain)
          Sets the gain to a static float value.
 Gain setGain(UGen gainUGen)
          Sets a UGen to control the gain amount.
 void setGainEnvelope(UGen gainEnvelope)
          Deprecated. As of version 1.0, replaced by setGain(UGen).
 
Methods inherited from class net.beadsproject.beads.core.UGen
addDependent, addInput, addInput, clearDependents, clearInputConnections, containsInput, crossfadeInput, getConnectedInputs, getContext, getEnvelopes, getIns, getNumberOfConnectedUGens, getNumberOfDependents, getOutBuffer, getOuts, getTimeTakenLastUpdate, getValue, getValue, getValueDouble, getValueDouble, initializeOuts, isTimerMode, isUpdated, noInputs, pause, printInBuffers, printInputList, printOutBuffers, removeAllConnections, removeConnection, removeDependent, setOutsToPause, setTimerMode, 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

Gain

public Gain(AudioContext context,
            int inouts,
            UGen gainEnvelope)
Instantiates a new Gain.

Parameters:
context - the AudioContext.
inouts - the number of inputs (= number of outputs).
gainEnvelope - the gain envelope.

Gain

public Gain(AudioContext context,
            int inouts,
            float gain)
Instantiates a new Gain with a Static gain envelop with the given value.

Parameters:
context - the AudioContext.
inouts - the number of inputs (= number of outputs).
gain - the fixed gain level.

Gain

public Gain(AudioContext context,
            int inouts)
Instantiates a new Gain with Static gain envelop set to 1.

Parameters:
context - the AudioContext.
inouts - the number of inputs (= number of outputs).
Method Detail

getGainEnvelope

@Deprecated
public UGen getGainEnvelope()
Deprecated. As of version 1.0, replaced by setGain(UGen).

Gets the gain envelope.

Returns:
the gain envelope.

setGainEnvelope

@Deprecated
public void setGainEnvelope(UGen gainEnvelope)
Deprecated. As of version 1.0, replaced by setGain(UGen).

Sets the gain envelope.

Parameters:
gainEnvelope - the new gain envelope.

getGain

public float getGain()
Gets the current gain value.

Returns:
The gain value.

setGain

public Gain setGain(float gain)
Sets the gain to a static float value.

Parameters:
gain - The gain value.
Returns:
This gain instance.

setGain

public Gain setGain(UGen gainUGen)
Sets a UGen to control the gain amount.

Parameters:
gainUGen - The gain UGen.
Returns:
This gain instance.

getGainUGen

public UGen getGainUGen()
Gets the gain UGen, if it exists.

Returns:
The gain UGen.

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

sendData

public DataBeadReceiver sendData(DataBead db)
Description copied from interface: DataBeadReceiver
The method through which a class receives and parses DataBeads. By convention, a class that implements this interface will return the DataBeadReceiver instance.

Example usage:

public DataBeadReceiver sendData(DataBead db) {
   someParameter = db.getFloat("someparameter", defaultValue);
   someOtherParameter = db.getUGen("otherparameter");
   // etc...
   return this; }

Specified by:
sendData in interface DataBeadReceiver
Parameters:
db - The DataBead message.
Returns:
Typically, the object instance: this.