Live-TV: die Sender stehen im Programmraster, nicht in einer Senderliste

Drei geratene Adressen für die Senderliste antworteten auf einem echten
Server alle mit 404. Statt ein viertes Mal zu raten, liest die App jetzt
zwei Dinge: was /media/providers an Endpunkten angibt, und das
Programmraster selbst — die Weboberfläche von Plex zeichnet ihren Guide
daraus, und jeder Rastereintrag trägt Sendername, Nummer, Logo und
Einschaltweg mit sich.

Damit kommen Sender und Programm aus einer Abfrage, und ihre Kennungen
passen zueinander. Getrennt geholt taten sie das nicht: das Programm
landete in keiner Zeile.

Dazu die Ansicht, für die das alles da ist — ein Programmraster mit
stehender Senderspalte, mitlaufender Zeitachse und einer Jetzt-Linie.
Antippen öffnet die Sendung; läuft sie gerade, schaltet ein Knopf um.

Die Geometrie steht in GuideLayout und ist geprüft: in einer View wäre
sie unsichtbar falsch. Die Trennlinien gehören in die Zeile statt
zwischen die Zeilen — Divider ist auf 3x-Schirmen keinen ganzen Punkt
hoch, und der Bruchteil summiert sich, bis die angetippte Zeile zum
Nachbarsender gehört.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Scarriffle
2026-09-12 12:03:11 +02:00
co-authored by Claude Opus 5
parent 9f9eec1b7f
commit 591cba73a7
9 changed files with 3462 additions and 2409 deletions
@@ -0,0 +1,52 @@
{
"MediaContainer": {
"size": 3,
"Metadata": [
{
"ratingKey": "epg://1",
"title": "Tagesschau",
"summary": "Nachrichten",
"beginsAt": 1757682000,
"endsAt": 1757682900,
"Media": [
{
"channelIdentifier": "6228f7f2364e02fa5ec8e51c-11",
"channelTitle": "SRF 1 HD",
"channelCallSign": "SRF1",
"channelThumb": "/library/metadata/11/thumb",
"channelVcn": "1",
"Part": [{ "key": "/livetv/channels/11" }]
}
]
},
{
"ratingKey": "epg://2",
"title": "Meteo",
"beginsAt": 1757682900,
"endsAt": 1757683200,
"Media": [
{
"channelIdentifier": "6228f7f2364e02fa5ec8e51c-11",
"channelTitle": "SRF 1 HD",
"channelVcn": 1,
"Part": [{ "key": "/livetv/channels/11" }]
}
]
},
{
"ratingKey": "epg://3",
"title": "Sport aktuell",
"beginsAt": 1757682000,
"endsAt": 1757685600,
"Media": [
{
"channelIdentifier": "6228f7f2364e02fa5ec8e51c-12",
"channelCallSign": "SRF2",
"channelVcn": "2",
"Part": [{ "key": "/livetv/channels/12" }]
}
]
}
]
}
}