Background music
Music is one playlist for the whole room, not a track per screen. The server owns the queue, the playhead and the clock; a screen only decides whether it makes noise. That is what stops two screens with speakers playing different bars of different songs.
The Music tab
| Control | What it does |
|---|---|
| Transport | Play / Pause, previous, next, Mute, volume, loop playlist |
| Playlist | Ordered queue: reorder with ↑ ↓, play any track, remove |
| Plays on | A checkbox per screen by name, plus All screens: which screens are equipped for sound |
| Mute (per screen) | Silence one screen on the spot, independent of the sound set and the room-wide mute: on its Live Control card, or beside its name in the Music tab |
| Auto-mute | Modes where music drops out by itself. Presentation and Live Share by default |
| Library | Everything uploaded: add to playlist, preview, delete |
Uploads land in the playlist automatically and show a progress bar with the real
transfer percentage. Accepted: .mp3 .m4a .aac
.ogg .oga .wav .flac, plus .mp4 .m4v
(their audio track plays), up to 400 MB.
Track length is read on upload with ffprobe.
Presenters get the transport on /remote: Play/Pause, next, and Mute.
Muting the room is something you do mid-sentence. The playlist itself stays admin-only.
How the sync works
- Every music frame carries
startedAtand the server clock, so a display that joins mid-track seeks to where the room already is instead of restarting the song. - With two or more tracks queued, looping is disabled on the audio element. Whichever screen's track ends reports it; the server advances once (duplicate reports inside 2 seconds are ignored) and broadcasts the next track to everyone together.
- A single track with loop on simply repeats in the browser, no round trip.
- Measured drift between two screens: about half a second.