13 #ifndef KEYSIGNATURE_H__56751CC1_46A2_4238_BAF1_7884CDA8089B__
14 #define KEYSIGNATURE_H__56751CC1_46A2_4238_BAF1_7884CDA8089B__
82 enum Scale { MAJOR_SCALE = 0, MINOR_SCALE = 1 };
83 enum Mode { WESTERN =0, CARNATIC = 1 };
84 enum Defaults { DEFAULT_KEY = 0, DEFAULT_RAGAM = 29 };
87 signed short m_nKeySig;
91 unsigned short m_nSpeed;
96 : m_nKeySig(DEFAULT_KEY), m_bScale(MAJOR_SCALE), m_bMode(WESTERN), m_nSpeed(1)
101 : m_nKeySig(nKeySig), m_bScale(bScale), m_bMode(WESTERN), m_nSpeed(1)
105 inline KeySignature(
const unsigned short nRagam,
const unsigned short nTalam)
106 : m_nKeySig(nRagam), m_bScale(MAJOR_SCALE), m_bMode(CARNATIC), m_nTalam(nTalam), m_nSpeed(1)
113 inline signed char GetKey()
const {
return (
signed char) m_nKeySig; }
118 inline unsigned char GetMajMin()
const {
return m_bScale; }
121 inline Mode
GetMode()
const {
return m_bMode; }
129 inline void SetKey(
const signed short nKeySig) { m_nKeySig = nKeySig; m_bMode = WESTERN; }
133 inline void SetMajMin(
const Scale bScale) { m_bScale = bScale; }
137 inline void SetRagam(
const unsigned short nRagam) { m_nKeySig = nRagam; m_bMode = CARNATIC; }
145 inline unsigned short&
Speed() {
return m_nSpeed; }
166 stdDefns[_T(
"CBMAJ")] = _T(
"78");
167 stdDefns[_T(
"ABMIN")] = _T(
"14");
169 stdDefns[_T(
"GBMAJ")] = _T(
"77");
170 stdDefns[_T(
"EBMIN")] = _T(
"13");
172 stdDefns[_T(
"DBMAJ")] = _T(
"76");
173 stdDefns[_T(
"BBMIN")] = _T(
"12");
175 stdDefns[_T(
"ABMAJ")] = _T(
"75");
176 stdDefns[_T(
"FMIN" )] = _T(
"11");
178 stdDefns[_T(
"EBMAJ")] = _T(
"74");
179 stdDefns[_T(
"CMIN" )] = _T(
"10");
181 stdDefns[_T(
"BBMAJ")] = _T(
"73");
182 stdDefns[_T(
"GMIN" )] = _T(
"9");
184 stdDefns[_T(
"FMAJ") ] = _T(
"72");
185 stdDefns[_T(
"DMIN" )] = _T(
"8");
187 stdDefns[_T(
"CMAJ") ] = _T(
"64");
188 stdDefns[_T(
"AMIN") ] = _T(
"0");
190 stdDefns[_T(
"GMAJ")] = _T(
"65");
191 stdDefns[_T(
"EMIN")] = _T(
"1");
193 stdDefns[_T(
"DMAJ")] = _T(
"66");
194 stdDefns[_T(
"BMIN")] = _T(
"2");
196 stdDefns[_T(
"AMAJ") ] = _T(
"67");
197 stdDefns[_T(
"F#MIN")] = _T(
"3");
199 stdDefns[_T(
"EMAJ") ] = _T(
"68");
200 stdDefns[_T(
"C#MIN")] = _T(
"4");
202 stdDefns[_T(
"BMAJ") ] = _T(
"69");
203 stdDefns[_T(
"G#MIN")] = _T(
"5");
205 stdDefns[_T(
"F#MAJ")] = _T(
"70");
206 stdDefns[_T(
"D#MIN")] = _T(
"6");
208 stdDefns[_T(
"C#MAJ")] = _T(
"71");
209 stdDefns[_T(
"A#MIN")] = _T(
"7");
211 stdDefns[_T(
"SCALE")] = _T(
"64");
212 stdDefns[_T(
"SCALE_DEF")] = _T(
"64");
213 stdDefns[_T(
"SCALE_DEFAULT")] = _T(
"64");
231 stdDefns[_T(
"MELA_1")] = _T(
"129");
232 stdDefns[_T(
"MELA_2")] = _T(
"130");
233 stdDefns[_T(
"MELA_3")] = _T(
"131");
234 stdDefns[_T(
"MELA_4")] = _T(
"132");
235 stdDefns[_T(
"MELA_5")] = _T(
"133");
236 stdDefns[_T(
"MELA_6")] = _T(
"134");
237 stdDefns[_T(
"MELA_7")] = _T(
"135");
238 stdDefns[_T(
"MELA_8")] = _T(
"136");
239 stdDefns[_T(
"MELA_9")] = _T(
"137");
240 stdDefns[_T(
"MELA_10")] = _T(
"138");
241 stdDefns[_T(
"MELA_11")] = _T(
"139");
242 stdDefns[_T(
"MELA_12")] = _T(
"140");
243 stdDefns[_T(
"MELA_13")] = _T(
"141");
244 stdDefns[_T(
"MELA_14")] = _T(
"142");
245 stdDefns[_T(
"MELA_15")] = _T(
"143");
246 stdDefns[_T(
"MELA_16")] = _T(
"144");
247 stdDefns[_T(
"MELA_17")] = _T(
"145");
248 stdDefns[_T(
"MELA_18")] = _T(
"146");
249 stdDefns[_T(
"MELA_19")] = _T(
"147");
250 stdDefns[_T(
"MELA_20")] = _T(
"148");
251 stdDefns[_T(
"MELA_21")] = _T(
"149");
252 stdDefns[_T(
"MELA_22")] = _T(
"150");
253 stdDefns[_T(
"MELA_23")] = _T(
"151");
254 stdDefns[_T(
"MELA_24")] = _T(
"152");
255 stdDefns[_T(
"MELA_25")] = _T(
"153");
256 stdDefns[_T(
"MELA_26")] = _T(
"154");
257 stdDefns[_T(
"MELA_27")] = _T(
"155");
258 stdDefns[_T(
"MELA_28")] = _T(
"156");
259 stdDefns[_T(
"MELA_29")] = _T(
"157");
260 stdDefns[_T(
"MELA_30")] = _T(
"158");
261 stdDefns[_T(
"MELA_31")] = _T(
"159");
262 stdDefns[_T(
"MELA_32")] = _T(
"160");
263 stdDefns[_T(
"MELA_33")] = _T(
"161");
264 stdDefns[_T(
"MELA_34")] = _T(
"162");
265 stdDefns[_T(
"MELA_35")] = _T(
"163");
266 stdDefns[_T(
"MELA_36")] = _T(
"164");
267 stdDefns[_T(
"MELA_37")] = _T(
"165");
268 stdDefns[_T(
"MELA_38")] = _T(
"166");
269 stdDefns[_T(
"MELA_39")] = _T(
"167");
270 stdDefns[_T(
"MELA_40")] = _T(
"168");
271 stdDefns[_T(
"MELA_41")] = _T(
"169");
272 stdDefns[_T(
"MELA_42")] = _T(
"170");
273 stdDefns[_T(
"MELA_43")] = _T(
"171");
274 stdDefns[_T(
"MELA_44")] = _T(
"172");
275 stdDefns[_T(
"MELA_45")] = _T(
"173");
276 stdDefns[_T(
"MELA_46")] = _T(
"174");
277 stdDefns[_T(
"MELA_47")] = _T(
"175");
278 stdDefns[_T(
"MELA_48")] = _T(
"176");
279 stdDefns[_T(
"MELA_49")] = _T(
"177");
280 stdDefns[_T(
"MELA_50")] = _T(
"178");
281 stdDefns[_T(
"MELA_51")] = _T(
"179");
282 stdDefns[_T(
"MELA_52")] = _T(
"180");
283 stdDefns[_T(
"MELA_53")] = _T(
"181");
284 stdDefns[_T(
"MELA_54")] = _T(
"182");
285 stdDefns[_T(
"MELA_55")] = _T(
"183");
286 stdDefns[_T(
"MELA_56")] = _T(
"184");
287 stdDefns[_T(
"MELA_57")] = _T(
"185");
288 stdDefns[_T(
"MELA_58")] = _T(
"186");
289 stdDefns[_T(
"MELA_59")] = _T(
"187");
290 stdDefns[_T(
"MELA_60")] = _T(
"188");
291 stdDefns[_T(
"MELA_61")] = _T(
"189");
292 stdDefns[_T(
"MELA_62")] = _T(
"190");
293 stdDefns[_T(
"MELA_63")] = _T(
"191");
294 stdDefns[_T(
"MELA_64")] = _T(
"192");
295 stdDefns[_T(
"MELA_65")] = _T(
"193");
296 stdDefns[_T(
"MELA_66")] = _T(
"194");
297 stdDefns[_T(
"MELA_67")] = _T(
"195");
298 stdDefns[_T(
"MELA_68")] = _T(
"196");
299 stdDefns[_T(
"MELA_69")] = _T(
"197");
300 stdDefns[_T(
"MELA_70")] = _T(
"198");
301 stdDefns[_T(
"MELA_71")] = _T(
"199");
302 stdDefns[_T(
"MELA_72")] = _T(
"200");
304 stdDefns[_T(
"MELA_0")] = _T(
"157");
305 stdDefns[_T(
"MELA_DEFAULT")] = _T(
"157");
306 stdDefns[_T(
"MELA")] = _T(
"157");
309 stdDefns[_T(
"KANAKANGI")] = stdDefns[_T(
"MELA_1")];
310 stdDefns[_T(
"RATNANGI")] = stdDefns[_T(
"MELA_2")];
311 stdDefns[_T(
"GANAMURTHI")] = stdDefns[_T(
"MELA_3")];
312 stdDefns[_T(
"VANASPATHI")] = stdDefns[_T(
"MELA_4")];
313 stdDefns[_T(
"MANAVATHI")] = stdDefns[_T(
"MELA_5")];
314 stdDefns[_T(
"TANARUPI")] = stdDefns[_T(
"MELA_6")];
316 stdDefns[_T(
"SENAVATHI")] = stdDefns[_T(
"MELA_7")];
317 stdDefns[_T(
"HANUMATHODI")] = stdDefns[_T(
"MELA_8")];
318 stdDefns[_T(
"DHENUKA")] = stdDefns[_T(
"MELA_9")];
319 stdDefns[_T(
"NATAKAPRIYA")] = stdDefns[_T(
"MELA_10")];
320 stdDefns[_T(
"KOKILAPRIYA")] = stdDefns[_T(
"MELA_11")];
321 stdDefns[_T(
"RUPAVATHI")] = stdDefns[_T(
"MELA_12")];
323 stdDefns[_T(
"GAYAKAPRIYA")] = stdDefns[_T(
"MELA_13")];
324 stdDefns[_T(
"VAKULABHARANAM")]= stdDefns[_T(
"MELA_14")];
325 stdDefns[_T(
"MAYAMALAVAGOWLA")] = stdDefns[_T(
"MELA_15")];
326 stdDefns[_T(
"CHAKRAVAKAM")] = stdDefns[_T(
"MELA_16")];
327 stdDefns[_T(
"SURYAKANTHAM")] = stdDefns[_T(
"MELA_17")];
328 stdDefns[_T(
"HATAKAMBARI")] = stdDefns[_T(
"MELA_18")];
330 stdDefns[_T(
"JHANKARADHWANI")]= stdDefns[_T(
"MELA_19")];
331 stdDefns[_T(
"NATABHAIRAVI")] = stdDefns[_T(
"MELA_20")];
332 stdDefns[_T(
"KEERAVANI")] = stdDefns[_T(
"MELA_21")];
333 stdDefns[_T(
"KHARAHARAPRIYA")]= stdDefns[_T(
"MELA_22")];
334 stdDefns[_T(
"GOWRIMANOHARI")] = stdDefns[_T(
"MELA_23")];
335 stdDefns[_T(
"VARUNAPRIYA")] = stdDefns[_T(
"MELA_24")];
337 stdDefns[_T(
"MARARANJANI")] = stdDefns[_T(
"MELA_25")];
338 stdDefns[_T(
"CHARUKESHI")] = stdDefns[_T(
"MELA_26")];
339 stdDefns[_T(
"SARASANGI")] = stdDefns[_T(
"MELA_27")];
340 stdDefns[_T(
"HARIKHAMBHOJI")] = stdDefns[_T(
"MELA_28")];
341 stdDefns[_T(
"DHEERASHANKARABHARANAM")] = stdDefns[_T(
"MELA_29")];
342 stdDefns[_T(
"SHANKARABHARANAM")] = stdDefns[_T(
"MELA_29")];
343 stdDefns[_T(
"NAGANANDINI")] = stdDefns[_T(
"MELA_30")];
345 stdDefns[_T(
"YAGAPRIYA")] = stdDefns[_T(
"MELA_31")];
346 stdDefns[_T(
"RAGAVARDHINI")] = stdDefns[_T(
"MELA_32")];
347 stdDefns[_T(
"GANGEYABHUSHINI")]= stdDefns[_T(
"MELA_33")];
348 stdDefns[_T(
"VAGADHISHWARI")] = stdDefns[_T(
"MELA_34")];
349 stdDefns[_T(
"SHULINI")] = stdDefns[_T(
"MELA_35")];
350 stdDefns[_T(
"CHALANATTAI")] = stdDefns[_T(
"MELA_36")];
352 stdDefns[_T(
"SALAGAM")] = stdDefns[_T(
"MELA_37")];
353 stdDefns[_T(
"JALARNAVAM")] = stdDefns[_T(
"MELA_38")];
354 stdDefns[_T(
"JHALAVARALI")] = stdDefns[_T(
"MELA_39")];
355 stdDefns[_T(
"NAVANEETHAM")] = stdDefns[_T(
"MELA_40")];
356 stdDefns[_T(
"PAVANI")] = stdDefns[_T(
"MELA_41")];
357 stdDefns[_T(
"RAGHUPRIYA")] = stdDefns[_T(
"MELA_42")];
359 stdDefns[_T(
"GAVAMBODHI")] = stdDefns[_T(
"MELA_43")];
360 stdDefns[_T(
"BHAVAPRIYA")] = stdDefns[_T(
"MELA_44")];
361 stdDefns[_T(
"SHUBHAPANTUVARALI")] = stdDefns[_T(
"MELA_45")];
362 stdDefns[_T(
"PANTUVARALI")] = stdDefns[_T(
"MELA_45")];
363 stdDefns[_T(
"SHADVIDHAMARGINI")] = stdDefns[_T(
"MELA_46")];
364 stdDefns[_T(
"SUVARNANGI")] = stdDefns[_T(
"MELA_47")];
365 stdDefns[_T(
"DIVYAMANI")] = stdDefns[_T(
"MELA_48")];
367 stdDefns[_T(
"DHAVALAMBARI")] = stdDefns[_T(
"MELA_49")];
368 stdDefns[_T(
"NAMANARAYANI")] = stdDefns[_T(
"MELA_50")];
369 stdDefns[_T(
"KAMAVARDHINI")] = stdDefns[_T(
"MELA_51")];
370 stdDefns[_T(
"RAMAPRIYA")] = stdDefns[_T(
"MELA_52")];
371 stdDefns[_T(
"GAMANASHRAMA")] = stdDefns[_T(
"MELA_53")];
372 stdDefns[_T(
"VISHWAMBHARI")] = stdDefns[_T(
"MELA_54")];
374 stdDefns[_T(
"SHYAMALANGI")] = stdDefns[_T(
"MELA_55")];
375 stdDefns[_T(
"SHANMUKHAPRIYA")]= stdDefns[_T(
"MELA_56")];
376 stdDefns[_T(
"SIMHENDRAMADHYAMAM")] = stdDefns[_T(
"MELA_57")];
377 stdDefns[_T(
"HEMAVATHI")] = stdDefns[_T(
"MELA_58")];
378 stdDefns[_T(
"DHARMAVATHI")] = stdDefns[_T(
"MELA_59")];
379 stdDefns[_T(
"NEETHIMATHI")] = stdDefns[_T(
"MELA_60")];
381 stdDefns[_T(
"KANTHAMANI")] = stdDefns[_T(
"MELA_61")];
382 stdDefns[_T(
"RISHABHAPRIYA")] = stdDefns[_T(
"MELA_62")];
383 stdDefns[_T(
"LATHANGI")] = stdDefns[_T(
"MELA_63")];
384 stdDefns[_T(
"VACHASPATHI")] = stdDefns[_T(
"MELA_64")];
385 stdDefns[_T(
"MECHAKALYANI")] = stdDefns[_T(
"MELA_65")];
386 stdDefns[_T(
"KALYANI")] = stdDefns[_T(
"MELA_65")];
387 stdDefns[_T(
"CHITRAMBARI")] = stdDefns[_T(
"MELA_66")];
389 stdDefns[_T(
"SUCHARITRA")] = stdDefns[_T(
"MELA_67")];
390 stdDefns[_T(
"JYOTHISWARUPINI")] = stdDefns[_T(
"MELA_68")];
391 stdDefns[_T(
"DHATUVARDHINI")] = stdDefns[_T(
"MELA_69")];
392 stdDefns[_T(
"NASIKABHUSHINI")]= stdDefns[_T(
"MELA_70")];
393 stdDefns[_T(
"KOSALAM")] = stdDefns[_T(
"MELA_71")];
394 stdDefns[_T(
"RASIKAPRIYA")] = stdDefns[_T(
"MELA_72")];
396 stdDefns[_T(
"BILAHARI")] = stdDefns[_T(
"MELA_29")];
397 stdDefns[_T(
"HAMSADHWANI")] = stdDefns[_T(
"MELA_29")];
398 stdDefns[_T(
"HINDOLAM")] = stdDefns[_T(
"MELA_20")];
399 stdDefns[_T(
"KAMBHOJI")] = stdDefns[_T(
"MELA_28")];
400 stdDefns[_T(
"MADHYAMAVATHI")] = stdDefns[_T(
"MELA_22")];
401 stdDefns[_T(
"MOHANAM")] = stdDefns[_T(
"MELA_28")];
402 stdDefns[_T(
"NEELAMBARI")] = stdDefns[_T(
"MELA_29")];
408 stdDefns[_T(
"1ST_SPEED")] = _T(
"1");
409 stdDefns[_T(
"2ND_SPEED")] = _T(
"2");
410 stdDefns[_T(
"3RD_SPEED")] = _T(
"3");
411 stdDefns[_T(
"4TH_SPEED")] = _T(
"4");
412 stdDefns[_T(
"5TH_SPEED")] = _T(
"5");
413 stdDefns[_T(
"6TH_SPEED")] = _T(
"6");
414 stdDefns[_T(
"1ST")] = _T(
"1");
415 stdDefns[_T(
"2ND")] = _T(
"2");
416 stdDefns[_T(
"3RD")] = _T(
"3");
417 stdDefns[_T(
"4TH")] = _T(
"4");
418 stdDefns[_T(
"5TH")] = _T(
"5");
419 stdDefns[_T(
"6TH")] = _T(
"6");
420 stdDefns[_T(
"FIRST")] = _T(
"1");
421 stdDefns[_T(
"SECOND")] = _T(
"2");
422 stdDefns[_T(
"THIRD")] = _T(
"3");
423 stdDefns[_T(
"FOURTH")] = _T(
"4");
424 stdDefns[_T(
"FIFTH")] = _T(
"5");
425 stdDefns[_T(
"SIXTH")] = _T(
"6");
443 stdDefns[_T(
"CARNATIC")] = _T(
"256");
444 stdDefns[_T(
"WESTERN")] = _T(
"256");
462 { S=0, R1=1, R2=2, R3=3,
465 P=7, D1=8, D2=9, D3=10,
467 } ragaSwaraSthanas[][7]=
469 { S, R2, G3, M1, P, D2, N3 },
470 { S, R1, G1, M1, P, D1, N1 },
471 { S, R1, G1, M1, P, D1, N2 },
472 { S, R1, G1, M1, P, D1, N3 },
473 { S, R1, G1, M1, P, D2, N2 },
474 { S, R1, G1, M1, P, D2, N3 },
475 { S, R1, G1, M1, P, D3, N3 },
476 { S, R1, G2, M1, P, D1, N1 },
477 { S, R1, G2, M1, P, D1, N2 },
478 { S, R1, G2, M1, P, D1, N3 },
479 { S, R1, G2, M1, P, D2, N2 },
480 { S, R1, G2, M1, P, D2, N3 },
481 { S, R1, G2, M1, P, D3, N3 },
482 { S, R1, G3, M1, P, D1, N1 },
483 { S, R1, G3, M1, P, D1, N2 },
484 { S, R1, G3, M1, P, D1, N3 },
485 { S, R1, G3, M1, P, D2, N2 },
486 { S, R1, G3, M1, P, D2, N3 },
487 { S, R1, G3, M1, P, D3, N3 },
488 { S, R2, G2, M1, P, D1, N1 },
489 { S, R2, G2, M1, P, D1, N2 },
490 { S, R2, G2, M1, P, D1, N3 },
491 { S, R2, G2, M1, P, D2, N2 },
492 { S, R2, G2, M1, P, D2, N3 },
493 { S, R2, G2, M1, P, D3, N3 },
494 { S, R2, G3, M1, P, D1, N1 },
495 { S, R2, G3, M1, P, D1, N2 },
496 { S, R2, G3, M1, P, D1, N3 },
497 { S, R2, G3, M1, P, D2, N2 },
498 { S, R2, G3, M1, P, D2, N3 },
499 { S, R2, G3, M1, P, D3, N3 },
500 { S, R3, G3, M1, P, D1, N1 },
501 { S, R3, G3, M1, P, D1, N2 },
502 { S, R3, G3, M1, P, D1, N3 },
503 { S, R3, G3, M1, P, D2, N2 },
504 { S, R3, G3, M1, P, D2, N3 },
505 { S, R3, G3, M1, P, D3, N3 },
506 { S, R1, G1, M2, P, D1, N1 },
507 { S, R1, G1, M2, P, D1, N2 },
508 { S, R1, G1, M2, P, D1, N3 },
509 { S, R1, G1, M2, P, D2, N2 },
510 { S, R1, G1, M2, P, D2, N3 },
511 { S, R1, G1, M2, P, D3, N3 },
512 { S, R1, G2, M2, P, D1, N1 },
513 { S, R1, G2, M2, P, D1, N2 },
514 { S, R1, G2, M2, P, D1, N3 },
515 { S, R1, G2, M2, P, D2, N2 },
516 { S, R1, G2, M2, P, D2, N3 },
517 { S, R1, G2, M2, P, D3, N3 },
518 { S, R1, G3, M2, P, D1, N1 },
519 { S, R1, G3, M2, P, D1, N2 },
520 { S, R1, G3, M2, P, D1, N3 },
521 { S, R1, G3, M2, P, D2, N2 },
522 { S, R1, G3, M2, P, D2, N3 },
523 { S, R1, G3, M2, P, D3, N3 },
524 { S, R2, G2, M2, P, D1, N1 },
525 { S, R2, G2, M2, P, D1, N2 },
526 { S, R2, G2, M2, P, D1, N3 },
527 { S, R2, G2, M2, P, D2, N2 },
528 { S, R2, G2, M2, P, D2, N3 },
529 { S, R2, G2, M2, P, D3, N3 },
530 { S, R2, G3, M2, P, D1, N1 },
531 { S, R2, G3, M2, P, D1, N2 },
532 { S, R2, G3, M2, P, D1, N3 },
533 { S, R2, G3, M2, P, D2, N2 },
534 { S, R2, G3, M2, P, D2, N3 },
535 { S, R2, G3, M2, P, D3, N3 },
536 { S, R3, G3, M2, P, D1, N1 },
537 { S, R3, G3, M2, P, D1, N2 },
538 { S, R3, G3, M2, P, D1, N3 },
539 { S, R3, G3, M2, P, D2, N2 },
540 { S, R3, G3, M2, P, D2, N3 },
541 { S, R3, G3, M2, P, D3, N3 },
544 return ragaSwaraSthanas[nMela][nSwara];
585 #endif // KEYSIGNATURE_H__56751CC1_46A2_4238_BAF1_7884CDA8089B__
void SetRagam(const unsigned short nRagam)
KeySignature(const unsigned short nRagam, const unsigned short nTalam)
Carnatic Mode constructor.
const Talam & GetTalam() const
Returns the Talam Value. Valid only when the Mode is CARNATIC. Use GetMode() to find the Mode;...
static unsigned short LookupSwaraSthanaForMela(short nSwara, unsigned short nMela)
void SetMajMin(const Scale bScale)
signed char GetKey() const
Returns the Key Signature value. Based on the Mode, Value will be in the range [-7, 7] or [1, 72]. Use GetMode() to find the Mode.
void SetTalam(const Talam &talam)
Class representing the Key Signature.
static void PopulateSpeedDefinitions(DICTIONARY &stdDefns)
Populates Speed values for Carnatic music.
KeySignature(const signed short nKeySig, const Scale bScale)
Western Mode constructor.
static void PopulateStandardDefinitions(DICTIONARY &stdDefns)
Populates the standard KeySignature Macro defintions into Music String Dictionary Western Key Signatu...
unsigned short & Speed()
Returns the current Song speed. Valid only for Carnatic Mode. Use GetMode() to verify the Mode...
Mode GetMode() const
Returns if the KeySignature refers to Carnatic Mode or Western Mode.
static void PopulateWesternDefinitions(DICTIONARY &stdDefns)
Populates Western Music Scale values.
std::map< MString, MString, StringLess< const TCHAR * > > DICTIONARY
static void PopulateStandardDefinitions(DICTIONARY &stdDefns)
Populates the standard Talam Macro defintions into Music String Dictionary.
KeySignature()
Default constructor.
unsigned char GetMajMin() const
void SetKey(const signed short nKeySig)
static void PopulateCarnaticDefinitions(DICTIONARY &stdDefns)
Populates Carnatic Ragas and Mela values.
Class representing Carnatic Music Talam