csl::Freeverb Class Reference

#include <Freeverb.h>

Inheritance diagram for csl::Freeverb:

csl::Effect csl::Scalable csl::UnitGenerator csl::Controllable csl::Controllable csl::Model

List of all members.

Public Member Functions

 Freeverb (UnitGenerator &input)
 ~Freeverb ()
float roomSize ()
void setRoomSize (float size)
 Setting the room size makes longer tails. The value has a range from 0 to 1.
float dampening ()
void setDampening (float damp)
 Specified in percentage (from 0 to 100%).
float wetLevel ()
void setWetLevel (float level)
 Amount of wet (reverberation) in the mixed output.
float dryLevel ()
void setDryLevel (float level)
 Amount of the original "dry" signal in the output.
float width ()
void setWidth (float width)
 Currently not used, as this reverb became mono in/out.
void nextBuffer (Buffer &outputBuffer, unsigned outBufNum) throw (CException)

Protected Member Functions

void constructReverbGraph ()
void updateParameters ()

Protected Attributes

float mRoomSize
float mDampening
float mWetLevel
float mDryLevel
float mWidth
float mGain
std::vector< Comb * > mCombFilters
std::vector< FAllpass * > mAllpassFilters
SampleBufferVector mCombBuffers
SampleBufferVector mAllpassBuffers


Detailed Description

CSL port of the public domain Freeverb reverberator

Constructor & Destructor Documentation

Freeverb::Freeverb ( UnitGenerator input  ) 

Freeverb::~Freeverb (  ) 


Member Function Documentation

float Freeverb::roomSize (  ) 

References mRoomSize.

void Freeverb::setRoomSize ( float  size  ) 

Setting the room size makes longer tails. The value has a range from 0 to 1.

References kOffsetRoom, kScaleRoom, mRoomSize, and updateParameters().

Referenced by constructReverbGraph(), csl::Stereoverb::setRoomSize(), csl::Stereoverb::Stereoverb(), and testReverb().

float Freeverb::dampening (  ) 

References kScaleDamp, and mDampening.

void Freeverb::setDampening ( float  damp  ) 

Specified in percentage (from 0 to 100%).

The "damp" parameter can be thought as setting the material of the room walls.

References kScaleDamp, mDampening, and updateParameters().

Referenced by constructReverbGraph(), and csl::Stereoverb::setDampening().

float Freeverb::wetLevel (  ) 

References mWetLevel.

void Freeverb::setWetLevel ( float  level  ) 

Amount of wet (reverberation) in the mixed output.

References mWetLevel, and updateParameters().

Referenced by constructReverbGraph(), csl::Stereoverb::setWetLevel(), and csl::Stereoverb::Stereoverb().

float Freeverb::dryLevel (  ) 

References mDryLevel.

void Freeverb::setDryLevel ( float  level  ) 

Amount of the original "dry" signal in the output.

References mDryLevel.

Referenced by constructReverbGraph(), csl::Stereoverb::setDryLevel(), and csl::Stereoverb::Stereoverb().

float Freeverb::width (  ) 

References mWidth.

void Freeverb::setWidth ( float  width  ) 

Currently not used, as this reverb became mono in/out.

References mWidth, and updateParameters().

Referenced by constructReverbGraph(), and csl::Stereoverb::setWidth().

void Freeverb::nextBuffer ( Buffer outputBuffer,
unsigned  outBufNum 
) throw (CException) [virtual]

really compute the next buffer given an offset base channel; this is called by nextBuffer, possibly multiple times

Reimplemented from csl::UnitGenerator.

References csl::logMsg().

void Freeverb::constructReverbGraph (  )  [protected]

void Freeverb::updateParameters (  )  [protected]


Member Data Documentation

float csl::Freeverb::mRoomSize [protected]

float csl::Freeverb::mDampening [protected]

float csl::Freeverb::mWetLevel [protected]

Referenced by setWetLevel(), and wetLevel().

float csl::Freeverb::mDryLevel [protected]

Referenced by dryLevel(), and setDryLevel().

float csl::Freeverb::mWidth [protected]

Referenced by setWidth(), and width().

float csl::Freeverb::mGain [protected]

Referenced by constructReverbGraph().

std::vector<Comb *> csl::Freeverb::mCombFilters [protected]

std::vector<FAllpass *> csl::Freeverb::mAllpassFilters [protected]

Referenced by constructReverbGraph(), and ~Freeverb().

Referenced by constructReverbGraph(), and ~Freeverb().

Referenced by constructReverbGraph(), and ~Freeverb().


The documentation for this class was generated from the following files:

Generated on Thu Sep 17 23:14:17 2009 for CSL by  doxygen 1.5.8