Multi EPG Vali Mod for DreamOS

  • Durch die Diskussion zu Vali's EPG das dort jemand sogar den GraphicalMultiEPG gelöscht hat, wurde ich daran erinnert das Vali vor Jahren mal seinen privaten vereinfachten Mod des Multi EPG veröffentlich hat.


    Falls wer Nostalgie Gefühle hat nach so einer simplifizierten Version, habe ich die von damals mal schnell aufs DreamOS umgehämmert (sind eh nur 2 Codezeilen).


    PS: Wegen dem vereinfachten Ansatz kann ich falls gewünscht da auch noch das Instant Record mit der REC Taste reinmachen, weil das würde gut dazu passen.


    LG

    gutemine

  • Das klingt gut ;)


    Das war mein erstes Plugin, dass ich mir angepasst hatte.

    Ist vom Programmierstil bestimmt kein Vorzeigeprojekt ;)


    Bei mir sieht es inzwischen so aus ;) (siehe Screenshot)


    Allerdings wäre das angepasste Plugin noch nicht für die Allgemeinheit tauglich, da ich einige Dinge ziemlich auf meine Box zugeschnitten habe.

    Insbesondere die Verknüpfung zu anderen Plugins, wo es noch keine Prüfung gibt, ob die Plugins überhaupt installiert sind ;)


    hier mal eine Liste meiner Anpassungen:

    • Aufruf auch über Plugin-Browser möglich
    • Integration der picons
    • Darstellung der Timer als Bannerlinie mit Vor-/Nachlaufzeit (unterschiedliche Farben)
    • grün-lang = neuer Autotimer
    • Menü = SeriesPlugin-Infofenster zur ausgewählten Sendung
    • PVR-Taste = Springe zur nächsten Sendung (EPG-Suche anhand der aktuell gewählten)
    • Audio-Taste = Zeige eine Liste der nächsten Sendungen (EPG-Suche anhand der aktuell gewählten)
    • Rec-Taste = Timer de-/aktivieren - kein Entfernen (müsste ich dann für EIT noch ändern)
    • TV-Taste = Youtube-Trailer für selektierte Sendung (über Plugin YTTrailer)
    • Radio-Taste = öffne die Timerliste
    • rechts/links neben der "0" = 1 Tag vor/zurück blättern
    • Taste 8/0 eine Seite hoch/runter blättern
    • Taste 7/9 eine Seite nach links/rechts blättern
    • bei "Timer entfernen" bei laufenden Timern mit Rückfrage, ob auch die Aufnahme gelöscht werden soll (könnte dann ja EIT ersetzen)
    • beim Schließen des Plugin werden die Timerzeiten mit den EPG-Zeiten abgeglichen und es wird ggf. eine Meldung ausgegeben, dass die Timerzeiten vom EPG abweichen


    Info zum Zip-Anhang:

    Erst das *deb-paket aus Post#1 installieren und dann die beiden Dateien aus der Zip in den Plugin-Ordner "MultiEPG_MV" kopieren und einen GUI-Neustart machen ;)

    Bei späteren Aktualisierungen sollte das Ersetzen der MultiEPG.py ohne GUI-Neustart genügen.



    Dateien

    Gruß Dreamy (aka Sven H)

    Dieser Beitrag wurde bereits 7 Mal editiert, zuletzt von Dreamy ()

  • man kann alles wieder kompliziert machen wenn man will, ich wuerde die instant record sachen aber hier direkt reinmachen, das IET ist schon zu kompliziert und produziert zu viele dependencys, und für etwas das kaum veewendet wird rentiert es sich nicht das mitzuschleppen.


    Aber wenn du magst....


    Letztendlich replizieren wir hier nur den Entwicklungsstil der Open* Jünger, ein patch nach dem anderen bis nichts mehr geht :)


    Aber bei manchen Sachen ist es ja lustig zu sehen was man so rauskitzeln kann wenn man weis wie es geht oder sich die Zeit nimmt es rauszufinden.

  • Achso. Dachte die Rec-Taste soll vom EIT kommen ;)


    Am Ende ist es mir egal. Es kann auch direkt im MutiEPG drin sein.

    Dann wäre es sogar vom EIT unabhängig.


    Soll ich den Code-Stand zum obigen Screenshot hier mal reinstellen? :/

    Hatte da eine gesonderte *.py erzeugt und von der plugin.py abgekoppelt, um Änderungen mit reload direkt ohne GUI-Neustart testen zu können ;)


    Über die Rückmeldungen könnte man ja Stück für Stück die möglichen Crashes abfangen.

    Ein Setup im Einstellungsmenü wäre dann vielleicht auch vorteilhaft, um die zusätzlichen Tasten/Funktionen zu aktivieren. ;)

    (das bisherige Setup ist bei mir ungenutzt, da dort eh nur die Primetime einzustellen ist.

  • Wie du magst, ich kann auch den Kit auf der ersten Seite ganz weg machen und du postest deinen in der erste reply.


    Vali's Mod war ja auch eine 'Personal use' Version die er geteilt hat, insofern wäre dein Ansatz durchaus im Geist des ursprünglichen Projekts, du kannst es ja dann MVD taufen ;)

  • Ok, dann hier mal meine Variante zum Screenshot in Post#2. ;)

    Bitte nicht so auf den Programmierstil achten. Das waren meine ersten Schritte.

    Da es funktioniert hat, hab ich da auch nichts mehr schön gemacht.


    Die Liste der Anpassungen ist im Post #2 zu finden.


    Dein *.deb im Post #1 kannst du ruhig drin lassen.

    Dann braucht meine Test-Zip da als Ergänzung nur die geänderten Files mitliefern.


    Info:

    Erst das *deb-paket aus Post#1 installieren und dann die beiden Dateien aus der Zip in den Plugin-Ordner "MultiEPG_MV" kopieren und einen GUI-Neustart machen ;)

    Bei späteren Aktualisierungen sollte das Ersetzen der MultiEPG.py ohne GUI-Neustart genügen.

    Dateien

    Gruß Dreamy (aka Sven H)

    Dieser Beitrag wurde bereits 4 Mal editiert, zuletzt von Dreamy ()

  • Was mir noch nicht gelungen ist, ist nach "Info" -> im EventView auf gelb -> Einfach-EPG und dort die Tasten "<" und ">" neben der "0" zum Wechseln des Senders im Einfach-EPG zu nutzen.


    Hatte da im Code schon in def changeServiceCB() begonnen, hatte aber bisher keinen Erfolg gehabt. ;)

    Da passiert einfach nichts :/


    Im ValisEPG funktioniert das mit den Tasten.

  • In der Action Map hast du auch eine Map wo die < > gemapped sind hinzugefügt ?


    Weil das vergesse ich auch immer wieder gerne das die exotischen tasten nicht dabei sind wenn man sie nicht hinzufügt

  • Ne, das ist ja eine callback-Funktion des Single-EPG.

    Die Funktion changeServiceCB() selbst wird ja auch ausgeführt.

    Hab da ja schon ein paar print's drin, aber es tut sich im Single-EPG nichts :/


    Edit:

    Ich habs ;)

    Wieder mal saß das Problem vor der Box.

    Hatte beim Kanalwechsel in der callback-Funktion die Klammern beim Funktionsaufruf vergessen :rolleyes:


    self.ChannelDown()

    Gruß Dreamy (aka Sven H)

    Dieser Beitrag wurde bereits 1 Mal editiert, zuletzt von Dreamy ()

  • hab mal etwas weitergebastelt ;)


    Änderungen in Version 0.1:

    - jetzt mit FullHD-Screen

    - es wird jetzt bei Zusatzfunktionen geprüft, ob die Zusatz-Plugins installiert sind (YTTrailer, SeriesPlugin, Autotimer)

    - Tasten "<" und ">" (Senderwechsel) neben der "0" funktionieren jetzt im Einfach-EPG

    - Setup hinzugefügt (Menü-Taste):

    * picons anzeigen + picons-Pfad

    * Prime Time (Default 20:15)

    * Anzeigebereich (in Minuten) - Default 180

    * Timer mit Banner anzeigen

    * Timercheck beim Beenden

    - SeriesPlugin-Infoscreen jetzt über Text-Taste


    Info zum Dateianhang:

    Das *.deb aus Post #1 muss bereits installiert sein.

    Dann die 3 Dateien aus der Zip in den MultiEPG_MV-Ordner kopieren und GUI-Neustart machen



    Dateien

    Gruß Dreamy (aka Sven H)

    Dieser Beitrag wurde bereits 2 Mal editiert, zuletzt von Dreamy ()

  • gutemine

    Hast du für mich einen Ansatz wie ich das Ergebnis einer EPG-Suche relativ einfach an eine EPG-Selection übergeben kann?

    (Code der Audio-Taste im Plugin)


    Im Moment lass ich mir die Treffer aufbereitet in einer Messagebox anzeigen.

    Da wäre es ja etwas komfortabler, wenn die Treffer in einer EPG-Selection angzeigt würden. Dann könnte man mit den Treffern auch direkt weiterarbeiten.

    Ich suche manchmal nach Alternativ-Aufnahmeterminen, wo das sehr nützlich wäre.

    Die Similarlist finde ich da nicht so toll, da dort auch Treffer für andere Sender kommen.


    Ich will da jetzt nicht unbedingt die ganze Class für das EPG-Selection nachbilden.

    Oder reicht da ein eigener Screen als EPG-Selection, wo ich nur eine Funktion für das Befüllen reinnehmen muss?

  • na ja du kannst wenn du mit print rausfindest wie die liste aussieht relativ einfach eine eigene bauen.


    du kannst aber auch relativ einfach das ergebnis der similar suche noch weiter fitern und mit remove eintraege entfernen


    Intuitiv und wirklich neuartig ist das aber alles nicht :)

  • arki  

    EPG-Search sucht ja immer bei allen Sendern ;)

    z.B. bei einer Suche auf Sat1 kommen Treffer für Stat1 HD, Sat1, Sat1 NWR und Sat1 Bayern.

    Das ist irgendwie verwirrend.

    Hier wäre es gut, wenn man sagen könnte, er solle nur im aktuellen Bouquet suchen :/


    gutemine

    Hab es jetzt hinbekommen ;)

    Ich rufe mit der Audio-Taste einen eigenen Screen als EPGSelection auf und übergebe die eigene EPG-Search-event-List als arg.

    Im onCreate() fülle ich dann die EPGList mit meiner übergebenen event-List.


    Somit hab ich selbst die Kontrolle über die anzuzeigenden Ergebnisse ;)

    Ich lasse mir die aktuelle Sendung auch immer noch anzeigen, um über die Eventinfos da nochmal vergleichen zu können, ob es die gleiche Sendung ist (gerade bei Serien).


    Das waren ehrlich gesagt nur wenige Zeilen für den eigenen EPGSelection-Screen :thumbup:

  • Na ja wenn du die EPG Suche verwendest kanst du ja jetzt schon nach zeit sortieren um den nächsten Passenden Timer für eine Aufnahme zu finden, da müsste sich doch eine Taste finde lassen mit der man auch nach sender sortieren lasen so das du dann am gleichen sebder den nächsten Timer ganz oben in der Liste hast und nur mehr Grün drücken um den Timer auch zu setzen.


    Insofern wäre wie arki sagte EPGSearch oder auch die klassichen Ähnlichen Sendungen kein so schlechter Startpunkt um es etwas intuitiver zu gestalten

  • Ich hab da nichtmal was verbogen.

    Das ist ein ganz normaler Screen als EPGSelection

    Mehr Code war es nicht ;)