BootBlock / FileSieve

The official repository for the FileSieve application that sorts files using a variety of options.
https://filesieve.com
3 stars 0 forks source link

Method: EXIF - Replace tag reading core #11

Open BootBlock opened 3 years ago

BootBlock commented 3 years ago

The EXIFLib library that FileSieve uses hasn't been updated in years and refuses to work with TIFF files even though it's supposed to, so it's probably best that a replacement library is found and integrated instead.

BootBlock commented 3 years ago

Support for HEIC is also required, but I'm having issues even just finding a pre-built .dll I can P/Invoke against.

HEIC appears to be a relatively-new (that is, modern) encoding format but it's possibly too new as there isn't a whole lot out there that can decode it. It also appears to be encumbered by licensing and such, which means FileSieve may not be able to provide a seamless experience and could require the user to obtain the necessary .dll for decoding; that's a burden I really don't want to place on anyone - especially as even I can't seem to get the .dll.

Will need to keep investigating...


Thanks to Pierre K. for letting me know about HEIC!

BootBlock commented 2 years ago

Finally! It seems I now have HEIC tag reading working, so now I need to map the existing JPEG EXIF tags onto their HEIC equivalents...

BootBlock commented 2 years ago

Decided to strip out the existing EXIF code and completely rewrite the core otherwise there would be twice the number of dependencies and multiple code paths for different file types.

As a bonus, other EXIF formats (eg. XMP) can also be supported in the future.

BootBlock commented 2 years ago

Everything seems to be working, and now I need to do the tedious task of manually adding the %code% -> ExifTag mappings.

EG:

%IMAGEWIDTH% = ExifTag.ImageWidth

Edit: Done! Seems like there's a ton more supported properties within the new library, so I'll add those at some point.