Friday, December 30, 2011

m4a fix (1.1.5)

It was brought to my attention today that many of the m4a files downloaded from iTunes Match were not playing in GMMP.  I found the issue and pushed out a patch to fix it.

Thursday, December 29, 2011

Preferences Explained

There are many options in GMMP that might be confusing since there is limited room in the app itself to give a good explanation.  Here is a detailed explanation of every preference available.

Updated: 1/2/11

Edit Scan Paths:  Create a list of paths where all your music is stored.  If your specific path is not found when clicking 'Browse Storage', simply enter the path in manually into the edit box and click add.

Edit Ignore Paths: List folders you specifically want the scanner to ignore.  Anything in this directory will not show up in any of the library views.

Delete database before scan:  Wipes the entire database before running a scan.  This option is not typically needed but is present in case the user wants to start fresh without having to uninstall then reinstall.

Only scan new files:  If this is enabled, any file that was already scanned into the database will be automatically skipped over.  If you are using an external tagger to retag your music, disable this option to pick up all the changes.

Ignore folders with .nomedia:  This is a behavior that the default android music player follows.  Any folder with a file named .nomedia, will get skipped over.  This is useful if you have folders with ringtones or other sound bytes that you do not want showing up into GMMP.  Note: the ignore paths can also be used to skip these paths.

Format artist/album tags:  Artist names and album names will be formatted into proper case before being entered into the database.  This is useful if your music collection is not tagged to any standard.  Example:  I have 3 albums by "insert band name here".  The first album the artist is tagged "Insert Band Name Here", 2nd album "INSERT BAND NAME HERE", and 3rd album "insert band name here".  With this option off, each album would be recognized as being from a separate artist.  With this option on, all 3 albums are inserted into the database as the same artist "Insert Band Name Here".  If you have taken the time to properly tag all your music, you will not need to worry about this option.

Ignore AlbumArtist tag:  By default the scanner will use the albumartist tag if it exists instead of the artist tag to label albums.  Enable this if you want to ignore that tag

Scanner Menu Options (Press the menu button in the scanner)
Clean Database:  Removes any missing songs, artists, albums, or genres from the database.  This is typically done at the end of a scan, but it can be done independently as through this option.

Setup Auto Scan:  This sets the scanner to run at the given interval

Database Stats:  Shows the number of songs, artists, album artists, albums, and genres scanned into the database

Enable Lockscreen Player:  When enabled, a view similar to now playing will show up overtop of your devices lockscreen, allowing full control of playback without unlocking the device.

Device Preferences 
Display Wake Mode:  Technical details can be found here
  1. Default:  Nothing is changed and the screen will shut off normally
  2. Dimmed: The display will not fully shut off, but will stay in a dimmed mode
  3. Screen Bright:  The display will stay fully lit
  4. Full Bright: The display and keyboard will stay fully lit
Always Keep Device Awake:  Prevents the device from falling into a deep sleep.  This option should only be needed on non phone android devices.

Headset Preferences 
Auto Play/Pause:  This will pause playback if the headset is removed while audio is playing.  If playback was paused automatically, plugging the headset back in will resume playback.  However if the user manually pauses playback before unplugging, plugging back in will not resume.

Auto Resume When Plugged:  Always resume playback when plugging in a headset

Prevent Sleep:  On devices that can go into a deep sleep / hibernate state, this option will prevent that from happening for the amount of time specified.

Enable Headset/Remote Controls:  This will allow GMMP to respond to any media intent sent by bluetooth/headset remote controls, or other apps that control playback.

High Priority Receiver:  When enabled, GMMP should be the first app to receive any of the media intents.  Disable this if you want GMMP to still respond to the commands, but allow other apps to intercept them first.

Multi-Press Enabled:  For headset controls that only have one button, this option will make it so a single press of that button will play/pause, double press will go to the next track, and triple press will go to the previous track.

Call Handling 
Resume On Call End:  When a phone call is being received, GMMP will automatically pause playback.  Turn this option on if you want playback to resume after the call ends.

Button Override When Screen On 
Volume:  This feature does not work very well, but if enabled and GMMP is in focus, and the screen is on, the volume buttons will let you change tracks.

Scrobbler Preferences
Scrobble Droid:  Scrobble plays through scrobble droid

Simple LastFM:  Scrobble plays through simple lastfm

Album Art Preferences
Auto Download Album Art:  Will search for album art if not present.  The search is not 100% accurate for artists with common names.  If the wrong image downloads, you can manually change it.

Save In Lossless Format:  If enabled the images will be downloaded and stored as PNG instead of JPG

Album Art Download Location:  If there is a specific path you would like to download album art to, set that here.  Album art is downloaded to /sdcard/gmmp/albumart/ by default

Show When Paused:  Enable if you want the notification icon to show when playback is paused

Error Reporting
Allow Crash Reporting:  Allows a crash report to be sent to the developer.  This is essential for making GMMP as stable as possible

Always Accept:  By default, the user is prompted with a popup asking if they want to send a crash report.  Enable this to automatically send it when an issue occurs.

