Commit graph

2825 commits

Author SHA1 Message Date
Alexander Capehart
5c4d0ab5f6
musikr: remove taglib build shell script 2025-02-08 21:46:46 -07:00
Alexander Capehart
289582964c
musikr: start putting unsafe stuff into ffi mod
Aiming for like 3 layers of abstraction:
Layer 1: Top-level taglib-esque API translated to jni
Layer 2: Slightly extended unsafe wrappers over bindings
Level 3: Raw taglib bindings and shims
2025-02-08 21:42:39 -07:00
Alexander Capehart
3aa39a7065
musikr: basic vorbis support 2025-02-08 19:52:10 -07:00
Alexander Capehart
013f25f46f
musikr: more fine-grained file handling 2025-02-08 17:45:20 -07:00
Alexander Capehart
acee4ddedd
musikr: minimize ffi shims 2025-02-08 17:03:47 -07:00
Alexander Capehart
cf597cb98e
msuikr: split up shims 2025-02-08 16:16:03 -07:00
Alexander Capehart
cd102369a0
musikr: ignore .vscode 2025-02-08 16:15:43 -07:00
Alexander Capehart
16fc14a4da
musikr: add format-specific file api 2025-02-08 15:27:17 -07:00
Alexander Capehart
005898d776
musikr: add audioproperties to metajni interface 2025-02-08 15:08:38 -07:00
Alexander Capehart
2ee9556564
musikr: integrate metadatajni into app
Just extracts title rn while I still work on the ffi.
2025-02-08 11:56:28 -07:00
Alexander Capehart
729a3c3273
musikr: basic taglib rust shim 2025-02-08 10:15:36 -07:00
Alexander Capehart
534f06d7e1
musikr: link to library 2025-02-06 14:46:29 -07:00
Alexander Capehart
ed0abb661c
musikr: implement taglib build step for rust module 2025-02-04 17:02:59 -07:00
Alexander Capehart
6216e1d591
musikr: move taglib to new rust module 2025-02-04 16:20:48 -07:00
Alexander Capehart
d6cf484d61
musikr: init rust metadata jni library 2025-02-04 16:15:17 -07:00
Alexander Capehart
df68768842
musikr.metadata: handle case w/no mp4 covers
Otherwise could have triggered an exception.
2025-01-31 14:41:44 -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
f9109b8a9c
musikr.build: enable symbols in taglibjni w/debug 2025-01-31 11:09:35 -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
c881a1c5b4
build: bump coroutines to 1.10.1
Fixes some more coroutine memory leaks.
2025-01-30 09:37:30 -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
e3e19fb0ac
playback: avoid huge allocation on printing cmd 2025-01-21 13:18:23 -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
b81ecf44c0
all: reformat 2025-01-16 09:40:36 -07:00
Alexander Capehart
020c6900a5
all: fix build issues 2025-01-15 11:44:57 -07:00
Alexander Capehart
4d704e86a6
Revert "musikr: bubblewrap jvminputstream"
This reverts commit b6d80189ca.
2025-01-15 11:44:29 -07:00
Alexander Capehart
ad2ec5a655
Revert "app: remove custom edge to edge setup"
This reverts commit f134d3e11b.
2025-01-15 11:44:18 -07:00
Alexander Capehart
b0b55b5069
main: band-aid bottom sheets flipping out pre-30
Caused by busted legacy window insets behavior biting me again.
2025-01-15 11:39:59 -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
b108970fe5
build: bump to 4.0.0-dev4 2025-01-13 19:27:24 -07:00
Alexander Capehart
f28f2dd9f7
playback: fix dropped saved state on empty lib
Since ExoPlaybackStateHolder wasn't handling the new "empty
library" case.
2025-01-13 19:24:43 -07:00
Alexander Capehart
847d5aa1fc
all: reformat 2025-01-13 12:20:10 -07:00
Alexander Capehart
e1f07def10
settings: recreate on theme change
Possibly mitigates some new edge to edge issues.
2025-01-13 12:09:19 -07:00
Alexander Capehart
f134d3e11b
app: remove custom edge to edge setup
I think this conflicts with the weird default behavior of Android 15.
2025-01-13 11:56:46 -07:00
Alexander Capehart
10aaf0afd2
all: reformat 2025-01-11 20:02:00 -07:00
Alexander Capehart
a1289ffaca
service: attempt to band-aid foreground limit 2025-01-11 20:01:33 -07:00
Alexander Capehart
ad4b9a3859
playback: re-add file playback 2025-01-11 19:52:27 -07:00