[live] [merged] Detailverbesserungen bei der Anzeige von Senderlogos

  • Ich nutze selbst ein paar Patches, die vielleicht für den einen oder anderen von euch von Interesse sein könnten. Markus hat vorgeschlagen, solche Patches hier im Forum in jeweils einem Thread kurz vorzustellen und euer Votum einzuholen, ob sie ins Git sollen:

    Mit dem letzten Update im Git soll Live – sofern beim Aufruf kein anderes Verzeichnis konfiguriert wird – die Senderlogos (ähnlich wie andere Plugins, bspw. SkinNopacity) standardmäßig in einem Verzeichnis "logos" im Konfigurationsverzeichnis, also .../plugins/live/logos, suchen. Dazu muss aber in setup.cpp, Zeile 126, noch ein "/" angefügt werden. Zudem muss, damit man die für SkinNopacity genutzten Logos 1:1 verwenden kann, ein Slash ("/") nicht wie derzeit durch einen Underscore ("_"), sondern – wie andernorts im VDR üblich – durch eine Tilde ("~") ersetzt werden. Diese zusätzliche Variante mit Tilde und Kleinschrift habe ich nachgetragen.


    Weil bei mir einige Logos nur aus weiß auf transparentem Untergrund bestehen und deshalb unsichtbar bleiben, wie bspw. "Das Erste HD":


    49698-patch-channel-tooltip-png


    … habe ich den Tooltip um den Namen des Kanals ergänzt. Zusätzlich habe ich mir, wie man hier sieht, in siteprefs.css ein Hover mit dunklerem Hintergrund eingefügt, damit auch solche Logos sichtbar gemacht werden können. Wer das nutzen möchte, kann die Option dort freischalten:

    Code
    img.channel_logo:hover {
      background-color: #E9EFEFFF;
    }

    Außerdem fand ich es etwas unschön, dass bei Logos auch die Kanalnummer Teil des Links ist. Ich habe den Beginn des Links deshalb etwas versetzt, sodass nur noch der Name bzw. das Logo als Link dienen.


    Viele Grüße

    Stefan

    Hardware: Antec NSK2480, Asus P8B75-M LX, Intel Core i5-3570T, 4 GB RAM, NVIDIA GT610, TT-Premium S2-6400, 128 GB SSD, 14 TB HDD, Pioneer BDR-207EBK
    Software: Ubuntu 22.04 LTS mit Kernel 6.8 und VDR 2.7.3 (mit offiziellen und eigenen Patches)
    Plugins: devstatus, dvbhddevice, dvd, dvdswitch, epgsearch, extrecmenu, recsearch, femon, live, markad, mlist, osdteletext, remote, screenshot, skinenigmang, skinnopacity, streamdev, systeminfo, undelete, xineliboutput
    Addons: VDR Convert 0.1.0 (angepasst)

  • fnu

    Changed the title of the thread from “[ive] Detailverbesserungen bei der Anzeige von Senderlogos” to “[live] Detailverbesserungen bei der Anzeige von Senderlogos”.
  • shofmann

    Changed the title of the thread from “[live] Detailverbesserungen bei der Anzeige von Senderlogos” to “[live] [merged] Detailverbesserungen bei der Anzeige von Senderlogos”.
  • Nachdem ich jetzt endlich alle Senderlogos zusammengestellt habe, ist mir aufgefallen, dass in "Was läuft?" die Kanalnummern linksbündig ausgegeben werden, sodass die Senderlogos – sofern die jedes Mal verschoben werden, wenn eine weitere Dezimalstelle in der Kanalnummer hinzukommt. Schöner ist es sicherlich, wenn sie am Trennstrich rechtsbündig ausgerichtet sind:



    Wenn die Tabelle schmal genug ist, führt dies außerdem dazu, dass die Senderlogos "umgebrochen" werden und unterhalb der Kanalnummer erscheinen – ebenfalls unschön.


    Der folgende Patch:

    … adressiert beides und sorgt für eine schöne gleichmäßige Darstellung der Senderlogos, indem er eine hinreichend große Minimalbreite für die Spalte vorgibt:



    Wer auch ausschließlich weiß gestaltete Senderlogos noch sehen möchte, kann in siteprefs.css die folgende Einstellung aktivieren:

    Code
    img.channel_logo:hover {
      transform: translate(-108px, 84px) scale(6.25);
      background-color: #E9EFEFFF;
    }

    Wem die Senderlogos zu klein sind, kann in siteprefs.css noch folgende Ergänzung einbauen:

    Code
    img.channel_logo:hover {
      transform: translate(-108px, 84px) scale(6.25);
      background-color: #E9EFEFFF;
    }

    Damit werden die Senderlogos mit hellgrauem Hintergrund vergrößert dargestellt, sobald man mit der Maus darüber fährt:



    Die Parameter der Transformation sind auf meine Logos im Format 268x200 Pixel optimiert:

    • Skalierung: 42x32 * 6.25 = 268x200 (Anzeigehöhe 32 Pixel, deshalb 200 / 32 = 6.25)
    • Translation X: (268 - 42) / 2 = -113 (nach rechts; mit -108 passt der rechte Rand optisch aber besser)
    • Translation Y: (200 - 32) / 2 = 84 (nach unten)

    Gegebenenfalls müsst ihr sie bei euch vielleicht noch etwas nachjustieren, wenn ihr andere Logo-Abmessung verwendet.


    Viele Grüße

    Stefan

    Images

    Hardware: Antec NSK2480, Asus P8B75-M LX, Intel Core i5-3570T, 4 GB RAM, NVIDIA GT610, TT-Premium S2-6400, 128 GB SSD, 14 TB HDD, Pioneer BDR-207EBK
    Software: Ubuntu 22.04 LTS mit Kernel 6.8 und VDR 2.7.3 (mit offiziellen und eigenen Patches)
    Plugins: devstatus, dvbhddevice, dvd, dvdswitch, epgsearch, extrecmenu, recsearch, femon, live, markad, mlist, osdteletext, remote, screenshot, skinenigmang, skinnopacity, streamdev, systeminfo, undelete, xineliboutput
    Addons: VDR Convert 0.1.0 (angepasst)

  • Schaut gut aus, danke wieder einmal!

    Hardware: Antec NSK2480, Asus P8B75-M LX, Intel Core i5-3570T, 4 GB RAM, NVIDIA GT610, TT-Premium S2-6400, 128 GB SSD, 14 TB HDD, Pioneer BDR-207EBK
    Software: Ubuntu 22.04 LTS mit Kernel 6.8 und VDR 2.7.3 (mit offiziellen und eigenen Patches)
    Plugins: devstatus, dvbhddevice, dvd, dvdswitch, epgsearch, extrecmenu, recsearch, femon, live, markad, mlist, osdteletext, remote, screenshot, skinenigmang, skinnopacity, streamdev, systeminfo, undelete, xineliboutput
    Addons: VDR Convert 0.1.0 (angepasst)

  • ist im git. Bitte testen

    Hallo MarkusE


    Seit commit e45c100515b42692ccd88f71f60913bbce139c84 startet bei mir VDR nicht mehr, wenn das Plugin live aktiviert ist.

    Es gibt keinen Segfault und in den logs finde ich nichts, bis auf dass vdr wieder beendet wurde.


    Die live-Plugin-Parameter sind:

    --plugin=live --log=TRACE --tvscraperimages=/var/cache/vdr/plugins/tvscraper --chanlogos=/usr/share/vdr/logos_dark


    Das vdr-log mit Loglevel 3, bringt nur das: vdr_log.txt


    Am Anfang hatte er noch folgenden Fehler geworfen:

    Sep 24 22:09:30 vdr vdr[3306]: [3306] ERROR (tools.c,500): /var/lib/vdr/video: Datei oder Verzeichnis nicht gefunden


    Ich weiß nicht, wieso er das Verzeichnis will, vdr wird mit dem Parameter --video=/video gestartet.

    Wenn ich das Verzeichnis anlege, kommt zwar der Fehler nicht mehr, aber vdr startet trotzdem nicht.


    Wenn ich wieder auf Stand 26d197357f6e129f9e7b29387bdf8ecbef467bac gehe startet vdr wieder ohne Fehler.


    Hast Du irgend eine Idee, woran das liegen könnte?


    Danke

    Heiko

    Gentoo Linux ~ VDR 2.6.9 ~ DD Octopus NET V2 S2 Max - SAT>IP ~ LENOVO ThinkServer TS200V ~ Intel(R) Core(TM) i5 CPU680@3.60GHz ~ 16GB RAM ~ NVIDIA T400

  • Hi Heiko,


    Teil diese commit:

    - remove --tvscraperimages commandline option


    Starte doch mal ohne diesen Parameter.


    ~ Markus

    Client1: ASUS P5QC, Dual Core 3G, Cine S2, Ext. Board von TBE, Xubuntu 20.04, VDR 2.6x

    Client2: RPI3

    Server: RPI4, Sundtek SkyTV Dual 2x

  • Die Parameter der Transformation sind auf meine Logos im Format 268x200 Pixel optimiert:

    • Skalierung: 42x32 * 6.25 = 268x200 (Anzeigehöhe 32 Pixel, deshalb 200 / 32 = 6.25)
    • Translation X: (268 - 42) / 2 = -113 (nach rechts; mit -108 passt der rechte Rand optisch aber besser)
    • Translation Y: (200 - 32) / 2 = 84 (nach unten)

    Gegebenenfalls müsst ihr sie bei euch vielleicht noch etwas nachjustieren, wenn ihr andere Logo-Abmessung verwendet

    Man lernt ja nie aus: Kürzlich wollte ich die vergrößerte Darstellung von Images beim Mouse-Hover in ein anderes Projekt mit abweichenden Image-Abmessungen portieren. Weil die Berechnung der X- und Y-Offsets bei transform: translate(x, y) etwas mühselig ist und auch für Formate wie 3:2 oder 4:3 bzw. quer oder hoch funktionieren soll, habe ich noch ein wenig recherchiert, ob man das in CSS nicht auch generisch, also unabhängig von den konkreten Image-Abmessungen bewerkstelligen kann.


    Wie sich gezeigt hat, lassen sich die Offsets auch prozentual bezüglich des dargestellten Images spezifizieren. Damit vereinfacht sich deren Berechnung in der siteprefs.css des aktuellen Commits 9967f1d (v3.3.9) wie folgt:

    Das Prinzip ist einfach: Referenzpunkt ist immer der Mittelpunkt des dargestellten Images, und auch die Skalierung bezieht sich auf dessen Größe. Skaliert man das Image um s Prozent (bspw. 800% wie in Zeile 22), verschiebt sich der Referenzpunkt:

    • um s/2 − 100/2 = (s−100) / 2 nach rechts bzw. nach unten
    • um 100/2 − s/2= (100−s) / 2 nach links bzw. nach oben

    Als Prozentwerte sind die entsprechenden Offsets unabhängig von den nativen Image-Abmessungen (sowohl Auflösung als auch Seitenverhältnis) und hängen nur noch vom gewählten Skalierungsfaktor ab. Zu beachten ist, dass auch alle anderen Attribute (Ränder, Schattenwurf usw.) mit skaliert werden, aus box-shadow: 3px 3px 3px gray; in unserem Beispiel (Zeile 23) de facto also box-shadow: 24px 24px 24px gray; wird.


    Weitere Recherchen haben auf Basis der obigen Erkenntnisse und Nutzung von CSS-Variablen schließlich zu folgender – weitaus flexibleren und leichter anzupassenden – Lösung geführt:

    Hier lassen sich alle Parameter für die Vergrößerung der Images beim Mouse-Hover einstellen und werden automatisch so verarbeitet, dass die vergrößerten Images wie gewünscht platziert werden. Der Schattenwurf wird ebenfalls entsprechend justiert:





    Nur die Abstände, die man unterhalb der unvergrößerten Images noch benötigt, damit sie und der Schattenwurf beim Vergrößern nicht abgeschnitten werden, wenn der Text zu kurz ist:



    …muss man noch selbst ermitteln. Da hier die – lokal abweichenden – Image-Abmessungen eingehen und sich die Höhe nicht per CSS-Attribut ermitteln lässt, ist Handarbeit angesagt.


    MarkusE, magst du die überarbeitete siteprefs.css vielleicht noch ins Git übernehmen? Wer das Feature freischalten und für seine Gegebenheiten anpassen möchte, dem erleichtert dieser Ansatz sicherlich die Arbeit. Wer für sich schon Anpassungen gemacht hat, kann sie beim Mergen entweder angleichen oder auch einfahch beibehalten.


    Viele Grüße

    Stefan

    Hardware: Antec NSK2480, Asus P8B75-M LX, Intel Core i5-3570T, 4 GB RAM, NVIDIA GT610, TT-Premium S2-6400, 128 GB SSD, 14 TB HDD, Pioneer BDR-207EBK
    Software: Ubuntu 22.04 LTS mit Kernel 6.8 und VDR 2.7.3 (mit offiziellen und eigenen Patches)
    Plugins: devstatus, dvbhddevice, dvd, dvdswitch, epgsearch, extrecmenu, recsearch, femon, live, markad, mlist, osdteletext, remote, screenshot, skinenigmang, skinnopacity, streamdev, systeminfo, undelete, xineliboutput
    Addons: VDR Convert 0.1.0 (angepasst)

    Edited once, last by shofmann ().

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!