beetbox / beetbox/beets

Beets not updating certain tracks with `albumartists` (and other multi-tag fields)

Open
#5,059 7 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
15.7k
Forks
2.1k
Avg merge
4d 21h
Merged PRs (30d)
31

Description

### Problem

Hello again 👋

I'm on latest master, and recently imported this album. However, I noticed there aren't any multi-tags like `albumartists` on it. When I try to explicitly update them, it does not seem to do anything.

```
beet info artist:Plini album:Mirage track:1

/tagged/Plini/[2023] Mirage/01 - The Red Fox.mp3
acoustid_fingerprint: AQADtFESKUmUKUmSCE30HOfRxIIeMcfWEQ9hXsdPwJJz_ISOG9WPqjDRQ1eIVkL-wppxwR964rkQ3lgNk4GOu8NjEscWoedT9IEWa2HwoXyaESJx_dheD30Ibc_g6yjfI_xhZsd2HPmS4_B36Jfww9N4_MePn_hItDs0N4ezoT_6wzoevDj8Q7_x4xpMTkeOkxf-wnuIR0f6i8MD7UWeMXiPyg_CaNCV40e-3fhwbchR34KWMUOu_LjRSx9sHfXRnBp6BT8wZeRBdcQV4UgvQU3YEjFPmJKKHQd8Hklujkj9ob4s_GiSB8wn5JF66MnmBmEy5ph29FkupIce8XgyIa2N6UyMH01X8AsaT8eOH8_yDNUJi5mKPsdJHeGPLc4LceGDUtKJ7IRVBqMq44n0Es2JO8ePP-ja4x0q8UQu4dBeBzl1XF2M5kQV7kGfrUGDJ9ORFxqPbdnRLwePJ_2gPJGO2HrwB32yo_-Q6wr6PISWDvma4T9u9HuxD7UJ_qi-CGNa_HiE9BXqTMeTHf-LfgkJLQf-FnrOIMzxR-iq4znmgNMvYx-JvkcYK9BbEuHh58F--Dw4lSs2TTzep3BFHn1xfLiy4xMeHb8enOnQC0354QpxKkt4PD1848uOnT9OMPnRH3tW_Boqwi5ywQuh6Sh8Mzhzw0vUo8uD-3iOKVWUbigjTBSmPMNL4acgJlP04Bci5yiXw8dxB-9yIm74QxxzBk94wXF2_MI7uNvx7MG8wB-0j7j4HBeaHKXxD8xx_Dh8HHvQF7H64xdK2fAzoj8uV2j9w9aHPsZpkTgaTUdP4jo-9JvQvLgQnsc_iB_SyTjwCH234Thv9MOVDsWH6ti6E66I4-aF1O7RE_iJY1oJ8Qt-eF2Oa8Zx5MO_o_xRHc7x7Xhp3Dh59B6-DiHJQwwv5Llx5vh-_DCx56CYTEQ9HtM1OCI3WBbKHreMH-VzONQj2Jok4xccCWEj_NgFtZ_AHI1mFkfPw0d7o_QqyB72DUdzfA9UkUfMJvBxLejhSEKf6Kj54Uj4XELJ49h__IEWMPtRPTh0gzpy7IuIxsd15PrRPKjOBfJkNNvRRtfQi4cYPUN15bhw_dgPnUczHlcO9sMl9OCgHds0XMzRdMuhfzhiJ0IjPUetHBfq_biPB9t1fGDyF_vxZFGEkvyQ_Mjh_-h7_MEZTmjzw5XQhcE1xI106OWQP0RY9YHHE_2hf3imIeTRcA9i7eihXCQpWM0Qo0-OHp50_MhcwWMJ7Rl2Br9wQR8axgmNUMmP--iLptKRM46gS4rQoxmeM_ixH2LSHNdB9xGaHz1aSKo0Cj3-4MWe4xeqzDm05Bue40efFvqWCG2Osjum4xH4Qz-2HMehhUuwXsiU49jLoqZy_DhPxD7khkc6HSfe4GJ2TBQ3CUw4JdjRpR-aD09wp_Ae5Az0BWcQXjJM6uiP_oK58MghXkNutMfNA8eP_oheDskOPvjwLMd-_MSPZIpUIz0cqvg_7IeP-jiqgRV-JEfQfDPYo1p0OOGHyeKG_NByhA9DXGiYoB-qD_7RbSlOPF8QnhCz9dg15EcvSjj6E-xU9MxxJdIlrA1q-DleDheNMzws_QhJ1khKBTeu4dNxlDbh7Eep1PjQHwlvIT3KRDnxLGZxHdWZGkZ-6EhTH118HM9G4iLxXAj1wCoPTc-OHU9qEaGPP8fJHM6PThFFZKHSDOI9Iv2KKs4D_Ch5FV5yCc0nCu_R5EcSbRbyNKzwXDmmrIeTH7USBc_xFz2zI4yuQ9fxo6lonOLhHl9-5D-OK0txKZODB-Xx9biYB93RhCmHO8WN-7hk4imLpPGETPnxccFJgT3uRPCUDrw0xGM4qPmRPrGE56hzNN_Bkzp6hDmk40sSDvl0fL4C1g-aI7RznAnko1J4NLvwNILOo5mELUv2DN0F1VGC88h7OMzxOR6O6vix6cfTp7iO7HvwYBWPMCGeD2d0-JmOR6LgC7-HRzeSLmkupGNm_Ngv42AyTTraZDzyEpUYK4JHHuGLJ0yOu8CUJ0X_FY_C4znySkh2JUVD5scf4XjCwx1xdH5whKYMeeFxJ0cYHj32Dz_SHrqSI2eIXTomTzALFq6D8IoORfYRJomVGFcIP5Tx4zlCl9AyEvmyBMekLIdDHc_B5MfHC0ieEFeO-ME-NE-OUByhJ0ODSE8XfGKSIvzhB-KUZERIiUd1NNyDT0xXfAtOSUfPoLmMP52xKzCTIzquB2q4hEcuWjKaY98P_0G7LMddIszRK8aPcKJyNI6UHdePJkflDK9moUlr1FpwIg-aFz1O5biSdDr2B3lyojlqLTnqDI2aBzcOJu_RH6EVJYfMIDf-ws8PP_lQp8SzBc17oTzii4NeJQ7CSIlQSwd__MgPXcwRNkn2wk-P4o6CbA-0H_l4MD6-x_jooCQNH21EXAtOJGtz5MePK1uC9wlcU8j2HCKLvAIlKkd9fKOD__iRpYsE6SRyCb1QSTr-wNfhMAxyKihbEf_xC3Mjw9qW4skOncK_IzcqMXvwhHERLzSO5syJN4oR_egPH7zQUDbO5Qg_AOGEEkICBABBSCFkDANMCuWIQ8CYIBAJhAmhJGIEIEeUGIIJaBwFQBBgAAAOEQKEMqIhYRBDmAEQjAGCCSKoFIQYgwARwhAFCBJaAMgZYcYgGIGAQghjACCEAAKtIFQAIBgwCBFAiBECCCuAEYwIBAwSDgFlCCoWAECEIgYiQhgAAAIigBDGECGEAYoIQAhxlDjlCCECEIAAARwIw4AAAhDiATEGCAGMENAgAIQAAjBiDCAAIUQIEAgBIQwTAhDACAOKCsCAIcx4pBgQQABAgGGECaIEAUQYK4EgQhpKHCDCOGEEAYQo4C0ziBHAiDBIWAEMMkQoEkAAQhhGBDDCSOqMMIJAYwWBhijkAHACISIAYsIJAwwUAglAhCaUCGCARVQBAYQEQlgAEAgCAAEEZVCJ4YhTgiCjhCACQIYMcUAaIwBhFhtikGAAGCMMEVYQUAgihDioiBCACEmIkEIJAYzASlCBlBXCIAOJsMwwIAAwUCBCCHEEIgA4MEIRKkhBxCDDEIIEACFBMZJ44hpBBDlBlDCMA0AQ0iAJIJgQQikCFAAYMFagENIKyoBxEBCAAQAAmqAwkEAoQoQWCCGgjBJOECEFFUA4YJBSiAigFEMADIcEQhoJhIBwxBnpgDFSAGEMI0ARB4yhBCmDBDPGGQYEIQI5QIQhCgnjBAIOAEKEQAAaAwCCiBiGkEAMgkQJMIY7QIywggCgABAAASIdRUJARohgAgiHjEAAOQOoQooYRJwEQAjBkBIuKAksYogSYghigADBkEcETDMAYAoRKpiAyjjgAAAQIEmkRk4IaAhBQmpgiGAGIYeMIEAIRIRlCAgiAEAAEIUAABIQAxgVjgEFqACAKYQAoQ4Aw4QByAAAhBHACUApEVQCIgAighhACCAGiYWUssAIgIwwxgBHAGTMACMkEMYwASgSUAAhAQIBCIWUUAAIAQ
acoustid_id: 52fc8350-7a31-4bca-a8c0-bb120bb637b2
album: Mirage
albumartist: Plini
albumartist_credit: Plini
albumartist_sort: Plini
albumstatus: Official
albumtype: [
albumtypes: [; '; e; '; ,; ; '; p; '; ]
arranger:
art: True
artist: Plini
artist_credit: Plini
artist_sort: Plini
bitdepth: 0
bitrate: 320000
bitrate_mode: CBR
bpm: 0
channels: 2
comp: False
country: XW
date: 2023-12-01
day: 1
disc: 1
disctotal: 1
encoder_info:
encoder_settings:
format: MP3
genre: Unset
genres: Unset
isrc: AUGBT2344515
language: eng
languages: eng
length: 397.032
lyrics:
mb_albumartistid: 3f6c0aa1-a7a9-4ff2-9c50-e84d4b0de178
mb_albumartistids: 3f6c0aa1-a7a9-4ff2-9c50-e84d4b0de178
mb_albumid: 27ee6d3c-54c1-4c94-b6f3-e19d45a4b93f
mb_artistid: 3f6c0aa1-a7a9-4ff2-9c50-e84d4b0de178
mb_artistids: 3f6c0aa1-a7a9-4ff2-9c50-e84d4b0de178
mb_releasegroupid: e98f1b1c-4f85-4cb8-9d70-1fa117c31ef3
mb_releasetrackid: fda2811d-515e-4965-bfb7-69bc9be88f29
mb_trackid: 3f02a861-cd61-4185-a9ec-ea276603a305
media: Digital Media
month: 12
original_date: 2023-12-01
original_day: 1
original_month: 12
original_year: 2023
rg_album_gain: -8.34
rg_album_peak: 0.988553
rg_track_gain: -8.4
rg_track_peak: 0.977237
samplerate: 48000
script: Latn
title: The Red Fox
track: 1
tracktotal: 5
year: 2023
```
Though it does populate the multi-tag fields `mb_albumartistids` 🤔

