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 
00018 
00019 class DelayLine : public Effect {
00020 public:
00021     DelayLine(unsigned maxDelayInSamples);          
00022 
00023     float delayTime();                              
00024     unsigned delayLength();                         
00025     
00026     float setDelayTime(float delayInMiliseconds);       
00027     unsigned setDelayLength(unsigned delayInSamples); 
00028 //  void setInterpolationKind();
00029     
00030     void nextBuffer(Buffer &output) throw(CException);
00031 
00032 protected:
00033     RingBuffer mRingBuffer;
00034     unsigned mMaxDelayInSamples;
00035     unsigned mTotalDelayInSamples;
00036 
00037 };
00038 
00039 }
00040 
00041 #endif

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