Commit graph

178 commits

Author SHA1 Message Date
Alexander Capehart
b48bf3729e
musikr: ignore stale folder covers 2025-03-03 15:10:46 -07:00
Alexander Capehart
4fbbbfdc76
app: introduce as-is covers
Risks extreme instability since I am no longer in control of format,
but some users just want very high-quality covers.
2025-03-03 13:09:26 -07:00
Alexander Capehart
a7000bc9e5
musikr: introduce folder covers
Like cover.png, cover.jpg, etc.
2025-03-03 12:41:30 -07:00
Alexander Capehart
8104985a4e
musikr: refactor devicefiles into tree 2025-03-03 12:14:40 -07:00
Alexander Capehart
fce77ec8a0
all: reformat 2025-03-01 21:43:58 -07:00
Alexander Capehart
a78b213537
musikr: fix build issues 2025-03-01 21:22:21 -07:00
Alexander Capehart
7906867a96
image: implement compat covers backport
For cover.jpg users
2025-02-26 16:14:06 -07:00
Alexander Capehart
25901a0f76
musikr: make cover creation more flexible
Enables some compat cover changes I need to make.
2025-02-26 14:52:13 -07:00
Alexander Capehart
403f93b6df
musikr: backport breaking uid change
v401 UIDs once again drifted because of the broken extensions.
2025-02-25 17:40:06 -07:00
Alexander Capehart
3741f1ff07
musikr: fix build error 2025-02-25 17:33:47 -07:00
Alexander Capehart
b388474655
musikr: reformat 2025-02-25 16:14:41 -07:00
Alexander Capehart
584af83a07
musikr: parallelize all extraction 2025-02-25 16:14:30 -07:00
Alexander Capehart (aider)
0387400a4a
refactor: Simplify ExtractStep with unified parallel processing flow 2025-02-25 16:09:04 -07:00
Alexander Capehart
94f8457d69
musikr: reformat 2025-02-25 16:02:10 -07:00
Alexander Capehart
be270a422b
musikr: fix build issues 2025-02-25 16:02:09 -07:00
Alexander Capehart (aider)
e2b0601d4c
musikr: add option to ignore hidden files/directories 2025-02-25 15:44:37 -07:00
Alexander Capehart
ddeba2c496
musikr: correctly strip extensions from files
Otherwise I can mangle filenames that are just dots.
2025-02-25 09:11:27 -07:00
Alexander Capehart
98299722bc
musikr: add back mbids to backported uids 2025-02-24 09:41:49 -07:00
Alexander Capehart
50e2dde6e2
musikr: remove pipeline logs 2025-02-24 07:54:12 -07:00
Alexander Capehart
582b0c6eef
musikr: fix uid compat issues 2025-02-24 07:53:20 -07:00
Alexander Capehart
3834e92192
musikr: add backwards compat for v4 uids
This annoying hack should be temporary once I can build a new UID
system and migrate everything over.
2025-02-24 07:02:03 -07:00
Alexander Capehart
117678a066
musikr: fix metadata drift
Largely a temporary compat measure to avoid playlist destruction, will
retire UIDs for a new system soon which should give me the ability to
rethink the spec.
2025-02-22 22:37:09 -07:00
Alexander Capehart
b306456d46
musikr: fix hang on metadata extraction
When files read all the way to EOF.
2025-02-22 21:03:44 -07:00
Alexander Capehart
251197b47b
musikr: accidental logging
Including this for posterity with the actual release build
2025-02-21 15:05:13 -07:00
Alexander Capehart
3d374504e2
musikr: strip down taglib
Only to supported ExoPlayer formats.
2025-02-21 12:56:38 -07:00
Alexander Capehart
a7969f99c3
build: bump taglib 2025-02-21 12:34:35 -07:00
Alexander Capehart
357c7cc329
musikr: reformat 2025-02-21 09:34:37 -07:00
Alexander Capehart
e442fcf253
musikr: fix use-after-free in jni 2025-02-21 09:30:37 -07:00
Alexander Capehart
a1d62c2a08
musikr: fix dupliate artist vertices when melding 2025-02-10 15:07:26 -07:00
Alexander Capehart
1459498ff3
musikr.metadata: handle case w/no mp4 covers
Otherwise could have triggered an exception.
2025-02-06 14:54:43 -07:00
Alexander Capehart
72ffac4209
musikr: reformat 2025-01-31 13:45:18 -07:00
Alexander Capehart
ee7e63d1dc
musikr: stop possible use-after-free in metabuild 2025-01-31 13:41:23 -07:00
Alexander Capehart
2e4b6681d1
build: bump to v4.0.0-dev5 2025-01-30 12:50:10 -07:00
Alexander Capehart
a0c82ac812
musikr: reformat 2025-01-30 09:38:38 -07:00
Alexander Capehart
e78fde44e0
Revert "musikr: use channel-based pipeline"
This reverts commit 7c8863bd3a.
2025-01-30 09:30:38 -07:00
Alexander Capehart
7880c777ba
musikr: fix inputstream memory leak
Apparently allocating the bytes on the JVM side of the taglib parser
will wind up leaking memory due to a bugged cache in ByteBuffer.

