Shuttle v1.6.0 is on the way to the Play Store.Album-artist support.
Finally, after more than 3 years of procrastination, excuses & failed attempts, album-artist support has arrived for Shuttle. I've managed to work around the shortcomings of the Android MediaStore. So, artists/albums who share the same album-artist will now be grouped together. Hooray for compilation albums!Major performance improvements:
Since Shuttle is backed by the Android Media Store (a sqlite database), it spends a great deal of time making 'queries' to that database. These queries can take a bit of time, and in some unexpected places, these were blocking the app from doing more important stuff. These were just some bad-practice remnants/old code from long ago. Anyway, this whole approach has been rethought, and Shuttle is now backed by a library called RxJava. All of this intensive work has been moved into the background, and the amount of repeat work has been significantly reduced.
I've also done some digging into some of the more subtle performance issues plaguing Shuttle. I've learnt a lot in the process, as well as applying a lot of new techniques I've picked up over the last couple of years of working as a professional developer - so you can expect to be much more performant now, and going forward.
Lastly, with all these changes going on, I've made Shuttle's codebase a lot easier to work with. So fixes & features should be easier to implement. (I say this every time!)New artwork picker (Shuttle +):
You can now view all the possible artwork sources for an album/artist, and select the one you prefer.Launcher shortcuts:
Added Android 7.1 launcher shortcuts (play, shuffle all & folder browser). Thanks to Andrew Neal for his contribution.Shared element transitions:
Finally, a bit of animation. Shuttle now uses some (admittedly basic) Material style animations when transitioning between screens. Hopefully there's more of this to come.Artwork loading/downloading changes:
Lots of work has been done on the artwork loading (more info below). Note: Cache cleaners like 'Sd Maid' will delete Shuttle's artwork.. My recommendation is to avoid cache cleaners and instead allow the Android system to manage caches the way they're meant to be managed!Folder browsing:
- Improved the folder browser media scanner. Now actually works when scanning a directory.
- Fixed folder browser crash when attempting to play empty folderPlaylists:
- Fixed an issue where playlist sort order was not preserved
- Fixed an issue where deleting playlist items had no effect
- Empty playlists don't show up in the nav drawer
- Playlists are now exported to a folder with a .nomedia file, preventing duplicate playlists from being created.Genres:
- Empty genres no longer show up in the genre list
- Show album & song count for genres
- Remove empty genres on launchArtwork:
- Fixed an issue with the 'download all' artwork option - where it only downloaded when on WiFi and 'automatic downloading' was enabled
- Fixed an issue where notification artwork was downloaded each time the notification changed
- Fixed an issue where prefer embedded artwork actually preferred folder artwork, and vise-versa.
- Added some logic to use the largest-filesize artwork when faced with a choice between cover/album/artwork.jpg/jpeg/png.
- Fixed an issue where 'download artwork' option only downloaded album or artist images, instead of both
- Significantly improved speed of 'download artwork' option in artwork settings
- Ensure ridiculously large images from Last.fm
are downsized before being stored in the cache (nothing bigger than 2048px)
- Various other improvements to prevent the artwork cache from growing unnecessarily large
- Fixed an issue where 'download artwork' popped up again if you crashed the app from 'recent tasks'
- The blacklist and whitelist have been improved. You can now blacklist albums & artists. Also, if all songs belonging to an album are blacklisted, that album no longer shows up in the listing screens.Various:
- The tag editor has had a bit of a facelift
- The 'suggested' screen has been overhauled. Shows more suggestions via horizontal lists.
- Search has been rewritten. Should fix issue where search results didn't show up for some users.
- Added selection count to multi-selection toolbar
Integrated Firebase Analytics. Shuttle now anonymously tracks events like number of screen views, which tabs get used the most, which colors are used the most, etc. No personally identifiable information is collected. This information will be used to help make informed decisions about future changes to Shuttle.Fixes:
- Fixed ChromeCast track skipping issue
- Fixed an issue where 'shuffle all' resulted in the same song being played first each time
- Fixed multi-selection highlight issue for album-artists
- Too many crash fixes to detail here.
- Fixed an issue where the color palette didn't change for upgraded usersOther
- Accessibility improvements
- Updated translations