InfoBar.py bearbeiten

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • InfoBar.py bearbeiten

      Hallo Leute,

      ich würde gerne bei der Wiedergabe einer Aufnahme diese um 8 Minuten vorspringen lassen, wenn ich die Ziffer 8 auf der Fernbedienung drücke.
      Ich meine, der entsprechende Code befindet sich in der /usr/lib/enigma2/python/Screens/InfoBar.py nahezu am Ende der Datei.

      Ich habe dort also folgendes eingefügt:

      Quellcode

      1. elif number == 8:
      2. time = 480


      Wenn ich die Datei speichere und die Box neu starte, werden die Änderungen aber nicht angewendet.

      Woran könnte das liegen? Was mache ich falsch?
    • Hast du nach dem rückspeichern der .py auch die dazugehörige .pyo gelöscht, damit aus der .py eine neue .pyo kompiliert werden kann ?

      Gruß SweetMP4...
      VU+ Ultimo 4k(1x FBC-DVB-S2 Twin) mit VTI-Team Image v. 14.0.x + 6TB Purple WD6NPURX-64J
      Sony KDL-40W905A Triluminos Technology
      Multytenne Twin 13.0/19.2/23.5/28.2 + Johansson Stacker/Destacker 9640 KIT
    • Eine pyo löschen, damit die Änderungen wirksam werden, muß man nicht. War bei mir jedenfalls noch nie nötig.

      Aber ne blöde Frage von mir: ist das Springen über die Tasten nicht frei im Menü beliebig konfigurierbar? ?-(
    • :D

      Heureka! Jetzt hab ich's!

      Man kann schon ewig springen. Aber nur mit den Tasten 1,3 4,6 und 7,9.
      Er will jetzt zusätzlich die 8 (und evt andere) belegen. :D

      @Horschte
      Hast du die Taste 8 auch in der ActionMap auch eingetragen? Sonst kannst du drücken wie du willst, aber die Taste wird nicht akzeptiert (es erscheint dann so ein "Verboten-Symbol").
    • Ja, 1,4,7 und 3,6,9 sind vorbelegt. Auch die 0 ist mit dem Setzen einer Marke vorbelegt. 2,5 und 8 sind unbelegt. Ich möchte also zusätzlich noch die 8 belegen.

      Die .pyo muss man auch nach meiner Erfahrung nicht löschen, da sie bei jedem Neustart automatisch neu erstellt wird.

      Die ActionMap habe ich nicht angerührt. Da sind aber alle Ziffern schon drin.

      Quellcode

      1. self["NumberActions"] = NumberActionMap( [ "NumberActions"],
      2. {
      3. "1": self.keyNumber,
      4. "2": self.keyNumber,
      5. "3": self.keyNumber,
      6. "4": self.keyNumber,
      7. "5": self.keyNumber,
      8. "6": self.keyNumber,
      9. "7": self.keyNumber,
      10. "8": self.keyNumber,
      11. "9": self.keyNumber,
      12. "0": self.keyNumber,
      13. }, -2)
      Alles anzeigen
    • Hm, das ist dann schon seltsam.

      Pack dir einfach mal ein paar print-Statements dazwischen und schau nach, wo er bei der Ausführung überall vorbei kommt.
    • Entweder mit meiner Box stimmt was nicht oder es ist doch nicht die richtige Datei, die ich bearbeite.

      Ich habe jetzt die komplette Funktion "def keyNumber(self, number):" gelöscht, die Datei gespeichert und die GUI neugestartet. Dennoch konnte ich ohne jeden Fehler mit den vorbelegten Zifferntasten vor- und zurückspringen. :8|
    • :D
      Beschreib doch mal genau, was du wo machen willst. Vielleicht weiß ja einer, wo man hinfassen muß.

      Oder mal enigma auf der Konsole starten und den Output beobachten.

      Update:
      Du kannst auch den umgekehrten Weg gehen und mal suchen, wo die in der settings gespeicherten Configs für die Sprungzeiten verwendet werden.
      Dürften ja nicht so viele Stellen sein.

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von busch ()

    • In der InfoBarSeek aus der InfoBarGenerics.py habe ich das hier gefunden:

      Quellcode

      1. def action(self, contexts, action):
      2. print "action:", action
      3. if action[:5] == "seek:":
      4. time = int(action[5:])
      5. self.screen.doSeekRelative(time * 90000)
      6. return 1
      7. elif action[:8] == "seekdef:":
      8. key = int(action[8:])
      9. time = (-config.seek.selfdefined_13.value, False, config.seek.selfdefined_13.value,
      10. -config.seek.selfdefined_46.value, False, config.seek.selfdefined_46.value,
      11. -config.seek.selfdefined_79.value, False, config.seek.selfdefined_79.value)[key-1]
      12. self.screen.doSeekRelative(time * 90000)
      13. return 1
      14. else:
      15. return HelpableActionMap.action(self, contexts, action)
      Alles anzeigen


      Aber auch wenn ich dort ein "False" durch 480 ersetze, tut sich nichts.

      Ich hätte auch gedacht, dass es in dieser Funktion der InfoBar.py zu ändern wäre:

      Quellcode

      1. def keyNumber(self, number):
      2. if self.session.pipshown:
      3. if number == 0:
      4. self.pipDoHandle0Action()
      5. else:
      6. if config.usage.numberzap_show_servicename.value:
      7. bouquet = self.servicelist.bouquet_root
      8. self.session.openWithCallback(self.numberEntered, NumberZapWithName, number, bouquet)
      9. else:
      10. self.session.openWithCallback(self.numberEntered, NumberZap, number)
      11. else:
      12. time = None
      13. if number == 0:
      14. self.toggleMark()
      15. elif number == 1:
      16. time = -config.seek.selfdefined_13.value
      17. elif number == 3:
      18. print "3 gedrueckt"
      19. time = config.seek.selfdefined_13.value
      20. elif number == 4:
      21. time = -config.seek.selfdefined_46.value
      22. elif number == 6:
      23. time = config.seek.selfdefined_46.value
      24. elif number == 7:
      25. time = -config.seek.selfdefined_79.value
      26. elif number == 8:
      27. print "8 gedrueckt"
      28. time = 480
      29. elif number == 9:
      30. time = config.seek.selfdefined_79.value
      31. if time:
      32. self.doSeekRelative(time * 90000)
      Alles anzeigen


      Ich habe dort die Abfrage der Ziffer 8 hinzugefügt. Das Problem ist nur, dass Änderungen an dieser Funktion - zumindest bei mir - keine Auswirkungen haben.
    • vielleicht wäre das plugin Seekbar was für dich.
      haste da mal reingeschaut?

      der aufruf wäre dann mit dem steuerkreuz rechts/links(statt der 8).

      das sollte dann doch so abänderbar sein das du direkt deine 8 minuten springen kannst :)
      Vu+ Solo2 mit Mainboard V1.1 vom 06.11.2012
    • "def keyNumber" gilt für die Movielist, nicht für den EMC .

      In die keymap.xml vom EMC hinzufügen :

      keymap.xml
      <map context="InfobarSeekActions">
      <key id="KEY_2" mapto="seekdef:2" flags="m" />
      <key id="KEY_8" mapto="seekdef:8" flags="m" />
      </map>

      Infobargenerics - class InfoBarSeek - class InfoBarSeekActionMap z.B. :

      Quellcode

      1. def action(self, contexts, action):
      2. ...
      3. ....
      4. elif action[:8] == "seekdef:":
      5. key = int(action[8:])
      6. if key == 8:
      7. time = 480
      8. elif key == 2:
      9. time = -480
      10. else:
      11. time = (-config.seek.selfdefined_13.value, False, config.seek.selfdefined_13.value,
      12. -config.seek.selfdefined_46.value, False, config.seek.selfdefined_46.value,
      13. -config.seek.selfdefined_79.value, False, config.seek.selfdefined_79.value)[key-1]
      14. self.screen.doSeekRelative(time * 90000)
      15. ....
      16. ...
      Alles anzeigen
      ----------------------------------------------------------------------------------------------------------------------------------------------------------------
      KAPIERVORGANG beendet.

      Zubehör : Philips 46PFL-9705 / 37PFL-9604, Samsung HT-E6759W, Samsung SPF 107H-105P-87H, Qnap TS-253A, Harmony 650, Fritzbox 7490, Cisco WAP4410N, Netgear M4100-D12G, TPLink HS100/HS110/LB110