Skip to main content

3.0 WIP 20: Light theme, list paging and highlighting the current song in all views

Light Theme

I spent some time making sure the light themes worked correctly and there was surprisingly a lot of work needed to get them looking good.



By default, the theme library GMMP uses lets the text to all of the views that are not the toolbar to be black.  The toolbar is smart enough to check the background color and choose the appropriate text color to display on top of that.  Since a large amount of GMMPs UI uses the primary color as the background, I had to create a lot of custom views to do something similar to the toolbar.



A dark background will give you light text and light button colors and vice versa for a light background.  Note: I still need to work on the button colors behind album artist.  Light colors on top of art is obviously preferred


Paging

In my opinion one of GMMP's strongest points has always been the ability to handle very large library, so I started testing 3.0 with a large library.  I put a 200 gb sdcard filled with music into my Moto e4 and began testing.  I quickly found out that what I had written started to struggle when throwing 20,000 songs at it.  The lists rendered fine and you can navigate through your music at a speed you would expect.. however the memory usage seemed to be very high causing random pauses when selecting items.  Fortunately google has something exactly for this in their Paging Library to handle this.  What this does is load data around where your list is current positioned.   In the case of having a list with 20000 songs, at any given time only a few hundred will be loaded into memory to be displayed in the list.

I am still in the process of working out all the kinks with the paging library, but my initial implementation seems to work pretty well.  The lists will show up almost immediately (vs taking a few seconds to load) and I no longer experience the random pauses when making selections.  Now some things do not play too well with this library like the fast scrolling, but I will either get things working with the fast scrolll library, write my own implementation of fast scroll, or come up with an alternative to navigate large lists fast (perhaps something like android auto does with the letter selection).

Song Highlighting


One of the most frequently requested features I received was the ability to show the current playing track in all the list views instead of just now playing / folder view / queue view.  Every view that shows track lists besides the bookmark view should now highlight the playing song if its in the visible list.  The video below shows that in action.



I also made a few other additions like syncing with the android media library and loading the entire list into the queue when selecting a song (this now includes the full track list view as well)

I am still targeting a late May release for the first alpha.  The player is in pretty good shape now but has not yet gone through any sort of significant testing, so there is the potential for a delay if I run into some bad issues.

Popular posts from this blog

3.4.17 and 3.5 Beta 1 Released

I was not planning on putting out any more 3.4.x updates, however google refused to approve the 3.5 beta due to some policy updates that caused the existing 3.4.x version already released to no longer be compliant.  Therefore 3.4.15-3.4.17 are basically the work I've been doing on 3.5 for the last 16 months, but with all the new features disabled.  I would like to put them through more testing before enabling to the public, hence the beta. 3.4.17 (2024-10-25): Fixed crash on android 14+ trying to verify the unlocker 3.4.16 (2024-10-24): Fixed multi select in album details highlighting the wrong item 3.4.15 (2024-10-23): Update target api level to 34 Updated dependencies Manual scans are no longer ran in a foreground service due to google's new policies Last played time added to song info pop up Fixed issue where extra space was added in artists with numbers in name Increased full search limit from 100 to 10000 results Fixed issue with files missing tags showing up in the unkno...

3.5 Released!

 GoneMAD Music Player 3.5 is finally here after about a year and a half of development.  Most of the new additions are not enabled by default but I did include a new UI preset named 'bottom' that will use the new now playing layout and the new bottom navigation mode.  Enjoy! See the Beta 1 post for more information on the new capabilities Also I recently created a Bluesky account if you want to follow to get updates:  https://bsky.app/profile/gonemadsoftware.bsky.social 3.5.x: New: Added new bottom navigation mode Added new now playing layout 3 Added gradient background option to now playing layout 2 and 3 Added new details layout for artist/album/genre/etc(Change layout via: Customize -> Layout Menu -> Layout 2).  Enabled by default Added bottom nav UI preset (named 'bottom') Updates / Improvements: Updated dependencies Tweaked existing UI presets Improved startup time Fixes: Queue should now focus on playing song when opening / returning to queue Fixed s...

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...