RadioPlugin is an extension for Covas:NEXT that lets you listen to and control internet radio stations directly from the assistant interface. It supports actions and voice commands to play, stop, switch stations, adjust volume, and optionally announce track changes with a DJ-style tone.
Now featuring Pydantic validation, lazy/active track monitoring, and a toggle to enable/disable track-change announcements.
Includes a curated list of stations such as:
- Elite Dangerous community stations: Radio Sidewinder, Hutton Orbital Radio
- SomaFM channels: Deep Space One, Groove Salad, Space Station, Secret Agent, Defcon, Lush, Synphaera
- Italian stations: Radio Capital, Radio DeeJay, DeeJay Linetti
- Gaming/Demoscene stations: Kohina Radio, CVGM, Nectarine, Ericade
- Others: BigFM, GalNET Radio
(Full list with URLs is available in the plugin settings UI.)
Examples:
Play radioPlay Radio SidewinderStop radioChange station to BigFMSet volume to 50Enable announcements/Disable announcementsWhat's playing right now?[with announcements enabled]
- Play/Stop/Change Station via actions and voice commands.
- Volume Control: Set playback volume (0–100).
- Lazy/Active Track Monitoring:
- Starts in lazy mode (long intervals), switches to active mode when titles repeat.
- Track Announcements:
- Announces current track with duplicate suppression and Unicode normalization.
- Toggle to enable/disable DJ-style track-change announcements.
- Special Station Retrievers:
- Dedicated retrievers for SomaFM, Hutton Orbital, Radio DeeJay, and MP3 streams that VLC cannot parse.
- Fallback to VLC metadata for standard stations.
- Robust Event Handling:
- Debounced announcements, delayed after commands to avoid overlap.
- Safe Threading & Logging:
- Improved concurrency and error handling.
In Settings → Radio Plugin:
- Default Volume: Initial playback volume.
- Track Change Announcements: Toggle ON/OFF for DJ-style track-change notifications.
- Available Stations: Informational list with descriptions.
- Copy the plugin folder into
%APPDATA%/com.covas-next.ui/plugins/. - Ensure
python_vlcandvlc.pyare present indeps/or installed globally. - Install dependencies:
pip install -r requirements.txt --target=./deps --upgrade - Install VLC media player.
- Restart Covas:NEXT and enable the plugin.
- [If you're upgrading from previous version]: do a "Clear History" in the "Characters" tab on Covas:NEXT
python_vlc >= 3.0.12118requests>=2.25.0beautifulsoup4>=4.9.3urllib3>=1.26.0- VLC media player installed on the system.
- Include
deejay_track_retriever.pyin the plugin folder for DeeJay stations. - Include
mp3_stream_track_retriever.pyin the plugin folder for generic mp3 stream that use Icy Metadata. - No breaking changes for existing settings.