pub struct Artist {
pub id: Id,
pub name: String,
pub sort_name: String,
pub key: String,
pub mbid: Option<String>,
pub aliases: Vec<String>,
}Expand description
Person or group. The person/group distinction will come from MusicBrainz.
Fields§
§id: IdPosition in Catalog::artists; credits and relations refer to it.
name: StringName exactly as written in the tags, before normalization.
sort_name: StringFiling form, with a leading article moved to the end: Beatles, The.
key: StringNormalized matching key (see crate::text::normalize).
mbid: Option<String>MusicBrainz identifier, when one of the files carried it.
aliases: Vec<String>Other spellings of this name, merged in because the files carrying them carried the same MusicBrainz identifier.
Kept so the merge can be seen. Two rows becoming one is a decision,
and a decision the reader cannot see is one they cannot check: a shelf
that lists Ozzy Osbourne and no longer lists O. Osbourne leaves them
unable to tell a merge that happened from a folder that was never
scanned. Normalised, since that is the form the merge was decided on,
and sorted so two runs over one library answer alike.