Always scroll to the top of the queue list when the current song
changes.
This way, the user can see future items rather than past items.
In an ideal world, I would try to go to the center of the queue, but
it seems like the "average" scroll tends to settle at the top no
matter what I do, so whatever. There's also a slight in-accuracy
in what the app considers the "Top" of the queue, but that's considered
minimally detrimental given how much a QoL improvement this is.
Resolves#210.
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.
Split off Dates and Date Ranges off into their own file.
The Music file was getting too big for it's own good, and the addition
of Date ranges makes splitting it off much easier.
Add support for albums to have a range of dates.
Often compilation albums will have Songs released in different months
or years, so it makes some sense to show a date range rather than just
the ealiest date.
The only point at which the earliest date is still shown is in the home
view's popup, as maxiumum dates in a date range are not sorted by, and
so showing it doesn't make sense.
Formalize how whitespace tags are handled.
The checks for blank tags and removal of trailing whitespace from tags
are now the same function, carefully used to prevent blank tags from
setting through.
More testing will need to be done in order to fully ensure this system
will work as intended.
Fix an issue where genres consisting only of whitespace crash the genre
parser, and thus the music loader.
Band-aid this by moving the trimming code out of splitEscaped and into
maybeParseSeparators. In a future version I'll need to figure out how I
want to handle these weird edge cases.
Move the music cache to the app storage.
This is actually long-term data, so it makes more sense to do app
storage where it's less likely to get mangled.
Drop item selections when navigating to another view.
This resolves issues that might occur if one were to navigate fast
enough to another view after selecting something. If I were to use a
unified toolbar, this wouldn't be needed, but that is a very far-flung
addition.
Strengthen Auxio-style UIDs.
These UIDs now leverage SHA-256 hashes with null values now writing
themselves as 0 in order to avoid possible message collissions from
other value arrangements.
* Translated using Weblate (Czech)
Currently translated at 100.0% (241 of 241 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/cs/
* Translated using Weblate (German)
Currently translated at 100.0% (241 of 241 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/de/
* Translated using Weblate (Spanish)
Currently translated at 100.0% (241 of 241 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/es/
* Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (241 of 241 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/zh_Hans/
* Translated using Weblate (Lithuanian)
Currently translated at 100.0% (241 of 241 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/lt/
* Translated using Weblate (Italian)
Currently translated at 100.0% (241 of 241 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/it/
* Translated using Weblate (Croatian)
Currently translated at 100.0% (241 of 241 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/hr/
* Translated using Weblate (Russian)
Currently translated at 100.0% (241 of 241 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/ru/
Co-authored-by: Fjuro <ifjuro@proton.me>
Co-authored-by: qwerty287 <ndev@web.de>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: Eric <hamburger1024@duck.com>
Co-authored-by: Vaclovas lntas <vaclovas1999@gmail.com>
Co-authored-by: Translator-3000 <weblate.m1d0h@8shield.net>
Co-authored-by: Milo Ivir <mail@milotype.de>
Co-authored-by: Evgeniy Khramov <thejenjagamertjg@gmail.com>
Co-authored-by: Alexander Capehart <oxycblt@abstractr.net>
Redocument the music module.
Much of it's documentation has drifted from reality as changes were
made, this commit completely redoes the documentation in order to
fix that.
Redocument the detail, home, image, and list modules.
Much of this project's documentation has drifted from actual
functionality, and newer code is pretty sparely documented.
This commit seeks to rectify that by redocumenting every source
file in this project.