home *** CD-ROM | disk | FTP | other *** search
/ PC Musician 2000 / PC_Musician_2000.iso / PCMUSIC / NOTATION / SILENCE / RAWLOOP.H < prev    next >
Encoding:
C/C++ Source or Header  |  1996-03-17  |  986 b   |  40 lines

  1. /*******************************************/
  2. /*  Raw Looped Soundfile Class,            */
  3. /*  by Perry R. Cook, 1995-96              */ 
  4. /*  This Object can open a raw 16bit data  */
  5. /*  (signed integers) file, and play back  */
  6. /*  the data, looping only, with linear    */
  7. /*  interpolation on playback.             */
  8. /*******************************************/
  9.  
  10. #if !defined(__RawLoop_h)
  11. #define __RawLoop_h
  12.  
  13. #include "Object.h"
  14.  
  15. class RawLoop : public Object
  16. {
  17.   protected:  
  18.     long length;
  19.     MY_FLOAT *data;
  20.     MY_FLOAT rate;
  21.     MY_FLOAT time;
  22.     MY_FLOAT phaseOffset;
  23.     MY_FLOAT lastOutput;
  24.   public:
  25.     RawLoop(char *fileName);
  26.     ~RawLoop();
  27.     void reset();
  28.     void normalize();
  29.     void normalize(MY_FLOAT newPeak);
  30.     void setRate(MY_FLOAT aRate);
  31.     void setFreq(MY_FLOAT aFreq);    
  32.     void addTime(MY_FLOAT aTime);
  33.     void addPhase(MY_FLOAT anAngle);
  34.     void addPhaseOffset(MY_FLOAT anAngle);
  35.     MY_FLOAT tick();
  36.     MY_FLOAT lastOut();
  37. };
  38.  
  39. #endif
  40.