Sunday, December 30, 2012

New feature banner

Along with the icon update, I figured the feature banner on google play needed to be updated.  So here is a preview of that.

Wednesday, December 26, 2012

1.4 Release Candidate

GMMP is now going into a heavy testing phase that will last a week or 2, so get the translations updated sometime during that period.  If you would like to see the updated translations in the app before the final release send me an email and i'll do a custom build for you.

Release Candidate:

Download RC1

Classic Red
Classic Dark Blue
Holo Black and White
Holo Green
Holo Dark Blue
Holo Red
Holo Orange
Holo Yellow
Holo Purple

The images below show the customization now possible for now playing

1.4 RC1:
-Fixed crash in 4.2 when trying to play back certain mp3 files
-Selecting a smart playlist will now follow the "Playlist - Play on Select" preference
-Updated Spanish and Italian translations
-Fixed some instances where the seekbar would return to its original position for a split second right after seeking
-Fixed jump to playing folder when "Start In Playing Folder" is disabled
-Fixed some issues when trying to save tags to a currently playing track
-Smart playlist text rules are now case insensitive for = and !=
-Fix for some m4a files playing fast
-Added 3GP support for android 4.0+
-Added backup/restore for playcounts/ratings (Prefs -> General -> Backup)
-Fixed some crashes when using external skins on motorola devices
-Fixed fade out when crossfade is not possible when eq is disabled
-Fixed issues crossfading to or from a song shorter than the crossfade time
-The shuffle option in the context menu will now randomize the selection instead of turning on shuffle playlist

1.4 Beta 5 (12/19/12)
-ASC and DESC now work properly in smart playlists
-Added completely customizable metadata lines for now playing
-Fixed order by crash in smart playlists
-Fixed issue where decreasing the volume using a gesture would change the volume 2 steps instead of 1
-Fixed jump to playing folder bug when the playing song is in the root folder
-Fixed bug in file browser that would prevent you from going back to the previous folder

Sunday, December 16, 2012

200,000 total downloads! + A look at advanced metadata customization

Today GMMP reached the 200k download mark on google play.  Quite an awesome feat for around 16 months of being on the market.

I like to include screen shots in my posts so here are some screens of the advanced customization options for now playing that I am working on.  When choosing the displayed tags, you will now be presented with custom options along with all the presets.  Each custom line will let you choose an icon and custom text to display.  

So if you wanted to have one line show Track Number. Artist (Rating), you would enter in:
%tn%. %ar% (%ra%)

It looks a bit complicated but I imagine the type of user who wants this level of customization will have no issue with it.

Saturday, December 15, 2012

1.4 Beta 4 - Ratings + Smart Playlists

Smart playlists are finally here.  There will be one more update before it will be released on the play store and amazon.

The last update will contain:
-Some default smart playlists like last played and recently added
-A way to persist ratings / playcounts when doing a reinstall or clear the database
-Advanced customization to the metadata in now playing.  Example: %trackno%) %artist% - %trackname%  would display 1) Artist - Trackname on a single line
-Improved resampling and support for sample rates higher than 48khz
-Updated skins

Smart playlists are saved to a file located in /sdcard/gmmp/smart, so they only need to be created once and can be copied to another device

Download 1.4 Beta 5
Forum Thread


1.4 Beta 4:
-Added smart playlists
-Search will now AND each word instead of searching for the whole string ("all that" = "all" AND "that")
-Shuffle cancellation enabled by default for play next and enqueue
-Added song ratings
-Changed the default slot 4 tag to rating (was genre before)
-Merged 1.3.21/1.3.22 fixes
-Improved tag writing performance
-Improved loading speed of embedded album art
-Shuffle removed as a context menu option for all song view
-Headset/bluetooth media controls (next/prev/rrwd/ffwd/stop) can be assigned custom actions
-Changed playlist to queue in classic blue/silver skins
-Updated status icons
-Minor adjustments to the scanner layout to display better on smaller screens
-Added Date Added and Last Played to the database
-Scanner now populates date added when scanning
-Last played and playcount are now updated when a song finishes playing
-Changed default single tap gesture to do nothing
-Removed gradient backgrounds to tag editor, scanner, about, whats new, compatibility, error log, help, image selection, and widget setup views
-Fixed bug that would cause nothing to happen when attempting to play a file from an external file browser
-Fixed bug caused by selecting add to playlist from now playing when no song was playing/shown


It might be another few weeks before 1.4 hits the play store so here is a minor update fixing some minor issues.  The x86 version is also now updated (was still on 1.3.20 before)