Include System Logs:  Adds the system logs to the error report.  The logs contain extra information to help fix bugs.

Include Device Id:  Include the device id in the crash report

Error Log
Submit Report:  Sometimes errors can occur that are handled correctly by GMMP.  They get placed into the error log.  This allows the user to send a report to the developer without waiting for a crash.

Clear:  Clears the list of errors

Music Service Timeout:  Enable this if you want the music service to eventually shut itself down.  By default the service will stay running until the user exited GMMP.  Note:  Some features like auto play/pause will not work if the music service is not running.

Traditional Back Button:  Changes the back button behavior to be more like standard apps. Pressing back will return to the previous view instead of going to now playing

Tasker Integration:  Sends information about the currently playing back to Tasker.  Populates the following variables: %MTRACK %MARTIST %MALBUM %MTRACKNO

Show Compatibility:  Since not every android device is the same, this will show the support for each format on the device.  

Use GMMP EQ:  Use the high powered equalizer that comes with GMMP.  Disable on devices running 2.3+ in order to use the default android EQ.  The GMMP EQ is much higher quality and more customizable, but will use more CPU power compared to the android EQ.

Number of Bands:  If using the GMMP EQ, the number of bands can be set from 2 to 10.  The higher the band count, the more CPU power will be used.  Note: If too much CPU power is used, playback could begin to stutter.

Quality:  Choose between 3 different equalizer algorithms to process the audio.  The default quality is already really good, but higher quality settings are available at the cost of higher CPU usage.  Note: If too much CPU power is used, playback could begin to stutter.

Enable Crossfade:  Turns on the crossfader

Auto Track Change:  Enables crossfading to occur when a song naturally transitions to the next

On Shuffle Only:  Only will crossfade on an automatic transition if shuffle is turned on.

Disable When Gapless:  Will not crossfade if there is a gapless transition between 2 tracks

Auto Crossfade Duration:  The length of the automatic crossfade

Manual Track Change:  Enables crossfading when the user manually changes tracks

Manual Crossfade Duration:  The length of the manual crossfade

Auto Volume Adjust
Volume Adjust Mode:  Automatically adjust volume when switching between bluetooth, headset, and the speaker.
  1. Off: Turns off auto volume adjust
  2. Use Defaults: Changes the volume to the defaults set in the preferences
  3. Restore Last Used:  Restores the volume to the last used volume for that particular output
Default Speaker Volume:  Volume to use if 'Use Defaults' is enabled when switching to the speaker

Default Wired Headset Volume:  Volume to use if 'Use Defaults' is enabled when switching to the wired headset

Default Bluetooth Volume:  Volume to use if 'Use Defaults' is enabled when switching to bluetooth

Enable Gapless Playback:  Enable gapless playback

Playback Buffer Size:  Set how much memory is used for playback.  Increase this value if doing other actions on the device while listening to music causes skips.

Playback Priority:  The priority of the playback thread.  It is safe to keep this high since not too much work is done here.

Decoding Priority:  The priority of the audio decoding.  Setting the priority low for this might cause skipping if GMMP is in the background, but setting it too high may allow GMMP to consume the CPU causing things to lock up.  It varies from device to device.  Leave this setting alone unless you are experiencing issues.

Preload Next Track:  Set how many seconds before the end of the currently playing back to load the next track in the playlist.  Note:  This must be set to greater than 0 in order to achieve gapless playback.  Also if crossfading is enabled, this value is typically ignored.

Seek Time:  Set how many seconds to skip when pressing the seek buttons

Navigation Bar
Portrait Position:  The position of the navigation bar when the device is in portrait mode.  Options are top, bottom, left, and right.

Landscape Position:  The position of the navigation bar when the device is in landscape mode.  Options are top, bottom, left, and right.

Used Colored Icons:  Color the icons on the navigation bar.  Otherwise they will be grey/silver

Enabled Views:  Choose which views to enable on the navigation bar.  Not every view can be turned off, only the following:  Artist, Album, Genre, Song, Browser, and Equalizer

Enable Transitions:  Enables the transitions that occur when switching views

Artist Library
Show Artist Stats:  Displays track and album count when listing the artists.  Note: Enabling this might cause the artist list to take a little longer to load

Sort Options:  Choose the sorting order of the artist list. 

Ignore Prefix When Sorting:  Ignores the 'the' prefix when sorting by artist name

Album Library
Show Album Stats:  Displays the track count, album length, and year in the album listing. Note: Enabling this might cause the album list to take a little longer to load

All Album's Sort Order:  The sort order to use when viewing every album on the device

Artist Album Sort Order:  The sort order to use when viewing albums from a specific artist

Genre Library
Show Genre Stats:  Display the track and album count when listing the genres.  Note: Enabling this might cause the genre list to take a little longer to load

Sort Options:  Choose the sorting order of the genre list

Song Library
Show Track Stats:  Display the artist and album when viewing the list of all tracks on the device

Show Album Info:  Shows the album info and album art along with the song list when selecting an album

All Songs Sort Order:  The sort order to use when viewing every song on the device

Album Song Sort Order:  The sort order to use when viewing the song list for a particular album

