Skip to content

Features Sources and Sync

Chris Funderburg edited this page Oct 1, 2026 · 2 revisions

Podcasts, internet radio, Subsonic servers, scrobbling, and Phone Sync. This page is part of the Feature List and describes shipped functionality only.

Podcasts

  • Subscribe by URL or search across both Podcast Index and the Apple iTunes catalogue simultaneously, with deduplicated results and source badges, plus a storefront country picker.
  • RSS and Atom feeds, including the Podcasting 2.0 namespace.
  • Podcasting 2.0 support: chapters (jump-to list, integrated with Now Playing), transcripts (view, download, clean up), host and guest credits, funding links (with a confirmation before opening), and a Podroll shelf of shows the publisher recommends.
  • Show notes rendered from sanitised HTML, reachable from the player bar.
  • Downloads: per-episode, batch, and optional per-show auto-download of the newest N episodes. Episode rows show unplayed, in-progress (with time remaining), and played states, and a download mark that fills as the file arrives.
  • Per-episode resume. Every episode remembers where you stopped.
  • Continue Listening rail to instantly continue any started but not completed episodes.
  • Per-show settings: playback speed override, episode order, retention policy (in-progress, played, and downloaded episodes are always kept), and auto-download.
  • Global settings: refresh interval, refresh on launch, skip intervals, default speed, and storefront.
  • OPML import and export of subscriptions, and Mark All as Played across every show.

How to use it: Podcasts.

Internet Radio

  • A first-class station catalog in the sidebar. It starts empty; a starter list of twelve stations on the website can be pasted or dropped in.
  • Broad stream support: plain HTTP and HTTPS streams, ICY and SHOUTcast metadata streams, and HLS. All network streams are probed and decoded by the bundled FFmpeg engine, so a station can broadcast MP3, AAC (LC, HE-AAC, or HE-AACv2), Ogg Vorbis, Opus, or FLAC and it just plays.
  • Add stations by stream URL, or paste a .pls, .m3u, or .m3u8 playlist URL and every stream inside is offered as a station. Importing or dropping a playlist file turns its stream entries into stations too. An .m3u8 that turns out to be an HLS variant ladder is recognised as such and saved as a single station rather than misread as a station list.
  • Live now-playing titles. The ICY (and, for Ogg streams, in-stream) title takes the player's title line, the station moves to the artist line, and the macOS Now Playing widget follows.
  • Stream details sheet: container, codec and profile (LC versus HE-AAC), sample rate, channels, claimed bitrate, and whether the station sends titles at all. These facts, plus the station's own name, genre, and homepage from its headers, are cached per station so the sheet works offline.
  • Honest live-stream semantics: no fake timeline, no seeking, automatic reconnection, and station idents never pollute your scrobbles or play history.
  • Station management: edit, delete (confirmed), Get Info, and next/previous walking the station list.

How to use it: Internet Radio.

Streaming Servers (Subsonic Family)

Subsonic, Navidrome, Airsonic, and OpenSubsonic servers are first-class sources alongside the local library:

  • More than one server, each with its own sidebar section. ⌘⇧1 through ⌘⇧9 expand or collapse the first nine sections, in sidebar order.
  • Per-server browsing: Songs, Albums, Artists, Genres, Playlists, Starred, Random, Recently Added, and Most Played, plus Internet Radio, Podcasts, and Bookmarks where the server supports them.
  • Capability detection. Bòcan probes each server for its type, version, and advertised OpenSubsonic extensions, and only shows what the server can actually do.
  • Secure auth: token-plus-salt or API key, stored in the macOS Keychain.
  • Per-server controls: bitrate cap and preferred transcode format, next-track pre-caching, self-signed TLS allowance, inclusion in global search, sidebar visibility, scrobble-to-server, and starred/rating sync.
  • Federated search across every server that opts in.
  • Offline handling: per-server status dots, offline banners with one-tap retry, and a connection monitor.
  • Streams play through the same gapless engine as local files, with a local stream cache, and stars and ratings write back to the server.

How to use it: Subsonic Servers.

Scrobbling and Listening History

  • Three scrobbling services: Last.fm, ListenBrainz, and Rocksky, all opt-in, plus optional per-server Subsonic scrobbling.
  • Correct eligibility rules: at least 30 seconds long and played at least 50% or 4 minutes, with paused time excluded.
  • Offline-resilient queue with retry backoff, a dead-letter queue, pending and sent-today counts, and explicit Retry Failed and Discard Failed controls.
  • Credentials in the Keychain, never in preferences files.
  • Recent Scrobbles sheet (⌘⌥⇧S) shows the last 50 tracks with their submission status.
  • Radio streams never scrobble.

Phone Sync

One-way, local-network sync to the companion Bòcan for Android app, implementing an open, documented sync protocol:

  • The Mac is the source; the phone keeps a copy. Nothing is ever written back to your files or database.
  • No cloud, no account, no relay. The Mac advertises via Bonjour on your LAN only.
  • Pairing takes seconds and is genuinely secure. A six-digit code, derived from both devices' cryptographic identities on that exact connection, verifies the channel; trust is granted only when you confirm "Pair with this phone?" on the Mac. Pairing attempts are rate-limited.
  • Mutual TLS with certificate pinning in both directions. Revoking a phone in Settings blocks it at the TLS layer on its very next connection.
  • Sync profiles choose what travels: everything, or just selected playlists, with downloaded podcast episodes optional. A live size estimate shows the total before the phone pulls anything.
  • Optional conversion on the way to the phone. Pick a quality in Settings, from MP3 320 down to Opus 128, and anything bigger is converted before it syncs. Each choice shows its storage cost on the phone, converted copies are made just in time and cleaned up afterwards, and the files on the Mac are never touched.
  • Background preparation. A "Ready to sync" counter tracks the Mac fingerprinting each track (the phone verifies downloads against these hashes); tracks appear on the phone as they become ready.
  • Serves tracks, artwork, lyrics, chapters, and podcast episodes, with gzip, ranged requests, and conditional fetches.

How to use it: Phone Sync.

Clone this wiki locally