Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   Tutorial


PitShift.h

00001 /***************************************************/
00010 /***************************************************/
00011 
00012 #ifndef STK_PITSHIFT_H
00013 #define STK_PITSHIFT_H
00014 
00015 #include "Effect.h" 
00016 #include "DelayL.h" 
00017 
00018 class PitShift : public Effect
00019 {
00020  public:
00022   PitShift();
00023 
00025   ~PitShift();
00026 
00028   void clear();
00029 
00031   void setShift(StkFloat shift);
00032 
00034   StkFloat tick(StkFloat input);
00035 
00037   StkFloat *tick( StkFloat *vector, unsigned int vectorSize );
00038 
00040 
00046   StkFrames& tick( StkFrames& frames, unsigned int channel = 1 );
00047 
00048  protected:  
00049   DelayL delayLine_[2];
00050   StkFloat delay_[2];
00051   StkFloat env_[2];
00052   StkFloat rate_;
00053   unsigned long delayLength;
00054   unsigned long halfLength;
00055 
00056 };
00057 
00058 #endif
00059 

The Synthesis ToolKit in C++ (STK)
©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.