JPEG Saver 5.44
Published
This is a version with a bunch of small changes and fixes in it, so it should hopefully improve things for most users.
Bordering on the ridiculous
The first change was the third-oldest item on my to-do/issues list, added back in 2018. I've added the option to set an alpha value for border items. Don't ask me why it has taken so long to get this one done - it was pretty simple to do when I actually decided to look at it.
Having done that, I realised that testing the new border setting was a bit tedious - to help with this I have added a preview display box for borders so you can see the effect immediately without having to close the dialog.
A five star review?
The second-oldest item on the to-do/issues list was from 2017, and I know why I hadn't done this one until now. This update adds the option to filter images by star rating. Filtering works by querying the database for the images that match the chosen criteria, so that means that star ratings have to be stored in the database for this to work.
So version 5.44 stores star ratings in the database. When you set the rating for an image it is stored, as well as when JPEG Saver loads a file that contains a rating or a background metadata scan finds a rating in a file.
The reason I haven't added this until now is that I don't know how common image ratings are. I only set the rating for images when I am testing JPEG Saver, and I don't remember seeing any images from the world at large already containing a rating.
But just because I don't think I would find it useful doesn't mean that other people wouldn't get some use out of it, so here it is. Your mileage may vary, may contain traces of peanut, etc.
The devil makes worker threads for idle hands
The defragmentation function was getting a bit too slow to run in the config dialog's main thread, so in this version I have added a background worker thread to run it in. The status of the worker thread is displayed in the title bar in angle brackets <like this> when it is doing something.
The worker thread is also used when the config dialog starts up to check the database for errors. Errors are highly unlikely, and usually caused by bugs in my code that I haven't found and fixed yet. But it can happen.
The worker thread doesn't do much at the moment, but I expect I will find things to add to it in time.
Sundries
The oldest item on the to-do/issues list was from 2016, and said "Support IPTC location data from XMP". JPEG Saver has supported XMP for a while now, so this was easy enough to add. What I have actually done is to check the XMP data for any IPTC fields that are not found in the IPTC block, so you now have two chances to find an item of information.
You might assume that the IPTC block and its corresponding XMP data contain the same thing, but I found that an image I have with some Korean text metadata in it works fine from the UTF-8 encoded XMP, but the text format is unrecognisable in the IPTC block. (It was actually stored in a Windows code page format, but I only worked that out by loading it into a text editor and trying different options.)
Since the IPTC from XMP change was quite simple and because Exif data can also be stored in the XMP block, I also added support for checking XMP for some of the Exif fields. I haven't added support for all the Exif fields because it uses a lot of numeric data that would have to be converted from text to number values and then back into text, and I don't think it would be worth the effort.
There are also a few fixes for bugs that I came across while working on other things:
- Conditional item format blocks (things in %{}) were only being displayed when the last format item in the block was matching something. I have fixed it so they will display if any item in the block matches something.
- The offset option in item dialogs should display an arrow in the background pointing to where the offset is aligned, but this has not been working for a couple of versions.
- A negative border distance should move the border inside the image, but it was being ignored.
- Non-JPEG files were being overwritten as JPEGs when setting their star ratings. What should happen is that the file doesn't get modified at all.
I also fixed a crash that happened while I was debugging, but I don't believe it could be triggered without pausing JPEG Saver's execution anyway.
Download
The installer can be found on the downloads page.
