home *** CD-ROM | disk | FTP | other *** search
/ PC Musician 2000 / PC_Musician_2000.iso / PCMUSIC / NOTATION / SILENCE / DRUMSYNT.H < prev    next >
Encoding:
C/C++ Source or Header  |  1996-06-23  |  1022 b   |  38 lines

  1. /*******************************************/
  2. /*  Master Class for Drum Synthesizer      */
  3. /*  by Perry R. Cook, 1995-96              */ 
  4. /*  This instrument contains a bunch of    */
  5. /*  RawWvIn objects (Non-Interpolating,   */
  6. /*  1 shot players), run through a bunch   */
  7. /*  of one-pole filters.  You can specify  */
  8. /*  the maximum Polyphony (maximum number  */
  9. /*  of simultaneous voices) in a #define   */
  10. /*  in the .h file.                 */
  11. /*******************************************/
  12.  
  13. #if !defined(__DrumSynt_h)
  14. #define __DrumSynt_h
  15.  
  16. #include "Object.h"
  17. #include "RawWvIn.h"
  18. #include "OnePole.h"
  19.  
  20. #define DRUM_NUMWAVES 10
  21. #define DRUM_POLYPHONY 4
  22.  
  23. class DrumSynt : public Object
  24. {
  25.   protected:  
  26.     RawWvIn  *waves[DRUM_POLYPHONY];
  27.     OnePole  *filters[DRUM_POLYPHONY];
  28.     int      sounding[DRUM_POLYPHONY];
  29.     int      numSounding;
  30.   public:
  31.     DrumSynt();
  32. /*    ~DrumSynt();                        */
  33.     void noteOn(int noteNum, int vel);
  34.     MY_FLOAT tick();
  35. };
  36.  
  37. #endif
  38.