Moin!
Die internen vdr-Strukturen zum Thema Menü/OSD/Skin sind da leider nicht so einfach aufzutrennen.
Dazu kommt dann noch das "Problem", dass Plugins eigene Menücontrols erstellen können, die per Zeichenbefehle des OSD gemalt werden. Da kann mein Plugin also noch nicht mal ernsthaft erraten, was da passiert.
Was ich mir vorstellen kann, ist ähnlich zum Plugin osdserver eine Schnittstelle zu einem selbsterstellten Menü zu bieten, das über das OSD angezeigt wird. Damit wäre es dann für "äußere" Programme und Scripte möglich, dem Benutzer über das OSD eine Oberfläche anzubieten - inklusive der Standardeingabefelder, die der vdr bietet (Zahlen-, Texteingabe usw.).
Um das Menü nach außen zu tragen, um es z.B. woanders als innerhalb des vdr darzustellen, muss eigentlich ein OSD-Provider geschrieben werden. Und der bietet eigentlich nur eine gewisse Anzahl von Direktiven wie "zeichne Linie von hier nach da", "schreibe Text dorthin" usw., die durch das Skin genutzt werden. Aber es weiß dann eigentlich nichts mehr über die logische Struktur des Menüs.
So ist zumindest mein Verständnis dieser Klassen. Ernshaft dokumentiert, wie die alle intern zusammenhängen, sind die leider nicht. Ich hab mich halt nur etwas an den verschiedenen Codepfaden entlang gehangelt.
Falls jemand da Wissenswertes hat, nehme ich gerne etwas Nachhilfe.
Deshalb werde ich eher den anderen Weg gehen und die internen Objekte des vdr so nach und nach über dbus zur Verfügung stellen (wie restfulapi), so dass dann ein externes Programm ein eigenes Menü (dann aber nur mit den Plugins, die es kennt) anbieten kann.
Die Daten dafür (um z.B. ein eigenes Aufnahmenmenü anzeigen zu können) kann es sich dann per dbus holen.
Lars.