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.5 Release / Preview of 3.5

3.4.5 was just uploaded to google play and should be rolling out over the next few days. Changelog: 3.4.5 (2023-08-29): Added Dutch translation Fixed crash editing rules in rule groups Disable IAP donation options if Full Version Unlock has not been purchased to prevent confusion Other changes since 3.4.0: Added Finnish translation and updated other translations Added donation options to the purchase settings area Fixed crash when trying to bookmark / unbookmark currently playing song Fixed Finnish not showing up in the language select Fixed other various crashes Fixed issue where rating or editing tags could potentially split the album Fixed some of the lists/grids not refreshing after changes 3.5 Preview I've been working on some new UI options planned for 3.5.  So far I've finished a new gradient background option for now playing.  There are 2 different styles (linear / radial) with 2 different color sources for each.  One source will take from the theme colors, the ot...

3.4.9

More fixes.  Check out discord for info on the 3.5 alpha. 3.4.9 (2024-02-14): Fixed tab navigation returning to the wrong view on screen orientation change Fixed queue not being focused on the playing track sometimes while using tab navigation 3.4.8 (2023-12-21): Fixed backup/restore intent receiver not working with IAP unlock Fixed crash sorting playlist contents

3.4.14

Google really messed with alarms and timers for android 14, so 3.4.14 should fix the sleep timer.  You will notice an alarm will show up in your alarms menu when the sleep timer is turned on.  This is the only way to actually get the sleep timer to reliably stop playback on time when your screen is off / phone locked. 3.4.14 (2024-05-17): Sleep timer should now be more reliable on android 14+ 3.4.13 (2024-04-29) Fixed metadata view incorrect sizing in now playing layout 1 3.4.12 (2024-04-23) Updated translations Fixed issues with left and right metadata alignment when no album art Multi artist/genre/composers should now be separated by a comma and space throughout GMMP 3.4.11 (2024-04-16) Added ability to choose whether to crop album art to 1:1 aspect ratio in now playing layout 2 (customize -> album art -> crop to fit) Fixed now playing tab 1:1 aspect ratio album art getting cropped Album art preview pop up should no longer crop art 3.4.10 (2024-03-31) Fixed auto bookma...