The LCD.xml file is used for customizing the output to an LCD (or VFD) display. The current default LCD.xml file may be found here (LCD.xml.defaults). If you save this file as LCD.xml to the userdata folder you can make changes, as described on this page.
Time was LCD displays where supported from the XBMC core and it used this file as part of that configuration. Now this functionality has been dropped from the core in preference of Add-on:XBMC LCDproc. It is now this add-on that makes use off the file instead. Ensure that you install and configure Add-on:XBMC LCDproc as part of your LCD or VFD setup.
The file contains several sections representing each functions:
- 'navigation' (Used for Navigation in menus)
- 'music' (Used when listening to music)
- 'video' (Used when watching videos)
- 'tvshow' (Used when watching videos classified as TV shows - Please note this is new and is not yet in the default file)
- 'general' (General Display, when no activity)
Each section describes how the LCD Display will look, when listening to Music, watching Videos, navigating through the menus, after launching a Game or Application and for general display.
Each section can contain several 'line' objects representing each line on the LCD Display. If there are more line objects that can fit on the LCD the additional lines will not show on the display.
In addition to the layout information, we also have some settings for the LCD in LCD.xml. In particular, <disableonplay> is used to turn the LCD off during playback of video, music or both. Specify <disableonplay>video,music</disableonplay> to turn them both off, or just video or music if only one type of media should result in the LCD being disabled.
<Music> <line>$INFO[LCD.PlayIcon] $INFO[Player.Time]/$INFO[Player.Duration]</line> <line>$INFO[MusicPlayer.Title]</line> <line>$INFO[MusicPlayer.Artist]</line> <line>$INFO[MusicPlayer.Album] ($INFO[MusicPlayer.Year])</line> </Music>
The Output on the LCD Display for the above example will look like this:
> 00:42/3:20 Gold Digger Kanye West feat. Jamie Foxx Late Registration (2005)
Each line can contain any text and any Infolabels used for skinning. If the output line on the LCD Display contains more than 20 characters (for a standard 4x20 LCD Display) then the complete line gets automatically scrolled through the Display. There is more information on how XBMC parses the <line> tags here.
- Variable $INFO[InfoLabel]
- See InfoLabels for a complete list of InfoLabels which you can use for LCD Output.
- Variable $LOCALIZE[ID]
- You can also use the variable $LOCALIZE[ID] which does a lookup in the language file strings.po for the [ID] and displays the corresponding text on the LCD Display.
5 LCD InfoLabels
In addition to the normal InfoLabels, you can use special LCD InfoLabels, which are displaying only the corresponding values without additional text. This is very helpful to display more information in one line at the same time and to avoid scrolling of the specified line.
|LCD.PlayIcon||Displays the Play / Stop / Pause / FF / REW Icon|
|LCD.ProgressBar||Displays a progress bar of the currently played item|
|LCD.CPUTemperature||Displays only the value for CPU Temperature with no additional text|
|LCD.GPUTemperature||Displays only the value for GPU Temperature with no additional text|
|LCD.HDDTemperature||Displays only the value for HDD Temperature with no additional text|
|LCD.FanSpeed||Displays only the value for Fan Speed with no additional text|
|LCD.Date||Displays only the current Date with no additional text|
|LCD.FreeSpace(Drive)||Displays only the value for remaining free space on the Drive (C, E, F, G) with no additional text|
|Displays the time in 2×1 sized characters|
|Displays the time in 2×2 sized characters|
|Displays the time in 4×3 sized characters|
Note: The LCD.Time InfoLabels are currently only in effect when XBMC is in screensaver mode. This is also the case if the visualization is started by the screensaver. In all other cases, the play and progress icons will be rendered, which give unexpected results.
When there is no value available in XBMC for a specific Infolabel when playing back music/videos/etc.., then the line on the LCD Display would be empty.
In this case the next line will be displayed instead of the previous line. This avoids displaying empty lines on the LCD Display.
6 LCD.xml for customizing
The LCD.xml file is used for customizing the output of the LCD Display, see:
- Configuration Values on addons github-wiki
The "XBMC LCDproc" addon as is now part of the official XBMC.org Addon repository and is installable and receives updates if installed.
XBMC LCDproc addon is GPLv2 licensed and implemented in Python. 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 Smile
- XBMC LCDproc addon development forum discussion http://forum.xbmc.org/showthread.php?tid=143912
- The addon can be found at my GitHub repo at https://github.com/herrnst/script.xbmc.lcdproc
- XBMC LCDproc addon development and user wiki https://github.com/herrnst/script.xbmc.lcdproc/wiki