Add a real playlist naming dialog and UX flow.
This is a bit rough at the moment since theres a good amount of nuance
here. Should improve as the playlist implementation continues to grow
more fleshed out.
Refactor the music name implementation to do the following:
1. Unify normal and sort names under a single datatype
2. Handle arbitrary-length digit strings
3. Ignore puncutation regardless of the intelligent sort
configuration, as it is trivially localizable.
Resolves#423.
Co-authored by: ChatGPT-3.5
Make the numeric sort name handling added prior dependent on a new
"Intelligent Sorting" setting that also controls the article checks.
This kind of behavior might not be desirable in all cases, and it makes
the setting more consistent anyway.
Add a setting to remove hard-coded sort names based on articles.
This feature is nice, but does not work with some non-english music.
Those individuals should have the ability to disable it.
The implementation honestly is not the greatest, primarily because it
does a 100% reload when it could just regenerate the library. Auxio's
current music model isn't really designed for that, so it will do this
until a need to that kind of "soft reload" really arises.
Resolves#359.
Make sorting direction (ascending/descending) explicit in the UI and in
the code.
Instead of a boolean flag, two distinct "ascending" and "descending"
options are used instead. This should be much clearer.
Split up the settings ui into four categories.
This should reduce the visual load on the user as Auxio continues to
accrue possible configuration options.
Resolves#323.
Just pre-emptively add support for TXXX variations of the non-standard
vorbis artist fields to the ID3v2 parser.
I'd imagine the naming convention will be similar between them, so why
not.
Add a button to reset the pre-amp to it's default setting.
This way, you don't have to specifically seek to the 0 dB value in the
dialog in order to reset it.
When resolving the names of several artists or genres, use a localized
separator instead of a comma.
This makes list values more correct in other languages, if properly
translated.
More miscellanious tweaks I can't categorize since I have no time.
It's mostly attempts at improving animation visuals an failing. Really
want to switch to material animations once I can finally get the things
working.
Handle errors from databases.
Either way, a crash from a database or a silent error will be equally
nightmarish to debug. May as well keep going if they fail.
Make artist images sort by count instead of by name.
I've recently added a few singles in my library that have been
cluttering the previous artist image algorithm with non-ideal
covers. Instead of sorting by name (Which was really an artifact
of the old MediaStore engine anyway), sort by the amount of songs
of each album instead, which hopefully should weight images less
towards singles and more towards albums (And especially albums
the user likes).
Add a setting to hide "collaborators", that is artists that do not show
up on any album artist tags.
This is mostly for my own use since I don't get use from useless
collaborator entries.
If a song/album date has a month value, show it in the UI.
This hopefully improves the date experience for more well-tagged
libraries. Due to date limitations however, it is limited to
Android O onwards for now.
Unify the "Show Covers" and "Ignore MediaStore Covers" settings under an
new "Album covers" setting.
This will make it easier to extend to new forms of album cover
collection.
Add a toggle to control the IS_MUSIC=1 selector.
This is normally used to remove non-music like podcasts and ringtones,
however some people use Auxio was a general-purpose audio player for
these files, so this setting can be used to disable that selector and
load non-music.
Resolves#246.
Add semi-complete support for multiple artists.
This changeset completely reworks the music linker to add the following
new behaviors:
1. Artists are now derived from both artist and album artist tags,
with them being linked to songs and albums respectively
2. Albums and songs can now have multiple artists that can be distinct
from eachother
3. Previous Genre picking infrastructure has been removed and replaced
with artist picking infrastructure. "Play from genre" has been retired
entirely.
This is a clean break to the previous artist model and may not work
with all libraries. Steps to migrate the music library will be added
to the changelog.
Resolves#195.
Add a dialog for picking a genre from several choices.
This basically completes multi-genre support in Auxio, save more
internal reworks.
Note that it is extremely likely that the "Play from genre" setting
will be removed soon. This feature has made me realize that such does
not many any real sense, as genres are more semantically similar to
playlists than artists or albums. This implementation only exists to
make multi-artist support an easy plug-and-play operation.
Resolves#201
Add support for compilation + live, compilation + remix,
and compilation + dj-mix release types.
This was not included due to the changes it required to the
parser. Turns out these changes are largely trivial if I do
more clever inlining.