beets icon indicating copy to clipboard operation
beets copied to clipboard

mbsync not picking up all the missing tags from musicbrains

Open gbcox opened this issue 3 years ago • 5 comments

I just tried the mbsync plug and I was under the impression that it was to update the tags to the current state of the musicbrainz database. In otherwords, since I initially tagged the track/album the following tags were added: Artists; Barcode; Original Year but when I ran mbsync, nothing was updated in the file tags. I double checked that my config file had nothing set under imports for write, and the default is yes, so that wasn't the issue.

I also noticed for the Record Label tag, MBSync doesn't update it. MBSync keeps it for example: Capital Records, where Picard says it should be Capital Records; Fonograf Records

Release status shows: Official while picard reports "official".

gbcox avatar Aug 29 '22 17:08 gbcox

Hello! When you report a problem, it really helps us if you use the issue template. I know it looks like a lot of extra information, but actually including the verbose output from running the command and your versions can help us understand what's happening.

sampsyo avatar Aug 31 '22 16:08 sampsyo

Thanks for the reply. Here is the information in the format you requested.

Problem

Running this command in verbose (-vv) mode:

$ beet -vv mbsync leonard cohen future
user configuration: /home/gbcox/.config/beets/config.yaml
data directory: /home/gbcox/.config/beets
plugin paths: 
Sending event: pluginload
library database: /home/gbcox/.config/beets/library.db
library directory: /vault/music
Sending event: library_opened
Requesting MusicBrainz release 860287b7-ff56-4c12-a346-da2722414aed
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_album_extract
Sending event: albuminfo_received
mbsync: applying changes to Leonard Cohen - The Future
Leonard Cohen - The Future - The Future
  albumtypes:  -> album
  work:  -> The Future
  track_alt: 1
  data_source: MusicBrainz
Sending event: write
Sending event: after_write
Sending event: database_change
Leonard Cohen - The Future - Waiting for the Miracle
  albumtypes:  -> album
  work:  -> Waiting for the Miracle
  track_alt: 2
  data_source: MusicBrainz
Sending event: write
Sending event: after_write
Sending event: database_change
Leonard Cohen - The Future - Be for Real
  albumtypes:  -> album
  work:  -> Be for Real
  track_alt: 3
  data_source: MusicBrainz
Sending event: write
Sending event: after_write
Sending event: database_change
Leonard Cohen - The Future - Closing Time
  albumtypes:  -> album
  work:  -> Closing Time
  track_alt: 4
  data_source: MusicBrainz
Sending event: write
Sending event: after_write
Sending event: database_change
Leonard Cohen - The Future - Anthem
  albumtypes:  -> album
  work:  -> Anthem
  track_alt: 5
  data_source: MusicBrainz
Sending event: write
Sending event: after_write
Sending event: database_change
Leonard Cohen - The Future - Democracy
  albumtypes:  -> album
  work:  -> Democracy
  track_alt: 6
  data_source: MusicBrainz
Sending event: write
Sending event: after_write
Sending event: database_change
Leonard Cohen - The Future - Light as the Breeze
  albumtypes:  -> album
  work:  -> Light as the Breeze
  track_alt: 7
  data_source: MusicBrainz
Sending event: write
Sending event: after_write
Sending event: database_change
Leonard Cohen - The Future - Always
  albumtypes:  -> album
  work:  -> Always
  track_alt: 8
  data_source: MusicBrainz
Sending event: write
Sending event: after_write
Sending event: database_change
Leonard Cohen - The Future - Tacoma Trailer
  albumtypes:  -> album
  work:  -> Tacoma Trailer
  track_alt: 9
  data_source: MusicBrainz
Sending event: write
Sending event: after_write
Sending event: database_change
Sending event: database_change
Sending event: database_change
Sending event: database_change
Sending event: database_change
Sending event: database_change
Sending event: database_change
Sending event: database_change
Sending event: database_change
Sending event: database_change
Sending event: database_change
Sending event: cli_exit
plexupdate: Updating Plex library...
plexupdate: ... started.

Led to this problem:

You can see from Picard that the tags aren't being sync'd:
![image](https://user-images.githubusercontent.com/4543019/187759423-368cb1e8-a30e-4948-a3c7-f3ff4b0eb221.png)
![image](https://user-images.githubusercontent.com/4543019/187759578-57b5b9a0-c858-437a-b8f1-6ef468157356.png)
![image](https://user-images.githubusercontent.com/4543019/187759725-501ffe15-48b1-4d80-b744-4e654cb22025.png)

Here's a link to the music files that trigger the bug (if relevant):

Setup

  • OS: Fedora 36
  • Python version: 3.10.6
  • beets version: 1.6.0
  • Turning off plugins made problem go away (yes/no): N/A... the problem is with a plugin

My configuration (output of beet config) is:

beet config
directory: /vault/music
library: /home/gbcox/.config/beets/library.db

import:
    write: yes
    copy: no

match:
    preferred:
        media: [CD]

plugins: web plexupdate unimported mbsync
plex:
    host: localhost
    port: 32400
    token: REDACTED
    library_name: Music
    secure: no
    ignore_cert_errors: no
unimported:
    ignore_extensions: []
web:
    host: 127.0.0.1
    port: 8337
    cors: ''
    cors_supports_credentials: no
    reverse_proxy: no
    include_paths: no
    readonly: yes

gbcox avatar Aug 31 '22 19:08 gbcox

Here are the images, they didn't display in the previous comment:

image image image

gbcox avatar Aug 31 '22 19:08 gbcox

Thank you; this is indeed very helpful!

I think the issue may have to do with the specific fields that are being updated here. In particular:

  • Beets does not currently fetch barcode information (#3172).
  • MediaFile (and therefore beets) only uses the compound "original date" field for tag mapping. It does not also write a separate "original year" field, as described in the Picard docs.
  • It's not clear where the difference in capitalization for the album status comes from. You can see in this response from MB, MB itself is reporting capitalized "Official." So I'm not sure why Picard is using lower-case "official."

So, in general, these issues may be case-by-case differences between Picard and beets in the way they handle specific fields, rather than a general problem in mbsync.

sampsyo avatar Aug 31 '22 20:08 sampsyo

Thank you for the fast response! New to this and just trying to understand what to expect. Regarding the lowercase "original" I let the picard folks know. Would be nice to have mbsync automagically pickup the barcode when available.

gbcox avatar Aug 31 '22 21:08 gbcox

Is this still relevant? If so, what is blocking it? Is there anything you can do to help move it forward?

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

stale[bot] avatar Nov 01 '22 15:11 stale[bot]