Skip to main content

3.0 Work in Progress 11: Bookmarks, Chrome OS, and Permissions

I recently picked up one of the new Google Pixelbooks and I will say it a pretty awesome development device.  It runs Chrome OS, Android, and Linux all at the same time and has pretty good specs (i5 cpu, 8 gb ram, 128 gb ssd) for running Android Studio.  I am able to code and deploy GMMP right on the same device which makes development really convenient when not at home.   Android apps also run in their own window which can be resized which makes UI testing on different size screens super easy.

Ignore the artifacts around the window containing GMMP.  It is a side effect of taking a screenshot i guess (it appears fine on the device)
In order to support the free form resizing of the app window, I updated the target SDK level to 27 (android 8.1).  GMMP 2.x was still on 21 (android 5.0).  The target SDK update should see some performance improvement in newer devices (although i do not know by how much).  I also added support for the android permission system they added back in 5.1.  GMMP should only ask for storage permission and possibly phone state permission (if you want to use the auto resume after a phone call finishes feature).


Anyway, the main focus of WIP 11 is bookmarks.  In the process of refactoring / rewriting the MusicService, I rewrote the Bookmarker and added a UI to show existing bookmarks.  All of the previous work I spent on creating common, reusable UI components is really paying off.  Adding a functional bookmark list UI only took roughly 15 to 30 minutes.  Similarly the Artist and Genre details UIs I showed in WIP 10 took about the same amount of time.  Since its so quick to add these UIs, I can see myself adding a bunch of optional views for some other fields like year or composer (and making 2 separate UIs for artist / album artist if the user wants to have both easily accessible)


The bookmark list will show all the currently bookmarked tracks and let you play them directly from the list (or delete them).  Like every other view i've shown in 3.0 so far, the metadata will be customizable.  For this post I just had the list items show song name and bookmarked time.  For the video below I set it up to just auto bookmark everything, but the previous bookmark settings will still be there in 3.0 (auto bookmark based of song length, m4b extension, or by folder). The video will show the song auto bookmarking when changing tracks, and then resuming at the same position when returning to the song.  It also shows the manual bookmarking and unbookmarking of the currently playing song.


My focus next will be creating a folder UI.  The folder UI is a bit more complex than the other UIs (besides maybe now playing) so I imagine its going to take awhile

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

4.1 marks the end of life for Android Lollipop (5.0/5.1).  Some of GMMP's dependencies require the SDK level 23 or higher, so I was forced to also increase the min sdk to 23 (android 6.0).  According to the google play store statistics there are around 50 or so users on 5.0/5.1, so I do apologize for dropping support.  10 years of support is fairly decent nowadays anyway.   I've also increased the target SDK to android 16.  With this increase I had to account for the forced "edge-to-edge" that google is making all apps support.  If any UI element ends up behind the navigation buttons, certainly let me know.  I am pretty sure I did everything correctly but I only had one device that I was able to test on (pixel 6a) 4.1.0 (2025-09-03): Updated target SDK to Android 16 Updated dependencies Updated translations