Table of Contents
- FAQ
- Why SomaFM specifically?
- Why only 44 of the ~80 SomaFM channels?
- Does the plugin send any data off my WordPress site?
- Will it work if my WordPress server is behind a firewall?
- Why does the plugin play in the WordPress admin and not on the public site?
- What's the pop-out window for?
- Can I have more than one user listening on the same site?
- Why isn't the station list bigger? Other plugins have thousands of stations.
- What about Spotify / Apple Music / YouTube? Why aren't those built-in?
- How big can the history grow?
- Does it work on multisite?
- Is the source code open?
- Where do I file a bug or feature request?
- Who made this?
FAQ
Why SomaFM specifically?
SomaFM is a listener-supported independent radio network with ~80 always-on channels across nearly every genre — ambient, electronic, lounge, jazz, indie, metal, world, holiday, seasonal specials. Their content is publicly streamable, their endpoints (channels.json, per-station songs/{id}.json) are public and well-documented, and their community guidelines explicitly welcome third-party tools that play their streams. No other free indie radio network ticks all of those boxes.
Why only 44 of the ~80 SomaFM channels?
Quality filter. David picked the 44 he actually listens to. The rest are either too niche, too seasonal (some of the holiday channels overlap), or not a great fit for a wp-admin background-listening context. See Stations for the full curated list and the "how to add a station" walkthrough if you want to extend it.
Does the plugin send any data off my WordPress site?
No, beyond fetching the SomaFM audio stream and the public now-playing track metadata. No telemetry, no analytics, no error reporting, no font/image CDNs. The plugin makes zero wp_remote_* calls. The four search-link buttons (Spotify / YouTube / Apple / Bandcamp) are plain HTML <a href> links that don't fire until you click them. See Privacy for the full audit.
Will it work if my WordPress server is behind a firewall?
The plugin itself runs entirely server-side and client-side on the admin's browser. The audio + metadata fetches happen in the admin's browser, not the server. As long as the admin's browser can reach somafm.com, the plugin works. Your WordPress server doesn't need any outbound access for RangerHQ Radio.
Why does the plugin play in the WordPress admin and not on the public site?
Because it's for admin use. Front-end audio players are a different category of plugin (and usually require shortcodes, theme integration, premium features, etc.). RangerHQ Radio is for the WordPress admin who wants background music while they work in their admin panel — a niche that wasn't well served.
What's the pop-out window for?
When you navigate to a different admin page (e.g. Posts → All Posts → Edit), the dashboard widget's audio context is destroyed because the page reloads. The pop-out opens a separate chromeless WP admin window that ONLY contains the player — that window stays open and keeps the audio going while you navigate the main admin freely.
Open it from the Player page → "Pop out" button. The URL is wp-admin/admin-post.php?action=radio_popout.
Can I have more than one user listening on the same site?
Yes — RangerHQ Radio is fully per-user. Each admin has their own radio_state, radio_history, radio_favourites. Multi-admin sites work perfectly.
Why isn't the station list bigger? Other plugins have thousands of stations.
By design. See Stations — curation is a feature, not a bug. If you want a directory-style "every radio station on the internet" experience, look at plugins that wrap Internet-Radio.com or Shoutcast's directory. RangerHQ Radio is "44 stations David trusts" — narrower, more reliable, lighter weight.
If you want a 30,000-station discovery experience, the Family Chrome extension is the better fit for that — its architecture has an extensibility seam designed for multiple radio-network adapters.
What about Spotify / Apple Music / YouTube? Why aren't those built-in?
They're built-in as search-link buttons on every history track, not as embedded players. Embedding the actual playback would require OAuth / Premium-account gating / public API keys / privacy reset — see The 4 Buttons for the full explanation. Link-out + search is the right architecture for "find this track on another service."
How big can the history grow?
Capped at 500 entries per user. The cap is a constant (RADIO_HISTORY_CAP) in inc/history.php — change it there if you really want more, but 500 is plenty for most listening patterns and keeps the wp_usermeta row reasonably small.
Does it work on multisite?
Yes. Each user's radio_state / radio_history / radio_favourites are per-user, not per-blog. If you have multiple sites, your radio state is the same across all of them.
Is the source code open?
Yes. GPL v2 or later. Full source at https://git.davidtkeane.com/ranger/rangerhq-radio. Inspect every line.
Where do I file a bug or feature request?
Open an issue at https://git.davidtkeane.com/ranger/rangerhq-radio/issues or email david@davidtkeane.com.
Who made this?
David Keane, Dublin, Ireland. david@davidtkeane.com · https://davidtkeane.com