Player is a Rust and Qt/QML media application built around GStreamer and a SQLite library. A local file and a track streamed from Navidrome can share a library model without losing where either came from. MPRIS gives the rest of the session a common playback interface.
A library you can keep
Scanning, search, metadata editing, playlists, artwork and downloaded server tracks are part of the library work. The newer integration adds folders and trash, discovery through SongRec, video and sharing operations. These additions have source and delivery evidence of their own; they do not inherit device acceptance from earlier music playback.
Sharing begins as a draft
Selected music can be offered to Culver as a link or attachment. Culver appends it to the chosen conversation’s existing draft. That handoff must not send a message or replace what the person was already writing.
Controls with an observed result
Playback, pause, seek, repeat and metadata need to agree across the engine, application interface and MPRIS. The agent-facing IPC exposes named operations with validation and refusal. Session-aware input validation is a boundary to test, not a claim that every future agent grant already exists.
What remains open
- The integrated video, library, discovery and sharing additions need their own signed delivery and device acceptance.
- Broader media work, including audiobook and co-watch requirements, remains open.
- Public installation availability is shown by the release record; private development packages do not imply a public installer.