Over the past week, I’ve been working to support CR3 files in Filmulator, by making the database fields get populated by LibRaw’s read of the EX which supports CR3.
Well, it sort of works. Turns out that LibRaw 0.20rc1 only manages to read the capture date and no more.
I had already ruled out the Exiftool C++ library for its license incompatibility with the GPL, but I may be able to simply call Exiftool itself from the command line and duplicate that library’s functionality myself…
At least I get to keep pushing my boundaries as a programmer; I’ve never done serious text parsing before.
Look at @agriggio’s implementation in ART. IIRC he coaxes exiftool to deliver a XML string, which is parseable by most any XML library. On my phone right now, can’t look it up…
Maybe I’ll have to undo some of my changes…
More precisely, exiftool can produce xmps, which can be read back by exiv2
Ah, interesting. I don’t want to leave XMPs around (I dislike sidecar files) so maybe I’ll put them in a temp directory.
What art does it create a temporary xmp just to parse it with exiv2, then it’s deleted immediately. This is completely transparent to the rest of the code
Turns out my code was just buggy and LibRaw does actually parse the info properly.
I’ll use this technique for copying the exif data in bulk though, I think.
Now it works in a basic fashion, with importing fully functional, and the basic EXIF data exposed by LibRaw copied into the output.
What I plan is that you’ll be able to specify the exiftool binary location if you want to copy the full EXIF data over.
I don’t know what CR3 is (new Canon format?).
But I’m trying Filmulator windows builds now (after playing around with the GUI tool over a year ago). I’m importing linear-DNG files (files processed by DxO Photo Lab for lens-correction / noise reduction / sharpening and nothing more).
In the terminal window I see for every file ‘processImage this is a CR3!’. Which I doubt is correct. Just wanted to let you know
Oops, that’s not a misdetection, that was me just printing “this is a CR3” for everything.