00001 00002 00003 00004 00005 00006 00007 00008 00009 00010 #ifndef CSL_BlockResizer_H 00011 #define CSL_BlockResizer_H 00012 00013 #include "CSL_Core.h" 00014 00015 namespace csl { 00016 00017 // Regularizes the amount of data called for. 00018 // This is useful for time-frequency transformations which 00019 // only work with certain buffer sizes 00020 00021 class BlockResizer : public UnitGenerator { // could be an effect 00022 00023 public: 00024 BlockResizer(UnitGenerator & input, unsigned blockSize); 00025 ~BlockResizer(); 00027 void nextBuffer(Buffer & outputBuffer) throw(CException); 00028 00029 protected: 00030 UnitGenerator * mInput; 00031 unsigned mBufferSize; 00032 int mFramePointer; 00033 Buffer mInputBuffer; 00034 }; 00035 00036 } 00037 00038 #endif
1.5.8