1.3.22 (12/15/2012):
-Fixed bug where the playlist view wouldnt update after removing a song
-Fixed some crashes caused by bad audio files
-Fixed context menu for filename search results
-Fixed image selector crash when selecting gallery on a device without an image viewer

Sunday, December 9, 2012

A look at smart playlists

I've just about finished up the smart playlist editor.  It is fairly straight forward and should be really easy to create complex playlists.

As of right now there are 15 different categories you will be able to use to create the playlists.


Saturday, December 1, 2012


There hopefully will be no more issues with mp3s playing back in slow motion.  I stared at the mpeg header spec for about 4 hours last night and I believe the code should now skip over invalid headers when trying to find the properties (sample rate / channel count) of an mp3 file.

1.3.21 (12/1/2012):
-Fixed issue where mp3 header information was not properly being read causing slow/fast playback
-If a file does not have an artist tag but does have an albumartist tag, the scanner will use the albumartist tag for both
-Fixed potential crash when updating notification with low memory
-Updated czech translation

Friday, November 30, 2012

Progress Update: Ratings and Smart Playlists

This is very much a work in progress but I'm at the point there is something to actually show.  Ratings are from 0-5 and are on 0.5 increments so half stars are allowed.  The smart playlists view is done, but the queries are hardcoded at the moment.  I still have to create the smart playlist creation editor.

The following images show 2 songs rated, one 3.5 and the other 4.5.  2 Smart playlists were created one showing songs rated at or over 3 and the other at or over 4.  Both songs show up in the first smart playist but only the 4.5 rated song appears in the second.  Nothing amazing but it shows that its working.

Rating >= 3

Rating >= 4

Sunday, November 25, 2012


1.3.19 introduced a bug where the notification icon would not go away if you exited the app while playing.. so i fixed that up and also was finally able to address another long standing issue.  GMMP used to crash if you were using a skin and tried to paste text into any of the edit boxes.  This is now fixed.

1.3.20 (11/25/2012):
-Fixed bug where the notification would not go away when exiting gmmp
-Fixed potential crash on shutdown
-Fixed crash during playback error
-Fixed crash when pasting text into an text box while using a skin

Friday, November 23, 2012

1.4 Beta 3

Nothing too major in this update.  Just a lot of minor things I've been wanting to implement for awhile.  Beta 4 will have the first version of the smart/dynamic playlists.

Forum Discussion

1.4 Beta 3:

-Merged 1.3.18-1.3.19 fixes
-Parameterized sqlite queries for increased performance
-Preference backup/restore feature now requires the unlocker to be installed
-Decreased font size in the Compatibility view
-Improved file browser list positioning when jumping to folder
-Added border and curved edges to launcher icon
-Added xhdpi launcher icon
-Moved database stats, auto scan, and clean database to the preferences
-Added option to run a scan when the sdcard is mounted (Prefs -> Scanner -> Scan On Media Mounted)
-Added scan on musicservice startup option (Prefs -> Scanner -> Scan On Startup)
-The tag editor can now edit whole folders
-Added disc number support to the tag editor
-Added open tag editor as a gesture action
-Added add to playlist support for 'All Songs' and 'All Albums'
-Added option to add 'All Songs' to the top of the song view (Prefs -> Library -> Song Library -> Add 'All Songs')
-Made the playing toasts translatable
-The menu option for now playing are now configurable (Prefs -> Now Playing -> Enabled Menu Options)
-'Add To Playlist' added to now playing menu + made a gesture action
-Song will now fade out when a crossfade is not possible (different sample rates / channel count)
-Added embedded cue support for flac files
-Fixed single press in playlist view to switch songs
-Split playlist preferences into Queue and Playlists preferences
-Added advanced shuffle cancellation options (Prefs -> Queue -> Shuffle Cancellation)
-Local album art search will now scan folders with "art" in the name
-Added option to open the keyboard when switching to the search view (Prefs -> Search -> Open Keyboard)

Wednesday, November 21, 2012

1.3.19 & $0.99 Black Friday Sale!

GMMP will be available for $0.99 on google play until 12AM EST 12/24 so grab it while its cheap.

1.3.19 has a few good bug fixes for issues that have been around for awhile.  Also the next 1.4 beta will be released shortly.  Enjoy

