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