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

  1. /*******************************************/
  2. /*  Raw 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 once or looping, with linear  */
  7. /*  interpolation on playback.             */
  8. /*******************************************/
  9.  
  10. #if !defined(__RawWave_h)
  11. #define __RawWave_h
  12.  
  13. #include "Object.h"
  14.  
  15. class RawWave : public Object
  16. {
  17.   protected:  
  18.     int looping;
  19.     int myData;
  20.     int allDone;
  21.     long length;
  22.     MY_FLOAT *data;
  23.     MY_FLOAT rate;
  24.     MY_FLOAT time;
  25.     MY_FLOAT phaseOffset;
  26.     MY_FLOAT lastOutput;
  27.   public:
  28.     RawWave(char *fileName);
  29.     RawWave(MY_FLOAT *someData,long aLength);   
  30.     ~RawWave();
  31.     void reset();
  32.     void normalize();
  33.     void normalize(MY_FLOAT newPeak);
  34.     void setRate(MY_FLOAT aRate);
  35.     void setFreq(MY_FLOAT aFreq);    
  36.     void addTime(MY_FLOAT aTime);
  37.     void addPhase(MY_FLOAT anAngle);
  38.     void addPhaseOffset(MY_FLOAT anAngle);
  39.     void setLooping(int aLoopStatus);
  40.     int isAllDone();
  41.     long getLength();
  42.     MY_FLOAT* getData();
  43.     MY_FLOAT tick();
  44.     int informTick();
  45.     MY_FLOAT lastOut();
  46. };
  47.  
  48. #endif
  49.