1.3.19 (11/22/2012):
-Moved most of the potentially heavy processing off of the UI thread to increase responsiveness and reduce freezes/ANRs
-Fixed bug where equalizer view doesnt show
-Updated to api level 17
-Fixed bug where android eq presets would not load
-Fix issue where single button mode would cause next / prev track to be ignored
-Updated german and italian translations
-Fixed crossfade bug where the song would not change and the controls would stop responding
-Album art selector will now properly show embedded art
-Fixed bug where the now playing menu would show up instead of the playlist menu
-Fixed reading replaygain values stored in the RGAD tag

Saturday, November 10, 2012

Launcher icon

I've gotten multiple complaints about the launcher icon.. so i went back and tried to make it more iconish than it was (added a border with rounded corners basically).

Is this any better?

Thursday, November 8, 2012

1.4 Beta 2

1.4 Beta 2 (11/8/2012):
-Merged 1.3.15-1.3.17 changes
-Added ability to change the order of the views on the Navigation bar (prefs -> ui -> view order)
-Added ability to adjust gesture sensitivity (prefs -> now playing -> vertical/horizontal sensitivity)
-Added descriptions to Single Button Actions preferences
-Disabled Jump To Playing in the lockscreen
-Added 'Shuffle' to the context menu which will play the selection and turns on shuffle queue
-Added option to Long press the tag area in now playing to show the Jump To Playing menu (prefs -> now playing -> jump to playing menu)
-Set long press gesture to jump to playing menu by default
-Improvements to random album and song selection to reduce repeats
-Added pls and wpl support to Add To Playlist
-Sped up the file scanner
-Added a preference local backup/restore option (prefs -> general -> backup)

Note: Downloadable skins will no longer work with this version. Later in the beta when all the UI changes are done I will update them all.

1.4 Beta 2 Download

Beta 2 will now allow you to reorder the views in the navigation bar.

The comment tag can now be displayed on now playing and edited in the tag editor

Shuffle added to the context menu which will turn on shuffle queue and then play the selection

Saturday, November 3, 2012


Just a minor update to the 1.3.x line with some fixes.  There will be a new 1.4 beta build sometime next week.

1.3.15 (11/3/2012):
-Improved tag reading of mp3 files with corrupt tags
-Made some visual improvements to the drag and drop playlist
-Sped up the scanning of files with embedded tags
-Fixed seeking issues on some files longer than 30 minutes
-Fixed single press in playlist view to switch songs
-Fixed repeat icon on external skins
-Widgets will show default album art if no song is selected (instead of being blank)
-Fixed potential crash when resuming after a phone call
-Caught IllegalStateException when clicking on an item in one of the library views
-Fixed some other minor bugs

Saturday, October 27, 2012

1.4 Beta 1 - Add to playlist file, Jump to Playing, and playback support for adts/opus/wma lossless

Here is the first of 4 or 5 beta releases for 1.4. There are plenty more features that will be added.  I've tested this build on a few devices but have not done extensive testing yet so there may be some bugs.

Here is a video of the often requested "Jump to playing artist/album/etc" feature:

1.4 Beta 1:
-Switched ogg decoder from ffmpeg to Tremor to improve decoding performance
-Added opus, wma lossless, and aac adts support
-Bug fixes/improvements for tta, wma, alac, ape, wav, and wv decoders
-Removed opencore dependency for mp3 and aac demuxers
-Improved support for itunes gapless tags in the mp3 comment field
-Renamed Playlist view to Queue
-Added menu option to create new playlist in the Playlists view (menu -> new)
-Added ability to add to the end of a playlist file (Context menu -> 'Add To Playlist'). Only M3U/M3U8 current supported
-Added "Next Track's Filename" to the displayed tags list
-An email address is now needed to manually send an error report
-Updated ACRA to 4.4.0
-Added jump to playing artist/albumartist/album/genre/folder via "Jump To Playing Menu"
-Added "Jump To Playing Menu" to the gesture actions


Please post feedback on the forum thread

Edit: fixed immediate crash on startup on some devices, redownload the beta and install the update

Thursday, October 25, 2012

x86 version now available

I was finally able to get the x86 version of GMMP tested on actual hardware and everything appears good.  As far as I know there are only 1 or 2 x86 phones out there currently but there are supposed to be plenty more in the future.

x86 Download

Wednesday, October 24, 2012


1.3.14 (10/24/2012):
-Fixed issue where the incorrect track would play when playing a folder with crossfade enabled
-Disc number now defaults to 1 instead of 0 to prevent albums being listed out of order
-Added folder recursion limit when trying to find the next/prev music folder
-Fixed potential crash in Playlist view
-Fixed potential crash when trying to extract embedded album art
-Fixed potential crash in the About view
-Updated Czech translation

