pub struct ChordSymbol {
pub root: String,
pub kind: String,
pub bass: Option<String>,
pub placement: Option<String>,
pub extender: bool,
pub harmonic_degree: Option<String>,
pub harmony_function: Option<String>,
pub harmony_type: Option<String>,
pub chord_ref: Option<String>,
pub range_end: Option<NoteAddr>,
pub degrees: Vec<ChordDegree>,
}Expand description
Structured chord symbol attached to a note.
Fields§
§root: StringRoot note name: “C”, “F#”, “Bb”, etc.
kind: StringMusicXML harmony kind: “major”, “minor”, “dominant”, “major-seventh”, etc.
bass: Option<String>Slash-chord bass note.
placement: Option<String>Optional vertical placement hint from interchange formats (for example above/below).
extender: boolWhether the source harmony carries a continuation/extender line.
harmonic_degree: Option<String>MEI harmonic-analysis scale degree (Humdrum **deg syntax), when supplied.
harmony_function: Option<String>MEI harmonic function token (for example T, PD, or D), when supplied.
harmony_type: Option<String>MEI harm@type classification token(s), when supplied.
chord_ref: Option<String>MEI harm@chordref URI, retained without resolving an external chord definition.
range_end: Option<NoteAddr>Optional note address where a harmony range ends.
This is primarily used by MEI harm@tstamp2/endid. The field is
optional so older score JSON and formats without harmony ranges remain
fully compatible.
degrees: Vec<ChordDegree>Structured chord extensions such as add9, alter5, or omit3.
Implementations§
Source§impl ChordSymbol
impl ChordSymbol
Sourcepub fn kind_for_suffix(suffix: &str) -> Option<&'static str>
pub fn kind_for_suffix(suffix: &str) -> Option<&'static str>
The chord kind a compact label suffix ("m7", "aug7", "13") stands for.