Skip to main content

chord_progression_parser/model/
extension.rs

1use 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}