nOpacity 0.0.4

  • auf yavdr 0.5 unstable krachts auch reproduzierbar wenn man die Epgansicht mit Exit schließt



    denke das spielt hier recht eng mit epgsearch zusammen


    Christian

    CKone: yavdr-ansible/18.04 LTS/2.4.1/kodi18 auf Intel DH67BL, Intel Celeron G540, 2x 2GB Kingston DDR3, Zotac GT630 1GB, S2-1600, Ocz Agility 3 60GB, LG GH24NS DVD, 15.6" Selbstbau TFT, Harmony 665, CIR Selbstbau - das Ganze im Silverstone SST-SG03B
    CKtwo: yavdr-ansible/18.04 LTS/2.4.1/kodi18 auf Intel DH67BL, Intel Celeron G1610, 2x 2GB Corsair DDR3, Zotac GT630 1GB, TT S2-1600, Ocz Vertex 2 50 GB, 92 Kanal Seduatmo, Harmony 665, atric USB
    CKthree: yavdr-ansible/22.04 LTS/2.6.1/kodi19.3 auf Intel NUC, Celeron J4005, UHD Graphics 600, 4GB Crucial DDR4, Ocz Vertex2 50 GB, Harmony 350

    PowerEdge: Ubuntu Server 16.04 LTS / VDR 2.4.1 auf Dell PowerEdge T20, Xeon E3-1225 v3, 16GB ECC DDR3, 2x Cine S2 V6 mit Duoflex, Samsung 840 EVO 120GB, 3x WD White WD80EZAZ 8TB in SW Raid5



    Einmal editiert, zuletzt von CKone ()

  • Hi Louis,

    Alternativ kannst du auch mal folgendes testen: in Zeile 202 der Datei menudetailview.c tausche doch mal das


    Code
    if (imgLoader.LoadLogo(*channelName, logoWidth, config.detailViewLogoHeight)) { 
    pixmapLogo->DrawImage(cPoint(0, max((headerHeight - config.detailViewLogoHeight - border)/2, 0)), imgLoader.GetImage()); 
    }


    gegen


    Code
    cChannel *channel = Channels.GetByChannelID(event->ChannelID(), true); 
    if (channel && channel->Name()) { 
    if (imgLoader.LoadLogo(channel->Name(), logoWidth, config.detailViewLogoHeight)) { 
    pixmapLogo->DrawImage(cPoint(0, max((headerHeight - config.detailViewLogoHeight - border)/2, 0)), imgLoader.GetImage()); 
    } 
    }


    ich wuerde mal sagen, das ist DIE Loesung, denn die Information wird einfach nur dort besorgt wo man sie braucht. Ich habe auch das ganze Durchreichen der fehlschlagenden channelName Variablen entruempelt, auf "Raw" kann man den Patch direkt downloaden. Danke Dir fuer den Fix, kracht nicht mehr!


    Ciao, Lucian



    Gentoo overlay mit VDR (und nicht nur) ebuilds, vdrcm, GLCDprocDriver

  • Moin,


    bezüglich des Absturzes beim Verlassen des EPG, könntet ihr bitte mal testen, in der displaymenu.c in der Zeile 196 das


    Code
    } else if (isdigit(strTitle.at(0))) {


    zu ersetzen mit


    Code
    } else if ((strTitle.length() > 0) && isdigit(strTitle.at(0))) {


    Wobei ich mich schon frage, wie die Stelle mit leerem Title erreicht werden kann...


    Ciao Louis

  • Wobei ich mich schon frage, wie die Stelle mit leerem Title erreicht werden kann...


    Moin,


    muss aber wohl doch: hier ist der crash damit weg! ;D


    Vielen Dank.
    Christian

    CKone: yavdr-ansible/18.04 LTS/2.4.1/kodi18 auf Intel DH67BL, Intel Celeron G540, 2x 2GB Kingston DDR3, Zotac GT630 1GB, S2-1600, Ocz Agility 3 60GB, LG GH24NS DVD, 15.6" Selbstbau TFT, Harmony 665, CIR Selbstbau - das Ganze im Silverstone SST-SG03B
    CKtwo: yavdr-ansible/18.04 LTS/2.4.1/kodi18 auf Intel DH67BL, Intel Celeron G1610, 2x 2GB Corsair DDR3, Zotac GT630 1GB, TT S2-1600, Ocz Vertex 2 50 GB, 92 Kanal Seduatmo, Harmony 665, atric USB
    CKthree: yavdr-ansible/22.04 LTS/2.6.1/kodi19.3 auf Intel NUC, Celeron J4005, UHD Graphics 600, 4GB Crucial DDR4, Ocz Vertex2 50 GB, Harmony 350

    PowerEdge: Ubuntu Server 16.04 LTS / VDR 2.4.1 auf Dell PowerEdge T20, Xeon E3-1225 v3, 16GB ECC DDR3, 2x Cine S2 V6 mit Duoflex, Samsung 840 EVO 120GB, 3x WD White WD80EZAZ 8TB in SW Raid5




  • Wobei ich mich schon frage, wie die Stelle mit leerem Title erreicht werden kann...


    Ciao Louis


    ...tja, wir können das... Scheint zu funktionieren. Habe jetzt ca. 10 Detail-Info aufgerufen und immer mit exe-exit verlassen. Kein absturz. Danke!


    Ach, und, Louis: ist ja gut, wenn Du so in Deinem Projekt aufgehst, aber wenn Du deshalb das Schlafen einstellst, bekommst Du mir nur noch bis 14:30h Traces...


    Gruß, Ingo

  • Irgendwie schon interessant zu sehen, wie kompliziert es doch zu sein scheint, einen Skin für den VDR zu erstellen, der nicht crasht...


    Wäre es eventuell angebracht, wenn auch auf VDR-Seite hier und da noch optimiert würde, um es Skin-Entwicklern einfacher zu machen?

  • Auf jeden Fall sollte hier im VDR noch optimiert werden. Louis ist der erste, der hier neue Möglichkeiten auslotet: nicht nur, dass es nach lcars dass erste Truecolor Skin überhaupt ist, sondern auch die Idee, die Seiten, die der VDR zurück gibt, nicht einfach aufzubereiten und darzustellen, sondern vollständig zu zerlegen und in Elementen darzustellen, die es gar nicht gibt, bis louis sie im Skin selbst baut.


    Ich bin überzeugt, dass louis hier gerade Pionierarbeit leistet, die uns überhaupt erst darauf bringt, was man in Bezug auf Skin-Programmierung im Besonderen und Plugin-Programmierung im Allgemeinen am VDR noch verbessern kann.


    Gruß, Ingo

  • Ich habe nicht gefordert sondern gefragt. Ich entwickle kein Skin und habe das auch nicht vor. Wie intuitiv die Skin-API also ist, kann ich als "nicht betroffener" nicht beurteilen. Ich lese hier nur mit und wundere mich, dass es eine doch nicht unerhebliche Hürde zu sein scheint, wenn man den VDR "aufhübschen" will. Ich frage mich halt, ob viele der Probleme, die hier so langsam auftauchen, auch schon andere Skin-Entwickler hatten und/oder in Zukunft haben werden.


    War aber nur "laut gedacht" und ist hier streng genommen Off-Topic.

  • morche
    mit der Änderung
    } else if ((strTitle.length() > 0) && isdigit(strTitle.at(0))) {
    ist der kresch beim FPG weg
    beim Öffnen des EPG über KEY_EPG


    mfg det

    Jeder sollte sein Leben so leben können wie er/sie es möchte, frei und
    unabhängig, in der Not anderen zur Seite stehend, nie vergessen was man
    ist, eben einfach nur Mensch sein mit allen Schwächen und Stärken
    Lieber stehend sterben als ewig gebückt leben

  • Louis ist der erste, der hier neue Möglichkeiten auslotet: nicht nur, dass es nach lcars dass erste Truecolor Skin überhaupt ist


    Lcars ist garnicht Truecolor. Läuft "im Notfall" auch auf einer alten SD-Fullfeatured und braucht dort nichtmal einen Speicher-Mod. Reicht auf der SD-FF aus um die OSD-Größe auf ein "verträgliches Maximum" zu stellen und den Skin auf etwas anderes umzuschalten.


    Ansonsten stimme ich dir 100%ig zu. Freut mich sehr, dass jemand mal die Grenzen auslotet. Sehr gut finde ich, dass keine Patches im VDR oder in anderen Plugins nötig sind. Schön wäre aber, wenn fehlende Features im Skin-Interface (wie das bereits gefundene Problem mit dem "Feststellen wo man ist") auch im VDR gefixt würden. Die Idee, dass es sinnvoll ist, zu wissen, wo man sich befindet, ist ja an und für sich nicht neu. Klaus selbst hat erkannt, dass hier Bedarf besteht und eine entsprechende Funktion bereits eingebaut. Wenn das nun noch etwas flexibler würde und auch Plugins ihren Menüs eine "Kategorie" zuweisen könnten...


    Ich werde mal Klaus via PM anschreiben und hier auf den Thread verweisen...

  • Ich bin überzeugt, dass louis hier gerade Pionierarbeit leistet, die uns überhaupt erst darauf bringt, was man in Bezug auf Skin-Programmierung im Besonderen und Plugin-Programmierung im Allgemeinen am VDR noch verbessern kann.


    das ist aber immer so: als horchi und ich uns das tvm vor nem halben Jahr vorgeknöpft haben hat Klaus auch den epghandler um 3 weitere Methoden erweitert. - das muss selbstredend erst wachsen...


    Was anderes:
    Alles sehr schick, viele Knöpfe an denen man drehen kann: aber wie krieg ich das hin das die Logos mit dem transparenten Hintergrund genügend Kontrast aufweisen? Ich hab dieses schwarze Layout mit oben gelb aktiviert und stelle fest das man dabei viele dunkle Logos gar nicht vernünftig sehen kann? - bei den Anthralogos war das natürlich einfacher da die ja den Hintergrund mitgeliefert haben, ist schon klar...


    Und bei der Kanaleinblendung: obwohl es graphisch super umgesetzt ist fehlt mir links am Logo irgendwie die Harmonie: kann man mit den vorhandenen Einstellmöglichkeiten die Einblendung auf die gesamte Breite erweitern?


    Christian

    CKone: yavdr-ansible/18.04 LTS/2.4.1/kodi18 auf Intel DH67BL, Intel Celeron G540, 2x 2GB Kingston DDR3, Zotac GT630 1GB, S2-1600, Ocz Agility 3 60GB, LG GH24NS DVD, 15.6" Selbstbau TFT, Harmony 665, CIR Selbstbau - das Ganze im Silverstone SST-SG03B
    CKtwo: yavdr-ansible/18.04 LTS/2.4.1/kodi18 auf Intel DH67BL, Intel Celeron G1610, 2x 2GB Corsair DDR3, Zotac GT630 1GB, TT S2-1600, Ocz Vertex 2 50 GB, 92 Kanal Seduatmo, Harmony 665, atric USB
    CKthree: yavdr-ansible/22.04 LTS/2.6.1/kodi19.3 auf Intel NUC, Celeron J4005, UHD Graphics 600, 4GB Crucial DDR4, Ocz Vertex2 50 GB, Harmony 350

    PowerEdge: Ubuntu Server 16.04 LTS / VDR 2.4.1 auf Dell PowerEdge T20, Xeon E3-1225 v3, 16GB ECC DDR3, 2x Cine S2 V6 mit Duoflex, Samsung 840 EVO 120GB, 3x WD White WD80EZAZ 8TB in SW Raid5



  • Na das ist ja schonmal gut, dass die Änderung den Crash beseitigt hat...auch wenn ich noch nicht ganz verstehe warum. Ich werde das dann inklusive ein paar anderer kleinerer Bugfixes ins GIT nehmen, wenn ich dazu komme.


    Ingo: keine Sorgen um meine Erholung...das war nur ein kurzer Rückenzwicken-Bedingter Anfall seniler Bettflucht...man wird halt nicht jünger :)


    Ciao Louis

  • Zum Thema "mehr Flexibilität für Skins": Klaus hat da in seinen Sourcen in skins.h folgenden Kommentar:


    Code
    /*TODO
      virtual void SetItem(const cEvent *Event, int Index, bool Current, bool Selectable, bool NowNext???, bool Schedule???);
      virtual void SetItem(const cTimer *Timer, int Index, bool Current, bool Selectable);
      virtual void SetItem(const cChannel *Channel, int Index, bool Current, bool Selectable);
      virtual void SetItem(const cRecording *Recording, int Index, bool Current, bool Selectable);
      --> false: call SetItem(text)
      */


    Wenn das mal implementiert werden würde, dann hätten es Skinentwickler in Zukunft wesentlich leichter...in der ersten Methode sind auch schon Infos enthalten, wo man sich in "schedules" gerade befindet...Klaus hat also schon weit vorausgedacht :)


    Ciao Louis

  • Diese Möglichkeit ist auch wieder ausschließlich auf eingebaute Menüs beschränkt. Bei z.B. epgsearch schaut man wieder in die Röhre.


    Das ganze wurde damals schonmal diskutiert und nach langem hin und her und nachdem die möglichen Lösungen immer komplexer geworden sind, hat sich irgendwie herausgestellt, dass aktuell der einfachste Weg in der Tat das Verarbeiten der tabseparierten Felder ist. Bedingung, um das anständig machen zu können, ist, dass man wenigstens weiß wo man gerade ist ohne dafür auch noch hacken zu müssen.


    Kurz darauf hat Klaus seine eigene Lösung für seinen eigenen Skin implementiert, die schon demonstriert, dass diese Möglichkeit (wissen, wo man sich befindet) durchaus sinnvoll ist. Nur leider ist die aktuelle Implementierung halt nicht flexibel genug. Schon weil Plugins keine Kategorien anlegen können und somit Skins keine Rücksicht auf Spezialitäten von Plugins nehmen können.

  • Naja...wenn epgsearch die erste SetItems Methode verwenden würde und anstelle der boolschen Werte "now/next, ..." noch eine enum für das entsprechende "Submenü" (what's on now, what's on next, search result, ...) unterhalb von Schedules übergeben werden würde, dann würde das für diesen Bereich schon passen. Der EPG Bereich ist nun mal der komplizierteste Bereich...insbesondere wenn epgsearch da mit seinen eigenen Menüs mit reinspielt.


    Ciao Louis

  • CKone: setze doch mal die Abstände links/rechts auf 0.


    Gruß, Ingo


    danke, das ändert zwar den Rand unten und links korrekt, das Kanallogo nimmt er aber nicht mit in die Kanalanzeige rein.


    hätte da noch einen bt der gerade dabei entstanden ist als ich das Pluginmenu per exit verlassen habe:


    Christian

    CKone: yavdr-ansible/18.04 LTS/2.4.1/kodi18 auf Intel DH67BL, Intel Celeron G540, 2x 2GB Kingston DDR3, Zotac GT630 1GB, S2-1600, Ocz Agility 3 60GB, LG GH24NS DVD, 15.6" Selbstbau TFT, Harmony 665, CIR Selbstbau - das Ganze im Silverstone SST-SG03B
    CKtwo: yavdr-ansible/18.04 LTS/2.4.1/kodi18 auf Intel DH67BL, Intel Celeron G1610, 2x 2GB Corsair DDR3, Zotac GT630 1GB, TT S2-1600, Ocz Vertex 2 50 GB, 92 Kanal Seduatmo, Harmony 665, atric USB
    CKthree: yavdr-ansible/22.04 LTS/2.6.1/kodi19.3 auf Intel NUC, Celeron J4005, UHD Graphics 600, 4GB Crucial DDR4, Ocz Vertex2 50 GB, Harmony 350

    PowerEdge: Ubuntu Server 16.04 LTS / VDR 2.4.1 auf Dell PowerEdge T20, Xeon E3-1225 v3, 16GB ECC DDR3, 2x Cine S2 V6 mit Duoflex, Samsung 840 EVO 120GB, 3x WD White WD80EZAZ 8TB in SW Raid5



  • Wenn das mal implementiert werden würde, dann hätten es Skinentwickler in Zukunft wesentlich leichter...in der ersten Methode sind auch schon Infos enthalten, wo man sich in "schedules" gerade befindet...Klaus hat also schon weit vorausgedacht :)


    schick ihm einfach ein Patch wie du es für sinnvoll erachten würdest und gut - haben wir auch gemacht und haben mit dieser Vorgehensweise sehr gute Erfahrungen geamcht.


    Christian

    CKone: yavdr-ansible/18.04 LTS/2.4.1/kodi18 auf Intel DH67BL, Intel Celeron G540, 2x 2GB Kingston DDR3, Zotac GT630 1GB, S2-1600, Ocz Agility 3 60GB, LG GH24NS DVD, 15.6" Selbstbau TFT, Harmony 665, CIR Selbstbau - das Ganze im Silverstone SST-SG03B
    CKtwo: yavdr-ansible/18.04 LTS/2.4.1/kodi18 auf Intel DH67BL, Intel Celeron G1610, 2x 2GB Corsair DDR3, Zotac GT630 1GB, TT S2-1600, Ocz Vertex 2 50 GB, 92 Kanal Seduatmo, Harmony 665, atric USB
    CKthree: yavdr-ansible/22.04 LTS/2.6.1/kodi19.3 auf Intel NUC, Celeron J4005, UHD Graphics 600, 4GB Crucial DDR4, Ocz Vertex2 50 GB, Harmony 350

    PowerEdge: Ubuntu Server 16.04 LTS / VDR 2.4.1 auf Dell PowerEdge T20, Xeon E3-1225 v3, 16GB ECC DDR3, 2x Cine S2 V6 mit Duoflex, Samsung 840 EVO 120GB, 3x WD White WD80EZAZ 8TB in SW Raid5



Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!