14 enum msrTupletTypeKind {
16 kTupletTypeStart, kTupletTypeContinue, kTupletTypeStop,
17 kTupletTypeStartAndStopInARow };
19 static string tupletTypeKindAsString (
20 msrTupletTypeKind tupletTypeKind);
22 enum msrTupletBracketKind {
23 kTupletBracketYes, kTupletBracketNo};
25 static string tupletBracketKindAsString (
26 msrTupletBracketKind tupletBracketKind);
28 enum msrTupletLineShapeKind {
29 kTupletLineShapeStraight, kTupletLineShapeCurved};
31 static string tupletLineShapeKindAsString (
32 msrTupletLineShapeKind tupletLineShapeKind);
34 enum msrTupletShowNumberKind {
35 kTupletShowNumberActual, kTupletShowNumberBoth, kTupletShowNumberNone };
37 static string tupletShowNumberKindAsString (
38 msrTupletShowNumberKind tupletShowNumberKind);
40 enum msrTupletShowTypeKind {
41 kTupletShowTypeActual, kTupletShowTypeBoth, kTupletShowTypeNone };
43 static string tupletShowTypeKindAsString (
44 msrTupletShowTypeKind tupletShowTypeKind);
49 static SMARTP<msrTuplet> create (
51 string tupletMeasureNumber,
53 msrTupletBracketKind tupletBracketKind,
54 msrTupletLineShapeKind tupletLineShapeKind,
55 msrTupletShowNumberKind tupletShowNumberKind,
56 msrTupletShowTypeKind tupletShowTypeKind,
57 msrTupletFactor tupletFactor,
58 rational memberNotesSoundingWholeNotes,
59 rational memberNotesDisplayWholeNotes);
61 SMARTP<msrTuplet> createTupletNewbornClone ();
63 SMARTP<msrTuplet> createTupletDeepCopy ();
72 string tupletMeasureNumber,
74 msrTupletBracketKind tupletBracketKind,
75 msrTupletLineShapeKind tupletLineShapeKind,
76 msrTupletShowNumberKind tupletShowNumberKind,
77 msrTupletShowTypeKind tupletShowTypeKind,
78 msrTupletFactor tupletFactor,
79 rational memberNotesSoundingWholeNotes,
80 rational memberNotesDisplayWholeNotes);
90 void setTupletTupletUpLink (
91 const S_msrTuplet& tuplet)
92 { fTupletTupletUpLink = tuplet; }
94 S_msrTuplet getTupletTupletUpLink ()
const
95 {
return fTupletTupletUpLink; }
98 void setTupletMeasureUpLink (
99 const S_msrMeasure& measure)
100 { fTupletMeasureUpLink = measure; }
102 S_msrMeasure getTupletMeasureUpLink ()
const
103 {
return fTupletMeasureUpLink; }
106 rational setTupletMembersPositionInMeasure (
107 S_msrMeasure measure,
111 int getTupletNumber ()
const
112 {
return fTupletNumber; }
114 msrTupletBracketKind getTupletBracketKind ()
const
115 {
return fTupletBracketKind; }
117 msrTupletLineShapeKind
118 getTupletLineShapeKind ()
const
119 {
return fTupletLineShapeKind; }
121 msrTupletShowNumberKind
122 getTupletShowNumberKind ()
const
123 {
return fTupletShowNumberKind; }
125 msrTupletShowTypeKind getTupletShowTypeKind ()
const
126 {
return fTupletShowTypeKind; }
128 const msrTupletFactor&
130 {
return fTupletFactor; }
132 rational getMemberNotesSoundingWholeNotes ()
const
133 {
return fMemberNotesSoundingWholeNotes; }
134 rational getMemberNotesDisplayWholeNotes ()
const
135 {
return fMemberNotesDisplayWholeNotes; }
143 rational getTupletSoundingWholeNotes ()
const
145 {
return fMeasureElementSoundingWholeNotes; }
147 rational getTupletDisplayWholeNotes ()
const
148 {
return fTupletDisplayWholeNotes; }
153 void addNoteToTuplet (
157 void addChordToTuplet (S_msrChord chord);
159 void addTupletToTuplet (S_msrTuplet tuplet);
161 void addTupletToTupletClone (S_msrTuplet tuplet);
163 S_msrNote fetchTupletFirstNonGraceNote ()
const;
165 S_msrNote removeFirstNoteFromTuplet (
166 int inputLineNumber);
167 S_msrNote removeLastNoteFromTuplet (
168 int inputLineNumber);
172 void unapplySoundingFactorToTupletMembers (
173 const msrTupletFactor& containingTupletFactor);
186 virtual void acceptIn (basevisitor* v);
187 virtual void acceptOut (basevisitor* v);
189 virtual void browseData (basevisitor* v);
196 string asString ()
const;
198 virtual void print (ostream& os)
const;
200 virtual void printShort (indentedOstream& os);
208 S_msrMeasure fTupletMeasureUpLink;
209 S_msrTuplet fTupletTupletUpLink;
214 msrTupletBracketKind fTupletBracketKind;
216 msrTupletLineShapeKind
217 fTupletLineShapeKind;
219 msrTupletShowNumberKind
220 fTupletShowNumberKind;
222 msrTupletShowTypeKind fTupletShowTypeKind;
225 msrTupletFactor fTupletFactor;
228 rational fMemberNotesSoundingWholeNotes;
229 rational fMemberNotesDisplayWholeNotes;
235 list<S_msrTupletElement>
238typedef SMARTP<msrTuplet> S_msrTuplet;
239EXP ostream& operator<< (ostream& os,
const S_msrTuplet& elt);
Definition: msrTuplets_MUT_DEP.h:8
Rational number representation.
Definition: rational.h:25