Skip to content

Focus Radio 0.1.0

Choose a tag to compare

@Inhum Inhum released this 04 Jul 03:51
· 9 commits to main since this release

First public release.

Added

  • Menu-bar app with an animated equalizer icon and a popover UI (station picker,
    play/pause, volume slider).
  • 14 curated stations across three providers: SomaFM (7 channels), Radio Paradise
    (Mellow, Main, Global), NTS Mixtapes (Slow Focus, Low Key, Sheet Music, Expansions).
  • SomaFM playlists refreshed on launch via .pls (best available mirror per station).
  • Multi-layer fallback per station: current URL → per-URL watchdog → next URL in the list
    → hardcoded snapshot → whole-station retry.
  • Real-playback detector (buffer/bytes/currentTime) instead of relying on
    timeControlStatus == .playing alone.
  • Popover auto-closes on click outside the app (global NSEvent monitor).
  • --test-all self-test that iterates all stations and exits non-zero if any fail;
    --test-one <idx> for verbose single-station diagnostics.
  • App icon (concentric circles on a warm orange gradient), generated via CoreGraphics
    (scripts/make-icon.sh).

Known limitations

  • Some CDN-fronted stations (Radio Paradise Global, NTS Mixtapes) are geo-blocked or
    serve a redirect from certain regions; the app cycles through fallbacks but cannot
    always recover.

Install: download FocusRadio-0.1.0.dmg below, open it, and drag FocusRadio to
Applications. The app isn't notarized — on first launch use System Settings → Privacy
& Security → Open Anyway.