I tested this on the XMP original samples and had some issue
- Here I just read the data, modify it and then again read it
double xxx;
meta.GetProperty_Float(kXMP_NS_EXIF, "BrightnessValue", &xxx, 0);
cout << xxx << endl;
meta.SetProperty_Float(kXMP_NS_EXIF, "BrightnessValue", 1, 0);
meta.GetProperty_Float(kXMP_NS_EXIF, "BrightnessValue", &xxx, 0);
cout << xxx << endl;
First time it works fine, but when running second time his fails on the first get function with the following error : ERROR: Invalid float string
- Setting the property second time before actually getting it, fixes the issue
double xxx;
meta.SetProperty_Float(kXMP_NS_EXIF, "BrightnessValue", 0.8, 0);
meta.GetProperty_Float(kXMP_NS_EXIF, "BrightnessValue", &xxx, 0);
cout << xxx << endl;
meta.SetProperty_Float(kXMP_NS_EXIF, "BrightnessValue", 1, 0);
meta.GetProperty_Float(kXMP_NS_EXIF, "BrightnessValue", &xxx, 0);
cout << xxx << endl;
Thought this works, it has no value, as it is meaningless to set a values then get the value that you just set.
Any thoughts ??
Thanks,
Mikayel