Saturday, February 1, 2020

GoneMAD Music Player 3.0 Beta 2

3.0 Beta 2 adds some more now playing customizations.

New Now Playing Layout

I added the ability to choose between 2 different now playing layouts.  The original layout has been tweaked so the album art no longer gets cropped.

As you can see from the above screen shot, there is a lot more empty space on some phones.  I have plans for a future beta to add more optional "quick action" buttons to take advantage of the extra real estate.  You can also customize the metadata displayed to show more lines (see next section).

The new layout is a bit more dynamic in the sense that it will resize things to fit.  The album art does not stretch to the edges of the UI and sits underneath the top toolbar.  Right now layout 2 is not customizable, but in beta 3 I plan on adding the ability to change the background (solid color, album art background, or blurred album art background), change how the main art is rendered (off, square, rounded corners, circle), change album art backgrounds darkness/opacity, and finally change the blur factor of the background art.

Customize Displayed Metadata

In beta 2 you can now choose from a couple hundred different metadata presets.  A future beta will expose more metadata options and the ability to create completely custom lines, but for now you get to choose from a list of presets.

Presets are broken down in to multiple categories.  The 3 main categories are: Minimalistic, Default, Detailed and each has 4 different size variations.

So now you can easily fill in some of the extra empty space in now playing with a more detailed metadata display.

Customize Gestures

You can now customize gesture actions via the customize menu in now playing.  The overall feel of the customize UI should be about the same as 2.x

Here are the landscape versions of both layouts

3.0 Beta 2 (2020-02-01):

Note: Large playlists may take awhile to load.  Performance will be improved in future beta updates

-Deleting playing track will now auto advance to the next in queue
-Tweaked padding on some of the now playing ui elements
-Song info dialog entries are now top aligned instead of center
-Added new second now playing layout (Menu -> Customize -> Layout -> Layout 2)
-Added ability to customize displayed metadata in now playing (Menu -> Customize -> Displayed Metadata)
-Views with tabs will now save/restore the most recently selected tab
-Added accessiblity content descriptions to now playing / mini player buttons
-Default eq bands set to 10
-Added 'Play Next Album By Artist' to On Queue Completion
-Tablets will now default to the new now playing layout (layout 2)
-Playing an artist or album artist will now sort tracks by album (will be configurable later)
-Added setting to enable/disable now playing gestures (Settings - UI - Now Playing - Enable Gestures)
-Added ability to customize now playing gestures (Menu -> Customize -> Gestures)
-Added 'Clear Queue' option to queue menu
-Added basic display profile system to allow for better defaults depending on the device
-Improved time to play large playlist files

-Fixed crash in the folder view when no scan paths are present
-Fixed other various crashes
-Fixed bug where Save Queue To UI kept popping up
-Reordering queue after track deletion should now work correctly
-Fixed issues when deleting multiple tracks that are in the queue
-Now playing album art should now maintain a 1:1 aspect ratio in art has the same height and width
-Removed radio buttons from jump to playing dialog
-Fixed long press in album details view when context menu is hidden
-Swipe to delete fixed in view order ui
-Fixed bug causing On Queue Completion -> Play Next Folder to fail
-Fixed scanner notifications not showing
-Fixed crash when changing tracks rapidly
-Fixed queue positions when upgrading from 2.x

Wednesday, January 1, 2020

GoneMAD Music Player 3.0 Beta 1

I just pushed 3.0 beta 1 to the play store and it should be available to download in the next few hours.  Anyone that was part of the 2.x beta should still be in the 3.0 beta.  For anyone else there are instructions on how to join the beta here:

I created a new thread on the forums for the beta, so please post feedback there:

3.0 Beta 1 (2020-01-01):

Complete rewrite besides the audioengine.  See about -> changelog for all 3.0 Alpha changes

New since Alpha 19:
-Auto art search triggered on 3.0 upgrade
-Show trial dialog on first startup if unlocker is not installed
-Scanner will now remove missing artist art during cleaning
-Random track is added to queue on initial scan
-Added new artwork section of the settings and added options for auto download and wifi only downloading
-Set artist and albumartist view type default to Grid
-Added x86_64 build

