WMA tag support for TagLib
wheeler at kde.org
Sat Mar 12 02:34:16 CET 2005
On Saturday 12 March 2005 2:06, you wrote:
> Hi Scott,
> I'm happy to make a TagLib addon, but it's not clear to me from the code
> what is the correct way to do that, in the sense that there isn't a
> registration mechanism; it's implicit in the dispatching. I could in
> principle subclass the TagLib interface classes and build a separate
> library, but then I would need to keep it synced with TagLib changes,
> even if the WMA portion would be unaffected.
Right, that's why I mentioned a registration mechanism.
But really the FileRef mimetype resolution is mostly just there for
demo-purposes and it actually says so in the docs. That's something that
I've wanted to make a little easier to work with in general for 1.4.
Other than that you wouldn't have to track the changes to any significant
degree as at least until 2.0 the API is guaranteed to stay binary compatible.
> A cleaner and lower-maintenance way might if I could distribute a
> libwma.so (right now, it makes libwma.la to link statically) that would
> be loaded at runtime by TagLib, which would then query it to see which
> filetypes it handled by MIME type and/or filename and/or whatever other
> KDE mechanism, pardon my ignorance) and dispatch accordingly. Given that
> TagLib already builds separate libraries for these, it shouldn't be too
> hard to do.
I don't think that a plugin loading interface for TagLib generally makes sense
as that's only useful in the simplist case of use as the format specific APIs
wouldn't be available.
(Hint -- amaroK relying on FileRef's ability to resolve mime-types is
specifically recommended against in the docs.)
I may reconsider this at some point as the classes become a little easier to
plug stuff into and query, but that'd most likely be a 2.0 change (which
doesn't have any concrete plans at the moment).
> It might make sense to incorporate certain changes, such as the
> UTF16-without-BOM stuff, into the mainline, since that at least should
> be free of copyright issues.
Yeah, I'm fine with adding that one.
It may be true that you can't fool all the people all the time, but you can
fool enough of them to rule a large country.
More information about the taglib-devel