Skip to main content

3.0 Work in Progress 9: Shuffle and Notifications

The last update I showed off the new queue ui which did involve a complete rewrite of the underlying queue backend code.  Due to that and switching to the new data model (Room-based), I ended up taking the plunge and rewriting the MusicService.  It seemed like a waste to try to hack it up to use all the new stuff I added when I eventually planned on rewriting it anyway.  Due to that I dont have too much to show UI wise, but I did make some queue improvements and redid how shuffle works.

One of the largest complaints I've gotten over the years was the inability to skip back/forward while shuffled and get a consistent track order.  Once you skipped back, the next track would be chosen at random.  My response was always that I understood the frustration but without rewriting shuffle / music service entirely there was not much i could do.  Since I am rewriting the music service and queue, this seemed like the perfect opportunity to fix this issue.

In the video below, it shows off the new shuffle queue.  It essentially works like the "randomize" option in the queue.  Turning it on will put your current playing song at position 1 and shuffle the order of the rest.  Pressing next track will simply just go to the next track in the queue.  This allows you to go back and forth and maintain the same order.  This also greatly simplifies the code on the backend.  Next track doesnt care if its in shuffle or not.. it just goes to the next track listed in the queue.  When shuffle is turned off it will return to the previous order.  Any new tracks added while in shuffle will just be placed at the end when shuffle is turned off.  Note: For this video and testing i added a shuffle button to the min player at the bottom.  This was just so i could keep the queue up and change the mode back and forth.



Notifications were managed by the MusicService, so I gave them a rewrite as well.  Google has added a lot API since I originally created these notifications, so this time around I will just leverage what they provide instead of doing a custom view for it.  These newer notification apis will also allow album art to play on your lockscreen on devices that it didnt work before (most phones would already show the album art on the lockscreen but a select few would not). 

Plans for the notifications will be 5 customizable button slots (most likely just the common actions like next / prev / play/pause / exit / toggle shuffle) and 2 (maybe 3?) metadata lines that are customizable like the other metadata views I've shown in previous updates.  The images below just show off the standard next play/pause and prev buttons.

Lineage OS 7.1.2
Lineage OS 7.1.2
Galaxy S5 running 6.0.1

Popular posts from this blog

GoneMAD Music Player 4.0 released and is now free!

GoneMAD Music Player 4.0 is now fully rolled out!  After 14 years since initial release as being a paid app, I've decided to try something different and switch to being free with ads.  The market is completely different nowadays compared to the early 2010s.  Ads are everywhere and users typically do not want to pay for apps / games / etc.  But don't worry, those users who previously purchased the unlocker or in app purchase unlock will continue to get an ad free experience.  New users will also have the option to purchase an in app purchase to permanently remove ads.   Note: There is a bug with 4.0 where users with the standalone unlocker may see ads when they first upgrade.  You typically fix this by just force stopping the app and restarting.  Ads should not come back after that.  Alternatively you can contact gonemadsoftware@gmail.com and I can help you out as well.  I have no intention on making users who already paid see ads. W...

1.4.8 - 24/96 + 24/192 FLAC support

Note that external dsp support is now off by default and you must enable it in the preferences. 1.4.8 (03/15/2013): -Improved resampling: sample rates higher than 48khz now supported and multi channel audio is now downmixed to stereo (for most formats) -Musepack file now play back at the correct volume -Fixed another issue with certain files playing back at incorrect speeds -Added /mnt/external_SD and /mnt/external to the default external sdcard location list -Added File Extension (%ext%) and Next File Extension (%next%) to the custom metadata options -Re-prioritized local image search to pick images named 'folder' first, then 'cover', then anything containing 'front' -Added skipping/stuttering warning when increasing the equalizer quality setting -Added option to toggle shuffle queue and collection individually to the gesture and singlebutton action list -Clicking on an album cover in the song list view will now follow the Song Actions preferences (...

4.1.6

4.1.6 has some fixes and one more significant change.  Previously if you decided to turn off the metadata text on the album grid so it only shows the artwork, this would force the same displayed metadata on views like artists -> albums.  Some users preferred to show a list of albums instead of the grid when filtering by artist / album artist / etc.  You can now set the metadata independently between the top level view and the filtered view like the images below. 4.1.6 (2025-12-12): Filtered album, artist, and albumartist list views displayed metadata can now be set independent of the top level list Prompt new users to add audio folders if less than 10 files detected in library Updated translations Fixed issue where multi folder albums scanner setting being off would still group albums in diff folders Fixed rare case where a tab would not load when using a very short custom tab name Fixed hebrew translation not showing up correctly on some devices Fixed bug where app op...