File Browser
Sort Options:  Choose the sorting order of the file browser

Read Tags:  Will read and display tags for the audio file instead of just displaying the filename.  This will make navigation slightly slower since it has to open each file.

Delete Without Confirmation:  Disables the popup warning when deleting a file or folder

Song Actions
On Select (Stopped):  Default action when a song is selected when playback is paused or stopped.  Options are: Play, Play Next, and Enqueue

On Select (Playing)Default action when a song is selected when a song is playing.  Options are: Play, Play Next, and Enqueue

Queue Album On Song Play Action:  When selecting a single song to play, this will queue up the rest of the album along with it.

Enable Quick Return:  If a view is already active, and that view's button is pressed in the navigation bar, it will cause the view to return to its original display.  This works for the artist, album, genre, song, and file browser views.  IE:  The user clicks down a few folders deep in the file browser, pressing the browser button again will return it to the root directory.

Now Playing
Get Metadata From Library:  Retrieves metadata about the current playing song from the database instead of reading the tags of the file.

Show Album Art:  Show album art for the current playing song

Show Seek Buttons:  Replaces the repeat and shuffle buttons with seek forward and backwards buttons

Background:  Choose the background to show behind the album art.  Default will show the gradient that fits the rest of the theme.  Black will show a black background.  Note: This option is here mainly for older devices that do not show gradients very well.

Display Metadata Icons:  Replaces the text for album/artist/trackname/genre with icons.

Font Size:  Set the font size for the now playing view

Album Art Scale Type:  Choose how the album art is scaled.  Fit center is the default, but the album art can be positioned differently and stretched to fit the screen depending on the setting.

Displayed Tags:  Choose which tags get displayed on the now playing view.  It is currently limited to Artist, Album, Track, and Genre.  This will be expanded in the future.

Skip Folder On Long Press:  If enabled, a long press of the next/previous track buttons will skip to the next folder.

Enable Gestures:  Turns on gesture recognition for the now playing view

Customize Gestures:  Assign an action to each available gesture.

On Playlist Completion:  Set what GMMP will do when the current playlist.  Options are:
  1. Stop:  Stops playback
  2. Play Random:  Picks a song at random and plays it
  3. Loop Playlist:  Restarts the current playlist
  4. Play Random Album:  Plays an album at random and plays it
  5. Play Rest Of Album:  Plays the remainder of the album the last track in the playlist is from
Playlist Storage Path:  Path to save playlists too

Wrap Trackname:  Wrap the trackname to a second line if it is too long to fit on a single line.

Shuffle Mode:  Set the current shuffle mode.  Options are: Shuffle Off, Shuffle Playlist, and Shuffle Collection

No Repeats:  A track will not repeat until every song in the playlist is played once.  This only works for Shuffle Playlist.

Instant Search:  If enabled, searching will begin once the user starts typing.  This can be slow on very large collections.

Result Limit:  Limit the amount of results returned by the instant search. 

Search Categories:  Choose the categories to search.  Options are: All, Artist, Album, Song

Thursday, December 22, 2011

Tasker integration + more fixes (1.1.4)

I had received a request to support Tasker's  %MTRACK variable.  In 1.1.4 I not only added support for %MTRACK, but also added custom variables for album (%MALBUM), artist(%MARTIST), and track number (%MTRACKNO).  Turn on task integration by going to Preferences -> General -> Tasker Integration.  The only other change besides bug fixes is the file browser will now ignore case when sorting folders/files alphabetically.

This will most likely be the last update of the year since I am taking some time off for the holidays

1.1.4 (12/21/2011):
-Sorting in the file browser is now case insensitive
-Added Tasker integration.  Populates the following variables: %MTRACK %MARTIST %MALBUM %MTRACKNO
-Fixed crash when advancing to the next track with a remote control
-Fixed crash when deleting a file fails
-Fixed issue where album art would not write to disk which prevented the album art from showing in widgets
-Caught exception that can be thrown when unregistering the UIControlReceiver
-Added permission

Friday, December 16, 2011

1.1 patches + sale extension

The 75% off sale has been extended through sunday 12/18.  Grab it while its cheap.

Throughout the week I pushed out 3 minor patches.  Changelog is below.

1.1.3 (12/16/2011):
-Fixed crash that could occur when receiving a phone call
-Long press of playlist button will launch the manage playlist view
-Moved widget button handling to a background thread to hopefully reduce the amount of ANRs
-Updated german translation
-Improved recognition of storage folders for "Browse Storage" in the scanner
-Playlist edit mode is now persistent

1.1.2 (12/12/2011):
-Fixed some compatibility issues with 2.2 and 4.0 devices
-Gapless playback is now enabled by default
-Headset/remote controls are now enabled by default
-Preamp and balance now scroll with the other equalizer bands

1.1.1 (12/11/2011):
-Updated german translation
-Changed list items in artist/album/genre views to use translations
-Changed 'On Select (Playing)' preference's default value to 'play' instead of 'enqueue'
-Fixed crash when playing next/previous folder

Friday, December 9, 2011

