chord_progression_parser/model/
extension.rs1use serde::{Deserialize, Serialize};
2use strum_macros::{Display, EnumString, VariantNames};
3use typeshare::typeshare;
4
5#[typeshare]
6#[derive(Debug, PartialEq, Clone, Display, EnumString, VariantNames, Serialize, Deserialize)]
7pub enum Extension {
8 #[strum(serialize = "2")]
9 #[serde(rename = "2")]
10 Two,
11 #[strum(serialize = "3")]
12 #[serde(rename = "3")]
13 Three,
14 #[strum(serialize = "b3")]
15 #[serde(rename = "b3")]
16 FlatThree,
17 #[strum(serialize = "4")]
18 #[serde(rename = "4")]
19 Four,
20 #[strum(serialize = "b5")]
21 #[serde(rename = "b5")]
22 FlatFive,
23 #[strum(serialize = "5")]
24 #[serde(rename = "5")]
25 Five,
26 #[strum(serialize = "#5")]
27 #[serde(rename = "#5")]
28 SharpFive,
29 #[strum(serialize = "b6")]
30 #[serde(rename = "b6")]
31 FlatSix,
32 #[strum(serialize = "6")]
33 #[serde(rename = "6")]
34 Six,
35 #[strum(serialize = "7")]
36 #[serde(rename = "7")]
37 Seven,
38 #[strum(serialize = "b9")]
39 #[serde(rename = "b9")]
40 FlatNine,
41 #[strum(serialize = "9")]
42 #[serde(rename = "9")]
43 Nine,
44 #[strum(serialize = "#9")]
45 #[serde(rename = "#9")]
46 SharpNine,
47 #[strum(serialize = "b11")]
48 #[serde(rename = "b11")]
49 FlatEleven,
50 #[strum(serialize = "11")]
51 #[serde(rename = "11")]
52 Eleven,
53 #[strum(serialize = "#11")]
54 #[serde(rename = "#11")]
55 SharpEleven,
56 #[strum(serialize = "b13")]
57 #[serde(rename = "b13")]
58 FlatThirteen,
59 #[strum(serialize = "13")]
60 #[serde(rename = "13")]
61 Thirteen,
62 #[strum(serialize = "#13")]
63 #[serde(rename = "#13")]
64 SharpThirteen,
65 #[strum(serialize = "M7")]
66 #[serde(rename = "M7")]
67 MajorSeven,
68 #[strum(serialize = "M9")]
69 #[serde(rename = "M9")]
70 MajorNine,
71 #[strum(serialize = "M11")]
72 #[serde(rename = "M11")]
73 MajorEleven,
74 #[strum(serialize = "M13")]
75 #[serde(rename = "M13")]
76 MajorThirteen,
77 #[strum(serialize = "add9")]
78 #[serde(rename = "add9")]
79 Add9,
80 #[strum(serialize = "add11")]
81 #[serde(rename = "add11")]
82 Add11,
83 #[strum(serialize = "add13")]
84 #[serde(rename = "add13")]
85 Add13,
86 #[strum(serialize = "sus2")]
87 #[serde(rename = "sus2")]
88 Sus2,
89 #[strum(serialize = "sus4")]
90 #[serde(rename = "sus4")]
91 Sus4,
92 #[strum(serialize = "o")]
93 #[serde(rename = "o")]
94 HalfDiminish,
95}