[ANNOUNCE] XBMC LCDproc Support als Python Addon

  • das PlayIcon ist nicht in der vierten Zeile plaziert, sondern in der ersten und überdeckt die Schrift


    Gnnn. Dummer Fehler (Verdreher von Platzhaltern) und bisher nicht aufgefallen, weil ich natürlich das Icon nie in einer anderen Zeile als Zeile 1 getestet hab ;D


    Bitte probier' mal folgendes (komme gerade nicht an Schreibrechte für das GitHub Repo, folgt heute abend):


    In script.xbmc.lcd/resources/lib/lcdproc.py, Zeile 465, den Inhalt von


    Code
    self.m_strSetLineCmds += "widget_set xbmc lineIcon%i %i 1 %s\n" % (ln, ln, self.m_strIconName)


    in


    Code
    self.m_strSetLineCmds += "widget_set xbmc lineIcon%i 1 %i %s\n" % (ln, ln, self.m_strIconName)


    ändern. (ACHTUNG! Auf die Einrückung achten!) Dann das Addon neu laden (Deaktivieren -> Aktivieren)


    Ist der Support für mehr als 4 Zeilen schon im addon enthalten, oder ist es nur Zufall das ich die vollen 7 Zeilen nutzen kann?
    Mit dem LCD-Support im Core von XBMC, war dies nämlich nicht möglich.


    Da sollte eigentlich nichts gegensprechen.


    Grüße,
    Daniel

    Server: Gigabyte P35-DS4, Intel Core2Duo E6850, 4GB DDR2-RAM (Headless), Gentoo Linux x86_64 / Kernel 4.16.7 / DD CineCTv6+DuoFlex C/T/T2+DuoFlex C/C2/T/T2 w/Kernel Stock Drivers / TVHeadend-GIT-3356759d8

    HTPC: ASRock J5005-ITX (Intel Pentium Silver J5005, 1.5GHz), 8GB SO-DDR4, Intel UHD Graphics 605 in Antec Fusion Remote Black+SoundGraph iMON LCD ( 0038 ), Kodi v18 Leia
    SW: Kodi Krypton+Leia auf allerlei Gerätchen (HTPC: VAAPI+HD-Audio+LCDproc addon / Ubuntu Bionic 18.04 (x86_64), RPi2, NVIDIA Shield Android TV, Wetek Play 1@LibreELEC/NAND, Tablets, Smartphones, Win/Mac/Linux Desktops)

  • danke, damit funktioniert es ... das PlayIcon ist jetzt an der richtigen Stelle


    grüsse
    MichaeL

    Gentoo - Linux-3.12 - VDR-2 - XBMC-13_alpha
    ASRock 890GM Pro3 - Athlon II X3 415e - A-Data 8GB - Radeon HD6450 (OSS-Treiber + uvd) - 1x SanDisk SSD Ultra Plus 128GB - 2x Western Digital WD30EZRX 3TB - Alpahcool Display - Atric IR+ Harmony One

  • danke, damit funktioniert es ... das PlayIcon ist jetzt an der richtigen Stelle


    Danke für das Feedback :)


    Der Fix ist jetzt auch im GIT. Nebenbei: Kurz >4 Zeilen per xosd Driver getestet - funktioniert.


    Viele Grüße,
    Daniel

    Server: Gigabyte P35-DS4, Intel Core2Duo E6850, 4GB DDR2-RAM (Headless), Gentoo Linux x86_64 / Kernel 4.16.7 / DD CineCTv6+DuoFlex C/T/T2+DuoFlex C/C2/T/T2 w/Kernel Stock Drivers / TVHeadend-GIT-3356759d8

    HTPC: ASRock J5005-ITX (Intel Pentium Silver J5005, 1.5GHz), 8GB SO-DDR4, Intel UHD Graphics 605 in Antec Fusion Remote Black+SoundGraph iMON LCD ( 0038 ), Kodi v18 Leia
    SW: Kodi Krypton+Leia auf allerlei Gerätchen (HTPC: VAAPI+HD-Audio+LCDproc addon / Ubuntu Bionic 18.04 (x86_64), RPi2, NVIDIA Shield Android TV, Wetek Play 1@LibreELEC/NAND, Tablets, Smartphones, Win/Mac/Linux Desktops)

  • Hallo,


    ich dachte nachdem ich diesen Thread las, es wird mal wieder Zeit GraphLCD fuer meinen VDR zu aktualisieren. Nun gut, bin auf das "touchcol"-branch von GraphLCD umgestiegen und nun kann ich auch dank dieses XBMC Addons auch von XBMC am graphischen Display sinnvoll etwas anzeigen lassen, denn das Ab- und Anschalten des VDR-GraphLCD funktioniert nun problemlos (ich lasse den VDR immer als daemon laufen).


    Wer auch Lust hat, das so zu nutzen, kann sich je nach eingesetzter graphlcd-base Version erstmal den entsprechenden GLCDprocDriver downloaden und bauen, danach kann man LCDproc mit dem glcdlib Driver bauen und konfigurieren. Wer Gentoo nutzt hat es da leichter, auf der GLCDprocDriver Homepage habe ich die entsprechenden Hinweise aktualisiert.


    Mein Skript welches zwischen VDR-Frontend (mal vdr-sxfe, mal softhddevice, noch bin ich mit keinem 100%-ig zufrieden) und XBMC umschaltet, macht nun im XBMC-Teil folgendes:

    Code
    svdrpsend plug graphlcd disconnect
    			sudo /etc/init.d/LCDd start
    			xbmc -fs --lircdev /var/run/lirc/lircd $@
    			sudo /etc/init.d/LCDd stop
    			svdrpsend plug graphlcd connect


    Wie schon gesagt, VDR laeuft immer und zeigt auf GraphLCD an, aber wenn ich XBMC starte wird die VDR-Ausgabe auf GraphLCD abgeschaltet und erst dann der LCDd-Dienst gestartet, nach Beenden von XBMC in umgekehrter Reihenfolge das jeweils Umgekehrte. Funzt, vielleicht findet es jemand nuetzlich...


    Gruesse,
    Lucian

  • Hallo,


    habe das Skript soeben mit meinem grafischen LCD getestet und erhalte folgende Fehlermeldung:


    Die Ansteuerung des LCD über lcdproc und der internen XBMC-Funktion funktioniert soweit. Beim Deaktivieren dieser Funktion und Start des Addons kommt obiger Fehler.


    Marcus

    My VDRs:

  • Hallo,
    ich vermute deine Python-Version ist zu alt, die Unterstützung für Flags in der re.sub kam erst mit Python Version 2.7

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

    Einmal editiert, zuletzt von seahawk1986 ()

  • Mein Skript welches zwischen VDR-Frontend (mal vdr-sxfe, mal softhddevice, noch bin ich mit keinem 100%-ig zufrieden) und XBMC umschaltet, macht nun imm XBMC-Teil folgendes:

    Code
    svdrpsend plug graphlcd disconnect
    			sudo /etc/init.d/LCDd start
    			xbmc -fs --lircdev /var/run/lirc/lircd $@
    			sudo /etc/init.d/LCDd stop
    			svdrpsend plug graphlcd connect


    Wie schon gesagt, VDR laeuft immer und zeigt auf GraphLCD an, aber wenn ich XBMC starte wird die VDR-Ausgabe auf GraphLCD abgeschaltet und erst dann der LCDd-Dienst gestartet, nach Beenden von XBMC in umgekehrter Reihenfolge das jeweils Umgekehrte. Funzt, vielleicht findet es jemand nuetzlich...


    Funktioniert die Umschaltung in der aktuellen yaVDR out of the box?


    Grüße
    Fu

    Hardware: Asus M3N78-EM µATX GF 8300 | AMD Sempron 140 | Display VFD USB MDM166A | DVB-S2 TT-3600 USB | RAM 1 GB | WD20EARS 2 TB
    Software: yaVDR 0.5

  • Hi,


    habe das Skript soeben mit meinem grafischen LCD getestet und erhalte folgende Fehlermeldung:

    Code
    (...)
                                              	File "/root/.xbmc/addons/script.xbmc.lcd/resources/lib/lcdbase.py", line 250, in LoadMode
                                                	linedescriptor['text'] = str(re.sub(r'\s?' + re.escape("$INFO[LCD.PlayIcon]") + '\s?', ' ', str(linetext), flags=re.IGNORECASE)).strip()
                                            	TypeError: sub() got an unexpected keyword argument 'flags'


    Kannst Du nochmal den aktuellen Master-Branch clonen und nochmal probieren? Ich habe gerade einen Check für die Python Version in Zusammenhang mit dem flags-Argument commited. Es sollte zusätzlich auch eine Warnung im XBMC Log hinterlassen werden.


    Viele Grüße,
    Daniel

    Server: Gigabyte P35-DS4, Intel Core2Duo E6850, 4GB DDR2-RAM (Headless), Gentoo Linux x86_64 / Kernel 4.16.7 / DD CineCTv6+DuoFlex C/T/T2+DuoFlex C/C2/T/T2 w/Kernel Stock Drivers / TVHeadend-GIT-3356759d8

    HTPC: ASRock J5005-ITX (Intel Pentium Silver J5005, 1.5GHz), 8GB SO-DDR4, Intel UHD Graphics 605 in Antec Fusion Remote Black+SoundGraph iMON LCD ( 0038 ), Kodi v18 Leia
    SW: Kodi Krypton+Leia auf allerlei Gerätchen (HTPC: VAAPI+HD-Audio+LCDproc addon / Ubuntu Bionic 18.04 (x86_64), RPi2, NVIDIA Shield Android TV, Wetek Play 1@LibreELEC/NAND, Tablets, Smartphones, Win/Mac/Linux Desktops)

  • Funktioniert die Umschaltung in der aktuellen yaVDR out of the box?


    Warum sollte es nicht?


    Wobei du bei yaVDR besser
    --
    vdr-dbus-send /Plugins/graphlcd plugin.SVDRPCommand string:'disconnect'
    vdr-dbus-send /Plugins/graphlcd plugin.SVDRPCommand string:'connect'
    --
    verwenden solltest.


    Bei svdrp kann es sein das das an/ab-schalten fehlschlägt weil svdrp gerade beschäftigt ist oder der VDR gerade nicht svdrp aufnahmebereit ist.


    cu

  • Kannst Du nochmal den aktuellen Master-Branch clonen und nochmal probieren? Ich habe gerade einen Check für die Python Version in Zusammenhang mit dem flags-Argument commited. Es sollte zusätzlich auch eine Warnung im XBMC Log hinterlassen werden.

    Habe leider erst Wochenende wieder Sicht auf das LCD - rein vom Log her, scheint es wohl zu klappen:

    Code
    20:48:23 T:2982345584 WARNING: ### [XBMC LCD/VFD] - Python < 2.7 detected. Upgrade your Python for optimal results.
    20:48:23 T:2982345584   DEBUG: ### [XBMC LCD/VFD] - Open 127.0.0.1:13666
    20:48:24 T:2982345584   DEBUG: ### [XBMC LCD/VFD] - Reply: connect LCDproc 0.5.5 protocol 0.3 lcd wid 34 hgt 9 cellwid 7 cellhgt 14
    20:48:24 T:2982345584  NOTICE: ### [XBMC LCD/VFD] - Connected to LCDd at 127.0.0.1:13666, Protocol version 0.3 - Geometry 34x9 characters (238x126 pixels, 7x14 pixels per character)
    20:48:24 T:2982345584   DEBUG: ### [XBMC LCD/VFD] - info Reply: Meta driver which adds support for displays supported by graphlcd-base


    Mal sehen ob ich unter Debian python > 2.6 installiert bekomme. Standard ist da derzeit nur 2.6.


    Marcus

    My VDRs:

  • Bei svdrp kann es sein das das an/ab-schalten fehlschlägt weil svdrp gerade beschäftigt ist oder der VDR gerade nicht svdrp aufnahmebereit ist.

    Ok, leicht OT - aber nur mal gefragt: Macht es Sinn vdr-dbus zu installieren, um dieses svdrpsend-Problem zu umgehen?

    My VDRs:

  • Ok, leicht OT - aber nur mal gefragt: Macht es Sinn vdr-dbus zu installieren, um dieses svdrpsend-Problem zu umgehen?


    Ist es eine schwerwiegende Entscheidung es einfach mal zu installieren? ;) Es läuft bei mir jedenfalls problemlos und unauffällig im Hintergrund. Und man umgeht solche Probleme, auch wenn sie eher selten auftreten.


    Mit dbus2vdr läuft alles allgemein etwas fluffiger. Es macht schon Sinn alles was möglich ist von svdrp auf dbus umzustellen. Ich würde es jedenfalls empfehlen.


    cu

  • Habe leider erst Wochenende wieder Sicht auf das LCD - rein vom Log her, scheint es wohl zu klappen:

    Code
    20:48:23 T:2982345584 WARNING: ### [XBMC LCD/VFD] - Python < 2.7 detected. Upgrade your Python for optimal results.
    20:48:23 T:2982345584   DEBUG: ### [XBMC LCD/VFD] - Open 127.0.0.1:13666
    20:48:24 T:2982345584   DEBUG: ### [XBMC LCD/VFD] - Reply: connect LCDproc 0.5.5 protocol 0.3 lcd wid 34 hgt 9 cellwid 7 cellhgt 14
    20:48:24 T:2982345584  NOTICE: ### [XBMC LCD/VFD] - Connected to LCDd at 127.0.0.1:13666, Protocol version 0.3 - Geometry 34x9 characters (238x126 pixels, 7x14 pixels per character)
    20:48:24 T:2982345584   DEBUG: ### [XBMC LCD/VFD] - info Reply: Meta driver which adds support for displays supported by graphlcd-base


    Alles schön, so wie es sein soll. Der einzige "Nachteil", den Du jetzt hast, ist, dass Du ggf. auf Gross/Kleinschreibung bei den InfoLabel Tags achten musst. Alles andere sollte funktionieren.


    Mal sehen ob ich unter Debian python > 2.6 installiert bekomme. Standard ist da derzeit nur 2.6.


    Glaub' das lohnt den Aufwand und die Systemstabilität nur für diesen Fall nicht wirklich.


    Daniel

    Server: Gigabyte P35-DS4, Intel Core2Duo E6850, 4GB DDR2-RAM (Headless), Gentoo Linux x86_64 / Kernel 4.16.7 / DD CineCTv6+DuoFlex C/T/T2+DuoFlex C/C2/T/T2 w/Kernel Stock Drivers / TVHeadend-GIT-3356759d8

    HTPC: ASRock J5005-ITX (Intel Pentium Silver J5005, 1.5GHz), 8GB SO-DDR4, Intel UHD Graphics 605 in Antec Fusion Remote Black+SoundGraph iMON LCD ( 0038 ), Kodi v18 Leia
    SW: Kodi Krypton+Leia auf allerlei Gerätchen (HTPC: VAAPI+HD-Audio+LCDproc addon / Ubuntu Bionic 18.04 (x86_64), RPi2, NVIDIA Shield Android TV, Wetek Play 1@LibreELEC/NAND, Tablets, Smartphones, Win/Mac/Linux Desktops)

  • Der einzige "Nachteil", den Du jetzt hast, ist, dass Du ggf. auf Gross/Kleinschreibung bei den InfoLabel Tags achten musst.


    Ohne das ich jetzt direkt ins Skript geschaut habe (Isch 'abe gar keine LCD), ist denn die Gross/Kleinschreibung für den Nutzer relevant (Plugin-Konfiguration o.ä)? Ansonsten ist es ja eher Kosmetik.


    BJ1


  • Ohne das ich jetzt direkt ins Skript geschaut habe (Isch 'abe gar keine LCD), ist denn die Gross/Kleinschreibung für den Nutzer relevant (Plugin-Konfiguration o.ä)? Ansonsten ist es ja eher Kosmetik.


    Konkret gehts um "$INFO[LCD.PlayIcon]", das über den fraglichen Regex entfernt wird (und drumherum ein natives LCDproc icon-Widget daraus gesteuert wird). Wenn der Tag im "line"-Text stehen bleibt, wird das beim Rendern an den XBMC InfoLabel-Parser übergeben und hier durch ein Sonderzeichen ersetzt. Das Sonderzeichen soll auf HD44780-Displays das Play-Icon darstellen - genau das soll das icon-Widget ersetzen bzw. vermeiden.

    Server: Gigabyte P35-DS4, Intel Core2Duo E6850, 4GB DDR2-RAM (Headless), Gentoo Linux x86_64 / Kernel 4.16.7 / DD CineCTv6+DuoFlex C/T/T2+DuoFlex C/C2/T/T2 w/Kernel Stock Drivers / TVHeadend-GIT-3356759d8

    HTPC: ASRock J5005-ITX (Intel Pentium Silver J5005, 1.5GHz), 8GB SO-DDR4, Intel UHD Graphics 605 in Antec Fusion Remote Black+SoundGraph iMON LCD ( 0038 ), Kodi v18 Leia
    SW: Kodi Krypton+Leia auf allerlei Gerätchen (HTPC: VAAPI+HD-Audio+LCDproc addon / Ubuntu Bionic 18.04 (x86_64), RPi2, NVIDIA Shield Android TV, Wetek Play 1@LibreELEC/NAND, Tablets, Smartphones, Win/Mac/Linux Desktops)

  • Hmm, ältere Pythons kennen nicht

    TypeError: sub() got an unexpected keyword argument 'flags'


    Die Frage war, braucht man dieses Flag 'unbedingt' (da User-Input per Konfig/editierbarer XML oder sonstwas) oder kann man darauf verzichten. Meinst Du jetzt

    Code
    "$INFO[LCD.PlayIcon]"

    --> $INFO?


    BJ1

  • Hmm, ältere Pythons kennen nicht


    Die Frage war, braucht man dieses Flag 'unbedingt' (da User-Input per Konfig/editierbarer XML oder sonstwas) oder kann man darauf verzichten.


    Nein, unbedingt braucht man es nicht. Der User muss dann nur darauf achten, dass er die (editierbare XML-Datei - LCD.xml) Groß/Kleinschreibung bei diesem einen Label ("$INFO[LCD.PlayIcon]") beachtet, da es ansonsten nicht aus dem evtl. vorhandenen restlichen Text der Zeile entfernt wird und ggf. unerwünschte Anzeigen mit sich zieht. Das Flag greift dem User lediglich unter die Arme.


    Ich würde auf jeden Fall darauf verzichten, dafür die Python-Installation zu riskieren ;D

    Server: Gigabyte P35-DS4, Intel Core2Duo E6850, 4GB DDR2-RAM (Headless), Gentoo Linux x86_64 / Kernel 4.16.7 / DD CineCTv6+DuoFlex C/T/T2+DuoFlex C/C2/T/T2 w/Kernel Stock Drivers / TVHeadend-GIT-3356759d8

    HTPC: ASRock J5005-ITX (Intel Pentium Silver J5005, 1.5GHz), 8GB SO-DDR4, Intel UHD Graphics 605 in Antec Fusion Remote Black+SoundGraph iMON LCD ( 0038 ), Kodi v18 Leia
    SW: Kodi Krypton+Leia auf allerlei Gerätchen (HTPC: VAAPI+HD-Audio+LCDproc addon / Ubuntu Bionic 18.04 (x86_64), RPi2, NVIDIA Shield Android TV, Wetek Play 1@LibreELEC/NAND, Tablets, Smartphones, Win/Mac/Linux Desktops)

  • Alles klar ;)


    BJ1

  • Ich würde auf jeden Fall darauf verzichten, dafür die Python-Installation zu riskieren

    Habe ich nach Googlen auch feststellen müssen. Dann warte ich mal bis 2013 auf wheezy und hoffe bis dahin komme ich so durch ;)


    Marcus

    My VDRs:

  • So, ich kann die Funktion nun direkt bestätigen - MIT Blick auf das LCD :)


    Ob jetzt mit Addon oder direkt per XBMC-LCD-eigener LCD-Option: Funktioniert bei Euch das Abschalten der Hintergrundbeleuchtung des LCD wenn man z.B. eine Aufnahme abspielt? Normalerweise sollte das Display beim Bildschirmschoner abschalten, allerdings startet der ja logischerweise nicht im Wiedergabemodus.

    My VDRs:

Jetzt mitmachen!

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