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

  1. /********************************************/  
  2. /*  Commuted Mandolin Subclass of enhanced  */
  3. /*  dual plucked-string model               */
  4. /*  by Perry Cook, 1995-96                  */
  5. /*   Controls:    CONTROL1 = bodySize       */
  6. /*                CONTROL2 = pluckPosition  */
  7. /*          CONTROL3 = loopGain       */
  8. /*          MOD_WHEEL= deTuning       */
  9. /*                                          */
  10. /*  Note: Commuted Synthesis, as with many  */
  11. /*  other WaveGuide techniques, is covered  */
  12. /*  by patents, granted, pending, and/or    */
  13. /*  applied-for.  All are assigned to the   */
  14. /*  Board of Trustees, Stanford University. */
  15. /*  For information, contact the Office of  */ 
  16. /*  Technology Licensing, Stanford U.       */
  17. /********************************************/  
  18.  
  19. #if !defined(__Mandolin_h)
  20. #define __Mandolin_h
  21.  
  22. #include "Plucked2.h"
  23. #include "RawWave.h"
  24.  
  25. class Mandolin : public Plucked2
  26. {
  27.   protected:  
  28.     RawWave *soundfile;
  29.     long dampTime;
  30.     int waveDone;
  31.   public:
  32.     Mandolin(MY_FLOAT lowestFreq);
  33.     void pluck(MY_FLOAT amplitude);
  34.     void pluck(MY_FLOAT amplitude,MY_FLOAT position);
  35.     virtual void noteOn(MY_FLOAT freq, MY_FLOAT amp);
  36.     void setBodySize(MY_FLOAT size);
  37.     virtual void controlChange(int number, MY_FLOAT value);
  38.     virtual MY_FLOAT tick();
  39. };
  40.  
  41. #endif
  42.