Well, here I am. I'm using the standard interface to transfer images plus a special interface to obtain EXIF data as that's needed for PTLens. Do you want to take this offline? Being a developer you probably have access to my email address.
// examine EXIF info
uint8 *exif = NULL;
rc = getProperty(0x3842494D, propEXIFData, 0, &simpProp, &compProp);
if (rc == 0) {
size = getSize(compProp);
if (size) {
exif = (uint8 *)lock(compProp, false);
if (exif) {
processExif(exif, size);
unlock(compProp);
}
}
dispose(compProp);
if (!exif && gbl->dlg.pspHost) getPSPexif();
}
// also try XMP for lens info
getProperty = gFr->propertyProcs->getPropertyProc;
rc = getProperty(0x3842494D, propXMP, 0, &simpProp, &compProp);
if (rc == 0) {
size = getSize(compProp);
if (size) {
char *xmp = (char *)lock(compProp, false);
if (xmp) {
processXmp(xmp, size);
unlock(compProp);
}
}
dispose(compProp);
}