13 #ifndef ___msrBasicTypes___
14 #define ___msrBasicTypes___
19 #include "smartpointer.h"
30 #define K_NO_INPUT_LINE_NUMBER 0
35 #define K_NAMES_LIST_MAX_LENGTH 50
40 kXMLLangIt, kXMLLangEn, kXMLLangDe, kXMLLangFr, kXMLLangJa, kXMLLangLa };
42 msrXMLLangKind msrXMLLangKindFromString (
44 string XMLLangString);
46 string msrXMLLangKindAsString (
47 msrXMLLangKind XMLLangKind);
51 enum msrDiatonicPitchKind {
53 kC, kD, kE, kF, kG, kA, kB,
56 msrDiatonicPitchKind msrDiatonicPitchKindFromString (
57 char diatonicNoteName);
59 string msrDiatonicPitchKindAsString (
60 msrDiatonicPitchKind diatonicPitchKind);
64 enum msrAlterationKind {
67 kTripleFlat, kDoubleFlat, kSesquiFlat, kFlat, kSemiFlat,
69 kSemiSharp, kSharp, kSesquiSharp, kDoubleSharp, kTripleSharp };
71 msrAlterationKind msrAlterationKindFromMusicXMLAlter (
74 string msrAlterationKindAsString (
75 msrAlterationKind alterationKind);
79 enum msrSemiTonesPitchKind {
80 k_NoSemiTonesPitch_STP,
83 kC_DoubleFlat_STP, kC_Flat_STP,
85 kC_Sharp_STP, kC_DoubleSharp_STP,
89 kD_DoubleFlat_STP, kD_Flat_STP,
91 kD_Sharp_STP, kD_DoubleSharp_STP,
95 kE_DoubleFlat_STP, kE_Flat_STP,
97 kE_Sharp_STP, kE_DoubleSharp_STP,
101 kF_DoubleFlat_STP, kF_Flat_STP,
103 kF_Sharp_STP, kF_DoubleSharp_STP,
107 kG_DoubleFlat_STP, kG_Flat_STP,
109 kG_Sharp_STP, kG_DoubleSharp_STP,
113 kA_DoubleFlat_STP, kA_Flat_STP,
115 kA_Sharp_STP, kA_DoubleSharp_STP,
119 kB_DoubleFlat_STP, kB_Flat_STP,
121 kB_Sharp_STP, kB_DoubleSharp_STP,
122 kB_TripleSharp_STP };
124 string msrSemiTonesPitchKindAsString (
125 msrSemiTonesPitchKind semiTonesPitchKind);
129 enum msrQuarterTonesPitchKind {
130 k_NoQuarterTonesPitch_QTP,
135 kA_DoubleFlat_QTP, kA_SesquiFlat_QTP, kA_Flat_QTP, kA_SemiFlat_QTP,
137 kA_SemiSharp_QTP, kA_Sharp_QTP, kA_SesquiSharp_QTP, kA_DoubleSharp_QTP,
141 kB_DoubleFlat_QTP, kB_SesquiFlat_QTP, kB_Flat_QTP, kB_SemiFlat_QTP,
143 kB_SemiSharp_QTP, kB_Sharp_QTP, kB_SesquiSharp_QTP, kB_DoubleSharp_QTP,
147 kC_DoubleFlat_QTP, kC_SesquiFlat_QTP, kC_Flat_QTP, kC_SemiFlat_QTP,
149 kC_SemiSharp_QTP, kC_Sharp_QTP, kC_SesquiSharp_QTP, kC_DoubleSharp_QTP,
153 kD_DoubleFlat_QTP, kD_SesquiFlat_QTP, kD_Flat_QTP, kD_SemiFlat_QTP,
155 kD_SemiSharp_QTP, kD_Sharp_QTP, kD_SesquiSharp_QTP, kD_DoubleSharp_QTP,
159 kE_DoubleFlat_QTP, kE_SesquiFlat_QTP, kE_Flat_QTP, kE_SemiFlat_QTP,
161 kE_SemiSharp_QTP, kE_Sharp_QTP, kE_SesquiSharp_QTP, kE_DoubleSharp_QTP,
165 kF_DoubleFlat_QTP, kF_SesquiFlat_QTP, kF_Flat_QTP, kF_SemiFlat_QTP,
167 kF_SemiSharp_QTP, kF_Sharp_QTP, kF_SesquiSharp_QTP, kF_DoubleSharp_QTP,
171 kG_DoubleFlat_QTP, kG_SesquiFlat_QTP, kG_Flat_QTP, kG_SemiFlat_QTP,
173 kG_SemiSharp_QTP, kG_Sharp_QTP, kG_SesquiSharp_QTP, kG_DoubleSharp_QTP,
174 kG_TripleSharp_QTP };
176 void setDiatonicPitchKindAndAlterationKind (
177 msrQuarterTonesPitchKind quarterTonesPitchKind,
178 msrDiatonicPitchKind& diatonicPitchKind,
179 msrAlterationKind& alterationKind);
181 msrQuarterTonesPitchKind quarterTonesPitchKindFromDiatonicPitchAndAlteration (
183 msrDiatonicPitchKind diatonicPitchKind,
184 msrAlterationKind alterationKind);
186 msrDiatonicPitchKind diatonicPitchKindFromQuarterTonesPitchKind (
188 msrQuarterTonesPitchKind quarterTonesPitchKind);
190 msrQuarterTonesPitchKind quarterTonesPitchKindFromSemiTonesPitchKind (
191 msrSemiTonesPitchKind semiTonesPitchKind);
193 msrSemiTonesPitchKind semiTonesPitchKindFromQuarterTonesPitchKind (
194 msrQuarterTonesPitchKind quarterTonesPitchKind);
196 msrSemiTonesPitchKind semiTonesPitchKindFromString (
201 enum msrAlterationPreferenceKind {
202 kPreferFlat, kPreferNatural, kPreferSharp };
204 msrQuarterTonesPitchKind msrSemiTonesPitchKindAsQuarterTonesPitchKind (
205 msrSemiTonesPitchKind semiTonesPitchKind,
206 msrAlterationPreferenceKind alterationPreferenceKind);
210 enum msrIntervalKind {
213 kDiminishedUnisson, kPerfectUnison, kAugmentedUnison,
215 kDiminishedSecond, kMinorSecond, kMajorSecond, kAugmentedSecond,
217 kDiminishedThird, kMinorThird, kMajorThird, kAugmentedThird,
219 kDiminishedFourth, kPerfectFourth, kAugmentedFourth,
221 kDiminishedFifth, kPerfectFifth, kAugmentedFifth,
223 kDiminishedSixth, kMinorSixth, kMajorSixth, kAugmentedSixth,
225 kDiminishedSeventh, kMinorSeventh, kMajorSeventh, kAugmentedSeventh,
227 kDiminishedOctave, kPerfectOctave, kAugmentedOctave,
229 kDiminishedNinth, kMinorNinth, kMajorNinth, kAugmentedNinth,
231 kDiminishedTenth, kMinorTenth, kMajorTenth, kAugmentedTenth,
233 kDiminishedEleventh, kPerfectEleventh, kAugmentedEleventh,
235 kDiminishedTwelfth, kPerfectTwelfth, kAugmentedTwelfth,
237 kDiminishedThirteenth, kMinorThirteenth, kMajorThirteenth, kAugmentedThirteenth };
239 int msrIntervalKindAsSemiTones (
240 msrIntervalKind intervalKind);
242 int msrIntervalKindAsQuarterTones (
243 msrIntervalKind intervalKind);
245 string msrIntervalKindAsString (
246 msrIntervalKind intervaKindl);
248 string msrIntervalKindAsShortString (
249 msrIntervalKind intervalKind);
251 msrIntervalKind invertIntervalKind (
252 msrIntervalKind intervalKind);
254 int intervalKindAsSemitones (
255 msrIntervalKind intervalKind);
264 msrSemiTonesPitchKind noteAtIntervalFromSemiTonesPitch (
266 msrIntervalKind intervalKind,
267 msrSemiTonesPitchKind semiTonesPitchKind);
269 msrQuarterTonesPitchKind noteAtIntervalFromQuarterTonesPitch (
271 msrIntervalKind intervalKind,
272 msrQuarterTonesPitchKind quarterTonesPitchKind);
274 msrIntervalKind intervalBetweenSemiTonesPitches (
275 msrSemiTonesPitchKind semiTonesPitch1,
276 msrSemiTonesPitchKind semiTonesPitch2);
280 enum msrHarmonyKind {
285 kMajorHarmony, kMinorHarmony,
286 kAugmentedHarmony, kDiminishedHarmony,
289 kMajorSeventhHarmony, kMinorSeventhHarmony,
290 kDiminishedSeventhHarmony, kAugmentedSeventhHarmony,
291 kHalfDiminishedHarmony,
292 kMinorMajorSeventhHarmony,
294 kMajorSixthHarmony, kMinorSixthHarmony,
296 kDominantNinthHarmony,
297 kMajorNinthHarmony, kMinorNinthHarmony,
299 kDominantEleventhHarmony, kMajorEleventhHarmony, kMinorEleventhHarmony,
301 kDominantThirteenthHarmony, kMajorThirteenthHarmony, kMinorThirteenthHarmony,
303 kSuspendedSecondHarmony, kSuspendedFourthHarmony,
305 kNeapolitanHarmony, kItalianHarmony, kFrenchHarmony, kGermanHarmony,
307 kPedalHarmony, kPowerHarmony, kTristanHarmony,
313 kDominantSuspendedFourthHarmony,
314 kDominantAugmentedFifthHarmony,
315 kDominantMinorNinthHarmony,
316 kDominantAugmentedNinthDiminishedFifthHarmony,
317 kDominantAugmentedNinthAugmentedFifthHarmony,
318 kDominantAugmentedEleventhHarmony,
320 kMajorSeventhAugmentedEleventhHarmony,
328 string msrHarmonyKindAsString (
329 msrHarmonyKind harmonyKind);
331 string msrHarmonyKindAsShortString (
332 msrHarmonyKind harmonyKind);
334 string msrHarmonyKindShortName (
335 msrHarmonyKind harmonyKind);
337 msrHarmonyKind msrHarmonyKindFromString (
340 string existingHarmonyKinds (
int namesListMaxLength);
341 string existingHarmonyKindsNames (
int namesListMaxLength);
344 const int K_HARMONY_NO_INVERSION = -1;
346 extern map<string, msrHarmonyKind>
352 void initializeHarmonyKinds ();
356 enum msrQuarterTonesPitchesLanguageKind {
357 kNederlands, kCatalan, kDeutsch, kEnglish, kEspanol, kFrancais,
358 kItaliano, kNorsk, kPortugues, kSuomi, kSvenska, kVlaams };
360 string msrQuarterTonesPitchesLanguageKindAsString (
361 msrQuarterTonesPitchesLanguageKind languageKind);
363 string msrDiatonicPitchKindAsString (
364 msrQuarterTonesPitchesLanguageKind languageKind,
365 msrDiatonicPitchKind diatonicPitchKind);
367 string msrQuarterTonesPitchKindAsString (
368 msrQuarterTonesPitchesLanguageKind languageKind,
369 msrQuarterTonesPitchKind quarterTonesPitchKind);
371 msrQuarterTonesPitchKind msrQuarterTonesPitchKindFromString (
372 msrQuarterTonesPitchesLanguageKind languageKind,
373 string quarterTonesPitchName);
381 string msrSemiTonesPitchKindAsFlatsAndSharps (
382 msrQuarterTonesPitchesLanguageKind languageKind,
383 msrSemiTonesPitchKind semiTonesPitchKind);
393 msrSemiTonesPitchKind enharmonicSemiTonesPitch (
394 msrSemiTonesPitchKind semiTonesPitchKind,
395 msrAlterationPreferenceKind alterationPreferenceKind);
399 enum msrDurationKind {
401 kMaxima, kLong, kBreve, kWhole, kHalf,
403 kEighth, k16th, k32nd, k64th, k128th, k256th, k512th, k1024th,
406 msrDurationKind msrDurationKindFromString (
408 string durationString);
410 rational msrDurationKindAsWholeNotes (
411 msrDurationKind durationKind);
413 msrDurationKind wholeNotesAsDurationKind (
rational wholeNotes);
415 string msrDurationKindAsString (msrDurationKind durationKind);
419 string wholeNotesAsMsrString (
424 string wholeNotesAsMsrString (
428 string multipleRestMeasuresWholeNotesAsMsrString (
445 msrDurationKind durationKind,
455 msrDurationKind getDurationKind ()
const
456 {
return fDurationKind; }
458 int getDotsNumber ()
const
459 {
return fDotsNumber; }
464 void incrDotsNumber ()
467 rational dottedDurationAsWholeNotes (
468 int inputLineNumber)
const;
485 void print (ostream& os)
const;
492 msrDurationKind fDurationKind;
508 msrSemiTonesPitchKind semiTonesPitchKind,
526 msrSemiTonesPitchKind semiTonesPitchKind,
536 msrSemiTonesPitchKind getSemiTonesPitchKind ()
const
537 {
return fSemiTonesPitchKind; }
539 void incrementOctave ()
542 void decrementOctave ()
545 int getOctave ()
const
553 string semiTonesPitchKindAsString ()
const;
554 string semiTonesPitchKindAsShortString ()
const;
556 string asString ()
const;
563 virtual void print (ostream& os)
const;
570 msrSemiTonesPitchKind fSemiTonesPitchKind;
579 enum msrLengthUnitKind {
580 kInchUnit, kCentimeterUnit, kMillimeterUnit };
582 string msrLengthUnitKindAsString (
583 msrLengthUnitKind lengthUnitKind);
585 string existingMsrLengthUnitKinds (
int namesListMaxLength);
587 extern map<string, msrLengthUnitKind>
588 gMsrLengthUnitKindsMap;
590 void initializeMsrLengthUnitKindsMap ();
603 msrLengthUnitKind lengthUnitKind,
612 msrLengthUnitKind lengthUnitKind,
624 void setLengthUnitKind (msrLengthUnitKind value)
625 { fLengthUnitKind = value; }
627 msrLengthUnitKind getLengthUnitKind ()
const
628 {
return fLengthUnitKind; }
630 void setLengthValue (
float value)
631 { fLengthValue = value; }
633 float getLengthValue ()
const
634 {
return fLengthValue; };
645 fLengthUnitKind == other.fLengthUnitKind
647 fLengthValue == other.fLengthValue;
652 {
return ! ((*this) == other); }
654 void convertToLengthUnit (
655 msrLengthUnitKind lengthUnitKind);
662 string asString ()
const;
664 virtual void print (ostream& os)
const;
671 msrLengthUnitKind fLengthUnitKind;
676 EXP ostream& operator<< (ostream& os,
const S_msrLength& elt);
681 enum msrMarginTypeKind {
682 kOddMargin, kEvenMargin, kBothMargins };
684 string msrMarginTypeKindAsString (
685 msrMarginTypeKind marginTypeKind);
687 string existingMsrMarginTypeKinds (
int namesListMaxLength);
689 extern map<string, msrMarginTypeKind>
690 gMsrMarginTypeKindsMap;
692 void initializeMsrMarginTypeKindsMap ();
705 msrMarginTypeKind marginTypeKind,
714 msrMarginTypeKind marginTypeKind,
726 void setMarginTypeKind (msrMarginTypeKind& value)
727 { fMarginTypeKind = value; }
729 msrMarginTypeKind getMarginTypeKind ()
const
730 {
return fMarginTypeKind; }
733 { fMarginLength = value; }
736 {
return fMarginLength; };
747 fMarginTypeKind == other.fMarginTypeKind
749 fMarginLength == other.fMarginLength;
754 {
return ! ((*this) == other); }
761 string asString ()
const;
763 virtual void print (ostream& os)
const;
771 msrMarginTypeKind fMarginTypeKind;
775 EXP ostream& operator<< (ostream& os,
const S_msrMargin& elt);
786 enum msrFontSizeKind {
788 kFontSizeXXSmall, kFontSizeXSmall, kFontSizeSmall,
790 kFontSizeLarge, kFontSizeXLarge, kFontSizeXXLarge,
793 static string fontSizeKindAsString (
794 msrFontSizeKind fontSizeKind);
800 msrFontSizeKind fontSizeKind);
803 float fontNumericSize);
811 msrFontSizeKind fontSizeKind);
814 float numericFontSize);
823 msrFontSizeKind getFontSizeKind ()
const
824 {
return fFontSizeKind; }
826 float getFontNumericSize ();
831 string fontSizeKindAsString ()
const;
833 string fontSizeAsString ()
const;
839 virtual void print (ostream& os)
const;
846 msrFontSizeKind fFontSizeKind;
848 float fFontNumericSize;
853 EXP ostream& operator<< (ostream& os,
const S_msrFontSize& elt);
855 enum msrFontStyleKind {
857 kFontStyleNormal, KFontStyleItalic };
859 msrFontStyleKind msrFontStyleKindFromString (
861 string fontStyleString);
863 string msrFontStyleKindAsString (
864 msrFontStyleKind fontStyleKind);
866 enum msrFontWeightKind {
868 kFontWeightNormal, kFontWeightBold };
870 msrFontWeightKind msrFontWeightKindFromString (
872 string fontWeightString);
874 string msrFontWeightKindAsString (
875 msrFontWeightKind fontWeightKind);
887 enum msrJustifyKind {
889 kJustifyLeft, kJustifyCenter, kJustifyRight };
891 msrJustifyKind msrJustifyKindFromString (
893 string justifyString);
895 string msrJustifyKindAsString (
896 msrJustifyKind justifyKind);
898 enum msrHorizontalAlignmentKind {
899 kHorizontalAlignmentNone,
900 kHorizontalAlignmentLeft, kHorizontalAlignmentCenter, kHorizontalAlignmentRight };
902 msrHorizontalAlignmentKind msrHorizontalAlignmentKindFromString (
904 string horizontalAlignString);
906 string msrHorizontalAlignmentKindAsString (
907 msrHorizontalAlignmentKind horizontalAlignmentKind);
909 enum msrVerticalAlignmentKind {
910 kVerticalAlignmentNone,
911 kVerticalAlignmentTop, kVerticalAlignmentMiddle, kVerticalAlignmentBottom };
913 msrVerticalAlignmentKind msrVerticalAlignmentKindFromString (
915 string verticalAlignmentString);
917 string msrVerticalAlignmentKindAsString (
918 msrVerticalAlignmentKind verticalAlignmentKind);
922 enum msrDirectionKind {
924 kDirectionUp, kDirectionDown };
926 string msrDirectionKindAsString (
927 msrDirectionKind directionKind);
931 enum msrPrintObjectKind {
933 kPrintObjectYes, kPrintObjectNo};
935 msrPrintObjectKind msrPrintObjectKindFromString (
937 string printObjectString);
939 string msrPrintObjectKindAsString (
940 msrPrintObjectKind printObjectKind);
944 enum msrPlacementKind {
946 kPlacementAbove, kPlacementBelow };
948 msrPlacementKind msrPlacementKindFromString (
950 string placementString);
952 string msrPlacementKindAsString (
953 msrPlacementKind placementKind);
957 enum msrSlashTypeKind {
959 kSlashTypeStart, kSlashTypeStop };
961 string msrSlashTypeKindAsString (
962 msrSlashTypeKind slashTypeKind);
964 enum msrUseDotsKind {
966 kUseDotsYes, kUseDotsNo };
968 msrUseDotsKind msrUseDotsFromString (
970 string useDotsString);
972 string msrUseDotsKindAsString (
973 msrUseDotsKind useDotsKind);
975 enum msrSlashUseStemsKind {
977 kSlashUseStemsYes, kSlashUseStemsNo };
979 string msrSlashUseStemsKindAsString (
980 msrSlashUseStemsKind slashUseStemsKind);
984 enum msrLineTypeKind {
985 kLineTypeSolid, kLineTypeDashed,
986 kLineTypeDotted, kLineTypeWavy };
988 string msrLineTypeKindAsString (
989 msrLineTypeKind lineTypeKind);
993 enum msrTremoloTypeKind {
995 kTremoloTypeSingle, kTremoloTypeStart, kTremoloTypeStop };
997 string msrTremoloTypeKindAsString (
998 msrTremoloTypeKind tremoloTypeKind);
1002 enum msrTechnicalTypeKind {
1004 kTechnicalTypeStart, kTechnicalTypeStop };
1006 string msrTechnicalTypeKindAsString (
1007 msrTechnicalTypeKind technicalTypeKind);
1011 enum msrSpannerTypeKind {
1013 kSpannerTypeStart, kSpannerTypeContinue, kSpannerTypeStop };
1015 string msrSpannerTypeKindAsString (
1016 msrSpannerTypeKind spannerTypeKind);
1030 int tupletActualNotes,
1031 int tupletNormalNotes);
1043 void setTupletActualNotes (
int actualNotes)
1044 { fTupletActualNotes = actualNotes; }
1046 int getTupletActualNotes ()
const
1047 {
return fTupletActualNotes; }
1049 void setTupletNormalNotes (
int normalNotes)
1050 { fTupletNormalNotes = normalNotes; }
1052 int getTupletNormalNotes ()
const
1053 {
return fTupletNormalNotes; }
1058 bool isEqualToOne ()
const
1061 fTupletActualNotes == fTupletNormalNotes;
1069 fTupletNormalNotes);
1086 string asString ()
const;
1088 virtual void print (ostream& os)
const;
1095 int fTupletActualNotes;
1096 int fTupletNormalNotes;
1113 msrIntervalKind chordIntervalIntervalKind,
1114 int chordIntervalRelativeOctave = 0);
1126 msrIntervalKind chordIntervalIntervalKind,
1127 int chordIntervalRelativeOctave);
1136 msrIntervalKind getChordIntervalIntervalKind ()
const
1137 {
return fChordIntervalIntervalKind; }
1139 void incrementChordIntervalRelativeOctave ()
1140 { fChordIntervalRelativeOctave++; }
1142 void decrementChordIntervalRelativeOctave ()
1143 { fChordIntervalRelativeOctave--; }
1145 int getChordIntervalRelativeOctave ()
const
1146 {
return fChordIntervalRelativeOctave; }
1151 int chordIntervalAsSemitones ()
const
1154 msrIntervalKindAsSemiTones (
1155 fChordIntervalIntervalKind);
1158 string chordIntervalIntervalKindAsString ()
const;
1159 string chordIntervalIntervalKindAsShortString ()
const;
1161 string chordIntervalAsString ()
const;
1162 string chordIntervalAsShortString ()
const;
1169 void normalizeInterval ();
1170 void deNormalizeInterval ();
1177 string asString ()
const;
1178 string asShortString ()
const;
1194 virtual void print (ostream& os)
const;
1201 msrIntervalKind fChordIntervalIntervalKind;
1203 int fChordIntervalRelativeOctave;
1221 msrHarmonyKind chordStructureHarmonyKind);
1224 msrHarmonyKind chordStructureHarmonyKind);
1234 msrHarmonyKind chordStructureHarmonyKind);
1248 msrHarmonyKind getChordStructureHarmonyKind ()
const
1249 {
return fChordStructureHarmonyKind; }
1251 const vector <S_msrChordInterval>&
1252 getChordStructureIntervals ()
const
1253 {
return fChordStructureIntervals; }
1258 void appendChordIntervalToChordStructure (
1261 void populateChordStructure ();
1263 string chordStructureAsString ()
const;
1264 string chordStructureAsShortString ()
const;
1267 int inputLineNumber,
1268 int inversionNumber);
1272 static void printAllChordsStructures (ostream& os);
1287 virtual void print (ostream& os)
const;
1294 msrHarmonyKind fChordStructureHarmonyKind;
1295 vector<S_msrChordInterval>
1296 fChordStructureIntervals;
1312 msrSemiTonesPitchKind chordContentsRootNote,
1313 msrHarmonyKind chordContentsHarmonyKind);
1322 msrSemiTonesPitchKind chordContentsRootNote,
1323 msrHarmonyKind chordContentsHarmonyKind);
1332 msrSemiTonesPitchKind
1333 getChordContentsRootNote ()
const
1334 {
return fChordContentsRootNote; }
1336 msrHarmonyKind getChordContentsHarmonyKind ()
const
1337 {
return fChordContentsHarmonyKind; }
1339 const vector<S_msrSemiTonesPitchAndOctave>&
1340 getChordElementsVector ()
const
1341 {
return fChordElementsVector; }
1346 string chordContentsAsString ()
const;
1347 string chordContentsAsShortString ()
const;
1349 msrSemiTonesPitchKind bassSemiTonesPitchKindForChordInversion (
1350 int inputLineNumber,
1351 int inversionNumber);
1353 static void printAllChordsContents (
1355 msrSemiTonesPitchKind semiTonesPitchKind);
1370 virtual void print (ostream& os)
const;
1377 msrSemiTonesPitchKind fChordContentsRootNote;
1378 msrHarmonyKind fChordContentsHarmonyKind;
1380 vector<S_msrSemiTonesPitchAndOctave>
1381 fChordElementsVector;
1388 void printChordDetails (
1390 msrSemiTonesPitchKind rootSemiTonesPitchKind,
1391 msrHarmonyKind harmonyKind);
1393 void printChordAnalysis (
1395 msrSemiTonesPitchKind rootSemiTonesPitchKind,
1396 msrHarmonyKind harmonyKind,
1415 std::string theString);
1434 bool isEmpty ()
const
1449 std::string asString ()
const;
1451 void print (ostream& os)
const;
1462 EXP ostream& operator<< (ostream& os,
const msrRGBColor& elt);
1487 string getColorRGB ()
const
1488 {
return fColorRGB; }
1490 string getColorAlpha ()
const
1491 {
return fColorAlpha; }
1496 bool isEmpty ()
const
1499 fColorRGB.size () == 0
1501 fColorAlpha.size () == 0;
1509 string asString ()
const;
1511 void print (ostream& os)
const;
1525 enum msrScoreNotationKind {
1526 kScoreNotationWestern,
1527 kScoreNotationJianpu,
1528 kScoreNotationDiatonicAccordion };
1530 string msrScoreNotationKindAsString (
1531 msrScoreNotationKind scoreNotationKind);
1535 extern map<msrHarmonyKind, S_msrChordStructure>
1536 gChordStructuresMap;
1538 void initializeChordStructuresMap ();
1540 void printChordStructuresMap ();
1542 extern map<string, msrQuarterTonesPitchesLanguageKind>
1543 gQuarterTonesPitchesLanguageKindsMap;
1545 extern map<msrQuarterTonesPitchKind, string> gNederlandsPitchNamesMap;
1546 extern map<msrQuarterTonesPitchKind, string> gCatalanPitchNamesMap;
1547 extern map<msrQuarterTonesPitchKind, string> gDeutschPitchNamesMap;
1548 extern map<msrQuarterTonesPitchKind, string> gEnglishPitchNamesMap;
1549 extern map<msrQuarterTonesPitchKind, string> gEspanolPitchNamesMap;
1550 extern map<msrQuarterTonesPitchKind, string> gFrancaisPitchNamesMap;
1551 extern map<msrQuarterTonesPitchKind, string> gItalianoPitchNamesMap;
1552 extern map<msrQuarterTonesPitchKind, string> gNorskPitchNamesMap;
1553 extern map<msrQuarterTonesPitchKind, string> gPortuguesPitchNamesMap;
1554 extern map<msrQuarterTonesPitchKind, string> gSuomiPitchNamesMap;
1555 extern map<msrQuarterTonesPitchKind, string> gSvenskaPitchNamesMap;
1556 extern map<msrQuarterTonesPitchKind, string> gVlaamsPitchNamesMap;
1558 void initializeQuarterTonesPitchesLanguageKinds ();
1560 string existingQuarterTonesPitchesLanguageKinds (
int namesListMaxLength);
1564 void initializeMSRBasicTypes ();
Definition: msrBasicTypes.h:1467
Definition: msrBasicTypes.h:1304
Definition: msrBasicTypes.h:1106
Definition: msrBasicTypes.h:1214
Definition: msrBasicTypes.h:435
Definition: msrBasicTypes.h:780
Definition: msrBasicTypes.h:596
Definition: msrBasicTypes.h:698
Definition: msrBasicTypes.h:1401
Definition: msrBasicTypes.h:501
Definition: msrBasicTypes.h:1021
the base class for smart pointers implementation
Definition: smartpointer.h:29
Rational number representation.
Definition: rational.h:25