Comment tag duplicates

You found a bug or have any issues? Please post them here!
Post Reply
User avatar
hdradio
Posts: 625
Joined: 10 Apr 2012 17:36
Location: Crete, Hellas
Comment tag duplicates

Post by hdradio »

When I edit (just the rating) a file that has a comment field, that field is duplicated and two comment fields with same value are stored to file.
(Checked with mp3tag and musicbee)
User avatar
radio42
Site Admin
Posts: 8350
Joined: 05 Apr 2012 16:26
Location: Hamburg, Germany
Contact:
Re: Comment tag duplicates

Post by radio42 »

I just made a few tests here and can not reproduce that issue.
Is it may be the same you already faced, when your audio file contained multiple TAGs, like ID3v2 and APE...
Another possibility might be, that your audio file already contained multiple 'comments' - as ID3v2 might define multiple comments in an MP3 file (e.g. for multiple languages or users)...

If you can provide me with a file to test with I can easily check this here... - but I am pretty sure, that there is a logical explanation, as I can not see anything in my code, which should duplicate a comment.
User avatar
hdradio
Posts: 625
Joined: 10 Apr 2012 17:36
Location: Crete, Hellas
Re: Comment tag duplicates

Post by hdradio »

This is happening to all my files.
I am sending you with pm a video capture to see.
User avatar
radio42
Site Admin
Posts: 8350
Joined: 05 Apr 2012 16:26
Location: Hamburg, Germany
Contact:
Re: Comment tag duplicates

Post by radio42 »

Please send me one test file!
I guess it is related to multiple 'comments' being present in your file.

Sorry, but now it get's into ID3v2 details (and bear with me but many MP3 tagger treat things differently here)...please see here: http://id3.org/id3v2.3.0#Comments
There may be more than one comment frame in each tag, but only one with the same language and content descriptor.

ProppFrexx by default uses the language as set in your OS, which is the current culture being defined in your Windows settings (I guess this will be 'ell' for 'Greek' in your case).
And it uses the first found 'content descriptor' present for that language (resp. an empty content descriptor when writing).
When reading a comment, ProppFrexx is a bit more 'relaxed' and might even return another (the next best found language) if the language of your current culture is not present.

As such, it might happen, that a file contains a comment in for example in Italian or English, but not in Greek - so ProppFrexx uses that comment (as a fallback).
However, when ProppFrexx writes to the file, it uses YOUR language - as such a 2nd comment might be created.
This is totally correct - as the next time ProppFrexx reads the file/TAG - it wouldn't use the 'fallback' - but the correct 'language' and as such also returns the correct comment.

Unfortunately (when you for example look at Mp3Tag) - they hide this details from you.

It might get even worse: As per language you might theoretically also have many comments for different content descriptors.
ProppFrexx might read the 'first' found, but write an empty content descriptor.
Luckily most 'taggers' I know all use an empty content descriptor - so this might unlikely happen.

But many 'taggers' I have seen also just ignore the 'language' code and write comments with an empty language code field!
This is simply incorrect and not according to the ID3v2 specs (see above) - but unfortunately needs to be handled in the best possible way.
Which is 'reading' comments in a 'relaxed' way - but writing to it in the 'correct' way.

(I could have decided to 'delete' those previously incorrect 'comments - but I have decided to leave them as they are, since another application, the one who wrote the comment incorrectly might still relay on its presents)...
In your case I exactly assume this...

Yes, complex - but I believe correct!
User avatar
radio42
Site Admin
Posts: 8350
Joined: 05 Apr 2012 16:26
Location: Hamburg, Germany
Contact:
Re: Comment tag duplicates

Post by radio42 »

Thanks for providing me with your test file.
Yes, it is almost as I thought... the existing comment has a language set to 'eng'.
When ProppFrexx writes the TAG, it uses the language of your Windows setting for comments, so it would use 'ell' in your case.
The result is finally a file with 2 comments in:
- one for the original language (eng)
- one in YOUR language (ell)
...being 'ell' the new default (first in the list of comments)

I don't see any real mistake here, as this is absolutely what the ID3v3.org suggests.
User avatar
hdradio
Posts: 625
Joined: 10 Apr 2012 17:36
Location: Crete, Hellas
Re: Comment tag duplicates

Post by hdradio »

Bernd you are right.
I 've checked by myself too.

I have 2 questions:
1. What other tag editors do you know that handle this problem according to standard ?
I want to delete all the 'eng' comments and set them to 'ell'. mp3tag and musicbee I use, set it static to 'eng'.
2. Would it be possible for pf to check if there is a change to the original comment field and if so then write that additional field ?
It's not a big problem but I 'd like to have things more tidy.
Another option might be to have a setting to use only 'eng' as language. I see that most id3 tag editors use default 'eng'.
I know it's not the recommended by standards but that way will be compatible with most of taggers (basically mp3tag which is among top 5).
User avatar
radio42
Site Admin
Posts: 8350
Joined: 05 Apr 2012 16:26
Location: Hamburg, Germany
Contact:
Re: Comment tag duplicates

Post by radio42 »

1. I guess non common editor handles that correctly.

2. I already added another option (as I thought you would ask something like this ;-)
I called it 'Use ID3v2 Found Language'. What it does is, that it then checks the existence of a language and if there is one it uses that one. Only if there is no language tag existing at all it creates a new one, again using the system culture.

This seems to be a bit better in line with what Mp3Tag or others are doing, as they basically do not care about a present language tag and also reuse that. E.g. if PF creates an 'ell' comment, the others simply reuse that as we'll. This way PF also never creates something wrong, but might reuse existing comments.

And again another option ;-) maybe you now understand the reason why there are so many...

Post Reply