3 MusicalMode::MusicalMode (MusicalMode::Type t)
8 MusicalMode::~MusicalMode()
13 MusicalMode::fill (MusicalMode& m, MusicalMode::Type t)
17 /* scales/modes as distances from root, expressed
18 in fractional whole tones.
23 m.steps.push_back (1.0);
24 m.steps.push_back (1.5);
25 m.steps.push_back (2.0);
26 m.steps.push_back (3.0);
27 m.steps.push_back (4.0);
28 m.steps.push_back (4.5);
29 m.steps.push_back (5.5);
32 m.steps.push_back (1.0);
33 m.steps.push_back (2.0);
34 m.steps.push_back (2.5);
35 m.steps.push_back (3.5);
36 m.steps.push_back (4.5);
37 m.steps.push_back (5.5);
40 m.steps.push_back (1.0);
41 m.steps.push_back (1.5);
42 m.steps.push_back (2.5);
43 m.steps.push_back (3.5);
44 m.steps.push_back (4.0);
45 m.steps.push_back (5.0);
48 m.steps.push_back (1.0);
49 m.steps.push_back (1.5);
50 m.steps.push_back (2.5);
51 m.steps.push_back (3.5);
52 m.steps.push_back (5.0);
53 m.steps.push_back (5.5);
56 m.steps.push_back (1.0);
57 m.steps.push_back (1.5);
58 m.steps.push_back (2.5);
59 m.steps.push_back (3);
60 m.steps.push_back (3.5);
61 m.steps.push_back (4.5);
62 m.steps.push_back (5.0);
63 m.steps.push_back (5.5);
65 case MelodicMinorAscending:
66 m.steps.push_back (1.0);
67 m.steps.push_back (1.5);
68 m.steps.push_back (2.5);
69 m.steps.push_back (3.5);
70 m.steps.push_back (4.5);
71 m.steps.push_back (5.5);
73 case MelodicMinorDescending:
74 m.steps.push_back (1.0);
75 m.steps.push_back (2.0);
76 m.steps.push_back (2.5);
77 m.steps.push_back (3.5);
78 m.steps.push_back (4.5);
79 m.steps.push_back (5.0);
82 m.steps.push_back (0.5);
83 m.steps.push_back (1.5);
84 m.steps.push_back (2.5);
85 m.steps.push_back (3.5);
86 m.steps.push_back (4.0);
87 m.steps.push_back (5.0);
90 m.steps.push_back (1.0);
91 m.steps.push_back (2.0);
92 m.steps.push_back (3.0);
93 m.steps.push_back (3.5);
94 m.steps.push_back (4.5);
95 m.steps.push_back (5.5);
98 m.steps.push_back (1.0);
99 m.steps.push_back (2.0);
100 m.steps.push_back (2.5);
101 m.steps.push_back (3.5);
102 m.steps.push_back (4.5);
103 m.steps.push_back (5.0);
106 m.steps.push_back (1.0);
107 m.steps.push_back (1.5);
108 m.steps.push_back (2.5);
109 m.steps.push_back (3.5);
110 m.steps.push_back (4.0);
111 m.steps.push_back (5.0);
114 m.steps.push_back (0.5);
115 m.steps.push_back (1.5);
116 m.steps.push_back (2.0);
117 m.steps.push_back (3.0);
118 m.steps.push_back (4.0);
119 m.steps.push_back (5.0);
121 case PentatonicMajor:
122 m.steps.push_back (1.0);
123 m.steps.push_back (2.0);
124 m.steps.push_back (2.5);
125 m.steps.push_back (3.5);
127 case PentatonicMinor:
128 m.steps.push_back (1.5);
129 m.steps.push_back (2.5);
130 m.steps.push_back (3.5);
131 m.steps.push_back (5.0);
134 m.steps.push_back (0.5);
135 m.steps.push_back (1.0);
136 m.steps.push_back (1.5);
137 m.steps.push_back (2.0);
138 m.steps.push_back (2.5);
139 m.steps.push_back (3.0);
140 m.steps.push_back (3.5);
141 m.steps.push_back (4.0);
142 m.steps.push_back (4.5);
143 m.steps.push_back (5.0);
144 m.steps.push_back (5.5);
146 case NeapolitanMinor:
147 m.steps.push_back (0.5);
148 m.steps.push_back (1.5);
149 m.steps.push_back (2.5);
150 m.steps.push_back (2.5);
151 m.steps.push_back (4.0);
152 m.steps.push_back (5.5);
154 case NeapolitanMajor:
155 m.steps.push_back (0.5);
156 m.steps.push_back (1.5);
157 m.steps.push_back (2.5);
158 m.steps.push_back (3.5);
159 m.steps.push_back (4.5);
160 m.steps.push_back (5.5);
163 m.steps.push_back (0.5);
164 m.steps.push_back (2.0);
165 m.steps.push_back (2.5);
166 m.steps.push_back (3.0);
167 m.steps.push_back (4.5);
168 m.steps.push_back (5.0);
171 m.steps.push_back (0.5);
172 m.steps.push_back (2.0);
173 m.steps.push_back (2.5);
174 m.steps.push_back (3.5);
175 m.steps.push_back (4.0);
176 m.steps.push_back (5.5);
179 m.steps.push_back (0.5);
180 m.steps.push_back (2.0);
181 m.steps.push_back (3.0);
182 m.steps.push_back (4.0);
183 m.steps.push_back (5.0);
184 m.steps.push_back (5.5);
187 m.steps.push_back (1.0);
188 m.steps.push_back (1.5);
189 m.steps.push_back (3.5);
190 m.steps.push_back (4.0);
193 m.steps.push_back (1.0);
194 m.steps.push_back (1.5);
195 m.steps.push_back (3.0);
196 m.steps.push_back (3.5);
197 m.steps.push_back (4.0);
198 m.steps.push_back (5.5);
201 m.steps.push_back (1.0);
202 m.steps.push_back (2.0);
203 m.steps.push_back (3.0);
204 m.steps.push_back (3.5);
205 m.steps.push_back (4.0);
206 m.steps.push_back (5.0);
209 m.steps.push_back (0.5);
210 m.steps.push_back (2.5);
211 m.steps.push_back (3.5);
212 m.steps.push_back (4.0);
215 m.steps.push_back (0.5);
216 m.steps.push_back (2.5);
217 m.steps.push_back (3.0);
218 m.steps.push_back (5.0);
221 m.steps.push_back (1.0);
222 m.steps.push_back (2.0);
223 m.steps.push_back (2.5);
224 m.steps.push_back (3.5);
225 m.steps.push_back (4.0);
226 m.steps.push_back (5.0);
229 m.steps.push_back (0.5);
230 m.steps.push_back (1.5);
231 m.steps.push_back (2.0);
232 m.steps.push_back (2.5);
233 m.steps.push_back (3.0);
234 m.steps.push_back (4.0);
235 m.steps.push_back (5.0);
238 m.steps.push_back (0.5);
239 m.steps.push_back (1.5);
240 m.steps.push_back (3.5);
241 m.steps.push_back (5.0);
244 m.steps.push_back (1.0);
245 m.steps.push_back (1.5);
246 m.steps.push_back (3.0);
247 m.steps.push_back (3.5);
248 m.steps.push_back (4.0);
249 m.steps.push_back (5.0);
252 m.steps.push_back (1.0);
253 m.steps.push_back (2.0);
254 m.steps.push_back (3.0);
255 m.steps.push_back (3.5);
256 m.steps.push_back (4.5);
257 m.steps.push_back (5.0);
259 case LeadingWholeTone:
260 m.steps.push_back (1.0);
261 m.steps.push_back (2.0);
262 m.steps.push_back (3.0);
263 m.steps.push_back (4.0);
264 m.steps.push_back (5.0);
265 m.steps.push_back (5.5);
268 m.steps.push_back (1.0);
269 m.steps.push_back (2.0);
270 m.steps.push_back (2.5);
271 m.steps.push_back (3.0);
272 m.steps.push_back (4.0);
273 m.steps.push_back (5.0);
276 m.steps.push_back (0.5);
277 m.steps.push_back (1.5);
278 m.steps.push_back (3.5);
279 m.steps.push_back (4.0);
282 m.steps.push_back (0.5);
283 m.steps.push_back (2.0);
284 m.steps.push_back (2.5);
285 m.steps.push_back (3.5);
286 m.steps.push_back (4.0);
287 m.steps.push_back (5.5);
290 m.steps.push_back (1.0);
291 m.steps.push_back (1.5);
292 m.steps.push_back (2.5);
293 m.steps.push_back (3.5);
294 m.steps.push_back (4.0);
295 m.steps.push_back (5.5);
298 m.steps.push_back (0.5);
299 m.steps.push_back (1.5);
300 m.steps.push_back (2.5);
301 m.steps.push_back (3.5);
302 m.steps.push_back (4.5);
303 m.steps.push_back (5.0);
306 m.steps.push_back (0.5);
307 m.steps.push_back (2.0);
308 m.steps.push_back (2.5);
309 m.steps.push_back (3.0);
310 m.steps.push_back (4.0);
311 m.steps.push_back (5.5);
314 m.steps.push_back (1.0);
315 m.steps.push_back (1.5);
316 m.steps.push_back (3.0);
317 m.steps.push_back (3.5);
318 m.steps.push_back (4.0);
319 m.steps.push_back (5.5);
320 m.steps.push_back (6.0);
321 m.steps.push_back (7.0);
322 m.steps.push_back (7.5);
323 m.steps.push_back (8.5);