musefs v0.2.0
First public release.
Added
- Formats: synthesis for M4A/M4B (MP4), Ogg (Opus, Vorbis, FLAC-in-Ogg), and
WAV, alongside the existing FLAC and MP3 — metadata generated on the fly from
the SQLite store and spliced in front of byte-identical backing audio. - Arbitrary tag support: a single canonical tag vocabulary maps common fields
to each format's native slot (ID3 frame / MP4 atom / Vorbis field); any other
tag round-trips through the format's extension slot (ID3TXXX, MP4----
freeform, raw Vorbis field). User-defined key casing is preserved. - beets plugin (
contrib/beets/): syncs beets' canonical tags and cover art
into the store keyed by each file's real path, with no remount and no audio
rewrite. - Performance, concurrency & caching pass: worker-pool offload of blocking
reads, lock-free virtual-tree swap, per-handle I/O, a bounded LRU header-layout
cache, debounced single-flighted refresh with stable inodes, kernel/mount
tuning flags, bounded-memory MP4 resolves, and opt-in--keep-cachewith
auto-invalidation.
Notes
- Read-only mount; tag edits happen out-of-band against the SQLite store and are
picked up automatically (PRAGMA data_versionpolling). See the README "Tag
handling" section for round-trip limitations.