From 16bc07acf053d7d14f8182f5523da1d179154a15 Mon Sep 17 00:00:00 2001 From: Christophe Besson Date: Mon, 24 Aug 2026 16:43:18 +0200 Subject: docs: plan the Music group app (musicbay.md) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Proposal only, not implemented. Same plug-in mechanism as Videos (apps.md), but no new streaming path — a track is downloaded and decrypted like any other file, not transcoded/remuxed like a film. Metadata: local tags first (mutagen), MusicBrainz/Cover Art Archive as node-side fallback enrichment, no API key needed (unlike TMDB) — just a rate-limited, self-identifying client. Player state (queue, shuffle, repeat) moves up into the group-page shell so playback survives a tab switch, mirroring how the video/preview modal is already shell-owned. --- docs/apps.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'docs/apps.md') diff --git a/docs/apps.md b/docs/apps.md index a032f56..a68a6e6 100644 --- a/docs/apps.md +++ b/docs/apps.md @@ -190,11 +190,11 @@ the only node-side touches, and both are allow-lists, not new wire messages. app can reuse the same node-side machinery (thumbnail cache, chunk-path delivery) without re-deciding any of this. - **Videos, Music, Photos themselves.** Videos is now built (`video-app.js`, - `docs/mediacenter.md`). Music and Photos remain deliberately out of scope - — see `meshbay-draft-v6.md` §2.7. The infrastructure in this document was - proven end-to-end first with Chat/Files, then with Videos; Music/Photos - are additive from here, and can reuse Videos' thumbnail/chunk-delivery - machinery rather than re-deciding it. + `docs/mediacenter.md`). Music is **planned, not built** — see + `docs/musicbay.md` — and reuses Videos' node-side thumbnail/chunk-delivery + machinery, with no new streaming path (a track is small enough to + download-then-play, unlike a film). Photos remains deliberately out of + scope — see `meshbay-draft-v6.md` §2.7. - **The offline/loopback settings path.** `member_upload` can be toggled two ways: over a live MNP connection, or (Electron only) via the node's local HTTP API when MNP isn't connected (`platform.node.call('PUT', .../member- -- cgit v1.2.3