pin-plugin patch für vdr-1.7.22

  • vielleicht kann mir jemand helfen (horchi ?)


    der pin patch passt mal wieder nicht zu vdr-1.7.22


    https://launchpadlibrarian.net…cise_FAILEDTOBUILD.txt.gz


    Code
    menu.c: In constructor 'cMenuMain::cMenuMain(eOSState)':
    menu.c:3750:31: error: 'state' was not declared in this scope
    menu.c:3752:16: error: returning a value from a constructor
    make[1]: *** [menu.o] Error 1


    die betreffende stelle in menu.c sieht so aus :


    Code
    // > PIN PATCH
      cOsdItem* item = Get(Current());
    
    
      if (item && item->Text() && state != osContinue && state != osUnknown && state != osBa$
         if (cStatus::MsgMenuItemProtected(item->Text()))
            return osContinue;
      // PIN PATCH <
  • Hi Hotzenplotz5,


    in der MLD läuft das PIN-Plugin. Christian hat die Patche erstellt. Der PIN-Patch ist im EXTPNG-Patch enthalten. Diesen findest du hier. Hoffe, es hilft dir weiter.


    Viele Grüße skippy

  • habe mir gerade den plain vdr 1.7.22 geholt und den beim PIN Plugin mitgelieferten Patch vdr-1.7.17.diff angewendet.


    Dabei gab es einen recect in der osc.c wodurch diese Zeile manuell hinzugefügt werden musste:


    Code
    cVector cOsd::Osds;
    cMutex cOsd::mutex;
    +bool cOsd::pinValid = false;   // PIN PATCH


    Danach lies es sich bei mir ohne weiteres compilieren.


    Sicher das das vom PIN Patch stammt?


    Deine Fehlermeldung sieht mir aus als wäre im Konstruktor der Parameter Bezeichner verschwunden, versuche es mal so:



    Code
    cMenuMain::cMenuMain(eOSState State)
    :cOsdMenu("")
    { 
     replaying = false;


    also mit dem State hinter eOSState.


    Das würde als Lösung zu der Fehlermeldung aus deinem Post passen. Der Code Ausschnitt den du darunter gepostet hast (der stammt m.E. aus eOSState cMenuMain:: processKey(eKeys Key)) würde dafür sprechen das die Zeile:


    Code
    eOSState state = cOsdMenu::ProcessKey(Key);


    in eben dieser Methode fehlt, diese stammt jedoch nicht aus dem Pin Patch, der baut nur darauf auf. Die Zeile ist bei mir bereits im Plain vdr-1.7.22 enthalten.



    Viele Grüße
    Jörg

  • habe mir gerade den plain vdr 1.7.22 geholt und den beim PIN Plugin mitgelieferten Patch vdr-1.7.17.diff angewendet.

    Wo finde ich die Version vom PIN Plugin, die diesen Patch enthält? Auf der Homepage von Jörg Wendel finde ich als aktuellste Version die 0.1.9 und dort ist der Patch nicht mit drin.

    Zitat

    BOARD: Biostar Viotech 3100+
    CPU: VIA C7-D 1.6+ GHz (onboard) - SYSTEM DISK: 8GB (half slim SSD) - DATA DISK: 2 TB
    RAM: 1 GB
    OS: Debian 7.2 - KERNEL: 3.2.0-4-686-pae #1 SMP Debian 3.2.51-1 i686 GNU/Linux
    VDR: 2.0.4
    DVB: Mystique SaTiX-S2 Dual (v2)

  • ui horchi ich hab da kein plan wo da welcher konstruktor hinmuss.
    ich hab hier mal die komplette menu.c
    evtl. kann man dann erkennen was ich falsch mache.


    http://paste.ubuntu.com/780465/


    (sind nur 5500 zeilen) :D


    betreffende stelle bei ca. zeile 3740



    mit den anderen patches will pin einfach nicht.
    deaktivier ich pin, dann baut vdr ohne probleme.


    https://launchpadlibrarian.net…cise_FAILEDTOBUILD.txt.gz



    die ganze patchsammlung ist hier zu finden :
    https://github.com/yavdr/vdr/t…bi-patches/debian/patches


    der pin patch :
    https://github.com/yavdr/vdr/b…/patches/opt-65_pin.patch


    ich deaktivier ihn mal in debian/series bis es eine lösung dafür gibt.
    sonst komm ich nicht richtig voran.


    edit: hier mal ohne pin patch (nur um zu zeigen, dass es ohne baut)
    https://launchpadlibrarian.net…5~precise_BUILDING.txt.gz

  • Hi Holger,


    dieser Teil des PIN Patch:

    Code
    // > PIN PATCH 
     cOsdItem* item = Get(Current());
      if (item && item->Text() && state != osContinue && state != osUnknown && state != osBack)
      if (cStatus::MsgMenuItemProtected(item->Text())) 
        return osContinue; 
     // PIN PATCH <


    ist an der völlig falschen Stelle gelandet, der gehört nach cMenuMain::ProcessKey, das ist vermutlich passiert da es durch einen der anderen Patches vorher durcheinander gekommen ist. Oder musstest du da einen Reject manuell von Hand einbauen.


    Ohne hier recht aufwendig die ganze Patch Kette durchzuspielen kann ich es nicht weiter auf den Punkt bringen. Hast du mal eine andere Reihenfolge der Patches versucht, wenigstens derer die die menu.c betreffen?


    Ansonsten patche mal den plain VDR mit dem PIN Patch und schau die die mit PIN markierten Stellen dort an, ist ja nicht viel. Die kannst du dann in deiner menu.c entsprechend verschieben.
    Wenn das nicht klappt melde dich dann schau ich nochmal ob ich es hier komplett nachstellen kann.


    Viele Grüße,
    Jörg

  • super !


    das war es. es war kein reject daher ging ich davon aus, dass es passt.
    aber das problem war wohl das :


    [code
    ]cOsdObject *menu = NULL;
    .
    .
    .
    switch (State) {
    [/code]


    genau dazwischen wollte pin, und das gibt es an der betreffenden "falschen" stelle auch.
    daher der ganze mist :)


    danke für deine schnelle hilfe !

Jetzt mitmachen!

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