Release XBMC LCDproc Python addon - Printable Version +- Kodi Community Forum (https://forum.kodi.tv) +-- Forum: Support (https://forum.kodi.tv/forumdisplay.php?fid=33) +--- Forum: Add-on Support (https://forum.kodi.tv/forumdisplay.php?fid=27) +---- Forum: Service Add-ons (https://forum.kodi.tv/forumdisplay.php?fid=152) +---- Thread: Release XBMC LCDproc Python addon (/showthread.php?tid=143912) |
XBMC LCDproc Python addon - herrnst - 2012-10-29 ANNOUNCEMENT: "XBMC LCDproc" is now part of the official XBMC.org Addon repository and is installable and receives updates within Eden and Frodo! Hi all, I've lately been busy hacking on an LCDproc Python addon. The addon handles communication to LCDd more cleanly (reacts properly on any responses and only sends update when really needed, without spamming the socket) and improves on many other things (e.g. no more character translation table for any display type required, special chars handled via native LCDproc widgets etc.). While the addon runs very stable at least for me and can fully replace the code currently present in XBMC's core, it definitely requires testing by more users (different platforms, different displays, different LCD.xml configurations and so on). So I'd like to kindly ask anyone using a LCD or VFD driven by LCDproc to test this The addon can be found at my GitHub repo at https://github.com/herrnst/script.xbmc.lcdproc. The repo has been reorganized a bit lately: Base functionality has been branched as version 1.1.0, and will receive bugfixes only from now on. The "imonmdm" branch is now merged to master and will eventually become version 1.2.0. So, master now contains the additional functionality to drive the extra icons surrounding the text area of the display. @SoundGraph iMON LCD/Futaba mdm166a users: Please report back any problems you see with this. Especially mdm166a users should report back if the stuff works at all, as this support has been implemented blindly without any testing (no hardware). Everyone else: No harm or instability should be caused by this, please report if it unfortunately does. For notes, instructions and so on, please check https://github.com/herrnst/script.xbmc.lcdproc/wiki (updated for version information etc.). Would love to receive any feedback on this, and don't hesitate to ask questions or report problems Thanks to XBMC Team member Memphiz for the base implementation and letting me use it Best regards, Daniel Following up on the PR-discussion from PR#1482 here: Memphiz Wrote:The only thing i found is that "$INFO[LCD.TimeWide21]" should show the clock not the player.time (when screensaver is on there is no player running). I found out that the screensaver mode also gets active at least while music is playing, thus getting the LCD.TimeXX being drawn, but the output was scrambled due to special chars being directly posted. Haven't looked at the core code at that time, so it felt like a good idea to print the player.time at that point However, looking afterwards it indeed states "systemtime" in core. What about leaving "player.time" when playing media, and showing "systemtime" when screensaver gets active without anything playing? Greets, Daniel RE: XBMC LCDproc Python addon (testing needed) - Memphiz - 2012-10-29 Would be fine with me. Basically hack in what you like RE: XBMC LCDproc Python addon (testing needed) - herrnst - 2012-10-29 Done BTW (@all): Does any python equivalent to "g_windowmanager.GetActiveWindow()" exist (for comparison, see https://github.com/herrnst/xbmc/blob/imonlcd/xbmc/utils/LCD.cpp#L618) ? Already found out about "Window.IsActive()", the former seems to be MIA. Thanks! RE: XBMC LCDproc Python addon (testing needed) - sphere - 2012-10-29 (2012-10-29, 23:29)herrnst Wrote: BTW (@all): Does any python equivalent to "g_windowmanager.GetActiveWindow()" exist (for comparison, see https://github.com/herrnst/xbmc/blob/imonlcd/xbmc/utils/LCD.cpp#L618) ? Already found out about "Window.IsActive()", the former seems to be MIA. Just wanted to say: You are doing a good job on the LCD stuff! Regarding your question: Yes, you can use "xbmcgui.getCurrentWindowId()" - not sure why its not documented but it works EDIT: it is documented, see http://mirrors.xbmc.org/docs/python-docs/xbmcgui.html (end of the document). regards, sphere RE: XBMC LCDproc Python addon (testing needed) - herrnst - 2012-10-30 Thanks, and thanks for the hint and docs link! Can I also somehow access the defines (e.g. WINDOW_VIDEOS => 10006; didn't try yet) ? Greetings, nst RE: XBMC LCDproc Python addon (testing needed) - fetzerch - 2012-10-30 This is really awesome! Until now I was using the imon patch from http://trac.xbmc.org/ticket/8981 and recently from your PR. But having an addon looks like the right approach. Just installed the addon and it's working quite fine already Just a few questions: My imon lcd (usbid: 15c2:0038) has 2 bars above and below the text area. Previously they were used for a progress and volume indicator. Should this be working already? (it doesn't anymore for me) The xbmc intern code allows having empty lines (with [CR]). Could you maybe add this? I have another 4 line display where I had the last line always showing the weather and the time. My LCD.xml was lacking the pvrtv and pvrradio tags which caused a crash when starting live tv (index out of range). Cheers, Christian RE: XBMC LCDproc Python addon (testing needed) - sphere - 2012-10-30 (2012-10-30, 20:00)herrnst Wrote: Thanks, and thanks for the hint and docs link! Can I also somehow access the defines (e.g. WINDOW_VIDEOS => 10006; didn't try yet) ? They are listed here: http://wiki.xbmc.org/index.php?title=Window_IDs RE: XBMC LCDproc Python addon (testing needed) - herrnst - 2012-10-31 (2012-10-30, 22:32)cfetzer Wrote: This is really awesome! Until now I was using the imon patch from http://trac.xbmc.org/ticket/8981 and recently from your PR.Thanks (2012-10-30, 22:32)cfetzer Wrote: Just a few questions:Yes, assuming you are using the imonmdm branch (which I'll plan to merge to master soon, after branching/versioning the current master), this works. Just add config tags like this to LCD.xml: Code: <lcd> For the iMON, up to 4 bars (20 being currently the max. supported by the addon, for future use) may be defined, where 1 and 2 are top/bottom, and 3/4 being the small bars below/above the top/bottom bars. (2012-10-30, 22:32)cfetzer Wrote: The xbmc intern code allows having empty lines (with [CR]). Could you maybe add this?Yeah, someone over at vdr-portal with a 7-line display already asked about this, this will (probably) get a configurable option. (2012-10-30, 22:32)cfetzer Wrote: My LCD.xml was lacking the pvrtv and pvrradio tags which caused a crash when starting live tv (index out of range).Thanks for reporting this. fa5e5f6 (master) and 7c4f02a (imonmdm) will resolve this (2012-10-30, 23:44)sphere Wrote: They are listed here: http://wiki.xbmc.org/index.php?title=Window_IDsOk, so they should be defined/usable inside python. Thank you, will play with this! Greetings, Daniel RE: XBMC LCDproc Python addon (testing needed) - herrnst - 2012-10-31 (2012-10-31, 00:02)herrnst Wrote:Following up on this: Latest GIT commits add an LCD.xml configurable to allow empty lines. You can put(2012-10-30, 22:32)cfetzer Wrote: The xbmc intern code allows having empty lines (with [CR]). Could you maybe add this?Yeah, someone over at vdr-portal with a 7-line display already asked about this, this will (probably) get a configurable option. Code: <allowemptylines>on</allowemptylines> Will add documentation on this to the wiki page tomorrow G'night, Daniel RE: XBMC LCDproc Python addon (testing needed) - fetzerch - 2012-10-31 That was fast! Works great now and the configuration option is much better than having [CR]. I have two other ideas about improving the addon: The imon lcd is just 16 lines wide, unfortunately that's not enough to display $INFO[Player.Time]/$INFO[Player.Duration] for movies. (17 chars in the format 00:00:00/00:00:00). So in that case, couldn't the display just show the hour and the minute and make it 00:00/00:00? What do you think? The second idea concerns menus. Right now as far as I see you can only get the current menu entry. Do you know if xbmc supports also the previous/next menu entries on the same level? I always wanted to create a menu like this: Pictures >Movies Music But i fear that this information isn't provided by xbmc. Cheers, Christian RE: XBMC LCDproc Python addon (testing needed) - herrnst - 2012-10-31 (2012-10-31, 21:17)cfetzer Wrote: That was fast! Works great now and the configuration option is much better than having [CR].Nice Wiki documentation is updated, btw (2012-10-31, 21:17)cfetzer Wrote: I have two other ideas about improving the addon:Quickly reading through GUIInfoManager.cpp, you should be able to achieve this by specifying a time format as option to Player.Time, e.g. Code: $INFO[Player.Time(hh:mm)]/$INFO[Player.Duration(hh:mm)] Personally, I'm quite happy with the possibility of the iMON to display the progress by it's extra bars. For videos I have Code: <extrabar1>progress</extrabar1> (2012-10-31, 21:17)cfetzer Wrote: The second idea concerns menus. Right now as far as I see you can only get the current menu entry.That'd be hard to implement especially with the line-based concept. Also, the addon needs to know how the options are ordered with the current skin (e.g. Aeon Nox is ordered differently - and on top of that user-sortable - than Confluence). So if there isn't a way to retrieve this from XBMC, this seems impossible. Greetings, Daniel RE: XBMC LCDproc Python addon (testing needed) - fetzerch - 2012-11-01 (2012-10-31, 21:37)herrnst Wrote:(2012-10-31, 21:17)cfetzer Wrote: I have two other ideas about improving the addon:Quickly reading through GUIInfoManager.cpp, you should be able to achieve this by specifying a time format as option to Player.Time, e.g. Didn't know about the format options. That did the trick. Thanks. RE: XBMC LCDproc Python addon (testing needed) - jardes69 - 2012-11-01 Hi, thanks for an excellent addon. It solved my problems with play icons, the big clock and it does excellent timing calibration. Everything works well apart of that when XBMC goes to suspend mode, LCD keeps backlight on. I am using Eden + lcdproc with sureelec driver. When I use the native XBMC control it does dimming properly. Jaro. RE: XBMC LCDproc Python addon (testing needed) - herrnst - 2012-11-01 (2012-11-01, 18:43)jardes69 Wrote: Hi, thanks for an excellent addon. It solved my problems with play icons, the big clock and it does excellent timing calibration.Thanks for the feedback Are you running an up-to-date version? That issue should theoretically be resolved since 377b7d5... @All, the currently used code has been branched as release/1.1.0 and will receive bugfixes only. The "imonmdm" branch has been merged to master, so master now contains additional functionality to drive extra stuff if provided by the display (namely special icons, progress bars). Currently implemented is support for the SoundGraph iMON LCD and Futaba/Targa mdm166a VFD devices. Please check if this causes any harm or instability for you, or if problems occur with this. Initial post and GIT wiki has been updated accordingly. Thanks, Daniel RE: XBMC LCDproc Python addon (testing needed) - jardes69 - 2012-11-01 Thanks for a quick response. I have downloaded and installed the addon just this morning. I checked the code, corrections from 377b7d5 are there. btw: Dimming on screensaver works OK |