csl::WavetableOscillator Class Reference

#include <Oscillator.h>

Inheritance diagram for csl::WavetableOscillator:

csl::Oscillator csl::UnitGenerator csl::Phased csl::Scalable csl::Model csl::Controllable csl::Controllable csl::Abst_SoundFile csl::CompOrCacheOscillator csl::CASoundFile csl::JSoundFile csl::LSoundFile csl::SumOfSines csl::SquareBL

List of all members.

Public Member Functions

 WavetableOscillator (Buffer &wave)
 WavetableOscillator (float frequency=1, float ampl=1.0, float offset=0.0, float phase=0.0)
void setWaveform (Buffer &wave)
 plug in waveforms
void setInterpolate (InterpolationPolicy whether)
 set the interpolation flag
virtual void nextBuffer (Buffer &outputBuffer, unsigned outBufNum) throw (CException)
void fillSine ()
 fill the wavetable with 1 cycle of a sine wave

Public Attributes

InterpolationPolicy mInterpolate
 whether/how I should interpolate between samples
Buffer mWavetable
 the stored wave form

Detailed Description

WavetableOscillator -- Oscillator with a stored wave table that does table look-up. The default wave table is an 8192-sample sine. (perhaps accept a vector of freqs and a multichannel buffer?)

Constructor & Destructor Documentation

WavetableOscillator::WavetableOscillator ( Buffer wave  ) 

WavetableOscillator::WavetableOscillator ( float  frequency = 1,
float  ampl = 1.0,
float  offset = 0.0,
float  phase = 0.0 

Member Function Documentation

void WavetableOscillator::setWaveform ( Buffer wave  ) 

void csl::WavetableOscillator::setInterpolate ( InterpolationPolicy  whether  )  [inline]

set the interpolation flag

References mInterpolate.

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

void WavetableOscillator::fillSine (  ) 

Member Data Documentation

whether/how I should interpolate between samples

Referenced by setInterpolate(), and WavetableOscillator().

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