jass.generators
Class Mixer

java.lang.Object
  extended by jass.engine.Out
      extended by jass.engine.InOut
          extended by jass.generators.Mixer
All Implemented Interfaces:
Sink, Source

public class Mixer
extends InOut

Mixer UG. Also allows conversion to stereo.

Author:
Kees van den Doel (kvdoel@cs.ubc.ca)

Field Summary
protected  float[] gains
           
protected  int nChannels
           
protected  float[] pans
           
protected  float[] tmp_buf
           
 
Fields inherited from class jass.engine.InOut
sourceContainer, sourcePassivity, srcBuffers
 
Fields inherited from class jass.engine.Out
buf, bufferSize, bufOld, lock
 
Constructor Summary
Mixer(int bufferSize)
          Create.
Mixer(int bufferSize, int n)
          Create mono mixer
Mixer(int bufferSize, int n, int nChannels)
          Create stereo mixer
 
Method Summary
 void clear()
          Clear gains ato zero and pans to middle
protected  void computeBuffer()
          Compute the next buffer and store in member float[] buf.
 float[] getGains()
          Get input gain control vector.
 int getNChannels()
          Get nchannels
 float[] getPans()
          Get input pan control vector.
 void setGain(int k, float g)
          Set input gain control vector.
 void setNChannels(int n)
          Set nchannels
 void setPan(int k, float pan)
          Set input pan
 
Methods inherited from class jass.engine.InOut
addSource, addSource, getBuffer, getSources, removeSource, resetTime
 
Methods inherited from class jass.engine.Out
clearBuffer, copyToOld, getBuffer, getBufferSize, getTime, peekAtBuffer, setBufferSize, setTime, setTimeAndNotify
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

gains

protected float[] gains

pans

protected float[] pans

nChannels

protected int nChannels

tmp_buf

protected float[] tmp_buf
Constructor Detail

Mixer

public Mixer(int bufferSize,
             int n)
Create mono mixer

Parameters:
bufferSize - Buffer size used for real-time rendering.
n - no inputs

Mixer

public Mixer(int bufferSize,
             int n,
             int nChannels)
Create stereo mixer

Parameters:
bufferSize - Buffer size used for real-time rendering. For stereo must be 2X input buffersize
n - no inputs

Mixer

public Mixer(int bufferSize)
Create. For superclasses

Parameters:
bufferSize - Buffer size used for real-time rendering.
Method Detail

setGain

public void setGain(int k,
                    float g)
Set input gain control vector.

Parameters:
k - index of gain
gains - input gain

setPan

public void setPan(int k,
                   float pan)
Set input pan

Parameters:
k - index of pan
pan - pan

setNChannels

public void setNChannels(int n)
Set nchannels

Parameters:
n - nchannels

getNChannels

public int getNChannels()
Get nchannels

Returns:
n nchannels

getGains

public float[] getGains()
Get input gain control vector.

Parameters:
gains - input gains

getPans

public float[] getPans()
Get input pan control vector.

Parameters:
gains - input gains

clear

public void clear()
Clear gains ato zero and pans to middle


computeBuffer

protected void computeBuffer()
Compute the next buffer and store in member float[] buf. Note if stereo then output buf[] is twice as big as input buffers

Specified by:
computeBuffer in class Out