Skip to main content

3.0 Work in Progress 12: File Browser UI

Next up on the new UI list is the file/folder browser.  I also rewrote the file/playlist handling on the backend to be much more streamlined.  A lot used to go on when playing folders and i've greatly simplified that.  As always, the file browser will show anything on the file system and does not care if its in the database or not.  This is great for navigating, but caused a lot of issues when a user went to play a file or folder.  I am sure some were familiar with the issue where songs would "disappear" from the queue after reloading GMMP.  This was because the user played a file that was not scanned into the database.  GMMP would play the file fine in the queue, but when the queue was persisted to the database those files were lost.  In 2.x GMMP would try its best to get everything scanned in by running silent scans of folders as you navigate into them.  While being pretty inefficient, it worked for the most part.  The big issue happened when a user would select a folder to be played and that folders contents were not scanned it.  GMMP did a bunch of stuff to account for this, but in the end it was very hacky/ugly and really bloated the codebase.

This time around for 3.0 I came up with a much better approach.  The new UI / data backend has some nice capabilities like auto updating when its backing data in the database changes.  Now when a file is played, GMMP will look to see if its in the db, if not it creates a placeholder on the spot.  The placeholder just contains the filename and a track id which is all that is needed for putting a song in the queue.  If any placeholders were created, gmmp will then run a scan to populate all the placeholders with the information from the tags.  Any UI that was displaying the placeholder will auto refresh and show the tag metadata.  So now there should never be a case where files are lost from the queue on restart.

New UI (I switched up the theme colors just to add some variety to the screenshots)


At the top is the QuickNav which is scrollable horizontally and each folder is clickable to instantly jump back up a few folders (the video below will show this).  Like every other list item, the metadata shown is customizable.  In this screenshot below the first item is a playlist which is just displaying its filename and the items below that are showing the song name and duration.



I plan on adding the ability to highlight the currently playing track (i also think i can add that ability to the library views. I know this is requested often).


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