TagLibAmalgam: A new way to use TagLib

Vinnie Falco vinnie.falco at gmail.com
Wed Apr 18 13:49:20 UTC 2012


Glad to hear that you're getting some use out of it. My understanding
is that including taglib.h or something similar, was sufficient to
gain access to all the public interfaces. So this is not the case?
Would it be wise to add all the headers? Is there a reference
indicating which header files contain public interfaces?

The amalgamation file TagLibAmalgam.h should provide everything
possible, whether you need it or not. That's the compromise made when
you use an amalgamation - you get the whole thing. If there are major
pieces of functionality that can be turned on and off in TagLib then I
would want to preserve that ability by allowing for some configuration
macros (that's what TagLibAmalgamConfig.h is for, although there's
nothing there yet).


On Wed, Apr 18, 2012 at 6:22 AM, Manfred Schwind <lists at mani.de> wrote:
> Ah, ok. Yes, I've done the amalgamation myself and needed to add the following to TagLibAmalgamTemplate.h:
> #include "mpeg/mpegfile.h"
> #include "mpeg/id3v2/id3v2tag.h"
> #include "mpeg/id3v2/id3v2frame.h"
> #include "mpeg/id3v2/frames/commentsframe.h"
> #include "mp4/mp4file.h"
> #include "riff/aiff/aifffile.h"
> ... but I am also only using a small subset of taglib. There are much much more header files around.
> For me it's working great now. Thanks for the entire Amalgamation project!
> Regards,
> Mani
> Am 18.04.2012 um 13:06 schrieb Vinnie Falco:
>> Mani:
>> Ah, yes that's entirely possible that I left out some headers. The
>> amalgamation does work for me in my application but I am only using a
>> subset of features. Which headers should go into TagLibAamalgam.h?
>> And thanks for the kind words.
>> On Wed, Apr 18, 2012 at 12:14 AM, Manfred Schwind wrote:
>>> That's cool news! Would like to use that.
>>> Have you actually tried to use the amalgamated taglib?
>>> It compiles fine for me, but if I try to use it in my code, I get compiler errors like that:
>>> error: no member named 'ID3v2' in namespace 'TagLib'
>>>        TagLib::ID3v2::Tag *_id3v2tag;
>>> If I search for "namespace ID3v2", I can find it in the TagLibAmalgam.cpp file, but not in the TagLibAmalgam.h file, so there seems to be missing something ...
>>> Maybe the relevant header files are missing in the TagLibAmalgamTemplate.h?
>>> Regards,
>>> Mani
>>> Am 17.04.2012 um 17:10 schrieb Vinnie Falco:
>>>> Thanks to the help from the project maintainers, I am proud to present:
>>>> TagLibAmalgam: https://github.com/vinniefalco/TagLibAmalgam
>>>> This is a whole new way to include TagLib to your program. Instead of
>>>> dealing with CMake or messy include paths, just drop the one .cpp file
>>>> into your existing IDE-specific project file or Makefile, and include
>>>> one .h, and presto you have TagLib!
>>>> _______________________________________________
>>>> taglib-devel mailing list
>>>> taglib-devel at kde.org
>>>> https://mail.kde.org/mailman/listinfo/taglib-devel
>> --
>> Follow me on Github: https://github.com/vinniefalco

Follow me on Github: https://github.com/vinniefalco

More information about the taglib-devel mailing list