1.1 is now released and 75% off on the android market for a limited time.

1.1 contains some major updates and new features including a lockscreen player, search view, and a customizable gesture system.  Since the android market is running a massive sale in celebration on 10 billion market downloads, I thought I would join in.  GMMP will be 99 cents until the sale ends.  It may take a little while for the price change to show up.

Most of the new features are fairly straightforward besides the new gesture system.  The gesture system allows you to bind an action to a gesture.  The gestures include: Single tap, double tap, fling left/right/up/down, and long press.  These gestures are done in the now playing window where the song info and album art is shown.  The bindable actions are as follows: None, Play Next Track, Play Previous Track, Play Next Folder, Play Previous Folder, Toggle Media Controls, Toggle Shuffle, Toggle Repeat, Seek Forward, Seek Back, Play/Pause, Show Volume Dialog, Volume Up, Volume Down, Jump To Time, and Sleep Timer

GoneMAD Music Player 1.1 Trial
GoneMAD Music Player Unlocker

Full changelog:
-Added lockscreen player (requires 2.0 or higher)
-Added search capabilities
-Added 4x4 widget
-Added custom gesture control options (Preferences -> Now Playing -> Customize Gestures)
-Long press of next or previous track buttons in now playing will move to the next or previous folder.
-Added preference to crossfade when gapless data is missing
    (Preferences -> Audio -> Crossfade -> Disable When Gapless)
-Now playing now has customizable font size and optional icons to replace the artist/album/track/genre text
    (Preferences -> Now Playing -> Font Size & Use Metadata Icons)
-Added delete option to the file browser
-Added "Delete Without Confirmation" option where you will not be prompted when deleting a file/folder
-Widget update service will now shutdown along with the music service
-Added MusicService idle timeout option (Preferences -> General -> Music Service Timeout). After 5 minutes
    of inactivity, the music service will shutdown.  NOTE: headset/bluetooth controls will not function without
    the MusicService running
-Added option to ignore the "The" prefix in artist names when sorting
    (Preferences -> Library -> Artist Library -> Ignore Prefix When Sorting)
-Added traditional back button behavior support (Preferences -> General -> Traditional Back Button)
-Added Italian and German translations
-Improved playback error handling
-Set default equalizer band count to 4

-Caught out of memory exception when trying to destroy the media controls
-Resized status icon to comply with android standards
-Fixed issue where removing current view from nav bar would cause you to get stuck on that view
-Fixed crash when the android equalizer class cannot be found
-Fixed crash when trying to play a file that doesnt exist


Thursday, December 8, 2011

1.1 Beta 2 Posted

I decided to push back some of the remaining tasks to future versions in order to get 1.1 released faster. Beta 2 contains a search feature plus some other minor changes.  There are still plenty of reported bugs that need to get fixed, so that will be my focus until 1.1 is released.

Download link is available in the forums.

Post any bugs/issues in the forums.

1.1 Beta 2:
-Added search capabilities
-Added 12pt font size to the now playing font size list
-Added new gesture actions: Show Volume Dialog, Vol Up, Vol Down, Jump To Time, and Sleep Timer
-Added preference to turn off skipping albums when long pressing next/prev.
    (Preferences -> Now Playing -> Skip Folder On Long Press)

-Menu button is now disabled on lockscreen

Saturday, December 3, 2011

1.1 Beta 1 posted for testing

I am 75% of the way through coding 1.1 and I wanted to put up a beta version to get the bugs found early.

This beta includes:
-lists exclude 'the' when sorting
-lock screen (works on 2.0 and higher)
-ability to delete files/folders from browser
-stop music service after idle for 5 min
-changeable font size for now playing + optional icons to replace artist/album/genre/track text
-long press of next / prev will change folders
-customized gesture controls
-option to crossfade when gapless data is missing
-traditional back button support
-4x4 widget
-sleep timer

Once I finish the remaining features plus any bug fixes, I will post another beta version before pushing 1.1 to the market.

The download link is posted in the forums

Wednesday, November 23, 2011

Lockscreen teaser

One of the most asked for features I get is a lockscreen player, so here is some screens of the lockscreen player that will be in gmmp 1.1.  It is very similar to the now playing screen but also has an unlock button.  Gestures will work as well. Unfortunately the lockscreen will only be available to devices running 2.0 and higher.  Google didnt add the appropriate functions to their sdk until 2.0 in order to do a lockscreen without some major hacks.  Also note that 1.1 will include the option to use the icons next to the metadata instead of the artist/album/track/genre text.

Also you can check up on the status of 1.1 here

Friday, November 18, 2011


This hopefully will be the last patch for the 1.0.x line.  Work on 1.1 is underway.  Most likely the release date will be sometime in december.

1.0.6 (11/18/2011):
-Added m4b to supported file extensions
-Fixed crash when non numbers are entered into time select view
-Fixed detection of certain headsets being unplugged

Tuesday, November 15, 2011

1.0.5 - More fixes

With this update there are now 2 remaining (reported) issues.  HE-AACv1 and HE-AACV2 files don't currently work with gapless/eq/crossfade and a few people have had some issues getting all their files scanned into gmmp.  This patch hopefully will fix the scanning issue.

