GEOB frames (was Re: extending taglib (ID3v2 frames))

Aaron VonderHaar gruen0aermel at
Wed Jul 12 09:44:40 CEST 2006

I'm trying to read GEOB frames using taglib, and was surprised to
discover taglib has no such frame type.  I have implemented a GEOB
frame class, and am trying to create a subclass for
TagLib::ID3v2::FrameFactory, as suggested in the docs to allow my new
frame class to be used, but I have not been able to figure out how to
correctly subclass FrameFactory.  I dug up an old email from Feb 2005
(see below), but I have not found an ideal solution: I can't copy code
directly from FrameFactory because it uses protected methods from other
TagLib classes.

So I am wondering what is the recommended way to subclass FrameFactory?

However, a better solution to my problem may be to include GEOB support
in taglib :)  Attached is the GEOB class I created (based on the APIC
class included with taglib 1.4).  (I am trying to get taglib-svn to
compile so I can supply an acceptable patch, but I'm having trouble
getting the build environment set up properly, configure fails
complaining I don't have a -debug build of Qt?!)

Please let me know what I can do to get this considered for inclusion
in the next version of taglib.

Aaron V. <avh4 at>

> extending taglib (ID3v2 frames)
> Pierre Delagrave pierre.delagrave at
> Mon Feb 7 14:57:34 CET 2005
>     * Previous message: Tag copying and c-bindings
>     * Next message: tagwriter seg fault
>     * Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
> Hi
>  I need to use taglib for reading/writing tags in mpeg music files. I
> wanted to use standard non-implemented frames in taglib like URL
> (WXXX). I read the docs and the code to know the best way to do it. I
> concluded I had to subclass (the docs say it) frameFactory and create
> frame subclass for the needed frame type. I use the subclassed
> frameFactory with setID3v2FrameFactory and it works well.
> While coding the overrided createFrame I have this problem:
> I can't access the header class to read the frame id in it. The
> header class is protected and only declare the base frameFactory as
> friend. Am I trying to use taglib incorrectly? What would be the best
> way to achieve my goal here?
> I downloaded _many_ apps to see how they were using taglib but did
> not found one that subclassed frameFactory. I don't have much
> practical experience with C++ and I still wonder if I'm
> misunderstanding some concept of it. But after some time not getting
> my thing done I try to ask here.
> Thanks in advance for any usefull replies
> Pierre Delagrave
-------------- next part --------------
A non-text attachment was scrubbed...
Name: generalencapsulatedobjectframe.cpp
Type: text/x-c++src
Size: 5494 bytes
Desc: not available
Url : 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: generalencapsulatedobjectframe.h
Type: text/x-chdr
Size: 5372 bytes
Desc: not available
Url : 

More information about the taglib-devel mailing list