Bug 432583 - Add details on the various version of a same tag
Summary: Add details on the various version of a same tag
Status: RESOLVED WORKSFORME
Alias: None
Product: kid3
Classification: Applications
Component: general (other bugs)
Version First Reported In: 3.8.x
Platform: macOS (DMG) macOS
: NOR wishlist
Target Milestone: ---
Assignee: Urs Fleisch
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-02-06 17:43 UTC by seb.lebreton
Modified: 2021-03-18 19:16 UTC (History)
0 users

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


Attachments
Sample mp3 file + kid3 screenshot (1.41 MB, application/zip)
2021-02-06 17:43 UTC, seb.lebreton
Details

Note You need to log in before you can comment on or make changes to this bug.
Description seb.lebreton 2021-02-06 17:43:16 UTC
Created attachment 135467 [details]
Sample mp3 file + kid3 screenshot

SUMMARY

When there are several identical fields (e.g. Comment) in the same file, kid3 doesn't show its attributes (e.g. language) so it's hard to identify them to decide which to delete/edit.


STEPS TO REPRODUCE
1. Load an mp3 file with several COMMENTS field with different language ('XXX' or 'eng')
2. Observe that the 2 COMMENTS field appear with their respective value, but they look exactly the same (except if the value is different)

OBSERVED RESULT

I didn't find a way to tell which COMMENT is 'XXX' or 'eng' language

EXPECTED RESULT

Having details about the tags attributes would be helpful in order to decide which one to delete / edit.

In my case this is important because for some reason, I have files where the tags have been messed up by iTunes or another software, which caused the Finder to show some value, and iTunes or Music app to show the other one. And of course editing it in iTunes/Music doesn't change the other one making it pretty confusing.

I was able to figure out the problem by using Yate (another tagging software) by selecting my file and using the "view metadata as text & raw" feature : there is an old COMMENT field with language 'XXX' and value "*TRACKS* °USA° Process of Elimination EP" that the finder is using for its "getinfo" window, and another COMMENT with language 'eng' and value "*TRACKS* °USA°" that iTunes/Music app is using for its display. In the example attached, the COMMENTS also have different values, but I had other files where the value was the same making it impossible to identify which one to clean. I noticed that if I delete the wrong one ('eng') iTunes will still be able to display the COMMENT (using a fallback to 'XXX' I guess) but if I edit it in iTunes/Music then another comment ('eng') is created and Finder (and other apps potentially) still displays the initial 'XXX' version.

So there's obviously some flaws and inconsistencies in iTunes/Music/Finder tag management, but having kid3 display the language (or other attributes that may be interesting) for each tag (for instance in parenthesis, e.g. "Comment ('eng')" and "Comment ('XXX')) would help a lot when trying to figure out and fix that kind of weird tagging issues.


SOFTWARE/OS VERSIONS

Kid3 version 3.8.4
macOS: 11.2 (M1 chip)
Qt Version: 5.9.7

ADDITIONAL INFORMATION

Attached is an archive containing a sample mp3 file and kid3 screenshot.

Here's the full output of Yate's "text & raw" view :


File = /Users/slb/Documents/BACKUP FIX TAGS (before edit)/TRACKS - FIX TAGS (good comment in finder but ignored by itunes)/Negative Approach - Lost Cause.mp3

Title: Lost Cause
Artist: Negative Approach
Album Artist: Various Artist
Album: # Metal / HxC # TRACKS
Year: 1981
Genre: Metal / HxC
Part of a Compilation: 1
Comments:
	desc = 
	language = XXX
	value = *TRACKS* °USA° Process of Elimination EP
Comments:
	desc = 
	language = eng
	value = *TRACKS* °USA°
User Defined Text Info:
	desc = Band
	value = Negative Approach


Free Space located = 34

Raw Data:

File size: 1407104
Format: MPEG-1, Layer 3
File contains Xing header at offset 388
Channel mode: Joint stereo
Sample rate: 44100 Hz
Duration: 37146 ms
Bit rate: 304 kbits/sec VBR
File contains an ID3 Version 1 tag
ID3 Tag version 2.3.0
Tag at offset: 0 size = 388
Padding: 34 bytes
Audio base: 388 size = 1406588

00000010 00000043 00000033 (0000T0) TXXX Band
10: 54 58 58 58 00 00 00 17 00 00 00 42 61 6e 64 00 4e 65 67 61  |TXXX.......Band.Nega|
30: 74 69 76 65 20 41 70 70 72 6f 61 63 68                       |tive Approach       |

00000043 00000056 00000013 (0000T0) TCMP 
43: 54 43 4d 50 00 00 00 03 00 00 00 31 00                       |TCMP.......1.       |

