Nach löschen einer Aufnahme immer Sprung an 1. Stelle

  • Ich habe eine allgemeine Frage bezüglich der Aufnahmenliste und Serien (in Unterordner)


    Die Sortierung im VDR ist Ordner nach name und dann nach Datum.
    Serienaufnahmen sind in Ordnern "Serienname/Folge"


    Angenommen es sich 15 Serien mit jeweils mehreren Folgen auf der Platte: Serie1/Folge1 ...


    Wenn ich nun aus dem Ordner Serie8 eine Folge lösche, und dann mit Back eine Ebene zurück gehe, dann landet die Markierung immer an der ersten Position auf den Ordner "Serie1". Eigentlich würde ich aber erwarten, dass die Markierung auf "Serie8" beibt.


    Wenn man schnell ist bleibt die Markierung für eine knappe Sekunde auf dem Ordner "Serie8" bevor sie automatisch nach oben springt.


    Die Frage ist nun, ob das nur bei mir so ist, und ob das irgendwie geändert werden kann?

  • Für die Version 2.1.5 war es wohl zu kurzfristig? Hast es aber auf deiner Liste stehen?


    Mir ist noch was aufgefallen. Der Effekt tritt nur auf, wenn in dem Ordner wo eine Folge gelöscht wird noch weitere Folgen verbleiben. Wenn man die letzte Folge löscht, bleibt der Auswahlbalken in der Liste da wo man es erwartet.

  • Hallo Klaus,


    dazu fällt mir noch ein, daß man wenn man die Liste der Aufnahmen aufruft, der cursor ja auf der zuletzt angesehenen Aufnahme steht. Ist wohl, damit man bei unterbrochenem Abspielen hier direkt fortsetzen kann. Ist ja dafür auch ganz praktisch. Aber wenn ich dann den Cursor bewege um z.B. mehrere Aufnahmen weiter unten zu löschen (bei ca 500 Aufnahmen evtl viele ">" oder "<" und "v", wird das sehr mühsam. Jedesmal, wenn ich die Liste wieder aufrufe (ich kann ja immer nur eine Aufnahme zur Zeit löschen) muß ich den Cursor wieder neu positionieren, weil er ja immer wieder bei der letzten abgespielten Aufnahme landet. Mein Workaraund ist hier, irgendeine Aufnahme in dem Block kurz anzuspielen, damit diese Position dann wieder die letzte wird. Könnte man das nicht so gestalten, daß ein manuelles Neupositionieren die letzte Position einfach überschreibt? Also beim Löschen einfach auf der nächsten Aufnahme hinter der gelöschten Position bleibt? Das fände ich bequemer, als schnell an eine unterbrochene Wiedergabe zu kommen (vielleicht kann man das ja aber auch mit irgendeiner Taste (1-0) direkt positionieren. Denn ich schaue Aufnahmen nach Möglichkeit zu Ende an und kurzzeitige Pausen (Bier holen, Klo gehen, Telefon, ...) kann man ja mit der Taste "v" erreichen.


    Viele Grüße
    msv

  • Für die Version 2.1.5 war es wohl zu kurzfristig? Hast es aber auf deiner Liste stehen?


    Ja.


    Zitat


    Mir ist noch was aufgefallen. Der Effekt tritt nur auf, wenn in dem Ordner wo eine Folge gelöscht wird noch weitere Folgen verbleiben. Wenn man die letzte Folge löscht, bleibt der Auswahlbalken in der Liste da wo man es erwartet.


    Danke für den Hinweis.


    Klaus


  • dazu fällt mir noch ein, daß man wenn man die Liste der Aufnahmen aufruft, der cursor ja auf der zuletzt angesehenen Aufnahme steht. Ist wohl, damit man bei unterbrochenem Abspielen hier direkt fortsetzen kann. Ist ja dafür auch ganz praktisch. Aber wenn ich dann den Cursor bewege um z.B. mehrere Aufnahmen weiter unten zu löschen (bei ca 500 Aufnahmen evtl viele ">" oder "<" und "v", wird das sehr mühsam. Jedesmal, wenn ich die Liste wieder aufrufe (ich kann ja immer nur eine Aufnahme zur Zeit löschen) muß ich den Cursor wieder neu positionieren, weil er ja immer wieder bei der letzten abgespielten Aufnahme landet. Mein Workaraund ist hier, irgendeine Aufnahme in dem Block kurz anzuspielen, damit diese Position dann wieder die letzte wird. Könnte man das nicht so gestalten, daß ein manuelles Neupositionieren die letzte Position einfach überschreibt? Also beim Löschen einfach auf der nächsten Aufnahme hinter der gelöschten Position bleibt? Das fände ich bequemer, als schnell an eine unterbrochene Wiedergabe zu kommen (vielleicht kann man das ja aber auch mit irgendeiner Taste (1-0) direkt positionieren. Denn ich schaue Aufnahmen nach Möglichkeit zu Ende an und kurzzeitige Pausen (Bier holen, Klo gehen, Telefon, ...) kann man ja mit der Taste "v" erreichen.


    Danke, werd's berücksichtigen.


    Klaus


  • Mir ist noch was aufgefallen. Der Effekt tritt nur auf, wenn in dem Ordner wo eine Folge gelöscht wird noch weitere Folgen verbleiben. Wenn man die letzte Folge löscht, bleibt der Auswahlbalken in der Liste da wo man es erwartet.


    Ich habe jetzt mal versucht, das zu reproduzieren, aber es gelingt mir nicht.
    Als Testumgebung erzeuge ich mit

    Code
    for i in a b c d e; do md Serie/$i/2012-05-22.18.24.1-0.rec; done


    ein Unterverzeichnis mit 5 Aufnahmeverzeichnissen, in einem Verzeichnis wo es vor und nach "Serie" noch weitere Verzeichnisse gibt.
    Dann (nach 'touch /video/.update') gehe ich im Recordings-Menü in das Verzeichnis "Serie", starte die Wiedergabe von "d" und warte die Fehlermeldungen ab. Dies dient nur dazu, daß VDR sich diese Aufnahme als zuletzt abgespielte merkt.
    Wenn ich dann das Recordings-Menü wieder öffne, Ok drücke bis der Cursor auf "d" steht, dann die gelbe Taste drücke und "d" lösche, komme ich mit "Back" wieder auf "Serie". Aber auch wenn ich keine zuletzt abgespielte Aufnahme habe, komme ich mit "Back" immer da raus, wo ich es erwarte.


    Es muß wohl noch irgendwelche Randbedingungen in der Vorgehensweise geben, die bei mir anders sind als bei dir.
    Kannst du eine genaue Schritt-für-Schritt Anleitung geben, wie man den Fehler hervorrufen kann?


    Klaus

  • Hm... Du brauchst mehrere Serienverzeichnisse (Beispiel: Menü - Aufzeichnungen:(
    [Blockierte Grafik: https://dl.dropboxusercontent.com/u/1490505/VDR/skinflatplus/Grab/vid1.jpg]


    Dann im Verzeichnis Alphas eine beliebige folge löschen:
    [Blockierte Grafik: https://dl.dropboxusercontent.com/u/1490505/VDR/skinflatplus/Grab/vid2.jpg]


    Wenn man jetzt mit "Back" wieder eine Ebene höher wechselt (Bild 1), dann springt der Balken nach ~1 Sekunde automatisch an die erste Stelle!


    Wenn es die letzte Folge war, landet man automatisch in der Hauptansicht und der Balken bleibt aber da wo er soll...


    Also brauchst Du zum testen folgende Struktur:


    /video/SerieA/Folge1
    /video/SerieA/Folge2
    /video/SerieB/Folge1
    /video/SerieB/Folge2
    /video/SerieB/Folge3
    ...


  • Ich weiß zwar nicht, warum das in meiner Umgebung von vorhin nicht aufgetreten ist, aber nachdem ich jetzt mit

    Code
    for s in A B; do for f in 1 2 3; do md Serie$s/Folge$f/2012-05-22.18.24.1-0.rec; done; done; touch .update


    das Ganze nochmal probiert habe, konnte ich den Fehler manchmal (allerdings nicht immer) nachvollziehen.
    Damit komm ich jetzt schon weiter, danke.


    Klaus

  • Nachtrag:


    Habe gerade mal auch ein paar leere erzeugt:

    Code
    for i in a b c d e; do mkdir -p Serie/$i/2012-05-22.18.24.1-0.rec; done

    Wenn ich das so wie oben beschrieben mache. dann klappt es komischerweise und der Balken macht was er soll...


    Also mal mit einer kleinen Testaufnahme mal testen. Vielleicht braucht es Daten dazu?


    Habe mal eine Serie kopiert un a b c usw. Da bleibt der Balken wo er ist.
    Eine andere Serie wo ich eine Folge lösche, springt der Balken nach oben! Einziger Unterschied ist, dass die Folgen da wo er wegspringt unterschiedliches Datum habe... Komisch...


  • dazu fällt mir noch ein, daß man wenn man die Liste der Aufnahmen aufruft, der cursor ja auf der zuletzt angesehenen Aufnahme steht. Ist wohl, damit man bei unterbrochenem Abspielen hier direkt fortsetzen kann. Ist ja dafür auch ganz praktisch. Aber wenn ich dann den Cursor bewege um z.B. mehrere Aufnahmen weiter unten zu löschen (bei ca 500 Aufnahmen evtl viele ">" oder "<" und "v", wird das sehr mühsam. Jedesmal, wenn ich die Liste wieder aufrufe (ich kann ja immer nur eine Aufnahme zur Zeit löschen) muß ich den Cursor wieder neu positionieren, weil er ja immer wieder bei der letzten abgespielten Aufnahme landet.


    Nachdem ich jetzt das Problem, das der OP beschrieben hatte, glaube gelöst zu haben, wollte ich mir dein Problem näher anschauen. Allerdings verstehe ich den Satz "ich kann ja immer nur eine Aufnahme zur Zeit löschen" nicht. Man kann doch beliebig viele Aufnahmen löschen, ohne das Recordings-Menü zu verlassen!?


    Klaus

  • Hallo Klaus


    Ja, das stimmt, sorry, ich hatte ein bischen aus dem Gedächnis zitiert und das ist leider nicht immer exakt. Also wenn ich mehrere Aufnahmen hintereinander lösche ist das richtig. Nur wenn ich zwischendurch aus dem Aufnahmemenu raus gehe und wieder zurückkehre bin ich wieder auf der letzten angesehenen Aufnahme. Hängt ein bischen mit meiner Arbeitsweise zusammen. Also in dem Fall wäre es nicht unbedingt notwendig, etwas dafür zu ändern. Trotzdem fände ich es praktischer bei manuellem verschieben des Cursors auf eine andere Position innerhalb der Aufnahmeliste bei erneuten Aufruf der Liste wieder an der letzten Stelle zu landen und nicht bei der zuletzt angesehenen Aufnahme.


    Zum Hintergrund: Ich habe viele der Filesystem intensiven Aufgaben, wie Schneiden und Verschieben von Aufnahmen oder Markad laufen lassen auf Aufnahmen auf meinen Server verschoben um den etwas schmalbrüstigen diskless VDR (Atom CPU) nicht zu sehr zu belasten. Auch Dinge, wie umwandeln von Aufnahmen (vdr2dvd, vdr2mp3, vdr2mpeg, ....) werden so angestoßen. Damit bleiben diese Filesystemoperationen auch lokal auf dem Server und dem lokalem Softraid und müssen nicht immer übers Netzwerk durchgeführt werden. Diese Schritte werden dann per ssh vom VDR in einen Queue Scheduler verschoben und entweder per Script oder einer eigenen VDR Instanz nur fürs Schneiden auf dem Server asyncron abgewickelt. Den Status kann ich dann wieder auf dem VDR per Commandmenu abrufen. Damit ist mein VDR eigentlich immer frei für seinen eigentlichen Aufgaben, TV schauen, Aufnehmen oder Aufnahmen anschauen. Ist also alles recht flexibel.


    Also, wenn meine Arbeitsweise nicht mit der Intention des VDRs zusammen paßt, laß es so wie es ist. Ansonsten würde ich mir hier einfach die Flexibilität wünschen, evtl per Setupoption entscheiden zu können welches Verhalten ich in Bezug auf den Cursor haben möchte. Also immer letzte manuelle Position oder letzte angesehene Aufnahme. Es gibt ja auch solche Optionen schon für z.B. WrapAround oder nicht WrapAround. Der Eine mag es so, der Andere so....


    (Wünsche sind ja aber keine Bestellungen)


    Viele Grüße
    msv

  • Trotzdem fände ich es praktischer bei manuellem verschieben des Cursors auf eine andere Position innerhalb der Aufnahmeliste bei erneuten Aufruf der Liste wieder an der letzten Stelle zu landen und nicht bei der zuletzt angesehenen Aufnahme.


    Als schnellen Versuch könntest du mal in menu.c zwei Zeilen einfügen:

    Code
    cMenuRecordings::~cMenuRecordings()
    {
      if (cMenuRecordingItem *ri = (cMenuRecordingItem *)Get(Current()))
         cReplayControl::SetRecording(ri->Recording()->FileName());
      helpKeys = -1;
      free(base);
    }


    Verhält es sich damit so, wie du es möchtest?


    BTW: das "helpKeys = -1;" scheint mir hier überflüssig zu sein, da wir uns ja im Destructor befinden. Das werde ich mal rausschmeißen.


    Klaus

  • kls
    Vielen Dank für den Patch.


    EDIT: Hab jetzt doch mal schnell testen können... Sieht gut aus! Man sieht beim zurück gehen schön, wie der Zähler beim Ordner aktualisiert wird und der Balken da bleibt.


  • Verhält es sich damit so, wie du es möchtest?


    BTW: das "helpKeys = -1;" scheint mir hier überflüssig zu sein, da wir uns ja im Destructor befinden. Das werde ich mal rausschmeißen.


    Klaus



    Hallo Klaus,


    kann ich leider erst am Wochenende ausprobieren.


    Wohnort != Arbeitsort => Hotel und kein VDR


    Gruß
    msv

  • Hallo Klaus,


    hab ich mal ausprobiert. Sieht auch so aus, wie ich das meistens eben praktischer finde. Aber ist glaube ich wirklich Geschmackssache. Ich benutze aber normalerweise das ExtRecMenu Plugin und da muß ich dann mal selber suchen wo ich dies Verhalten ändere. Mit deiner Modifikation ändert sich das Verhalten des Cursors nur in dem StandardRecording Menu.


    Also entscheide selber, ob es sich lohnt an dieser Stelle etwas zu flexibilisieren per Option. Vielleicht interessiert das ja andere User nicht.


    Gruß
    msv

  • OK, für das ExtRecMenu Plugin hab ichs auch hin bekommen:



    in mymenurecordings.c

    Code
    myMenuRecordings::~myMenuRecordings()
    {
      if (myMenuRecordingsItem *ri = (myMenuRecordingsItem *)Get(Current()))
         cReplayControl::SetRecording(ri->FileName());
      free(base);
    }
  • Ich bin gerade am Überlegen, wie man das "richtig" einbauen könnte, und dabei ist mir aufgefallen, daß es mit diesem Patch evtl. passieren kann, daß nach dem Beenden eines TimeShift eine völlig falsche Aufnahme gelöscht wird, wenn man während der Wiedergabe mal im Recordings-Menü unterwegs war.


    DEN PATCH ALSO BITTE NUR MIT ÄUSSERSTER VORSICHT VERWENDEN - AM BESTEN GAR NICHT!!!


    Klaus

Jetzt mitmachen!

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