JPEG Saver 5.22


There are some big changes in this version. Unfortunately they are the type of big changes that happen behind scaffolding and when it is taken away you wonder what has actually changed. But believe me, these are big changes.

Big changes

The way JPEG Saver chooses the next image has changed a lot in this version. Previously, each change mode had its own code that would choose the next image, either by picking one at random or one from a shuffled list of images, or just the next in sequence. The new way uses a database table that contains the list of images to be displayed. Each of the change modes fills in the table with files in the correct order, and then the next image to load is picked from there.

But why?

For a start, this is a lot simpler. Each change mode now just contains enough code to fill in the image list table, and maybe some extra code to deal with sequential and folder lock modes.

The image list table means startup can be faster - if JPEG Saver doesn't need to do a rescan, then it can pick up where it left off. Storing the list of images to be displayed means that JPEG Saver could load the next few images into the cache in the background too (though I haven't actually attempted that yet).

So what else is new?

I've added a drop-down list of filters in the interactive options dialog for use with the Windows Explorer slideshow feature. Until now JPEG Saver disabled all filters when running a slideshow, but now you can create a preset for use with it, or save your main selection as a preset and use that, or use one of the predefined presets.

The desktop helper has a new menu item under “Update automatically”, called “After config”. When this is enabled, updating JPEG Saver's configuration will make the desktop helper run a database update. As long as you don't immediately run the screensaver as soon as configuring it this should make startup faster.

There is another vaguely-related change in the desktop helper. When the screensaver runs and the desktop helper is in the middle of a database update it gets a signal and stops the update. This isn't new, but now it also gets a signal when the screensaver closes to continue its database update. This is most likely to be useful when the metadata scan is handled by the desktop helper.

Bugs fixed

The first bug fixed in this version is the status message saying “Loading image: 0%”. It was appearing after the image was loaded, so didn't make any sense. And was really annoying.

The next bug was a weird one. JPEG Saver was crashing while updating Direct3D textures, and doing it quite consistently too. The weird part is that I hadn't seen this happen until a few weeks ago, and then it started happening all the time. It may have been because I was running the debug version, which I don't normally do, but the actual bug would have been in the non-debug version too.

Another crashy bug fixed in this version was caused by a missing space in the SQL used for tag filters. Filtering by tag worked fine unless you had other filters beforehand, and then you would get a crash. Ouch.

Finally, there is an update to how JPEG Saver scans for metadata. Previously, an interrupted database update metadata scan would leave lots of unfilled records in the database, and the metadata for those files would not be checked again. Now JPEG Saver will recheck any files that have empty metadata in the database, though that does mean it will keep rechecking files that it can't read metadata from on subsequent runs. I might have to come back and look at that if it seems like a problem.


The link to the downloads page is right here.

« Previous: JPEG Saver 5.21.2 Next: JPEG Saver 5.22.1 »