News archive

SVGGraph 2.29 is another version that mostly changes thing internally, but
there are a few more visible changes too. The most obvious change should be
apparent in the example below.

Box division style

Thinking inside the box

Both division_style and subdivision_style (and
their _h and _v variants) now support a new style
called "box". The Y axis in the bar graph shows how they behave
with this new style when the labels are at the division marks, and the X axis
shows what happens when the labels are between the marks (usually for bars) -
the box is drawn around the label instead of inside it. I have used the
subdivision_h option set to 0.5 to enable
subdivisions on the X axis so you can see what they look like - they would not
normally be displayed.

As you can probably guess from the 0.0.1 added to the version number, this is
a bugfix release. There are a few annoying bugs fixed in this version though.

First, a crash when using the shape skip option with multiple displays and the
secondary displays set to not show any images. That one was easy to fix, and so
was a bug preventing the screensaver from automatically progressing through the
images when the secondary screens were set to show the previous image.

More complicated was an unrelated but similar bug that sometimes meant that
JPEG Saver would not automatically progress through the images, and sometimes
not even show the first one.

Over the years that I have been working on SVGGraph I have always been
grumbling about text. Don't get me wrong - SVG is perfectly capable of
displaying text, the problem is that I can never be sure what it is going to
look like.

Version 2.28 is an attempt to improve things by using font metrics to
calculate the sizes of strings of text more accurately. The two example graphs
below demonstrate the difference between the new method and the older method.

Using metrics

no_font_metrics = true

Both graphs are using the "Times New Roman" font, where it is easy to see
that "Amanda" is a longer string than "Illicit". The new method is used for the
left-hand graph, where it displays the label boxes packed quite closely to the
text. The old method is enabled with the new no_font_metrics
option, shown in the right-hand graph. The label box is a bit tight around
"Amanda", but much too wide for "Illicit". There is more space at the left
side of the graph too, because the old method thinks the seven-character string
"Illicit" should be longer than the six characters of "Amanda".

JPEG Saver 5.1 is a fairly small update to version 5.0, but it does include
a couple of important changes. The first of these is the replacement of JasPer
with OpenJPEG. These are two different software libraries for handling JPEG
2000 images, which is still a fairly obscure format even after all these years.

If you are using JPEG 2000 images, JPEG Saver should now be able to load
them a bit better. OpenJPEG actually supports loading some quite unusual images,
but I didn't attempt to support them in JPEG Saver because I would have first
had to figure out a way to produce the weird images for testing. So if you have
some JPEG 2000 images that JPEG Saver refuses to load, please get in touch and
I'll see if I can get them working.

The other quite large change is to how transitions work. It shouldn't really
be noticeable in the screensaver, but internally the transitions now use a much
more flexible way of deciding what happens when. This should allow for more
complicated transitions in future versions.

When I replaced the NSIS installer with a WiX Toolset-built MSI file for
version 4.20 of JPEG Saver, I wasn't all that happy with it. It worked fine, it
installed and uninstalled the files, but it still had to include the DirectX 9
installer just in case it was installing on a machine that didn't already have
it installed. JPEG Saver 5.0 is the first version since 2009 that doesn't
need DirectX 9 installed - because it uses DirectX 11 instead.

DirectX 11 should already be installed on Windows 7 and newer, as it is now
part of the operating system instead of a separate install. I've tested on
64-bit Windows 10 with Nvidia graphics, 32-bit Windows 10 with AMD graphics,
and on a 32-bit Windows 7 virtual machine with no real graphics card at all.
JPEG Saver ran without any problems on these, so I'm fairly confident it should
run on most configurations.

What's new?

So what is actually new in this version? Very little, to be honest. I had to
rewrite all the 3D rendering code used for the transitions and the real-time
items on the main display, but hopefully JPEG Saver shouldn't look or behave
much differently to the last DirectX 9 version.