The first 1.4 beta should be posted on the forums in the next few days.  It'll mainly be what I talked about in this post plus adts support.

Thursday, October 18, 2012

1.4 Progress Update 1

For the last 2 weeks I've been reworking a lot of the lower level code to make playback more efficient and to decrease the size of the audioengine libraries.  The native libraries are now around 2.2 mb which is around 800kb smaller.  While most users wont care about this, it will benefit the older devices with limited memory.

I replaced the ogg decoder with a fixed point decoder called tremor.  This should significantly reduce the amount of cpu needed to decode ogg (and in turn, fix the issue where playback of ogg stutters with the screen off on older devices).  FFmpeg has been updated to 1.0 which results in plenty of bug fixes for tta, wma, alac, ape, wav, and wv decoders.

WMA Lossless and opus are now added to the list of supported formats.

There is still tons more that needs to be added for 1.4, but I plan on putting out a beta version once these low level changes are 100% and then every so often release newer betas once new features are updated

Thursday, October 11, 2012


I was able to fix one of the long standing bugs that has annoyed me the most, the issue where unplugging your headset does not pause immediately and a slight amount of audio comes out the speakers.

I've also successfully made an x86 build but would prefer to get it tested on an actual device instead of the emulator before releasing it.  If anyone does have a x86 android device and would like to help test, please contact

1.3.12 (10/11/12):
-Fixed issue where audio would play for a fraction of a second before pausing when unplugging headphones
-Help activity now says 'Help' instead of 'Whats New'
-Fixed crash when clicking 'Download Skins' on devices without google play
-Changed target sdk to 16 (android 4.1)
-Updated spanish and italian translations
-Fixed issue where auto volume adjust would save incorrect volume when first starting gmmp
-Auto volume adjust should now override any volume adjustments done by the OS
-Fixed crash when no equalizer presets are found

Sunday, September 30, 2012

What's next?

Now that 1.3.x is pretty stable, I will focus my attention on the next major update.  So what is planned for 1.4?


Rating support has been a popular request so I will add that.  Ideally ratings will be saved/written to the tags.  I would also like to include the ability to rating artists and albums (this will be useful for the smart playlists)

Smart Playlists

Smart playlists are pretty straight forward.  You define the criteria you want like "Song Rating > 4 and Genre = Rock", and a playlist is created based off the music in your library.  The user can then decide to shuffle songs that match the criteria or create an actual playlist of X amount of songs that match.  Criteria will also be able to be weighted so you could set up a smart playlist that will play songs rated over 3 70% of the time.    

Jump to X View from now playing

I will add the ability to jump straight to the playing artist, song, album, folder, and genre straight from now playing.  Selecting the song info area of now playing will bring up a menu asking you where to jump to.  You will be able to turn this behavior off of course and there will be a new entry to the gesture actions if that is how you would rather use it.

Additional format support

The current plan is to add support for WMA lossless and raw AAC (ADTS).  WMA lossless support will be dependent on ffmpeg.

Improved cue support

Embedded cue support will be added and possibly some other things like editing existing cue files

Advanced metadata display in now playing

The ability to completely customize the metadata section of now playing will be added.  A list of variables will be available to the user and they can define how it is displayed.  Example %TrackNo% - %Artist% - %TrackName% would show 01 - Artist - Track

As you can see there is a lot planned, so there wont be many new updates besides some bug fixes for awhile.  Beta versions will be available for testing on the forums.

Wednesday, September 26, 2012

1.3.11 now available

There is a good amount of fixes/improvements since the last update plus some minor additions.    The majority of bugs that have been reported to me are now fixed, so I will now focus on working on the next major update, 1.4.  The focus will be on dynamic/smart playlists along with the addition of a rating system.  I will also be putting out an x86 version of GMMP in the next few weeks.

There might be 1 or 2 more updates under 1.3.x if there are some bugs that need to be addressed.  Just like the last few major updates, I will post a 1.4 beta on the forums after a few weeks of development.


-Added option to remove silence at beginning and end of non gapless tracks
-Added option to jump to now playing after selecting something to play (Prefs -> Library -> Return to Now Playing)
-Added option to toggle whether the database is cleaned after deleting a file (Prefs -> Library -> Browser -> Clean DB After Deletion)
-Added new sort options for all songs: 'Album Asc/Desc" and 'Album Year Asc/Desc'
-Added %MPLAYSTATE to tasker integration.  Values are either "PLAYING", "PAUSED", or "STOPPED"
-Added option to adjust the volume when receiving AudioFocus requests (Prefs -> Audio -> Playback -> AudioFocus Volume)
-'Select Album Art' added as a gesture option

