jass.patches
Class AllPass

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

public class AllPass
extends InOut

Allpass with delay M Used in Moorers reverb. See e.g.

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

Field Summary
protected  float a
           
protected  float del
           
protected  Delay delay1
           
protected  Delay delay2
           
protected  Mixer mixer
           
protected  float srate
           
 
Fields inherited from class jass.engine.InOut
sourceContainer, sourcePassivity, srcBuffers
 
Fields inherited from class jass.engine.Out
buf, bufferSize, bufOld, lock
 
Constructor Summary
AllPass(int bufferSize)
          Create.
AllPass(int bufferSize, float srate)
          Create.
 
Method Summary
 java.lang.Object addSource(Source s)
          Add source to Sink.
protected  void computeBuffer()
          Compute the next buffer and store in member float[] buf.
protected  void init()
          Init and allocate.
 void setA(float a)
          Set filter parameter a.
 void setM(float del)
          Set delay del.
 
Methods inherited from class jass.engine.InOut
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

srate

protected float srate

del

protected float del

a

protected float a

mixer

protected Mixer mixer

delay1

protected Delay delay1

delay2

protected Delay delay2
Constructor Detail

AllPass

public AllPass(int bufferSize)
Create. For derived classes.

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

AllPass

public AllPass(int bufferSize,
               float srate)
Create. For derived classes.

Parameters:
bufferSize - Buffer size used for real-time rendering.
srate - sampling rate in Hz
Method Detail

init

protected void init()
Init and allocate.


addSource

public java.lang.Object addSource(Source s)
                           throws SinkIsFullException
Add source to Sink. Override to allow one input only and add to mixer with gain coefficient a and to delay 2. This will be called after init() so mixer will already have 2 inputs

Specified by:
addSource in interface Sink
Overrides:
addSource in class InOut
Parameters:
s - Source to add.
Returns:
object representing Source in Sink (may be null).
Throws:
SinkIsFullException

setM

public void setM(float del)
          throws java.lang.IllegalArgumentException
Set delay del. (=M/srate)

Parameters:
del - delay in seconds
Throws:
java.lang.IllegalArgumentException

setA

public void setA(float a)
Set filter parameter a.

Parameters:
a - allpas parameter

computeBuffer

protected void computeBuffer()
Compute the next buffer and store in member float[] buf.

Specified by:
computeBuffer in class Out