Repository navigation
Flow Now Playing
Tobias Vorwachs edited this page Oct 26, 2026
·
1 revision
Part of the Plugin data protocol. Packet: Packet-mumcord-nowplaying. Sibling flow: Flow-Now-Gaming.
Shows the track a user plays in their media player to everyone on the server.
sequenceDiagram
participant A as Client A (user plays music)
participant S as Mumble server
participant B as Client B (any other client)
A->>A: player reports a new track, play or pause, or a seek
A->>S: plugin data mumcord.nowplaying
S-->>B: relayed
loop every 30 s while sharing
A->>S: same payload again
S-->>B: relayed
end
Note over A,B: A newcomer gets the current payload once, after the hellos
A->>S: payload without title (stopped)
S-->>B: relayed, B clears the track
- The client polls the local media player every 2 seconds (
POLL_INTERVAL). A change of track, of play or pause, or a seek that deviates more than 3 seconds from the expected position counts as a change. - On a change, the client sends
mumcord.nowplayingto everyone on the server. It also resends the unchanged state every 30 seconds (RESYNC) so that people who missed it catch up, and sends it once to each person who joins. - The receiver shows title, artist, album, a progress bar and the cover. It anchors the position to its own arrival time, then advances it locally while
playingis true. - When the user stops or turns the setting off, the client sends
{"v":1}; receivers clear the track.
For official Mumble clients, which ignore the packet, the client also writes a short "Artist - Title" line into the user's comment, after waiting a few seconds (COMMENT_SETTLE, 5 s) so that quick skips do not spam the server.
- Payload below 1000 bytes: the sender drops the cover link first, then the album, then shortens title and artist.
- Title and artist at most 120 characters, cover link at most 300 bytes and only
httporhttps. - Lost updates are repaired by the 30-second resend. There is no acknowledgement.
- Unknown fields are ignored;
vbelow 1 drops the message.
Packet-mumcord-nowplaying, with Packet-mumcord-hello for joining people.
Mumcord is licensed under the AGPL-3.0 (versions up to 0.1.1: MIT) · Source code · Website · Website source