Sanity check that I'm on latest master w/multi tags:
```
beet fields | grep albumartists
albumartists
albumartists_credit
albumartists_sort
albumartists
albumartists_credit
albumartists_sort
```

When I try to update:
```
beet update -p artist:Plini album:Mirage track:1 # returns nothing
```

### Setup

* OS: Alpine Linux
* Python version: 3.11
* beets version: Latest master
* Turning off plugins made problem go away (yes/no): no

My configuration (output of `beet config`) is:

```
plugins: deezer mbsync inline fetchart convert scrub replaygain chroma permissions info web
directory: /tagged
library: /config/musiclibrary.blb
art_filename: folder
threaded: yes
original_date: yes
per_disc_numbering: yes

deezer:
source_weight: 0.0

match:
strong_rec_thresh: 0.10
ignored: missing_tracks unmatched_tracks

convert:
auto: yes
ffmpeg: /usr/bin/ffmpeg
opts: -ab 320k -ac 2 -ar 48000
max_bitrate: 320
threads: 1
quiet: yes
never_convert_lossy_files: yes
embed: no
delete_originals: yes
#tmpdir: /downloads/.tmp/

item_fields:
multidisc: 1 if disctotal > 1 else 0

paths:
default: $albumartist/[$original_year] $album%aunique{}/%if{$multidisc,$disc-}$track - $title
singleton: Non-Album/$artist - $title
comp: Various Artists/[$original_year] $album%aunique{}/%if{$multidisc,$disc-}$track - $title
albumtype_soundtrack: Soundtracks/[$original_year] $album%aunique{}/%if{$multidisc,$disc-}$track - $title

import:
write: yes
copy: no
move: yes
resume: ask
incremental: yes
quiet_fallback: skip
timid: no
log: /config/beet.log
set_fields:
genre: "Unset"

musicbrainz:
extra_tags: [year, originalyear, catalognum, country, media, label]

fetchart:
auto: yes
cover_names: cover front art album folder
enforce_ratio: yes
sources:
- coverart
- itunes
- amazon
- albumart
- fanarttv
- wikipedia
- filesystem

replaygain:
auto: yes
backend: ffmpeg
overwrite: yes

scrub:
auto: yes

permissions:
file: 664
dir: 775

replace:
'^\.': _
'[\x00-\x1f]': _
'[<>:"\?\*\|]': _
'[\xE8-\xEB]': e
'[\xEC-\xEF]': i
'[\xE2-\xE6]': a
'[\xF2-\xF6]': o
'[\xF8]': o
'\.$': _
'\s+$': ''

clutter:
- "*.png"
- "*.jpg"
- "*.nfo"
- "*.txt"
- "Thumbs.DB"
- ".DS_Store"

pluginpath:
- /config/beets/beetsplug
```

Contributor guide

Open the contributing guide

Research direction

Reproduce the report with `beet info`, `beet fields`, and `beet update` against the shown Plini/Mirage track. Start by reviewing the update path and the enabled plugins in the supplied configuration, then verify that multi-tag fields are updated consistently while existing `mb_albumartistids` behavior remains intact.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
cli
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.