eryon_nrt/types/
harmonic_funcs.rs

1/*
2    Appellation: harmonic_functions <module>
3    Contrib: @FL03
4*/
5
6/// Harmonic functions in tonal music
7#[derive(
8    Clone,
9    Copy,
10    Debug,
11    Eq,
12    Hash,
13    Ord,
14    PartialEq,
15    PartialOrd,
16    strum::AsRefStr,
17    strum::Display,
18    strum::EnumCount,
19    strum::EnumIs,
20    strum::EnumIter,
21    strum::EnumString,
22    strum::VariantArray,
23    strum::VariantNames,
24)]
25#[cfg_attr(
26    feature = "serde",
27    derive(serde_derive::Deserialize, serde_derive::Serialize),
28    serde(rename_all = "snake_case")
29)]
30#[strum(serialize_all = "snake_case")]
31pub enum HarmonicFunction {
32    Ambiguous,
33    Dominant,
34    LeadingTone,
35    Mediant,
36    Predominant,
37    Secondary,
38    Subdominant,
39    Submediant,
40    Supertonic,
41    Tonic,
42}