Alexander Capehart
4a3beafc77
music: indicate volume components checked
2024-01-01 12:52:01 -07:00
Alexander Capehart
17939f6b2a
music: correctly propagate error
2024-01-01 12:36:08 -07:00
Alexander Capehart
b10caaef54
music: more path interpreter guards
2024-01-01 12:25:49 -07:00
Alexander Capehart
77f0bbe614
util: correctly throw channel errors
...
Wasn't being properly handled before, leading to weird behavior.
2024-01-01 12:02:38 -07:00
Alexander Capehart
ed519eeccc
music: refine new mediastoreextractor impl
...
- Make the interpreters use a more conventional naming structure
- Remove the redundant file name extraction that is largely an artifact
of older versions
2024-01-01 12:02:38 -07:00
Alexander Capehart
6b9f6862af
music: correctly parse data with new paths
...
Accidental regression appeared due to inconsistent trailing slashes, so
we need to reimplement this using the path datatype itself.
2024-01-01 12:02:38 -07:00
Alexander Capehart
ec8e598d3b
Create FUNDING.yml
2024-01-01 18:18:24 +00:00
Alexander Capehart
2af8d8b4bd
music: remove old deadlock check
...
No longer needed and likely causing bugs
2024-01-01 10:06:36 -07:00
Alexander Capehart
c7f8b3ca6d
music: refactor mediastoreextractor internals
...
Split the version-specific components into "Interpreters" that are then
composed into MediaStoreExtractor. This is both a nicer design and also
allows me to resolve an evil Huawei bug that prevents me from using the
new path fields.
Resolves #592
2023-12-31 23:34:00 -07:00
Alexander Capehart
6956ca5915
music: fix m3u windows path importing
...
Forgot that Regex always matches the entire string, so I have to tack
on a wildcard.
2023-12-24 11:35:59 -07:00
Alexander Capehart
480b1b28e5
music: display correct message on new playlist
...
The context of the "New Playlist" dialog can differ depending on the
action performed, such as adding to a playlist or importing a playlist.
We need to make sure we're still showing the right message once this
is done.
2023-12-24 11:34:55 -07:00
Alexander Capehart
c5a3f72b99
music: add more playlist messages
...
Add more types of playlist messages corresponding to other actions, so
they can be indicated in the UI only when the process is complete.
This is somewhat incomplete. It does not include indicating errors for
other playlist operations (Which I want to do), and neither does it
handle situations in which some playlist operations and up reducing
to others (i.e import -> create). I need to do that later.
2023-12-23 22:02:55 -07:00
Alexander Capehart
21970349cc
music: add ability to import into playlists
...
Add a menu option that allows you to import a playlist file into an
existing playlist.
This is useful for keeping Auxio playlists up to date with a remote
source.
2023-12-23 20:50:40 -07:00
Alexander Capehart
c9b1ab9068
all: reformat xml
2023-12-23 20:01:20 -07:00
Alexander Capehart
4ad2fe1a58
info: fix readme version
2023-12-23 12:29:27 -07:00
Alexander Capehart
61cb520ab8
info: update changelog
2023-12-23 12:29:05 -07:00
Alexander Capehart
c1fc548e6a
tests: fix tests
2023-12-23 12:19:06 -07:00
Alexander Capehart
3f1f2f5c2d
music: implement exporting frontend
...
Implement the exporting dialog and flow in all places in the app.
2023-12-23 12:16:02 -07:00
Alexander Capehart
68e4da5e7e
music: make playlist export configurable
...
Add configuration options for:
- Using windows-compatible paths with \ separators and C:\\ volume
prefixes
- Switching between relative and absolute paths
2023-12-23 12:12:51 -07:00
Alexander Capehart
c3f67d4dc5
music: fix m3u export
...
Wasn't correctly writing and also naively relative-izing paths. Those
should be fixed now, I hope.
2023-12-21 20:59:19 -07:00
Alexander Capehart
d59230be6d
music: re-add missing file
2023-12-20 22:53:08 -07:00
Alexander Capehart
771009d4ff
music: add m3u exporting backend
...
Add the backend for exporting playlists to m3u files.
2023-12-20 22:49:02 -07:00
Alexander Capehart
3d92bdab6f
info: update changelog
2023-12-20 13:49:43 -07:00
Alexander Capehart
5562c18415
tests: fix
...
Need to mock paths now
2023-12-20 13:39:49 -07:00
Alexander Capehart
c995eb0d04
music: support m3u absolute paths
...
Under the assumption they are in the same volume as the file. It's
hacky, but whatever.
2023-12-20 13:32:13 -07:00
Alexander Capehart
c66a9b19b5
music: more m3u support
...
- Turns out path extraction via MediaStore doesn't work, have to grok
the URI format.
- Added playlist name extraction
- Proactively handling whitespace
2023-12-20 13:28:36 -07:00
Alexander Capehart
634ff0d823
home: add playlist import flow
...
Connect the playlist importing system to the home view's playlist add
button.
2023-12-20 13:28:20 -07:00
Alexander Capehart
2195431c66
music: dont inject contentresolver
...
I don't know why, but I can't inject it without causing errors.
2023-12-20 12:12:40 -07:00
Alexander Capehart
e553744c8e
music: rename import to external
...
Apparently hilt doesn't like a module with the name import, probably
because of a keyword conflict.
2023-12-20 11:59:48 -07:00
Alexander Capehart
88bce610ca
music: connect playlist importing to frontend
2023-12-20 11:04:54 -07:00
Alexander Capehart
fff8212b0a
music: add importing backend
...
Add basic importing infrastructure and an M3U parser to the backend.
2023-12-20 11:02:20 -07:00
Alexander Capehart
364675b252
music: revamp paths
...
Revamp paths with an entirely new abstraction that should improve
testability and integration with M3U playlists.
2023-12-19 22:14:59 -07:00
Alexander Capehart
08ca71b7b0
home: make playlist add a speed dial
...
Add a speed dial menu that allows you to create a new playlist or
import a playlist from elsewhere.
2023-12-19 15:11:01 -07:00
Alexander Capehart
d3de34ed5e
music: throw on deadlocks
...
Attempt to throw an exception when any part of the loading routine
times out.
2023-12-18 18:36:09 -07:00
Alexander Capehart
4cb309f01f
playback: eliminate old viewpager stuff
2023-12-16 17:49:41 -07:00
Alexander Capehart
b0dd13b9a3
Merge branch 'dev' into feature/cover_gestures
2023-12-17 00:30:33 +00:00
Alexander Capehart
cd42c77304
playback: use ffmpeg first
...
Always decode with ffmpeg before decoding with MediaCodec.
MediaCodec is unreliable on some devices in such a way as to cause a
full loading failure on them. Prevent this by using ffmpeg.
2023-12-16 16:33:54 -07:00
Alexander Capehart
bf1cbad1da
build: update media
2023-12-16 15:45:07 -07:00
Alexander Capehart
b7f33622e7
build: update media3
2023-12-16 15:17:53 -07:00
Alexander Capehart
b9bcdf4a51
build: fix ndk
2023-12-16 14:33:17 -07:00
Alexander Capehart
f4db2fcd80
build: use ndk r25
...
Apparently GH actions doesn't like NDK r26 yet.
2023-12-16 14:26:52 -07:00
Alexander Capehart
953b92108a
build: update to ndk r26
...
Builds, unsure if it will cause any signifigant changes.
2023-12-16 14:21:14 -07:00
Alexander Capehart
4421d6cf36
music: deduplicate by case
...
At some point, the switch to keying raw music information broke my
mitigation for duplicate tags that use similar cases. This then
crashed the music loader in certain cases. Fix it by making the
check use raw music keys.
Resolves #614
2023-12-16 13:52:36 -07:00
Alexander Capehart
7a90e7eef1
build: update deps
...
Will need to put some work into updating some others
2023-12-16 13:51:49 -07:00
Alexander Capehart
b1c48f13fd
build: update agp
...
AGP -> 8.2.0
Requires me to enable Java 8 desugaring for some...reason.
2023-12-16 11:04:01 -07:00
Weblate (bot)
7d9ed7d114
Translations update from Hosted Weblate ( #610 )
...
* Translated using Weblate (Spanish)
Currently translated at 100.0% (289 of 289 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/es/
* Translated using Weblate (Spanish)
Currently translated at 99.3% (290 of 292 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/es/
* Translated using Weblate (Czech)
Currently translated at 100.0% (292 of 292 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/cs/
* Translated using Weblate (Spanish)
Currently translated at 100.0% (292 of 292 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/es/
* Translated using Weblate (Ukrainian)
Currently translated at 100.0% (292 of 292 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/uk/
* Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (292 of 292 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/zh_Hans/
* Translated using Weblate (Czech)
Currently translated at 100.0% (38 of 38 strings)
Translation: Auxio/Metadata
Translate-URL: https://hosted.weblate.org/projects/auxio/metadata/cs/
* Translated using Weblate (Spanish)
Currently translated at 100.0% (38 of 38 strings)
Translation: Auxio/Metadata
Translate-URL: https://hosted.weblate.org/projects/auxio/metadata/es/
* Translated using Weblate (Lithuanian)
Currently translated at 100.0% (292 of 292 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/lt/
* Translated using Weblate (Lithuanian)
Currently translated at 100.0% (38 of 38 strings)
Translation: Auxio/Metadata
Translate-URL: https://hosted.weblate.org/projects/auxio/metadata/lt/
* Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (38 of 38 strings)
Translation: Auxio/Metadata
Translate-URL: https://hosted.weblate.org/projects/auxio/metadata/zh_Hans/
* Translated using Weblate (Ukrainian)
Currently translated at 100.0% (38 of 38 strings)
Translation: Auxio/Metadata
Translate-URL: https://hosted.weblate.org/projects/auxio/metadata/uk/
* Translated using Weblate (Hindi)
Currently translated at 100.0% (292 of 292 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/hi/
* Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (38 of 38 strings)
Translation: Auxio/Metadata
Translate-URL: https://hosted.weblate.org/projects/auxio/metadata/zh_Hant/
* Translated using Weblate (Punjabi)
Currently translated at 100.0% (292 of 292 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/pa/
* Translated using Weblate (Punjabi)
Currently translated at 100.0% (38 of 38 strings)
Translation: Auxio/Metadata
Translate-URL: https://hosted.weblate.org/projects/auxio/metadata/pa/
* Translated using Weblate (Hindi)
Currently translated at 100.0% (38 of 38 strings)
Translation: Auxio/Metadata
Translate-URL: https://hosted.weblate.org/projects/auxio/metadata/hi/
* Translated using Weblate (Russian)
Currently translated at 100.0% (292 of 292 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/ru/
* Translated using Weblate (Russian)
Currently translated at 100.0% (38 of 38 strings)
Translation: Auxio/Metadata
Translate-URL: https://hosted.weblate.org/projects/auxio/metadata/ru/
* Translated using Weblate (Belarusian)
Currently translated at 100.0% (292 of 292 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/be/
* Translated using Weblate (Belarusian)
Currently translated at 100.0% (38 of 38 strings)
Translation: Auxio/Metadata
Translate-URL: https://hosted.weblate.org/projects/auxio/metadata/be/
* Translated using Weblate (Chinese (Traditional))
Currently translated at 19.1% (56 of 292 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/zh_Hant/
* Translated using Weblate (German)
Currently translated at 100.0% (292 of 292 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/de/
* Translated using Weblate (German)
Currently translated at 100.0% (38 of 38 strings)
Translation: Auxio/Metadata
Translate-URL: https://hosted.weblate.org/projects/auxio/metadata/de/
---------
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: BMT[UA] <weblate@yopmail.com>
Co-authored-by: Eric <zxmegaxqug@hldrive.com>
Co-authored-by: Vaclovas Intas <vaclovas1999@gmail.com>
Co-authored-by: ShareASmile <aapshergill@gmail.com>
Co-authored-by: abc0922001 <abc0922001@hotmail.com>
Co-authored-by: Макар Разин <makarrazin14@gmail.com>
Co-authored-by: qwerty287 <ndev@web.de>
2023-12-03 11:48:58 -07:00
Alexander Capehart
5204b59114
info: add android 14 to bug template
2023-11-26 14:56:55 -07:00
Alexander Capehart
9ae6b20fd1
music: decouple settings somewhat
...
Try to decouple the stateful music settings object from the stateless
internals of the music loader. This should make unit testing far
easier.
2023-11-12 11:55:22 -07:00
Alexander Capehart
0ad7a8955a
music: eliminate all reference to artists albums
...
It's no longer used in any capacity.
2023-11-12 11:32:51 -07:00
Alexander Capehart
d6801354ce
music: only include explicit albums in count
...
Only include an artists explicit albums (ones directly linked w/album
artist) in their count.
This is arguably more appropriate than the prior behavior, given
Auxio's collaborator/artist distinction.
Resolves #581 .
2023-11-12 11:26:27 -07:00