00000056 00000154 00000098 (0000T1) COMM 
 56: 43 4f 4d 4d 00 00 00 58 00 00 01 58 58 58 00 00 ff fe 2a 00  |COMM...X...XXX...þ*.|
 76: 54 00 52 00 41 00 43 00 4b 00 53 00 2a 00 20 00 b0 00 55 00  |T.R.A.C.K.S.*. .°.U.|
 96: 53 00 41 00 b0 00 20 00 50 00 72 00 6f 00 63 00 65 00 73 00  |S.A.°. .P.r.o.c.e.s.|
116: 73 00 20 00 6f 00 66 00 20 00 45 00 6c 00 69 00 6d 00 69 00  |s. .o.f. .E.l.i.m.i.|
136: 6e 00 61 00 74 00 69 00 6f 00 6e 00 20 00 45 00 50 00        |n.a.t.i.o.n. .E.P.  |

00000154 00000176 00000022 (0000T0) TIT2 
154: 54 49 54 32 00 00 00 0c 00 00 00 4c 6f 73 74 20 43 61 75 73  |TIT2.......Lost Caus|
174: 65 00                                                        |e.                  |

00000176 00000205 00000029 (0000T0) TPE1 
176: 54 50 45 31 00 00 00 13 00 00 00 4e 65 67 61 74 69 76 65 20  |TPE1.......Negative |
196: 41 70 70 72 6f 61 63 68 00                                   |Approach.           |

00000205 00000231 00000026 (0000T0) TPE2 
205: 54 50 45 32 00 00 00 10 00 00 00 56 61 72 69 6f 75 73 20 41  |TPE2.......Various A|
225: 72 74 69 73 74 00                                            |rtist.              |

00000231 00000265 00000034 (0000T0) TALB 
231: 54 41 4c 42 00 00 00 18 00 00 00 23 20 4d 65 74 61 6c 20 2f  |TALB.......# Metal /|
251: 20 48 78 43 20 23 20 54 52 41 43 4b 53 00                    | HxC # TRACKS.      |

00000265 00000281 00000016 (0000T0) TDRC 
265: 54 59 45 52 00 00 00 06 00 00 00 31 39 38 31 00              |TYER.......1981.    |

00000281 00000304 00000023 (0000T0) TCON 
281: 54 43 4f 4e 00 00 00 0d 00 00 00 4d 65 74 61 6c 20 2f 20 48  |TCON.......Metal / H|
301: 78 43 00                                                     |xC.                 |

00000304 00000354 00000050 (0000T1) COMM 
304: 43 4f 4d 4d 00 00 00 28 00 00 01 65 6e 67 ff fe 00 00 ff fe  |COMM...(...eng.þ...þ|
324: 2a 00 54 00 52 00 41 00 43 00 4b 00 53 00 2a 00 20 00 b0 00  |*.T.R.A.C.K.S.*. .°.|
344: 55 00 53 00 41 00 b0 00 00 00                                |U.S.A.°...          |
Comment 1 Urs Fleisch 2021-02-07 18:38:22 UTC
You can view the details when you are in the comment and click the "Edit..." button. A dialog will appear where you can see all fields of the frame including the "Language" field.

When the "COMM" frame has a non empty "Description" field, it is used as the name in the table, so you can differentiate between comments with a description. Having multiple "COMM" frames without "Description" but with different "Language" seems rather unusual. I would expect to be able to differentiate from the language used in their content. The space in the table is limited, therefore the "Language" is not visible there, but you can always go into the edit dialog if you need to see the details.
Comment 2 seb.lebreton 2021-03-18 19:16:42 UTC
Hi, sorry for my late reply.

Yes I eventually figured out that I can see the language by clicking "Edit..." so I made it work like this.

I also figured out where my 'XXX' COMMENT frame come from, it's because of AUDACITY which messes up several tags when exporting a modified track :
- new COMMENT with 'XXX' language
- duplicated DATE
- new "unknown text information" tag with the value from COMPILATION
- new "BAND" tag with the value from ALBUM ARTIST
I'm often editing files to remove glitches, or split/cut them, so that's why I ended up having so many of these weird double COMM files.

I'll file some bugs on their tracker, but maybe this info can be helpful for others and can help give more weight to my suggestion of adding a second (smaller) line, in the table, below the frame name, which could display its language, or encoding, or whatever additional detail is available.

It's definitely not critical since "Edit..." gets me the info, but it would be a nice addition.
Thanks !


(In reply to Urs Fleisch from comment #1)
> You can view the details when you are in the comment and click the "Edit..."
> button. A dialog will appear where you can see all fields of the frame
> including the "Language" field.
> 
> When the "COMM" frame has a non empty "Description" field, it is used as the
> name in the table, so you can differentiate between comments with a
> description. Having multiple "COMM" frames without "Description" but with
> different "Language" seems rather unusual. I would expect to be able to
> differentiate from the language used in their content. The space in the
> table is limited, therefore the "Language" is not visible there, but you can
> always go into the edit dialog if you need to see the details.