Friday, January 20, 2017


2.1.4 (01/14/2016):
-Music service will stay a foreground service to prevent it from being killed/restarted when show when paused is true and dismissable notifications are turned off
-Notification controls now properly update after changing tracks when paused/stopped
-Fixed tasker support
-Persist auto resume when music service restarts or is killed
-Fixed issue reading album art from APEv2 tags
-Improved APEv2 tag reading
-Upgraded google play services to 10.0.1
-Upgrade support library to 25.1.0

2.1.3 (12/01/2016):
-Added option to disable dismissable notification controls when paused (Android 5.0+)
-Disabled "Show in status bar" on Android 5.0+ due to google removing the capability in 5.0
-Fixed crash when trying to save playlists to a location where gmmp does not have access to write
-Fixed blank notification issue
-Composer no longer defaults to artist tag if composer tag is not present
-Other minor fixes

Tuesday, January 3, 2017

2017 Plans

I've been fairly quiet on here for the last few months but I wanted to give an update on the plans for this new year.

2.1.4: Tasker users are probably aware that the lastest version of tasker no longer works with gmmp due to an api change made by the tasker dev.  The next update will fix that along with another small annoyance I found regarding the auto resume not working if the OS restarts the music service (which seems to happen after not using gmmp for an hour or 2). This should be released in 2-3 weeks.

2.2: The next major update will add android auto support.  I have it working currently with limited access to gmmps content (just the queue so far).  Due to the guidelines android put out for auto, gmmp will only expose some thing by default like the queue,  top songs,  recently played, and other things like that.  The reason for this is so the update will get approved by the play store.  According to their docs they do manual testing of the auto support and everything must comply with their guidelines.  I will however,  add an option in the settings to expose the full library.

2.2 will also remove the support for kitkat in order to start the transition to some of the 5.0 apis that will really help out the app.  The first will be the switch to vector graphics which should reduce the size of the app by a fairly large amount.  In earlier versions of android i had to include images for every screen size for every icon / image.  Vector drawables allow me to just include one file for each icon and android will scale it to the appropriate screen size with no loss of quality.

The other big change will be a new aac decoder using the MediaCodec api.  A few manufacturers shipped their 6.0 updates with a completely broken  implementation of opensl (which is what gmmp uses for aac playback).  OnePlus is the big name that comes to mind but a few others have done it as well.  This new api should allow aac playback again in gmmps audioengine on those devices.

Betas with auto support should start being released in 3-4 weeks.  Final release wont be for a couple of months most likely.

While working on 2.x i have also been doing some work on 3.0. Mainly a new theme engine for gmmp.  It will allow me to dynamically color the ui with any arbitrary color set and also switch color sets without restarting the UI.

Its coming along nicely in a demo app i wrote which i plan on showing some previews on here when i feel its ready.  Integration will gmmp wont happen until 2.2 is finished however. For those who did not read my other post about 3.0, it will mostly focus on rewriting the UI.  I will start from scratch leveraging all the material design animation libraries and other niceties added in 5.0+. The base of the current UI was from the gingerbread days so it really just needs a rewrite.

I would like to start pushing out early 3.0 betas in the late summer.  Betas will mostly continue throughout the rest of a year with a final release at the end of 2017 or early 2018. It really all depends how much time i get to work on gmmp this year.  Im changing positions at my day job next months so i will probably not be as burned out on coding as i have been these last 2 years (hence the slower progression in the app)