00001 #ifndef NOTEMUSIC_H
00002 #define NOTEMUSIC_H
00003 #include <qstring.h>
00004 #include "MeasureInserter.h"
00005
00006
00013 class NoteMusic:public EventMC
00014 {
00015 protected:
00016 QString ltype;
00017 bool dot;
00018 NoteMusic * chordedTo;
00019 int grace;
00020 int measureSectionIndex;
00021 int duration;
00022 int voice;
00023 int direction;
00024 int staff;
00025 int alter;
00026
00027 bool tacitAlteration;
00028 bool overrideGroupStemable;
00029
00030 void * indexMS;
00031
00032 public:
00033 NoteMusic (int nstaff, QString t, int duration, bool dot);
00034 virtual QString getSymbolName();
00035
00036
00037 void setDuration(int);
00038 int getLDuration();
00039 int getUDuration();
00040
00041
00042
00043 bool getTacitAlteration();
00044 void setTacitAlteration(bool);
00045
00046 int getVoice();
00047 void setVoice(int);
00048 int getStaff();
00049 void setStaff(int);
00050 int getAlter();
00051 void setAlter(int);
00052 QString getDurationType();
00053
00054
00055 void setDirection(int);
00056 int getDirection();
00057 bool dotted();
00058 NoteMusic * getChordedTo();
00059 void setChordedTo(NoteMusic * nm);
00060 int isGrace();
00061 virtual int isPitched();
00062 void setGrace();
00063 void cancelGroupStemable();
00064 virtual int groupStemable();
00065 virtual int simpleStemable();
00066
00067
00068 void setIndexMS(void *);
00069 void * getIndexMS();
00070 void setMeasureSectionIndex(int);
00071 int getMeasureSectionIndex();
00072
00073
00074
00075 virtual QString toString();
00076 };
00077
00082 class PitchedNoteMusic:public NoteMusic
00083 {
00084 int halfLineShiftClefToC3;
00085
00086 protected:
00087 int octave;
00088 char pitch;
00089 public:
00090 PitchedNoteMusic (int nstaff, QString t, int duration, bool dot,int octave,char pitch);
00091 virtual QString getSymbolName();
00092 char getPitch();
00093 int isPitched();
00094 int getOctave();
00095 int getHalfLineShiftToC3();
00096 void setHalfLineShiftClefToC3(int);
00097 int getHalfLineShiftClefToC3();
00098 virtual QString getType();
00099 virtual QString toString();
00100 };
00105 class LyricNoteMusic:public PitchedNoteMusic
00106 {
00107 QString lyricText;
00108 public:
00109 LyricNoteMusic (int nstaff, QString t, int duration, bool dot,int octave,char pitch,QString text);
00110 QString getTextLyric();
00111 QString getType();
00112 QString toString();
00113 };
00114
00115
00116 #endif