Silence on air is the one failure listeners always notice. It is also predictable: in practice it comes from a small number of causes, each with a concrete defence.
1. The file is not there
Someone moved a folder, renamed a drive, or a network share dropped. The playlist points at a path that no longer resolves.
Defence: the schedule confidence scan checks the loaded playlist for missing files continuously and raises a Risk state. The failure is found while there is time to fix it rather than at the moment of playback.
2. The audio device disappeared
A USB interface knocked, a driver restart, Windows reassigning default output.
Defence: output availability and recent fault timestamps feed the system health indicator, refreshed on device lifecycle events rather than only on a timer. WASAPI output is opened once and held, so there is one long-lived device to watch instead of a new one per track.
3. Something blocked the interface
A slow network file or an internet stream taking seconds to connect. If loading happens on the interface thread, the whole application — including Stop — freezes.
Defence: the next track is opened on a background thread. A stalled file cannot lock the operator out, and Stop tears down all decks and mutes output immediately regardless of what is mid-load.
4. The schedule ran out
The playlist ended, repeat was off, nothing followed.
Defence: rotation clocks generate full hours against a target duration with stretch and shrink passes, and the preview reports whether the hour runs short against target before it airs. Repeat modes cover the simpler case.
The one that is supposed to stop
Worth separating out: a cue stop is deliberate silence, a marked handover point where the playlist waits for an operator.
It announces itself clearly — the row reads CUE ACTIVE, the title cell pulses, the Now Playing panel shows Stopped at CUE — and it pre-selects the next track so the operator can continue with one keystroke.
Intentional silence that looks intentional is not dead air. Intentional silence that looks like a crash causes exactly the wrong reaction.
Checking after the fact
The airplay compliance window reports log-gap hours: periods with nothing recorded. Reviewing those weekly turns an unnoticed outage into a known one.