23 May 2007 hub   » (Master)

XMP support

Exempi2 will use the Adobe XMP SDK as a code base, instead of reinventing the wheel. It will also become BSD licensed to make things easier with the original code.

The reasons are as follow:

  • Adobe XMP SDK implements the whole spec, including scanning XMP out of the various file formats
  • it is somewhat tested (but not on the platform we use)
  • it is less work to fix it than rewriting it
  • it is BSD licensed so perfectly fine for use in GPL applications

The caveats:

  • it needs work to build and work on Linux. I actually have done that.
  • it still fails on 64-bits platforms (fix in progress, don't assume sizeof(void*) == 4)
  • I'm not sure how much it will deviate from upstream as fixes needs to be. I'll do my best to push the changes upstream.
  • It needs a sane API. The APIs are not bad but the are not really designed for dynamic linking as they are based on C++ templates. Templates are not inherently bad, but passing them through dynamic linkage like that is not really a good idea, and worse, it is not language neutral. I'll make some nice C API inspired by what I did in Exempi.

Mental note: explain why XMP is important.

Syndicated 2007-05-22 23:51:46 from Diary of a CrazyFrench

Latest blog entries     Older blog entries

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!