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 >
Wrap
C/C++ Source or Header
|
1992-07-22
|
3KB
|
140 lines
// **********************************************
// File: OBJECTS.H
// Musical objects header file
#include "muzika.h"
// --- Object class codes
const O_NOTE = 5;
const O_PAUSE = 6;
const O_KEY = 7;
const O_BEAT = 8;
const O_BAR = 9;
const O_LOUDNESS = 10;
const O_CRESCENDO = 11;
const O_TEXT = 12;
// **********************************************
// Definitions of the various musical classes
class Note : virtual public PointObject {
protected:
int _Y;
int _duration;
public:
Note(int X, int Y, int duration);
Note(istream &);
Note(void far *&);
virtual void Draw(HDC);
virtual void Format(int &);
virtual void MIDIPlay(ostream &, int);
virtual int Duration() {return _duration;}
virtual void printOn(ostream &) const;
virtual void clipOn(void far *&) const;
};
class Pause : virtual public PointObject {
protected:
int _duration;
public:
Pause(int X, int duration);
Pause(istream &);
Pause(void far *&);
virtual void Draw(HDC);
virtual void Format(int &);
virtual void MIDIPlay(ostream &, int);
virtual int Duration() {return _duration;}
virtual void printOn(ostream &) const;
virtual void clipOn(void far *&) const;
};
class Key : virtual public PointObject {
protected:
enum {LOCATION = 15};
int _type;
public:
Key(int X, int type);
Key(istream &);
Key(void far *&);
virtual void Draw(HDC);
virtual void Format(int &);
virtual int Width() {return WidthRound(2*pixelsPerObject+LOCATION);}
virtual void printOn(ostream &) const;
virtual void clipOn(void far *&) const;
};
class Beat : virtual public PointObject {
protected:
int _type;
public:
Beat(int X, int type);
Beat(istream &);
Beat(void far *&);
virtual void Draw(HDC);
virtual void Format(int &);
virtual void printOn(ostream &) const;
virtual void clipOn(void far *&) const;
};
class Bar : virtual public PointObject {
protected:
int _type;
public:
Bar(int X, int type);
Bar(istream &);
Bar(void far *&);
virtual void Draw(HDC);
virtual void Format(int &);
virtual int Width()
{return _type != STARTBAR && _type != ENDBAR ? pixelsPerObject : 0;}
virtual void printOn(ostream &) const;
virtual void clipOn(void far *&) const;
};
class Loudness : virtual public PointObject {
protected:
int _loudness;
public:
Loudness(int X, int loudness);
Loudness(istream &);
Loudness(void far *&);
virtual void Draw(HDC);
virtual void Format(int &);
virtual void printOn(ostream &) const;
virtual void clipOn(void far *&) const;
};
class Crescendo : virtual public ContinuousObject {
protected:
int _direction;
public:
Crescendo(int Xleft, int Xright, int direction);
Crescendo(istream &);
Crescendo(void far *&);
virtual void Draw(HDC);
virtual void printOn(ostream &) const;
virtual void clipOn(void far *&) const;
};
class Text : virtual public PointObject {
protected:
int _Y;
char _text[MAXTEXT];
public:
Text(int X, int Y, char *);
Text(istream &);
Text(void far *&);
virtual void Draw(HDC);
virtual void Format(int &);
virtual void printOn(ostream &) const;
virtual void clipOn(void far *&) const;
};