Wrapping taglib

As I needed a library to read/write ID3 tags in a C# program, I had to write bindings to Scott Wheeler’s TagLib yesterday. You might want to download the source code. Since directly accessing C++ classes is not possible from .NET, and the only C++ to .NET bytecode compiler I am aware of is Microsoft’s (which I don’t have), I currently only wrapped the C bindings of taglib. They are not as powerful as the C++ classes, but at least the most important functionallity is there. I have not really tested the C# bindings yet (especially the setters), but they should work…

  1. Brad’s avatar

    Sorry I’m not contacting through email — I couldn’t find your address anywhere on your blog.

    I’m using your C# bindings for TagLib in my application Cowbell (http://more-cowbell.org) and I was wondering what license you wanted to release your code under. This is needed for my application to be packaged by Debian. Thanks so much for putting this code out there!

  2. Caramdir’s avatar

    It is in Public Domain, because it’s just a few lines. So someone is actually making useful software with is? Cowbell has been one my list of software to try out for some time now. But when you use my TagLib wrapper, that means you don’t support any of the “non-ID3v1″-ID3v2 tags like Composer or different genres?

  3. Brad’s avatar

    Unfortunately, this is correct due to the limitations of TagLib in general — it is simply not possible to support Composer and # Tracks in a generic way. However, I do have plans to integrate entagged-sharp (a fully managed C# tagging library) in the future.