DelayLine.h

Go to the documentation of this file.
00001 //
00002 // DLine.h -- an Interpolating Delay Line
00003 //  See the copyright notice and acknowledgment of authors in the file COPYRIGHT
00004 //
00005 // This is a typical circular buffer with one writer and multiple readers (tap instances)
00006 
00007 #ifndef CSL_DelayLine_H
00008 #define CSL_DelayLine_H
00009 
00010 #include "CSL_Core.h"
00011 #include "RingBuffer.h"
00012 
00013 namespace csl {
00014 
00015 // The delay line takes its input and write a delayed output
00016 class DelayLine : public Effect {
00017 public:
00018     DelayLine(unsigned maxDelayInSamples);          
00019 
00020     float delayTime();                              
00021     unsigned delayLength();                         
00022     
00023     float setDelayTime(float delayInMiliseconds);       
00024     unsigned setDelayLength(unsigned delayInSamples); 
00025 //  void setInterpolationKind();
00026     
00027     void nextBuffer(Buffer &output) throw(CException);
00028 
00029 protected:
00030     RingBuffer mRingBuffer;
00031     unsigned mMaxDelayInSamples;
00032     unsigned mTotalDelayInSamples;
00033 
00034 };
00035 
00036 }
00037 
00038 #endif

Generated on Fri Apr 6 20:18:12 2007 for CSL by  doxygen 1.4.5-20051010