Edit: For those using appslib, you will have to wait until the weekend to get the fixes from 1.0.4 and 1.0.5.  When I push a new update there, the old download gets deleted so nothing is available for around 24 hrs.  I don't want to give the appslib testers any reason to fail the app.

1.0.5 (11/15/2011):
-Fixed crash in randomize playlist functionality
-Fixed crash in genre view
-Changed directory traversal code in the scanner to match the browser which will hopefully fix some scanning issues
-Fixed issue where incorrect duration was listed in now playing
-Fixed seek issue with some WMA files
-Lowered default decoder priority to above normal
-Updated translations

Thursday, November 10, 2011


If you haven't noticed already, I am trying to make 1.0.x as solid as possible before moving on to new features. So there will be a few more updates before I start working on 1.1

1.0.4 (11/10/2011):
-Filescanner will now catch and log out of memory errors
-Fixed the 2 "On Select" preferences for the browser view
-Fixed genre view so it only shows albums and songs of the genre selected instead of everything
    by the artist
-Fixed issue where using the tag editor in the playlist view on songs added from the browser would
    result in all the tags to be blank

Tuesday, November 8, 2011

Some more minor updates

In order for me to properly handle some of the error reports submitted from the app, I added an email field so I can contact the user about their issue.  I get a few reports that would be very simple to solve if I was able to contact them.  I also added 2 more default paths to the scanner since not everyone keeps their music in /sdcard/music.  Remember the file browser uses the paths set in the scanner as the main directories to browse, so by default you will see 2 folders when you start to browser (Music and sdcard).  To go back to the old behavior simply go to the scanner -> scan paths and delete the /sdcard/ entry.

Also one other thing I wanted to note.  In this patch I intended to add an option for the user for force a certain locale for gmmp.  After doing some research there was no clean way to do this and I did not want to put in an ugly hack just to do this, so if you have issues with any of the current translations log on to and fix any translation you feel is poor.

1.0.3 (11/8/2011):
-Added email field to manual error reports so the user can be contacted about the issue
-Added /sdcard to default scan path
-Auto detect and add /sdcard-ext to default scan path if it exists
-Added preference to adjust time to skip when pressing the seek buttons (Preferences -> Audio -> Seek Time)
-Translations updated

-Fixed nullptr exception in the command broadcast receiver

Sunday, November 6, 2011

1.0.2 - Mp3 Gapless fix

Around a month ago I had someone report to me that gapless was not working for mp3.  All the files I had tested with seemed to transition perfect but apparently this was not the case for every mp3 file.  After a lot of investigating, I could not find the reason for the audible click when transition some tracks.  GMMP would properly read and account for the gapless metadata in each file, so I was quite baffled.  Fortunately the user who reported the issue also informed me that rockbox was one of the few apps that properly handled gapless playback.  Rockbox is also open source, so yesterday I read through most of the mp3 portion of rockbox comparing it to how I was handling gapless playback.  Turns out there is an additional, very small, section of audio data that needs to be skipped along with the encoder delay and zero padding.  So 1.0.2 includes the fix to skip that data and gmmp should now have true gapless transitions between mp3 files.

1.0.2 (11/6/2011):
-Fixed case where the first played song would not start at the beginning of the track
-Fixed gapless playback for mp3 (some files would have a noticeable click during the transition)
-Improved playing folders from the browser view that have not been scanned yet

Friday, November 4, 2011

1.0.1 - Widget fixes

I was away all week on business travel so I was not able to do much new development.  Here are some fixes tho.  Also I would like to note that I was reported there were issues with crossfade/eq/gapless and some of the lesser used aac extensions (HE-AACv1 & HE-AACv2).  I am currently working on a solution.

-Added help button to initial trial popup
-Updated russian translation

-Caught out of memory error in widget update service
-Fixed 2x2 and 4x2 widgets only showing the control buttons
-Fixed notification not updating when manually changing tracks in shuffle collection mode
-Fixed widget not updating when the track automatically changes in shuffle collection mode

Saturday, October 29, 2011

Finally out of beta. 1.0 is here!

After 7 months of development I am happy to say GoneMAD Music Player is finally out of beta.  There is plenty more to be done but I feel the feature set GMMP provides matches or is better than every other player on the market.  The downside of this is GMMP will no longer be free.  The beta is now a 14 day trial.  To show appreciation for all the early adopters I am keeping the unlocker at 50% off ($1.99 USD) up through November 6th, so grab it while it is still cheap. 

To see what is coming in future updates, check out the roadmap section of this site.  I will try to keep it updated with at least what is being worked on for the next release.

1.0 (10/28/2011):
-Added error messages when a track from a playlist is not found
-Moved widget processing to a background thread to prevent Application Not Responding issues
-Added volume control to the menu in now playing
-Added randomize feature to the playlist.  It will take your current playlist and randomize the tracklisting.

-Fixed crash when updating notification
-Fixed crash involving adding multiple files to the playlist
-Fixed widgets not updating on track change with shuffle collection enabled

