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
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
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
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
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
211b815a20
ui: handle round mode again
2024-11-07 13:38:54 -07:00
Alexander Capehart
d06dd59386
about: add feedback options
2024-10-31 15:31:23 -06:00
Alexander Capehart
d7f3c58fd9
detail: fix broken playing state updates
2024-10-23 10:05:23 -06:00
Alexander Capehart
82ddd3a24e
widget: disable android 15 preview
...
Seemingly causing reboots on my device, don't wanna risk it.
2024-10-23 09:08:11 -06:00
Alexander Capehart
0ed7938be9
Merge branch 'master' into dev
2024-10-23 08:55:45 -06:00
Alexander Capehart
018e142ee9
list: fix sort dialog allowing invalid sorts
...
If you changed the mode but disabled the direction, you would wind up
with an outright invalid sort that you could still save. Fix that.
2024-10-22 22:03:16 -06:00
Alexander Capehart
97b0a8aa68
ui: haromize bottom sheet radii w/cover radii
2024-10-22 21:57:14 -06:00
Alexander Capehart
bd685f1f9c
ui: change materialfader anim sepcs
...
Probably a little more in-line w/the docs.
2024-10-22 21:45:01 -06:00
Alexander Capehart
b0af681390
playback: fix broken stateholder lifecycle
...
- Broken ReplayGain setup
- Wasn't releasing playback settings
2024-10-21 09:46:43 -06:00
Alexander Capehart
47fa41715d
detail: fix empty sections having headers
2024-10-21 09:42:00 -06:00
Alexander Capehart
147f7f426c
detail: fix crash on artists w/appearances
2024-10-21 09:41:51 -06:00