Skip to main content

Posts

Showing posts from February, 2018

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 (like viewing an artist/genre/album details).  A

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 queue.  Right now its still p

3.0 Work in Progress 14: Equalizer and Effects UI

Before I get into the new UIs, I want to mention some of the behind the scenes work that has been done since the WIP update.  I mentioned in the last blog post that I completely rewrote the DSP / Effects backend (everything besides whats in the audioengine).  Since then I also ended up replacing the theme engine with a library called Aesthetic .  It was pretty similar to the custom theme engine I had written before, but I felt it was better written and had other users maintaining it which is always a plus.  It also was backed by RxJava2 which is something I've been using throughout the 3.0 rewrite and it makes changing theme colors on the fly much easier than my custom theme engine.  I did a massive cleanup and restructuring of the gmmp project.  I removed all the legacy code that has been rewritten and have split up the project into 4 main modules (this is done for much faster compile times): common, data, playback, ui/main. When I look at the breakdown of languages used on my g