-Improved light buttons/text showing over light artwork

-Refactored database upgrade so it goes straight from 2.x to 3.0
-Fixed selectable item background on list / grid items
-Folder artist art search improvements
-Fixed fast scroll letters incorrect with ignore prefixes and sort tags
-Other various fixes

3.0 Beta Process

The beta will be split into 3 main phases:

  1. Customizations - I added a lot of customizations under the hood in the alpha but they need associated user interfaces in order to be accessed.  This phase will focus on exposing those customizations.
  2. UI Improvements and tweaks - This phase will focus on making the UI look and perform better.  Transitions will be added along with more UI customizations.
  3. Fixes / Hardening / Onboarding - Fix remaining bugs and issues along with adding help UIs.  I do also plan on creating initial onboarding UIs on first launch to help new users set up the app.
Note: Please refrain from emailing / posting about missing customizations.  I am well aware they are not there yet and will be readded throughtout the beta (phase 1 above).  The point of the alpha was to add all the functionality and the beta will be about customization and polish.  If you require those customizations immediately you can leave the beta and go back to 2.x until 3.0 sees a final release.

I don't have a good estimate on how long the beta will take, but I do know it needs to finish sometime before google forces all updates to have their target api set to android 10 (which I believe is october-ish).  Apps targeting android 10 are forced into using scoped storage which requires a lot of modifications to support.  I'll eventually update to support it but that wont happen until 3.0 is finished.

Tuesday, December 17, 2019

GoneMAD Music Player 3.0 Alpha 19

Alpha 19 marks the end of the alpha barring any major bugs.  All future updates will be via the google play store.  I will post when the beta has started with instructions on how to sign up.  I am planning for the beta to start right around the start of the new year.  I want to give this alpha some time to get tested since I will have to remove the main bug reporting tool before posting on google play due to the GDPR.  Google play does have its own bug reporting but its not as good as fabric.

Art Updates

I made some improvements to the art searches and also updated the scanner to run an auto search if no artwork is detected on the device.  To prevent hammering the search providers, I limited the queries to 1 artist/album a second, so large collections will take a long time to fully populate the art.

App Shortcuts

Android 7.1 (i think) added the ability to add app shortcuts to the icon on the homescreen.  GMMP now has 3.  Play, Shuffle All, and Search.  Play and Shuffle all allow control of gmmp without opening the UI, and search will launch gmmp right at the search screen.

Album Shuffle

I also added a new playback mode called Album Shuffle.  Instead of filling up the queue with every single album shuffled up, Album Shuffle works a bit like Auto-DJ.  It will populate the queue with 5 albums and will continue to add albums as albums are finished.  Album Shuffle also overrides Play Next/Prev album (and next/prev album by artist).  If you use those gestures, album shuffle will skip to the next/prev album already in the queue.  Album Shuffle is available only in the library menu and will overwrite whatever is in your queue.  Toggling shuffle when in album shuffle will revert playback to normal mode (where it will cycle between normal/shuffle/auto dj)

Album Shuffle Indicator

Queue now has 5 albums in it after selecting album shuffle

3.0 Alpha 19 (2019-12-17):

-Added folder search for artist art (folder must contain artist name to be searched)
-Album art will now be used if no artist art is found
-Added options in the settings to download missing art (album and artist)
-Added 3 app shortcuts: Play, Shuffle All, and Search
-Added album shuffle (available in library menu)
-Added play next/prev album in queue when in album shuffle mode
-Scanner will now auto search for artwork for newly scanned artist and albums

-Added additional logging for file read/write errors
-Art selector "none" option now shows the letter placeholder
-Improved how multi selected items are highlighted
-Art selector UI will now incrementally load search results instead of waiting for all results to return
-Improved rxjava related error handling / reporting
-Letter placeholder background color is now a random interpolation between the primaryColor and primaryDark
-Updated libraries
-Art searches now filter out "feat whatever" from the artist name

-Fixed crash when trying to remove context menu on folder view
-Fixed other various crashes
-Fixed case insensitive sorting issue that some users experienced
-Removed gifs from image search results
-Removed now playing from side navigation menu in split view
-Fixed letter drawable not resizing correctly when grid size is changed
-Toolbar back arrow should no longer revert to the drawer menu icon when resuming the app
-Other various fixes


