March 17, 2020 in bliss by Dan Gravell
There are some small improvements on the surface of this release, but underneath a revolution is taking place in the way bliss reads and flows information through its platform…
The “bus” of information that runs through bliss, from file, to tag indexing, to storage of album and compliance details has always been hand-rolled. The “bus” is basically the code that opens a file, stores its contents, informs other bits of code about the file, and so on.
However, that codebase was showing its age; a number of improvements were needed, and the code was overly complicated.
Instead, I’ve selected a third party framework for constructing and building these flows (RxJava for those interested) which will hopefully improve reliability, performance and most importantly give a solid bedrock for future development.
This shouldn’t really be apparent; it’s all under the covers.
For now, it’s just the part of the codebase that opens files and reacts to changes in files, and then passes these changes to the tag indexer that has changed. In the future we’ll complete the porting of the platform to the entire platform.
There are some more improvements for the Inbox, and an important bug fix for memory use:
- Display one line per group of duplicates.
- If fix-all means an album is deleted, cope with that for the rest of the fixes.
- Release memory when browsing away from the Inbox.
- Change the “blank slate” messages (e.g. “You haven’t selected a music library yet”) to operate independently and react to platform events.
- Make sure the overall fix count doesn’t show the placeholder amount when a blank slate is displaying.
And there’s more:
- Don’t stop the file scan when we hit “unmappable” characters.
- Make sure the activity re-entrant lock is always unlocked after use.
Downloading and installing
You can download from the downloads page.
After you click through, installation instructions are available on the page following download.
Thanks to Jon Flobrant for the image above.