setup.conf während laufendem VDR schreiben/auslesen?

  • Hi,


    also ich hab mal eine Frage. Kann ich den VDR irgendwie dazu überreden die komplette setup.conf bei LAUFENDEM VDR neu zu schreiben und auch wieder einzulesen?

    HD DVB-C System / Ubuntu 14.04 x64 / Kernel 3.13.0-48 x64; VDR 2.2.x; VDRadmin 3.6.10 / ACPI Wakeup

    SoftHD-Device GIT / Vdpau / Nvidia 337.25

    ASUS AT5IONT-I; Atom D525; 4GB; Nvidia GT218; 1x DD Cine C/T v6; 1x DD DuoFlex C/T v2; (20~40 Watt)

  • Hallo Scorp,


    Zitat

    Original von Scorp
    also ich hab mal eine Frage. Kann ich den VDR irgendwie dazu überreden die komplette setup.conf bei LAUFENDEM VDR neu zu schreiben und auch wieder einzulesen?


    Das läst sich eventl. per Plugin machen.


    Siehe als Demo dieses Plugin


    Hardy

    Suche: 6 Richtige für die nächste Lottoziehung
    PS: Wer Rechtschreibfehler findet, darf sie behalten!

  • Hi,


    das wäre schon nicht schlecht. Ich bräuchte den Zugriff aber am besten von außen als Skript.

    HD DVB-C System / Ubuntu 14.04 x64 / Kernel 3.13.0-48 x64; VDR 2.2.x; VDRadmin 3.6.10 / ACPI Wakeup

    SoftHD-Device GIT / Vdpau / Nvidia 337.25

    ASUS AT5IONT-I; Atom D525; 4GB; Nvidia GT218; 1x DD Cine C/T v6; 1x DD DuoFlex C/T v2; (20~40 Watt)

  • Hallo Scorp,


    Zitat

    Original von Scorp
    das wäre schon nicht schlecht. Ich bräuchte den Zugriff aber am besten von außen als Skript.


    Dieses Plugin läst sich nur per Script steuern!


    SVDRP kennst Du?


    wenn nein --> www.vdr-wiki.de
    wenn ja --> bitte README lesen


    Hardy

    Suche: 6 Richtige für die nächste Lottoziehung
    PS: Wer Rechtschreibfehler findet, darf sie behalten!

    2 Mal editiert, zuletzt von HFlor ()

  • HFlor


    Sorry, ich bin bei dem Begriff Plugin einfach davon ausgegangen das es per OSD zu steuern ist. Ich werd mich erst mal schlau machen.


    DANKE


    EDIT: OK, das sieht genau nach dem aus was ich brauche. Nur bin ich mir nicht sicher ob die komplette setup.conf neu eingelesen wird, aber das werde ich ja dann sehen.

    HD DVB-C System / Ubuntu 14.04 x64 / Kernel 3.13.0-48 x64; VDR 2.2.x; VDRadmin 3.6.10 / ACPI Wakeup

    SoftHD-Device GIT / Vdpau / Nvidia 337.25

    ASUS AT5IONT-I; Atom D525; 4GB; Nvidia GT218; 1x DD Cine C/T v6; 1x DD DuoFlex C/T v2; (20~40 Watt)

    Einmal editiert, zuletzt von Scorp ()

  • Hallo Scorp,


    Zitat

    Original von Scorp
    EDIT: OK, das sieht genau nach dem aus was ich brauche. Nur bin ich mir nicht sicher ob die komplette setup.conf neu eingelesen wird, aber das werde ich ja dann sehen.


    Bei einer Änderung im OSD wird die setup.conf auch geschrieben, so das Änderungen wirklich in der Datei gemacht werden müssen zum Testen.


    Falls das Einlesen einen falschen Dateinamen liefert, so ist hier eine geteste Variante. Diese ist auch ab dem VDR 1.2.6 mit SVDRP-Patch lauffähig.


    Homepage des Plugins


    Hardy


    PS: Was willst Du eigentlich machen?

    Suche: 6 Richtige für die nächste Lottoziehung
    PS: Wer Rechtschreibfehler findet, darf sie behalten!

    Einmal editiert, zuletzt von HFlor ()

  • Zitat

    Originally posted by HFlor
    PS: Was willst Du eigentlich machen?


    Gute Frage.
    Eigentlich will ich nur abhängig von der Uhrzeit unterschiedliche "MinUserInactivity" Einstellungen realisieren. Und das möglichst ohne den VDR zu patchen.


    Vielleicht kann ich diese Variable auch direkt per SVDRP ansprechen, das wäre dann natürlich noch einfacher.

    HD DVB-C System / Ubuntu 14.04 x64 / Kernel 3.13.0-48 x64; VDR 2.2.x; VDRadmin 3.6.10 / ACPI Wakeup

    SoftHD-Device GIT / Vdpau / Nvidia 337.25

    ASUS AT5IONT-I; Atom D525; 4GB; Nvidia GT218; 1x DD Cine C/T v6; 1x DD DuoFlex C/T v2; (20~40 Watt)

    Einmal editiert, zuletzt von Scorp ()

  • Hallo Scorp,


    Zitat

    Original von Scorp
    Vielleicht kann ich diese Variable auch direkt per SVDRP ansprechen, das wäre dann natürlich noch einfacher.


    Wie weit kennst Du Dich in C aus?


    Du kannst ohne Probleme vom Plugin aus eine Setup-Variable setzen. Das ist dem fall sogar zu vorzuziehen.


    so frei nach:


    if (..cmd.. = "USERACT") Setup.MinUserInactivity = atoi(Option);


    natürlich noch mit ein paar Fehlerkontrollen ...
    Wenn Du nicht Programmieren kannst, so könnte ich das auch machen ...


    Hardy

    Suche: 6 Richtige für die nächste Lottoziehung
    PS: Wer Rechtschreibfehler findet, darf sie behalten!

  • HFlor


    In C kenne ich mich schon aus. Nur bei der Klassenhierarchie von VDR blicke ich nicht so richtig durch. Wenn Du für die angesprochene Variable ein paar Zeilen schreiben könntest wäre das nicht schlecht.



    EDIT:
    Das Plugin will anscheinend entweder nicht mit der aktuellen VDR Version oder nicht mit dem Bigpatch...


    Code
    make[1]: Entering directory `/usr/src/VDR/vdr-1.3.34/PLUGINS/src/setuploadandsave-0.0.2'
    g++ -O2 -Wall -Woverloaded-virtual -c -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"setuploadandsave"' -I../../../include -I../../../../DVB/include setuploadandsave.c
    setuploadandsave.c: In method `class cString cPluginSetuploadandsave::SVDRPCommand(const char *, const char *, int &)':
    setuploadandsave.c:139: passing `const char *' as argument 1 of `strcpy(char *, const char *)' discards qualifiers
    /usr/include/string.h:83: too few arguments to function `char * strcpy(char *, const char *)'
    setuploadandsave.c:139: at this point in file
    make[1]: *** [setuploadandsave.o] Error 1


    Muß ich mir noch mal in Ruhe ansehen, aber nicht mehr heute.


    Ich werde mich am Freitag mal daran versuchen.

    HD DVB-C System / Ubuntu 14.04 x64 / Kernel 3.13.0-48 x64; VDR 2.2.x; VDRadmin 3.6.10 / ACPI Wakeup

    SoftHD-Device GIT / Vdpau / Nvidia 337.25

    ASUS AT5IONT-I; Atom D525; 4GB; Nvidia GT218; 1x DD Cine C/T v6; 1x DD DuoFlex C/T v2; (20~40 Watt)

    2 Mal editiert, zuletzt von Scorp ()

  • Hallo Scorp,


    Zitat

    Original von Scorp
    Das Plugin will anscheinend entweder nicht mit der aktuellen VDR Version oder nicht mit dem Bigpatch...


    Man soll eben erst alles selbst Testen ...
    Der Fehlerteufel hat sich in der Zeile mit dem 'strcpy' breit gemacht, dort soll ein 'strdup' stehen.


    Ich hatte es nur für den 1.2.6 übersetzt.


    Doch nun zum neusten Plugin für Deine Wünsche:


    Es läst sich wieder nur über SVDRP steuern und gestattet den Zugriff auf einige Setup-Variablen.


    Hardy


    PS: für die C++ Experten: wie kann ich die folgenden Zeilen besser machen? Ich habe es nicht geschafft zwei cString's zu verketten?!?! Es kamm immer die Fehlermedung operator += (oder auch +) nicht definiert.


    Code
    cString ret = "";
              cString newline = "";
              for (int iloop = 0; iloop < I18nNumLanguages; iloop++)
              {
                newline.sprintf("OSDLANG %02d --> %s\n", iloop+1, I18nLanguages()[iloop]);
                ret = cString::sprintf("%s%s", (const char*) ret, (const char*) newline);
              }
              return cString::sprintf("%send of languagelist", (const char*) ret);
  • Zitat

    Originally posted by HFlor
    PS: für die C++ Experten: wie kann ich die folgenden Zeilen besser machen? Ich habe es nicht geschafft zwei cString's zu verketten?!?! Es kamm immer die Fehlermedung operator += (oder auch +) nicht definiert.


    char *strcat(char *s1, const char *s2);
    ???



    Du hast jetzt aber nicht extra deshalb ein komplett neues Plugin geschrieben, oder?
    Auf jeden Fall mal vielen Dank dafür, ich werde es morgen testen.

    HD DVB-C System / Ubuntu 14.04 x64 / Kernel 3.13.0-48 x64; VDR 2.2.x; VDRadmin 3.6.10 / ACPI Wakeup

    SoftHD-Device GIT / Vdpau / Nvidia 337.25

    ASUS AT5IONT-I; Atom D525; 4GB; Nvidia GT218; 1x DD Cine C/T v6; 1x DD DuoFlex C/T v2; (20~40 Watt)

    3 Mal editiert, zuletzt von Scorp ()

  • Hallo Scorp,


    Zitat

    Original von Scorp
    ...char *strcat(char *s1, const char *s2);


    Nein, so einfach ist es leider nicht, es geht um cString-Objekte.


    Zitat

    Du hast jetzt aber nicht extra deshalb ein komplett neues Plugin geschrieben, oder?


    Doch, für diese Funktion ist doch nicht viel zu machen. In der Hauptsache war es etwas Schreibarbeit.


    Hardy

    Suche: 6 Richtige für die nächste Lottoziehung
    PS: Wer Rechtschreibfehler findet, darf sie behalten!

    Einmal editiert, zuletzt von HFlor ()

  • Zitat

    Original von HFlor
    PS: für die C++ Experten: wie kann ich die folgenden Zeilen besser machen? Ich habe es nicht geschafft zwei cString's zu verketten?!?! Es kamm immer die Fehlermedung operator += (oder auch +) nicht definiert.


    Garnicht, da die Klasse cString keinen + oder += Operator definiert. Damit ist es Sache des Programmierers, sich um den Speicher zu kümmern.



    So hätte ich es wohl gemacht.

  • Zitat

    Originally posted by HFlor
    Nein, so einfach ist es leider nicht, es geht um cString-Objekte.


    Hab ich mir fast schon gedacht das das zu einfach wäre...


    Zitat

    Doch, für diese Funktion ist doch nicht viel zu machen. In der Hauptsache war es etwas Schreibarbeit.


    Wie gesagt ich werd es morgen mal ausprobieren und versuchen nochzuvollziehen was Du gemach hast.

    HD DVB-C System / Ubuntu 14.04 x64 / Kernel 3.13.0-48 x64; VDR 2.2.x; VDRadmin 3.6.10 / ACPI Wakeup

    SoftHD-Device GIT / Vdpau / Nvidia 337.25

    ASUS AT5IONT-I; Atom D525; 4GB; Nvidia GT218; 1x DD Cine C/T v6; 1x DD DuoFlex C/T v2; (20~40 Watt)

  • Hallo LordJaxom,


    Zitat

    Original von LordJaxom
    Garnicht, da die Klasse cString keinen + oder += Operator definiert. Damit ist es Sache des Programmierers, sich um den Speicher zu kümmern


    Als ich etwas zu der cString-Klasse suchte hatte ich diesen Beitrag gefunden.


    Ist das dann eine eigene Klasse cString? Dort werden die Operator + und += erwähnt.


    Zitat

    So hätte ich es wohl gemacht.


    Danke für den Hinweis, ich dachte mit den cStrings wird vieles besser. Bei Deiner Lösung sehe ich das es doch nichts besser ist 8)


    Hardy

    Suche: 6 Richtige für die nächste Lottoziehung
    PS: Wer Rechtschreibfehler findet, darf sie behalten!

  • Ähm, die von Dir gefundene Doku bezieht sich auf eine völlig unabhängige Klassenbibliothek. Natürlich hat VDR's cString-Klasse damit recht wenig am Hut :)


    cString hat Klaus eigentlich nur entwickelt um String-Pointer Thread-Safe und Leak-Safe aus Funktionen zurückzugeben.

  • HFlor


    Nach dem Ändern des Makefiles in Zeile 45 ließ es sich kompilieren.


    Code
    DEFINES += -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"$(PLUGIN)"'


    Leider komme ich jetzt nicht dazu es zu testen, da ich leider schon wieder weg muß.

    HD DVB-C System / Ubuntu 14.04 x64 / Kernel 3.13.0-48 x64; VDR 2.2.x; VDRadmin 3.6.10 / ACPI Wakeup

    SoftHD-Device GIT / Vdpau / Nvidia 337.25

    ASUS AT5IONT-I; Atom D525; 4GB; Nvidia GT218; 1x DD Cine C/T v6; 1x DD DuoFlex C/T v2; (20~40 Watt)

  • Hi,


    also das Plugin läuft und der Wert wird auch geschrieben, bei einem ersten Test brachte er dann erwartungsgemäß die Meldung vor dem runterfahren. Dann hat er allerdings nicht weiter gemacht.
    Ich werde es mal mit etwas größeren Zeiten probieren...

    HD DVB-C System / Ubuntu 14.04 x64 / Kernel 3.13.0-48 x64; VDR 2.2.x; VDRadmin 3.6.10 / ACPI Wakeup

    SoftHD-Device GIT / Vdpau / Nvidia 337.25

    ASUS AT5IONT-I; Atom D525; 4GB; Nvidia GT218; 1x DD Cine C/T v6; 1x DD DuoFlex C/T v2; (20~40 Watt)

  • Hallo Scorp,


    Zitat

    Original von Scorp
    also das Plugin läuft und der Wert wird auch geschrieben, bei einem ersten Test brachte er dann erwartungsgemäß die Meldung vor dem runterfahren. Dann hat er allerdings nicht weiter gemacht.


    Du hast aber auch 5 Minuten gewartet? Das ist Anzeigezeit für die Ausschaltmeldung. Diese Zeit ist nicht ohne Patch zu ändern.


    Hardy

    Suche: 6 Richtige für die nächste Lottoziehung
    PS: Wer Rechtschreibfehler findet, darf sie behalten!

  • HFlor


    Ja hatte ich, der VDR blieb aber anscheinend genau an der Stelle hängen. Ich hab das nur via remote Plugin beobachtet.
    Nach einem VDR Neustart läuft jetzt alles wie es soll.


    KLASSE!

    HD DVB-C System / Ubuntu 14.04 x64 / Kernel 3.13.0-48 x64; VDR 2.2.x; VDRadmin 3.6.10 / ACPI Wakeup

    SoftHD-Device GIT / Vdpau / Nvidia 337.25

    ASUS AT5IONT-I; Atom D525; 4GB; Nvidia GT218; 1x DD Cine C/T v6; 1x DD DuoFlex C/T v2; (20~40 Watt)

Jetzt mitmachen!

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