Commit graph

2544 commits

Author SHA1 Message Date
Alexander Capehart
194e6b1574
image: introduce cover provider
This will be used to expose image data to android auto.
2025-01-01 14:21:44 -07:00
Alexander Capehart
62e214039f
all: reformat 2025-01-01 13:59:40 -07:00
Alexander Capehart
75455b1b90
musikr: make cover files more concrete
This should allow me to implement a solid ContentProvider.
2025-01-01 13:58:52 -07:00
Alexander Capehart
2401f9031f
music: connect update tracker to service 2025-01-01 13:56:59 -07:00
Alexander Capehart
04e81916f7
all: fix formatting 2025-01-01 13:14:06 -07:00
Alexander Capehart
68098b97ed
music: move automatic reloading to musikr 2025-01-01 13:08:53 -07:00
Alexander Capehart
ef751f1a11
home: add back error screen click handler 2025-01-01 12:24:22 -07:00
Alexander Capehart
c6dc51659b
home: fix loading indicator dimensions 2024-12-28 14:59:42 -07:00
Alexander Capehart
9ccc4cf2ae
home: make loading indicator less intrusive 2024-12-28 14:54:20 -07:00
Alexander Capehart
64ce312976
image: reduce save space cover size
This gets the image storage size down to like 8 megs on my library,
seems solid enough.
2024-12-28 15:22:15 -06:00
Alexander Capehart
25ca3e3046
music: update cover mode settings entry
To use the new values.
2024-12-28 15:20:24 -06:00
Alexander Capehart
e78e71e3a7
image: fix broken cover module 2024-12-28 15:12:10 -06:00
Alexander Capehart
a1cd4f7b26
music: re-add configurable covers 2024-12-28 13:15:44 -06:00
Alexander Capehart
ff6d2fe228
music: move cover impl to image 2024-12-28 09:53:16 -05:00
Alexander Capehart
c6e83d1e18
musikr: introduce null covers
Will be used once covers are made configurable.
2024-12-28 09:51:46 -05:00
Alexander Capehart
d3f4ed5dd4
musikr: separate silo and covers 2024-12-27 15:51:14 -05:00
Alexander Capehart
d964df4616
musikr: fix broken cover cleanup 2024-12-27 15:49:26 -05:00
Alexander Capehart
8b3d7cae9c
musikr: handle missing covers on recaching
Now that we have effectively two caches (The main cache and the covers),
we have to handle the case where we have cached data, but the cover data
is missing. This is a real-world edge case once album covers are made
configurable as they were previously.
2024-12-27 15:11:09 -05:00
Alexander Capehart
32156f23b2
music: introduce siloed covers
Will allow me to dynamically configure cover quality by user settings.
2024-12-27 10:38:38 -05:00
Alexander Capehart
8b58f357cb
musikr: introduce cover cleanup
Helps reduce overall memory use.
2024-12-27 10:06:04 -05:00
Alexander Capehart
7b35ba840b
music: tweak revisioned cover api 2024-12-27 09:51:18 -05:00
Alexander Capehart
0dc72b67af
musikr: introduce cover params 2024-12-26 20:26:04 -05:00
Alexander Capehart
80c97cbea1
musikr: separate cover files/format 2024-12-26 19:54:31 -05:00
Alexander Capehart
b8178056f5
musikr: simplify cover storage boundaries 2024-12-26 19:23:48 -05:00
Alexander Capehart
dc8cbc74e8
all: fix formatting 2024-12-26 18:55:47 -05:00
Alexander Capehart
8d49893309
music: redesign music sources dialog
Now based around a more conventional design now that I no longer
need all the bells and whistles around include/exclude.
2024-12-26 18:22:28 -05:00
Alexander Capehart
75612dd1eb
all: cleanup 2024-12-26 14:04:15 -05:00
Alexander Capehart
61fd11fe04
musikr: refactor cache api
To make the pruning system more agnostic and "extendable"
2024-12-26 13:58:23 -05:00
Alexander Capehart
4f920e922d
musikr: add date added support w/cache
This allows me to replicate something resembling date added
support while reducing query load.
2024-12-26 10:33:50 -05:00
Alexander Capehart
da76a03298
Revert "musikr: add date added support"
This reverts commit ca6388b28d.
2024-12-26 09:04:18 -05:00
Alexander Capehart
ca6388b28d
musikr: add date added support
Through a new `Tracker` interface.

