JPEG Saver 5.9
JPEG Saver 5.9 is another update that adds something from the darkest regions of my to-do list: user-defined keyboard mappings. And some other stuff.
Cosmic keys to my creations and times
Yes, you can now choose your own keys for all the various functions that JPEG Saver can do while it is displaying images. The new dialog for editing the keys is accessed via an “Edit keys...” button in the Interactive options dialog.
The dialog contains the list of all functions and their current and default key bindings. Click an item to select it, click the edit box below the list and press the key combination you want to use, then press the “Use” button. Or press the “Reset” button to revert to the default mapping instead.
When you press the “OK” button on the key editor dialog it will check that you are not using the same combination for more than one function. If you are, it will tell you which are the same so you can fix one or the other.
I tried to make this as simple as possible to use, though I was surprised by how much code I had to write to get it working. Mapping the keys to the functions was easy enough, but displaying the name or character of the key was a bit more complicated.
Since you can now choose your own keys I had to replace the help page with a generated one - because of this the help page and status text now use a fixed-width font to make it easier to line things up.
Skip to the end
The main reason I got around to adding the key mappings support in now is that I wanted to add a load of new keyboard functions. Because of the video support added in version 5.8, I needed to add pause, resume, fast forward, reverse and volume controls, and version 5.9 has all of them.
Pause/resume should be self explanatory, and by default it uses the control-space key combo (because space by itself pauses JPEG Saver's change delay).
The volume up, down and mute options should be clear enough too, using shift-up and shift-down for volume and control-down to mute and unmute.
The video forward and rewind functions have three variations - jump 10 seconds forward/back, jump 30 seconds forward/back and jump 60 seconds forward/back. By default they are mapped like this:
Of course now that the key mapping dialog is available you can choose your own keys for these functions instead of having to complain that my choices are terrible.
The new folder scanning code I added in version 5.7 was fast, which is good, but it also used a lot of memory, which is bad. For version 5.9 I wanted to see if I could reduce the amount of memory used without making things too much slower, and I'm quite happy with the improvements I achieved in that area.
During my testing I found a bug in the scanner that would prevent it finding subfolders when restarted after being stopped part-way through, so I fixed that as well.
Scanner Cop II
The reduced memory requirements of the folder scanner meant I could move on to another item from the to-do list and add it into the desktop helper process without causing any problems. So now if you have the desktop helper running you can choose “Update database” from its context menu and run the folder scan from there.
Note: you still don't need to use the desktop helper, but running the folder scan from there instead of letting the screensaver do it will allow the screensaver to start displaying images faster.
When run from the desktop helper the scanner ignores the “Reuse database” option from the “More controls” dialog, but apart from that it behaves the same way as the normal folder scan. The scanning status text that would normally fade in and out is displayed in the desktop helper's tooltip, and the icon is animated while the scan is running.
There is one new transition, “Comb” and one minor bug fixed. The first frame image loaded from video could sometimes be in a different aspect ratio to the video that would play after it - they should both look the same now.
Version 5.9 of JPEG Saver is available from the downloads page.