Program Changer

Aus easyVDR-Wiki
Zur Navigation springen Zur Suche springen

Beschreibung

Das Programm wurde ursprünglich geschrieben um mit der Fernbedienung zwischen XBMC und VDR bei laufenden Aufnahmen zu wechseln, selbst wenn XBMC abgestürzt ist.

Funktionen

  • Starten und beenden von Programmen während der VDR läuft.
  • Wechseln der verschiedenen Frontends.
  • Abgestürzte Programme beenden ohne VDR Neustart.
  • Programme installieren.
  • Erzeugung einer Lircmap.xml damit XBMC mit einer Fernbedienung gesteuert werden kann.
  • Fernbedienung als Maus verwenden.
  • Zum Desktop wechseln.
  • Eigene Funktionen / Programme können mit Hilfe eines Skripts hinzugefügt werden.

Die Standard Belegung der Verschiedenen Menü Seiten

Standard Menü

Standardmenü Seite 2

  • Oolite, Weltraum Spiel.
  • Tuxmath, Mathe-Spiel für Kinder.
  • Ri-li, Eisenbahn Spiel für Kinder
  • Gcompris, Spiele Sammlung für kleine Kinder.
  • Blinken, Geräusche Spiel
  • Ktuberling, Kartoffelmännchen für Kinder
  • Supertux, Jump & Run Spiel
  • Childsplay,Spiele Sammlung für kleine Kinder
  • Steam, Kommerzieller Spielanbieter, teilweise auch Gratis Spiele

Durch die Vielfalt der Software besteht natürlich immer ein kleines Restrisiko das bei Updates bzw. neuen Spielen (Steam), die Funktion des VDR gestört werden kann.
Bisher sind keine Probleme bekannt.

Internet Bookmarks

System Programme

Funktionen der Systemsteuerung

  • Standard Frontend wählen:
  • Frontend Restart
  • VDR Restart
  • VDR Reboot
  • VDR Shutdown
  • Easyvdr-Setup:
    • Anmeldedaten
    • Login: easyvdr
    • Passwort: easyvdr
  • Program-Changer Setup
  • Easyvdr-Update

Im Setup Programm können noch weiter Programme gewählt werden.

Programm Menü:

Programm Menü

Bedienung

Mit der Program Changer Taste wird das Programm Menü aufgerufen, in der Voreinstellung ist das die Windows Taste bzw. die Menü Taste auf der Fernbedienung.
Die Menü Taste muss >1s gedrückt werden. Für eine andere Tasten Belegung der Fernbedienung siehe Setup.
Um ein Programm zu starten muss die Nummer des Buttons auf der Fernbedienung gedrückt werden, bei Tastaturbedienung die Taste mit der gewünschten Nummer drücken.
Ist das Programm noch nicht installiert wird es jetzt nachinstalliert und anschließend gestartet.

Durch das Menü blättern:

  • Tastatur: F1-F4 oder Pfeil rauf / runter
  • Fernbedienung: Farbtasten oder Programm rauf / runter

Beispiel:

Der VDR läuft im Vordergrund und man möchte mit XBMC Musik hören.
Zuerst die Program Changer Taste drücken, wenn das Menü angezeigt wird 2 für XBMC drücken.
Jetzt wird das VDR Frontend beendet und XBMC gestartet (der VDR läuft im Hintergrund weiter).
Soll von XBMC zum Firefox gewechselt werden einfach Menü aufrufen und 3 drücken.
Mit 1 kommt man wieder zum VDR, das funktioniert auch wenn ein Programm hängt.
Die Button Nummern beziehen sich auf das Bild oben.

Maus Emulation:

Mit dem Steuerkreuz wird der Mauspfeil bewegt.
Wenn eine Richtungstaste länger gedrückt ist, wird der Mauspfeil schneller.
Wird die Taste losgelassen oder eine andere Taste gedrückt, dann wird auf langsam zurückgeschaltet.
Die Ok Taste kurz drücken ist ein links Klick, längeres betätigen ist ein Doppelklick, blau ist ein rechts Klick.
Mit channelup/-down wird das Mausrad bewegt.
Vorwärts-/Rückwärtsspulen ist vor und zurück beim surfen.
Fenster maximieren geht mit Doppelklick auf den Fensterbalken.

Setup Programm Beschreibung

Für die Bedienung des Setups ist eine Maus notwendig.

Setup Programm Funktionen

  • Es kann ausgewählt werden welche Funktionen im Program Changer zur Verfügung stehen.
  • Mit dem Button Pchanger Taste wählen wird die Taste für das Ein-/Ausblenden ausgewählt und eine neue "program-changer-lirc.conf" Datei erstellt.
  • Mit dem Button Fernbedienung für XBMC einrichten wird aus einer vorhandenen lircd.conf und remote.conf eine Lircmap.xml Datei für XBMC erstellt.
  • Mit dem Button Tastatur konfigurieren werden die Funktionen der Tastatur konfiguriert.

