Files
radios-vigo/README.md
T
XoséandClaude Fable 5.2 333b8ef7ad 1.0.1: get along with KodiMov+
- Channel numbers: 1.0.0 set "use channel numbers from backend" before
  "always", which Kodi refuses with more than one PVR instance loaded, and
  wrote its marker anyway. Now it checks every 5 minutes: if the setting is
  hidden it turns "always" on, and it turns the setting on once (new marker
  numbers-on, so existing installs get one proper pass). It never turns
  anything off, and turning it off by hand afterwards is respected.
- Takes turns with KodiMov+ to restart IPTV Simple, through the
  pvr.iptvsimple.restarting property of Kodi's home window.

Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>
2026-11-13 13:41:36 +01:00

74 lines
3.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Radios de Vigo (service.radios.vigo)
Kodi add-on that adds the radio stations on Vigo's FM dial and news radio from
the UK, US and Portugal to Kodi's **Radio** section, with logos and groups:
| Group | Channel numbers |
|---|---|
| Vigo (Spanish and the Portuguese ones from Valença) | the FM frequency, e.g. 100.6 = SER Radio Vigo |
| Noticias · Reino Unido | 201–205 (BBC Radio 4, World Service, 5 Live, Times Radio, LBC News) |
| Noticias · EUA | 301–305 (NPR, WNYC, WBUR, KQED, Bloomberg Radio) |
| Noticias · Portugal | 401–402 (TSF, Observador) + Antena 1 (98.2) |
Religious stations (Radio María, Radio Vaticano, La Voz de Fátima, COPE, Rádio
Renascença, …) are left out on purpose.
## How it works
`service.py` runs when Kodi starts and after each update. It writes an
IPTV Simple instance (`instance-settings-95.xml`, or the next free number)
that reads `resources/radio.m3u` and `resources/logos/` from the add-on
folder, and restarts IPTV Simple (only when nothing is playing) if the
station list changed.
## Living with KodiMov+
Both add-ons keep an instance of IPTV Simple, and share two things in Kodi:
- **Channel numbers.** Kodi only lets *Use channel numbers from backend* be
changed while it applies: with one PVR instance loaded, or with several and
*always* on. So which add-on came first changed the result. Both add-ons
now check it every few minutes: if the setting is hidden they turn *always*
on, and they turn the setting itself on once. Neither ever turns anything
off, and once it has been on, turning it off by hand is respected.
- **Restarting IPTV Simple** restarts every instance. Each add-on does it only
when nothing is playing, and they take turns through a property of Kodi's
home window (`pvr.iptvsimple.restarting`).
## Programme guide
`resources/lib/epg.py` builds `epg.xml` in the add-on's profile folder when
Kodi starts and then every 6 hours (30 minutes after a failed source). A
source that fails keeps its previous programmes (`guide.json`). IPTV Simple
reloads the list and the guide every hour, which is when Kodi takes it.
| Stations | Source |
|---|---|
| BBC Radio 4, World Service, 5 Live | BBC RMS schedule API (`rms.api.bbc.co.uk`) |
| LBC News | epgshare01 UK guide (`epg_ripper_UK1.xml.gz`) |
| Antena 1, 2, 3 | RTP EPG JSON (`rtp.pt/EPG/json/rtp-channels-page/list-grid/radio/<1-3>/...`) |
| RNE, Radio 3, Radio 5, Radio Clásica | RTVE guide pages (`rtve.es/play/guia-rne/<slug>/`) |
| WBUR | WBUR weekly schedule (`api.wbur.org/schedule`) |
No usable source yet: CRTVG (built in JavaScript), SER (blocks scripts),
Onda Cero, esRadio, Radio Marca, WNYC, KQED, NPR, Times Radio, TSF, Observador
and the music stations. To add one, write a function in `epg.py` and map the
station's tvg-id in `CHANNELS`. Test with
`python3 -I resources/lib/epg.py /tmp/epg.xml`.
Uninstalling the add-on leaves that instance behind: remove it in
IPTV Simple's settings (or delete the instance file).
## Changing stations
1. Edit `tools/stations.txt`.
2. `python3 -I tools/check.py` tests every stream with ffprobe.
3. `python3 -I tools/build.py` writes `resources/radio.m3u` and fetches missing logos.
4. Raise `version` in `addon.xml` (and add a `<news>` line), commit, push to `main`.
5. Pushing to `main` doesn't publish by itself: dispatch the skin repo's
`kodi-repo.yml` workflow (or wait for its daily run), which puts the new
version in repository.xocko. Boxes then update it like any other add-on
(`kodi-send -a "UpdateAddonRepos(true)"`).
`tools/` and this README aren't in the add-on (`.gitattributes` export-ignore).