18#include "msrMeasureElements.h"
20#include "msrBasicTypes.h"
27class msrHumdrumScotKeyItem;
28typedef SMARTP<msrHumdrumScotKeyItem> S_msrHumdrumScotKeyItem;
38 enum msrHumdrumScotKeyItemKind {
39 kTraditionalKind, kHumdrumScotKind };
41 static string HumdrumScotKeyItemKindAsString (
42 msrHumdrumScotKeyItemKind HumdrumScotKeyItemKind);
44 enum msrHumdrumScotKeyItemModeKind {
45 kMajorMode, kMinorMode,
46 kIonianMode, kDorianMode, kPhrygianMode, kLydianMode,
47 kMixolydianMode, kAeolianMode, kLocrianMode };
49 static string HumdrumScotKeyItemModeKindAsString (
50 msrHumdrumScotKeyItemModeKind HumdrumScotKeyItemModeKind);
73 void setKeyItemDiatonicPitchKind (
74 msrDiatonicPitchKind diatonicPitchKind);
76 msrDiatonicPitchKind getKeyItemDiatonicPitchKind ()
const
77 {
return fKeyDiatonicPitchKind; }
79 void setKeyItemAlterationKind (
80 msrAlterationKind alterationKind);
82 msrAlterationKind getKeyItemAlterationKind ()
const
83 {
return fKeyAlterationKind; }
85 void setKeyItemOctave (
int keyOctave);
87 int getKeyItemOctave ()
const
88 {
return fKeyOctave; }
95 otherHumdrumScotKeyItem)
const;
112 string asString ()
const;
114 virtual void print (ostream& os)
const;
121 msrDiatonicPitchKind fKeyDiatonicPitchKind;
122 msrAlterationKind fKeyAlterationKind;
140 kTraditionalKind, kHumdrumScotKind };
142 static string keyKindAsString (
145 enum msrKeyModeKind {
146 kMajorMode, kMinorMode,
147 kIonianMode, kDorianMode, kPhrygianMode, kLydianMode,
148 kMixolydianMode, kAeolianMode, kLocrianMode };
150 static string keyModeKindAsString (
151 msrKeyModeKind keyModeKind);
158 msrQuarterTonesPitchKind keyTonicPitchKind,
159 msrKeyModeKind keyModeKind,
163 int inputLineNumber);
172 msrQuarterTonesPitchKind keyTonicPitchKind,
173 msrKeyModeKind keyModeKind,
177 int inputLineNumber);
186 msrKeyKind getKeyKind ()
const
191 msrQuarterTonesPitchKind
192 getKeyTonicQuarterTonesPitchKind ()
const
193 {
return fKeyTonicQuarterTonesPitchKind; }
195 msrKeyModeKind getKeyModeKind ()
const
196 {
return fKeyModeKind; }
198 int getKeyCancel ()
const
199 {
return fKeyCancel; }
206 bool getKeyItemsOctavesAreSpecified ()
const
207 {
return fKeyItemsOctavesAreSpecified; }
209 const vector<S_msrHumdrumScotKeyItem>&
210 getHumdrumScotKeyItemsVector ()
211 {
return fHumdrumScotKeyItemsVector; }
217 bool isEqualTo (
S_msrKey otherKey)
const;
219 void appendHumdrumScotKeyItem (
237 string asString ()
const;
239 virtual void print (ostream& os)
const;
250 msrQuarterTonesPitchKind
251 fKeyTonicQuarterTonesPitchKind;
252 msrKeyModeKind fKeyModeKind;
256 vector<S_msrHumdrumScotKeyItem>
257 fHumdrumScotKeyItemsVector;
258 bool fKeyItemsOctavesAreSpecified;
261EXP ostream& operator<< (ostream& os,
const S_msrKey& elt);
Definition: basevisitor.h:25
Definition: msrElements.h:26
Definition: msrKeys.h:133
Definition: msrMeasureElements.h:24