13#ifndef ___msrTempos___
14#define ___msrTempos___
18#include "msrMeasureElements.h"
20#include "msrBasicTypes.h"
40 bool tempoNoteBelongsToATuplet);
50 bool tempoNoteBelongsToATuplet);
59 rational getTempoNoteWholeNotes ()
const
60 {
return fTempoNoteWholeNotes; }
62 const list<S_msrBeam>&
63 getTempoNoteBeams ()
const
64 {
return fTempoNoteBeams; }
69 void appendBeamToTempoNote (
S_msrBeam beam);
86 string asString ()
const;
88 virtual void print (ostream& os)
const;
97 list<S_msrBeam> fTempoNoteBeams;
99 bool fTempoNoteBelongsToATuplet;
112 enum msrTempoTupletTypeKind {
113 kTempoTupletTypeNone,
114 kTempoTupletTypeStart, kTempoTupletTypeStop };
116 static string tempoTupletTypeKindAsString (
117 msrTempoTupletTypeKind tempoTupletTypeKind);
119 enum msrTempoTupletBracketKind {
120 kTempoTupletBracketYes, kTempoTupletBracketNo};
122 static string tempoTupletBracketKindAsString (
123 msrTempoTupletBracketKind tempoTupletBracketKind);
125 enum msrTempoTupletShowNumberKind {
126 kTempoTupletShowNumberActual, kTempoTupletShowNumberBoth, kTempoTupletShowNumberNone };
128 static string tempoTupletShowNumberKindAsString (
129 msrTempoTupletShowNumberKind tempoTupletShowNumberKind);
136 int tempoTupletNumber,
137 msrTempoTupletBracketKind tempoTupletBracketKind,
138 msrTempoTupletShowNumberKind tempoTupletShowNumberKind,
139 int tempoTupletActualNotes,
140 int tempoTupletNormalNotes,
141 rational memberNotesDisplayWholeNotes);
150 int tempoTupletNumber,
151 msrTempoTupletBracketKind tempoTupletBracketKind,
152 msrTempoTupletShowNumberKind tempoTupletShowNumberKind,
153 int tempoTupletActualNotes,
154 int tempoTupletNormalNotes,
155 rational memberNotesDisplayWholeNotes);
164 int getTempoTupletNumber ()
const
165 {
return fTempoTupletNumber; }
167 msrTempoTupletBracketKind getTempoTupletBracketKind ()
const
168 {
return fTempoTupletBracketKind; }
170 msrTempoTupletShowNumberKind
171 getTempoTupletShowNumberKind ()
const
172 {
return fTempoTupletShowNumberKind; }
174 int getTempoTupletActualNotes ()
const
175 {
return fTempoTupletActualNotes; }
176 int getTempoTupletNormalNotes ()
const
177 {
return fTempoTupletNormalNotes; }
179 rational getMemberNotesDisplayWholeNotes ()
const
180 {
return fMemberNotesDisplayWholeNotes; }
182 const list<S_msrElement>&
183 getTempoTupletElements ()
const
184 {
return fTempoTupletElements; }
186 rational getTempoTupletDisplayWholeNotes ()
const
187 {
return fTempoTupletDisplayWholeNotes; }
226 string asString ()
const;
228 virtual void print (ostream& os)
const;
235 int fTempoTupletNumber;
237 msrTempoTupletBracketKind
238 fTempoTupletBracketKind;
240 msrTempoTupletShowNumberKind
241 fTempoTupletShowNumberKind;
243 int fTempoTupletActualNotes;
244 int fTempoTupletNormalNotes;
246 rational fMemberNotesDisplayWholeNotes;
248 rational fTempoTupletDisplayWholeNotes;
250 list<S_msrElement> fTempoTupletElements;
263 enum msrTempoRelationshipElementsKind {
264 kTempoRelationshipElementsLeft,
265 kTempoRelationshipElementsRight };
267 static string tempoRelationshipElementsKindAsString (
268 msrTempoRelationshipElementsKind tempoRelationshipElementsKind);
277 msrTempoRelationshipElementsKind
278 tempoRelationshipElementsKind);
287 msrTempoRelationshipElementsKind
288 tempoRelationshipElementsKind);
297 rational getTempoRelationshipElementsKind ()
const
298 {
return fTempoRelationshipElementsKind; }
300 const list<S_msrElement>&
301 getTempoRelationshipElementsList ()
const
302 {
return fTempoRelationshipElementsList; }
307 string asString ()
const;
309 void addElementToTempoRelationshipElements (
327 virtual void print (ostream& os)
const;
331 msrTempoRelationshipElementsKind
332 fTempoRelationshipElementsKind;
334 list<S_msrElement> fTempoRelationshipElementsList;
349 kTempoBeatUnitsWordsOnly,
350 kTempoBeatUnitsPerMinute,
351 kTempoBeatUnitsEquivalence,
352 kTempoNotesRelationShip };
354 static string tempoKindAsString (
355 msrTempoKind tempoKind);
357 enum msrTempoParenthesizedKind {
358 kTempoParenthesizedYes, kTempoParenthesizedNo };
360 static string tempoParenthesizedKindAsString (
361 msrTempoParenthesizedKind tempoParenthesizedKind);
363 enum msrTempoRelationKind {
364 kTempoRelationNone, kTempoRelationEquals };
366 static string tempoRelationKindAsString (
367 msrTempoRelationKind tempoRelationKind);
379 string tempoPerMinute,
380 msrTempoParenthesizedKind
381 tempoParenthesizedKind,
382 msrPlacementKind tempoPlacementKind);
388 msrTempoParenthesizedKind
389 tempoParenthesizedKind,
390 msrPlacementKind tempoPlacementKind);
395 tempoRelationLeftElements,
397 tempoRelationRightElements,
398 msrTempoParenthesizedKind
399 tempoParenthesizedKind,
400 msrPlacementKind tempoPlacementKind);
414 string tempoPerMinute,
415 msrTempoParenthesizedKind
416 tempoParenthesizedKind,
417 msrPlacementKind tempoPlacementKind);
423 msrTempoParenthesizedKind
424 tempoParenthesizedKind,
425 msrPlacementKind tempoPlacementKind);
430 tempoRelationLeftElements,
432 tempoRelationRightElements,
433 msrTempoParenthesizedKind
434 tempoParenthesizedKind,
435 msrPlacementKind tempoPlacementKind);
444 msrTempoKind getTempoKind ()
const
445 {
return fTempoKind; }
447 const list<S_msrWords>&
448 getTempoWordsList ()
const
449 {
return fTempoWordsList; }
452 {
return fTempoBeatUnit; }
454 string getTempoPerMinute ()
const
455 {
return fTempoPerMinute; }
458 {
return fTempoEquivalentBeatUnit; }
461 getTempoRelationLeftElements ()
const
462 {
return fTempoRelationLeftElements; }
463 msrTempoRelationKind getTempoRelationKind ()
const
464 {
return fTempoRelationKind; }
466 getTempoRelationRightElements ()
const
467 {
return fTempoRelationRightElements; }
469 msrTempoParenthesizedKind
470 getTempoParenthesizedKind ()
const
471 {
return fTempoParenthesizedKind; }
473 msrPlacementKind getTempoPlacementKind ()
const
474 {
return fTempoPlacementKind; }
479 void appendWordsToTempo (
S_msrWords tempoWords)
481 fTempoWordsList.push_back (tempoWords);
484 string tempoWordsListAsString (
string separator)
const;
501 string asString ()
const;
503 virtual void print (ostream& os)
const;
510 msrTempoKind fTempoKind;
512 list<S_msrWords> fTempoWordsList;
516 string fTempoPerMinute;
520 fTempoRelationLeftElements;
521 msrTempoRelationKind fTempoRelationKind;
523 fTempoRelationRightElements;
525 msrTempoParenthesizedKind
526 fTempoParenthesizedKind;
528 msrPlacementKind fTempoPlacementKind;
531EXP ostream& operator<< (ostream& os,
const S_msrTempo& elt);
the smart pointer implementation
Definition: smartpointer.h:58
Definition: basevisitor.h:25
Definition: msrBasicTypes.h:435
Definition: msrElements.h:26
Definition: msrMeasureElements.h:24
Definition: msrTempos.h:31
Definition: msrTempos.h:257
Definition: msrTempos.h:106
Definition: msrTempos.h:341
Rational number representation.
Definition: rational.h:25