mb_albumartistid (and other .single_field() fields) can't be set independently of their plural list
- Dominant language
- Python
- Stars
- 120
- Forks
- 41
- PR merge metrics
- No merged PRs in 30d
Description
In mediafile, `mb_albumartistid = mb_albumartistids.single_field()` shares the plural field's underlying storage rather than being independent. Setting only the singular field, then writing all tags, silently reverts it to `mb_albumartistids[0]` — the untouched plural list re-applies to the same key (reproduced on FLAC/Vorbis).
Same pattern affects: mb_artistid, genre, composer, lyricist, arranger, albumtype, catalognum, language — all defined via `.single_field()`.
I believe that this should respect an override, perform a write-time consistency check, or at the very least a documentation note.
Contributor guide
Research direction
Start by reproducing the FLAC/Vorbis case, then trace the mb_albumartistid/mb_albumartistids definitions and the other .single_field() fields listed in the issue. Done means a singular-only assignment is not silently replaced when all tags are written, with the chosen override, consistency check, or documentation behavior made explicit.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- tooling
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100