Beets not updating certain tracks with `albumartists` (and other multi-tag fields)
- 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
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