home *** CD-ROM | disk | FTP | other *** search
/ The World of Computer Software / World_Of_Computer_Software-02-385-Vol-1of3.iso / m / muzsrc1.zip / OBJECTS.H < prev    next >
C/C++ Source or Header  |  1992-07-22  |  3KB  |  140 lines

  1. // **********************************************
  2. // File: OBJECTS.H
  3. // Musical objects header file
  4.  
  5. #include "muzika.h"
  6.  
  7. // --- Object class codes
  8. const O_NOTE = 5;
  9. const O_PAUSE = 6;
  10. const O_KEY = 7;
  11. const O_BEAT = 8;
  12. const O_BAR = 9;
  13. const O_LOUDNESS = 10;
  14. const O_CRESCENDO = 11;
  15. const O_TEXT = 12;
  16.  
  17. // **********************************************
  18. // Definitions of the various musical classes
  19.  
  20. class Note : virtual public PointObject {
  21.   protected:
  22.     int _Y;
  23.     int _duration;
  24.  
  25.   public:
  26.     Note(int X, int Y, int duration);
  27.     Note(istream &);
  28.     Note(void far *&);
  29.     virtual void Draw(HDC);
  30.     virtual void Format(int &);
  31.     virtual void MIDIPlay(ostream &, int);
  32.     virtual int Duration() {return _duration;}
  33.     virtual void printOn(ostream &) const;
  34.     virtual void clipOn(void far *&) const;
  35. };
  36.  
  37. class Pause : virtual public PointObject {
  38.   protected:
  39.     int _duration;
  40.  
  41.   public:
  42.     Pause(int X, int duration);
  43.     Pause(istream &);
  44.     Pause(void far *&);
  45.     virtual void Draw(HDC);
  46.     virtual void Format(int &);
  47.     virtual void MIDIPlay(ostream &, int);
  48.     virtual int Duration() {return _duration;}
  49.     virtual void printOn(ostream &) const;
  50.     virtual void clipOn(void far *&) const;
  51. };
  52.  
  53. class Key : virtual public PointObject {
  54.   protected:
  55.     enum {LOCATION = 15};
  56.     int _type;
  57.  
  58.   public:
  59.     Key(int X, int type);
  60.     Key(istream &);
  61.     Key(void far *&);
  62.     virtual void Draw(HDC);
  63.     virtual void Format(int &);
  64.     virtual int Width() {return WidthRound(2*pixelsPerObject+LOCATION);}
  65.     virtual void printOn(ostream &) const;
  66.     virtual void clipOn(void far *&) const;
  67. };
  68.  
  69. class Beat : virtual public PointObject {
  70.   protected:
  71.     int _type;
  72.  
  73.   public:
  74.     Beat(int X, int type);
  75.     Beat(istream &);
  76.     Beat(void far *&);
  77.     virtual void Draw(HDC);
  78.     virtual void Format(int &);
  79.     virtual void printOn(ostream &) const;
  80.     virtual void clipOn(void far *&) const;
  81. };
  82.  
  83. class Bar : virtual public PointObject {
  84.   protected:
  85.     int _type;
  86.  
  87.   public:
  88.     Bar(int X, int type);
  89.     Bar(istream &);
  90.     Bar(void far *&);
  91.     virtual void Draw(HDC);
  92.     virtual void Format(int &);
  93.     virtual int Width()
  94.       {return _type != STARTBAR && _type != ENDBAR ? pixelsPerObject : 0;}
  95.     virtual void printOn(ostream &) const;
  96.     virtual void clipOn(void far *&) const;
  97. };
  98.  
  99. class Loudness : virtual public PointObject {
  100.   protected:
  101.     int _loudness;
  102.  
  103.   public:
  104.     Loudness(int X, int loudness);
  105.     Loudness(istream &);
  106.     Loudness(void far *&);
  107.     virtual void Draw(HDC);
  108.     virtual void Format(int &);
  109.     virtual void printOn(ostream &) const;
  110.     virtual void clipOn(void far *&) const;
  111. };
  112.  
  113. class Crescendo : virtual public ContinuousObject {
  114.   protected:
  115.     int _direction;
  116.  
  117.   public:
  118.     Crescendo(int Xleft, int Xright, int direction);
  119.     Crescendo(istream &);
  120.     Crescendo(void far *&);
  121.     virtual void Draw(HDC);
  122.     virtual void printOn(ostream &) const;
  123.     virtual void clipOn(void far *&) const;
  124. };
  125.  
  126. class Text : virtual public PointObject {
  127.   protected:
  128.     int _Y;
  129.     char _text[MAXTEXT];
  130.  
  131.   public:
  132.     Text(int X, int Y, char *);
  133.     Text(istream &);
  134.     Text(void far *&);
  135.     virtual void Draw(HDC);
  136.     virtual void Format(int &);
  137.     virtual void printOn(ostream &) const;
  138.     virtual void clipOn(void far *&) const;
  139. };
  140.