Setup Programm starten

Standard Methode:

Mit der Tastenkombination Strg + Alt + F2 zum Terminal wechseln und als Benutzername + Passwort easyvdr eingeben. Als nächstes muss im Easyvdr Setup Tool Administrator aktiviert werden. Dann den Menüpunkt VDR-Setup wählen. Im VDR Setup Menü den Menüpunkt Pchanger.

Dann wird die folgende Auswahl angezeigt:

Setup_Pchanger Mit dieser Auswahl wird beim nächsten VDR Start das Setup gestartet.
Start_Pchanger Ist das Programm deaktiviert, kann man es hier wieder aktiveren
Stop_Pchanger Hiermit wird das Programm deaktiviert.

Remote Methode:

Das Setup Programm kann Remote gestartet werden, in diesem Modus werden alle Fenster und Dialoge auf dem Rechner der das Setup startet angezeigt. Vorteil man braucht am VDR keine Maus, Nachteil die Pchanger Taste kann nur mit der Fernbedienung am VDR festgelegt werden.
Um das Setup Programm Remote zu starten müssen in einem Xterminal folgende Befehle ausgeführt werden:

ssh -X [email protected]
cd /usr/share/easyvdr/program-changer
sudo ./program-changer-setup.sh

Setup Programm Bedienung

Beim ersten Start des Setup Programms wird nach der Program Changer Taste gefragt.
Als Program Changer Taste sollte eine Taste von der Fernbedienung verwendet werden die keine andere Funktion hat.
Ist keine freie Taste vorhanden kann die Mute Taste verwendet werden.
Die Frage ob die Taste für Mute im VDR verwendet wird, nur dann mit ja bestätigen wenn die Taste im VDR als Mute zugeordnet ist. Zum festlegen der Program Changer Taste bitte die gewünschte Taste auf der Fernbedienung betätigen. Anschließend wird die gewählte Taste angezeigt, wenn keine Dialogbox mit dem Namen der betätigten Taste erscheint funktioniert Lirc nicht. Nach dem bestätigen der Auswahl mit OK wird das Setup Fenster angezeigt. Im Setup Fenster kann man die gewünschten Funktionen auswählen.

Setup Programm Menü:

Programm Menü

Programme oder Skripte hinzufügen

Wenn ein Programm in der aktuellen Auswahl fehlt kann es ohne großen Aufwand hinzugefügt werden. Wenn es sich um ein Standard Programm handelt muss die Datei /usr/share/easyvdr/list-of-programs-user.conf um einige Einträge erweitert werden. Änderungen in dieser Datei werden von einem Update nicht überschrieben.

Beispiele wie man ein Programm hinzufügt:

start-config
 button-name            = Mathe-Spiel                                                     -> Name des Buttons
 button-picture         = /usr/share/easyvdr/program-changer/pictures/button-tuxmath.jpg  -> Name des Button Icons oder = ""
 default-button         = yes                                                             -> Soll der Button im Setup vorgewählt werden?
 mouse-emulation        = yes                                                             -> Mit der Fernbedienung die Maus steuern?
 menu-page              = 20                                                              -> Zu was für einer Menü Seite gehört der Button
 adjust-alsamixer       = no                                                              -> Soll die Masterlautstärke über FB geändert werden sollange das Programm läuft?
 quit-program           = yes                                                             -> Programm beim wechseln auf was anderes beenden?
 pre-start              = "pulseaudio_start"                                              -> Befehl der vor dem Programm ausgeführt wird
 start-program          = "$START_PROGRAM tuxmath &"                                      -> Programm Befehlszeile wichtig & sonst bleibt das Pchangermenü offen
                                                                                          -> $START_PROGRAM, damit wird nach Programm ende der Pchanger autmatisch angezeigt.
 stop-program           = "tuxmath"                                                       -> Befehlszeile für Programm beenden, oder Name der Programm Datei die mit kill beendet wird
 kill-program           = yes                                                             -> Befehl kill mit dem Namen von stop-program ausführen (kill tuxmath)
 root-rights            = no                                                              -> no das Programm läuft als Benutzter easvdr, yes als root
 vdr-remote-on          = no                                                              -> Die Fernbedienung im VDR deaktivieren solange das Programm läuft.
 install-pakage         = "tuxmath $PULSEAUDIO_INSTALL"                                   -> Alles was installiert werden muss damit das Programm läuft
end-config

Zuordnung zu den Menü Seiten

  • menu-page =   1 -> Standard Menü
  • menu-page = 10 -> Internet Programme
  • menu-page = 20 -> System Programme
  • menu-page = 30 -> Systemsteuerung

Die Buttons werden in der Reihenfolge der Liste angezeigt, sind es mehr als 10 wird eine Untermenüseite generiert.
Anhand dieser Liste wird das Skript /usr/share/easyvdr/program-changer.sh gneriert. Damit die Änderungen im Menü angezeigt werden muss das Setup Programm gestartet werden.

