question about MPEG::File::save()
helmling at mathematik.uni-kl.de
Sat Jul 21 11:06:55 UTC 2012
Hi Taglib list,
as I have reported here (https://bugs.kde.org/show_bug.cgi?id=298183)
MPEG::File::save() does not work as I expect it to: When I manually
delete a frame from the ID3v2 tag, a subsequent call to save() without
arguments restores that frame, apparently copying over the also present
Is this the desired behavior or a bug? IMHO it is very confusing that
the mere existence of a deprecated ID3v1 tag causes taglib to silently
overwrite changes made to the ID3v2 tag.
At the very last, this breaks deletion of frames with the new property
interface under certain conditions, which only supports ID3v2 for now.
One possible "fix" is to explicitly call save(MPEG::File::ID3v2), but I
propose to change the default behavior to either of
- save both tags as they are without any duplicating / copying,
- copy from ID3v2 to ID3v1 on save() instead of the other way around,
- detect which of the tags was actually modified, then duplicate that
ones contents into the other, if it exists.
More information about the taglib-devel