Instead, allocate the bytes in native, wrap it into a ByteBuffer, and
then pass it upwards into NativeInputStream. This seems to fix the
leak.
2025-01-30 09:29:26 -07:00
Alexander Capehart
7c8863bd3a
musikr: use channel-based pipeline
Much more repeated code, but no more memory leaks.
2025-01-29 15:31:48 -07:00
Alexander Capehart
97bd259728
musikr: handle duplicate playlist songs in graph
Accidentally flattened these out during graphing.
2025-01-22 12:57:11 -07:00
Alexander Capehart
9685f3cf51
musikr: fix broken jni build 2025-01-20 11:40:15 -07:00
Alexander Capehart
9d22cc37b8
musikr: report invalid songs in pipeline
Avoids the bar getting "stuck"
2025-01-20 11:39:47 -07:00
Alexander Capehart
d49286981c
musikr: improve native error handling
Not an ideal error reporting system, but for the purposes of getting
4.0.0 out as fast as possible it will do.
2025-01-20 11:26:41 -07:00
Alexander Capehart
0785711cd6
musikr.tag: handle slash positions in xiph
Resolves #965.
2025-01-18 20:32:28 -07:00
Alexander Capehart
a0e10ef8dd
musikr: implement raii jni classes
This should hopefully mitigate the memory leak problems unless I forget
to transfer over ref ownership to the corresponding class. Analyzed
memory use on load and it looks like the JVM is able to reclaim
everything extracted by the native code, so I should hopefully be fine.
2025-01-18 19:52:05 -07:00
Alexander Capehart
1bf44eba91
musikr: fix memory leaks 2025-01-18 17:21:14 -07:00
Alexander Capehart
3aae8ea534
musikr: bubblewrap nativeinputstream
Try to avoid exceptions cascading and bringing down the app.
2025-01-18 09:58:05 -07:00
Alexander Capehart
4d704e86a6
Revert "musikr: bubblewrap jvminputstream"
This reverts commit b6d80189ca.
2025-01-15 11:44:29 -07:00
Alexander Capehart
c9d4b01f9f
musikr: initial root documentation 2025-01-14 08:55:44 -07:00
Alexander Capehart
b6d80189ca
musikr: bubblewrap jvminputstream
Should help me ID some error.
2025-01-14 08:53:03 -07:00
Alexander Capehart
71aa887438
musikr.cache: bump version 2025-01-13 19:35:03 -07:00
Alexander Capehart
e6b326a571
musikr: clarify album added timestamp api
Same reasons, should be milliseconds
2025-01-09 19:31:48 -07:00