Tuesday, September 27, 2011

New title bar added (0.27.2)

I've had requests for awhile for a way to hide the quicknavbar.  Well you are now able to do that with the new title bar.  Screenshots are at the bottom.

0.27.2 (09/27/2011):
-Added new title bar with a button to toggle on/off the quick nav bar.
-More widget loading optimizations

-Fixed crash on startup when trying to read invalid dsp presets
-Added extra exception handling for unsupported parameters in the android eq
-Added recursion limit to the filescanner to prevent infinite recursion
-Fixed album art in widget and song view from loading full size instead of
    scaled down thumbnail size

Sunday, September 25, 2011

New widget added plus other fixes (0.27.1)

I just pushed updates to both markets.  It is mostly fixes/improvements but I added a few new things.  There is now a 4x2 widget and pressing the album art (or gmmp icon) on the widget will launch gmmp.  I also added an option for headset controls that only have one button (Preferences -> General -> Single Button Support under Headset Controls).  A single press will pause/play, a double press will advance to the next track and a triple press will go back to the previous track.

I personally do not really use widgets or headset controls so please feel free to email me if you think things need to be tweaked.

0.27.1 (09/25/2011):
-Added 4x2 widget and adjusted font color of existing widgets
-Pressing the album art on 4x2 and 2x2 widgets will launch gmmp
-Renamed "Enable Bluetooth Controls" to "Enable Headset Controls"
-Single Button Support option added to headset controls which does the following:
    Pause/Play on single press, Next Track on double press, Prev Track on triple press
-Added permission android.permission.MODIFY_AUDIO_SETTINGS in order to check if bluetooth audio is connected
-Filescanner will now remove missing files and empty artists/albums/genres after scanning
-Library sorting is now case insensitive (you may have to change the sort option for this to take effect)
-Fixed random nullptr exception when the media controls try to update
-Fixed auto volume adjust for bluetooth
-Fixed crash setting up the auto scan
-Caught out of memory exception when creating a quicknavbutton
-Capped the max buffer size for an audio track (sizes were getting close to 1meg while
    connected via bluetooth.  That large of a size is not needed)
-Fixed album art from unnecessarily loading multiple times for the widgets

Friday, September 23, 2011

UI Improvements - 0.27.x

I pushed out a UI update as soon as I could.  Everything should be standard across all devices now.. hopefully.  I will do a few more updates in the coming days adding a new media control for the now playing screen, some larger widgets, a new title bar, and other various fixes.

Wednesday, September 21, 2011

0.26.2 - 0.26.4

I have been doing a lot more quick fixes/updates in the last few days .  The changelog is underneath.  I have posted gmmp on both the android market and on appslib (which is mainly meant for tablets).  Be sure to give my app a rating on whichever market you used to download it.

All the major issues seem to be fixed so I am going to  concentrate on making the user interface much better looking.

0.26.4 (09/21/2011):
-Exit option will no longer prompt you to confirm
-Reset option added to EQ view
-Added "ignore albumartist tag" to the scanner

-Fixed music service from reverting to a background service after an orientation change
-Clearing the playlist will now properly clear the now playing screen if needed
-Music service should now always properly shutdown when exiting
-Fixed WidgetUpdateService from starting when it shouldnt

0.26.3 (09/20/2011):
-Added preference to keep notification up when paused.
    Preferences->General->Show When Paused (defaults to off)
-Notification no longer flashes a ticker saying the music service is running
-When playback is stopped (playlist ended or gmmp is first started) the 'Play Next'
    option will add the selection to the playlist and immediately start playing it
-Added 2 additional options to the On Playlist Completion preference
    -Play Random Album: Picks a random album and plays it
    -Play Rest Of Album: Takes the last track in the current playlist, and plays
    the rest of that tracks album
-Exit should remove notification now
-Fixed crash when selecting play next with an empty playlist

0.26.2 (09/18/11):
-Fixed nullpointer exception when all the optional quick nav buttons are disabled

Sunday, September 18, 2011


I woke up to find many bug reports send in.  I pushed an update to the market with fixes for the bug reports.

Also I forgot to mention that you must uninstall the alpha first before trying to install the beta from the market.  So if you rated me 1 star for it not installing properly, please adjust that rating accordingly (I'm fine with 1 stars if you don't like the app)

0.26.1 (09/18/11):
-EQ button will now only show up if eq is supported
-Tag editor context menu option now only shows up for valid audio files

