00001 #ifndef NOTE_H
00002 #define NOTE_H
00003 #include "XMLMarker.h"
00004 #include "../kernel/NoteMC.h"
00005 #include "../kernel/RestMC.h"
00006 #include "../config.h"
00007 #define NOTUPLET 0
00008 #define TUPLETSTART 1
00009 #define TUPLETSTOP 2
00010
00011
00012
00013
00014
00015
00016 class Note:public XMLMarker{
00017
00018 int nstaff;
00019 int direction;
00020 bool grace;
00021 int startSlur;
00022 int stopSlur;
00023 bool dot;
00024 QString lyricText;
00025 int lyricSyllabic;
00026 int tuplet;
00027 public:
00028 QString type;
00029 int duration;
00030 char step;
00031 int alter;
00032 int voice;
00033
00034
00035 int octave;
00036 bool isChord;
00037
00038 QString mark;
00039 static int nbnotesmarker;
00040
00041 NoteMusic * note;
00042 bool isRest;
00043
00044 bool isLyric;
00045 Note(XMLMarker *,QString nsp,QString nom,QXmlAttributes xml);
00046
00047 bool isValidDescendant(QString);
00048 void setStaff(int);
00049 void setStopSlur(int);
00050 void setStartSlur(int);
00051 void setTuplet(int);
00052 void setVoice(int);
00053 void setGrace();
00054 void setDot();
00055 void setLyricText(QString text);
00056 void setLyricSyllabic(int syl);
00057 void setChord();
00058 void setDirection(int);
00059 virtual void characters(QString s);
00060 virtual bool endXMLMarker();
00061 void setMark(QString);
00062 };
00063 #endif