@@ -20,6 +20,7 @@ public static class ChordConstants
20
20
( ChordType . Major , "major" , MatchCase . MatchUpperFirstOrAll , MatchAmbiguity . Safe ) ,
21
21
22
22
( ChordType . Minor , "m" , MatchCase . ExactOnly , MatchAmbiguity . Safe ) ,
23
+ ( ChordType . Minor , "mi" , MatchCase . ExactOnly , MatchAmbiguity . Safe ) ,
23
24
( ChordType . Minor , "min" , MatchCase . MatchUpperFirst , MatchAmbiguity . Safe ) ,
24
25
( ChordType . Minor , "minor" , MatchCase . MatchUpperFirstOrAll , MatchAmbiguity . Safe ) ,
25
26
@@ -33,14 +34,16 @@ public static class ChordConstants
33
34
( ChordType . Dim7 , "o" , MatchCase . ExactOnly , MatchAmbiguity . Safe ) ,
34
35
35
36
( ChordType . Sus2 , "sus2" , MatchCase . MatchUpperFirstOrAll , MatchAmbiguity . Safe ) ,
37
+ ( ChordType . Sus2 , "s2" , MatchCase . ExactOnly , MatchAmbiguity . Safe ) ,
36
38
( ChordType . Sus2 , "susp2" , MatchCase . ExactOnly , MatchAmbiguity . Safe ) ,
37
39
38
40
( ChordType . Sus4 , "sus4" , MatchCase . MatchUpperFirstOrAll , MatchAmbiguity . Safe ) ,
41
+ ( ChordType . Sus4 , "s4" , MatchCase . ExactOnly , MatchAmbiguity . Safe ) ,
39
42
( ChordType . Sus4 , "susp4" , MatchCase . ExactOnly , MatchAmbiguity . Safe ) ,
40
43
( ChordType . Sus4 , "sus" , MatchCase . MatchUpperFirstOrAll , MatchAmbiguity . Safe ) ,
41
44
( ChordType . Sus4 , "susp" , MatchCase . ExactOnly , MatchAmbiguity . Safe ) ,
42
45
43
- ( ChordType . Power , "5" , MatchCase . ExactOnly , MatchAmbiguity . Safe ) ,
46
+ ( ChordType . Power , "5" , MatchCase . ExactOnly , MatchAmbiguity . Degree ) ,
44
47
( ChordType . Power , "no3" , MatchCase . ExactOnly , MatchAmbiguity . Safe ) ,
45
48
( ChordType . Power , "no3rd" , MatchCase . ExactOnly , MatchAmbiguity . Safe ) ,
46
49
( ChordType . Power , "omit3" , MatchCase . ExactOnly , MatchAmbiguity . Safe ) ,
@@ -49,15 +52,18 @@ public static class ChordConstants
49
52
50
53
public static readonly IReadOnlyList < ( ChordTypeExtension extension , string representation , MatchCase matchCase , MatchAmbiguity matchAmbiguity ) > ChordTypeExtensionRepresentations =
51
54
[
52
- ( ChordTypeExtension . X7 , "7" , MatchCase . ExactOnly , MatchAmbiguity . Safe ) ,
53
- ( ChordTypeExtension . X9 , "9" , MatchCase . ExactOnly , MatchAmbiguity . Safe ) ,
54
- ( ChordTypeExtension . X11 , "11" , MatchCase . ExactOnly , MatchAmbiguity . Safe ) ,
55
- ( ChordTypeExtension . X13 , "13" , MatchCase . ExactOnly , MatchAmbiguity . Safe ) ,
55
+ ( ChordTypeExtension . X7 , "add7" , MatchCase . ExactOnly , MatchAmbiguity . Degree ) ,
56
+ ( ChordTypeExtension . X7 , "7" , MatchCase . ExactOnly , MatchAmbiguity . Degree ) ,
57
+ ( ChordTypeExtension . X9 , "9" , MatchCase . ExactOnly , MatchAmbiguity . Degree ) ,
58
+ ( ChordTypeExtension . X11 , "11" , MatchCase . ExactOnly , MatchAmbiguity . Degree ) ,
59
+ ( ChordTypeExtension . X13 , "13" , MatchCase . ExactOnly , MatchAmbiguity . Degree ) ,
56
60
57
- ( ChordTypeExtension . XMaj7 , "maj" , MatchCase . ExactOnly , MatchAmbiguity . Safe ) ,
58
61
( ChordTypeExtension . XMaj7 , "maj7" , MatchCase . MatchUpperFirstOrAll , MatchAmbiguity . Safe ) ,
62
+ ( ChordTypeExtension . XMaj7 , "maj" , MatchCase . MatchUpperFirstOrAll , MatchAmbiguity . Safe ) ,
63
+ ( ChordTypeExtension . XMaj7 , "ma7" , MatchCase . ExactOnly , MatchAmbiguity . Safe ) ,
59
64
( ChordTypeExtension . XMaj7 , "major7" , MatchCase . MatchUpperFirst , MatchAmbiguity . Safe ) ,
60
65
( ChordTypeExtension . XMaj7 , "M7" , MatchCase . ExactOnly , MatchAmbiguity . Safe ) ,
66
+ ( ChordTypeExtension . XMaj7 , "MA7" , MatchCase . ExactOnly , MatchAmbiguity . Safe ) ,
61
67
( ChordTypeExtension . XMaj7 , "M" , MatchCase . ExactOnly , MatchAmbiguity . Dangerous ) ,
62
68
( ChordTypeExtension . XMaj7 , "7M" , MatchCase . ExactOnly , MatchAmbiguity . Dangerous ) ,
63
69
@@ -84,38 +90,54 @@ public static class ChordConstants
84
90
85
91
( ChordTypeAdditions . No11 , "no11" , MatchCase . ExactOnly , MatchAmbiguity . Safe ) ,
86
92
87
- ( ChordTypeAdditions . Add2 , "2" , MatchCase . ExactOnly , MatchAmbiguity . Safe ) ,
88
- ( ChordTypeAdditions . Add2 , "add2" , MatchCase . MatchUpperFirstOrAll , MatchAmbiguity . Safe ) ,
93
+ ( ChordTypeAdditions . Add2 , "2" , MatchCase . ExactOnly , MatchAmbiguity . Degree ) ,
94
+ ( ChordTypeAdditions . Add2 , "add2" , MatchCase . MatchUpperFirstOrAll , MatchAmbiguity . Degree ) ,
89
95
90
- ( ChordTypeAdditions . Add4 , "4" , MatchCase . ExactOnly , MatchAmbiguity . Safe ) ,
91
- ( ChordTypeAdditions . Add4 , "add4" , MatchCase . MatchUpperFirstOrAll , MatchAmbiguity . Safe ) ,
96
+ ( ChordTypeAdditions . Add4 , "4" , MatchCase . ExactOnly , MatchAmbiguity . Degree ) ,
97
+ ( ChordTypeAdditions . Add4 , "add4" , MatchCase . MatchUpperFirstOrAll , MatchAmbiguity . Degree ) ,
92
98
93
99
( ChordTypeAdditions . Flat5 , "addb5" , MatchCase . ExactOnly , MatchAmbiguity . Safe ) ,
94
100
( ChordTypeAdditions . Flat6 , "addb6" , MatchCase . ExactOnly , MatchAmbiguity . Safe ) ,
95
101
( ChordTypeAdditions . Flat9 , "addb9" , MatchCase . ExactOnly , MatchAmbiguity . Safe ) ,
96
102
( ChordTypeAdditions . Flat11 , "addb11" , MatchCase . ExactOnly , MatchAmbiguity . Safe ) ,
97
103
( ChordTypeAdditions . Flat13 , "addb13" , MatchCase . ExactOnly , MatchAmbiguity . Safe ) ,
104
+ ( ChordTypeAdditions . Flat5 , "add-5" , MatchCase . ExactOnly , MatchAmbiguity . Safe ) ,
105
+ ( ChordTypeAdditions . Flat6 , "add-6" , MatchCase . ExactOnly , MatchAmbiguity . Safe ) ,
106
+ ( ChordTypeAdditions . Flat9 , "add-9" , MatchCase . ExactOnly , MatchAmbiguity . Safe ) ,
107
+ ( ChordTypeAdditions . Flat11 , "add-11" , MatchCase . ExactOnly , MatchAmbiguity . Safe ) ,
108
+ ( ChordTypeAdditions . Flat13 , "add-13" , MatchCase . ExactOnly , MatchAmbiguity . Safe ) ,
98
109
99
110
( ChordTypeAdditions . Sharp4 , "add#4" , MatchCase . ExactOnly , MatchAmbiguity . Safe ) ,
100
111
( ChordTypeAdditions . Sharp5 , "add#5" , MatchCase . ExactOnly , MatchAmbiguity . Safe ) ,
101
112
( ChordTypeAdditions . Sharp9 , "add#9" , MatchCase . ExactOnly , MatchAmbiguity . Safe ) ,
102
113
( ChordTypeAdditions . Sharp11 , "add#11" , MatchCase . ExactOnly , MatchAmbiguity . Safe ) ,
103
114
( ChordTypeAdditions . Sharp13 , "add#13" , MatchCase . ExactOnly , MatchAmbiguity . Safe ) ,
115
+ ( ChordTypeAdditions . Sharp4 , "add+4" , MatchCase . ExactOnly , MatchAmbiguity . Safe ) ,
116
+ ( ChordTypeAdditions . Sharp5 , "add+5" , MatchCase . ExactOnly , MatchAmbiguity . Safe ) ,
117
+ ( ChordTypeAdditions . Sharp9 , "add+9" , MatchCase . ExactOnly , MatchAmbiguity . Safe ) ,
118
+ ( ChordTypeAdditions . Sharp11 , "add+11" , MatchCase . ExactOnly , MatchAmbiguity . Safe ) ,
119
+ ( ChordTypeAdditions . Sharp13 , "add+13" , MatchCase . ExactOnly , MatchAmbiguity . Safe ) ,
104
120
105
- ( ChordTypeAdditions . Add6 , "6" , MatchCase . ExactOnly , MatchAmbiguity . Safe ) ,
106
- ( ChordTypeAdditions . Add6 , "add6" , MatchCase . MatchUpperFirstOrAll , MatchAmbiguity . Safe ) ,
121
+ ( ChordTypeAdditions . Add6 , "6" , MatchCase . ExactOnly , MatchAmbiguity . Degree ) ,
122
+ ( ChordTypeAdditions . Add6 , "add6" , MatchCase . MatchUpperFirstOrAll , MatchAmbiguity . Degree ) ,
107
123
108
- ( ChordTypeAdditions . Add9 , "add9" , MatchCase . MatchUpperFirstOrAll , MatchAmbiguity . Safe ) ,
109
- ( ChordTypeAdditions . Add11 , "add11" , MatchCase . MatchUpperFirstOrAll , MatchAmbiguity . Safe ) ,
110
- ( ChordTypeAdditions . Add13 , "add13" , MatchCase . MatchUpperFirstOrAll , MatchAmbiguity . Safe ) ,
124
+ ( ChordTypeAdditions . Add9 , "add9" , MatchCase . MatchUpperFirstOrAll , MatchAmbiguity . Degree ) ,
125
+ ( ChordTypeAdditions . Add11 , "add11" , MatchCase . MatchUpperFirstOrAll , MatchAmbiguity . Degree ) ,
126
+ ( ChordTypeAdditions . Add13 , "add13" , MatchCase . MatchUpperFirstOrAll , MatchAmbiguity . Degree ) ,
111
127
112
128
( ChordTypeAdditions . HalfDiminished7 , "ø" , MatchCase . ExactOnly , MatchAmbiguity . Safe ) ,
129
+
130
+ ( ChordTypeAdditions . Sharp , "#" , MatchCase . ExactOnly , MatchAmbiguity . DegreeAlteration ) ,
131
+ ( ChordTypeAdditions . Flat , "b" , MatchCase . ExactOnly , MatchAmbiguity . DegreeAlteration ) ,
132
+ ( ChordTypeAdditions . Plus , "+" , MatchCase . ExactOnly , MatchAmbiguity . DegreeAlteration ) ,
133
+ ( ChordTypeAdditions . Minus , "-" , MatchCase . ExactOnly , MatchAmbiguity . DegreeAlteration ) ,
113
134
] ;
114
135
115
136
public static readonly IReadOnlyList < ( ChordTypeMeaninglessAddition meaninglessAddition , string representation ) > ChordTypeMeaninglessAdditionRepresentations =
116
137
[
117
138
( ChordTypeMeaninglessAddition . Star , "*" ) ,
118
139
( ChordTypeMeaninglessAddition . Question , "?" ) ,
140
+ ( ChordTypeMeaninglessAddition . Slash , "/" ) ,
119
141
] ;
120
142
121
143
public static readonly IReadOnlyList < string > Romans =
0 commit comments