c7b2258471
Re-ran PCP after v0.7.0 — issue count 169 → 4. Closes the only real one of the four: - Tested up to: 6.7 → 7.0 in readme.txt (PCP outdated_tested_upto_header). WordPress 7.0 is current. - Stable Tag bumped to 0.7.1 in readme.txt. Removed (again) - .DS_Store files (root + assets/). macOS Finder regenerated them between PCP runs; they will not be present in the submission zip. Known PCP residue (not addressable in source) - .gitignore triggers a hidden_files WARNING on PCP. Keeping it is needed for git; will be excluded from the submission zip per WP.org packaging conventions. Files: radio.php (version), readme.txt (Tested-up-to + Stable Tag + new 0.7.1 changelog + upgrade notice), CHANGELOG.md, inc/about.php (rotate v0.7.1 → latest, v0.7.0 → earlier list), .DS_Store files deleted. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
114 lines
7.9 KiB
Plaintext
114 lines
7.9 KiB
Plaintext
=== RangerHQ Radio ===
|
||
Contributors: davidtkeane
|
||
Donate link: https://buymeacoffee.com/davidtkeane
|
||
Tags: radio, music, audio, internet radio, background music
|
||
Requires at least: 5.3
|
||
Tested up to: 7.0
|
||
Stable tag: 0.7.1
|
||
Requires PHP: 7.4
|
||
License: GPLv2 or later
|
||
License URI: https://www.gnu.org/licenses/gpl-2.0.html
|
||
|
||
A small, focused internet radio player for your WordPress admin — 44 hand-curated stations, history, favourites, and a pop-out window.
|
||
|
||
== Description ==
|
||
|
||
**RangerHQ Radio** adds a tiny, focused internet radio player to your WordPress dashboard so you can have background music while you work in the admin — without leaving the page, opening Spotify, or installing a desktop client.
|
||
|
||
= What you get =
|
||
|
||
* **44 hand-curated stations from [SomaFM](https://somafm.com)** across 10 genres — ambient, electronic, lounge, rock, metal, jazz, world, reggae, holiday and specials. From coding-focus ambient (Groove Salad, Drone Zone) to drive-time electronic (DEF CON Radio, Beat Blender) to mellow lounge (Lush, Secret Agent).
|
||
* **Now-playing indicator** — small CSS dancing-bars equalizer that pulses while audio is playing. A Web Audio frequency visualizer kicks in automatically when the browser allows it (with a graceful fallback to the CSS bars).
|
||
* **Track history + favourites** — every track that scrolls past is logged to your personal History page (capped at 500); a star toggle promotes the good ones to a separate Favourites tab that doesn't age out. Each row has four search links (Spotify, YouTube, Apple Music, Bandcamp) so you can find that track on whichever service you use.
|
||
* **Pop-out mini-player** — a 380×560 standalone window that persists across the main tab's navigation, so background music doesn't cut when you move between Plugins, Posts, Users, etc.
|
||
* **OS media keys** — F8/headphone buttons/lock-screen widget play and pause the radio (via MediaSession API).
|
||
* **Mute toggle** — the speaker icon is clickable; remembers prior volume.
|
||
* **Dark theme** — explicit dark option for the player surface (`Settings → Theme`).
|
||
* **Per-user state** — your chosen station, volume, theme, history, and favourites all live in `user_meta`, so each WordPress user has their own setup.
|
||
|
||
= Privacy + dependencies =
|
||
|
||
* **No tracking, no telemetry, no third-party scripts on your admin pages.** Audio plays directly in your browser via HTML5 — just an `<audio>` element pointed at SomaFM's public streams.
|
||
* **No data leaves your site.** History and favourites are stored in your own `wp_usermeta`. The four search links use deep-link search URLs on each provider's public site — no API keys, no third-party JS embedded.
|
||
* **Stations courtesy of [SomaFM](https://somafm.com)** — an independent, listener-supported, commercial-free internet radio network broadcasting from San Francisco since 2000. RangerHQ Radio is a small wrapper around their public streams. If you enjoy the music, please consider [supporting SomaFM directly](https://somafm.com/support/).
|
||
|
||
== Installation ==
|
||
|
||
1. Upload the plugin folder to `/wp-content/plugins/` (or install from the WordPress plugin directory).
|
||
2. Activate the plugin through the **Plugins** menu in WordPress.
|
||
3. Open **Radio → My Radio** in the admin sidebar and press Play. Your station and volume choice are saved per user.
|
||
|
||
There is no separate configuration step — defaults are sensible (Groove Salad at 60% volume). Settings are at **Radio → Settings**.
|
||
|
||
== Frequently Asked Questions ==
|
||
|
||
= Does this work on the front-end of my site? =
|
||
|
||
No — RangerHQ Radio is admin-only. It adds a player to the WordPress dashboard for you (and your other authenticated admins) to use while working. It does not embed a radio player on the public-facing site.
|
||
|
||
= Can I add my own stations? =
|
||
|
||
Not via the admin yet. The station list is hard-coded in `inc/stations.php` (44 SomaFM stations). If you'd like to add custom stations or other internet radio sources, please open an issue on the [Gitea repo](https://git.davidtkeane.com/ranger/a-radio).
|
||
|
||
= The pop-out window doesn't open. =
|
||
|
||
Your browser may be blocking pop-ups. Click the address bar's pop-up icon to allow pop-ups for this site, then try again.
|
||
|
||
= Why does Touch ID / a passkey prompt appear when I press Play? =
|
||
|
||
It shouldn't. This plugin uses no biometrics or authentication of its own — that's a different plugin in the RangerHQ family.
|
||
|
||
= The current-track display says nothing / is hidden. =
|
||
|
||
SomaFM's track-info endpoint (`somafm.com/songs/{station}.json`) is fetched best-effort. If it's unreachable or the browser blocks the request, the track display silently hides. The player keeps working regardless.
|
||
|
||
== Screenshots ==
|
||
|
||
1. The main player page (Radio → My Radio) with the now-playing indicator dancing while audio is playing.
|
||
2. The dashboard widget — same player, compact, sits alongside your usual dashboard widgets.
|
||
3. Track History page with star-to-favourite and four search-provider links per row.
|
||
4. Pop-out mini-player window — keeps playing while you navigate the rest of the admin.
|
||
|
||
== Changelog ==
|
||
|
||
= 0.7.1 =
|
||
* Plugin Check follow-up — `Tested up to` bumped from 6.7 to 7.0 (PCP `outdated_tested_upto_header`). Stray `.DS_Store` files re-deleted (macOS Finder regenerated them between PCP runs; they won't be in the submission zip).
|
||
|
||
= 0.7.0 =
|
||
* WordPress.org submission prep — full PCP-clean. Plugin name normalised to **RangerHQ Radio** (SomaFM stays in the description as the data source). Text Domain renamed `radio` → `a-radio` everywhere (134 i18n call sites updated). Six `printf` / `sprintf` calls now carry translator comments. All admin `$_POST` access now `wp_unslash()` + `sanitize_*` at the access point. `Requires at least` bumped to 5.3 (matches `wp_date()` usage). Pop-out window now uses `wp_enqueue_*` + `wp_print_styles()` / `wp_print_footer_scripts()` instead of raw `<link>` / `<script>` tags; popup-specific CSS moved into `radio.css` under `body.radio-popout` scope. `.DS_Store` files removed. Proper `readme.txt`.
|
||
|
||
= 0.6.3 =
|
||
* Discreet "buy me a coffee" support link in the Updates panel and the About-page Credits card. Single `RADIO_SUPPORT_URL` constant; conditional render — silently hidden if the constant is empty.
|
||
|
||
= 0.6.2 =
|
||
* Current version badge on the Settings page — small grey pill follows the H1 reading `v{RADIO_VERSION}`.
|
||
|
||
= 0.6.1 =
|
||
* About page restructure — 3-card top row (What / Who / Credits) + full-width Version history with the latest expanded and earlier releases as one-liners.
|
||
|
||
= 0.6.0 =
|
||
* Pop-out mini-player. `↗ Pop out` button beside Play opens a 380×560 standalone window that persists across the main tab's navigation, so background music keeps playing while you click around Plugins / Posts / Users.
|
||
|
||
= 0.5.0 =
|
||
* Track history + favourites. Every track that scrolls past is logged to a per-user `Radio → History` page (capped at 500). Star toggle promotes tracks to a separate Favourites tab. Four search-provider links per row (Spotify, YouTube, Apple Music, Bandcamp).
|
||
|
||
= 0.4.0 =
|
||
* Now-playing visual indicator. CSS dancing-bars equalizer that pulses while audio is playing. Web Audio frequency visualizer kicks in when the browser allows it (with graceful fallback).
|
||
|
||
= 0.3.0 =
|
||
* Dark theme, mute toggle on the speaker icon, MediaSession API (OS media keys), SomaFM current-track polling under the station description.
|
||
|
||
= 0.2.0 =
|
||
* UI rebuilt to WordPress admin standards — postbox container, native play/pause button with text label, picks up the user's admin colour scheme via `var(--wp-admin-theme-color)`.
|
||
|
||
= 0.1.0 =
|
||
* First release — 44 SomaFM stations across 10 genres, dashboard widget + dedicated admin page, per-user state, self-hosted Gitea updater.
|
||
|
||
== Upgrade Notice ==
|
||
|
||
= 0.7.1 =
|
||
PCP follow-up — `Tested up to` bumped to 7.0. No user-visible changes.
|
||
|
||
= 0.7.0 =
|
||
WordPress.org submission prep. Plugin name now "RangerHQ Radio". Text Domain renamed `radio` → `a-radio`. No user-visible behaviour changes; settings, history, and favourites all survive the upgrade.
|