Skip to main content

Posts

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

2.2.7 Released

2.2.7 (04/09/2018): -Fixed reading embedded album art in ogg containers -Added error check to hopefully prevent the "Cleaning database" notification from being stuck -Jumping to a letter in the album list in android auto should now correctly take you to the right spot in the list -Clicking search button will no longer remove focus on the search text field -Additional workarounds for invalid unlocker issue 2.2.6 (04/03/2018): -Taglib update to 0.11.1 -Fixed handling of unicode TXXX album artist tags -Added workaround for invalid unlocker error caused by updating some devices to oreo -Fade out if the next audio source isnt prepared when crossfading

3.0 WIP 19: On Queue Completion, Android Auto, Improved Voice Commands and Auto Pause/Play

The last two weeks were mostly spent refactoring / rewriting the remaining Music Service code that i had previously disabled.  That includes the MediaSession , Android Auto Support, Audio Focus handler, On Queue Completion, Voice Commands, and Auto Pause/Play.  The only thing remaining I believe is the auto volume adjust and the ability to handle multiple remote control presses.  At this point it looks like a realistic release date of the first alpha should be in May.  I am probably a week out from starting internal testing, which basically means i start deploying the app to all my test devices and actually use it as my main driver on my phone.  Up until now i have still been using 2.2.x.  I am not expecting that many bugs, but what I am expecting is a lot of things i just forgot to implement that are crucial to making GMMP usable. 3.0 working in Android Auto Audio Focus The new audio focus handling is mostly the same as 2.x.  Google did add s...

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

3.0 WIP 17: Landscape Support + Jump To Time/Playing + More

There is a lot to show off this update so I will get right to it.  WIP 17 brings landscape support plus a few other things.  The majority of the views are the same as the portrait version except for now playing and the album details view.  That is not to say more landscape specific views will not be coming in the future.  Lansdcape Now Playing: The now playing view is one of the most important views in a music player and I felt GMMP 2.x did not full take advantage of the space as well as it could have.  In 3.0 there are a bunch of changes.  I do plan on having additional Now Playing layouts (like one that users the blurred album art as a background and one that doesnt bleed through the toolbar/status bar) but they will come at a later point. In landscape there will be 2 extra button slots that you can use.  In the image above I included a fullscreen / immersive mode toggle, and a direct button for the queue (instead of having a FAB).  A...

3.0 Work in Progress 16: Navigation Menu

For this WIP update I am going to show off the side navigation menu.  I set it up similarly to GMMP 2.x, but behind the scenes it will be customizable.  The only fixed menu options will be library, settings, and exit.  The rest will be able to be customized.  The same goes with the library view.  The tabs shown there will be able to be chosen.  All this customization wont come until a later alpha build but it is planned. I am not exactly sure what I am going to put up in the top yellow region yet, so i left it blank for now.  To control navigation in general, I am using this nice library called simple-stack .  It handles the backstack instead of the build in android one (which has a lot of issues that I will not go into).  The backstack is basically the list of views you have navigated to, so you can backtrack to the previous view when you hit the back button.  Below is a video of the navigation menu and the other navigation actions...

3.0 Work in Progress 15: Playlists View

Here is a look at the new playlists UI.  Like most of the other views it has some sort options (playlist list only so far.. not when editing the actual playlist) and the ability to be a regular list or a card list.  Also notice in the screen shot below how I threw all the views together as tabs.  The default UI will only contain the library type views as tabs but I designed things in a way where its only a single line of code to just throw whatever view in as a tab.  Also note in these screenshots and the video the album art in the mini player is a bit messed up.  I'll work that out before the first alpha release.  The context menu right how has the standard play, play next, and enqueue.  At some point I will add an edit option as well (which would allow an option to play the playlist on item selection instead of having to use the context menu) When selecting a playlist it will open up the edit view which supports the drag and drop like the...