Monday, June 20, 2011

0.19 - New underlying audio engine adding FLAC, TTA, and APE support

It's been awhile but I am finally happy enough with the current build to release it.  GMMP no longer relies on the built in android mediaplayer to process/decode audio files for playback.  This will open up many new features in the future.  I wrote A LOT of code in c++ for this and integrated 3 libraries (ffmpeg, opencore, and libflac) so I expect here to be some bugs.  I've used 1.6 and 2.2 emulator, the archos 5IT and the HTC thunderbolt to test, so the stability should be fairly good.

Due to patent issues with AAC and MP3, I do not include decoders for these formats because I do not want to get sued.  I do however, search the device to see if the standard decoders are present and use them.  Devices with DSP chips on them may not contain the standard decoders (the archos 5IT has a custom aac decoder specifically for the dsp on board).  In cases like this, gmmp will revert to using the built in mediaplayer for those specific formats.

I am trying a new site to host my downloads.  We'll see if it's any better.
Download 0.19 alpha here
Changelog:

0.19 (06/20/11):
-Added new underlying audioengine to handle the reading/decoding/playback
-Added full support for FLAC, monkey's audio (APE), and trueaudio (TTA)
-Album art finder checks local directory before it tries to download the art
-"Only scan new files" option for the scanner will now skip reading files that
    already exist in the database instead of reading tags and not updating the db
-Very large album art images are now downsampled to save on memory and to ensure
    they load properly
-Deleting the database when scanning will also clear the playlist
-Added clear playlist menu option
-Added license info for FFmpeg, libFLAC, and OpenCORE

fixes:
-Fixed crash when image download fails
-Fixed duplicate entries when rescanning
-Fixed playlist view to update when a random song is played at the end of the playlist
-Fixed crash when artist had an ' in their name
-Music service will now become a foreground service again if playback is resumed
    by plugging in a headset
-Fixed the reading of m4a tags

My goals for 0.20:
-Gapless playback
-More format support: wavpack, shorten, wma, musepack
-Add support for mono audio tracks
-Add support for album art embedded in the audio file
-Adjustable low level audio settings (buffer size and whatnot if playback is skipping)