Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


FileWvIn.h

00001 /***************************************************/
00032 /***************************************************/
00033 
00034 #ifndef STK_FILEWVIN_H
00035 #define STK_FILEWVIN_H
00036 
00037 #include "WvIn.h"
00038 #include "FileRead.h"
00039 
00040 class FileWvIn : public WvIn
00041 {
00042 public:
00044   FileWvIn( unsigned long chunkThreshold = 1000000, unsigned long chunkSize = 1024 );
00045 
00047 
00051   FileWvIn( std::string fileName, bool raw = false, bool doNormalize = true,
00052             unsigned long chunkThreshold = 1000000, unsigned long chunkSize = 1024 );
00053 
00055   virtual ~FileWvIn();
00056 
00058 
00067   void openFile( std::string fileName, bool raw = false, bool doNormalize = true );
00068 
00070   void closeFile( void );
00071 
00073   void reset( void );
00074 
00076 
00080   void normalize( void );
00081 
00083 
00087   void normalize( StkFloat peak );
00088 
00090   unsigned long getSize( void ) const { return data_.frames(); };
00091 
00093 
00098   StkFloat getFileRate( void ) const { return data_.dataRate(); };
00099 
00101   bool isFinished( void ) const { return finished_; };
00102 
00104 
00107   void setRate( StkFloat rate );
00108 
00110 
00113   virtual void addTime( StkFloat time );
00114 
00116 
00122   void setInterpolate( bool doInterpolate ) { interpolate_ = doInterpolate; };
00123 
00124   StkFloat lastOut( void ) const;
00125 
00126 protected:
00127 
00128   virtual void computeFrame( void );
00129   virtual void sampleRateChanged( StkFloat newRate, StkFloat oldRate );
00130 
00131   FileRead file_;
00132   bool finished_;
00133   bool interpolate_;
00134   bool normalizing_;
00135   bool chunking_;
00136   StkFloat time_;
00137   StkFloat rate_;
00138   unsigned long chunkThreshold_;
00139   unsigned long chunkSize_;
00140   long chunkPointer_;
00141 
00142 };
00143 
00144 #endif

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