The RCWeb Radio Controls app (app/radio-c) is the phone and tablet controller for the RCWeb Radio (app/radio).


This app gives users a remote control surface for every active radio display in the same RCWeb room. It loads the station list from /radio/stations.m3u, presents it as a searchable list, and sends the selected stream to the display app for playback.
Multiple phones can use the control app at the same time. Each controller receives display state updates and can select stations or adjust playback for the shared room.
/radio/ on the main display.stations.m3u file.#EXTINF header.The control app sends commands to all radio display apps in the room while excluding control apps. This means one phone can control many screens, and several phones can operate the same shared radio display state.
When the control app starts, it requests the current state from displays in the room. This keeps the controller aligned with the station, playback status, overlay settings, mute state, and volume currently active on the display.
RCWeb assigns each browser tab an app name, room ID, and client ID, then connects clients in the same room through WebSocket messaging. radio-c uses the RCWeb communication helper to call functions on matching viewer apps.
The key target for display commands is radio!*-c. In RCWeb targeting terms, this means "send to radio apps, but exclude radio-c apps." That lets controls update all viewers in the room without accidentally sending player commands to other control screens.
State also flows back the other way. Viewers publish snapshots containing the current station, player state, overlay settings, mute state, volume, and room details. Controls render those snapshots so the phone UI reflects what the display is doing.
Use this app with RCWeb Radio Display (app/radio).