ranger f5feca7dfa feat(0.4.0): now-playing indicator — dancing bars + Web Audio visualizer
Two-layer "this is playing right now" visual:

(1) CSS dancing bars — four tiny vertical bars next to the "Now Playing"
    label, staggered `@keyframes` pulse while audio plays. Pure CSS, no
    JS dependency, tints to the user's WP admin colour scheme via
    var(--wp-admin-theme-color). Driven by a single `.is-playing` class
    on `.radio-player` toggled from the existing play/pause/error
    handlers. Always works.

(2) Web Audio frequency visualizer (progressive upgrade) — on first play,
    builds AudioContext + AnalyserNode + canvas drawing pipeline. When
    the analyser starts returning real (non-zero) data, hides the bars
    and shows the canvas with live frequency bars. Falls back to bars
    if AudioContext is unavailable, createMediaElementSource throws, or
    the analyser returns all-zeros for >2s (CORS silently blocking).
    State machine on player._vizState: no-webaudio / init-failed /
    cors-blocked / ok.

`<audio>` element gained `crossorigin="anonymous"` so Web Audio can read
the stream data (SomaFM serves the CORS headers).

Files: radio.php (version), inc/admin-page.php + inc/dashboard-widget.php
(.radio-player__indicator with .radio-player__bars + canvas; crossorigin
on audio), assets/css/radio.css (indicator, bars, radio-bars-dance
keyframes, canvas size), assets/js/radio.js (tryVisualizer,
startVizLoop, stopVizLoop; play/pause/error handlers wire the loop and
toggle is-playing), inc/about.php (history entry).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-29 23:42:09 +01:00

Radio — SomaFM player for your WordPress dashboard

A small, focused, free WordPress plugin that drops a SomaFM radio player into your admin dashboard. 44 hand-curated stations across 10 genres — ambient, electronic, lounge, rock, metal, jazz, world, reggae, holiday, and specials.

What it does

  • Mini-player on WP Admin → Dashboard (opt-out via Settings)
  • Dedicated page at WP Admin → Radio → My Radio
  • Plays via HTML5 <audio> — no proxy server, no third-party tracking
  • Per-user state: each admin remembers their own station + volume
  • Self-hosted update checker against the Gitea repo

Installation

  1. Download the latest release .zip from git.davidtkeane.com/ranger/a-radio/releases
  2. WP Admin → Plugins → Add New → Upload Plugin
  3. Activate
  4. Look at WP Admin → Dashboard for the mini-player, or WP Admin → Radio

Requirements

  • WordPress 5.0+
  • PHP 7.4+
  • A modern browser (Chrome 90+, Firefox 88+, Safari 14+, Edge 90+)

Credits

All stations and streams are provided by SomaFM, an independent, listener-supported, commercial-free internet radio network broadcasting from San Francisco since 2000. If you enjoy this plugin, please consider donating to SomaFM directly.

License

GPL v2 or later. See LICENSE (the same GPL v2+ terms as WordPress itself).

Author

David Keane — part of the RangerHQ plugin family. rangersmyth.xyz

S
Description
No description provided
Readme GPL-2.0 1.2 MiB
Languages
PHP 59.3%
JavaScript 21.6%
CSS 19.1%