Release 20150811
August 18, 2015 in bliss by Dan Gravell
After a bit of a break, here's a new release with some important bug fixes and also some significant speed improvements!
Database engine improvements
The first main bug fix relates to how bliss can sometimes react when changing settings. A few months back I changed bliss's database engine to a different library. This fixed some data corruption issues, but, as often happens, some different problems were introduced.
Specifically, the way the new database engine updates files on your computer's storage is a bit different; when bliss interrupts an update, sometimes the database engine gives up and won't write again. This means certain operations like changing rules or rescanning can sometimes lead to a bliss database that can't be used, causing error messages like:
Exception occured while processing /index.html Message: java.lang.IllegalAccessError: already closed org.mapdb.EngineWrapper$1.get(EngineWrapper.java:472) org.mapdb.EngineWrapper.get(EngineWrapper.java:58) ...
Or:
Exception occured while processing /Message: java.io.IOError: java.nio.channels.ClosedChannelException org.mapdb.Volume$FileChannelVol.getLong(Volume.java:878) org.mapdb.StoreDirect.get2(StoreDirect.java:440) ...
We've fixed this in this release, and so hopefully changing settings and rescanning won't cause the same issues. These errors didn't always occur, but there was the possibility and we received a number of reports, so we fixed it.
OS X users
We've downgraded the version of Java shipped with bliss to Java 1.7.0_025. This is because of a number of reports of bliss failing to start. When started from Terminal, the following error message would be shown:
2014-07-27 20:17:47.441 TUER[400:1303] *** NSInvocation: warning: object 0x107ef53c0 of class 'ThreadUtilities' does not implement methodSignatureForSelector: -- trouble ahead 2014-07-27 20:17:47.444 TUER[400:1303] *** NSInvocation: warning: object 0x107ef53c0 of class 'ThreadUtilities' does not implement doesNotRecognizeSelector: -- abort
We believe the issue was that the version of Java we shipped was too recent and earlier versions of OS X (Snow Leopard and Lion mainly, it seemed) did not properly support it. So we have downgraded for now.
Performance improvements
We've implemented a number of performance improvements. In general, these seek to minimise storage access. We noticed this makes the biggest improvement when paging through lists of albums, but there should be a general improvement as well.
Further improvements
We've also worked on:
- Ignore 'LP' and 'EP' in case rules
- Fixed the label on the "Fix all visible" button for fixing tag types
- The UI now runs in "production mode" to avoid nasty "comet" errors
- Fixed a rare problem:
NotSerializableException: com.elsten.bliss.music.conceptual.model.ImmutableTrack
- Fixed the "Use" button on the cover art alternatives page being displayed off screen
- Tested on Windows 10
Downloading and installing
You can download from the downloads page. After you click through, installation instructions are available on the page following download.
If you are updating from a version older than 20141027, in app update is not recommended for this release, because of a fixed Java 8 incompatibility which is only resolved with a full re-installation.
Thanks to cogdogblogfor the image above.