Skip Intro 1.1 (11.11.2018)

  • Mir schwirrte schon seit einiger Zeit die Idee für ein Plugin im Kopf herum, wobei ich glaube, dass die Idee nicht wirklich neu ist, denn andere Systeme haben sowas wohl schon. Allerdings bin ich bei der Umsetzung an einem Problem gescheitert, bei dem mir jetzt @Sven H geholfen hat und es elegant lösen konnte. Deswegen an dieser Stelle noch mal ein großes Dankeschön.


    Beschreibung:
    Was kann und macht das Plugin: Wie der Name vielleicht schon vermuten lässt, soll man damit das Intro (also den Vorspann) z.B. einer Serie überspringen können. Dazu speichert man die Länge des Intros/Vorspann einer Serie ab und bei der nächsten Folge, kann man dann den Vorspann, mit einem Tastendruck überspringen.


    Wie funktioniert es:
    Während der Wiedergabe einer aufgenommenen Serien-Folge drückt man, wenn der Vorspann (Intro) beginnt, die Taste "2", wenn der Vorspann endet drückt man erneut die Taste "2" - jetzt wird die Zeitdifferenz zusammen mit dem Namen der Serie abgespeichert. Wenn man später die nächste Folge guckt und der Vorspann beginnt, kann man diesen mit der Taste "2" einfach überspringen. In dem Moment wird der gespeicherte Skipwert für die Serie ausgelesen und die abgespeicherte Zeit wird übersprungen.
    Weitere Infos dazu in der Hilfe im Plugin.


    Erweiterungen:
    Im Erweiterungen Menü ist das "SkipIntro" Plugin ebenfalls zu finden, dort kann man sich die bisher gespeicherten Skipwerte ansehen und ggf. noch verändern. Im Moment lässt sich der Skipwert und der Name der Sendung ändern. Außerdem kann man die einzelnen Werte über den Dialog auch löschen. Die Änderungen werden erst gespeichert, wenn man den Dialog mit "OK" oder "Speichern" verlässt.


    Technik:
    Die Skipwerte werden in einer SQLite Datenbank gespeichert, die unter "/etc/enigma2/SkipIntro.db" abgelegt ist (die Profis können dort auch den Namen der Serie anpassen). Der Name der Serie entspricht dem Sendungsnamen in der Infobar beim Abspielen der Aufnahme. Grundsätzlich sollte nur der Name der Serie abgespeichert werden, nicht aber Staffel oder Episodentitel. Deswegen ist ein Pattern hinterlegt (<Serienname> - SnnEmm - <Episodentitel>) das den Seriennamen extrahiert, wenn der Name einen solchen Aufbau hat.
    Bei der späteren Suche (beim Drücken der Taste 2) wird eine sog. LIKE Suche in der Datenbank gemacht, sodass z.B. der Eintrag "Falk" in der Datenbank auch die Sendung mit z.B. dem Namen "Falk - S01E06 - Die Qual der Wahl" findet und dort das Intro überspringt.
    In der Datei "/etc/enigma2/SkipIntro.pattern.json" sind die hinterlegten Pattern für den Titel hinterlegt. Bei der Datei handelt sich um ein Konfigurationsdatei im JSON Format. Dort kann man die vorhandenen Pattern ändern oder ergänzen. Es handelt sich immer in Key/Value Paare, wobei der Key ein regulärer Ausdruck ist um den Seriennamen aus dem Servicenamen zu extrahieren. Beim Value handelt es sich im um eine freie Bezeichnung, die dann in den Einstellungen angezeigt wird. Die in der Datei wird jeweils bei Neustart der Box eingelesen.


    Zukunft:
    Im Moment handelt es sich um eine Betaversion, deswegen ist das Plugin noch nicht feature complete. Ob und in wie weit es noch weiterentwickelt wird, hängt von der Reaktion und den Bedürfnissen ab. Mögliche Ideen sind:

    • Serienname ändern
    • Pattern für den Seriennamen konfigurierbar machen (teilweise umgesetzt)
    • Austausch der Skipzeiten über das Internet
    • Einstellbare Zeit automatisch beim Setzen der Skipzeit abziehen


    Änderungen Version 1.1:

    • Zusätzliches Pattern für "<Serienname> - SnnEmm"
    • Konfigurationsdatei "/etc/enigma2/SkipIntro.pattern.json" um Pattern selbst verändern bzw. ergänzen zu können (siehe auch letzten Absatz im Abschnitt "Technik")
  • Schönes Plugin. Schlank, gut zu bedienen, einfach zu konfigurieren und funktioniert gut! :)
    Gibt es einen Grund, dass das noch nicht im git gelandet ist?


    Ein kleines Problem habe ich noch. Mein bevorzugtes (und im SeriesPlugin hinterlegtes) Pattern ist Serie - SnnEnn und Title erst in der Shortdescription. Damit ist das Pattern also kürzer als das, was ich einstellen kann. Das führt leider dazu, dass einzelne Episoden bei mir als jeweils eigene Serien erkannt werden. Ist das Pattern irgendwie anpassbar?

    so long
    m0rphU

  • Danke!!
    Vermutlich hat @Reichi das noch nicht geschafft.


    Im Moment kann man das Titel Pattern noch nicht komfortabel bearbeiten.
    Ich füge deinen Pattern morgen hinzu.
    Du kannst ihn auch in der __init__.py selber eintragen und dann in den Einstellungen auswählen.

  • Danke!


    Selber patchen hab ich mir abgewöhnt. Deshalb nimmt der Serienrecorder auch nicht mehr in meinem Pattern ;) Klappt aber mit dem SeriesPlugin und zwei Klicks Nacharbeit auch ganz gut. Damit ist dann alles einheitlich.

    so long
    m0rphU

  • Version im ersten Beitrag aktualisiert.


    Änderungen Version 1.1:

    • Zusätzliches Pattern für "<Serienname> - SnnEmm"
    • Konfigurationsdatei "/etc/enigma2/SkipIntro.pattern.json" um Pattern selbst verändern bzw. ergänzen zu können (siehe auch letzten Absatz im Abschnitt "Technik")
  • Danke für den schnellen Service. Funktioniert wie gewünscht. Das kurze Pattern funktionert im Übrigen auch bei den vom SerienRecorder benannten Dateien ;)

    so long
    m0rphU

  • Hi,


    ich hab das Plugin auf github in enigma2-plugins ergänzt.
    Ich hab dabei im Source einige Whitespace-Geschichten aufgeräumt, es wäre super wenn du zukünftige Versionen direkt davon ableitest.


    @MacDisein möchtest du Zugang zum git / hast du schon mal git benutzt?

    mfg ,
    Reichi