chord_progression_parser/model/
key.rs1use serde::{Deserialize, Serialize};
2use strum_macros::EnumString;
3use typeshare::typeshare;
4
5#[typeshare]
6#[allow(non_camel_case_types)]
7#[derive(Debug, PartialEq, Clone, EnumString, Serialize, Deserialize)]
8pub enum Key {
9 #[strum(serialize = "Cb")]
10 #[serde(rename = "Cb")]
11 Cb_M, #[strum(serialize = "Cbm")]
13 #[serde(rename = "Cbm")]
14 Cb_m, #[strum(serialize = "C")]
16 #[serde(rename = "C")]
17 C_M, #[strum(serialize = "Cm")]
19 #[serde(rename = "Cm")]
20 C_m, #[strum(serialize = "C#")]
22 #[serde(rename = "C#")]
23 Cs_M, #[strum(serialize = "C#m")]
25 #[serde(rename = "C#m")]
26 Cs_m, #[strum(serialize = "Db")]
28 #[serde(rename = "Db")]
29 Db_M,
30 #[strum(serialize = "Dbm")]
31 #[serde(rename = "Dbm")]
32 Db_m,
33 #[strum(serialize = "D")]
34 #[serde(rename = "D")]
35 D_M,
36 #[strum(serialize = "Dm")]
37 #[serde(rename = "Dm")]
38 D_m,
39 #[strum(serialize = "D#")]
40 #[serde(rename = "D#")]
41 Ds_M,
42 #[strum(serialize = "D#m")]
43 #[serde(rename = "D#m")]
44 Ds_m,
45 #[strum(serialize = "Eb")]
46 #[serde(rename = "Eb")]
47 Eb_M,
48 #[strum(serialize = "Ebm")]
49 #[serde(rename = "Ebm")]
50 Eb_m,
51 #[strum(serialize = "E")]
52 #[serde(rename = "E")]
53 E_M,
54 #[strum(serialize = "Em")]
55 #[serde(rename = "Em")]
56 E_m,
57 #[strum(serialize = "E#")]
58 #[serde(rename = "E#")]
59 Fb_M,
60 #[strum(serialize = "E#m")]
61 #[serde(rename = "E#m")]
62 Fb_m,
63 #[strum(serialize = "F")]
64 #[serde(rename = "F")]
65 F_M,
66 #[strum(serialize = "Fm")]
67 #[serde(rename = "Fm")]
68 F_m,
69 #[strum(serialize = "F#")]
70 #[serde(rename = "F#")]
71 Fs_M,
72 #[strum(serialize = "F#m")]
73 #[serde(rename = "F#m")]
74 Fs_m,
75 #[strum(serialize = "Gb")]
76 #[serde(rename = "Gb")]
77 Gb_M,
78 #[strum(serialize = "Gbm")]
79 #[serde(rename = "Gbm")]
80 Gb_m,
81 #[strum(serialize = "G")]
82 #[serde(rename = "G")]
83 G_M,
84 #[strum(serialize = "Gm")]
85 #[serde(rename = "Gm")]
86 G_m,
87 #[strum(serialize = "G#")]
88 #[serde(rename = "G#")]
89 Gs_M,
90 #[strum(serialize = "G#m")]
91 #[serde(rename = "G#m")]
92 Gs_m,
93 #[strum(serialize = "Ab")]
94 #[serde(rename = "Ab")]
95 Ab_M,
96 #[strum(serialize = "Abm")]
97 #[serde(rename = "Abm")]
98 Ab_m,
99 #[strum(serialize = "A")]
100 #[serde(rename = "A")]
101 A_M,
102 #[strum(serialize = "Am")]
103 #[serde(rename = "Am")]
104 A_m,
105 #[strum(serialize = "A#")]
106 #[serde(rename = "A#")]
107 As_M,
108 #[strum(serialize = "A#m")]
109 #[serde(rename = "A#m")]
110 As_m,
111 #[strum(serialize = "Bb")]
112 #[serde(rename = "Bb")]
113 Bb_M,
114 #[strum(serialize = "Bbm")]
115 #[serde(rename = "Bbm")]
116 Bb_m,
117 #[strum(serialize = "B")]
118 #[serde(rename = "B")]
119 B_M,
120 #[strum(serialize = "Bm")]
121 #[serde(rename = "Bm")]
122 B_m,
123 #[strum(serialize = "?")]
124 #[serde(rename = "?")]
125 UnIdentified,
126}