Commit graph

2862 commits

Author SHA1 Message Date
Alexander Capehart
da43ebda96
musikr: add wav files 2025-02-17 16:28:19 -07:00
Alexander Capehart
a3f01f152b
musikr: add mp4 file 2025-02-17 15:20:21 -07:00
Alexander Capehart
f939e9d251
musikr: hide this and bridge modules 2025-02-17 15:09:23 -07:00
Alexander Capehart
d4890af780
musikr: add id3v1 tags to files 2025-02-17 14:39:59 -07:00
Alexander Capehart
60e5614e63
musikr: add flac id3v2 tags 2025-02-17 14:37:38 -07:00
Alexander Capehart
6385928150
musikr: add metadata builders 2025-02-17 14:24:33 -07:00
Alexander Capehart
1cb2f5026f
musikr: remove pinning for immutable refs
Not actually needed, can just use plain refs
2025-02-17 11:58:57 -07:00
Alexander Capehart
98bf82ea15
musikr: make ogg field list map consistent 2025-02-17 11:39:15 -07:00
Alexander Capehart
2c03cf8fed
musikr: add mp4 item bindings 2025-02-17 11:35:15 -07:00
Alexander Capehart
608082a49f
musikr: remove explicit lifecycles now in ffi 2025-02-17 10:11:13 -07:00
Alexander Capehart
c4f51b749a
musikr: document this contract 2025-02-17 10:10:50 -07:00
Alexander Capehart
65d8959bcf
musikr: add basic mp4 tag 2025-02-17 09:25:17 -07:00
Alexander Capehart
6ef79a9aa5
musikr: fix id3v1 shim 2025-02-17 08:43:14 -07:00
Alexander Capehart
fa87ea09b8
musikr: improve xiph fieldlistmap lifecycle mgmt 2025-02-17 08:43:05 -07:00
Alexander Capehart
024cadf530
musikr: add id3v1 tag 2025-02-17 08:39:09 -07:00
Alexander Capehart
0cb1b3a309
musikr: introduce this abstraction
Gets rid of a lot of the duplicate pin stuff
2025-02-17 08:17:04 -07:00
Alexander Capehart
c8d645c282
musikr: reformat 2025-02-15 16:02:55 -07:00
Alexander Capehart
b45e41bc3b
musikr: cleanup 2025-02-15 16:02:30 -07:00
Alexander Capehart
59f66978ff
musikr: make id3v2 naming consistent 2025-02-15 15:47:33 -07:00
Alexander Capehart
f7d61cd1dc
musikr: add id3v2 tags 2025-02-15 15:37:54 -07:00
Alexander Capehart
0f3bed413d
musikr: improve lifecycles 2025-02-15 13:04:50 -07:00
Alexander Capehart
f5de03dfee
musikr: refined flac pic support 2025-02-15 12:02:32 -07:00
Alexander Capehart
3dfcf0f67a
musikr: initial flac pic support
Probably broken
2025-02-14 23:24:22 -07:00
Alexander Capehart
61069bd4fe
musikr: redo bridge api
Try to introduce some level of standardization in use.
2025-02-14 22:20:48 -07:00
Alexander Capehart
03d8f70ecd
musikr: get rid of warnings 2025-02-14 21:15:32 -07:00
Alexander Capehart
7906fcf5af
musikr: improve iostream lifecycle mgmt 2025-02-14 21:05:54 -07:00
Alexander Capehart
249915c3be
musikr: fix iostream pinning 2025-02-14 15:14:14 -07:00
Alexander Capehart
74edd1dbdf
musikr: fix rustiostream ownership problem
Sadly this requires me to more or less give an &mut off to TagLib to
own while also owning the core type to drop later, but since stream
is only owned to be dropped it's fine.
2025-02-14 14:26:25 -07:00
Alexander Capehart
3ecdbf289b
musikr: reorganize ffi module
Still don't fully like the segregation, but now at least the bridge
unsafety is fully isolated.
2025-02-12 22:45:56 -07:00
Alexander Capehart
86b04eaead
musikr: add flac file 2025-02-12 21:40:48 -07:00
Alexander Capehart
42dfe4edcc
musikr: reformat 2025-02-12 19:15:01 -07:00
Alexander Capehart
f3f349847a
Revert "musikr: use no_std in crate"
This reverts commit 7f84349f2e.
2025-02-12 19:14:25 -07:00
Alexander Capehart
520e52b100
musikr: improve taglib buildscript 2025-02-12 19:11:31 -07:00
Alexander Capehart
854164a523
musikr: eliminate need for libc++_shared 2025-02-12 17:44:50 -07:00
Alexander Capehart
7f84349f2e
musikr: use no_std in crate
Doesn't really help since jni uses std excessively.
2025-02-10 13:02:02 -07:00
Alexander Capehart
c115e34aac
musikr: reformat shim 2025-02-10 11:21:49 -07:00
Alexander Capehart
20785300bb
musikr: partially clean up ffi mod 2025-02-10 10:48:49 -07:00
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