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.