A few questions...
wheeler at kde.org
Tue Jul 11 10:35:35 CEST 2006
On Jul 10, 2006, at 8:55 PM, Jeff Mitchell wrote:
> I'm an Amarok developer and have a few questions. I've done a
> preliminary search of the archives but didn't find much of use, so
> forgive me if any of these questions have been answered.
> 1) I have heard much about a bug with FLAC files that causes the
> entire file to be rewritten with every metadata change. Is this still
> valid/what release was it fixed in/when will it be fixed? This bug is
> keeping us from using ATF
> (ATF)) with
> FLAC files. If it will be fixed in TagLib 1.5, which I've heard is
> coming, is there a tentative release date for 1.5?
Yes, that's true. It's in the bugs database. I believe there's a
patch for it there as well, but if I remember correctly it needed a
couple of cleanups.
I tend to catch such things in batch before a release. I'll be
getting hooked up with home internet again (after my recent move) in
about a week and then I'm going to try to push out a release pretty
quickly. I'd expect a beta (or RC or whatever -- I really only
intend to do one prerelease) in about two weeks.
> 2) When we write a UID to a MP3 file in the UFID frame, we tell TagLib
> to go ahead and create the ID3v2.4 tag if it doesn't exist. It
> correctly copies over existing values from ID3v1, however, it removes
> the ID3v1 tag. This causes some issues with (crappy) hardware players
> that only support ID3v1 or don't support ID3v2.4, but as we try to
> keep our users happy, this is quite an issue for us. One way we may
> solve it is to write an ID3v1 tag back to the file upon transfer to a
> media device, however:
I suspect this is an amaroK bug. By default both ID3v1 and ID3v2 are
> a) Will writing an ID3v1 tag remove the ID3v2.4 tag, like it does the
> other way around?
> b) If we do this, is there a way to have it automatically copy over
> values from the ID3v2.4 tag, like it does when you create the ID3v2.4
> tag (realizing that truncation, etc., may take place)?
See above. The default is to write both and there is an API
function (in TagLib::Tag) to copy over values. This is done by
default unless you are explicitly writing the tags separately.
More information about the taglib-devel