* Translated using Weblate (Arabic (ar_IQ))
Currently translated at 58.9% (151 of 256 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/ar_IQ/
* Added translation using Weblate (Hebrew)
* Translated using Weblate (Hebrew)
Currently translated at 96.5% (28 of 29 strings)
Translation: Auxio/Metadata
Translate-URL: https://hosted.weblate.org/projects/auxio/metadata/he/
* Translated using Weblate (Hebrew)
Currently translated at 61.7% (158 of 256 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/he/
* Translated using Weblate (German)
Currently translated at 100.0% (256 of 256 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/de/
* Translated using Weblate (Polish)
Currently translated at 100.0% (256 of 256 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/pl/
* Translated using Weblate (Polish)
Currently translated at 100.0% (256 of 256 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/pl/
* Translated using Weblate (Polish)
Currently translated at 100.0% (256 of 256 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/pl/
* Translated using Weblate (German)
Currently translated at 100.0% (256 of 256 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/de/
* Translated using Weblate (German)
Currently translated at 100.0% (29 of 29 strings)
Translation: Auxio/Metadata
Translate-URL: https://hosted.weblate.org/projects/auxio/metadata/de/
* Translated using Weblate (Galician)
Currently translated at 98.0% (251 of 256 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/gl/
* Translated using Weblate (Polish)
Currently translated at 100.0% (256 of 256 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/pl/
* Translated using Weblate (Polish)
Currently translated at 100.0% (256 of 256 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/pl/
* Translated using Weblate (Polish)
Currently translated at 100.0% (256 of 256 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/pl/
---------
Co-authored-by: Moayad Ahmed <meayad1728383@gmail.com>
Co-authored-by: FAYE <pl4gve@gmail.com>
Co-authored-by: qwerty287 <ndev@web.de>
Co-authored-by: Maciej Klupp <maciej.klupp@gmail.com>
Co-authored-by: Макар Разин <makarrazin14@gmail.com>
Co-authored-by: C. Rüdinger <Mail-an-CR@web.de>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Separate the header information into it's own adapter, and concatenate
it with the prior adapter.
This way, it can be updated separately without a jarring list update.
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.
Fix visual clipping on the shuffle FAB's shadow.
Turns out padding, while slower, is actually the better inset handling
method, as it allows me to avoid visual clipping in some cases.
FINALLY update to MDC 1.7.0. After over half a year.
I have been continually blocked by doing this due to this absurd ripple
bug that was so continually frustrating. Today, I finally figred out
how to hack a fix in by using R E F L E C T I O N and manually
disabling the bugged code path since google apparently can't be bothered
to fix it.
Now, you might wonder why I didn't update to 1.8.0. That is because
there is ANOTHER RIPPLE BUG. THIS TIME WITH THE TAB LAYOUT. AND ONLY IF
IT'S IN A COLLAPSING TOOLBAR LAYOUT. Can't wait to finally use the new
1.8.0 features in December!
* Translated using Weblate (German)
Currently translated at 100.0% (256 of 256 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/de/
* Translated using Weblate (Ukrainian)
Currently translated at 100.0% (256 of 256 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/uk/
* Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (256 of 256 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/pt_BR/
* Translated using Weblate (Ukrainian)
Currently translated at 100.0% (256 of 256 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/uk/
* Translated using Weblate (Italian)
Currently translated at 100.0% (256 of 256 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/it/
* Translated using Weblate (Russian)
Currently translated at 99.6% (255 of 256 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/ru/
* Translated using Weblate (Italian)
Currently translated at 100.0% (28 of 28 strings)
Translation: Auxio/Metadata
Translate-URL: https://hosted.weblate.org/projects/auxio/metadata/it/
* Translated using Weblate (Indonesian)
Currently translated at 70.3% (180 of 256 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/id/
* Translated using Weblate (Korean)
Currently translated at 100.0% (256 of 256 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/ko/
* Translated using Weblate (Polish)
Currently translated at 100.0% (256 of 256 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/pl/
* Translated using Weblate (Russian)
Currently translated at 100.0% (256 of 256 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/ru/
* Translated using Weblate (Ukrainian)
Currently translated at 100.0% (256 of 256 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/uk/
* Translated using Weblate (Russian)
Currently translated at 100.0% (28 of 28 strings)
Translation: Auxio/Metadata
Translate-URL: https://hosted.weblate.org/projects/auxio/metadata/ru/
* Translated using Weblate (German)
Currently translated at 100.0% (256 of 256 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/de/
* Translated using Weblate (Hindi)
Currently translated at 14.4% (37 of 256 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/hi/
* Translated using Weblate (Malayalam)
Currently translated at 30.4% (78 of 256 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/ml/
* Translated using Weblate (Malayalam)
Currently translated at 96.4% (27 of 28 strings)
Translation: Auxio/Metadata
Translate-URL: https://hosted.weblate.org/projects/auxio/metadata/ml/
* Translated using Weblate (Czech)
Currently translated at 100.0% (257 of 257 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/cs/
* Translated using Weblate (Spanish)
Currently translated at 100.0% (257 of 257 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/es/
* Translated using Weblate (Korean)
Currently translated at 100.0% (257 of 257 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/ko/
* Translated using Weblate (Russian)
Currently translated at 100.0% (257 of 257 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/ru/
* Translated using Weblate (Ukrainian)
Currently translated at 100.0% (257 of 257 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/uk/
* Translated using Weblate (Ukrainian)
Currently translated at 100.0% (257 of 257 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/uk/
* Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (257 of 257 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/zh_Hans/
* Translated using Weblate (Lithuanian)
Currently translated at 100.0% (257 of 257 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/lt/
* Translated using Weblate (Ukrainian)
Currently translated at 100.0% (28 of 28 strings)
Translation: Auxio/Metadata
Translate-URL: https://hosted.weblate.org/projects/auxio/metadata/uk/
---------
Co-authored-by: min7-i <postly+github_min@mailbox.org>
Co-authored-by: BMN <weblate@yopmail.com>
Co-authored-by: Edmundo Nocchi <edmundonocchii@gmail.com>
Co-authored-by: atilluF <atilluF@users.noreply.hosted.weblate.org>
Co-authored-by: Evgeniy Khramov <thejenjagamertjg@gmail.com>
Co-authored-by: liimee <alt3753.7@gmail.com>
Co-authored-by: Hoseok Seo <ddinghoya@gmail.com>
Co-authored-by: Ilya <kilimov25@gmail.com>
Co-authored-by: qwerty287 <ndev@web.de>
Co-authored-by: Raman <translations.0l5zc@simplelogin.com>
Co-authored-by: Fjuro <ifjuro@proton.me>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: Skrripy <rozihrash.ya6w7@simplelogin.com>
Co-authored-by: Eric <hamburger2048@users.noreply.hosted.weblate.org>
Co-authored-by: Vaclovas lntas <vaclovas1999@gmail.com>
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.
Start injecting shared object instances.
This is not a 100% conversion, as certain portions of the code are not
really ready for 100% DI constructors just yet.
Split off the song property extraction code into a music package class.
This is part of an initiative to remove non-parameter uses of contexts
in ViewModels.
Manually use our own navigation graph in the new settings view.
This avoids a crash that occurs with the default preferences navigation
(on some devices) where the differing app IDs between debug and release
makes it so that the fragments cannot be found. Because you know.
Android.
* Translated using Weblate (Spanish)
Currently translated at 100.0% (244 of 244 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/es/
* Translated using Weblate (Korean)
Currently translated at 100.0% (244 of 244 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/ko/
* Translated using Weblate (Russian)
Currently translated at 100.0% (244 of 244 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/ru/
* Translated using Weblate (Korean)
Currently translated at 100.0% (27 of 27 strings)
Translation: Auxio/Metadata
Translate-URL: https://hosted.weblate.org/projects/auxio/metadata/ko/
* Translated using Weblate (Czech)
Currently translated at 100.0% (245 of 245 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/cs/
* Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (256 of 256 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/zh_Hans/
* Translated using Weblate (Czech)
Currently translated at 100.0% (256 of 256 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/cs/
* Translated using Weblate (German)
Currently translated at 99.6% (255 of 256 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/de/
* Translated using Weblate (Spanish)
Currently translated at 100.0% (256 of 256 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/es/
* Translated using Weblate (Italian)
Currently translated at 97.6% (250 of 256 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/it/
* Translated using Weblate (German)
Currently translated at 100.0% (256 of 256 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/de/
* Translated using Weblate (Spanish)
Currently translated at 100.0% (256 of 256 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/es/
* Translated using Weblate (Ukrainian)
Currently translated at 100.0% (256 of 256 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/uk/
* Translated using Weblate (Ukrainian)
Currently translated at 100.0% (256 of 256 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/uk/
* Translated using Weblate (Lithuanian)
Currently translated at 100.0% (256 of 256 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/lt/
* Translated using Weblate (Ukrainian)
Currently translated at 100.0% (27 of 27 strings)
Translation: Auxio/Metadata
Translate-URL: https://hosted.weblate.org/projects/auxio/metadata/uk/
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: Hoseok Seo <ddinghoya@gmail.com>
Co-authored-by: kirill blaze <kirillblaze2@gmail.com>
Co-authored-by: Fjuro <ifjuro@proton.me>
Co-authored-by: Eric <hamburger2048@users.noreply.hosted.weblate.org>
Co-authored-by: Ettore Atalan <atalanttore@googlemail.com>
Co-authored-by: Alessandro <alessandro.cocco@outlook.com>
Co-authored-by: qwerty287 <ndev@web.de>
Co-authored-by: BMN <weblate@yopmail.com>
Co-authored-by: Dan <denqwerta@gmail.com>
Co-authored-by: Vaclovas lntas <vaclovas1999@gmail.com>
Switch to item decorations to manage header dividers.
This is much more reliable than encoding it in-data. Only cost comes in
that it forces me to backport yet another component since I still can't
update MDC after over half a year.
Redesign the header component to be more aligned with M3 guidelines.
This includes moving the divider to the top when reasonable, using a
smaller font size, and using a tinted coloration to separate itself
from the list contents.
Make list instructions generic in preparation for the detail list
update.
Detail views need their own instructions datatype, so this is meant to
allow that to be implemented without issue.
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.
Reorganize the music folders dialog to be more visually straightforward
than prior, primarily by grouping the folder elements into the same
visual region.
Resolves#318.
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.
Make all adapters relying on diffing unified into a DiffAdapter
superclass that can then accurately respond to the new
UpdateInstructions data.
UpdateInstructions is still not fully used everywhere, but will be
soon.
* Translated using Weblate (Spanish)
Currently translated at 100.0% (244 of 244 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/es/
* Translated using Weblate (Ukrainian)
Currently translated at 100.0% (244 of 244 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/uk/
* Translated using Weblate (Chinese (Traditional))
Currently translated at 22.9% (56 of 244 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/zh_Hant/
* Translated using Weblate (Turkish)
Currently translated at 68.4% (167 of 244 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/tr/
* Translated using Weblate (Turkish)
Currently translated at 100.0% (27 of 27 strings)
Translation: Auxio/Metadata
Translate-URL: https://hosted.weblate.org/projects/auxio/metadata/tr/
* Translated using Weblate (Chinese (Traditional))
Currently translated at 96.2% (26 of 27 strings)
Translation: Auxio/Metadata
Translate-URL: https://hosted.weblate.org/projects/auxio/metadata/zh_Hant/
* Translated using Weblate (German)
Currently translated at 100.0% (244 of 244 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/de/
* Translated using Weblate (Turkish)
Currently translated at 70.0% (171 of 244 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/tr/
* Translated using Weblate (Portuguese (Portugal))
Currently translated at 99.5% (243 of 244 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/pt_PT/
* Translated using Weblate (Turkish)
Currently translated at 100.0% (244 of 244 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/tr/
* Translated using Weblate (French)
Currently translated at 52.8% (129 of 244 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/fr/
* Translated using Weblate (French)
Currently translated at 96.2% (26 of 27 strings)
Translation: Auxio/Metadata
Translate-URL: https://hosted.weblate.org/projects/auxio/metadata/fr/
* Translated using Weblate (Italian)
Currently translated at 100.0% (244 of 244 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/it/
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: BMN <weblate@yopmail.com>
Co-authored-by: p4ssen <244045932@qq.com>
Co-authored-by: Bai <batuhanakkurt000@gmail.com>
Co-authored-by: Ettore Atalan <atalanttore@googlemail.com>
Co-authored-by: metezd <itoldyouthat@protonmail.com>
Co-authored-by: ssantos <ssantos@web.de>
Co-authored-by: Ömer Faruk Çakmak <omerfarukckmk@protonmail.com>
Co-authored-by: Max Vyr <maxvy@proton.me>
Co-authored-by: Translator-3000 <weblate.m1d0h@8shield.net>
Add the ability to play or shuffle a selection.
This finally allows "arbitrary" playback to be created from any
combination of songs/albums/artist/genres, rather than just from
pre-defined options.
Resolves#313.
Switch back to using settings-specific listeners rather than the
SharedPreference listener.
Again, this is due to the need to decouple android code from settings.
It also allows us to fully obscure the details of what settings we are
actually working with.
* music: allow editing past queue items
Allow past and currently playing queue items to be edited, instead of
just future queue items.
This was a somewhat requested feature that was impossible with the
prior queue system. With some fixes, the new queue system can now be
used to do this.
This even works with edge cases like removing the currently playing
song. Albeit, it's likely that more bug fixes and testing will be
needed.
Resolves#223.
* Translated using Weblate (Spanish)
Currently translated at 100.0% (244 of 244 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/es/
* Translated using Weblate (Lithuanian)
Currently translated at 100.0% (244 of 244 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/lt/
* Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (244 of 244 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/zh_Hans/
* Translated using Weblate (Czech)
Currently translated at 100.0% (27 of 27 strings)
Translation: Auxio/Metadata
Translate-URL: https://hosted.weblate.org/projects/auxio/metadata/cs/
* Translated using Weblate (Spanish)
Currently translated at 100.0% (27 of 27 strings)
Translation: Auxio/Metadata
Translate-URL: https://hosted.weblate.org/projects/auxio/metadata/es/
* Translated using Weblate (Lithuanian)
Currently translated at 100.0% (27 of 27 strings)
Translation: Auxio/Metadata
Translate-URL: https://hosted.weblate.org/projects/auxio/metadata/lt/
* Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (27 of 27 strings)
Translation: Auxio/Metadata
Translate-URL: https://hosted.weblate.org/projects/auxio/metadata/zh_Hans/
* Translated using Weblate (Czech)
Currently translated at 100.0% (244 of 244 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/cs/
* Translated using Weblate (Croatian)
Currently translated at 100.0% (244 of 244 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/hr/
* Translated using Weblate (Ukrainian)
Currently translated at 26.2% (64 of 244 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/uk/
* Translated using Weblate (Spanish)
Currently translated at 100.0% (244 of 244 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/es/
* Translated using Weblate (Russian)
Currently translated at 99.5% (243 of 244 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/ru/
* Translated using Weblate (Ukrainian)
Currently translated at 51.6% (126 of 244 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/uk/
* Translated using Weblate (Ukrainian)
Currently translated at 96.2% (26 of 27 strings)
Translation: Auxio/Metadata
Translate-URL: https://hosted.weblate.org/projects/auxio/metadata/uk/
* Translated using Weblate (Ukrainian)
Currently translated at 70.9% (173 of 244 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/uk/
* Translated using Weblate (Ukrainian)
Currently translated at 72.5% (177 of 244 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/uk/
* Translated using Weblate (German)
Currently translated at 100.0% (244 of 244 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/de/
* Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (244 of 244 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/pt_BR/
* Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (244 of 244 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/pt_BR/
* Translated using Weblate (Ukrainian)
Currently translated at 100.0% (244 of 244 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/uk/
* Translated using Weblate (Ukrainian)
Currently translated at 100.0% (27 of 27 strings)
Translation: Auxio/Metadata
Translate-URL: https://hosted.weblate.org/projects/auxio/metadata/uk/
* Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (244 of 244 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/pt_BR/
* Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (27 of 27 strings)
Translation: Auxio/Metadata
Translate-URL: https://hosted.weblate.org/projects/auxio/metadata/pt_BR/
* Translated using Weblate (German)
Currently translated at 100.0% (27 of 27 strings)
Translation: Auxio/Metadata
Translate-URL: https://hosted.weblate.org/projects/auxio/metadata/de/
Co-authored-by: Alexander Capehart <alex@oxycblt.org>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: Vaclovas lntas <vaclovas1999@gmail.com>
Co-authored-by: Eric <hamburger2048@users.noreply.hosted.weblate.org>
Co-authored-by: Fjuro <ifjuro@proton.me>
Co-authored-by: Milo Ivir <mail@milotype.de>
Co-authored-by: BMN <weblate@yopmail.com>
Co-authored-by: kirill blaze <kirillblaze2@gmail.com>
Co-authored-by: Ettore Atalan <atalanttore@googlemail.com>
Co-authored-by: Edmundo Nocchi <edmundonocchii@gmail.com>
Co-authored-by: santiago046 <comehere665@gmail.com>
Co-authored-by: qwerty287 <ndev@web.de>
Co-authored-by: Alexander Capehart <oxycblt@abstractr.net>
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.
Refactor the internal tag management portion of MetadataExtractor into a
new "Tags" object that can now be re-used in the ReplayGain system.
This also does a minor rework to the ReplayGain object to make it
totally self-sufficient.
Split off parsing-related components from extractor into a new parsing
module.
A lot of these methods are used in non-extractor code, so it makes more
sense for them to not be part of the extractors.
The code that is really extractor-specific can remain within the
extractor files.
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.
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.
* 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 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.
Implement actions for selections in the home view.
Play selected and shuffle selected have been removed for now until the
queue can be properly reworked
* Translated using Weblate (Croatian)
Currently translated at 100.0% (238 of 238 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/hr/
* Translated using Weblate (Spanish)
Currently translated at 100.0% (238 of 238 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/es/
* Translated using Weblate (Portuguese (Brazil))
Currently translated at 93.2% (222 of 238 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/pt_BR/
* Translated using Weblate (Portuguese (Brazil))
Currently translated at 96.0% (24 of 25 strings)
Translation: Auxio/Metadata
Translate-URL: https://hosted.weblate.org/projects/auxio/metadata/pt_BR/
* Translated using Weblate (Russian)
Currently translated at 100.0% (238 of 238 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/ru/
* Translated using Weblate (Spanish)
Currently translated at 100.0% (238 of 238 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/es/
* Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (238 of 238 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/zh_Hans/
* Translated using Weblate (Czech)
Currently translated at 100.0% (238 of 238 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/cs/
* Translated using Weblate (Russian)
Currently translated at 100.0% (238 of 238 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/ru/
* Translated using Weblate (German)
Currently translated at 100.0% (238 of 238 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/de/
* Translated using Weblate (Spanish)
Currently translated at 100.0% (238 of 238 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/es/
* Translated using Weblate (Lithuanian)
Currently translated at 100.0% (238 of 238 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/lt/
* Translated using Weblate (Croatian)
Currently translated at 100.0% (238 of 238 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/hr/
Co-authored-by: Milo Ivir <mail@milotype.de>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: Edmundo Nocchi <edmundonocchii@gmail.com>
Co-authored-by: Evgeniy Khramov <thejenjagamertjg@gmail.com>
Co-authored-by: Eric <hamburger1024@duck.com>
Co-authored-by: Fjuro <ifjuro@proton.me>
Co-authored-by: qwerty287 <ndev@web.de>
Co-authored-by: Vaclovas lntas <vaclovas1999@gmail.com>
Remove childish wording/diatribes from the codebase that were added
when I was younger.
I'm an adult now. I have to make this repository at least somewhat
professional.
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.
Animate the check mark and background change when a item is selected.
This produces a nicer UX overall. If possible, I'm planning to also
port this to the other indicators in ImageGroup, albeit doing that is
signifigantly harder.
Redefine the meaning of activation across the app to align with the SDK
documentation.
According to the documentation:
- Activation -> A permanent kind of selection initiated by the user.
This means playback states, item selection, etc.
- Selection -> A transient kind of selection that can be added or
removed without user input. This includes things such as playing
indicators.
Redefine usages of selection and activation across the app to align
with this.
* Translated using Weblate (Czech)
Currently translated at 100.0% (238 of 238 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/cs/
* Translated using Weblate (Spanish)
Currently translated at 100.0% (238 of 238 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/es/
* Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (238 of 238 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/zh_Hans/
* Added translation using Weblate (Malayalam)
* Translated using Weblate (Czech)
Currently translated at 100.0% (238 of 238 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/cs/
* Translated using Weblate (German)
Currently translated at 100.0% (238 of 238 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/de/
* Translated using Weblate (Spanish)
Currently translated at 100.0% (238 of 238 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/es/
* Translated using Weblate (Korean)
Currently translated at 100.0% (238 of 238 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/ko/
* Translated using Weblate (Portuguese (Portugal))
Currently translated at 85.7% (204 of 238 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/pt_PT/
* Translated using Weblate (Russian)
Currently translated at 97.0% (231 of 238 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/ru/
* Translated using Weblate (Russian)
Currently translated at 97.0% (231 of 238 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/ru/
* Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (238 of 238 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/zh_Hans/
* Translated using Weblate (Lithuanian)
Currently translated at 100.0% (238 of 238 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/lt/
* Translated using Weblate (Italian)
Currently translated at 100.0% (238 of 238 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/it/
* Translated using Weblate (Russian)
Currently translated at 99.5% (237 of 238 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/ru/
Co-authored-by: Fjuro <ifjuro@proton.me>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: Eric <hamburger1024@mailbox.org>
Co-authored-by: qwerty287 <ndev@web.de>
Co-authored-by: Sabrina <hello@cherryband.space>
Co-authored-by: ssantos <ssantos@web.de>
Co-authored-by: Is that matters? <werentyou@proton.me>
Co-authored-by: Yegor Kazantsev <wwwadmin@bk.ru>
Co-authored-by: Vaclovas lntas <vaclovas1999@gmail.com>
Co-authored-by: Translator-3000 <weblate.m1d0h@8shield.net>
Co-authored-by: Егор Ермаков <eg.ermakov2016@yandex.ru>
Rework the music picker system to be a reactive, viewmodel-based system
instead of a janky UI system.
This should make it much easier to maintain and extend in the future.
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.
Try to move multi-artist playback/navigation into a single function.
This function is really bad and is tacked onto the most convienent
location without much thought. I really wish to move this into the
ViewModel flow eventually, but I have no idea how to architecture
that. Oh well.
* Translated using Weblate (Romanian)
Currently translated at 32.1% (75 of 233 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/ro/
* Translated using Weblate (German)
Currently translated at 100.0% (233 of 233 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/de/
* Translated using Weblate (Romanian)
Currently translated at 47.6% (111 of 233 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/ro/
* Translated using Weblate (Romanian)
Currently translated at 100.0% (24 of 24 strings)
Translation: Auxio/Metadata
Translate-URL: https://hosted.weblate.org/projects/auxio/metadata/ro/
* Translated using Weblate (Czech)
Currently translated at 100.0% (233 of 233 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/cs/
* Translated using Weblate (Italian)
Currently translated at 100.0% (233 of 233 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/it/
* Translated using Weblate (Korean)
Currently translated at 100.0% (233 of 233 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/ko/
* Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (233 of 233 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/zh_Hans/
* Translated using Weblate (Lithuanian)
Currently translated at 100.0% (233 of 233 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/lt/
* Translated using Weblate (Spanish)
Currently translated at 100.0% (233 of 233 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/es/
* Translated using Weblate (Russian)
Currently translated at 95.2% (222 of 233 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/ru/
* Translated using Weblate (Spanish)
Currently translated at 100.0% (233 of 233 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/es/
* Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (233 of 233 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/zh_Hans/
* Translated using Weblate (Czech)
Currently translated at 100.0% (233 of 233 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/cs/
* Translated using Weblate (Russian)
Currently translated at 96.5% (225 of 233 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/ru/
Co-authored-by: alex <hdhdhfhfbbffhhfhfjfjf@gmail.com>
Co-authored-by: qwerty287 <ndev@web.de>
Co-authored-by: Fjuro <ifjuro@proton.me>
Co-authored-by: Enrico D'Ortenzio <enrico2588@gmail.com>
Co-authored-by: Hoseok Seo <ddinghoya@gmail.com>
Co-authored-by: Eric <hamburger1024@mailbox.org>
Co-authored-by: Vaclovas lntas <vaclovas1999@gmail.com>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: Егор Ермаков <eg.ermakov2016@yandex.ru>
Co-authored-by: Yegor Kazantsev <wwwadmin@bk.ru>
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).
* Translated using Weblate (Lithuanian)
Currently translated at 78.1% (182 of 233 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/lt/
* Translated using Weblate (Portuguese (Brazil))
Currently translated at 89.2% (208 of 233 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/pt_BR/
* Update translation files
Updated by "Cleanup translation files" hook in Weblate.
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/
* Translated using Weblate (Lithuanian)
Currently translated at 79.6% (184 of 231 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/lt/
* Translated using Weblate (Lithuanian)
Currently translated at 100.0% (231 of 231 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/lt/
* Translated using Weblate (Spanish)
Currently translated at 100.0% (231 of 231 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/es/
* Translated using Weblate (Spanish)
Currently translated at 100.0% (231 of 231 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/es/
* Translated using Weblate (Spanish)
Currently translated at 100.0% (24 of 24 strings)
Translation: Auxio/Metadata
Translate-URL: https://hosted.weblate.org/projects/auxio/metadata/es/
* Translated using Weblate (Lithuanian)
Currently translated at 100.0% (231 of 231 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/lt/
* Translated using Weblate (Czech)
Currently translated at 100.0% (233 of 233 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/cs/
* Translated using Weblate (Spanish)
Currently translated at 100.0% (233 of 233 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/es/
* Translated using Weblate (Romanian)
Currently translated at 31.3% (73 of 233 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/ro/
* Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (233 of 233 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/zh_Hans/
* Added translation using Weblate (Punjabi (Pakistan))
* Translated using Weblate (Punjabi (Pakistan))
Currently translated at 7.7% (18 of 233 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/pa_PK/
* Translated using Weblate (Punjabi (Pakistan))
Currently translated at 95.8% (23 of 24 strings)
Translation: Auxio/Metadata
Translate-URL: https://hosted.weblate.org/projects/auxio/metadata/pa_PK/
Co-authored-by: Vaclovas lntas <vaclovas1999@gmail.com>
Co-authored-by: zaioti <zaioti@tuta.io>
Co-authored-by: Iago <translate@delthia.com>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: Fjuro <ifjuro@proton.me>
Co-authored-by: DavidRLTG <DavidRLTG@protonmail.com>
Co-authored-by: Eric <hamburger1024@mailbox.org>
Co-authored-by: bgo-eiu <huyaqoob+toolforge@gmail.com>
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.
* Update translation files
Updated by "Cleanup translation files" hook in Weblate.
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/
* Update translation files
Updated by "Cleanup translation files" hook in Weblate.
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/
* Translated using Weblate (Czech)
Currently translated at 100.0% (233 of 233 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/cs/
* Translated using Weblate (German)
Currently translated at 100.0% (233 of 233 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/de/
* Translated using Weblate (Korean)
Currently translated at 100.0% (233 of 233 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/ko/
* Translated using Weblate (Polish)
Currently translated at 100.0% (233 of 233 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/pl/
* Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (233 of 233 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/zh_Hans/
* Translated using Weblate (Korean)
Currently translated at 100.0% (24 of 24 strings)
Translation: Auxio/Metadata
Translate-URL: https://hosted.weblate.org/projects/auxio/metadata/ko/
Co-authored-by: Fjuro <ifjuro@proton.me>
Co-authored-by: qwerty287 <ndev@web.de>
Co-authored-by: Hoseok Seo <ddinghoya@gmail.com>
Co-authored-by: Maciej Klupp <maciej.klupp@gmail.com>
Co-authored-by: Eric <hamburger1024@mailbox.org>
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.
* Translated using Weblate (Czech)
Currently translated at 100.0% (235 of 235 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/cs/
* Translated using Weblate (German)
Currently translated at 100.0% (235 of 235 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/de/
* Translated using Weblate (Polish)
Currently translated at 97.4% (229 of 235 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/pl/
* Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (235 of 235 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/zh_Hans/
* Translated using Weblate (Polish)
Currently translated at 98.7% (232 of 235 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/pl/
* Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (235 of 235 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/zh_Hans/
Co-authored-by: Fjuro <ifjuro@proton.me>
Co-authored-by: qwerty287 <ndev@web.de>
Co-authored-by: Maciej Klupp <maciej.klupp@gmail.com>
Co-authored-by: Eric <hamburger1024@mailbox.org>
Co-authored-by: Alexander Capehart <oxycblt@abstractr.net>
Redesign the icon entirely.
Since the next release is 3.0.0, may as well refresh the icon.
- This icon is actually unique and not a reskinned material icon, which
I feel will diffentiate Auxio even more.
- While unique, it also blends into the surrounding app icons a lot
better, especially regarding using stroke/corner sizes.
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.
Keep changes when unshuffling and reshuffling the queue.
This quirk was a hold-over from the old queue system, and now it's
removed.
Note that sorting is still based on parent, and so sort orders might
remain somewhat wonky. I only see myself really tackling that come
gapless playback, as I have to remove that last vestige to get that
system working.
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.
Merge DisplayMode and PlaybackMode into a new class called MusicMode.
Both of these datatypes represented similar things, and thus it's much
easier to make them the same datatype. Moreover, it makes the
forthcoming addition of the music selector much easier if the same
datatype was tied to the representation of music.
This commit also moves around things around the project to be slightly
more coherent.
Refactor all Backend instances into a new package called extractor and
a new structure called "Layer".
Layers are no longer generalized into an interface. Instead, they build
on eachother in order to produce a correct output of raw songs.
One of these layers is a stub class to eventually implement caching.
This changeset also phases out the "Ignore MediaStore tags" setting, as
it is no longer needed.
Add a basic framework for user-customizeable separators.
This is designed to be extendable if needed, albeit the app will likely
only let the user choose between +, ;, /, &, and ,.
Completely rework the ID system to pave the way to MusicBrainz ID
support and greatly increase ID integrity in general.
This changeset removes the old ID field, an emulation of a polynomial
hash that was used in all items, and replaces it with a new type called
UID that is specific to Music. Other types just use plain equals now,
and most instances of "id" to check for equality in the app have either
been inlined into an equals override or removed outright.
The new UID format is as follows:
datatype/format:uuid
Datatype is a tag that is just the lowercase tag name. For example,
"song". Format is the program that created the UID. auxio will be an
md5 hash, and musicbrainz will the a musicbrainz ID extracted from a
file. UUID is the uuid itself.
This is much more reliable and extendable than the old ID format. This
will also be the last time I break compat with old ID formats. From now
on, a legacy UID field will not be included to enable backwards compat,
when the time comes for a breaking change.
Make the playing indicator animate when playback is ongoing.
Previously state issues stopped me from doing this, but apparently this
time I miraculously got it working. Yay.
Resolves#218.
Revert the song menu in the playback panel to being in the toolbar.
It was mostly inconsistent and cause a lot of truncation. I'll figure
out what I want to do when I implement liked songs.
Add a fast scroller to the queue view.
This is actually easy to implement without disruption. Now the detail
view is the only view without such a fast scroller, as it needs more
reworks for it to be feasible.
Make the shape of the play/pause buttons throughout the app morph from
a circle if paused to a square if playing.
Android 13 seemingly does this to their play/pause button, so we copy
it too.
Tangentally related to #162.
Migrate MediaSessionComponent to android 13.
This was primarily implementing custom actions with the media session
and adding some extra bug fixes that I was already planning. I was
really hoping that google fixes the nightmarish mess that was the
previous MediaStyle notification, where I had to update the session
and then the notification in a tight dance with clever tricks to not
get rate-limited, but nope. I still have to do exactly the same thing
as beforehand, but with even extra insanity due to the custom actions.
Auxio tried to leverage built-in android string attributes for Ok and
Cancel while still completing them for other translations that were not
supported by the OS.
Turns out this was a terrible idea when I switched to Weblate, which
has no knowledge of this trick and could lead to a misleading
translation value. Remove it.
Resolves#215.
* Translated using Weblate (Czech)
Currently translated at 100.0% (222 of 222 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/cs/
* Translated using Weblate (Portuguese (Brazil))
Currently translated at 89.6% (199 of 222 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/pt_BR/
* Translated using Weblate (Russian)
Currently translated at 98.6% (219 of 222 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/ru/
* Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (222 of 222 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/zh_Hans/
Co-authored-by: Fjuro <fjuro@seznam.cz>
Co-authored-by: Luiz-bro <luiznneto1@gmail.com>
Co-authored-by: Егор Ермаков <eg.ermakov2016@yandex.ru>
Co-authored-by: Eric <alchemillatruth@purelymail.com>
Move all menu functionality from long-click to a menu button.
This is in preparation for #93, as I need to free up the long-click
for a selection option. The spacing isn't really consistent at all,
but that's because I wanted to make something that looks right
depending on the context.
Re-add the song menu option to the title section of the playback view.
This is again, due to the addition of the equalizer button, but also to
make this menu easier to reach.
Replace the song options button in the playback menu with a button that
opens the equalizer.
I plan to re-introduce the song options in another location.
Remove the "Off" ReplayGain setting, as it is mostly meaningless.
Users who don't want ReplayGain can remove the tags from their files.
No efficiency benefits either since the audio processor is always
disabled without replaygain tags. It is better not to confuse users
who do have ReplayGain but wonder why it is not working on their
files because the setting is off.
* Translated using Weblate (Czech)
Currently translated at 100.0% (218 of 218 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/cs/
* Translated using Weblate (German)
Currently translated at 100.0% (218 of 218 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/de/
* Translated using Weblate (Russian)
Currently translated at 99.0% (216 of 218 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/ru/
* Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (218 of 218 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/zh_Hans/
* Translated using Weblate (Czech)
Currently translated at 100.0% (21 of 21 strings)
Translation: Auxio/Metadata
Translate-URL: https://hosted.weblate.org/projects/auxio/metadata/cs/
* Translated using Weblate (Russian)
Currently translated at 99.0% (217 of 219 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/ru/
* Translated using Weblate (Greek)
Currently translated at 43.8% (96 of 219 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/el/
* Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (219 of 219 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/zh_Hans/
* Translated using Weblate (Spanish)
Currently translated at 99.0% (217 of 219 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/es/
* Translated using Weblate (Greek)
Currently translated at 55.2% (121 of 219 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/el/
* Translated using Weblate (Czech)
Currently translated at 100.0% (219 of 219 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/cs/
* Translated using Weblate (Croatian)
Currently translated at 100.0% (219 of 219 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/hr/
Co-authored-by: Fjuro <fjuro@seznam.cz>
Co-authored-by: qwerty287 <ndev@web.de>
Co-authored-by: Егор Ермаков <eg.ermakov2016@yandex.ru>
Co-authored-by: Clyde Johanson <johnson.hu95@gmail.com>
Co-authored-by: lunand <paulefstathiou2009@gmail.com>
Co-authored-by: Eric <alchemillatruth@purelymail.com>
Co-authored-by: Iago <translate@delthia.com>
Co-authored-by: Milo Ivir <mail@milotype.de>
Co-authored-by: Alexander Capehart <oxycblt@abstractr.net>
Add the ability to customize the bar action to the repeat mode or
shuffle state.
This is a much smaller implementation than what I planned, mostly
because other options did not make much sense (queue) or were
superceded by better options (clear state).
Resolves#108.
Update transitions in the home fragment to X-axis.
I noticed a visual issue in the detail transition in the existing
version stemming from how the main fragment's drawing is clipped by
the bottom sheet, resulting in a less-than-ideal Z-axis transition.
While I wanted to fix this by attempting to switch to inset based
bottom sheet management, I still need to wait for more changes in
order to successfully pull that off, and hence I'll be reverting it
soon.
Moving these transitions to X-axis prevents this visual issue while
still being roughly semantically similar.
Add an item type indicator to the top of the detail header.
This is primarily for release type functionality, but also makes it
more clear the item one is looking at.
Fix an accidental usage of Material3 text styles instead of Auxio.
Left-over from the testing app I did for the new bottom sheets. Stuck
around through some means.
Remove EdgeCoordinatorLayout in favor of using fitsSystemWindows when
needed.
EdgeCoordinatorLayout was derived from a misunderstanding about how
window insets worked. Remove it.
Fix lints that have accumulated over time.
Apparently Android Studio just...stopped using lints. For no reason. I
had to upgrade to the beta version to actually get lints.
Leverage min heights for the playback layouts instead of the land
modifier.
This prevents an issue where some split-screen displays won't use the
correct "compact" layout.
Add a split playback UI in landscape mode.
Apparently the mere act of doing this also fixes the infurating
window inset issue I previously did either. Odd.
Make bottom sheets request window insets when they are laid out.
For some insane reason, bottom sheets are just not given window insets
when the device is rotated in the detail view. Appaently requesting them
fixes it all of a sudden.
Remove useless id fields from Headers, replacing them with vlaues
related to their string resource.
String resources and disc numbers are more or less garunteed to be
unique in Auxio's context.
Indicate the currently playing item in the queue list.
The item is still disabled, however it's also simultaniously activated
now, which allows it to indicate that it is playing.
Fix two issues where Auxio's widget could not be resized to a single
cell, and another where covers would not load into the widget.
The first is caused by a random, subtle change that completely changed
up the minHeight size calculation regarding widgets. Thus, we need to
lower it for android to recognize it still as 1 cell. I cannot believe
we can't just specify the specific minimum grid size that our widget
takes up, like you know, iOS did, nearly a decade after widgets were
first added in Android.
The second is an absurd race condition stemming from me hitting the
RemoteViews memory limit. Turns out my cover bitmaps were simply too
big. Getting them below the limit requires me to resize them to a puny
~500 pixels. Why can't we just render our own views into our widget?
You know, like iOS did, nearly a decade after widgets were first added
to Android.
Nah, screw modernizing the broken widget API. Let's just vaguely copy
iOS widgets because we have to while not fixing a single issue plaguing
widget development on this OS. That way some google engineer can get
promoted faster.
Re-implement the queue, now leveraging a bottom sheet too.
This makes the queue much easier to open, and actually plays along with
the new transition system. I really hope this doesn't have a stupid
gotcha that ruins the UX. Please. Please. Please.
Use BottomSheetBehavior with the playback sheet.
This is the result of two weeks of painful hacking to get a working
implementation that did not immediately have a brain aneursym. It
also requires me to still vendor BottomSheetBehavior for the time
being. However, this greatly reduces technical issues on my end and
allows the addition of new playback UI concepts, while still
retaining the UI fluidity of prior.
Temporarily remove queue navigation, as it can no longer really fit
with the new transitions.
This will eventually be replaced with a queue bottom sheet, implying
that I can abuse one into working.
Unify the background state layers of the entire app by overriding
colorControlHighlight.
Lots of components still use it, so it's beneficial to make it
consistent with the rest of the app theming.
Rework the queue internally to decouple the queue from playback and
better respond to reshuffling.
This is being implemented under the assumption that I will be
implementing the sliding queue eventually.
Add the ability to jump to arbitrary points in the queue.
This comes at the cost of the long-press option to move items, since
they simply cannot co-exist without visual issues.
Add an option to clear the currently saved playback state.
This does not clear playback entirely, but rather remove the saved
state so that it's not restored on the next startup. This is generally
the cleanest solution compared to allowing state restore to be toggled,
which opens up a bunch of race conditions.
Resolves#107.
Rework album types into release types, with additional support for live
albums, remixes, and mixtapes.
This is not a complete implementation, nor is it meant to be. I don't
want to add technical complexity handling Remix Compilations or
DJ-Mixes unless there is demand.
Update MDC to the alpha version in order to use some extra features.
I was planning to switch to the new MaterialSwitch, but alpha03 has
this insane crippling issue with ripples that blocks such. Use alpha02
and prep the app for the addition of the switch.