jack-cli-cd-ripper / jack

Jack command-line CD ripper
GNU General Public License v2.0
14 stars 5 forks source link

python3-mb: do not always use "and" to concatenate performer instruments #24

Closed pimzand closed 2 years ago

pimzand commented 4 years ago

When more than two instruments are listed for a performer, like in https://musicbrainz.org/release/94bc2804-ff37-32d0-9d01-6c5f63185d2f , do not concatenate them with "and" only, but start using comma's, like MusicBrainz Picard would do.

zzarne commented 2 years ago

please test.

pimzand commented 2 years ago

Almost.

It used to be

PERFORMER=John Acock (harmonium and mellotron and piano) PERFORMER=Phil Collins (guest and membranophone and percussion and vibraphone and additional) PERFORMER=John Hackett (bell and flute and guest and synthesizer) PERFORMER=Steve Hackett (acoustic guitar and autoharp and bell and electric guitar and harmonium and mellotron and vocals) PERFORMER=Robin Miller (cor anglais and oboe) PERFORMER=Mike Rutherford (12 string guitar and bass guitar and bass pedals and guest) PERFORMER=Nigel Warren-Green (cello and solo)

Now it is

PERFORMER=John Acock (harmonium, mellotron, and piano) PERFORMER=Phil Collins (guest, membranophone, percussion, vibraphone, and additional) PERFORMER=John Hackett (bell, flute, guest, and synthesizer) PERFORMER=Steve Hackett (acoustic guitar, autoharp, bell, electric guitar, harmonium, mellotron, and vocals) PERFORMER=Robin Miller (cor anglais and oboe) PERFORMER=Mike Rutherford (12 string guitar, bass guitar, bass pedals, and guest) PERFORMER=Nigel Warren-Green (cello and solo)

Note the comma before "and", which is why MusicBrainz Picard still does not flag this file as perfectly tagged.

zzarne commented 2 years ago

better now?

pimzand commented 2 years ago

Perfect!

But sadly still different from how Picard would tag the same release. Apparently, vocals and instruments need to be grouped separately, which makes sense. Vocals need the word "vocals" as a suffix. Also, "guest" and "additional" need to be the first word, and not be followed by a comma. Ideally leading to PERFORMER=Phil Collins (additional vocals) PERFORMER=Phil Collins (guest membranophone, percussion and vibraphone) Of course this all has nothing to do with the human_readable_list function which works as it should, but rather with the MusicBrainz data parsing.

Thanks for making me read https://en.wikipedia.org/wiki/Ofxord_comma !

pimzand commented 2 years ago

Closing, the performer grouping is a separate issue.