Alexander Capehart
9ad11ec5aa
music: allow renaming playlist before import
...
When you import a playlist, Auxio will now always display the
"New Playlist" dialog so you can change whatever name Auxio has picked
for the imported playlist.
This also prevents the creation of two playlists with the same names.
2024-01-01 16:12:01 -07:00
Alexander Capehart
68584ba426
music: fix file document path extraction
...
Apparently on Android 14 you need to reassemble the document URI and
then extract it's ID to get a path object. Really not sure why.
2024-01-01 16:10:11 -07:00
Alexander Capehart
bf9667f545
music: fix working directory in m3u export
2024-01-01 16:07:50 -07:00
Alexander Capehart
244373e2af
info: update changelog
2024-01-01 14:39:03 -07:00
Alexander Capehart
53870cd31b
music: fix reloads not cancelling prior ones
...
Caused by a dumb mistake in the cancellation code.
2024-01-01 14:36:26 -07:00
Alexander Capehart
28ff2b416a
home: make add speed fab consistent with shuffle
...
Was using color secondary prior since the code was derived from
MaterialFiles.
2024-01-01 14:35:59 -07:00
Alexander Capehart
574e129f34
music: cleanup and document
2024-01-01 14:08:47 -07:00
Alexander Capehart
538533bf3f
music: discard songs w/o volumes
2024-01-01 13:38:26 -07:00
Weblate (bot)
673629dd26
Translations update from Hosted Weblate ( #635 )
...
* 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 (Italian)
Currently translated at 100.0% (38 of 38 strings)
Translation: Auxio/Metadata
Translate-URL: https://hosted.weblate.org/projects/auxio/metadata/it/
* Translated using Weblate (French)
Currently translated at 99.6% (291 of 292 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/fr/
* Translated using Weblate (French)
Currently translated at 100.0% (38 of 38 strings)
Translation: Auxio/Metadata
Translate-URL: https://hosted.weblate.org/projects/auxio/metadata/fr/
* Translated using Weblate (Korean)
Currently translated at 99.6% (292 of 293 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/ko/
* Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (293 of 293 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/zh_Hans/
* Translated using Weblate (Korean)
Currently translated at 100.0% (38 of 38 strings)
Translation: Auxio/Metadata
Translate-URL: https://hosted.weblate.org/projects/auxio/metadata/ko/
* Translated using Weblate (Czech)
Currently translated at 100.0% (293 of 293 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/cs/
* Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (294 of 294 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/zh_Hans/
* Translated using Weblate (Czech)
Currently translated at 100.0% (294 of 294 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/cs/
* Translated using Weblate (Spanish)
Currently translated at 100.0% (294 of 294 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/es/
* Translated using Weblate (Russian)
Currently translated at 100.0% (294 of 294 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/ru/
* Translated using Weblate (Ukrainian)
Currently translated at 100.0% (294 of 294 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/uk/
* Translated using Weblate (Belarusian)
Currently translated at 100.0% (294 of 294 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/be/
* Translated using Weblate (German)
Currently translated at 100.0% (294 of 294 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/de/
* Translated using Weblate (Hindi)
Currently translated at 100.0% (294 of 294 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/hi/
* Translated using Weblate (Croatian)
Currently translated at 100.0% (294 of 294 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/hr/
* Translated using Weblate (Punjabi)
Currently translated at 100.0% (294 of 294 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/pa/
* Translated using Weblate (Czech)
Currently translated at 100.0% (301 of 301 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/cs/
* Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (302 of 302 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/zh_Hans/
* Translated using Weblate (Czech)
Currently translated at 100.0% (304 of 304 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/cs/
* Translated using Weblate (Russian)
Currently translated at 100.0% (304 of 304 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/ru/
* Translated using Weblate (Ukrainian)
Currently translated at 100.0% (304 of 304 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/uk/
* Translated using Weblate (Belarusian)
Currently translated at 100.0% (304 of 304 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/be/
* Translated using Weblate (Spanish)
Currently translated at 100.0% (304 of 304 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/es/
* Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (304 of 304 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/zh_Hans/
* Translated using Weblate (Hindi)
Currently translated at 100.0% (304 of 304 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/hi/
* Translated using Weblate (Punjabi)
Currently translated at 100.0% (304 of 304 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/pa/
---------
Co-authored-by: Макар Разин <makarrazin14@gmail.com>
Co-authored-by: atilluF <110931720+atilluF@users.noreply.github.com>
Co-authored-by: cwpute <collan+weblate@free.fr>
Co-authored-by: Yurical <yurical1@outlook.com>
Co-authored-by: Eric <zxmegaxqug@hldrive.com>
Co-authored-by: Fjuro <ifjuro@proton.me>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: BMT[UA] <weblate@yopmail.com>
Co-authored-by: qwerty287 <ndev@web.de>
Co-authored-by: ShareASmile <aapshergill@gmail.com>
Co-authored-by: Milo Ivir <mail@milotype.de>
2024-01-01 20:04:05 +00:00
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