Taglib# photo support landed

It happened about a month ago, but the effort involved to get there still deserves a blog post: the photo support branch for Taglib# has been merged into the main repository.

This is quite significant: aside from audio and video files, Taglib# is now capable of handling metadata embedded in a large range of image formats.

Some nice features:

  • Support for JPEG, PNG, GIF, TIFF and a large number of RAW image formats.
  • Full support for XMP and EXIF (no IPTC yet).
  • Fully implemented in managed code, so instantly cross-platform.
  • Extremely capable (exposing all the internal metadata structure if you want), but with an additional convenience API if you don’t want to deal with the pain.
  • And obviously, deliciously free software, for any purpose you want!

However, the best feature in my opinion is built-in paranoia. All of this code has been tested to the extreme, with over 33.000 lines of unit tests. We test things like data consistency across read/write scenarios, parsing correctness and completeness and generally avoid regressions. Everything is also cross-validated with specifications and the exiv2 library.

If we are only slightly unsure about how to parse some bits of data, Taglib# will flat-out refuse to write to the file. This is important: when dealing with people’s digital memories, you do not want to risk data-loss.

If you’re looking for a feature-full, well-tested and fully-managed .Net library for metadata, this might be the solution for you.

Many thanks to Mike Gem√ľnde for his efforts, this work is just as much of a result of his labor as it was of mine.

The Heads, Knysna, South-Africa (A very enjoyable place to relax!)

November 28, 2010 15:29 #mono #taglib-sharp