From 175e8364673f5713c1fdfee2681bef15d5091849 Mon Sep 17 00:00:00 2001 From: ulrich <not disclosed> Date: Sat, 27 Jan 2018 14:52:38 +0000 Subject: [PATCH] Doku ergänzt --- README.md | 162 +++++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 136 insertions(+), 26 deletions(-) diff --git a/README.md b/README.md index 1b15a73..57a80a4 100644 --- a/README.md +++ b/README.md @@ -2,18 +2,27 @@ Eine Bedienoberfläche für Webradio -## Prototyp +## Funktionen -Diese Anwendung ist zur Zeit im Bau. Der aktuelle Prototyp zum Stand des Codes in diesem Repository ist hier zu sehen: -[Link zum Prototyp](/data/ulrich/test/radio-ui). +Das radio-ui zeigt eine Übersicht von Radiosendern. Antippen eines Senders in der Übersicht spielt den [Livestream](/gitblit/doc/web!radio-ui.git/master/radiostreams.md) des Senders ab. -## Nutzung von Vorlagen +Radiosender können hinzugefügt, geändert und gelöscht werden. Ein Suchfeld ermöglicht das Einschränken der Übersicht auf bestimmte Sender. -Die Anwendung radio-ui ist ein Beispiel für die Nutzung von Vorlagen in Webanwendungen. Die Datei `index.html` definiert Bereiche einer HTML-Seite als `div`-Elemente die während der Ausführung des Programmes dynamisch mit wechselnden Inhalten gefüllt werden. +Das Abspiel-Ziel ist konfigurierbar: Ein Radionsender kann entweder auf dem Gerät abgespielt werden, auf dem das radio-ui im Browser läuft oder auf einem anderen Gerät wie z.B. einem [Raspberry Pi](/gitblit/doc/web!radio-ui.git/master/pirc.md). + +## Protoyp, Demo + +Das radio-ui als einzelne Webanwendung hat prototypischen Charakter, es kann für allerlei Webradio-Anwendungen die wiederverwendbare Grundlage bilden. + +Als reinem Client-Teil solcher Anwendungen fehlt dem radio-ui ein zentraler Anwendungskern mit Funktionen zum Ändern und Speichern individueller Einstellungen für Radionsender und Abspieler an einem zentralen Ort. Die Trennung von Client und Server ist bewußt so gewählt, um einen gleichartigen Client-Teil für verschiedene Implementierungen auf der Serverseite zu ermöglichen. + +Der aktuelle Stand des Codes in diesem Repository kann hier ausprobiert werden: [Link zur Demo](/data/ulrich/test/radio-ui). + +Code und Demo des radio-ui [veranschaulichen](/gitblit/doc/web!radio-ui.git/master/beispiel.md) zusätzlich zum praktischen Nutzen als Webradiofernbedienung verschiedene Aspekte des Baus von Webanwendungen. ## Abhängigkeiten -Zur Verwendung des radio-ui sind die folgenden Komponenten erforderlich +Neben dem Code in diesem Repository sind zur Nutzung des radio-ui die folgenden Komponenten erforderlich + [jQuery](http://jquery.com/) + [Mustache](https://github.com/janl/mustache.js) @@ -22,47 +31,148 @@ Diese sind in der Datei `index.html` über die folgenden Einträge eingebunden. ```` -<link rel="stylesheet" type="text/css" href="../jslib/app-menu/nav-toggle.css"> <link rel="stylesheet" type="text/css" href="../jslib/app-menu/app-menu.css"> <script src="../jslib/jquery-1.11.1/jquery-1.11.1.min.js"></script> <script src="../jslib/mustache/mustache.min.js"></script> <script src="../jslib/app-menu/app-menu.js"></script> ```` -Sollen einzelne Komponenten von einem anderen Ort wie beispielsweise einem Content Delivery Network (CDN) eingebunden werden, müssen nur die obigen Einträge entsprechend angepasst werden. +Sollen einzelne Komponenten von einem anderen Ort, beispielsweise aus einem Content Delivery Network (CDN) eingebunden werden, müssen die obigen Einträge entsprechend angepasst werden. -## Radiostreams +## Installation -Nachfolgend die Adressen einiger Radiostreams +Zur Verwendung des radio-ui muss dessen Code mit den Komponenen kombiniert werden, die vom radio-ui benötigt werden. -### hr3 +1. Code aus diesem Repository herunterladen +1. Die unter Abhängigkeiten oben angegebenen Komponenten Herunterladen +1. Aus den heruntergeladenen Teilen eine Ordnerstruktur bilden -[Livestream-Übersicht](http://www.hr3.de/service/hr3-online-hoeren,webradio-100.html) +```` +radio-ui/ + hier der Inhalt aus diesem Repository +jslib/ + jquery-1.11.1/ + jquery-1.11.1.min.js + mustache/ + mustache.min.js + app-menu/ + hier der Inhalt aus dem app-menu-Repository +```` -128 kbit http://hr-hrinfo-live.cast.addradio.de/hr/hrinfo/live/mp3/128/stream.mp3 +Die obige Ordnerstruktur wird auf einem HTTP-Server wie z.B. [Tomcat](https://de.wikipedia.org/wiki/Apache_Tomcat) oder [lighttpd](http://www.lighttpd.net/) hinterlegt und kann dann mit einem Browser aufgerufen werden. -48 kbit http://hr-hr3-live.cast.addradio.de/hr/hr3/live/mp3/48/stream.mp3 +## Noch zu erledigen -### hr info +### Templates für Mustache dynamisch laden -[Livestream-Übersicht](http://www.hr-inforadio.de/livestream/index.html) +Spart Ladezeit zu Beginn. Lösungsansatz: Eine Funktion, die als Parameter das Element erhält, dessen html mit dem gerenderten Template ersetzt werden soll und den zu rendernden Inhalt. Die dynamische Ladefunktion -128 kBit/s http://hr-hrinfo-live.cast.addradio.de/hr/hrinfo/live/mp3/128/stream.mp3 +1. prüft, ob das Template schon im cache ist +1. Lädt das Template, wenn nicht +1. wartet, bis das Template geladen ist +1. rendert das Template mit dem übergebenen Inhalt +1. schreibt das Ergebnis ins html des übergebenen Elements -48 kBit/s http://hr-hrinfo-live.cast.addradio.de/hr/hrinfo/live/mp3/48/stream.mp3 +Der letzte Teil des Ablaufs muss asynchron gefasst sein, damit auf das Laden gewartet werden kann. -### radiobob +## Schnittstellenbeschreibung -[Livestream-Übersicht](http://www.radiobob.de/radiobob/empfang/livestream) +Für den Prototyp des radio-ui können verschiedene Arten des Umgangs mit Sendern und Abspielern hergestellt werden. Die folgenden Angaben zeigen die Punkte auf, an denen eine konkrete Implementierung ansetzen kann. -MP3: http://bob.hoerradar.de/radiobob-live-mp3-hq +### Sender -Mobile Nutzung: http://bob.hoerradar.de/aac-radiobob +#### Senderliste lesen -### FFH +Aufruf -[Livestream-Übersicht](https://www.ffh.de/musik/webradios/stream-adressen.html) +```` +data/sender.json +```` -128kbps http://mp3.ffh.de/radioffh/hqlivestream.mp3 +Antwort -48kbps http://mp3.ffh.de/radioffh/livestream.aac +```` +{ + "senderliste": { + "titel": "Senderliste", + "inhalt": [ + { + "senderid": 1, + "sendername": "hr info", + "senderurl": "http://hr-hrinfo-live.cast.addradio.de/hr/hrinfo/live/mp3/128/stream.mp3", + "senderlogo": "../bilder/hr-info.png" + }, + { + "senderid": 2, + "sendername": "radiobob", + "senderurl": "http://bob.hoerradar.de/radiobob-live-mp3-hq", + "senderlogo": "../bilder/radio-bob-logo-80.png" + }, + usw. + ] + } +} +```` + +#### Neuen Sender speichern + +Noch nicht realisiert. + +#### Änderungen an einem Sender speichern + +Noch nicht realisiert. + +#### Sender löschen + +Noch nicht realisiert. + +### Abspieler + +#### Abspielerliste lesen + +Aufruf + +```` +data/abspieler.json +```` + +Antwort + +```` +{ + "abspielerliste": { + "titel": "Abspielerliste", + "inhalt": [ + { + "abspielerid": 1, + "abspielername": "dieses Gerät", + "abspielerurl": "", + "abspielertyp":"lokal", + "abspielerbild": "", + "abspielerzustand":"" + }, + { + "abspielerid": 2, + "abspielername": "Raspberry Pi Wohnzimmer", + "abspielerurl": "", + "abspielertyp":"pirc", + "abspielerbild": "", + "abspielerzustand":"selected" + }, + usw. + ] + } +} +```` + +#### Neuen Abspieler speichern + +Noch nicht realisiert. + +#### Änderungen an einem Abspieler speichern + +Noch nicht realisiert. + +#### Abspieler löschen + +Noch nicht realisiert. -- Gitblit v1.9.3