Beiträge von MacDisein

    Fährt denn "Nichts" die Box nach der Aufnahme auch wieder runter falls sie vor der Aufnahme ausgeschaltet war? Leider nein!


    Ich denke, dass das die Option ist, die boemele haben wollte.
    Sowas hatte ich in diesem Thread auch schon angeregt:


    Timer hinzufügen/bearbeiten


    Um die Sache noch etwas zu erläutern - nehmen wir mal an, ich nehme eine wöchentliche Serie auf. Zur gleichen Zeit läuft auf einem anderen Sender eine Sendung die ich immer gucke - die Box ist also vor der Aufnahme eingeschaltet. Wenn ich jetzt eine Option hätte "Zustand wie vor dem Ereignis" oder wie boemele es nennt "Ausgangszustand" und diese wäre gesetzt, würde die Box laufen bleiben.
    Jetzt bin ich aber an diesem Tag zufällig nicht zu Hause und die Box ist abgeschaltet. Ohne obige Funktion würde die Box brav starten sich aber nachher nicht wieder runterfahren. Mit der Option hat die Box gemerkt, dass sie abgeschaltet war und fährt nach dem Timer wieder runter.


    Zugegeben, man könnte auch pauschal immer "Box abschalten" einstellen und dann bekäme man nach dem Timer die Meldung, ob die Box heruntergefahren werden soll - die obige Option wäre aber deutliich einfacher und flexibler.



    MacDisein

    So, das Ganze ist jetzt von den Dreambox Entwicklern umgesetzt worden.


    Im nächsten Release wird es enthalten sein.



    Ein Danke an die Entwickler, auch wenn ich mir vielleicht ein kleine Reaktion der Beteiligten auf den Thread gewünscht hätte.



    MacDisein

    Ich hätte noch einen Featurewunsch für eine der nächsten Versionen:


    Beim hinzufügen/bearbeiten von Timern würde ich mir noch folgende Funktionen wünschen:


    1. Bei der Eingabe der Start- und Endzeit sollte man z.B. mit den Bouquet +/- Tasten oder den Pfeilen links und rechts von der 0 die Zeit um eine Minute verändern können.
    Oft ist es ja so, dass man noch mal schnell ein oder zwei Minuten an die Endzeit dranhängen möchte, dann könnte man durch zweimaliges drücken von Bouquet+ zwei Minuten anhängen.


    2. Es sollte eine weitere Option bei "Nach dem Ereignis" geben - ich würde mir dort die Option "Zustand vor dem Ereignis" wünschen. Der Timer sollte sich beim Starten merken in welchem Zustand die Box war (also abgeschaltet, standby oder running) und nach dem Timer die Box wieder in diesen Zustand versetzen. So muss man sich keine Gedanken machen welchen Zustand man einstellt.



    MacDisein

    [sarkasmus]
    Ich habt doch gehört, dass es kein Ton Problem gibt, weil es entweder überall oder nirgends so ist. :winking_face:
    [/sarkasmus]


    Aber ich bin ja jetzt schon mal froh, dass es auch anderen aufgefallen ist, ich habe vorgestern auch zeitgleich eine Aufnahme vom Morgenmagazin auf ARD und ZDF gemacht, das wollte ich mir noch mal ansehen und wenn es auf der Aufnahme ebenfalls zu erkennen ist, dann werde ich aus beiden Aufnahmen mal einen Ausschnitt hochladen.


    Mein Dolby Digital Receiver kann das Problem übrigens auch nicht verursachen weil es dort keine Einstellung für den Tonoffset gibt.



    MacDisein

    SadButTrue, ich wollte deine Kompetenz nicht in Frage stellen, ich weiß schon wer du bist :smiling_face: - es ging auch nicht direkt gegen deine Aussage - ich bin ja froh, dass jemand antwortet.


    Es ist auch nicht so, dass mich das Problem übermäßig stört, aber es ist schon seltsam.


    Ich werde das am Montag nochmal mit dem Ton direkt über Scart gegentesten, im Moment wird er ja über den optischen Ausgang an meine Dolby Anlage geschickt - vielleicht ist dort ja auch der Hase (oder war es der Hund der immer begraben wird) begraben.



    MacDisein

    Zitat

    gut dann hast du dir die antwort selbst gegeben...


    entweder es ist überall so oder nirgends...


    wenn es nur auf einem sender ist und dann auch nicht immer kann es ned an der box liegen das wäre irgendwie ned logisch


    Ich bin selber Softwareentwickler und weiß daher, dass mit Software so ziemlich alles machbar ist - es kann ja auch gut möglich sein, dass man einen Ton Offset für jeden Sender separat definieren kann.


    Außerdem habe ich nicht behauptet, dass es nur zeitweise bei ZDF so ist, ich habe nur gesagt, dass es z.B. bei Nachrichten sehr stark auffällt.


    Solange die Entwickler nichts dazu sagen, ist alles andere nur Spekulation.



    MacDisein

    Mir ist das beim ZDF auch stark aufgefallen - bei allen anderen Sender bleibt das im Rahmen.


    Besonders auffällig ist es bei Nachrichten, am besten kann man den Effekt beim Morgenmagazin beobachten, denn ZDF und ARD senden dort ja gemeinsam. Wenn man einige Minuten ZDF guckt, man sollte den Moderatoren genau auf dem Mund schauen, und dann zum Vergleich auf ARD schaltet, kann man einen deutlichen Unterschied bemerken.


    Der Effekt ist sowohl mit MPEG Audio wie auch mit AC3 zu bemerken.



    MacDisein

    Mir ist vorhin auch aufgefallen, dass der Radiotext nur angezeigt wird, wenn auch die Infobar angezeigt wird - das finde ich auch ein bisschen blöd - das ist wahrscheinlich auch der Grund warum ich dachte, dass er nur manchmal angezeigt wird - ich hatte das nicht in Verbindung mit der Infobar gebracht.


    Anyway - Radio Screen Show Support wäre jedenfalls schön und vielleicht den Radiotext auch ohne Infobar einblenden.



    MacDisein

    Ist eigentlich geplant diese Dienste für den Radiomodus zu implementieren?


    Radiotext gibt es glaube ich schon bei der Dreambox, aber so richtig scheint das nicht zu funktionieren, denn es wird nur manchmal etwas eingeblendet.



    MacDisein

    Ich würde gerne ein einfachere oder schönere Lösung sehen, nachdem ich E2 inzwischen wohl 20 mal neu gestartet habe bis es so lief wie es jetzt läuft - bin ich für jeden Vorschlag der mich weiterbildet dankbar.


    Wenn jemand die Sprungzeiten ändert dann funktioniert es tatsächlich nicht mehr - ich muss auch gestehen dass ich mit Python immer mehr auf Kriegsfuß stehe - ich blicke immer weniger durch, welche Klassen wo was vererben.


    Vielleicht baue ich das noch ein wenig um, dass es flexibler wird, eigentlich braucht man wohl nicht für jeden SEEK_STATE eine eigene Variable - aber ich weiß bis heute nicht was dieses Konstrukt mit den Klammern [ SEEK_STATE_SEEK_BACK_30 = (0, 0, 0, "- 0:30") ] zu bedeuten hat, ist das eine Array?


    Was mich auch noch an meiner Lösung stört, dass ich er den Infobalken anzeigt und nicht nur die Einblendung oben links in der Ecke - ich habe es zwar geschafft es auch ohne Infobalken hinzubekommen, aber leider habe ich es nicht geschafft einen eigenen Timer zu definieren der dann die onHide Methode in InfobarPVRState aufruft. Der Timer lief zwar und wurde aus meiner Sicht auch richtig gestoppt, allerdings kam es dann noch mehrmaligen Skippen zu Aussetzern in Bild und Ton, wahrscheinlich weil ständig irgendwelcher Timer Events ausgelöst wurden.



    btw. Kennt jemand eine gute Python Anleitung oder kann ein Python Buch empfehlen? Es sollte nicht gerade bei Adam und Eva anfangen, aber irgendwie unterscheidet sich Python doch recht stark von allen Programmiersprachen die ich in den letzten 15 Jahren gelernt habe.



    MacDisein

    So, dann kann dieser Thread auch zum Monolog werden :winking_face:


    Inzwischen habe ich mir selber geholfen und einige Änderungen an obigem Skript vorgenommen.


    Vielleicht denken die Programmierer ja mal darüber nach diese Änderungen ins offizielle Image zu übernehmen:


    Durch diese Änderungen werden während der Video-Wiedergabe beim Drücken auf die Tasten (3, 6 und 9 bzw. 7, 4 und 1) die Zeiten eingeblendet wie weit vor- bzw. zurück gezappt wurde.


    Vielleicht ist meine Lösung nicht besonders schön, aber funktioniert.


    Hier das Diff gegenüber der aktuellen CVS Version:




    MacDisein

    Arrrrgghhh, dieses Python macht mich wahnsinnig.
    Da bin ich von meinem geliebten C doch arg verwöhnt.


    Naja, wie dem ich auch sei - ich versuche mich trotzdem daran und scheitere meistens.


    Es geht um folgendes:


    Ich möchte gerne bei der Wiedergabe eines Videos eine Anzeige bekommen wenn ich die Skiptasten (3, 6, 9 bzw. 7, 4, 1) drücke. Es soll analog zum Spulen funktionieren, wo oben links die aktuelle Spulgeschwindigkeit angezeigt wird.


    Was ich schon rausgefunden habe ist, dass die Events der Tasten die "action" Methode in der InfoBarSeek Klasse aufrufen.
    Damit jetzt nicht jeder der mir ein paar Tips gegen möchte die Stelle aus dem Code suchen muss, poste ich hier mal den Originalcode:


    Code
    def action(self, contexts, action):
         if action[:5] == "seek:":
              time = int(action[5:])	
              self.screen.seekRelative(time * 90000)
              return 1
         else:
              return HelpableActionMap.action(self, contexts, action)


    Soweit kann ich auch noch folgen, außer, dass mir nicht klar ist, was die HelpableActionMap tut, aber für den Fall mit den Zifferntasten reicht ja der if Fall.


    Wie ich das jetzt weiter verstanden habe, ist die Klasse InfoBarPVRState für die Anzeige auf dem Bildschirm zuständig.


    Dort gibt es eine Art Callback der auf ein Ereignis reagiert (sorry wenn ich die falschen Begrifflichkeiten verwende) in diesem Fall "onPlayStateChanged".


    Dieser Event "onPlayStateChanged" wird in der Klasse InfoBarSeek in der Methode "setSeekState" ausgelöst und zwar so:


    Code
    for c in self.onPlayStateChanged:
         c(self.seekstate)


    Ich hoffe meine Gedanken sind bis hierhin richtig.


    Jetzt dachte ich mir, um einfach mal irgendetwas anzeigen zu lassen, wenn ich auf eine von den Skiptasten drücke, könnte ich einen der bereits vordefinieren Seekstates verwenden. Ich habe also die obige "action" Methode entsprechend geändert:


    Code
    def action(self, contexts, action):
         if action[:5] == "seek:":
              time = int(action[5:])
              for c in self.onPlayStateChanged:
                   c(SEEK_STATE_BACK_128X)
              self.screen.seekRelative(time * 90000)
              return 1
         else:
              return HelpableActionMap.action(self, contexts, action)


    Ich habe also die for-Schleife für den Event einfach in die Action Methode eingebaut - das Skript wird auch kompiliert - leider bekomme ich einen Bluescreen wenn ich auf einer der Skip-Tasten drücke.


    Vielleicht kann mir einer der Entwickler ein wenig unter die Arme greifen und mir vielleicht sagen, wo mein Fehler liegt. Mir ist auch noch nicht ganz klar, wieso die action Methode weiter eingerückt ist, als die anderen Methoden in der Klasse.


    Vielen Dank


    MacDisein

    Wobei mir an der jetzigen Lösung (Bestätigung beim Beenden) etwas aufgefallen ist - vielleicht liegt auch ein Benutzerfehler vor, ich denke aber nicht.


    Folgende Situation:


    Gestern habe ich 24 auf RTL2 gesehen, um 23:00 Uhr wollte ich dann ins Bett (die Folge lief noch bis 23:55 Uhr) - ich habe also eine Sofortaufnahme gestartet und dann im Timer für diese Aufnahme eingestellt, dass die Box nach der Aufnahme runtergefahren werden soll. Dann habe ich die Box in den Standby geschickt.


    Als ich dann heute morgen aufgewacht bin, war die Box noch immer im Standby. Ich habe dann die Box wieder eingeschaltet und dann tauchte der Meldung auf, dass die Box heruntergefahren werden soll, obwohl noch eine Aufnahme laufen würde.


    Für mich sieht es so aus, als ob die Box jetzt nach einer Timeraufnahme nicht mehr abschalten kann. Außerdem sollte sie sich natürlich immer. ohne Meldung aus dem Standby abschalten, wenn der Timer das verlangt.


    Ich werde nachher aber noch ein paar Tests machen.



    edit: Ich habe es jetzt nochmal probiert - wenn die Box normal läuft während der Aufnahme und im Timer ist eingestellt, dass die Box heruntergefahren werden soll, dann kommt die Meldung, dass ein Timer die Box runterfahren möchte und nach 20 Sekunden wird die Box dann heruntergefahren, wenn ich den Dialog nicht mit Nein bestätige.


    Ist die Box aber während der Aufnahme im Standby, dann kommt dieser (oben genannte) Dialog erst wenn ich die Box wieder "aufwecke". Das sollte möglichst geändert werden.


    MacDisein