0.30.2 (10/27/2011):
-Fixed crash introduced in 0.30.1

0.30.1 (10/26/2011):
-Updated russian translation
-Tweaked crossfade to reduce potential stuttering
-Fixed another crash on bad track uri

Thursday, October 27, 2011


I had released a patch yesterday which had a bad crash in it so be sure to update to 0.30.2 as soon as possible.

Tuesday, October 25, 2011

0.30 Released - Crossfade

It's late so I am keeping this short.  0.30 adds the crossfade functionality which can be accessed through Preferences -> Audio -> Crossfade.  I also added a Russian translation.  If there is anything wrong feel free to update the translations over at and I will include the changes into the next build.

0.30 (10/25/2011):
-Added crossfade with the following settings:
    Crossfade on auto track change (time is customizable)
    Crossfade on manual track change (time is customizable)
    Only crossfade on auto track change when using shuffle
-Added option to replace repeat and shuffle buttons with seek forward/backward (like before 0.28)
-Added repeat menu option when seek buttons are visible
-Added Russian translation

-Reduced lag/stutter in playback when using other apps
-Fixed nullptr exception when track uri is invalid
-Fixed crash in local image search
-Fixed nullptr exception when launching GMMP using the VIEW intent without any data set
-Exceptions thrown by the auto volume adjust when failing to open preferences.xml are now caught
-Fixed issue where playback would not resume from last position after closing

Monday, October 24, 2011

Crossfade / Beta Status

I am nearly done the next update and will try to get it out tonight.  Since I am going to be on travel next week, I decided to push off adding cue support until a later update.  I want allow myself plenty of time to fix any immediate bugs that come up.  The crossfade feature will include the ability to set crossfade times(or disable) for automatic track changes and manual track changes.  I also added an option to only enable crossfade when using shuffle.  I've also made the decision that this will be the last version in the beta stage.  There is still plenty of more features that will be added in future updates, but I feel after this next release it will be mature enough to go out beta.

On another note I think I did manage to figure out the lag/stutter issue that occurs on some devices when using other apps during playback.  I had made a change back in late july which I thought would increase performance, but actually made gmmp consume too much cpu at certain times which would starve the actual audio playback.  The end result was an annoying stutter until the cpu usage went down.  I still need to do more testing to see if its fixed, but my initial tests have been very positive.

Friday, October 21, 2011

Sending manual error reports

Hi.  In 0.29 I included the ability to manually send in error reports along with a description of this issue.  If you do decide to send in a report.. please include descriptions that are more than "PLEASE HELP!" or "VOLUME".  How in the world am I supposed to understand what you mean by that?  Just describe your problem.. issue.. suggestion.. whatever.. and I will respond to it.  Even include your email address and I will send a personal email response back and we can discuss your issue.  Thank You.

Tuesday, October 18, 2011

Gapless playback bug fix

So I discovered a bug where the gapless data being read in from an mp3 file was very.. very incorrect.  Bad gapless data leads to skips when transitioning between tracks.  The fix is pushed to the market and appslib.

0.29.2 (10/18/2011):
-Fixed bug where gapless data would be incorrectly read for mp3s encoded with certain versions of LAME

0.29.1 (10/17/2011):
-Changing navigation bar's landscape position should now take effect immediately
-DSP is now completely disabled if there is an error when loading instead of crashing
-Fixed crash when running out of memory when trying to load album art

Sunday, October 16, 2011

Website for localization

I found this really need site that makes it easy for the general public to help make translations of apps.  Check out the project I set up here Once a translation to a specific language is complete on there I will add it to the official build.

Saturday, October 15, 2011

0.29 Released

I uploaded the new version to the android market and appslib, so it should be downloadable within the next 24 hours. 0.29 was focused around improving the compatibility with certain audio files.  Most of the other changes were based around the feedback I got from 0.28

For those of you who have already purchased the unlocker, you can now verify it is working properly by going to preferences -> about gmmp.  At the top you will see "Full Version Unlocked" if the unlocker is properly installed.

0.30 will most likely mark the end of the beta period.  Crossfade and .cue support will be the 2 major additions to that release.  Those two features are the last of the major capabilities I wanted to implement before going 1.0

0.29 (10/15/2011):
-Added support for 24bit and 8bit flac files (they are down/upsampled to 16bit however since
    the android OS doesnt support 24bit output)
-Made minor optimizations to the FLAC decoder
-Added Musepack(MPC) v7 and v8 support
-Added support for ALAC in mp4/m4a files
-Playing an artist will sort the tracks in the playlist by album then track number then filename
    instead of just by filename
-Shuffle Collection now keeps track of previously played tracks
-GMMP will now be listed as an choice to open audio files
-"About GMMP" is now its own activity instead of a dialog
-"About GMMP" will show whether you have the unlocker installed or not
-Added viewable error log (Preferences -> General -> Error Log) with the option to send the
    log to the developer along with an description of the issue
-Replaced a lot of the hardcoded text with references to strings.xml (to help with localization)
-Added high priority receiver option for headset/remote controls (turning this off should allow other
    apps to intercept the button presses before gmmp)
