Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Minor fixes and added "Album artist" tag #212

Merged
merged 2 commits into from
Aug 10, 2023
Merged

Conversation

jedomed
Copy link
Contributor

@jedomed jedomed commented Aug 4, 2023

Hi, I tried to change the artist tags to make them the same as when downloaded through the bandcamp website, for example:

  • an album is by the album artist "A and B", and there are two tracks: "song 1" by "A" and "song 2" by "B
  • when downloading from bandcamp's website, the track names stay "song 1" and "song 2", the album artist in both songs is "A and B", the artists are "A" and "B" respectively
  • when downloading with upstream bandcamp-dl, the songs are named "A - song 1" and "B - song 2", the album artist is empty, and the artist for both songs are "A and B"

Some music player apps will say that an album has no artist if only the "artist" tags are filled but not "album artist", it's also pretty annoying downloading splits or compilations and having the artists in the track name, instead of the artist tag where they belong.

So, this fork should behave the same as when downloading from bandcamp's website. I've tested it on 3 different cases (single, album by a single artist, album by multiple artists) and so far it seems OK. The changes are:

  • put album artist in the "album artist" tag
  • put track artist in the "artist" tag if it exists, if not then use album artist
  • if an album has multiple artists, don't put artist in the track name (removes first occurrence of a "{Artist} - " string. a little hacky, but I didn't see a track name without an artist name in the JSON...)
  • added {trackartist} to the template, and made {artist} use the album artist, so by default albums with multiple artists stay in a single folder named after the album artist
    • it'd be nicer to add {albumartist} and have {artist} mean "track artist" so it's consistent with the usual tag names, but that would mess with people's existing configs...

And some minor things I came across along the way:

  • if there isn't a track number, use "1"
    • singles don't seem to have a track numbers on Bandcamp, so they would end up with "None" in the "track" tag. it doesn't cause any real problems to my knowledge, but for example eyeD3 throws warnings when it sees it
  • if the "-e" option is used but a track doesn't have lyrics, keep them blank instead of writing "lyrics unavailable" in the metadata (is there a reason for why it does that?)
  • if a template fails to load from config (it happened to me once, but I don't know why) put files in current folder instead of trying to put them in the config folder, which would create a folder called "None"

PS: sorry in advance if I'm doing something wrong, it's my first time making a pull request :-)

…', switched 'artist' for 'album artist' in config template, removed artist name from title if album has different album artist and track artist, removed 'lyrics unavailable' message in track metadata if -e option is used but track doesn't have lyrics, don't put track number in metatada if there isn't one (singles had None in the track tag)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants