00001 #ifndef MEASUREMUSIC_H 00002 #define MEASUREMUSIC_H 00003 #include <qvector.h> 00004 #include "MusicObject.h" 00005 #include "StaffMC.h" 00006 #include "AttributesMC.h" 00007 #include <qstring.h> 00008 #include <qvaluelist.h> 00009 #include "NoteContainer.h" 00010 #include "GroupedStemsMC.h" 00011 #include "DirectionMC.h" 00012 #include "StemGroups.h" 00013 #include "../config.h" 00014 00015 #define NOTUPLET 0 00016 #define INTUPLET 1 00017 00033 class MeasureMusic:MusicObject 00034 { 00035 bool tacitNbStaves; 00036 int * currentShiftClef; 00037 int measureSectionIndex; 00038 KeyMC * currentFifths; 00039 QPtrList<GroupedStemsMC> tuplets; 00040 AttributesMusic * attributes; 00041 QPtrList<AttributesMusic> timedAttributes; 00042 QPtrList<DirectionMC> directions; 00043 ImplicitAlterationList implicitAlterationPitch; 00044 ImplicitAlterationList implicitAlterationHeight; 00045 bool hasAtts; 00046 bool isTacit; 00047 QVector < StaffMusic > staves; 00048 NoteContainer notes; 00049 int currentPosition; 00050 int oldPosition; 00054 int weightsneedrecalculation; 00055 00061 QValueList<int> weights; 00062 int id; 00063 QValueList<int> getWeights(); 00064 void weightIterator(int,int); 00065 NoteMusic * lastNoteAppendedNotAChord; 00066 int tupletStatus; 00067 public: 00068 QString part; 00069 00070 MeasureMusic (QString part); 00071 void setMeasureSectionIndex(int); 00072 bool isTacitNbStaves(); 00073 int getNbStaves (); 00074 void setNbStaves(int n); 00075 void setId(int); 00076 QPtrList<AttributesMusic> getTimedAttributes(); 00077 StaffMusic * getStaff(int); 00078 bool hasAttributes(); 00079 void backup(int); 00080 void forward(int,int,int); 00081 NoteContainer getNoteContainer(); 00082 void setAttributes(AttributesMusic *); 00083 void addTimedAttributes(AttributesMusic *); 00084 AttributesMusic* getAttributes( ); 00085 void insert(NoteMusic *,bool isChord); 00086 void insertDirection(DirectionMC *); 00087 void tacitAttributes(); 00088 int * getCurrentShiftClef(); 00089 void setCurrentShiftClef (int *); 00090 void setImplicitAlterationPitch(ImplicitAlterationList); 00091 ImplicitAlterationList getImplicitAlterationPitch(); 00092 int getCurrentPosition(); 00093 bool isTacitAttributes(); 00094 int getUTotalDivisions(); 00095 int getLTotalDivisions(); 00096 void startTuplet(); 00097 void stopTuplet(); 00098 QPtrList<NoteMusic> getChordNotes(NoteMusic *); 00099 StemGroupsMC getStemGroups(); 00100 QString toString(); 00101 void debugStemGroups(); 00102 QPtrList<DirectionMC> getDirections(); 00103 int getWeight(NoteMusic *); 00104 }; 00105 #endif
1.3.6