Step 1 · Library
Everything starts here. Add a source and the app indexes it in minutes; nothing plays until something in this room exists.
Add Source. A folder on any drive, an HDHomeRun on your network, or an M3U playlist URL. This is the first click of your first hour.
Scan state. Folders index themselves and stay watched — drop files in and they join the lineup on their own. Rescan forces it now.
Visibility. EVERYONE means every client sees channels fed by this source; per-user lineups narrow it.
Channels… picks which of a tuner or playlist's channels get published — 46 of 46, or just the ones you watch.
On/off. A source can be paused without being removed — its channels go dark, its numbering stays put.
Related: Which media servers work with it?
Step 2 · Channels
A channel is media plus a rule for how it runs. Once built, it broadcasts around the clock whether anyone watches or not.
New channel. Add Media browses your library as Series, Movies or Everything; pick a whole show or cherry-pick episodes, then choose how it runs — in order (follows season/episode), shuffled, or a smart rule.
The poster is live. Each card shows whatever is airing on that channel right now, with a progress hairline under it — the grid changes through the day.
Numbers. Stations start at 100 and never renumber themselves; broadcast channels keep their over-the-air numbers; imports start at 1,000.
The accent means watched. An ON AIR badge appears only when a tuner is serving that channel to someone — not just because it's broadcasting.
One rule to know. Editing a playlist restarts that station's timeline from now — the status bar reminds you every time.
Related: How do channel numbers work?
Step 3 · VC Tuner
This room is the antenna. Your Mac answers as an HDHomeRun here, and everything a media server needs to find it is on this screen.
Serving. The tuner address, live output rate, and how many of the 8 slots are busy. If this row has a dot, your house has TV.
Tuner pool. One card per slot. A busy card shows the channel, the client, and whether it's direct play or hardware transcode.
The three URLs. Tuner for Plex and Emby; M3U + XMLTV for Channels DVR and Jellyfin. Copy buttons, no typing.
Channel lineup. Where the numbering rules live, and the one button that renumbers: hand-set numbers are never moved.
Restart. Port and discovery changes restart the tuner; clients reconnect on their next poll. Nothing else here interrupts playback.
Related: Setup recipes · How many people can watch at once?
Step 4 · Guide
Broadcast channels and your stations share one grid — the same seven days your media server receives. Each channel's editor also carries its own 14-day view.
The NOW line. One line marks the current minute across every channel. Grey blocks are simply airing; an accent ring means a tuner is serving that programme.
Preview. Watch any channel inside the app before a client tunes it. Honest accounting: the preview holds one of your 8 slots while it plays.
Detail panel. The selected programme's description, source and codec path, with Tune one click away.
One lineup. 6.1 is a real broadcast tower, 101 is your station — they sort together by number, exactly as clients see them.
Published depth. The status bar says how far out the schedule is written — seven days, refreshed continuously.
Related: How far out does the guide go?
Step 5 · On Air
Once everything runs, this is the app: what's on, who's watching, and nothing demanding your attention unless it needs it.
Now playing. Whatever a client is watching, full size. Nobody tuned? It falls back to the channel nearest a programme change.
The receipts. Which client, which port, direct play or VideoToolbox transcode — and what's up next on that channel.
All channels. Every station keeps broadcasting whether watched or not. The watched row wears a wash and a pill; the rest stay grey.
Recent activity. The last three events, tunes in accent. The full 200-entry feed lives one room over.
The status line. Server, address, slots in use. A healthy idle server is a grey dot — colour is reserved for viewership.
Related: Does my media leave my network?
Step 6 · Activity
Scans, tunes, source syncs, server events and errors — everything the server did, newest first.
The day in four numbers. Scans, items added, items updated, errors. Only the errors number takes colour, and only when it isn't zero.
Accent = attention. TUNE means someone started watching; ERROR means something needs you. Everything else stays machine grey, so the one error in a day is findable in a second.
Filter. Narrow to one kind — just tunes, just scans, just errors.
200 entries, rolling. Enough to answer "what happened last night" without becoming a log archive.
Related: Report something on the blog
System, dark or light, and six accents in Settings → General. Whatever you pick, the rule holds: the accent marks a channel someone is watching — pills, progress, the NOW line and the dot all follow your colour.
Channels DVR shows a device with no channels. It reads lineups from port 80, which macOS reserves — add the M3U + XMLTV instead. Recipe.
The guide won't import. Settings → Guide → Check Guide Now reads it exactly as your server would and names what's blocking it.
A file won't play. MP4, M4V, MOV, MKV and WebM play out of the box; AVI, WMV and DTS need the optional ffmpeg. FAQ.