There's a change in the behavior of the theme image processor.
In jAlbum 28.1.5, if you tell it to make the images all
WebP, the theme image is still a
JPG. However, if the skin specifies the name of the theme image as, e.g.,
mytheme.webp, you do, in fact, get a
WebP image.
In jAlbum 29, it still cranks out a
JPG theme image, even if you tell it to make the images all
WebP.
How? Code please? I did the following in init.bsh for Minimal skin, and it does indeed try to generate a webp image, but then bails out when trying to embed XMP properties within it:
class MyProcessor extends ThemeImageProcessor {
public String getThemePath(AlbumObject folder) {
return "foo.webp";
}
}
engine.setThemeImageProcessor(new MyProcessor());
But now, the skin can no longer tell the core that the theme image name is mytheme.webp. That produces an error, and the album build aborts.
How do you try to change the name?
I will release a silent update to v29.0.1 where I also update several image related files. This update will ensure that jAlbum won't bail out but instead print a warning message to the system console if you try to use webp for theme images. It works, but they are re-generated every time as the Apache Commons Imaging library doesn't recognize webp. In jAlbum 28.1 that library silently ignored trying to embed properties in webp files. Now it at least throws an exception so we're told about the problem.
So in essence: With v29.0.1 WebP theme images should work, but will crank out a warning to the system console because XMP properties can't be embedded, and this leads to regeneration of theme images every time.