Tracker is kind of a generic name. It's set up in the case that I have
to wind up associating more post-extraction metadata with songs.
2024-12-24 15:24:29 -05:00
Alexander Capehart
7768d98632
musikr.cover: refactor cover
Instead of using a weird sealed class, instead go for a
Cover/CoverCollection system instead that removes some implicit
design dependence in musikr.
2024-12-24 14:43:48 -05:00
Alexander Capehart
a24d102a00
app: reformat 2024-12-24 14:26:18 -05:00
Alexander Capehart
0cfd6ddb67
music: cleanup old cover revisions 2024-12-24 09:54:28 -05:00
Alexander Capehart
9a7b970346
all: update todos 2024-12-23 17:13:55 -05:00
Alexander Capehart
6f8a960ee1
build: share desugaring version 2024-12-21 12:11:32 -05:00
Alexander Capehart
001db620e3
all: reformat 2024-12-21 11:52:28 -05:00
Alexander Capehart
9a38877c2e
musikr: hide cache database 2024-12-21 11:52:28 -05:00
Alexander Capehart
503a4854c3
musikr: hide playlist database 2024-12-21 11:52:28 -05:00
Alexander Capehart
a4cca0ca79
all: remove log.d calls 2024-12-21 11:52:28 -05:00
Weblate (bot)
ef502b6f4a
Translations update from Hosted Weblate (#921)
* Translated using Weblate (Azerbaijani)

Currently translated at 40.5% (124 of 306 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/az/

* Translated using Weblate (Spanish)

Currently translated at 100.0% (312 of 312 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/es/

* 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 (Chinese (Simplified Han script))

Currently translated at 100.0% (307 of 307 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/zh_Hans/

* Translated using Weblate (Portuguese)

Currently translated at 100.0% (307 of 307 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/pt/

* Translated using Weblate (Czech)

Currently translated at 100.0% (307 of 307 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/cs/

* Translated using Weblate (Estonian)

Currently translated at 100.0% (307 of 307 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/et/

* Translated using Weblate (German)

Currently translated at 100.0% (307 of 307 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/de/

* Translated using Weblate (Finnish)

Currently translated at 97.3% (299 of 307 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/fi/

* Translated using Weblate (Finnish)

Currently translated at 97.3% (299 of 307 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/fi/

* Translated using Weblate (Finnish)

Currently translated at 100.0% (307 of 307 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/fi/

* Added translation using Weblate (Latvian)

* Translated using Weblate (Latvian)

Currently translated at 98.1% (53 of 54 strings)

Translation: Auxio/Metadata
Translate-URL: https://hosted.weblate.org/projects/auxio/metadata/lv/

* Translated using Weblate (Finnish)

Currently translated at 100.0% (307 of 307 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/fi/

* Added translation using Weblate (Tamil)

* Translated using Weblate (Tamil)

Currently translated at 100.0% (54 of 54 strings)

Translation: Auxio/Metadata
Translate-URL: https://hosted.weblate.org/projects/auxio/metadata/ta/

* Translated using Weblate (French)

Currently translated at 100.0% (307 of 307 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/fr/

* Translated using Weblate (Tamil)

Currently translated at 100.0% (307 of 307 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/ta/

* Translated using Weblate (Russian)

Currently translated at 98.0% (301 of 307 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/ru/

* Translated using Weblate (Korean)

Currently translated at 100.0% (307 of 307 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/ko/

* Translated using Weblate (Croatian)

Currently translated at 100.0% (307 of 307 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/hr/

* Translated using Weblate (Ukrainian)

Currently translated at 100.0% (307 of 307 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/uk/

* Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (307 of 307 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/nb_NO/

* Translated using Weblate (Ukrainian)

Currently translated at 100.0% (54 of 54 strings)

Translation: Auxio/Metadata
Translate-URL: https://hosted.weblate.org/projects/auxio/metadata/uk/

* Translated using Weblate (Norwegian Nynorsk)

Currently translated at 100.0% (307 of 307 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/nn/

* Translated using Weblate (Ukrainian)

Currently translated at 100.0% (308 of 308 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/uk/

* Translated using Weblate (Spanish)

Currently translated at 100.0% (308 of 308 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/es/

* Translated using Weblate (Czech)

Currently translated at 100.0% (308 of 308 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/cs/

* Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 100.0% (308 of 308 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/zh_Hans/

* Translated using Weblate (Estonian)

Currently translated at 100.0% (308 of 308 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/et/

* Translated using Weblate (Spanish)

Currently translated at 99.6% (310 of 311 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/es/

* Translated using Weblate (Ukrainian)

Currently translated at 100.0% (311 of 311 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/uk/

* Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 100.0% (311 of 311 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/zh_Hans/

* Translated using Weblate (German)

Currently translated at 100.0% (311 of 311 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/de/

* Translated using Weblate (Estonian)

Currently translated at 100.0% (311 of 311 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/et/

* Translated using Weblate (Czech)

Currently translated at 100.0% (311 of 311 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/cs/

* Translated using Weblate (Spanish)

Currently translated at 100.0% (311 of 311 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/es/

* Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (311 of 311 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/pt_BR/

---------

Co-authored-by: Femini <nizamismidov4@gmail.com>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: 大王叫我来巡山 <hamburger2048@users.noreply.hosted.weblate.org>
Co-authored-by: Cleverson Cândido <optimuspraimu@gmail.com>
Co-authored-by: Fjuro <fjuro@alius.cz>
Co-authored-by: Priit Jõerüüt <hwlate@joeruut.com>
Co-authored-by: qwerty287 <qwerty287@posteo.de>
Co-authored-by: Ricky Tigg <ricky.tigg@gmail.com>
Co-authored-by: Riku <riksu9000@gmail.com>
Co-authored-by: Languages add-on <noreply-addon-languages@weblate.org>
Co-authored-by: Deniss Krudd <denisskrudd@gmail.com>
Co-authored-by: தமிழ்நேரம் <anishprabu.t@gmail.com>
Co-authored-by: cwpute <collan+weblate@free.fr>
Co-authored-by: Evgeniy Khramov <65224669+thejenja@users.noreply.github.com>
Co-authored-by: 김인수 <simmon@nplob.com>
Co-authored-by: Milo Ivir <mail@milotype.de>
Co-authored-by: Максим Горпиніч <mgorpinic2005@gmail.com>
Co-authored-by: Sunniva Løvstad <weblate@turtle.garden>
Co-authored-by: santiago046 <comehere665@gmail.com>
2024-12-21 11:36:22 -05:00
Alexander Capehart
2ec3bbbe8c
musikr: hide unstable internals
Hypothetically I'd open these up into a broader API once I can confirm
they are safely extensible.
2024-12-21 11:35:14 -05:00
Alexander Capehart
0f0b7a4a7d
all: reformat 2024-12-20 22:17:08 -05:00
Alexander Capehart
5ff949c49c
home: ratelimit textual progress updates
A la the notification, except on a shorter time internal since
it's more for efficiency rather than avoiding system rate limits.
2024-12-20 22:15:46 -05:00
Alexander Capehart
1843986f75
music: implement revisioned covers 2024-12-20 21:57:16 -05:00
Alexander Capehart
8b69042288
Revert "musikr: bundle cover resolution with key"
This reverts commit 8cc939b58d.
2024-12-20 15:28:25 -05:00
Alexander Capehart
8cc939b58d
musikr: bundle cover resolution with key
This is a partial refactor, I'm still trying to find a good approach to
a revisionable system.
2024-12-20 12:41:14 -05:00
Alexander Capehart
7b1ccfc3fb
all: reformat 2024-12-17 16:05:13 -05:00
Alexander Capehart
a1188b8d4b
music: introduce library revisions
Will be used to maintain image loading consistency even during loads.
2024-12-17 15:40:05 -05:00
Alexander Capehart
3fbb33e3e4
musikr: share more versions with app 2024-12-17 15:25:30 -05:00
Alexander Capehart
993060212b
build: temporarily disable app testing
Not needed right now.
2024-12-17 15:24:48 -05:00
Alexander Capehart
bdfd9d6e23
musikr: move storage/interpretation dependence to construction
This makes some testing and certain code more ergonomic.
2024-12-17 11:45:04 -05:00
Alexander Capehart
f3913b148a
all: reformat 2024-12-17 11:27:25 -05:00
Alexander Capehart
6850a3443f
detail: reimplement song details 2024-12-17 11:26:09 -05:00
Alexander Capehart
ee0c643115
all: reformat 2024-12-16 19:01:22 -05:00
Alexander Capehart
ad183bdbfd
music: add musikr injects 2024-12-16 19:00:22 -05:00
Alexander Capehart
d0845ef325
playback: move pre-amp from music back to rg 2024-12-16 18:47:27 -05:00
Alexander Capehart
b6f6213ac4
all: reformat 2024-12-16 18:46:54 -05:00
Alexander Capehart
6e3b03d4c6
musikr: re-implement playlist loading 2024-12-16 18:46:06 -05:00
Alexander Capehart
00520f7fda
musikr: api fixes 2024-12-16 15:15:30 -05:00
Alexander Capehart
ed102d3414
all: format 2024-12-16 13:34:49 -05:00
Alexander Capehart
18c5b3618c
build: fix spotless config
- Missing NOTICE
- CPP format was going too deep
2024-12-16 13:34:30 -05:00
Alexander Capehart
d4d00249df
musikr: move tag tests away from auxio 2024-12-16 13:27:45 -05:00
Alexander Capehart
e908d0e102
all: break off musikr 2024-12-16 13:09:08 -05:00
Alexander Capehart
f33377cf26
musikr: decouple releasetype from auxio 2024-12-16 12:11:28 -05:00
Alexander Capehart
479dca4452
musikr: decouple m3u from auxio 2024-12-14 15:58:48 -05:00
Alexander Capehart
31e092a649
musikr: indicate song name always known 2024-12-14 15:58:38 -05:00
Alexander Capehart
b5657f0202
musikr: decouple volume from auxio 2024-12-14 15:52:58 -05:00
Alexander Capehart
e9c15bfbef
musikr: decouple date range from auxio 2024-12-14 15:51:52 -05:00
Alexander Capehart
cb84b2db17
musikr: decouple disc from auxio 2024-12-14 15:50:14 -05:00
Alexander Capehart
e3146647d3
musikr: decouple date from auxio 2024-12-14 15:48:05 -05:00
Alexander Capehart
c5cd404393
musikr: decouple name from auxio 2024-12-14 13:41:38 -07:00
Alexander Capehart
de1c091517
musikr: remove trivial auxio dependence
There's still some thorny resource use left over, but this is a good
starting point to start breaking off musikr from auxio.
2024-12-13 20:08:58 -07:00
Alexander Capehart
3da9e6c5b3
musikr: remove musictype auxio dependency 2024-12-13 19:50:45 -07:00
Alexander Capehart
c70c27a7b4
musikr: standardize internal song data structure 2024-12-13 19:44:02 -07:00
Alexander Capehart
9ab4dc5595
musikr: replace mimetype w/format
First property now derived from taglib.
2024-12-13 19:23:42 -07:00
Alexander Capehart
e16b23f34e
musikr: remove di 2024-12-13 18:02:39 -07:00
Alexander Capehart
a2498db6e5
musikr: use uppercase tag names
This reduces the amount of string processing I need to do in
ktaglib.
2024-12-13 16:20:46 -07:00
Alexander Capehart
65151e006f
musikr: start using ktaglib 2024-12-13 13:06:19 -07:00
Alexander Capehart
93a602b592
all: misc cleanup 2024-12-13 11:35:24 -07:00
Alexander Capehart
993dbbf8c1
musikr: fix missing import 2024-12-13 11:35:08 -07:00
Alexander Capehart
a593f2874d
music: fix settings update insanity
For some reason StringSet updates will simply not go to the listener.
Despite it working just fine in previous versions.

I have to derialize all the location to a string and use that.
2024-12-13 11:34:16 -07:00
Alexander Capehart
76eb98c3af
musikr: fix cover file reads
Turns out they were coming from the wrong place.
2024-12-13 11:15:23 -07:00
Alexander Capehart
5fae4601de
music: fix broken location updates 2024-12-13 10:54:14 -07:00
Alexander Capehart
59df1c3d57
musikr: start unwinding di use
Musikr is eventually going to be an entirely independent gradle module
with a DI-agnostic API, start removing some of the directives (but not
all since some are kinda thorny to untangle)
2024-12-13 08:32:30 -07:00
Alexander Capehart
55e77707ea
ktaglib: scaffold jni impl 2024-12-12 13:17:03 -07:00
Alexander Capehart
1c85dc96e0
ktaglib: import taglib into project
This is getting out of hand. Anything for speed.
2024-12-12 12:05:22 -07:00
Alexander Capehart
d3f75439fc
musikr: create required dirs for cover files 2024-12-11 17:39:34 -07:00
Alexander Capehart
63193809b0
image: remove unused null cover branch 2024-12-11 17:39:17 -07:00
Alexander Capehart
88f43a7906
musikr: fix unpopulated presong cover 2024-12-11 17:39:06 -07:00
Alexander Capehart
6d85f43304
image: connect cover back up 2024-12-11 17:38:42 -07:00
Alexander Capehart
0ce3a11f82
musikr: re-connect cover to model 2024-12-11 17:16:34 -07:00
Alexander Capehart
cf69b27134
musikr: add cover to evaluation process 2024-12-11 17:12:29 -07:00
Alexander Capehart
8b4672ea50
musikr: cleanup cache db 2024-12-11 17:10:12 -07:00
Alexander Capehart
f13c1e364b
musikr: add cover key to cache 2024-12-11 17:08:35 -07:00
Alexander Capehart
42390f4b3f
music: move cover parsing to indexing
This drastically slows music loading, but my hope is that in practice
most of the slowdown is actually in ExoPlayer's metadata extractor and
if I switch off of that things will actually improve. Maybe.
2024-12-11 16:55:37 -07:00
Alexander Capehart
b53b7a0c6a
all: temp fix build issues 2024-12-11 13:18:22 -07:00
Alexander Capehart
530d8cc2b5
musikr: remove di requirement from tagcache 2024-12-11 06:58:42 -07:00
Alexander Capehart
45ead8253a
music: prepare new cover system 2024-12-10 07:02:37 -07:00
Alexander Capehart
8adda19d1a
musikr: add new storage config
Allowed TagCache to be configured alongside a new StoredCovers
(to be implemented later)
2024-12-09 16:06:53 -07:00
Alexander Capehart
df1faa11e4
musikr: fix various loading bugs 2024-12-09 13:06:25 -07:00
Alexander Capehart
2592aca4bf
musikr: refactor root module 2024-12-09 09:55:44 -07:00
Alexander Capehart
3528392f95
musikr: rename indexer to musikr 2024-12-09 08:58:45 -07:00
Alexander Capehart
0f8294bf43
musikr: refactor fs
- Move MimeType back into fs
- Move DeviceFiles into a new query module
2024-12-09 08:55:48 -07:00
Alexander Capehart
501c79d23c
musikr: refactor model 2024-12-09 08:44:56 -07:00
Alexander Capehart
1d0ad641d5
all: fix various build/test issues 2024-12-09 08:13:47 -07:00
Alexander Capehart
efceefc221
musikr: break apart storageutil 2024-12-09 07:17:40 -07:00
Alexander Capehart
ced2adb2c6
all: cleanup 2024-12-09 07:15:32 -07:00
Alexander Capehart
c270759dec
musikr: improve music location creation 2024-12-07 17:19:30 -07:00
Alexander Capehart
2a38d1ae8d
musikr: break apart Fs.kt 2024-12-07 11:49:43 -07:00
Alexander Capehart
3eaa96ffda
music: split off music location into musikr 2024-12-07 11:46:38 -07:00
Alexander Capehart
abeabcb8df
musikr: split off from auxio 2024-12-07 09:51:16 -07:00
Alexander Capehart
75c2d7cd16
musikr: re-add loading progress 2024-12-07 08:41:32 -07:00
Alexander Capehart
970fdb2a8d
musikr: introduce new graphing system
This does all the required simpification steps as before, but now
creates mutual edges between parent and child items that removes
the finicky finalization logic in models.
2024-12-07 08:41:28 -07:00
Alexander Capehart
7f7ee94f45
musikr: restructure loader into pipeline 2024-12-04 15:08:49 -07:00
Alexander Capehart
7582c8c9cf
music: reorganize metadata/tag/model structure 2024-12-02 14:22:38 -07:00
Alexander Capehart
59652b2f9b
image: collapse cache into musikr
(Will be integrated into loader later)
2024-11-30 19:21:29 -07:00
Alexander Capehart
49aa3c2891
music: collapse external into musikr 2024-11-30 17:28:33 -07:00
Alexander Capehart
43c05e7096
music: collapse metadata into musikr 2024-11-30 17:25:58 -07:00
Alexander Capehart
dfff01bd28
music: move other metadata into model 2024-11-30 17:24:17 -07:00
Alexander Capehart
523d3cdd30
musikr: flatten modules 2024-11-30 17:05:13 -07:00
Alexander Capehart
86a77bc19b
music: break off stack into musikr
Will become it's own separate module later.
2024-11-30 11:37:18 -07:00
Alexander Capehart
e647c31c56
music: use unlimited buffer for caching 2024-11-29 16:32:17 -07:00
Alexander Capehart
a3da28fb84
music: enable tag caching 2024-11-29 16:29:00 -07:00
Alexander Capehart
a22e972bd3
image: refactor transcoding
- Don't transcode into memory
- Make AppFiles (now CoverFiles) handle transcoding
- Don't bother transcoding if no work needs to be done
2024-11-29 14:58:50 -07:00
Alexander Capehart
6b8b147721
image: improve cover cache design
- Don't send around InputStreams when really we are extracting ByteArray
- Hash with MD5, which should be a good enough tm hash even if easily
collideable
- Split off cover identification into another object
2024-11-29 13:28:05 -07:00
Alexander Capehart
e061f7cb26
image: further improve cover caching
- Don't rewrite files if they already exist
- Use webp compression
- Downsize cover images to save memory
2024-11-29 13:17:06 -07:00
Alexander Capehart
c74c62d9b3
image: fix bitmapprovider covers 2024-11-29 13:16:43 -07:00
Alexander Capehart
3dbe06c0bc
music: use aosp covers by default
Less good, but it's also far more memory efficient.
2024-11-29 10:12:10 -07:00
Alexander Capehart
f57ee549f1
image: cleanup cache 2024-11-29 10:12:03 -07:00
Alexander Capehart
ab442f99c1
image: remove dead code 2024-11-29 10:06:26 -07:00
Alexander Capehart
1a3fe7c075
image: refactor module
- All old extractor stuff is now a module called coil
- Moved Cover out of the coil module
2024-11-29 09:59:31 -07:00
Alexander Capehart
b832ac8639
music: make caching thread safe 2024-11-29 09:50:09 -07:00
Alexander Capehart
c3f9f0d80e
image: use cover retriever in app 2024-11-29 09:49:45 -07:00
Alexander Capehart
ddfe10b869
home: fix no music indicator 2024-11-29 09:48:26 -07:00
Alexander Capehart
7a7774a4db
image: implement extractors and new cover data 2024-11-27 20:12:11 -07:00
Alexander Capehart
37697abfce
music: introduce new image loader cache
This will be used with the new SAF-loaded music files to show covers.
2024-11-27 17:48:16 -07:00
Alexander Capehart
b30aba4bdf
music: add last modified to song 2024-11-27 17:47:42 -07:00
Alexander Capehart
a30e6db71d
music: fix in-process grouping problems
Parent objects cannot process anything related to eachother until
finalize without causing set issues, fix that
2024-11-27 15:20:03 -07:00
Alexander Capehart
1b295934e0
music: use unlimited buffering in loader 2024-11-27 15:18:55 -07:00
Alexander Capehart
d52e301751
music: try to fix extractor thread starvation 2024-11-27 15:18:34 -07:00
Alexander Capehart
ffaff6f08e
settings: fix broken count icon tints 2024-11-27 09:49:43 -07:00
Alexander Capehart
c9d370048f
playback: fix broken repeat one tint 2024-11-27 09:49:33 -07:00
Alexander Capehart
b31562e250
home: make no music indicator follow edge-to-edge 2024-11-27 09:47:09 -07:00
Alexander Capehart
e0bbb88e92
music: only compute song uid once 2024-11-27 09:46:59 -07:00
Alexander Capehart
dd3b411beb
home: fix no music indicator display 2024-11-27 09:46:46 -07:00
Alexander Capehart
ae449ded45
music: emulate old music loading process 2024-11-27 09:40:59 -07:00
Alexander Capehart
c74b744aec
music: temp populate cover field
Again, will reimpl later
2024-11-26 20:19:08 -07:00
Alexander Capehart
c87ff7bb92
music: grant correct tree uri perms
Will refactor later just want stuff to work
2024-11-26 20:16:06 -07:00
Alexander Capehart
dba11a61b4
music: indicate interpreted song artists
Kind of stupid, but since I don't really have a good streaming
representation of interpreting progress yet this is what worksbest.
2024-11-26 20:14:36 -07:00
Alexander Capehart
1962fbe70a
music: emit indexing completion at end 2024-11-26 20:14:18 -07:00
Alexander Capehart
cc9bb167c4
music: fix device files uris 2024-11-26 20:13:53 -07:00
Alexander Capehart
ec19808cf1
music: use old chunked retriever in extractor 2024-11-26 20:13:24 -07:00
Alexander Capehart
144da8a3b5
music: temp strip down explorer & fix threading
Mostly for continued debugging
2024-11-26 20:13:04 -07:00
Alexander Capehart
ba5f51dfe6
music: init loading progress at start 2024-11-26 20:12:44 -07:00
Alexander Capehart
6e4e818fd4
music: implement music locations dialog 2024-11-26 15:20:51 -07:00
Alexander Capehart
38ed432555
home: reflect no music state in tabs 2024-11-26 14:53:31 -07:00
Alexander Capehart
4618996fc5
music: integrate new loader into services 2024-11-26 13:55:37 -07:00
Alexander Capehart
b0c6dd2b74
music: improve indexing progress 2024-11-26 13:11:08 -07:00
Alexander Capehart
0ba5ddce51
music: re-add library find functionality 2024-11-26 10:08:14 -07:00
Alexander Capehart
9d9f810356
music: re-add song deduplication 2024-11-26 10:05:17 -07:00
Alexander Capehart
3bf80073f4
music: fix indexing updates 2024-11-26 10:05:02 -07:00
Alexander Capehart
2f9ced2ac3
music: re-add event handling
Kinda scuffed, will probably split into low-level events
and do the MusicRepository interpret step in Indexer.
2024-11-26 09:54:52 -07:00
Alexander Capehart
ba29905aa6
music: connect new loader to rest of app 2024-11-26 09:35:14 -07:00
Alexander Capehart
e3d6644634
music: implement album linking 2024-11-25 20:24:21 -07:00
Alexander Capehart
608e249a87
music: fix extractor module 2024-11-25 20:24:13 -07:00
Alexander Capehart
9a990096da
music: fix genre linker issues 2024-11-25 20:24:06 -07:00
Alexander Capehart
c7f4f842f3
music: implement artist linking 2024-11-25 20:23:51 -07:00
Alexander Capehart
db391da4b8
music: implement genre linking 2024-11-25 16:34:02 -07:00
Alexander Capehart
d633a6b9f1
music: refactor tag extraction
- Include MediaMetadataRetriever use
- Separate interpretation into extension functions
- AudioFile is now immutable
- Removed any type of progressive AudioFile preparation
(like in the old loader)
2024-11-25 12:55:17 -07:00
Alexander Capehart
73ff7e2c7f
music: connect stored playlists to loader 2024-11-25 10:19:16 -07:00
Alexander Capehart
c4f4797028
music: build saf loader playlist boilerplate 2024-11-23 17:18:02 -07:00
Alexander Capehart
ba9ab5a445
music: refactor new stack 2024-11-23 10:02:56 -07:00
Alexander Capehart
517da485e1
Introduce Interpreter
This is utterly broken and mostly a starting point for future
refactoring.
2024-11-23 10:02:56 -07:00
Weblate (bot)
c022be6e4d
Translations update from Hosted Weblate (#903)
* Translated using Weblate (Italian)

Currently translated at 99.6% (302 of 303 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/it/

* Translated using Weblate (Italian)

Currently translated at 100.0% (54 of 54 strings)

Translation: Auxio/Metadata
Translate-URL: https://hosted.weblate.org/projects/auxio/metadata/it/

* Translated using Weblate (Albanian)

Currently translated at 23.1% (70 of 303 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/sq/

* Translated using Weblate (Russian)

Currently translated at 100.0% (303 of 303 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/ru/

* Translated using Weblate (Ukrainian)

Currently translated at 100.0% (303 of 303 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/uk/

* Translated using Weblate (Belarusian)

Currently translated at 100.0% (303 of 303 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/be/

* Translated using Weblate (Albanian)

Currently translated at 27.3% (83 of 303 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/sq/

* Translated using Weblate (Albanian)

Currently translated at 40.2% (122 of 303 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/sq/

* Translated using Weblate (Spanish)

Currently translated at 100.0% (306 of 306 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/es/

* Translated using Weblate (Estonian)

Currently translated at 100.0% (306 of 306 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/et/

* Translated using Weblate (Czech)

Currently translated at 100.0% (306 of 306 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/cs/

* Translated using Weblate (German)

Currently translated at 100.0% (306 of 306 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/de/

* Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 100.0% (306 of 306 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/zh_Hans/

* Translated using Weblate (Azerbaijani)

Currently translated at 98.1% (53 of 54 strings)

Translation: Auxio/Metadata
Translate-URL: https://hosted.weblate.org/projects/auxio/metadata/az/

* Translated using Weblate (Albanian)

Currently translated at 65.6% (201 of 306 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/sq/

* Translated using Weblate (Portuguese (Brazil))

Currently translated at 99.6% (305 of 306 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/pt_BR/

* Translated using Weblate (Azerbaijani)

Currently translated at 20.5% (63 of 306 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/az/

* Translated using Weblate (Albanian)

Currently translated at 67.3% (206 of 306 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/sq/

* Update translation files

Updated by "Remove blank strings" hook in Weblate.

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/

* Translated using Weblate (French)

Currently translated at 99.0% (303 of 306 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/fr/

* Translated using Weblate (Albanian)

Currently translated at 100.0% (306 of 306 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/sq/

* Translated using Weblate (Azerbaijani)

Currently translated at 32.6% (100 of 306 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/az/

* Translated using Weblate (Bulgarian)

Currently translated at 100.0% (306 of 306 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/bg/

* Translated using Weblate (Polish)

Currently translated at 100.0% (306 of 306 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/pl/

* Translated using Weblate (Azerbaijani)

Currently translated at 37.9% (116 of 306 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/az/

* Translated using Weblate (Polish)

Currently translated at 100.0% (54 of 54 strings)

Translation: Auxio/Metadata
Translate-URL: https://hosted.weblate.org/projects/auxio/metadata/pl/

* Translated using Weblate (French)

Currently translated at 99.6% (305 of 306 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/fr/

* Translated using Weblate (Japanese)

Currently translated at 93.1% (285 of 306 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/ja/

* Translated using Weblate (Portuguese)

Currently translated at 100.0% (306 of 306 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/pt/

* Translated using Weblate (Norwegian Bokmål)

Currently translated at 97.7% (299 of 306 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/nb_NO/

* Translated using Weblate (Norwegian Bokmål)

Currently translated at 98.0% (300 of 306 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/nb_NO/

* Added translation using Weblate (Norwegian Nynorsk)

* Translated using Weblate (Norwegian Bokmål)

Currently translated at 98.0% (300 of 306 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/nb_NO/

* Translated using Weblate (Norwegian Nynorsk)

Currently translated at 37.9% (116 of 306 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/nn/

* Translated using Weblate (Croatian)

Currently translated at 100.0% (306 of 306 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/hr/

* Translated using Weblate (Norwegian Bokmål)

Currently translated at 98.0% (300 of 306 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/nb_NO/

* Translated using Weblate (Norwegian Nynorsk)

Currently translated at 100.0% (306 of 306 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/nn/

* Translated using Weblate (Filipino)

Currently translated at 98.1% (53 of 54 strings)

Translation: Auxio/Metadata
Translate-URL: https://hosted.weblate.org/projects/auxio/metadata/fil/

---------

Co-authored-by: Lam <lambdamutau@proton.me>
Co-authored-by: D <dici.handy@gmail.com>
Co-authored-by: Макар Разин <makarrazin14@gmail.com>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: Priit Jõerüüt <hwlate@joeruut.com>
Co-authored-by: Fjuro <fjuro@alius.cz>
Co-authored-by: qwerty287 <qwerty287@posteo.de>
Co-authored-by: 大王叫我来巡山 <hamburger2048@users.noreply.hosted.weblate.org>
Co-authored-by: Femini <nizamismidov4@gmail.com>
Co-authored-by: Lucas Lopes <weblate.dusk390@slmail.me>
Co-authored-by: trunars <trunars@gmail.com>
Co-authored-by: Oliwier Czerwiński <oliwier.czerwi@proton.me>
Co-authored-by: J. Lavoie <j.lavoie@net-c.ca>
Co-authored-by: Meteor2 <ryumeteor175@gmail.com>
Co-authored-by: Cleverson Cândido <optimuspraimu@gmail.com>
Co-authored-by: Sunniva Løvstad <weblate@turtle.garden>
Co-authored-by: Languages add-on <noreply-addon-languages@weblate.org>
Co-authored-by: sunniva <sunniva@users.noreply.hosted.weblate.org>
Co-authored-by: Milo Ivir <mail@milotype.de>
Co-authored-by: Nathan Paqueen <natesisgreatatpotato@gmail.com>
2024-11-20 18:07:02 -07:00
Alexander Capehart
806fabc89a
music: rename indexer -> indexing holder 2024-11-19 17:52:44 -07:00
Alexander Capehart
556c5d5e0a
all: eliminate refactor errors 2024-11-19 17:50:56 -07:00
Alexander Capehart
f76eafc9d4
music: connect saf indexer to libraries
Largely temporary, to be replaced with Interpreter
2024-11-19 15:17:05 -07:00
Alexander Capehart
e51b2817e9
music: merge metadata into stack 2024-11-19 14:44:37 -07:00
Alexander Capehart
cdc5a37bfa
music: merge fs into stack 2024-11-19 14:42:12 -07:00
Alexander Capehart
b651a3be03
music: refactor saf loader into new module 2024-11-19 13:37:57 -07:00
Alexander Capehart
01a5e87a77
music: introduce saf tag cache 2024-11-19 13:19:42 -07:00
Alexander Capehart
53d0dbd0cb
music: introduce saf-based tag extractor 2024-11-19 10:16:29 -07:00
Alexander Capehart
cadd2d1231
music: use saf fields in raw song 2024-11-19 10:16:09 -07:00
Alexander Capehart
5b447f7efb
music: include path with loaded saf files 2024-11-15 12:11:57 -07:00
Alexander Capehart
300f26739d
music: introduce saf explorer
No functionality right now
2024-11-13 10:09:50 -07:00
Alexander Capehart
4d27c444de
all: reformat 2024-11-13 10:04:58 -07:00
Alexander Capehart
f783a9c32f
image: use coil3 2024-11-11 11:51:26 -07:00
Alexander Capehart
85bd1f0062
detail: fix play icon alignment 2024-11-07 23:52:50 -07:00
Alexander Capehart
d6e09dcf2a
music: new fuzzy grouper
New fuzzy grouper that:
1. Does not eagerly group by MBID unless fully tagged
2. Does not eagerly group by artist by default
2024-11-07 23:25:17 -07:00
Alexander Capehart
c2d18b77f6
build: downgrade androidx fragment
Again, more predictive back issues.
2024-11-07 20:59:31 -07:00
Alexander Capehart
fe6c07a342
recycler: redesign fast scroller
- Use new "bump" design
- Base off fundamental RV primitives over custom item
calculations
- Make possible to use by non-home views
2024-11-07 20:52:48 -07:00
Alexander Capehart
8ec61c9388
list: prevent recycler scroll jumping in main 2024-11-07 13:48:54 -07:00
Alexander Capehart
1d19d00798
detail: add icons to play/shuffle 2024-11-07 13:42:55 -07:00
Alexander Capehart
211b815a20
ui: handle round mode again 2024-11-07 13:38:54 -07:00
Alexander Capehart
f25c98aa7e
build: bump deps 2024-11-07 13:12:05 -07:00
Alexander Capehart
2db23369e3
ui: update themes to m3.1 2024-11-07 13:09:37 -07:00
Alexander Capehart
075f6c3da3
build: update deps 2024-10-31 15:38:51 -06:00
Alexander Capehart
d06dd59386
about: add feedback options 2024-10-31 15:31:23 -06:00
Weblate (bot)
022fe9ae1b
Translations update from Hosted Weblate (#874)
* Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (302 of 302 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% (50 of 50 strings)

Translation: Auxio/Metadata
Translate-URL: https://hosted.weblate.org/projects/auxio/metadata/pt_BR/

* Translated using Weblate (Estonian)

Currently translated at 100.0% (50 of 50 strings)

Translation: Auxio/Metadata
Translate-URL: https://hosted.weblate.org/projects/auxio/metadata/et/

* Translated using Weblate (Estonian)

Currently translated at 100.0% (302 of 302 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/et/

* Translated using Weblate (German)

Currently translated at 100.0% (302 of 302 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/de/

* Translated using Weblate (Finnish)

Currently translated at 98.6% (298 of 302 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/fi/

* Translated using Weblate (French)

Currently translated at 100.0% (302 of 302 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/fr/

* Translated using Weblate (Portuguese (Portugal))

Currently translated at 100.0% (302 of 302 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/pt_PT/

* Translated using Weblate (Spanish)

Currently translated at 100.0% (303 of 303 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/es/

* Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 100.0% (303 of 303 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/zh_Hans/

* Translated using Weblate (Czech)

Currently translated at 100.0% (303 of 303 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/cs/

* Translated using Weblate (German)

Currently translated at 100.0% (303 of 303 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/de/

* Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (303 of 303 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/pt_BR/

* Translated using Weblate (Bulgarian)

Currently translated at 100.0% (303 of 303 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/bg/

* Translated using Weblate (Estonian)

Currently translated at 100.0% (303 of 303 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/et/

* Translated using Weblate (Bulgarian)

Currently translated at 100.0% (303 of 303 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/bg/

* Translated using Weblate (Bulgarian)

Currently translated at 100.0% (303 of 303 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/bg/

* Translated using Weblate (Azerbaijani)

Currently translated at 14.8% (45 of 303 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/az/

* Translated using Weblate (Korean)

Currently translated at 100.0% (303 of 303 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/ko/

* Translated using Weblate (Lithuanian)

Currently translated at 100.0% (303 of 303 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/lt/

* Added translation using Weblate (Albanian)

* Translated using Weblate (Finnish)

Currently translated at 98.3% (298 of 303 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/fi/

* Translated using Weblate (Albanian)

Currently translated at 0.9% (3 of 303 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/sq/

* Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (303 of 303 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/pt_BR/

* Translated using Weblate (Albanian)

Currently translated at 100.0% (54 of 54 strings)

Translation: Auxio/Metadata
Translate-URL: https://hosted.weblate.org/projects/auxio/metadata/sq/

* Translated using Weblate (Albanian)

Currently translated at 8.9% (27 of 303 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/sq/

---------

Co-authored-by: santiago046 <comehere665@gmail.com>
Co-authored-by: Priit Jõerüüt <hwlate@joeruut.com>
Co-authored-by: min7-i <min7-i@users.noreply.hosted.weblate.org>
Co-authored-by: Riku <riksu9000@gmail.com>
Co-authored-by: Wydow <wydow@protonmail.com>
Co-authored-by: João Palmeiro <joaommpalmeiro@gmail.com>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: 大王叫我来巡山 <hamburger2048@users.noreply.hosted.weblate.org>
Co-authored-by: Fjuro <fjuro@alius.cz>
Co-authored-by: qwerty287 <qwerty287@posteo.de>
Co-authored-by: trunars <trunars@gmail.com>
Co-authored-by: Femini <nizamismidov4@gmail.com>
Co-authored-by: Yurical <yurical1@outlook.com>
Co-authored-by: Vaclovas Intas <Gateway_31@protonmail.com>
Co-authored-by: Languages add-on <noreply-addon-languages@weblate.org>
Co-authored-by: Jiri Grönroos <jiri.gronroos@iki.fi>
Co-authored-by: D <dici.handy@gmail.com>
Co-authored-by: Lucas Lopes <weblate.dusk390@slmail.me>
2024-10-28 07:19:50 -06:00