Improvements / Changes:
-Filename is now used in the ICS lockscreen controls if trackname tag is not populated
-Filename and Folder are now used in the widgets if trackname and album tags are not populated
-Invalid audio files are now ignored
-Playlists view will now keep its position when the screen rotates
-Updated taglib to 1.8 final
-Blank list items are now used when the device runs out of memory instead of crashing

-Fixed issue where disc number was being ignored when sorting tracks in an album
-Fixed issue where the wrong sort options would show up for All Songs after selecting a song to play
-Fixed issue on android 4.0+ where the library views would reset to the top when going back to the view
-Fixed crash caused by an invalid notification
-Fixed some crashes on devices without google play
-Fixed crash when trying to play a random album with an empty database
-Caught rare exception when sorting browser list
-Fixed crash caused by out of memory error when transitioning album art
-Crossfading into an invalid file will no longer continue playing the first track

Saturday, September 22, 2012

Improving tagless support

I'm currently working on making some improvements for playing audio files without tags.  I added lockscreen and widget support to use the filenames/folder names if the tags are not present.  This will be available in the next update (1.3.11)

Thursday, September 13, 2012

1.3.10 - Quick fix

1.3.9 had a bug where it would crash certain places if there was no album art.. a fix has just been pushed to google play

1.3.9 - Custom widget opacity + configurable navigation bar location

1.3.9 (09/13/12):
-Holo skins now support changing the location of the navigation bar (top/bottom/left/right)
-Added 'Play Random Album' to the gesture action list and single button remote action list
-Long press of the shuffle button will now play a random album
-Reduced repeats when playing random albums
-Added customizable widget opacity for android 2.2+ (widgets must be readded)
-Embedded album art is now given priority over folder art (must run a clean scan)
-Added an option to set the amount of time to wait to start playback after a bluetooth connection (Prefs -> General -> Headset Prefs -> Bluetooth Resume Delay)
-Added an option to ignore non a2dp bluetooth devices (Prefs -> General -> Headset Prefs -> Detect Only AD2P)
-Added 'length' and 'track title, num, and length' to the displayed tags list for now playing
-Updated ffmpeg to 0.6.6
-Apostraphes are now removed by default for album art searches
-Fixed bug where bluetooth audio would start playing then stop a second later
-Fixed some issues scanning files with no tags (or invalid tags)
-Fixed various crashes
-Fixed issue where every song is in the library twice
-Fixed issue where Prev/Next folder would sometimes not work
-Fixed filename too long error when download album art
-Updated german, spanish, italian, and russian translations

Saturday, September 8, 2012

Preview: Configurable widget opacity

I ran into some issues with my development machine so my work on the next update has been a bit slower than I would like.  1.3.9 will include a feature that many have requested: configurable widget opacity.

Sunday, August 26, 2012

Preview: Holo skin support for changing navigation bar location

It has been awhile since I posted any screenshots, so here are some for a feature I just finished up working on.  Any user of the classic skin should be familiar with the ability to change the location of the navigation bar.  This functionality is now supported by the holo skins and can be accessed through preferences -> ui -> portrait position / landscape position.

Note: devices with no hardware button will still show the action bar at the top to allow access to the menu options.

Wednesday, August 15, 2012

1.3.8 - Playback fixes

The addition of opensl has really brought on a lot of playback issues that I've had to overcome.  The issues are 100% the fault of the manufactures of the device, but I was still able to find a work around.

Issue #1:  Some devices like the galaxy s2 and galaxy note decode mono mp3s incorrectly.  Instead of decoding out to mono, they decode the audio into stereo, with the same data in the left and right channel.  Doing this is technically okay as long as they let the user of the decoder know the output is actually in stereo instead of mono.  These devices do not.  They report that the output only has 1 channel instead of 2.  GMMP would try to play stereo data in mono, which would result in playback being slower than normal.  I wrote some code to detect this behavior and it works fairly well, so I believe this is completely fixed.

Issue #2: Adding or removing of audio samples in the beginning of the decoding process.  I have 3 devices that run ICS and on all 3 of them, the mp3 decoder would add extra samples of silence to the beginning of the audio data.  This interferes with gapless playback.  For AAC playback on the galaxy s3, the decoder would completely remove the first 1000 or so samples of audio, which of course interferes with gapless as well.  The other 2 ICS devices do not do this, so there is a inconstancy between the opensl implementations on ICS and newer devices.  I did find a workaround that works on the 3 ICS devices I tested on and should be versatile enough to work on most other ICS devices.

