Permanent TimeShift for DM7025 / DM500HD / DM800 / DM8000 - v1.0 FINAL

  • stimmt - vergessen dass timeshift.ts ja auf direkt auf /mnt/hdd liegt


    denkfehler :)


    lg Paratwa

    KTM SMT 990 (!!) ;) , KTM LC4 Adventure98, EIBD & LINKNX, AVR 3808, Panasonic TX-P42VT20, Sony Bravia 32" ( :( ), Carrera D132 (35m) ....

  • Kleines Update, nachdem wir nun zu 3 TV geschaut haben und diverse male das Telefon geklingelt hat,.... Einfach genial. Funktionierte fast immer mit dem rückspulen. Ausser als Desperate Housewives zuende war, habe ich gezappt. Bin dann nach ein paar minuten auf PW4 (Harrypotter) hängen geblieben.


    Beim Zappen ist mir aufgefallen, das oben links das play zeichen mit der -0.00 nicht mehr wech gegangen ist, bis ich mit OK die Infobar geholt und wieder wechgedrückt habe.


    Dann beim Abspann wollte ich wieder zurückspulen und es ging nicht. Wiederum beim Zappen habe ich dann gehört wie die HDD wieder angelaufen ist. Muss also ausgegangen sein.


    Jetzt läuft das Plugin wieder.


    Anmerkung 2.


    Meine LCD Picons laufen mit dem Plugin nicht.


    MFG

  • Habe Deine debug-IBG nun getestet:


    im LiveTV, wenn ich PAUSE drücke, erscheint: 1,1,0,True


    wenn ich im LiveTV << drücke, erscheint "Permanent Timeshift SeekBack"


    Bin ich in der Wiedergabe vom Timeshift drin, habe die Farbtasten die gewohnte Funktion und es kommt keine Meldung.
    (da die << Taste ja aus dem Live Modus nicht funktioniert, komme ich nur durch ein wenig Rumspielen mit der Pause Taste in die Wiedergabe vom TS)

    Ich brauche keinen Sex - das Leben fickt mich so schon jeden Tag!

  • Quote

    Original von Homey[GER]
    Das is mein grosser Wunsch es so zu machen das er immernoch maximal X Stunden aufnimmt und dann automatisch die Timeshift aufnahme vorne kürztz so das immernur die letzten X Stunden verfübar sind (wie bei den Humax's). Aber leider sehr sehr schwer umzusetzen. Keine Ahnung ob ich das mit meinen Grundkenntnissen schon kann. Wäre schön wenn DMM sowas machen würde für Ihre normale Timeshift funktion so das da auch nur die letzten X Stunden aufgenommen werden.


    also auf DMM würde ich da nicht hoffen.


    Implementiere btte erstmals den regelmäßigen check ob die maximale Timeshiftgröße erreicht ist mit dem automatischen neustart des timeshifts so wie wenn der Event zuende wäre !


    Dann musst du eigentlich nur mehr bevor der timeshift gestartet wird das alte file wegsichern - wer hat wohl schnell noch das Timeshiftsave Plugin geschrieben :-), und ich helfe dir das gesicherte file dann hinten an die neue Aufnahme beim abspielen anzustückeln (das geht auch mit Unix Mittele denke ich mal, vor allem da du jetzt eigentlich eine eigene Wrapper routine hast für das Play wo man diese kreativen Dinge noch machen könnte) - das ist dann zu 95% das was zu möchtest (also ein virtuell rollierendes File) und DMM braucht dabei eigentlich gar nichts an der Basis ändern.


    LG
    gutemine

    Edited once, last by gutemine ().

  • GuteMine
    Ja werd ich tun :wmbiggrin: Aber erst wenn ich das jetzige am laufen hab ^^ Brauch nicht noch mehr verbuggten code ^^


    Bluebrain


    Und nochmal eine Datei für dich. Im LIveBild weren jetzt mit gelber und roter taste immer die 2 funktionen pts_Pause() und pts_SeekBack() aufgerufen und nicht immer diese Activate TimeShift.


    Dann könn wir da in den 2 funktionen machen was wir wollen, ohne die activate timeshift funktion von DMM zu verhunzen. Hab jetzt was code da reingefügt, bei mir geht auch alles mit pause und zurückspulen und so, aber das ist ja nix neues bei mir ^^ Funktioniert irgendwie fast immer ^^


    Kannst ja mal testen wenn lust hast. Wenn ein wunder geschieht gehts sogar, aber ich hab langsam die hoffnung aufgegeben :(

  • Ne, das klappt jetzt wieder nicht, bei mir.


    Er springt die 3 Sek. zurück und spielt dann von dort aus weiter.


    Zurückspulen und navigieren im TS funktioniert.



    Aber was hast Du gegen den self.pauseService() Aufruf in der pts_Pause Funktion ?

    Ich brauche keinen Sex - das Leben fickt mich so schon jeden Tag!

  • Hmmm und wenn wir die 2 zeilen vertauschen und erst zurückspulen und dann pause machen !?


    Sind ja nur die 3 zeilen da ... irgendwie muss es schon gehen :D


    Code
    ts.activateTimeshift() # Brings us into Timeshift mode - but jumps to begin of TS
    self.setSeekState(self.SEEK_STATE_PAUSE) # Pause TimeShift
    self.seekRelativeToEnd(-270000) # seek approx. 3 sec before end of TS


    Es muss meiner Meinung nach dieses ts.activateTimeshift() benutzt werden umm uns in den timeshift modus zu bringen. und dann halt SEEK_PAUSE oder so ... geht ja bei mir auch so und DMM nutzt es auch bei ihrem timeshift im livebild :-)


    PauseService muss ich mal antesten, kann ich mir aber nicht vorstellen das da alles 100%ig dann so funktioniert und ob der nicht ne neue TimeShift datei dann anlegt, weil der dann alle timeshift funktionen aus der IBG nicht benutzt ...


    Hier ne datei wo die beiden zeilen vertauscht sind. Erst springt er zurück und dann macht er pause und nicht umgekehrt wie vorher ... irgendwie muss man den doch bei dir dazu bringen pause zu machen und in den timeshift modus zu springen

  • Das mit dem Vertauschen der beiden Befehle hatte ich schon mal ausprobiert - hat NULL Unterschied gemacht!


    Kann jetzt auch leider nicht testen, weil gerade eine Aufnahme läuft.

    Ich brauche keinen Sex - das Leben fickt mich so schon jeden Tag!

  • ich test solang dein self.pauseService() ... was mir direkt schonmal aufgefallen ist das die uhr da oben nicht anläuft und trotz pause bei 0:00 steht und nicht hochzählt. ANsonsten aber glaube ich siehts schonmal ganz gut aus.


    *edit*
    Nachdem ich mal für 10 sek pausiert hab mit der funktion ... kann nicht mehr nach vorne spulen so und muss zeitversetzt fernsehen :(

  • Ja, das eine oder andere wird sicher noch dazu gehören, aber zumindest setzt es den Live Modus schon mal zuverlässig in Pause.


    seltsamerweise passiert in der pause-Funktion auch nichts anderes als:
    self.setSeekState(self.SEEK_STATE_PAUSE);


    ... irgend was anders muss also das Pausen im LiveTV aufhalten !


    MENSCH! Mittlerweile träume ich schon nur mehr in "Pause and Play"

    Ich brauche keinen Sex - das Leben fickt mich so schon jeden Tag!

  • Ja is komisch ... SEEK_STATE_PAUSE funktioniert bei dir nicht, aber im LiveBild kannste ja die Spul-Taste drücken und es funktioniert bei dir und er spult und da macht er auch nur ein SEEK_STATE_BACK_8X


    Muss man nicht verstehen ...


    Habs jetzt aber geschafft deine Pause funktion dazu zu bringen richtig zu funktionieren so mit vorspulen und so ... du sagtest ja eben das er eben 3 Sekunden zurückgesprungen ist, also scheint das ja schon zu gehen und genau das hab ich jetzt gemacht. Einfach timeshift aktivieren, 3 sek zurückspulen und dann self.pauseService() machen ...


    Sieht definitv gut aus bei mir. Noch nicht alles 100%ig getestet aber er macht pause so wie er soll ... und dann kann man auch wieder vorspulen bis zum LiveBild :rolleyes:

  • Wieder nix !
    gleiches Prob wie immer: geht auf die 3 Sek. vor Ende und zeit zwar das Pause.Zeichen links oben, spielt aber ab statt zu pausen!

    Ich brauche keinen Sex - das Leben fickt mich so schon jeden Tag!

  • Tjoa dann weiss ich auch nich mehr weiter sorry. Kanns halt hier einfach nicht reproduzieren und es geht die ganze zeit. Vorhin als ich das erste mal den original zapper genutzt hab hat ich das problem auch ein paar mal aber irgendwann gings dann auch. Batterien waren fast leer dadrin und ich hab jetzt neue drin und noch nie probleme gehabt. Er macht immer brav sein pause, spult zurück und alles wie es sein soll. Keine ahnung warum bei euch nicht, sorry

  • probier vieleicht mal 2x pause aufrufen - ist zwar unlogisch, aber wenn er mit seinem zustand nicht happy ist wird dieser beim ersten mal zurückgesetzt und beim 2. mal erst richtig gehandhabt.


    Und schaden kann es ja eigentlich nicht - schlimmsten Falls spielt er wieder weiter und das stört keinen.


    Und springen in inkonsistentem Zustand macht es nicht besser weil er sich halt nicht auskennt. Und das OK drücken damit das Pause/Play Zeichen verschwindet kannst du eigentlich auch auscodieren, schlimmstennfals mach ein eigene onHide funktion die das nach 2 sec aufruft.


    Ich glaube so einen lästigen Fall wo es einfach nicht wollte hatte ich damals auch - nur der Unterschied ist das ich dann immer den Hammer raushole :-)

    Edited once, last by gutemine ().

  • Das mit dem 2x Pause hatte ich schon probiert. Sogar mit 3x.
    Auch eine Schleife dazwischen hat nix gebracht.


    sobald ich ts.activateTimeshift aufrufe, ist es vorbei mit Pause machen.

    Ich brauche keinen Sex - das Leben fickt mich so schon jeden Tag!

  • Quote

    Original von Bluebrain
    Das mit dem 2x Pause hatte ich schon probiert. Sogar mit 3x.
    Auch eine Schleife dazwischen hat nix gebracht.


    sobald ich ts.activateTimeshift aufrufe, ist es vorbei mit Pause machen.


    Wer wird denn so schnell aufgeben :-)


    In dem Fall muss man halt forschen was hilft und evt mal auch in die verkehrte Richtung gehen - also z.B. auch schon Play & sofort pause probiert ?


    Alte Regel - es gibt immer auch einen 2. Weg !


    Ich habe auch schon 6 Monate an die Tür gehämmert wie man von ausserhalb enigma2 über Telnet das enigma2 steuern könnte - und die ganze Zeit war die Hintertür es über das Fernbedienungsdevice zu machen weit offen - was glaubst du wie ich mich geärgert habe !


    Und dann gibt es noch die Regel das wenn man ein Problem nicht lösen kann/will man es einfach vermeidet (also kein activate timeshift verwenden).


    So viel mehr an Zuspruch und motivation kann ich Euch nicht anbieten.


    Im Prinzip geht es ja wenn du die entsprechenden tasten der FB sofort nach dem Zappen in richtiger Riehenfolge drückst, also muss es auch gehen wenn du den selben code im python aufrufst der da durchlaufen wird - ich hab dann ähnlich wie Homey immer die pythons mit os.system("wall xxx") vollgepflastert bis ich verstanden habe wie es vom zeitlichen UND logischen Abllauf funktioniert. Und dann war es meistens ganz leicht ...


    LG
    gutemine

    Edited 2 times, last by gutemine ().

  • GuteMine
    Was hast Du denn damals in Deinem Yellowshift Plugin benutzt, um Pause,Play von der FB zu simulieren ?

    Ich brauche keinen Sex - das Leben fickt mich so schon jeden Tag!

  • Quote

    Original von Bluebrain
    GuteMine
    Was hast Du denn damals in Deinem Yellowshift Plugin benutzt, um Pause,Play von der FB zu simulieren ?


    ich habe testweise einfach die routine aus meinem remote control webif geklaut die die befehle direkt aufs Fernbedienungsdevice schreibt (in python nicht über das control binary in C) und die entsprechendne befehle vom enigma2 im on hide der InfoBarGenerics.py abgesetzt.


    Dadurch das enigma2 grade beschäftigt war wurden diese erst abgearbeitet als es in die Mainloop zurückging und dann hat es auch funktioniert - ABER das ist hässlich und nur zu Forschungszwecken sinnvoll um den nötigen zeitlichen Ablauf zu verstehen. Und im Yellow Shift war das dann nicht mehr drinnen :-)

    Edited 3 times, last by gutemine ().

  • Noch ne Testdatei kann ich anbieten, wo ein Timer läuft und die Pause funktion etc erst nach kurzer zeit gestartet wird, also nachm activate timeshift.


    Vielleicht hängt das irgendwie mit den zeitlichen abläufen zusammen das er noch nicht Pausieren kann bei dir weil TimeShift noch nicht richtig aktiviert ist ... die spul funktion wird ja auch verzögert aufgerufen mitm Timer, warum also nicht auch die Pause !?


    Bitte die spulen und pause funktionen ausm LiveBild heraus testen und berichten !!!

  • Werde ich sofort testen, komme aber erst am Abend dazu.
    (aber dann wie immer bis 3:00 Uhr :D )


    ... was würde ich nur dafür geben, dass Enigma2 nicht so elends lange zum Starten braucht.
    (wenn man das nur hin und wieder macht, ist das ja nicht so schlimm, aber wenn Du am Coden bist und ständig Änderungen ausprobieren musst, kann das schon gehörig nerven!)

    Ich brauche keinen Sex - das Leben fickt mich so schon jeden Tag!