nOpacity Preset Loader

  • Moin,


    da sich die Einstellungen für die verschiedenen nOpacity-Themes bei mir doch deutlich voneinander unterscheiden,
    habe ich mir für das Wechseln der Themes ein kleines Skript geschrieben.


    Das Skript 'osdskinpreset' benötigt das osdserver-plugin und das dbus2vdr-plugin.
    Es kann aus dem OSD bedient werden und die nOpacity-Einstellungen als 'Preset' speichern bzw. solche 'Presets' wieder einspielen.


    Installation (hier unter yaVDR):
    osdskinpreset nach /usr/lib/vdr kopieren und ausführbar machen.
    # Global user settings
    setupdir=/var/lib/vdr
    presetdir=$setupdir/plugins/skinnopacity/presets
    restart=0 # 0=no, 1=yes


    Zum Aufrufen die menuorg.xml bzw. das Template dazu editieren:
    <command name="nOpacity Themes" execute="/usr/lib/vdr/osdskinreload.sh &amp;> /dev/null &amp;" />


    Die 'Presets' werden in $presetdir erstellt bzw. gesucht und sind wie folgt aufgebaut:


    OSDSkin = nOpacity
    OSDTheme = darkblue
    skinnopacity.backgroundStyle = 1
    skinnopacity.borderDetailedEPG = 30
    ...


    Also OSDSkin, OSDTheme und alle skinnopacity.xxx Zeilen aus der setup.conf


    Leider greift der Befehl:
    vdr-dbus-send /Setup setup.Set string:'OSDTheme' variant:string:'darkblue'
    nicht unmittelbar.
    Um das gewählte Theme zu aktivieren muss der VDR neu gestartet oder der Theme von Hand im OSD gewählt werden.
    Es gibt also zwei Modi für das Skript, die in den 'Global user settings' gewählt werden können.
    restart=0 -> springt nach dem einspielen des Presets in das OSD Setup, damit dort der Theme gewählt werden kann.
    restart=1 -> startet den VDR neu


    Vorschläge dazu oder schönere Lösungen sind willkommen.

  • Leider greift der Befehl:
    vdr-dbus-send /Setup setup.Set string:'OSDTheme' variant:string:'darkblue'
    nicht unmittelbar.


    Das muss bei mir wie das Theme in seiner Description heißen, das übernimmt er bei mir direkt:

    Code
    Description = Dark Blue


    Code
    vdr-dbus-send /Setup setup.Set string:'OSDTheme' variant:string:'Dark Blue'

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Danke für den Tipp!
    Das funktioniert hier auch.


    Merkwürdig ist dann aber, das ein

    Code
    vdr-dbus-send /Setup setup.Get string:'OSDTheme'


    nach Auswahl eines Themes via OSD-Setup nicht die Description sondern die kurze Variante zurück gibt.


    Frickel ich da jetzt was drumherrum, oder ist das ein Bug im dbus2vdr?

  • Frickel ich da jetzt was drumherrum, oder ist das ein Bug im dbus2vdr?


    Das ist bei mir auch inkonsistent - wenn ich das Theme mit dem Namen aus der Description setze, passt es:

    Code
    vdr-dbus-send /Setup setup.Set string:'OSDTheme' variant:string:'Dark Blue'


    Nach einem Neustart des VDR nutzt er dann aber das default-Theme weil er "Dark Blue" nicht kennt, sondern "darkblue" in der setup.conf erwartet...


    Sieht für mich schon nach einem Bug aus.

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Es gibt ja auch noch das Skin-Interface: https://github.com/flensrocker…r/blob/master/README#L332
    Könnte man dort nicht auch gleich das Setzen des Themes für einen Skin erlauben?

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Gehen tut alles, es muss nur eingebaut werden. :)
    dbus2vdr wächst ja mit dem Bedarf...


    Mal schauen, was der vdr da an API bietet.


    Lars.

  • Hallo, viele Einstellungen in Nopacity gehören eigentlich mit in den Theme.
    Oder man nimmt Theme und Color-Theme als Idee.

    Grüße, Dieter :)

  • Moin,


    Muss ich mir mal anschauen.


    Lars.


    Ok, dann warte ich das erstmal ab.



    Es gibt ja auch noch das Skin-Interface: https://github.com/flensrocker/vdr-plugi…ter/README#L332
    Könnte man dort nicht auch gleich das Setzen des Themes für einen Skin erlauben?


    ... und Name + Beschreibung des aktiven Themes mit ausgeben?



    Hallo, viele Einstellungen in Nopacity gehören eigentlich mit in den Theme.
    Oder man nimmt Theme und Color-Theme als Idee.


    Ich vermute, das kommt so vom VDR-Core. Im Theme stehen halt die Farben und die Beschreibung und mehr nicht.
    Prinzipiell finde ich es aber gut, das Abmessungen, Schrift usw. über das OSD gesetzt werden können.
    Ich hatte auch erst überlegt, noch ein osd-server Skript zum ändern der Farben zu basteln - aber wer braucht sowas im echten Leben.


    Wenn Lars das im dbus2vdr noch ein bisschen ausbaut, sind ja viele Spielereien möglich -> Tageszeitabhängige transparenz oder helligkeit, zufällig wechselnde Themes, usw ... :)

  • Hi,


    der VDR sieht leider nicht vor, pro Theme ein dediziertes Setup zu hinterlegen. Es gibt ein Setup, ansonsten gibt es eben die Themes für Farbdefinitionen.


    Samans Ansatz ist meiner Ansicht nach ein bisschen "von Hinten durch die Brust". Das sollte man direkt im Skin lösen. Man müsste eigentlich lediglich in der Config Klasse die Config Variablen Themebezogen laden und in den Setup Klassen auch wieder themebezogen speichern. Allerdings gibt es ja einige Themes, die eine analoge Config zulassen (die ganzen, die quasi auf dem Defaulttheme basieren), da wäre es dann auch ein bisschen mühselig, pro Theme seine Settings wieder zu konfigurieren, da im geschilderten Ansatz jedes Theme sein eigenes Setup hätte und somit beim Wechsel des Themes der Skin wieder auf Defaulteinstellungen wäre, wenn noch nichts dafür konfiguriert war.


    Vielleicht wären "Themegruppen" mit gemeinsamem Setup sinnvoll? So in der Art "basic", "advanced", "fully blown up"...das hatte ich ja schonmal irgendwo geschrieben, ich glaube, diese Idee ist nicht verkehrt. Die Zuordnung vom Theme zur Themegruppe könnte dann ja analog zum aktivieren / deaktivieren der Blending Effekte über eine Farbdefinition im Theme selbst erfolgen?


    Ciao Louis

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!