-Fixed crash on startup if eq is not supported
-Compatibility view now correctly shows if eq is supported
-Fixed nullpointer exception in file browser
-Properly handle invalid input into the time select dialog
-Fixed crash when closing the main view
-Fixed crash in tag editor
-Fixed other various crashes

Saturday, September 17, 2011


NOTE: FAQ is horribly outdated and will be updated for GMMP 3.0 when that is released.

This is a work in progress

Q: GMMP won't install.  I get an invalid signature error.
A: Uninstall the alpha before trying to install it from the market

Q: How can I fix GMMP when I get crashes / weird issues after an update.
A: Once in awhile when updating from google play, the android installer does not correctly apply a new update and this can cause issues.  If you start to experience weird issues after an update, it is recommended to uninstall and then reinstall GMMP.  GMMP settings and play stats can be saved and restored using Prefs -> General -> Backup

Q: Why can't it find my music?
A: The default directory is sdcard/Music/  If your collection is in other folders you can simply add the paths to the scanner.  (The sdcard on some devices is actually located at /sdcard-ext/ so try that as well)

Q: Why are all these ringtones and soundclips showing up in my library?
A: Try doing a clean scan with "Ignore folders with .nomedia".  This will ignore any folder with a file named .nomedia in it.  You can place a .nomedia file in the folders with the ringtones, or you can add that path to the "Ignore Paths" in the scanner

Q: Why doesn't the file browser show any files?
A: The browser will only show the folders (and subfolders) of the paths added to the scanner.  You will need to add your music paths to the scanner.  If you want to browse everything just add /sdcard/.

Q: Why does gapless playback not work?
A:  First check to see if you have it enabled (Preferences -> Audio -> Gapless Playback).  Also check the compatibility view to see if gapless is supported on your device (Preferences -> Audio -> Show Compatibility).  Lastly the audio file needs to be encoded properly in order to playback without gaps.  Both Itunes and LAME will encode the files with the proper metadata for gapless.

Q: Why does the audio skip?
A: There is a guide on reducing the skipping here. If none of that works then unfortunately your device is just not powerful enough to run GMMP.  Features like flac playback, the equalizer and gapless playback all require more cpu then the stock player.

Q: Some of the buttons on the top are off the screen.  How do I get to them?
A: That top area is scrollable, so simply drag it left or right to access the remaining views.

Q: How can I prevent album art from zooming in too close in the Now Playing view?
A: Preferences -> Now Playing -> Album Art Scale Type : Try fit center or fit end.  Both will fit the whole image into the view.

Q: How do I enable EQ or L/R balance controls?
A: From the equalizer view press menu and select 'Toggle EQ'

Q: Why doesn't volume button override to change tracks work
A: Unfortunately this feature only works with the screen on and the player in focus.  I've been searching everywhere how to intercept the presses in a better fashion but haven't found anything. Please contact me if anyone knows how to properly intercept the keypresses with the screen off.

Q: Why does GMMP use so much memory?
A: Unlike most players, GMMP uses a custom built media library instead of the built in android library.  The android media library stores all its data in "Media Storage" whereas all the music metadata in GMMP is stored within the app.  GMMP also has a custom built underlying media player that it can use instead of the built in media player which uses additional memory as well.

Q: How do I get rid of duplicate entries in the media library?
A: You can remove identical entries by going to preferences -> scanner -> menu button -> clean database.  If you have two duplicate entries that have different capitalization (a Day to Remember vs A Day To Remember), you can either use the tag editor to make them the same or do a rescan with the "Format Album/Artist" option checked in the scanner.

Q: How do I stop the MusicService from running? Backing out of GMMP doesn't stop it.
A: Press the menu button and select the "Exit" option .  This will shutdown the MusicService

Q: Why do some m4a files not play?
A: Some m4a files can contain data that the default media player cannot read.  Enable gapless playback to force GMMP to use its custom audioengine which should handle every type of m4a file.

Q: Why do the widgets not update properly
A: If you recently updated GMMP, you may need to re-add the widgets for them to properly update.

Q: GMMP really lags my device sometimes during playback.
A: By default the playback/decoding is given a very high priority on the device which means it will take priority over other applications in order to give smooth playback.  Priorities can be lowered in Preferences -> Audio -> Playback Priority / Decoding Priority

Q: How can I play an album on repeat?
A: Preferences -> Queue-> On Queue Completion -> Loop Queue

Q: GMMP is not responding to my remote control or another app that is trying to control playback (ie Tasker).
A: To get gmmp to respond to the standard media control intents enable: Preferences -> General -> Enable Headset/Remote

Q: Where can I find more documentation?
A: I put up some guides here.  They might be slightly out of date but most of the information should still apply.