If you run into either of these issues on 1.3.8, you can turn off opensl through preferences -> audio -> enable opensl.  Please send in an email if you do experience the issue.

You may ask why OpenSL is even used if it is causing so many problems.  The reason is the non opensl mp3 and aac decoders are not guaranteed to be on every device.  99% of the devices tested do contain the decoders, but with 4.1 removed the AAC decoder that was being used.  OpenSL may be buggy but it is guaranteed to be there on every device running 4.0+


1.3.8 (08/15/12):
-Fixed scrobbling issue with shuffle all enabled
-Prefetch errors will cause the track to skip immediately instead of after the 5 second timeout
-Fixed playback speed of mono files on galaxy s2, note, and possibly other devices updated to ICS
-Album search now will show albums that match the album name, artist name, or album artist name
-Album search will now only show an album once for various artist albums
-Fixed issue where positions in file browser would be lost when changing views
-Selecting 'Play Next' will now cancel 'Shuffle Collection' if enabled
-Fixed crash when updating notification controls
-Caught out of memory exception when trying to load background art
-ICS lockscreen will no longer disappear after pausing playback
-Changing tracks when paused/stopped will no longer automatically start playback
-Added chinese translation
-Updated russian, czech, spanish and german translations
-Fixed gapless playback for 4.0+
-Fixed issue where there would be a gap between the first and second song when playing a folder
-Fixed crash during file deletion

Tuesday, July 31, 2012

Notice to ICS/JB users

As devices have been slowly getting the upgrade to ICS, I have noticed that not all of those upgrades have a completely stable version of opensl.  So if you experience crashing after playing each song or trying to change tracks, or if playback seems to be going in slow motion, you should disable opensl.  1.3.7 added an option to do so (uncheck preferences -> audio -> enable opensl).  This will revert the player to use the decoders from 1.3.5

So far i've seen issues on these devices:
-htc incredible running an alpha jb rom (not being stable is expected for this)
-galaxy s2 with the 4.0.3 update (playback is slowed down for mono 48khz mp3s)
-Cube u9gt2 running 4.0.x (crashes deep in the opensl libraries after every mp3/aac track)

Hopefully this is not an ongoing trend as more devices get updated to ICS

Album Art Service Replaced (1.3.7)

Microsoft is deprecating their image search on august 1st so the latest update of gmmp is now using a replacement service.  The results seem to be more accurate.

1.3.7 (07/31/12):
-Replaced album art download service (old one stops working as of August 1st)
-Improved album art searches for poorly tagged albums
-Improved image loading speed when scrolling the album list
-Increased the timeout for loading large audio files
-Added option to use older mp3/aac decoders instead of opensl (uncheck Prefs -> Audio -> Enable OpenSL)
-Fixed crash related to cue files
-Fixed restore crash on HTC Sensation 4G (4.0.3)

Friday, July 27, 2012

GMMP featured on

My friend just started a new site and asked me to write something up on GMMP

Read here:

Sunday, July 22, 2012

1.3.6 Released + Skin updates

I was meaning to get this update our earlier in the week but ended up having to work out some stability issues.  During the testing period i was able to make a small change that should give a big visual improvement to older devices.  The background gradient is now MUCH smoother and shouldn't band anymore.

The big change in this update is OpenSL is now being used for mp3/aac decoding for ICS+.  Jelly bean removed the aac decoder that GMMP was using so now opensl is taking over that role.

Also all the skins were updated with new translations and some other minor adjustments.

Note: Amazon users will get this update in a week or 2

1.3.6 (07/22/12):
-Added delete to artist, album, song, and genre views
-Deleted songs, albums, artists, etc are now removed from the database after deleting
-MP3 and AAC are now decoded with OpenSL ES on 4.0+ (HE-AAC v1/v2 now supported)
-Added czech translation

Improvements / Changes:
-Upgraded taglib to 1.8 beta
-Gesture recognition improvements for larger screen sizes
-Smoothed out default background gradient on older devices
-'Always resume when plugged' will now resume if GMMP is in the STOPPED state (previously only worked when paused)
-Playing a folder with playlist shuffle enabled will now start at a random position instead of always the first track
-Playing a folder with many files/subfolders will no longer freeze the UI while it loads
-Leaving the search view will now automatically close the keyboard
-Bookmark long tracks now defaulted to off
-Updated russian and spanish translations
-Lowered background brightness in the scanner and whats new activities

