Hi Weiwu On 2014-08-09 08:47, Weiwu Zhang <zhangweiwu realss com> wrote:
But it also is an old question, I guess. I am a newcome myself and I digged this out of email archives:This version supports MP3 tag version 2.4 instead of 2.3. So, if it found an old version of tag, it proposes to you to upgrade (by saving) to the new version. \ If you don't want this, you could disable "convert old tag" in the preferences window.I think this is a design fault. It is counter-intuitive. Besides, there are good reasons to stay with 2.3: my portable MP3 player, for example, only support MP3Tag up to 2.3 and they don't release a firmware to recognize 2.4 because too few 2.4 files are there. The only good reason to force upgrade ID3 tag is that it contains characters outside of ASCII while it uses a version of ID3 that doesn't support these characters.
This behaviour also leads to bug reports: https://bugs.launchpad.net/ubuntu/+source/easytag/+bug/684352I think that the reasoning behind it is to use only a single ID3v2 version across all of EasyTAG. It would be possible to keep the same ID3v2 version as the source tag, but this would require some refactoring (which is not a problem, but will take some time).
The principle difference between ID3v2.3 and ID3v2.4 is that 2.4 supports UTF-8 and 2.3 does not (only UTF-16 and ISO-8859-1). While UTF-8 is a (in many ways) better encoding for most users, its main benefit is to save space in tags. Trading that benefit for reduced compatibility may not be worth it.
The developers may chose to force upgrade on saving because writing tag in the same version of how it was stored may present a software development challange that the project doesn't have resource to overcome (or have better things to do).
The automatic upgrading of ID3v2 tags seems to be a common enough problem that it needs a better default. The problem is that there are two preferences which control this behaviour: one to convert old tags to newer ones, and the other to control the ID3v2 version written by EasyTAG. Even this is misleading, because the upgrade-old-tags option is in fact an option which converts all ID3v2 tags to the program-wide setting (so it downgrades to ID3v2.3 is that version is set in the preferences).
It might make sense to add another version setting, so that there is an ID3v2.3 option, an ID3v2.4 one and a "preserve" option, which does not change the version of the tag in the file. Then, change the default to not upgrade tags by default, and set "preserve" as the default ID3v2 version. However, this makes the upgrade-old-tags option redundant when "preserve" is enabled. A simpler change would be to upgrade (or downgrade) all ID3v2 tags to ID3v2.3 by default, which should be the most-compatible setting.
Another useful improvement could be to show the changes to an unsaved file, as currently the user is unaware of what has changed (whether it is is the filename, a tag field or the ID3 version).
Thoughts welcome (even if they involve lots of code!) -- http://amigadave.com/
Attachment:
signature.asc
Description: Digital signature