Menuorg-plugin

Aus VDR Wiki
(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
(Konfiguration)
 
(28 dazwischenliegende Versionen von 13 Benutzern werden nicht angezeigt)
Zeile 4: Zeile 4:
 
Organisieren des OSD-Menüs mit Submenüs
 
Organisieren des OSD-Menüs mit Submenüs
  
<!-- ===Status=== -->
+
===Status===
<!-- ==Bedienung== -->
+
Letztes Update 03/2013
<!-- ===[[SVDRP]] Befehle=== -->
+
 
<!-- ==Hardwareanforderungen== -->
+
Plugins mit ähnlicher Funktion:
 +
* [[submenu-plugin]]
 +
* [[Proxy-plugin]]
 +
 
 
==Softwareanforderungen==
 
==Softwareanforderungen==
* libxml++2.6
+
* [http://libxmlplusplus.sourceforge.net/ libxml++2.6]
  
 
==Installation==
 
==Installation==
<!-- ===Optionen=== -->
 
 
===Patches===
 
===Patches===
Das Plugin benötigt einen Patch der auf den VDR angewendet werden muss. Dieser Patch ist so konzipiert, dass er die ABI des VDR nicht ändert. Dies bedeutet, dass ein neu kompilieren der Plugins entfällt.
+
Das Plugin benötigt einen Patch der auf den VDR angewendet werden muss. Dieser Patch ist so konzipiert, dass er die API des VDR nicht ändert. Dies bedeutet, dass ein Neukompilieren der Plugins entfällt.
 
+
<!-- ===Source=== -->
+
===[[Debian]]===
+
apt-get install libxml++2.6-dev
+
  
 
==Konfiguration==
 
==Konfiguration==
Das Plugin verfügt im Moment noch nicht über eine OSD-Schnittstelle, zum Organisieren der Menü´s. Deswegen, muss noch die Datei ''[[menuorg.xml]]'' manuell per Hand angepasst werden. Diese Basiert im wesentlichem auf dem Format des ''[[Setup-plugin]]''´s.
+
Das Plugin verfügt im Moment noch nicht über eine OSD-Schnittstelle zum Organisieren der Menüs. Deswegen muss noch die Datei ''[[menuorg.xml]]'' per Hand angepasst werden. Diese basiert im Wesentlichem auf dem Format des ''[[Setup-plugin]]''s.
  
Es gibt 5 verschiedene Menu Items:
+
Es gibt 5 verschiedene Menu-Items:
  
* <system>    : System Menu Items, wie die Kanalliste oder die Timer
+
* <system>    : System-Menu-Items, wie die Kanalliste oder die Timer
* <plugin>    : Plug-in Menu Items
+
* <plugin>    : Plug-in Menu-Items
* <menu>      : Ein unter Menu
+
* <menu>      : Ein Untermenu
 
* <command>  : Um einen externen Befehlt auszuführen
 
* <command>  : Um einen externen Befehlt auszuführen
 
* <separator> : Erzeugt eine Linie
 
* <separator> : Erzeugt eine Linie
  
Für die system Nodes sind folgende Werte zulässig:
+
Für die System-Items sind folgende Werte zulässig:
  
 
* Schedule
 
* Schedule
Zeile 40: Zeile 38:
 
* Setup
 
* Setup
  
<!-- ===Einstellungen=== -->
 
 
===Parameter===
 
===Parameter===
 
{| class="wikitable"
 
{| class="wikitable"
Zeile 47: Zeile 44:
 
!Beschreibung
 
!Beschreibung
 
|-
 
|-
| -c FILE  --config=FILE || alternativer Pfad zur Konfigurations-Datei (Menüdefiniton)
+
| -c FILE  --config=FILE || alternativer Pfad zur Konfigurationsdatei (Menüdefiniton)
 
|}
 
|}
  
<!-- ==Sonstiges== -->
+
===Probleme===
<!-- ===Probleme=== -->
+
 
<!-- ===Tipps=== -->
+
Wer in seinen Menu-Namen spezielle Zeichen wie: &, <, >, ', " verwenden möchte, muss diese durch spezielle Platzhalter ersetzten.
<!-- ===Wunschliste=== -->
+
 
<!-- ===Snapshot=== -->
+
Umlaute ersetzt man z.B. durch den hexadezimalen Code des Zeichens. Ein ''ä'' wäre dann ''&amp;#xE4;'' (''&amp;#x'' wird immer vorangestellt, '';'' wird immer nachgestellt).
 +
 
 +
Hier einige deutsche Umlaute und Sonderzeichen:
 +
 
 +
{| class="wikitable"
 +
|-
 +
! Zeichen !! Code
 +
|-
 +
|ä || &amp;#xE4;
 +
|-
 +
|ö || &amp;#xF6;
 +
|-
 +
|ü || &amp;#xFC;
 +
|-
 +
|Ä || &amp;#xC4;
 +
|-
 +
|Ö || &amp;#xD6;
 +
|-
 +
|Ü || &amp;#xDC;
 +
|-
 +
|ß || &amp;#xDF;
 +
|-
 +
|&lt; || &amp;#x3C;
 +
|-
 +
|&gt; || &amp;#x3E;
 +
|}
 +
 
 +
Weitere Infos zu XML-Dateien  s. [[wikipedia:XML#Entity_references|hier]].
 +
 
 +
Noch ein Tipp, um den Code eines Zeichens herauszubekommen:
 +
 
 +
Vim aufrufen, mit ''i'' in den Einfügemodus wechseln, das Zeichen eingeben, den Einfügemodus mit ''ESC'' verlassen, den Cursor über dem Zeichen positionieren und ''ga'' eingeben. Der Code wird dann unten in der Statuszeile angezeigt.
 +
 
 +
===Tipps===
 +
Wer vorher das [[submenu-plugin]] verwendet hat, kann das dem Menuorg-Plugin beigelegte "vdr-submenu2menuorg"-Skript zum Konvertieren verwenden.
 +
 
 +
Beispiel zur Benutzung:
 +
 
 +
vdr-submenu2menuorg /var/lib/vdr/plugins/MainMenu.conf /var/lib/vdr/plugins/menuorg.xml
 +
 
 +
Weitere Tipps:
 +
Aktuelle VDRs benötigen den Patch nicht mehr. z.B. wenn die eTobi Packete
 +
mit Multipatch eingesetzt werden.
 +
Der oben erwähnte Patch wird nur bei selbst kompilierten VDRs benötigt.
 +
 +
Wenn Probleme auftreten, kann man auf der Konsole den VDR starten und nur
 +
das menuorg Plugin angeben. Das führt zu einer Ausgabe mit klarer Angabe des
 +
Fehlers mit der genauen Linie der menuorg.xml, welche Schwierigkeiten macht.
 +
D.h. zum Testen sieht der direkte Aufruf am Beispiel CTVDR (Debian) so aus "/usr/bin/vdr -Pmenuorg"
  
 
==Versions-Historie==
 
==Versions-Historie==
Zeile 63: Zeile 108:
 
! Beschreibung
 
! Beschreibung
 
! Link
 
! Link
 +
|-
 +
| 0.5.1
 +
| 17.03.2013
 +
| ''Fixed some stupid bugs from the last release''
 +
| [http://projects.vdr-developer.org/attachments/download/1312/vdr-menuorg-0.5.1.tar.gz 0.5.1]
 +
|-
 +
| 0.4.4
 +
|
 +
|Fixed GCC4.3 FTBFS
 +
| [http://www.e-tobi.net/blog/files/vdr-menuorg-0.4.4.tar.gz 0.4.4]
 
|-
 
|-
 
| 0.3
 
| 0.3
 
| 25.08.2007
 
| 25.08.2007
 
| Fixed charset conversion for menu titles. They will now explicitly be converted to VDR's locale charset falling back to ISO8859-2 on conversion errors.
 
| Fixed charset conversion for menu titles. They will now explicitly be converted to VDR's locale charset falling back to ISO8859-2 on conversion errors.
| [http://www.vdr-portal.de/board/thread.php?threadid=67943]
+
| [http://www.vdr-portal.de/board/thread.php?threadid=67943 0.3]
 
|-
 
|-
 
| 0.2
 
| 0.2
 
| 25.08.2007
 
| 25.08.2007
 
| Fixed bug with burn plug-in - cPlugin::MainMenuEntry() should not be called before all plug-ins Intialize() and Start() were called.
 
| Fixed bug with burn plug-in - cPlugin::MainMenuEntry() should not be called before all plug-ins Intialize() and Start() were called.
| [http://www.vdr-portal.de/board/thread.php?threadid=67943]
+
| [http://www.vdr-portal.de/board/thread.php?threadid=67943 0.2]
 
|-
 
|-
 
| 0.1
 
| 0.1
 
| 24.08.2007
 
| 24.08.2007
 
| Initial revision.
 
| Initial revision.
| [http://www.vdr-portal.de/board/thread.php?threadid=67943]
+
| [http://www.vdr-portal.de/board/thread.php?threadid=67943 0.1]
 
|}
 
|}
 +
 +
==Aktuelle Version==
 +
[http://projects.vdr-developer.org/attachments/download/1312/vdr-menuorg-0.5.1.tar.gz 0.5.1]
  
 
==Links==
 
==Links==
# [http://www.e-tobi.net/blog/pages/vdr-menuorg Homepage des Plugins]
+
# [http://projects.vdr-developer.org/projects/plg-menuorg Homepage des Plugins]
  
 
[[Kategorie:Plugins]]
 
[[Kategorie:Plugins]]
 +
[[Kategorie:Admin-Plugins]]
 
{{i18n|menuorg-plugin}}
 
{{i18n|menuorg-plugin}}

Aktuelle Version vom 30. August 2013, 14:03 Uhr

Inhaltsverzeichnis

[Bearbeiten] Beschreibung

Autor: Thomas Creutz & Tobias Grimm

Organisieren des OSD-Menüs mit Submenüs

[Bearbeiten] Status

Letztes Update 03/2013

Plugins mit ähnlicher Funktion:

[Bearbeiten] Softwareanforderungen

[Bearbeiten] Installation

[Bearbeiten] Patches

Das Plugin benötigt einen Patch der auf den VDR angewendet werden muss. Dieser Patch ist so konzipiert, dass er die API des VDR nicht ändert. Dies bedeutet, dass ein Neukompilieren der Plugins entfällt.

[Bearbeiten] Konfiguration

Das Plugin verfügt im Moment noch nicht über eine OSD-Schnittstelle zum Organisieren der Menüs. Deswegen muss noch die Datei menuorg.xml per Hand angepasst werden. Diese basiert im Wesentlichem auf dem Format des Setup-plugins.

Es gibt 5 verschiedene Menu-Items:

  • <system>  : System-Menu-Items, wie die Kanalliste oder die Timer
  • <plugin>  : Plug-in Menu-Items
  • <menu>  : Ein Untermenu
  • <command>  : Um einen externen Befehlt auszuführen
  • <separator> : Erzeugt eine Linie

Für die System-Items sind folgende Werte zulässig:

  • Schedule
  • Channels
  • Timers
  • Recordings
  • Commands
  • Setup

[Bearbeiten] Parameter

Parameter Beschreibung
-c FILE --config=FILE alternativer Pfad zur Konfigurationsdatei (Menüdefiniton)

[Bearbeiten] Probleme

Wer in seinen Menu-Namen spezielle Zeichen wie: &, <, >, ', " verwenden möchte, muss diese durch spezielle Platzhalter ersetzten.

Umlaute ersetzt man z.B. durch den hexadezimalen Code des Zeichens. Ein ä wäre dann &#xE4; (&#x wird immer vorangestellt, ; wird immer nachgestellt).

Hier einige deutsche Umlaute und Sonderzeichen:

Zeichen Code
ä &#xE4;
ö &#xF6;
ü &#xFC;
Ä &#xC4;
Ö &#xD6;
Ü &#xDC;
ß &#xDF;
< &#x3C;
> &#x3E;

Weitere Infos zu XML-Dateien s. hier.

Noch ein Tipp, um den Code eines Zeichens herauszubekommen:

Vim aufrufen, mit i in den Einfügemodus wechseln, das Zeichen eingeben, den Einfügemodus mit ESC verlassen, den Cursor über dem Zeichen positionieren und ga eingeben. Der Code wird dann unten in der Statuszeile angezeigt.

[Bearbeiten] Tipps

Wer vorher das submenu-plugin verwendet hat, kann das dem Menuorg-Plugin beigelegte "vdr-submenu2menuorg"-Skript zum Konvertieren verwenden.

Beispiel zur Benutzung:

vdr-submenu2menuorg /var/lib/vdr/plugins/MainMenu.conf /var/lib/vdr/plugins/menuorg.xml

Weitere Tipps:

Aktuelle VDRs benötigen den Patch nicht mehr. z.B. wenn die eTobi Packete
mit Multipatch eingesetzt werden. 
Der oben erwähnte Patch wird nur bei selbst kompilierten VDRs benötigt.

Wenn Probleme auftreten, kann man auf der Konsole den VDR starten und nur
das menuorg Plugin angeben. Das führt zu einer Ausgabe mit klarer Angabe des
Fehlers mit der genauen Linie der menuorg.xml, welche Schwierigkeiten macht.
D.h. zum Testen sieht der direkte Aufruf am Beispiel CTVDR (Debian) so aus "/usr/bin/vdr -Pmenuorg"

[Bearbeiten] Versions-Historie

Version Datum Beschreibung Link
0.5.1 17.03.2013 Fixed some stupid bugs from the last release 0.5.1
0.4.4 Fixed GCC4.3 FTBFS 0.4.4
0.3 25.08.2007 Fixed charset conversion for menu titles. They will now explicitly be converted to VDR's locale charset falling back to ISO8859-2 on conversion errors. 0.3
0.2 25.08.2007 Fixed bug with burn plug-in - cPlugin::MainMenuEntry() should not be called before all plug-ins Intialize() and Start() were called. 0.2
0.1 24.08.2007 Initial revision. 0.1

[Bearbeiten] Aktuelle Version

0.5.1

[Bearbeiten] Links

  1. Homepage des Plugins
In anderen Sprachen