-Fixed playback of multichannel (3-6) flac files
-Fixed AAC playback in 4.1
-Fixed potential crash when enabling tasker integration
-Fixed crash when receiving intents with no data associated with them
-Caught some out of memory exceptions
-Fixed potential skip/stutter when preloading next track
-Fixed the bottom row of text getting cutoff in the 4x1 widget on ICS+
-Fixed issue where newly downloaded skins would not show up in the Skin Selector
-Fixed issue where notifications would no longer update
-Fixed bug where manual crossfade would not respond, preventing you from skiping tracks

Friday, July 20, 2012

GMMP now available at Amazon

GMMP finally got approval and is now able to be purchased on the Amazon app store.


Tuesday, July 17, 2012


Since September 2011, GMMP has been downloaded 100,312 times.  Pretty crazy!

Development wise, the next update should be out in the next few days.  It includes:

-Gesture recognition improvements for larger screen sizes
-Playing a folder with playlist shuffle enabled will now start at a random position instead of always the first track
-Added delete to artist, album, song, and genre views
-Fixed playback of multichannel (3-6) flac files
-Fixed AAC playback in 4.1
-MP3 and AAC are now decoded with OpenSL ES on 4.0+ (HE-AAC v1/v2 now supported)

Thursday, July 12, 2012

Attention SGS3 users: Disable Auto Haptic

If you experience bad skipping on your SGS3, go to settings -> sound -> auto haptic -> off.  It is some odd feature that analyses the audio output and vibrates the phone with the sound.  It causes GMMP to skip like crazy, so disable it if you want smooth playback

Saturday, July 7, 2012

Sale Extension

In the last 2 days, GMMP has sold roughly the same amount as a typical month, so I am extending the deal through sunday.  Get it cheap while you can!

Wednesday, July 4, 2012

1.3.5 & 99 cent sale on google play

I am reducing the unlocker price to 99 cents for to celebrate independence day.  Sale is good through 7/6 and only available through google play.  Note: the lower price might take a little bit to show up.

1.3.5 (07/04/12):
-Fixed freeze when a flac or mpc file fails to play
-Fixed issue where a bad audio file will attempt to play over and over again
-Fixed crash when running out of memory during drag and drop in the playlist
-m3u8 playlist support added
-Jelly Bean(4.1) compatibility fix
-More improvements finding files from playlists made on other devices
-Added spanish translation
-Caught stackoverflow error when looking for next folder to play
-Fixed crash when android eq is not supported on device
-Improved handling of cue files that dont conform to the spec
-Widgets now work with cue files

Friday, June 29, 2012


Nothing major in this update, just a bunch more fixes.   Just like I did with 1.2.x, I wont be moving on to any major new features until 1.3.x is as stable/bug free as possible.

1.3.4 (06/29/12):
-Files that have invalid metadata and read in as having 0 channels will now default to stereo
-Fixed issue where album art doesnt change when the track changes
-Added support for asus transformer external sdcard path ("/Removable/")
-Improved finding files from playlists made on other devices
-'Playlist' and 'Search' views can now be removed from the navigation bar
-Fixed issue where the playing indicator in the browser would point to the wrong song after deleting the playing track
-Handle possible exception in the ICS lockscreen
-Prev/Next folder now work when no scan folders are defined
-Fixed issues where some mp3 files would playback at a much slower rate
-Stability fixes in the audioengine

Friday, June 22, 2012

1.3.3: More fixes

I was finally able to reproduce consistently a freeze that I've been getting reports on for a long time, so I think I finally was able to fix it.  The issue was related to stopping playback / shutting down the app.

1.3.3 (06/22/12):
-Fixed bug where notification area does not hide when selecting the notification controls
-Fixed possible crash when changing tracks from remote controls
-Fixed some issues on first install
-Fixed issue where album art background would not change
-Fixed some shutdown issues
-Fixed issue where playback would stop if you changed orientation back and forth really fast
-Other stability fixes

Tuesday, June 19, 2012

1.3.1 - 1.3.2: Stability fixes

1.3.2 (06/19/12):
-Fixed crash using black background in some skins
-Fixed crash when trying to get currently playing track
-Fixed crash updating notification controls
-Fixed crash when modifying the playlist
-Fixed case where lockscreen's orientation would not stay locked
-Updated translations
-Made some tweaks to the audioengine to increase stability
-Fixed issue with cuesheets where the track would not change when shuffle was enabled
-'Disable ICS lockscreen' preference is now only enabled on ICS and newer devices
-'Scanner -> Show Database Stats' should now be translated
-Fixed bug where pressing pause would resume playback immediately after

