Alexander Capehart
c42ac644eb
musikr: compute uid on presong creation
2024-12-24 15:08:49 -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
8409a93c4e
musikr: reformat
2024-12-23 20:53:01 -05:00
Alexander Capehart
258418578a
musikr.tag: parse artist sort name
2024-12-23 17:13:45 -05:00
Alexander Capehart
bdce83f047
musikr.tag: fix incorrect artist name placeholder
2024-12-23 17:04:12 -05:00
Alexander Capehart
75ca315b9b
musikr.tag: fix broken tag field
2024-12-23 17:01:07 -05:00
Alexander Capehart
518b80bdf2
musikr.metadata: add missing log header
2024-12-23 16:50:54 -05:00
Alexander Capehart
c379174ffe
musikr.metadata: wrap exceptions into log
...
Not ideal, but avoids a total catastrophic crash on failed metadata
extractions.
2024-12-23 16:48:32 -05:00
Alexander Capehart
b6bc065a4a
musikr.tag: parse mp4 fields
2024-12-23 16:46:56 -05:00
Alexander Capehart
6652e351cf
musikr.metadata: uppercase internal atoms
2024-12-23 16:46:35 -05:00
Alexander Capehart
6ccae5f0d2
musikr.metadata: fix mp4 parsing
2024-12-23 12:52:33 -05:00
Alexander Capehart
e56e290451
musikr: make nativeinputstream internal again
2024-12-23 11:27:34 -05:00
Alexander Capehart
77f97ef656
all: cleanup
2024-12-23 11:04:51 -05:00
Alexander Capehart
07118a5ff1
musikr: link correct taglib jni lib
2024-12-23 11:03:17 -05:00
Alexander Capehart
44696424a9
musikr: build taglib sequentially w/more threads
...
This is probably better since locality can be leveraged more.
2024-12-23 10:53:44 -05:00
Alexander Capehart
a888d09a2c
musikr: link private libraries
...
This is what the ffmpeg extension does, it probably does something
good.
2024-12-23 10:53:33 -05:00
Alexander Capehart
787a78f845
musikr: shrink end taglib jni size
...
Use some magic linker flags that @Tolriq found over in
https://github.com/taglib/taglib/issues/1212#issuecomment-2326456903
that somehow reduced linked so size by ~2mb.
2024-12-23 10:46:53 -05:00
Alexander Capehart
046a02de00
musikr: update readme
2024-12-23 10:05:48 -05:00
Alexander Capehart
b6cbf97df9
musikr: rename taglib jni cmake project
2024-12-23 10:05:33 -05:00
Alexander Capehart
6dd70af10c
musikr: fix more taglib jni mismatches
2024-12-23 10:04:41 -05:00
Alexander Capehart
6fd0bd411b
musikr: fix broken iostream jni integration
2024-12-23 09:59:23 -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
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
b9c8933021
musikr: add readme
2024-12-20 22:47:46 -05:00
Alexander Capehart
c4a4b69cd1
musikr.pipeline: parallelize cache writes
2024-12-20 22:21:24 -05:00
Alexander Capehart
0f0b7a4a7d
all: reformat
2024-12-20 22:17:08 -05:00
Alexander Capehart
6bad9e719d
musikr.pipeline: parallelize cache reads
2024-12-20 22:12:01 -05:00
Alexander Capehart
9f68f59504
musikr.pipeline: disable extraction shuffling
...
No longer needed now that jpeg writes are extremely quick. Will
re-introduce in the case that I introduce webp parsing again.
2024-12-20 22:06:41 -05:00
Alexander Capehart
a598f39dea
musikr.cover: use jpeg for covers
...
Way faster to encode and the artifacts are minimal at 1kx1k and 100
compression.
Still not fully ideal, but webp is so flow to encode.
2024-12-20 22:05:51 -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
249d2fad67
musikr.pipeline: shuffle songs to extract
...
This helps avoid the entire tag parsing flow from getting blocked up
by several tracks that are blocking trying to write a single cover.
2024-12-19 16:13:16 -05:00
Alexander Capehart
a77dd3ff7a
musikr.pipeline: redo extract pipeline
...
Try to separate opening FDs, extracting metadata, parsing tags/writing
covers, and cache writes.
This makes it slower, but now I know the bottleneck is covers. Gotta
figure out how to offload that work.
2024-12-17 20:31:04 -05:00
Alexander Capehart
7e8764d6d4
musikr.metadata: dont expose file name
...
Not needed.
2024-12-17 20:03:35 -05:00
Alexander Capehart
c431e90af8
musikr: output stack trace in pipeline error
2024-12-17 16:30:53 -05:00
Alexander Capehart
03ee8d299d
musikr: dont produce tag maps w/empty values
2024-12-17 16:27:25 -05:00
Alexander Capehart
7b1ccfc3fb
all: reformat
2024-12-17 16:05:13 -05:00
Alexander Capehart
acd4dab74c
musikr: include context in pipeline errors
2024-12-17 16:01:44 -05:00
Alexander Capehart
3fbb33e3e4
musikr: share more versions with app
2024-12-17 15:25:30 -05:00
Alexander Capehart
93da4a69a9
musikr: re-add playlist deletion
2024-12-17 12:19:36 -05:00
Alexander Capehart
7e45812411
all: reformat
2024-12-17 12:18:18 -05:00
Alexander Capehart
3ad2fd2fc0
musikr: fix playlist graphing
2024-12-17 12:17:28 -05:00
Alexander Capehart
b3a598c558
musikr: re-add playlist rewriting
2024-12-17 12:12:09 -05:00
Alexander Capehart
744097694f
musikr: re-add playlist adding
2024-12-17 12:11:20 -05:00
Alexander Capehart
f4822a4e40
musikr: re-add playlist renaming
2024-12-17 12:04:24 -05:00