Skip to main content

Posts

Showing posts from 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.

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 Skins: 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 ...

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.

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 Changelog 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 so...

1.3.22

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

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. Example:

1.3.21

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

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

1.3.20

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

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. Download 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 playl...

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

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?

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 th...

1.3.15

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

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...

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

1.3.14

Changelog: 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.

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 ...

1.3.12

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 gonemadsoftware@gmail.com Changelog 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 th...

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? Ratings 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 stra...

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. Enjoy! Changelog: New: -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) -Adde...

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)

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 bluetoot...

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.

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.

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 ...

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)

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): New: -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 rec...

100,000 downloads!

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)

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

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!

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

1.3.4

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

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

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

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. Changelog: 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 play...