-Added 3 new sort options to the browser: Track Number, Track Name, and Artist.  These can be slower than the other sorts since they have to read each file's tags
-Fixed issue where some aac mp4/m4a files would not play
-Fixed potential crash when trying to play an unsupported audio file
-Fixed issue where enabling gapless option would take one track to finish before
    gapless took effect
-Fixed repeat from cutting off the end of the track
-Fixed play next on an empty playlist
-Fixed potential stack overflow in options menu
-Exception caught when android equalizer fails to load.  The android eq is then marked unsupported.

Thursday, October 13, 2011


Today GMMP passed the 10,000 download mark on the android market.  Not to bad for only being out for a little less than a month.

Anyway, I am hard at work on 0.29.  So far I've fixed an issue with m4a files that was preventing them to play and also added ALAC support so all non-drm m4a/mp4 files should play now.  Support for Musepack is also completed along with the ability to play 8bit and 24bit FLAC files (they still output at 16bit however due to a limitation of the android OS)

I am hoping to get 0.29 released by the end of this weekend.

Saturday, October 8, 2011


If anyone would like to provide translations of my app into other languages feel free to contact me via email.  This includes the russians that have pirated my app.. that is still completely free... and are modifying it with a russian translation.  I will gladly include the translation in the official build.. there is no reason to hack it in.


I put up support forums here.  Feel free to post issues / feature requests there.

Tuesday, October 4, 2011

Another UI update

Okay I lied about being done with the UI in my last post.  The quicknavbar just didnt seem to fit in with the rest of the theme so I changed it.  I also had forgotten to change the look of the spinner in the EQ so I did that as well.  I do plan on doing other themes but that will probably be awhile from now.  There are much more important things to focus on.

0.28.2 (10/04/2011):
-Removed redundancy in all the layout xml files
-Changed look of the quicknavbar to fit the rest of the theme a bit better
-Changed look of the spinner in the eq to fit the rest of the theme
-Removed album name and year from an album's track list items (that info is in the list header)
-Removed sorting by year in an album's tracklisting

-Fixed white background issue in lists on devices with Motoblur
-Fixed issue where album art would not show if you disabled album art then reenabled it

Sunday, October 2, 2011

UI updates and full version unlocker

0.28 is finished with an updated and much nicer looking user interface.  I also made an unlocker that is available on the android market (appslib needs approval for paid apps so it may take some time to show up).  During the beta and the first week after the full version is released I will be selling the unlocker for 50% off (1.99 USD).  The beta will still continue and be free for the time being.  The next major update will focus on audio format compatibility.  GMMP currently does not support mpc, alac and wma lossless.  Audio files that are greater than 48khz or not 16 bit are not supported as well.  I would like add support for those in the next version if it is possible.

0.28 (10/02/2011):
-Replaced media controls
-Added gmmp logo as default album art
-New landscape layout for now playing
-Unified the icon colors
-General UI tweaks to improve performance and looks
-Added repeat functionality
-Changed default background in now playing (you can set it back to black in preferences)
-Changed "Queue Album On Song Press" default value to true
-Changed "Album Art Scale Type" to Fit Center
-Changed now playing to not reload album art during a track change if the image does not change
-Added support for full version unlocker
-Added handling for sdcards that use the path /sdcard-ext/ instead of /sdcard/

-Fixed crash when deleting an eq preset
-Fixed nullptr exception in command receiver
-Fixed nullptr exception in WidgetUpdateService
-Fixed crash when trying to play a track with a sample rate greater than 48khz which is not yet supported

0.27.3 (09/28/2011):
-Renamed "Single Button Support" preference to Multi-Press Enabled
-If Multi-Press is not enabled, a long press will advance to next track
-Headset controls respond to "HeadsetHook" instead of "Play/Pause" for multi-press
    and long press.  HeadsetHook is what single button headset controls typically send
-Other various minor fixes


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.

Tuesday, August 30, 2011

Video - Playlist Editing (0.25 feature)

I'm wrapping up the next release so its time for me to start posting info on some of the features.  Here is a video of the new edit mode for the playlist.  When enabled you can drag tracks around by pressing on the double arrow icon.  If you drag the item all the way to the right it will remove it from the playlist when you release your finger.

Monday, August 15, 2011

Guide: The Basics

Edit: This guide is fairly outdated, but some things still apply.  Check the forums for more updated information.
When first starting gmmp, you will want to scan in all your music.  Read the scanning guide here.  Also be sure to check out all the preferences available here.


Title Bar: At the very top there is a title bar which is always visible.  It will say the current view that is selected.  On the right side of the title bar, there is an arrow icon which will toggle visibility of the Navigation Bar which is right below the title bar.

Navigation Bar:  The navigation bar lets you easily switch between the majority of views in GMMP.  The navigation bar is scrollable and it's location can be configured for both portrait and landscape mode in the preferences (Preferences -> UI).  Most of the views can be hidden via the preferences as well (Preferences -> Enabled Views).

Now Playing:

