|
|
Zeile 1: |
Zeile 1: |
− | ==Beschreibung==
| |
− | Plugin mit Möglichkeit einer Benutzerfrage aus einem Shell Script heraus auf.
| |
| | | |
− | Implementiert sind:
| |
− | * Statusmeldungen
| |
− | * Infomeldungen
| |
− | * Warnungen
| |
− | * Fehlermeldungen
| |
− | * Mehrzeiliger Text (mit scrollen)
| |
− | Zusätzliche "svdrpsend" Befehle:
| |
− | <pre>
| |
− | SAQTIME SAQMESS SAQMESI SAQMESW SAQMESE
| |
− | SAQPARA SAQTEXT SAQLSTQ SAQDELQ SAQRESP
| |
− | SAQLSTR SAQDELR SAQTEST
| |
− |
| |
− | SAQTIME [ timeout ]
| |
− | Da Standardmäßig nur 2 Sekunden als Anzeigezeit von OSD-Nachrichten im
| |
− | Setup eingestellt sind, ist es möglich mit diesem Befehl vor dem Text
| |
− | die maximale Anzeigedauer zu bestimmen.
| |
− |
| |
− | SAQMESS [ <message> ]
| |
− | SAQMESI [ <message> ]
| |
− | SAQMESW [ <message> ]
| |
− | SAQMESE [ <message> ]
| |
− | Mit diesen 4 Befehlen werden kurze (ab VDR-Version 1.3.x einzeile)
| |
− | Texte an dem untern Bildschirmrand dargestellt. Durch die Verwendung
| |
− | der Skins ab 1.3.7 ist dort leider nur eine Zeile möglich.
| |
− | In der VDR-Version 1.2.6 können mehrere Zeilen durch ein '|' getrennt
| |
− | dargestellt werden, soll der Text mit einer Leerzeile beginnen/enden,
| |
− | so ist dort als erstes/leztes Zeichen ein '@' zu verwenden.
| |
− |
| |
− | Die 4 Befehle unterscheiden sich in der Farbe des Dargestellten Textes.
| |
− |
| |
− | Ohne Parameter aufgerufen geben sie die nächste darzustellende Nachricht
| |
− | dieses Typs zurück, wenn noch welche in der Warteschlange auf die
| |
− | Darstellung wartet.
| |
− |
| |
− | Es können bis zu 99 Nachrichten in der Warteschlange gespeichert werden.
| |
− |
| |
− | SAQPARA [ title, red, green, yellow, blue ]
| |
− | Für die Menüdarstellung eines langen Textes wird mit diesem Befehl die
| |
− | Beschriftung der Farbtasten und des Titels festgelegt. Dieser Befehl
| |
− | speichert die Werte nur, er ist nur bei Veränderung aufzurufen.
| |
− | Sollten sich Nachrichten in der Warteschlange befinden, so wird auch
| |
− | die Änderung in der Warteschlange gespeichert, d. H. zum richtigen
| |
− | Zeitpunkt erst ausgeführt.
| |
− |
| |
− | SAQTEXT [ long text ]
| |
− | Mit diesem Befehl wird ein Menü (z.Z. noch kein richtiges) angezeigt.
| |
− | Mit den Tasten Auf/Ab und Links/Rechts kann der Text gescrollt werden.
| |
− |
| |
− | Ohne Parameter aufgerufen geben sie die nächste darzustellende Nachricht
| |
− | dieses Typs zurück, wenn noch welche in der Warteschlange auf die
| |
− | Darstellung wartet.
| |
− |
| |
− | SAQLSTQ
| |
− | Alle wartenden Nachrichten werden aufgelistet.
| |
− |
| |
− | SAQDELQ
| |
− | Alle wartenden Nachrichten werden gelöscht.
| |
− |
| |
− | SAQRESP [ id ]
| |
− | Jede Nachricht bei SAQMESx und SAQTEXT liefert eine ID zurück (gleich
| |
− | erster Wert in der Antwort), mit dieser ID läst sich die Reaktion des
| |
− | Benutzers festellen.
| |
− |
| |
− | SAQLSTR
| |
− | Alle Antworten, die noch nicht abgefragt oder verfallen sind werden
| |
− | angezeigt.
| |
− |
| |
− | SAQDELR
| |
− | Alle Antworten, die noch nicht abgefragt oder verfallen sind werden
| |
− | gelöscht, standardmäßig verbleiben sie aber auch nur 10 minutes in
| |
− | der Antwortwarteschlange.
| |
− | </pre>
| |
− | ==Hardwareanforderungen==
| |
− | Keine.
| |
− |
| |
− | ==Softwareanforderungen==
| |
− | Patch des VDR's ([http://www.fast-info.de/vdr/svdrp_0.0.1.diff svdrp_0.0.1]) - noch nicht die entgültige Version, Klaus Schmidinger hat dabei andere Vorstellung der Schnittstelle
| |
− |
| |
− | ==Installation==
| |
− | Siehe [[Plugin Installation]].
| |
− |
| |
− | ==Konfiguration==
| |
− | ==Sample==
| |
− | Kleines bsp. für 2 Abfragen + Rückgabe Wert (Key):
| |
− | <pre>#!/bin/sh
| |
− |
| |
− | TIMEOUT=20
| |
− |
| |
− | read_key() {
| |
− | case "${1}" in
| |
− | 0) KEY="UP" ;;
| |
− | 1) KEY="DOWN" ;;
| |
− | 2) KEY="MENU" ;;
| |
− | 3) KEY="OK" ;;
| |
− | 4) KEY="BACK" ;;
| |
− | 5) KEY="LEFT" ;;
| |
− | 6) KEY="RIGHT" ;;
| |
− | 7) KEY="RED" ;;
| |
− | 8) KEY="GREEN" ;;
| |
− | 9) KEY="YELLOW" ;;
| |
− | 10) KEY="BLUE" ;;
| |
− | 11) KEY="0" ;;
| |
− | 12) KEY="1" ;;
| |
− | 13) KEY="2" ;;
| |
− | 14) KEY="3" ;;
| |
− | 15) KEY="4" ;;
| |
− | 16) KEY="5" ;;
| |
− | 17) KEY="6" ;;
| |
− | 18) KEY="7" ;;
| |
− | 19) KEY="8" ;;
| |
− | 20) KEY="9" ;;
| |
− | 21) KEY="PLAY" ;;
| |
− | 22) KEY="PAUSE" ;;
| |
− | 23) KEY="STOP" ;;
| |
− | 24) KEY="RECORD" ;;
| |
− | 25) KEY="FASTFWD" ;;
| |
− | 26) KEY="FASTREW" ;;
| |
− | 27) KEY="POWER" ;;
| |
− | 28) KEY="CHAN+" ;;
| |
− | 29) KEY="CHAN-" ;;
| |
− | 30) KEY="VOL+" ;;
| |
− | 31) KEY="VOL-" ;;
| |
− | 32) KEY="MUTE" ;;
| |
− | 33) KEY="SCHEDULE" ;;
| |
− | 34) KEY="CCHANNELS" ;;
| |
− | 35) KEY="TIMERS" ;;
| |
− | 36) KEY="RECORDINGS" ;;
| |
− | 37) KEY="???" ;;
| |
− | 38/37) KEY="SETUP" ;;
| |
− | 39/38) KEY="COMMANDS" ;;
| |
− | 40/39) KEY="USER1" ;;
| |
− | 41/40) KEY="USER2" ;;
| |
− | 42/41) KEY="USER3" ;;
| |
− | 43/42) KEY="USER4" ;;
| |
− | 44/43) KEY="USER5" ;;
| |
− | 45/44) KEY="USER6" ;;
| |
− | 46/45) KEY="USER7" ;;
| |
− | 47/46) KEY="USER8" ;;
| |
− | 48/47) KEY="USER9" ;;
| |
− | 49/48) KEY="NONE" ;;
| |
− | *) KEY=
| |
− | esac
| |
− | }
| |
− |
| |
− | wait_key() {
| |
− | ID=`echo ${1}|sed '/^250/!d;s#^.*id=##'`
| |
− | until [ "${KEY}" ] ; do
| |
− | i=$[i+1]
| |
− | sleep 1s
| |
− | read_key "`svdrpsend.pl "SAQRESP ${ID}"|sed '/^250/!d'|cut -d' ' -f4`"
| |
− | test "${i}" = "${TIMEOUT}" && {
| |
− | echo "Timeout ...?"
| |
− | exit 0
| |
− | }
| |
− | done
| |
− |
| |
− | test "${KEY}" || {
| |
− | echo "Key ...?"
| |
− | exit 0
| |
− | }
| |
− | }
| |
− |
| |
− | # menu_1
| |
− | svdrpsend.pl "SAQTIME 10"
| |
− | svdrpsend.pl "SAQPARA TEST_1, <red>, <green>, <yellow>, <blue>"
| |
− | wait_key "`svdrpsend.pl "SAQTEXT 1"`"
| |
− |
| |
− | echo "1 ---> ${KEY}"
| |
− | unset KEY
| |
− |
| |
− | # menu_2
| |
− | svdrpsend.pl "SAQTIME 10"
| |
− | svdrpsend.pl "SAQPARA TEST_2, <red>, <green>, <yellow>, <blue>"
| |
− | wait_key "`svdrpsend.pl "SAQTEXT 2"`"
| |
− |
| |
− | echo "2 ---> ${KEY}"
| |
− | unset KEY</pre>
| |
− | ==Probleme==
| |
− | Rückgabewert (in SAQRESP) des Tastencodes ist in den VDR-Versionen und auch ja nach Patch des VDR's verschieden.
| |
− |
| |
− | Der Name des Plugins war keine gute Wahl, es läßt sich erst durch Änderung übersetzen:<pre>
| |
− | ln -s status+question-x.y.z statusplusquestion-x.y.z
| |
− | ^ ^^^^</pre>
| |
− | ==Links==
| |
− | {|
| |
− | | [1]
| |
− | | http://www.fast-info.de/vdr
| |
− | | Homepage des Plugins
| |
− | |}
| |