Function split_artists

Source
pub fn split_artists(raw: &str) -> Vec<String>
Expand description

Splits multiple artists out of a single tag field.

Real libraries mix every convention: ;, /, feat., &… We cut on the safe separators and leave & and and alone, because “Simon & Garfunkel” or “Earth, Wind & Fire” are band names, not lists.

That last rule is why this is the fallback and not the answer. A tag reading Rob Zombie & Ozzy Osbourne is two artists and one that reads Simon & Garfunkel is one, and no amount of looking at the string can tell them apart. The tag that can is ARTISTS, which taggers write with one value per artist for exactly this reason; see crate::model::builder, which prefers it wherever a file carries it and falls back here only when none does.