svdrpsend UPDR funktioniert nicht

  • Hi,


    ich habe mir hier ein Skript gebaut, mit dem ich naludump per RECCMD anstarte. Ich lege dazu eine zusätzliche Aufnahme an, um Probleme zu vermeiden. Dazu wollte ich, dass der VDR die Aufzeichnungen neu einliest.


    touch /srv/vdr/video0/.update funktioniert
    svdrpsend UPDR funktioniert nicht


    Sollte das nicht den gleichen Effekt haben?


    Gruß


    Copperhead

  • Sollte das nicht den gleichen Effekt haben?


    Ja (>=1.7.22). Und dem VDR Code gibts da nicht viel was falsch laufen könnte. Was kommt denn als Antwort?


    Evtl. ist ja svdrp gerade von was anderen blockiert?


    cu

  • Hab's gerade probiert und es hat funktioniert:


    Code
    220 vdr2 SVDRP VideoDiskRecorder 1.7.28; Sun Apr 15 22:48:59 2012; ISO-8859-15
    UPDR
    250 Re-read of recordings directory triggered
    
    
    Apr 15 22:48:59 vdr2 vdr: [30534] connect from 192.168.100.10, port 49490 - accepted
    Apr 15 22:49:05 vdr2 vdr: [426] video directory scanner thread started (pid=30534, tid=426)
    Apr 15 22:49:05 vdr2 vdr: [426] video directory scanner thread ended (pid=30534, tid=426)


    Klaus

  • Wie gesagt, mein naludump-Skript generiert eine zusätzliche Aufnahme:


    Wenn ich über svdrpsend ein Update auslöse, kann ich danach die Aufnahme nicht im Menü sehen. Wenn ich es über .update mache, taucht die Aufnahme im Menü auf.

  • Wie siehts aus? Ich habe jetzt noch einen anderen Fehler gefunden, den ich gleich mal im Announce Thread erwähne.


    Kann das an einem Patch liegen? Unnötigerweise habe ich die gesamte mcli-Sammlung drauf und Mainmenuhooks. Ich teste das morgen mal ganz ohne Patches.

  • Moin!


    Ich hab hier zum einen einen nahezu ungepatchten vdr (nur mit Dingen, die ich verstehe, und die nichts in der Richtung relevante anfassen) und einmal den yaVDR-unstable-vdr mit einem ganzen Schwung an Patchen.
    Bei beiden funktioniert's.


    Und UPDR ist ziemlich übersichtlich...
    Was passiert denn, wenn du in svdrp.c bei CmdUPDR

    Code
    Recordings.Update(false);


    durch

    Code
    Recordings.TouchUpdate();


    ersetzt?


    Lars.

  • Gleiches Problem hier.
    Wenn ich ein Aufnahme Verzeichnis umbenenne, wird das nach einem "svdrpsend UPDR" im Menü nicht aktualisiert, mit einem "svdrpsend LSTR" auf der Konsole aber sehr wohl.


    Wenn ich in svdrp.h cRecordings Recordings entferne, werden die globalen Recordings genutzt, worauf auch das Menü zugreift.

    Code
    42 class cSVDRP {
     43 private:
     44   cSocket socket;
     45   cFile file;
     46 /////  cRecordings Recordings;
     47   cPUTEhandler *PUTEhandler;

    Mein VDR
    vdr4arch mit softhddevice, VDR-2.2.0; KODI Mainboard: MSI 785GM-E51, CPU: iAMD Athlon II, GPU: GeForce GTX 550 Ti; nvidia:364.19, DVB1-2: DD Cine S2; DVB3-4: DD DuoFlex S2;, RAM: 1*2G DDR3, AV-Receiver Pioneer VSX-923K

  • Moin!


    Ok, du hast den Fehler gefunden!
    Besser ist aber, in svdrp.c, Zeile 1571 in CmdUPDR folgendes zu ändern:

    Code
    -  Recordings.Update(false);
    +  ::Recordings.Update(false);


    Sonst funktioniert evtl. das Löschen von Aufnahmen über SVDRP usw. nicht mehr.


    Deshalb hat man die Änderungen bei LSTR gesehen, aber nicht im Menü.
    Böse Falle. Vielleicht sollte man das lokale "Recordings" in svdrp.[hc] umbenennen, damit es keine Überschneidungen gibt.


    Unabhängig davon hab ich mich eigentlich schon immer gefragt, warum diese globalen Objekte nicht als "static member" in den entsprechenden Klassen sind, damit sie nicht im globalen Namensraum sind.
    Dann muss man zwar überall "cRecordings::Recordings" schreiben, aber es wäre dann klarer.
    Gleiches gilt für Channels, Skins usw., halt alles was "extern" in den Headern ist.


    Lars.

Jetzt mitmachen!

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