Informationen zum Steuerungsskript

Beschreibung der Variablen:

Variablen Beschreibung
name_button[]=Name der im Setup angezeigt wird Im Namen dürfen keine Leerstellen enthalten sein
picture_button[]=Bild Datei für Button Icon Bild Größe 300xX170 Pixel ist optimal, andere Größen werden skaliert
enable_button[]= yes/no Soll der Button im Setup Programm als ausgewählt angezeigt werden?
enable_mouse_button[]=yes/no Soll die Maus Emulation verwendet werden?
menu_page_nr_button[]= Reserve wird erst in einer der nächsten Versionen verwendet.
shutdown_program_button[]=yes/no Soll das Programm beim umschalten beendet werden, oder im Hintergrund weiterlaufen?
start_program_button[]="start easyvdr" Start Befehl für Skript / Funktion / Job / Dienst / Programm
stop_program_button[]="stop easyvdr" Stopp Script Name, Stopp Befehl oder Programm Name.
kill_program_button[]=yes/no Soll das Programm mit kill beendet werden (Standard)
Oder soll der Befehl direkt ausgeführt werden
z.B: kill_program_button[]=yes Skript generiert Bash Befehl: kill stop easyvdr
z.B: kill_program_button[]=no Skript generiert Bash Befehl: stop easyvdr
root_rights_button[]=yes/no Benötigt das Programm root Rechte ?
vdr_remote_button[]=yes/no Fernbedienung im VDR abschalten?
install_apt_get_prg_button[]= Name des Pakets für die Installation
start_program_button[]="$START_PROGRAM sdl-ball" Wird vor dem zu startenden Programm / Skript die Variable $START_PROGRAM eingefügt wird nach dem beenden des jeweiligen Programm der Pchanger angezeigt. Ohne diese Variable wird nach dem beenden der Desktop angezeigt.


Am Schluss muss der End Block vorhanden sein, er markiert das Ende der Programme. Alle Blöcke müssen durchlaufend Nummeriert werden.
In der aktuellen program-changer.sh Datei ist der end Block die Nummer [15].

#ende
name_button[15]=end
picture_button[15]=end
enable_button[15]=end
enable_mouse_button[15]=end
menu_page_nr_button[15]=1
start_program_button[15]=end
stop_program_button[15]=end
root_rights_button[15]=end
vdr_remote_button[15]=end
install_apt_get_prg_button[15]=-none-

Beispiel:

So wird das Spiel SDL-Ball eingebaut:
Zuerst einen Block von einem konfigurierten Programm Kopieren und vor dem End Block einfügen.
Für das Beispiel nehme ich Block 9:

#Supertuxkart
name_button[9]=Supertuxkart
picture_button[9]=/usr/share/easyvdr/program-changer/pictures/button-supertuxkart.gif
enable_button[9]=yes
enable_mouse_button[9]=yes
menu_page_nr_button[9]=1
shutdown_program_button[9]=yes
start_program_button[9]="$START_PROGRAM supertuxkart"
stop_program_button[9]=supertuxkart
kill_program_button[9]=yes
root_rights_button[9]=no
vdr_remote_button[9]=no
install_apt_get_prg_button[9]="supertuxkart pulseaudio pavucontrol"

Zuerst werden die Variablen angepasst, anschließend die Block Nummer [].
Jetzt das Bild für den Button erstellen.

Das ganze sieht dann so aus:

#SDL-Ball
name_button[15]=SDL-Ball
picture_button[15]=/usr/share/easyvdr/program-changer/pictures/button-sdl-ball.gif
enable_button[15]=yes
enable_mouse_button[15]=yes
menu_page_nr_button[15]=1
shutdown_program_button[15]=yes
start_program_button[15]="$START_PROGRAM sdl-ball"
stop_program_button[15]=sdl-ball
kill_program_button[15]=yes
root_rights_button[15]=no
vdr_remote_button[15]=no
install_apt_get_prg_button[15]="sdl-ball"

Und zum Schluss die Block Nummer von dem End Block anpassen.

#ende
name_button[16]=end
picture_button[16]=end
enable_button[16]=end
enable_mouse_button[16]=end
menu_page_nr_button[16]=1
start_program_button[16]=end
stop_program_button[16]=end
root_rights_button[16]=end
vdr_remote_button[16]=end
install_apt_get_prg_button[16]=-none-

Zum testen ob alles funktioniert am besten das Terminal öffnen und das Skript mit der Block Nummer als Parameter starten.

/usr/share/easyvdr/program-changer/program-changer.sh 15

Wenn im Terminal keine Fehler erscheinen und das Programm startet ist das meiste geschafft.
Damit der Button im Menü angezeigt wird muss das Setup Programm gestartet werden. Im Setup Programm den Button SDL-Ball wählen und mit OK beenden.
Jetzt kann man SDL Ball mit dem Pchanger starten.

Program_Changer#Setup_Programm_starten