Sunday, December 8, 2019

GoneMAD Music Player 3.0 Alpha 18

Artist Art

Alpha 18 adds the ability to search for artwork for artist and album artists.  I added in 3 internet based artist artwork sources and also added 2 more album artwork sources.  Selecting 'Artist Art' from the context menu will now bring up the artist art selector UI.  

Items in the art selector now have a 3 dot menu with 2 options.  Select and Preview.  Select will choose that image for the artist/album/album artist.  Preview will pop up the image in a bigger display.  This helps with picking the best quality image.  Right now only one of the art apis actually returns the resolution of the image, so the preview is the best way to make sure you are picking the right image.

The artist and album artist detail views now will also show the artwork if present.

New Library Item Layouts

Since artists have imagery now, it made sense to add a grid view.  In the process of adding that I ended up adding a few more options and redid the view mode menu to make it less cumbersome.  Library views with imagery now have 4 main options: List, List: No Art, Grid, Grid: Compact.  Additionally there are 2 other options to modify those views: Cards and Context Menu.  Cards will toggle between using the card ui, and context menu will let you turn on/off the 3 dot menu.  

View Mode Menu

Grid with no context menu

Grid: Compact with no context menu

List with no context menu

List: No Art with no context menu

List: No Art



Grid Compact

If the context menu is turned off, a long press of the item will bring up a dialog with all the options / actions that the 3 dot menu contained.  If you would like to start multi-select, choose the 'select' option at the end and that will enable multi-select mode.  Also note that the ugly default "no album art" image is used when there is no artwork.  Now a letter based image is generated using the first 2 letters of the item with a background that uses the primary and primary dark theme color.

Multi select

Grid size of 3

Tablet UI / Split Mode

Fans of the 2.x holo theme will be happy to see the split mode is back.  Right now its only available for large displays / tablets (it uses 600 density independent pixels for the shortest dimension as the cutoff currently), but a future update will allow smaller devices to toggle it on in the options (it will be always on for tablets).

Split mode basically takes the screen and splits it in half.  One half will always show now playing, and the other half will show the view you navigate to.  

I have only tested on a nexus 7 and a galaxy tab e 8in so far, so I am not exactly sure how this layout works on the 10 in tablets or chrome books.  

Split view will certainly be improved over the beta, but this is it for tablets for now.  Both tablet and phone UI will get improvements with the album art as well.  The goal is to show art with the correct aspect ratio without clipping part of the image.

Smart Crossfade

The addition of auto dj caused me to rewrite some of the logic for crossfade.  Previously there were some crossfade options that weren't exactly straight forward, so I simplified things.  Under the crossfade mode there is now just a "Auto Crossfade Mode" with 3 options:

  • Smart Crossfade:  Only crossfade if the 2 connecting songs are not consecutive tracks on an album.
  • On Shuffle Only:  Only crossfade when playback mode is set to shuffle.
  • Always:  Always crossfade.
Smart Crossfade does require correct album tags and track number tags, otherwise it will just always shuffle.  Smart Crossfade now allows auto dj to not crossfade when playing an album straight and then start crossfading again when auto dj starts adding new songs to the end of the queue.

3.0 Alpha 18 (2019-12-08):

-Added additional album art sources
-Added loading progress indicator to album art selector when search for art
-Added setting to determine when to auto crossfade 'Auto Crossfade Mode": Smart Crossfade, On Shuffle Only, and Always
-Added artist art search/downloader
-Artist/album artist details will now show art if present
-Added grid view to artist and album artist list
-Added view modes with no art to the album list
-Added new letter placeholder for items with no art
-Added Grid: Compact view mode to artist/albumartist/album views
-Added view mode checkbox to turn on/off the 3 dot context menu.  If off, a long press will bring up the context menu options
-Added initial tablet ui (split mode)
-Effects/EQ standalone UI now has a mini player

-Condensed card view mode options into a single card check box in the view mode menu
-Minor scrolling behavior improvements