This is considered the main screen.  Hitting the back arrow from any other view will return to Now Playing first before going back to the desktop.  If you want to change this behavior to a more traditional back button style where back goes to the previous screen, you can (Preferences -> General -> Traditional Back Button)

Metadata Area:  Below the navigation bar in the picture above is the metadata area.  Information about the currently playing track will be displayed here.  By default the artist, album, trackname, and genre will show, more tags will be available in the future.  You can customize which tags will show (Preferences -> Now Playing -> Displayed Tags).  The font size of the tags can be changed as well (Preferences -> Now Playing -> Font Size).  Small icons will also show up if shuffle or repeat is enabled (a blue shuffle icon indicates shuffle collection, a white shuffle icon indicates shuffle playlist).

Album Art Area:  Under the metadata area, the album art is displayed.  There is a separate guide that goes into more detail about album art.

Gesture Area:  The metadata and album art area make up the gesture area.  Gestures can be enabled and customized under Preferences -> Now Playing -> Gesture

Music Controls:  At the bottom of Now Playing there are music controls.   A button to toggle the 3 shuffle modes (Off, Shuffle Playlist, Shuffle Collection) and a button to toggle repeat mode is located here a long with buttons to play/pause and change tracks.  The shuffle and repeat button can be replace with seek buttons in the preferences (Preferences -> Now Playing -> Show Seek Buttons)

Menu Options
Shuffle:  Change between the 3 shuffle modes

Repeat: This only will show up if "Show Seek Buttons" is turned on.  Toggles repeat mode on/off

Jump to Time:  Jump instantly to a specific time in the currently playing track

Volume:  Adjust the volume with a seek bar.

Sleep:  Turns on a sleep timer to pause playback after a set amount of time


This view shows you the active playlist.  The current playing track will be a lighter font color and in italics.  Press and hold the an entry in the playlist to bring up the context menu.  You can then choose to play that track or remove it from the playlist.  Long pressing the playlist button will bring up the 'Manage Playlists' view which is explained below.

Adding songs to the active playlist:
Adding to the playlist is simple.  From the artist, album, song, genre, or browser view simply long press a list entry to bring up the context menu.

You will have 3 play options:
Play: Erases the active playlist and will play your selection
Play Next: Adds your selection after the current playing track
Enqueue: Adds your selection to the end of the active playlist

Menu Options
Edit Mode:
Enabling edit mode will add arrows next to each song in the playlist.  Pressing the arrow will allow you to drag and drop a track to change the order.  You can also drag a song to the right and release to remove from the playlist.  The selected track will begin to fade out to indicate it will be deleted

Manage Playlists:

This view will show every single playlist file (m3u/wpl/pls) scanned into the database.  Long press a playlist to play, play next, enqueue, save to(saves the active playlist to the selected file), or delete.

Save:  Saves the active playlist

Clear:  Clears the active playlist

Randomize:  Will randomize the order of every song in the active playlist.


This will show a list of every artist scanned into the database.  Long press an artist to bring up a context menu to play, play next, enqueue, or open the tag editor for the artist.  Normal pressing an artist will bring up the list of albums specific to that artist.

Menu Options
Artists/AlbumArtists:  You can toggle between viewing all the artists and only the album artists through this option.

Sort: You can also sort the artists alphabetically A-Z or Z-A.

Refresh:  Requery the database to get the list of artists again.


This view is very similar to the artist view, but it will list every album independent of the artist.  Compilations will show up listed with an artist of "Various".  There are more sorting options for the album view.  You can sort by album name, artist name, and year.


Lists every single song independent of the album and artist.  If you have a large collection it is urged to not use this view since it can get quite slow.


Starts off with a list of genres and lets you dig down to artists, then albums, and then finally songs.


This view lets you view all the music you scanned in a folder structure.  It works like any typical file browser.  Folders are represented by a folder icon and playlists are represented by the playlist icon.  To move back to the parent folder you can either hit the back button or press the arrow at the top of the list.  Sorting options are: filename, size, filetype, date, track number, trackname, and artist name.  Long pressing a folder, playlist, or file will bring up a context menu with the option play, play next, enqueue, or delete.  Delete will permanently remove the file/folder from the device.  Folders will also have a 'Scan' option which will tell the scanner to scan that specific folder for new music.


Here you can change the audio balance, preamp gain, and the gain of each band.  Full guide here
Note:  The equalizer must be enabled for anything to take effect.  Menu -> Toggle EQ to enable.


Finally we have the search view.  Pressing the physical search button on the device will jump straight to this view or there is a button on the navigation bar to access the search view.  Type the search into the edit box and press the magnifying glass button to do a full search.  Clicking the X icon will reset the search.  By default, quick search is enabled, which will begin to search as soon as text is typed into the edit box.  This can be disabled in the preferences (Preferences -> Search -> Instant Search).  Long pressing an artist, album, or song will bring up the standard context menu allowing you to play, play next, or enqueue the selection.  A normal press of an album or artist will jump straight to the artist or album view for the selection.

Menu Options
Categories:  Choose what to search in.  Options are: Artist, Album, Song, or All

Reset:  Resets the current search