five-on-it / apps/client/src/audio/radio-stations
apps/client/src/audio/radio-stations
The radio's stations, one folder each under apps/client/audio/radio/ (01-riverbend-fm: the number orders them, the rest is the station's id), each with a station.json:
{ "name": "Riverbend FM", "colour": "#ff8a3d", "tagline": "…", "shuffle": true,
"titles": { "02-surge-pricing.mp3": "Surge pricing (on my heart)" } }A station plays the audio files of its folder, in the order of their names (or shuffled), an item's title made from its file's name (03-the-bridge-has-feelings.mp3: "The bridge has feelings") unless titles names it; or urls ([{ "url": "https://…/ep1.mp3", "title": "…" }], a string for a URL alone), any address the page can play, relative ones against the page; or stream, one live web radio's address. A logo.png (or .jpg, .webp, .svg) beside it is drawn on the wheel. buildStations reads them and says what is wrong with each (a station with a fault is left out).