-Sorting album list by 'Artist' will now sort by artist first and then album name
-Fixed issue where widget would be invisible until gmmp is launched
-Fixed crash with the filter menus
-Ignore case when using 'Ignore Prefixes" sort modifier
-Fixed seek bar preferences not showing selected value
-Fixed preloading of art in lists
-Fixed album details text color when using light theme with a light primary color
-.nomedia is now created in cache folders to keep imagary out of the android media scanner
-Fixed issue where audiobook and podcast tab would show every album/song when selecting an artist
-Fixed now playing when no song is loaded (now treated like no album art)
-Fixed issue where some of the effects UI was cut off


Saturday, November 16, 2019

GoneMAD Music Player 3.0 Alpha 17

Alpha 17 brings 2 fairly significant additions/improvements: sort tags and auto dj

Improved Sorting

GMMP's scanner will now read 4 new tags: Artist Sort Order, Album Sort Order, Album Artist Sort Order, and Composer Sort Order.  The tag editor has been updated accordingly.  For users who have files with multiple artists/composers/etc, the sort order tags work in the same way.  If your artist tag has 3 artists semi-colon delimited, the artist sort tag should also have 3 sort orders semi-colon delimited (see 4th image below).

Composer list sorted by composer sort order

Sorting is always improved by the return of the ignore prefix feature.  This is available to the majority of the lists and by default will ignore 'A' and 'The' prefixes.  In the 3.0 beta I will open this up to customization.  To use these 2 new sorting methods, I added a sub menu under the sort menu named 'Modifier' (if anyone has a better name for this feel free to email me or post in the forums).  The idea behind the sort modifiers is to take the selected sort order and either swap artist/album/etc with their associated sort order, or to take the selected sort order and ignore prefixes.


Users of Musicbee should be familiar with Auto-DJ.  As of right now GMMP has a much more limited version compared to musicbee, but it is still pretty powerful.  Auto-DJ playback mode basically keeps your queue populated with songs as your approach the end.  In a way it is similar to some of the On Queue Completion options, but the queue is not reset.  Right now the defaults for auto dj are an initial size of 10 (makes sure at least 10 songs are in the queue), and an upcoming song count of 5 (makes sure there are at least 5 tracks after the actively playing song).  Song selection is determined by either a smart playlist, or the default (random songs from entire collection) if no playlist is selected.  Songs should not be repeated for the most part until the entire contents of the playlist has been played once (this is maintained in the database so it will survive the app being closed).  Customizations for auto dj are planned for the 3.0 beta.

Auto DJ option for smart playlists

Original queue

3 tracks added to the end of the queue by auto dj

Auto DJ icon in place of shuffle
Auto DJ can be enabled by clicking the shuffle button until you see the headphone icon.  The last used smart playlist (or default rules) will be used when auto dj is enabled this way.  It also can be enabled via the library 3 dot menu at the top (this will use the default rules), or via the smart playlist context menu (uses smart playlist rules)

3.0 Alpha 17 (2019-11-16):

-Added support for artist sort, album artist sort, album sort, and composer sort tags
-Added new sort modifier menu option to allow sorting by sort tags
-Added 'Ignore Prefixes' sort modifier that will ignore 'The' and 'A' prefixes when sorting (will be customizable in beta)
-Added sort tags to smart playlist order by options
-Added Auto-DJ play mode that will automatically add songs to queue when nearing the end
-Added 'Enqueue Shuffled' to genre, artist, albumartist, and composer lists (available while in shuffle or auto dj mode)
-A toast will now show when playback or repeat modes are changed
-Added 'Auto-DJ' context menu option to the smart playlist list.  Will use selected smart playlist as the Auto-DJ ruleset
-Added 'Auto-DJ' toolbar menu option to the libraries views.  Will use the default Auto-DJ ruleset
-Updated a bunch of GMMP dependency libraries
-Fixed text and icon color issue when forcing a theme reset
-Album date added should now be correctly added by the scanner
-Fixed bug editing composer tag from the composer view
-Fixed composer sort options
-Fixed cast related crash on shutdown
-Fixed socket timeout crash when downloading album art