0.26 Beta now available on the android market

With the addition of widgets, I have decided my app is ready for the masses.  I will be doing a free beta period of roughly one month

I discussed the improvements to now playing in this post.  The other change I wanted to discuss was the improved playlist management.  Playlist files are now scanned in along with your music files.  A list of every playlist file is available through Playlist View -> Menu -> Manage Playlists.  Loading and deleting playlists is now done here.  Long press will give you a list of options you can do for each file (Play, Play Next, Enqueue, Save To, and Delete).  "Save to" essentially takes your active playlist and saves it to the selected file.

Screenshots are at the bottom.

Market Link

NOTE: You must uninstall the alpha first before trying to install the beta from the market.  So if you rated me 1 star for it not installing properly, please adjust that rating accordingly (I'm fine with 1 stars if you don't like the app)

0.26 (09/17/11):
Initial Beta Release

-Added gesture support to now playing (right fling = prev, left fling = next)
    (Preferences->Now Playing->Enable Gestures)
-Added option to reverse gesture directions (Preferences->Now Playing->Reverse Direction)
-Switched auto album art download service from google to bing
-Slightly modified the look of NowPlaying
-Added option to choose album art scaling and positioning (Preferences->Now Playing->Album Art Scale Type)
-Added "No Repeat" option for playlist shuffle that will prevent a track from repeating until every
    track in the playlist has been played or the playlist is modified. (Defaulted on)
-Added transition animations when switching between views
-The user is now prompted to scan for music during the first run after install
-Added auto scan option for periodic scanning (Preferences->Scanner->Menu->Auto Scan)
-Added clean database option to remove missing files (Preferences->Scanner->Menu->Clean Database)
-Improved playlist management:
    -Scanner will find playlists and store them in a database
    -The playlist view now has a "Manage Playlists" option which brings up another view showing every playlist
    -From this new view you can play, play next, enqueue, save to, or delete the playlist
-Added option to view album info when viewing an albums song list.  Artist, Album, Year, and Album Art will show
    above the song list (Preferences->Library->Song Library->Show Album Info)
-Added 2x1 widget with basic playback controls and 2x2 widget with song info and album art
-Changed around some of the default preferences to help out new users
-Added help button in preferences which links to the gmmp website
-Removed "scan filename only" checkbox in the scanner
-Album art file locations now stored in database during file scan

-Fixed crash when pressing the delete option in the playlist and no playlists existed
-Fixed potential memory leaks in the MusicService
-Fixed bug where pressing next/prev track while paused would not change tracks
-Fixed bug where the last song in a playlist would stop slightly before the end
-Fixed crash restoring browser state

The 2x2 and 2x1 widgets

New view that lets you manage playlist files better

Wednesday, September 14, 2011

Preview: Now Playing Improvements (0.26)

I'm hoping to get 0.26 completed by the end of this week.  I have another widget or 2 to create and a few bugs to fix but the rest is done.  This update is mainly focused on improving the now playing view, the playlist management and the file scanning/database.  I also am adding some basic widgets.  Now lets take a look at what has been added/changed to the now playing view.

Album art scaling/positioning options:  
Included a new option that lets you choose from 5 different settings. 
You can access this in Preferences -> Now Playing -> Album Art Scale Type

Fit End:

Fit Center: (How it used to be in older versions)


Center Crop:

Matrix:  (no images)

Also as you can see in the image above,  the track info does not make a bar across the screen anymore.

There is now an option to change tracks via gestures.  Swipe left to go to the next track, or swipe right to go to the previous track.  There is option to flip the directions as well.
Preferences -> Now Playing -> Enable Gestures
Preferences -> Now Playing -> Reverse Direction

One other thing that is not in the now playing view, but I took a screenshot of it anyway so I might as well include it.

Album Info In Song List View:
There is an option to show the album info when digging down into an album's track list.
Preferences -> Library -> Song Library -> Show Album Info
Note: The auto downloading still applies to this view, however embedded art will not show up currently

Tuesday, September 6, 2011


0.25 had a bug that would disable the preferences to change the EQ band count and quality setting and since I already had a build ready there is no reason to delay releasing a patch.  This contains some fixes and a few minor new features including support for pls and wpl playlist files

Download 0.25.1 alpha here

0.25.1: (09/06/11)
-Moved File Browser preferences to a subcategory of Library preferences
-Added "Quick Return" option that turns the quicknavbar button of the active view into a shortcut
    to return to the root list (ie: in Genre view if you are navigated to Genre->Artist->Album, the
    genre button returns back to the root Genre list).  This works for the artist, album, genre, and browser
