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


Saturday, November 2, 2019

GoneMAD Music Player 3.0 Alpha 16


GMMP now has the ability to add filters to existing views to customize what shows in an existing view/tab.  Under the hood they are just smart playlist rules that get added to the regular library query.  Right now I have only added 2 filters, but in the beta there will be a way to add your own filters.  The 2 filters are "Hide Podcasts" and "Hide Audiobooks" (to go along with the new audioview library view).  These filters are off by default since they can slow down the database queries a bit (depending on the size of your library), but they are useful to completely separate your music from your podcast/audiobooks.  You can also now set specific paths for your audiobooks / podcasts in the scanner settings.

Embedding Album Art

The tag editor can now embed album art into your tags.  Single files / songs can have art embedded and so can entire albums.  I've also restored the "Prefer embedded art" setting.

Original embedded art

Same art is associated with the album

Edit art for the single track in album

Embedded art selector is similar to the regular album art selector

New embedded art was chosen for the file

The album's art is still the same, but the tracks embedded art was changed

Lyric Editor

The tag editor also will let you add/edit lyrics to the tags.  The UI will show the raw text stored in the tags, so synchronized lyrics will have a lot of extra text that may look odd.

Unsynchronized Lyrics

Synchronized Lyrics

3.0 Alpha 16 (2019-11-02):

-Added customize->filter menu to artist, albumartist, song, and album view
-Added audiobooks view
-Added Hide Podcasts filter to filter menu
-Added Hide Audiobooks filter to filter menu
-Added "Doesnt Begin With" and "Doesnt End With" operators to smart playlist rules
-Added preferences to set podcast and audiobook paths
-Added popup warning to set podcast/audiobook paths if the view is added with no paths set
-Added support to write embedded album art to tags
-Added ability to embed album art into an entire album (all files in album)
-Readded prefer embedded art setting (Advanced -> UI -> Album Art)
-Added ability to edit lyric tags

-Removed 'rescan files' option in the scanner as it is no longer necessary
-Minor improvements to scanner to prevent unnecessarily rescanning the same folders
-Improved album art loading performance

-Fixed issue with structured voice searches
-Fixed crash when cast api cannot be found
-Fixed equalizer crash
-Fixed crash trying to seek via MediaSession
-Fixed writing to sdcard when only a subfolder of the root is given permission
-Properly close file after editing tags
-Fixed album art not refreshing when embedded art is changed
-Fixed other various crashes

3.0 Alpha 16a (2019-11-03):

-Fix album art disappearing after a scan
-Force reset themes to hopefully fix corrupted UI issue


Wednesday, October 16, 2019


It looks like over time android auto decided to change the way it sends its voice searches to music players so I pushed a new update that should improve playing by album, artist, and genre

2.2.23 (10/16/2019):
-Improved voice searching when search type is not defined (android auto does not define the type)

Saturday, October 12, 2019

GoneMAD Music Player 3.0 Alpha 15

Alpha 15 adds the ability to cast to any device that supports the cast api (like the chromecast).  This also marks the completion of the last major feature from 2.x that was missing.  There are still a few smaller capabilities (outside of customizations) that are missing, but those are not nearly as much work as the major features. 

GMMP now implements the cast api 3.0, so this means the volume rocker will now change the cast volume..... sometimes.  On my one test device it seems to random change what volume it is controlling.  I will look into this further and hopefully have a solution for the next alpha.

One thing to note is that since I ended up updating some of the libraries, it really messes up the UI until you either clear the cache or change the theme.  I put a check in to manually reset the theme if upgrading from a previous alpha to this one and it seemed to fix things on the device I tested on, however if the UI basically looks like its split in half and the colors are all off, try to change the theme or just reset the app cache to fix it.

Cast icon

Select cast device

Chromecast Cast Receiver

3.0 Alpha 15 (2019-10-12):

-Added chromecast support
-GMMP will no longer lose audiofocus when casting
-Improved casting of cue files and embedded cue
-Playback errors will now set the player in a stopped state and show an error message toast
-Musixmatch lyric search will be synchronized if searching for the currently playing song

-Updated libraries
-Compile against api level 29
-Theme reset back to default
-Clear app cache or change theme if UI is messed up on first launch

-Fixed lyric header text color in material light themes
-Highlighted lyric line will now be correctly restored when coming back to GMMP from another app
-Fixed some issues playing next/prev album by artist


Tuesday, September 24, 2019

2.2.22 Released

Minor update for android 10.  Google play has some new requirements for apps to support 64 bit devices so I unfortunately was forced to remove some of the older versions for kitkat and below.  Despite adding a x86_64 version along with the existing arm64 version, the google play console refused to let me submit the update unless deactivated the others.  I opened a ticket with support but everyone should know by now that google play support is basically non existent.

Not sure when they it will go live since google has a new review process, but the amazon version should be live by tomorrow.

2.2.22 (09/23/2019):
-Notification will be automatically inverted on android 10 when night mode is active

Thursday, September 19, 2019

GoneMAD Music Player 3.0 Alpha 14

I was able to get another released finished this week.  Its fairly minor but has some nice lyrics improvements and fixes.  lrc lyric files are now supported (the filename must be exactly the same as the audio files filename except having a .lrc extension) and synchronized lyrics are now fully supported.  The lyrics view will highlight the current line and the view will auto scroll when the playing line moves off screen (this can be turned off in the options).  I also added supported for 2 lyric apps (musixmatch and quicklyric).  If neither are installed you will be prompted to download one, otherwise you are prompted to choose which of the installed apps to use to search for the lyrics.

Lyrics opened in QuickLyric
Next up chromecast support!  I am guessing Alpha 15 will take at least 3-4 weeks to complete.

3.0 Alpha 14 (2019-09-19)

-Added lrc lyric file support (must have same filename with lrc extension)
-Lyric view will highlight the current line for synchronized lyrics
-Added auto scroll menu option for lyric view
-Added year search
-Added support to search Musixmatch and QuickLyric for lyrics
-Added intent to trigger scanner: gonemad.gmmp.action.SCAN

-Standardized highlighted tracks font across all the views

-Fixed issue with synchronized lyrics where repeated lines were not in the correct order
-Now Playing menu properly closes after opening lyrics view
-Fixed issue where composer always showed up in the search results even if turned off
-Fixed other random crashes