JPEG Saver 5.5
JPEG Saver 5.4 was a big, complicated update that didn't appear to change very much at all, so I've tried to get some more interesting things into version 5.5. I haven't done much with the multi-monitor support recently, so that was where I started:
New multi-monitor options
I had to update the multi-monitor options dialog to add in some new settings, so now it looks like this:
The first change is in the “Main display” option. Previously you could choose which of your displays JPEG Saver should use as its main display, but now you also have the option of using whichever display is set as the Windows primary display as your main display. If you change your primary display in the Control Panel settings, JPEG Saver will automatically use the new primary screen.
The two checkboxes at the bottom are new, and where the most important new features are enabled. “Stagger updates” changes when JPEG Saver updates each screen - instead of updating them all at the same time, with this option enabled the displays are updated in turn at regular intervals. The main change delay option is still used to determine the time between primary screen updates, but other screens are updated in between. So if you have two screens and your change delay is set to one minute, the second screen will update 30 seconds after the first.
Note: staggered updates are only for timed updates; using mouse or keyboard navigation will still update all screens at once.
The “Transitions on all displays” option enables using Direct3D transitions on all of your screens. How well this works will depend on your hardware, but for best performance you should enable the “Stagger updates” option as well so that only one screen will be transitioning at a time. Real-time updated text items and clocks will still only be displayed on the primary screen.
Supporting multiple-monitor transitions has been on my to-do list for years, so getting this working feels like a bit of an achievement. Changing from using Direct3D 9 to Direct3D 11 made it possible, and the other changes I have been making over recent versions made it fairly simple to enable. I am quite relieved that it is actually usable (at least it is on my quite low-end hardware).
Someone asked me for a way to turn the text on and off while JPEG Saver is running, which is actually a really good idea. That's probably why I didn't think of it. Anyway, pressing the “c” key will now hide the text and any analog clocks from the display, and pressing it again will turn them back on. Pressing “h” will also turn things back on, since otherwise it would not be able to show the help text.
Setting the ratings for an image has been problematic, so I spent some time looking into making it better. I think I've ironed out all the problems that I could fix, so now it should be more reliable. JPEG Saver will still fail to set an image's rating if it doesn't have permission to overwrite the file, or if the new file would be smaller than the old one - that's just my being paranoid, giving up in case some image quality or metadata would be lost.
I've added “Box Wipe”, “Wipe Left & Right” and “Wipe Top & Bottom” transitions. I thought about breaking these up into individual directions, but then there would be a “Wipe Bottom” transition and nobody wants to see that.
Folder rescanning has been based on the modification times of the folders up until now. To make it a bit more robust, I've made JPEG Saver rescan folders periodically as well as when it notices they have been updated. At the moment each folder will be rescanned weekly, but I plan to make this configurable in the next version.
The debug options dialog now has an extra checkbox for “Software only” Direct3D. If your graphics hardware is not great, turning on this option will make JPEG Saver use the WARP device for Direct3D, which means your CPU will do all the work. This might be worth trying if you find JPEG Saver fails to start up properly or if you don't get any transitions or real-time updated items appearing.
Mostly for my own benefit, I've added the full version number string to the tooltip for the desktop helper tray icon. Knowing that I'm running the version that I'm working on is quite helpful.
There are a few bugs fixed in this version. I fixed a crash that could happen when pressing the space bar to pause during a transition. Switching between the Folders and Items tabs could leave the buttons and things in the wrong place, which was a problem left over from the DPI changes in version 5.4.
The block-based transitions (Blocks, Scan, Block Fade, Scan Fade, Sweep Fade, Spiral Square and Spiral Square Fade) were cutting out early when the transition speed was turned up. Text items that only had spaces or new-line characters in them were being drawn (which could appear as a solid block if you had the Block edge style set).
Finally, JPEG Saver was failing to start as the screensaver when it was already running manually on the desktop. This was really annoying, since the desktop copy of JPEG Saver exits when Windows creates the screensaver desktop, and the new copy of JPEG Saver that Windows starts was not running either because it thought it was already running. The fix I put in means the screensaver started by Windows will run, and the previously running copy will exit. Doing it the other way around would mean preventing Windows starting the screensaver while JPEG Saver is running, which didn't seem like a good idea.
The new version is available from the downloads page.