Lukáš Lalinský lalinsky at gmail.com
Sun Aug 28 05:41:57 UTC 2011

On Sat, Aug 27, 2011 at 11:03 PM, Michael Helmling
<helmling at mathematik.uni-kl.de> wrote:
> I have created a taglib fork on github (https://github.com/supermihi/taglib)
> implementing this idea. The TagLib::Tag class is augmented by two virtual
> functions
> virtual TagDict toDict() const
> and
> virtual void fromdict(const TagDict &)
> where TagDict is a typedef for Map<String, StringList>.

I'd prefer to have these methods moved to TagLib::File. This is
because in FLAC, cover art is not a part of the tags, but it's a
separate data block in the file container. There would still have to
be some per-TagLib::Tag subclass helper functions, so maybe it makes
sense to leave it there as well, but I think TagLib::File should be
the primary object to get the data from.

> I guess your remark about not using virtual functions at the moment has
> something to do with binary compatibility or so?

Correct, if the functions are virtual, this can't be shipped in the
next release. I think that for now it would be better to make them
non-virtual (with a comment to make them virtual in the future) and
make a function that runs a couple of dynamic_casts to determine the
file type.


More information about the taglib-devel mailing list