Bug 513255 - Multiple values in the same tag are not shown in MP3 ID3v2.4.0
Summary: Multiple values in the same tag are not shown in MP3 ID3v2.4.0
Status: RESOLVED FIXED
Alias: None
Product: kid3
Classification: Applications
Component: general (other bugs)
Version First Reported In: 3.9.x
Platform: Arch Linux Linux
: NOR normal
Target Milestone: ---
Assignee: Urs Fleisch
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2025-12-12 14:48 UTC by davpar5012
Modified: 2025-12-14 15:14 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed/Implemented In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description davpar5012 2025-12-12 14:48:30 UTC
SUMMARY
When editing tags in a previously tagged mp3 file with ID3v2.4 tags, if the tag has more than one value (ie. more than one artist in the ARTISTS field), only the first one is shown, and thus editable in Kid3.

STEPS TO REPRODUCE
1. Grab a MP3 file with multiple artists (for the sake of demostration, since it's easy one tag will end up with more than one value)
2. Tag it using beets (that's the one I generally use)
3. Open in Kid3 to edit some tags

OBSERVED RESULT
Only the first value is shown, the rest are not.

EXPECTED RESULT
The multiple values should appear as a list inside the value cell of the tag with multiple values, and as such, be  editable. Or maybe each value in a different row with the same tag, as happens with Vorbis comments metadata.

SOFTWARE/OS VERSIONS
Linux: 6.17.9-arch1-1 (64-bit)
KDE Plasma Version: 6.5.4
KDE Frameworks Version: 6.20.0
Qt Version: 6.10.1

ADDITIONAL INFORMATION
The problem is not only present in Kid3, but is the one that affects me the most. For instance, in a certain song that has multiple artists, beets adds the MusicBrainz Artist ID for every artist in the song, and I can see them in the file itself using xxd  (separated by .):

00000bc0: 041c 0000 034d 7573 6963 4272 6169 6e7a  .....MusicBrainz
00000bd0: 2041 7274 6973 7420 4964 0035 6336 3262   Artist Id.5c62b
00000be0: 3938 612d 6539 6662 2d34 3662 642d 3938  98a-e9fb-46bd-98
00000bf0: 3133 2d63 3839 3165 6636 3430 3637 3800  13-c891ef640678.
00000c00: 6138 3031 6136 3333 2d36 6464 302d 3438  a801a633-6dd0-48
00000c10: 6532 2d39 6538 642d 3466 6463 6365 6165  e2-9e8d-4fdcceae
00000c20: 3664 3635 0064 3462 3962 6166 662d 6465  6d65.d4b9baff-de
00000c30: 6430 2d34 3963 392d 3834 6131 2d39 6432  d0-49c9-84a1-9d2
00000c40: 3230 3463 3638 3235 3000 3134 3032 6362  204c68250.1402cb

However, in Kid3, in the field MusicBrainz Artist Id, only the first one appears (5c62b98a-e9fb-46bd-9813-c891ef640678). The same happens with ffprobe. However, Navidrome seems to correctly parse it
Comment 1 Urs Fleisch 2025-12-13 16:50:03 UTC
Thanks for the report. Apparently, I misinterpreted the TXXX specification, so multiple values were not supported for this frame. I have fixed it now, you can test it with version git20251213 from https://sourceforge.net/projects/kid3/files/kid3/development/.
Comment 2 davpar5012 2025-12-13 21:24:30 UTC
(In reply to Urs Fleisch from comment #1)
> Thanks for the report. Apparently, I misinterpreted the TXXX specification,
> so multiple values were not supported for this frame. I have fixed it now,
> you can test it with version git20251213 from
> https://sourceforge.net/projects/kid3/files/kid3/development/.

Thanks! That's now fixed. However, I still have a problem I don't know how to solve. In the cell, the multiple values show like this (following the example of before):

MusicBrainz Artist ID   5c62b98a-e9fb-46bd-9813-c891ef640678|a801a633-6dd0-48e2-9e8d-4fdcceae6d65|d4b9baff-...

The delimiter between the multiple values is |. So, I tried to add to a tag with just one value another one, separating both with |. However, in the file itself, in hex, the delimiter is 0x7C, not 0x00 (as it should be, and consequently it does not work). Thus, my question now is if this can be solved somehow, or how can I write a delimiter in the value cell so that in hex is 0x00, not 0x7C.
Comment 3 Urs Fleisch 2025-12-14 10:35:53 UTC
Sorry, I missed the writing part. I have fixed it now, please test with version git20251214 from https://sourceforge.net/projects/kid3/files/kid3/development/.
Comment 4 davpar5012 2025-12-14 15:14:39 UTC
I've tried it out and it works. Thank you so much!