-Shuffle selection dialog now shows current shuffle mode
-Added support for loading .pls playlist files
-Added support for loading .wpl playlist files

-Renaming a genre to an already existing genre will merge the two instead of creating 2 identical genres
-Fixed crash when "Editing Tags" is on screen and gmmp is minimized
-Fixed shuffle playlist from picking the same song twice in a row
-Previous track button works correctly in shuffle playlist mode
-Fixed eq band and quality preferences from being disabled
-Fixed exception thrown by tag editor

Sunday, September 4, 2011

0.25 Released - Drag and drop playlist editing, tag editor, scanning improvements, and more

Here is the next update.  I discussed some of the new features already in previous posts (tag editor, playlist drag and drop).  Here are some of the other additions and improvements

Auto Volume Adjustments

This feature, accessible in Preferences -> Audio -> Auto Volume Adjust, will allow you to automatically adjust the volume when you connect/disconnect BT audio or plug/unplug headphones.  There are 2 different modes you can use.  "Use Defaults" will set the volumes to a default value which you can set yourself in the preferences.  "Restore Last Used" will remember the last volume you had and restore it.  Example: the speakers are on and the volume is set to 90.  You plug in headphones and turn down the volume to 10.  When you unplug the headphones the volume will be restored to 90 and when you plug them back in the volume will go back to 10.
NOTE: Neither of my devices had working bluetooth audio so I was unable to test if the volume adjusts for bluetooth.  Please send me an email if you discover issues with this.

Scanning Improvements

The scanner will now use "Unknown" fields when it cannot read in a tag properly.  The filename will get used as the trackname is a name tag is not found.  The file browser will now automatically scan in new files as you browse.  This now lets you access your music immediately upon installation.  A full scan is still recommended however.  There is also a new context menu option for folders allowing you to do a deep scan of that folder.

2.3+ support for the audioengine

Gapless playback and gmmp EQ now work with android 2.3 and higher.  I also added an option to use the equalizer that comes with 2.3+.  Honestly the sound is not very good compared to the EQ that I wrote, but it might use less cpu power so I included it.  The band count is restricted and there is no preamp or balance control. 

Download 0.25 alpha here

As always report any issues to me via email or through an error report.  I'll be spending the next few days addressing some of the feedback I have gotten and fixing any issues that pop up with 0.25.

Full changelog:
0.25: (09/04/11)
-Added drag and drop edit mode to the playlist
-Added tag editor
-Added "Always Keep Device Awake" option
-Added "Jump to Time" option to NowPlaying
-Added auto volume adjust when switching between speakers, wired headset, and bluetooth
    -2 modes: use defaults & restored last used
-Added MP3 and AAC gapless and EQ support for 2.3+
-Slightly improved scanning speed
-Scanner will now pick up songs with invalid tags.  Unknown fields are populated with "Unknown"
    and the filename is used for the track name
-"Scan" context menu added to folders in the browser view
-Option to scan folder while viewing it in the browser view
-Album art auto download now uses album artist to search instead of artist

-Fixed issue where playing tracks using the playlist would not start the track at 0:00
-Fixed crash in browser view when using the context menu
-Album view will show the album artist if present for various artist albums instead of "various"
-Disabled context menu for back arrow in browser view
-Fixed default song view sort order
-Saved position in current track is now reset if next or prev track button is pressed
-Possibly fixed issue where gmmp wouldn't fully close when the Exit option was selected
-Sort options for all songs and an album's song are now independent
-Sort options for all albums and an artist's albums are now independent
-Audioengine: Fixed potential crash during track change
-Fixed inaccuracy in artist stats

Friday, September 2, 2011

Tag Editor Preview

0.25 will add the ability to edit the tags of your music from within gmmp.  The tag editor can edit individual tags or do mass tagging for certain fields like genre, artist and album artist.  You will be able to access the tag editor from the following views: playlist, artist, album, genre, song, and browser.

Using the tag editor is fairly straight forward.  Check the boxes you want to edit and the text box will become enabled.  Any tags that are not checked will be untouched.

This release is taking a bit longer than I wanted it to but if all goes as planned I'll have it up for download tomorrow.

Thursday, September 1, 2011

Note: x86 devices

I have been getting some error reports from devices running an x86 processor.  Right now GMMP will only run on devices with ARM chips (nearly all mobile devices are ARM).  Once I put it out on the android market I will look into doing an x86 compatible build since the market lets you upload multiple apks for the same app.