Thursday, December 29, 2011

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

ScannerEdit 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

GeneralEnable 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 PreferencesDisplay Wake Mode: Technical details can be found here

Default: Nothing is changed and the screen will shut off normally

Dimmed: The display will not fully shut off, but will stay in a dimmed mode

Screen Bright: The display will stay fully lit

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

Album Art PreferencesAuto 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

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

Error ReportingAllow 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 LogSubmit 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

MiscellaneousMusic 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

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

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

CrossfadeEnable 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

Use Defaults: Changes the volume to the defaults set in the preferences

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

PlaybackEnable 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

UINavigation BarPortrait 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

OtherEnable Transitions: Enables the transitions that occur when switching views

LibraryArtist LibraryShow 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 LibraryShow 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 LibraryShow 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 LibraryShow 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 BrowserSort 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 ActionsOn 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.

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

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

Customize Gestures: Assign an action to each available gesture.

PlaylistOn Playlist Completion: Set what GMMP will do when the current playlist. Options are:

Stop: Stops playback

Play Random: Picks a song at random and plays it

Loop Playlist: Restarts the current playlist

Play Random Album: Plays an album at random and plays it

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.

Thursday, December 22, 2011

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

Changelog:
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 net.dinglisch.android.tasker.PERMISSION_RUN_TASKS permission

Friday, December 16, 2011

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

Friday, December 9, 2011

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

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

Fixes:-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

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.

Saturday, December 3, 2011

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.