Skip to main content

3.0 WIP 18: Add To Playlist, Sleep Timer, Improved Drag and drop and more

For a large portion of the time since the last post, I worked on redesigning the data access portion of GMMP which doesnt really have much to show off visually but I will briefly talk about it.  In the first WIP post I talked about the complex metadata view customization 3.0 will provide.  Now playing and all the metadata lists let you customize how they will look and what metadata they will display.  This was working pretty well for the layouts i had set up for demo purposes, but there was a problem of being able to get all the necessary data in order to populate the metadata views.  I had a bunch of hard coded database queries that were good enough to get some screenshots, but would not completely if i would add a lot of other fields to show.  An example would be in the track list I believe it previously only showed the trackname and time.  What if i wanted to also show the artist?  Well previously i would have had to either make the track query more complex by joining with the artist table or add separate query that did the track/artist join.  The problem with the first option is this would make every track query take longer regardless if the user wanted to show the artist or not.  The problem with the second option is this would require thousand of custom queries to get every possibly combination of metadata for the view.  Neither were acceptable to me so I decided to rework how data was being accessed.

My new solution was to design a database query builder.  It basically contains a few public methods so i can specify what type of query to do (track list query, artist list query, album list, etc).  I then specify what metadata fields are wanted, along with any conditions (like artist = so and so) and it will return the query to use against the database.  In most cases the metadata fields are generated automatically by scanning the metadata lines and the sort order selected.  So what does this all mean?  If your track list metadata line is something like "%ar% - %tn%" and the sort order is by album, the generated query will retrieve only the artist, trackname, and album.  This should lead to the best performance possible and the least amount of memory being used.

Add To Playlist

I readded Add To Playlist and it is mostly the same as it was in 2.x.  Behind the scenes its much better but UI wise it works the same.





More Now Playing Actions

I added volume control, stop after current, sleep timer, and the share option.  The sleep timer also now has an option to wait until the end of the playing song before pausing.






Drag and Drop Improvements

When I initially did the drag and drop, I couldn't find a way to use anything but the default behavior which was to long press to start the drag.  After some more research I did eventually find a way to add "handle" to start the drag and drop.  This is much more usable in certain situations like in the car.  To turn this behavior on, I added 2 new view modes to the view mode menu.  Handle and Card Handle





For whatever reason youtube would not let me upload the drag and drop video i created, so Im using the blogger video capability instead.



The preference UI is the only remaining UI task still need to be done before i can release alpha 1, the rest is basically just restoring the remaining music service capabilities that I had took out when starting with 3.0

















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