1.3.1 (06/15/12):
-Fix crash in the classic dark blue and classic red skins when using the lockscreen

Thursday, June 14, 2012

GMMP 1.3 Released! ReplayGain, cuesheet, bookmarking, 6 new skins, and much more.

After about a month and a half of hard work, 1.3 is finally available for download on google play and this blog.  I've gone with the pendulum screenshot for the main image for a long long time and with the new album art as a background feature I decided to pick a new song to use.

1.3.0 (06/14/12):
New Features:
-Added ReplayGain support
-Added single file cuesheet support (.cue files)
-Added manual bookmark option to the now playing menu
-Added auto bookmarking options (Preferences -> Audio -> Bookmarks)
-Added option to remove a song from the active playlist after it is played (Prefs -> Playlist -> Remove After Played)
-Added dsp limiter with customizable attack and release settings (reduces audio distortion and clipping)
-Added EQ and Limiter toggle buttons to the equalizer view
-Added 9 new EQ presets: Bass Max, Bass & Treble, Classical, Techno, Club, Reggae, Soft, Rap, and Metal
-Notification controls added to 3.0+
-The current playing file now has a play indicator next to it in the browser view
-Added menu option 'Jump To Playing' to Browser which will jump to the folder of the playing file
-Support for album art embedded in ogg files
-Added support for album art in WMA files under the 'WM/Picture' tag
-Album artist tag is now read from MPC files
-Added option to use album art as the background (Prefs -> UI -> Album Art Background)
-Added fade in transition when changing album art
-Added 'Gallery' option to the manual album art selector.  This will let you use another app (gallery) to choose the image.
-Added option to ignore tags in the playlist view. Filename is used in the trackname slot and folder is used in the artist slot. (Prefs -> Playlist -> Ignore Tags)
-Added option to show gmmp logo as default album art. Its off by default (Prefs -> Now Playing -> Use Default Cover)
-Added option to start the browser in the folder that the playing file is in (Prefs -> Library -> Browser -> Start In Playing Folder)
-Added option to disable ICS lockscreen controls (Prefs -> General -> Lockscreen Controls -> Disable ICS Lockscreen Controls)

Improvements / Changes:
-Gesture preferences now show the selected gesture action in the summary
-Tag slot preferences now show the selected metadata tag in the summary
-Deleted files are now removed from active playlist after cleaning the database
-Removed Toggle EQ menu option and EQ Status from equalizer view
-'Browse Storage' now shows all the folders in alphabetical order
-ICS lockscreen controls (RemoteControlClient) now includes album art
-Play notifications for 2.3 and below now show Artist and Trackname on separate lines
-Album art selector will now let you delete the current image being used
-Added delete confirmation when clearing the album art cache
-Made scrolling the lists a bit smoother
-Split 'Auto Play/Pause' into 2 seperate options. One for auto pause and one for auto resume.  Both are now enabled by default.
-Added an option to change DSP priority. The DSP used the playback priority previously. Prefs -> Audio -> Dsp Priority
-Local album art search will prioritize images in this order: "cover", "folder", filename containing "front", and finally the remaining images alphabetically
-MPC decoder now uses fixed point math which significantly speeds up processing
-Tags are cached and no longer rescanned when scrolling a folder in the file browser
-Embedded art should now show up when viewing an album's track list
-Translations updated
-Default crossfade time changed from 5 seconds to 1 second
-Xiph tags are now checked when looking for album art in FLAC files
-Embedded album art images are now thumbnailed for the album list view

-Fixed preamp gain calculations (+10db will double volume, -10db will cut volume in half)
-ActionBar is now properly skinned
-Fixed crash when changing tracks with shuffle collection enabled and playback wasnt started yet
-Fixed bug on new installs where the navigation bar's skin gets changed when first opening the preferences
-Playlists with ".." in the filenames should now load properly
-Fixed issue where pressing next track twice would only change tracks once
-Fixed bug when saving/restoring state
-Fixed crash when crossfading to a file that is unplayable
-Cyan and silver skin now show the correct background instead of album art
-Save playlist and save preset edit text box is now skinned
-Fixed crash that can occur in the error log using an external skin
-Fixed delay in pausing on bluetooth disconnect on 3.0+ devices
-Fixed action bar background for main view and about view for external skins
-Fixed crash with crossfade and some mp3 files
-Fixed issue issue where libraries views dont refresh properly when viewing an album
-Fixed issue where the search text box becomes unclickable
-Fixed issue where some FLAC embedded album art would not show

More new screenshots: