Skip to content

musefs v0.2.0

Choose a tag to compare

@Sohex Sohex released this 27 May 09:11
· 922 commits to main since this release

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 (ID3 TXXX, 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-cache with
    auto-invalidation.

Notes

  • Read-only mount; tag edits happen out-of-band against the SQLite store and are
    picked up automatically (PRAGMA data_version polling). See the README "Tag
    handling" section for round-trip limitations.