You are on page 1of 180

XBMC Skinning Manual

From XBMC Jump to: navigation, search Development Add-on development Skinning XBMC Skinning Manual

Contents
[hide]

1 Anatomy of a Skin 2 Skin Themes 3 Includes 4 The Window XML Files 5 addon.xml 6 Windows o 6.1 Window Structure o 6.2 About the Window XML Files o 6.3 Window Header 6.3.1 The Different Types of Controls 6.3.2 Adding Extra Windows 7 Controls o 7.1 Label Control 7.1.1 Example 7.1.2 Auto Size Labels 7.1.3 Multi-Line Labels 7.1.4 Available Tags o 7.2 See also o 7.3 Fade Label Control 7.3.1 Example 7.3.2 Tag Descriptions o 7.4 See also o 7.5 Button Control 7.5.1 Example 7.5.2 Available Tags o 7.6 See also o 7.7 Multiselect Control 7.7.1 Example 7.7.2 Available Tags o 7.8 See also o 7.9 Image Control

o o

o o

o o

o o

o o

o o

o o

o o

o o

o o

7.9.1 Example 7.9.2 Image Size and Type Restrictions 7.9.2.1 Size 7.9.2.2 Formats 7.9.3 Available Tags and Attributes 7.10 See also 7.11 MultiImage Control 7.11.1 Example 7.11.2 Image Size and Type Restrictions 7.11.2.1 Formats 7.11.3 Available Tags and Attributes 7.12 See also 7.13 Radio button Control 7.13.1 Example 7.13.2 Available Tags 7.14 See also 7.15 Select button control 7.15.1 Example 7.15.2 Available Tags 7.16 See also 7.17 Toggle button control 7.17.1 Example 7.17.2 Available Tags 7.18 See also 7.19 Spin Control 7.19.1 Example 7.19.2 Available Tags 7.20 See also 7.21 Settings Spin Control 7.21.1 Example 7.21.2 Available Tags 7.22 See also 7.23 Slider Control 7.23.1 Example 7.23.2 Available Tags 7.24 See also 7.25 List Container 7.25.1 Example 7.25.2 Available Tags 7.26 See also 7.27 Wraplist Container 7.27.1 Example 7.27.2 Available Tags 7.28 See also 7.29 FixedList Container 7.29.1 Available Tags

o o

o o

o o

o o o o

o o

o o

o o

o o

o o

o o

o o o

7.30 See also 7.31 Panel Container 7.31.1 Example 7.31.2 Available Tags 7.32 See also 7.33 Progress Control 7.33.1 Example 7.33.2 Available Tags 7.34 See also 7.35 Text Box 7.35.1 Example 7.35.2 Available Tags 7.36 See also 7.37 RSS feed Control 7.38 RSS ticker settings 7.39 Technical documentation for skinners 7.39.1 RSS control 7.39.2 Available Tags and attributes 7.39.3 RssFeeds.xml 7.40 See also 7.41 Visualisation Control 7.41.1 Example 7.41.2 Available Tags 7.42 See also 7.43 Video Control 7.43.1 Example 7.43.2 Available Tags 7.44 See also 7.45 Mover Control 7.45.1 Example 7.45.2 Available Tags 7.46 See also 7.47 Resize Control 7.47.1 Example 7.47.2 Available Tags 7.48 See also 7.49 Edit Control 7.49.1 Example 7.49.2 Available Tags 7.50 See also 7.51 EPGGrid Control 7.51.1 Example 7.51.2 Available Tags 7.52 See also 7.53 Console Control 7.54 Checkmark Control

o 7.55 Extended List Control 8 Conditional_Visibility o 8.1 How They Work o 8.2 Conditional Visibility for Dialogs o 8.3 List of Boolean Conditions o 8.4 Combining Conditions o 8.5 Specifying the Transition Animation o 8.6 See also 9 Animating Your Skin o 9.1 Window Animations o 9.2 Control Animations o 9.3 Format of Animation Tags 9.3.1 Types 9.3.2 Attributes o 9.4 Examples o 9.5 See also 10 Fonts o 10.1 Format of the Font.xml File o 10.2 Supported Font Types 10.2.1 True type Fonts 11 Apendix I: List of Windows 12 Apendix II: List of Boolean Conditions o 12.1 See also 13 Apendix III: List of Info Labels o 13.1 Container o 13.2 Control o 13.3 Fanart o 13.4 Listitem o 13.5 Musicpartymode labels o 13.6 Network labels o 13.7 Player labels 13.7.1 Music player 13.7.2 Video player o 13.8 Playlist o 13.9 PVR o 13.10 Skin o 13.11 Slideshow o 13.12 System o 13.13 System params o 13.14 Visualisation o 13.15 Weather labels o 13.16 Window o 13.17 Images Available in XBMC o 13.18 See also 14 Apendix IV: List of Built In Functions o 14.1 List of functions

15 Apendix V: List of Built In Controls o 15.1 .xml files 15.1.1 AddonBrowser.xml 15.1.2 DialogAddonInfo.xml 15.1.3 DialogAddonSettings.xml 15.1.4 DialogAlbumInfo.xml 15.1.5 DialogBusy.xml 15.1.6 DialogButtonMenu.xml 15.1.7 DialogContentSettings.xml 15.1.8 DialogContextMenu.xml 15.1.9 DialogExtendedProgressBar.xml 15.1.10 DialogFavourites.xml 15.1.11 DialogFileStacking.xml 15.1.12 DialogGamePad.xml 15.1.13 DialogKaiToast.xml 15.1.14 DialogKaraokeSongSelector.xml 15.1.15 DialogKaraokeSongSelectorLarge.xml 15.1.16 DialogKeyboard.xml 15.1.17 DialogMediaFilter.xml 15.1.18 DialogMediaSource.xml 15.1.19 DialogMusicScan.xml 15.1.20 DialogMuteBug.xml 15.1.21 DialogNetworkSetup.xml 15.1.22 DialogNumeric.xml 15.1.23 DialogOK.xml 15.1.24 DialogPeripheralManager.xml 15.1.25 DialogPeripheralSettings.xml 15.1.26 DialogPictureInfo.xml 15.1.27 DialogProgress.xml 15.1.28 DialogPVRChannelManager.xml 15.1.29 DialogPVRChannelsOSD.xml 15.1.30 DialogPVRGroupManager.xml 15.1.31 DialogPVRGuideInfo.xml 15.1.32 DialogPVRGuideOSD.xml 15.1.33 DialogPVRGuideSearch.xml 15.1.34 DialogPVRRecordingInfo.xml 15.1.35 DialogPVRTimerSettings.xml 15.1.36 DialogSeekBar.xml 15.1.37 DialogSelect.xml 15.1.38 DialogSlider.xml 15.1.39 DialogSongInfo.xml 15.1.40 DialogTextViewer.xml 15.1.41 DialogVideoInfo.xml 15.1.42 DialogVideoScan.xml 15.1.43 DialogYesNo.xml 15.1.44 FileBrowser.xml

15.1.45 FileManager.xml 15.1.46 LockSettings.xml 15.1.47 LoginScreen.xml 15.1.48 MusicKaraokeLyrics.xml 15.1.49 MusicOSD.xml 15.1.50 MusicOverlay.xml 15.1.51 MusicVisualisation.xml 15.1.52 MyMusicNav.xml 15.1.53 MyMusicPlaylist.xml 15.1.54 MyMusicPlaylistEditor.xml 15.1.55 MyMusicSongs.xml 15.1.56 MyPics.xml 15.1.57 MyPrograms.xml 15.1.58 MyPVR.xml 15.1.59 MyVideo.xml (deprecated) 15.1.60 MyVideoNav.xml 15.1.61 MyVideoPlaylist.xml 15.1.62 MyWeather.xml 15.1.63 Pointer.xml 15.1.64 ProfileSettings.xml 15.1.65 Settings.xml 15.1.66 SettingsCategory.xml 15.1.67 SettingsProfile.xml 15.1.68 SettingsScreenCalibration.xml 15.1.69 SlideShow.xml 15.1.70 SettingsSystemInfo.xml 15.1.71 SmartPlaylistEditor.xml 15.1.72 SmartPlaylistRule.xml 15.1.73 VideoFullScreen.xml 15.1.74 VideoOSDBookmarks.xml 15.1.75 VideoOSDSettings.xml 15.1.76 VideoOverlay.xml 15.1.77 VisualisationPresetList.xml o 15.2 See also 16 Apendix VI: List of Default Icons o 16.1 Icons used in XBMC skins 16.1.1 Add-ons 16.1.2 Music 16.1.3 Videos 16.1.4 Generic o 16.2 See also

XBMC includes a new GUI library written from scratch. This library allows you to skin/change everything you see in XBMC, from the images, the sizes and positions of all controls, colours, fonts, and text, through to altering navigation and even adding new functionality.

The skin system is quite complex, and this portion of the manual is dedicated to providing in depth information on how it all works, along with tips to make the experience a little more pleasant.

If you are just getting started with skinning XBMC, then it is suggested that the best way to learn is by modifying one of the many existing skins that are available. The default skin, Confluence, includes almost all the various tricks and features that make the XBMC skinning engine so powerful, so is an ideal place to start. You may wish to start by having a look through the tutorial section on skinning XBMC as well as the "Skinning XBMC" article, and try modifying a window or two by adding a button, or altering the textures or layout.

1 Anatomy of a Skin
XBMC skins once installed are located in userdata addons folder. This is the folder where all skins are placed and listed. Any additional skins you create, or download from or be installed via zip XBMC will load and ask you if you would like to load the skin and also allow you to load them up from within the Appearance Settings. It is suggested that if you want to make your own skin, then starting by copying an existing skins files over into a new folder (let's say skin/myskin) is a good place to start. You can then edit each of the files as you become more familiar with the skinning system. Each skin folder contains several subdirectorys, and one file: myskin/font This subdirectory contains all fonts used by the skin. you can add/replace fonts here myskin/media This subdirectory contains all the media files (.png/.gif/.jpg...) You can replace/edit these as you like. myskin/addon.xml This contains the information that XBMC uses to find the other files that XBMC requires to describe it's skin. It also contains credits information, and versioning information. myskin/720p This is a resolution-specific directory. XBMC can run in multiple resolutions, and thus can use different files for some resolutions (as there is a big difference between NTSC at 720x480 pixels and 1080i at 1920x1080 pixels!) See here for the order in which it looks for skin files.

2 Skin Themes

All the basic media files for a skin should be compressed into the Textures.xbt file, and placed in the media/ folder. You can use the tool Texturepacker for this. All the images that make up the default skin theme should be in the Textures.xbt file. In addition to this, XBMC allows other .xbt files in the media/ folder, each one representing a different theme for your skin. For instance, you could tint all your main textures a red colour, and create a new theme package Red.xbt. This gives users more choice in the look of a particular skin, and only the textures change when you change themes the layout stays the same. If the user has selected a theme, then when a control requires a texture, XBMC will first look in the <themename>.xbt file for the texture. It will fall back to the Textures.xbt file if <themename>.xbt doesn't contain the image. This means that the theme .xbt files need only contain the changed textures all other textures will fallback to using Textures.xbt as usual. A suggested method of creating a theme is as follows: 1. Run Texturepacker.exe on the folder containing the default texture files, to generate Textures.xbt as you would normally do. 2. Identify the textures you wish to have themed and copy them to a separate folder. 3. Create a separate folder for each theme outside of your normal skin work area, and place the altered copies of each of the textures in them. 4. Run Texturepacker.exe on each of the theme folders created in step 3 to create the themed .xbt files (note you can use the -output switch with Texturepacker.exe to name the theme appropriately). 5. Place Textures.xbt and each of the theme .xbt files in the media/ folder of your skin. XBMC will automatically pick them up.

3 Includes
The other special (and arguably the most important skinning file of all) is includes.xml. This is, as its title suggests, a place from which you can define the default look, size, and positioning of controls, to save you replicating many of the control's attributes throughout the window .xml files. For instance, you can setup the size, and textures used for a button control, thus allowing you to leave those details out in the rest of the skin files, unless of course you want to override the default look or size etc. in a particular window. This is extremely valuable as it allows you to greatly simplify a lot of the work in building a skin. For one thing, it means that once you have include files setup, many of the default parameters for a different resolution can be done by just altering the parameters within the include file(s) for the different resolution. With the 2.1 skinning engine, you can infact have more than one include file - you can specify the file attribute when including from a different file, allowing you to have an include file dedicated to a particular set of attributes. The layout of an includes file is as follows.

<includes> <include name="whitetext"> <textcolor>ffffffff</textcolor> </include> <include file="listdefaults.xml" /> <default type="button"> <include>whitetext</include> </default> <constant name="leftedge">50</constant> </includes>

You'll notice in the above example that we have 4 different types of includes. The first <include> tag basically allows a substitution of the tags underneath it whenever it occurs. For instance, if in a window .xml file you have this:
<control type="togglebutton"> <include>whitetext</include> ... other tags go here </control>

Then it would substitute the <textcolor> tag for where the include tag is. You can have as many includes as you like, and as many tags can be inside an include - even complete controls, or complete control groups. The second <include> tag in the example demonstrates how to include from a different file. As there is no include name specified, it will include the contents of the entire file at that point. The <default> tag is similar to an include, except that it is used in every control of that type even if you don't specify that the control is to use includes. Thus every buttoncontrol will have the whitetext include in it. Note that you can override this by specifying the <textcolor> tag in the buttoncontrol. And finally, the <constant> tag allows you to define a numeric (floating point) constant by name for use in place of numeric values (<posx>, height="" etc.) would otherwise be used. This allows alignment of items using the same position values which can then easily be altered in one place.

4 The Window XML Files


The other xml files each define the skin for a single window. They all have the same basic layout, allowing you to place different controls on the window, and define how navigation should operate. A list of all window .xml files and what they represent may be found in Apendix I: List of Windows. The important thing to remember is that each window has a unique identifying number (id). This is how XBMC identifies the window from within the source code.

Furthermore, many of the controls within each window should have a unique id as well, unless they're just used as images or labels where navigation is unimportant and XBMC does not need to be able to identify them uniquely. The window id's are all listed in the Apendix I: List of Windows. The structure of the window .xml files can be found below in the Window Structure.

5 addon.xml
See also: addon.xml

6 Windows
6.1 Window Structure 6.2 About the Window XML Files
Each window in an XBMC skin is represented by a single .xml file. See here for a list of the standard windows and links to their .xml files. Each .xml file has the same basic structure it starts with some heading information that pertains to the window as a whole, and then contains a <controls> block within which all the controls that describe the window are defined.

6.3 Window Header


<window> <onload>RunScript(script.foobar)</onload> <onunload>SetProperty(foo,bar)</onunload> <defaultcontrol always="false">2</defaultcontrol> <allowoverlay>yes</allowoverlay> <backgroundcolor>0xff00ff00</backgroundcolor> <views>50,51,509,510</views> <visible>Window.IsActive(Home)</visible> <animation effect="fade" time="100">WindowOpen</animation> <animation effect="slide" end="0,576" time="100">WindowClose</animation> <zorder>1</zorder> <coordinates> <posx>40</posx> <posy>50</posy> <origin x="100" y="50">Window.IsActive(Home)</origin> </coordinates> <previouswindow>MyVideos</previouswindow> <controls> <control> </control> ....

</controls> </window>

One thing to note is that all tag names are lower case. XML tag names are case sensitive! The header contains the following tags: onload Optional: the build-in function to execute when the window opens onunload Optional: the build-in function to execute when the window closes defaultcontrol This specifies the default control of the window. This is the id of the control that will receive focus when the window is first opened. Note that most XBMC windows save the current focus when you leave the window, and will return to the last focused item when you return to a window. This behaviour can be stopped by specifying the attribute always="true". backgroundcolor Specifies whether the window needs clearing prior to rendering, and if so which colour to use. Defaults to clearing to black. Set to 0 (or 0x00000000) to have no clearing at all. If your skin always renders opaque textures over the entire screen (eg using a backdrop image or multiple backdrop images) then setting the background color to 0 is the most optimal value and may improve performance significantly on slow GPUs. allowoverlay Setting this tag to true, or yes, indicates that the music or video overlay may be shown when this window is active. If this tag is not present, the state of the previous (or parent) window is used. visible Specifies the conditions under which a dialog will be visible. XBMC evaluates this at render time, and shows or hides a dialog depending on the evaluation of this tag. See here for more details. Applies only to <type>dialog</type>. animation Specifies the animation effect to perform when opening or closing the window. See here for more details. zorder This specifies the depth that the window should be drawn at. Windows with higher zorder are drawn on top of windows with lower z-order. All dialogs by default have zorder 1, so if you have a particular dialog that you want underneath all others, give it a zorder of 0. (Note that the normal render order is: The base window, then the overlays (music + video), then dialogs. <zorder> only effects the rendering of the dialogs. coordinates This block is used to specify how XBMC should compute the coordinates of all controls. posx Sets the horizontal origin position of the window. Defaults to 0 if not present. posy Sets the vertical origin position of the window. Defaults to 0 if not present. origin

Sets a conditional origin for the window. The window will display at (x,y) whenever the origin condition is met. You can have as many origin tags as you like they are evaluated in the order present in the file, and the first one for which the condition is met wins. If none of the origin conditions are met, we fall back to the <posx> and <posy> tags. previouswindow This can be used to specify a window to force XBMC to go to on press of the Back button. Normally XBMC keeps a window stack of previous windows to handle this. This tag allows you to override this behaviour. The value is the name of the window. views This tag lets you use view id's beyond 50 to 59 it also lets you set the order in which they cycle with the change view button in the skin. Only useful in My<Foo>.xml windows. controls This is the block the defines all controls that will appear on this window.

6.3.1 The Different Types of Controls


XBMC supports many different types of controls. Click here for the control types and what they all do. Some of these controls are required on specific windows, as they're necessary for that window to perform it's duty, or, the contents of the control are only valid on a particular window. The mandatory controls for each window are listed here. While the controls are mandatory, you can ofcourse move them about and change their appearance within the windows to your hearts content!

6.3.2 Adding Extra Windows


All of the windows in the window list are defined within the executeable of XBMC itself, as most of them have a specific purpose. However, the skinner may add extra windows as and when they are needed or wanted. The only restriction to this is that only controls that do not require specific source code to operate can be used. This is not too much of a restriction though, as many skinners have found out. To add an extra window, all you need to do is design up the window's .xml file in the usual way, assign it an <id> outside of the ones defined in the window list, and then name the file customN.xml, where N is a number. You can have as many as you like, as long as they have unique <id>'s, and are named differently. Then just define the <type> of window you want, the coordinate system and so on, add the controls and setup the navigation. To activate your window, you can do it by adding a button control elsewhere in the skin, or you can get it to popup on a press of the controller or remote via keymap.xml and so on. Basically you just need to run XBMC.ActivateWindow(id) from a suitable place.

7 Controls

Controls are the substance of your skin. They define everything from buttons, to text labels, to visualization placement. This portion of the manual will explain each and every control in detail.

7.1 Label Control


The label control is used for displaying text in XBMC. You can choose the font, size, colour, location and contents of the text to be displayed.

7.1.1 Example
<control type="label" id="1"> <description>My First label</description> <posx>80</posx> <posy>60</posy> <width>250</width> <visible>true</visible> <align>center</align> <aligny>center</aligny> <scroll>false</scroll> <label>6</label> <info>MusicPlayer.Artist</info> <number></number> <angle>30</angle> <haspath>false</haspath> <font>font14</font> <textcolor>FFB2D4F5</textcolor> <shadowcolor>ff000000</shadowcolor> <wrapmultiline>false</wrapmultiline> <scrollspeed>50</scrollspeed> <scrollsuffix> - </scrollsuffix> </control>

7.1.2 Auto Size Labels


Wrapping your label in a grouplist with the auto width and appropriate minium and maximum values. Allows the labels width to dynamically change relevalant to how long the label text is. This allows a image or other control to be alligned to the right of the actual label text no matter how wide the label is.
<width min="29" max="200">auto</width>

7.1.3 Multi-Line Labels


If you want your label control to span multiple lines, you can insert a new line character in your label. For example:
<label>This will be on the first line[CR]And this will be on the second line</label>

Also, if you want your label control to conform to the <width> parameter, but still want to be able to give it more content than will fit on one line, then setting:
<wrapmultiline>true</wrapmultiline>

will cause the text to be cut up (at the spaces in the text) onto multiple lines. Note that if a single word is larger than <width> then it will not be cut, and will still overflow.

7.1.4 Available Tags


In addition to the Default Control Tags the following tags are available. Note that each tag is lower case only. This is important, as xml tags are case-sensitive.

Tag

Description

align

Can be left, right, or center. Aligns the text within the given label <width>. Defaults to left

aligny

Can be top or center. Aligns the text within its given label <height>. Defaults to top

scroll

When true, the text will scroll if longer than the label's <width>. If false, the text will be truncated. Defaults to false.

label

Specifies the text which should be drawn. You should specify an entry from the strings.xml here (either the XBMC strings.xml or your skin's strings.xml file), however you may also hardcode a piece of text also if you wish, though ofcourse it will not be localisable. You can use the full label formatting syntax and you may also specify more than one piece of information here by using the $INFO and $LOCALIZE formats.

info

Specifies the information that should be presented. XBMC will auto-fill in this info in place of the <label>. See here for more information.

number

Specifies a number that should be presented. This is just here to allow a skinner to use a number rather than a text label (as any number given to <label> will be used to lookup in strings.xml)

angle

The angle the text should be rendered at, in degrees. A value of 0 is horizontal.

haspath

Specifies whether or not this label is filled with a path. Long paths are shortened by compressing the file path while keeping the actual filename full length.

font

Specifies the font to use from the font.xml file.

textcolor

Specifies the color the text should be, in hex AARRGGBB format, or a name from the colour theme.

shadowcolor

Specifies the color of the drop shadow on the text, in AARRGGBB format, or a name from the colour theme.

wrapmultiline If true, any text that doesn't fit on one line will be wrapped onto multiple lines.

scrollspeed

Scroll speed of text in pixels per second. Defaults to 60.

scrollsuffix

Specifies the suffix used in scrolling labels. Defaults to " | ".

7.2 See also


Development:

Add-on development Skinning

7.3 Fade Label Control


The fade label control is used for displaying multiple pieces of text in the same space in XBMC. You can choose the font, size, colour, location and contents of the text to be displayed. The first piece of information to display fades in over 50 frames, then scrolls off to the left. Once it is finished scrolling off screen, the second piece of information fades in and the process repeats. A fade label control is not supported in a list container.

7.3.1 Example

<control type="fadelabel" id="1"> <description>My First fadelabel</description> <posx>80</posx> <posy>60</posy> <width>250</width> <visible>true</visible> <scroll>false</scroll> <scrollout>true</scrollout> <pauseatend>200</pauseatend> <label>6</label> <info>MusicPlayer.Genre</info> <info>MusicPlayer.Artist</info> <info>MusicPlayer.Album</info> <info>MusicPlayer.Year</info> <font>font14</font> <textcolor>FFB2D4F5</textcolor> <textoffsetx>20</textoffsetx> </control>

7.3.2 Tag Descriptions


In addition to the Default Control Tags the following tags are available. Note that each tag is lower case only. This is important, as xml tags are case-sensitive. Specifies the text which should be drawn. You should specify an entry from the strings.xml here, however you may also specify a piece of text yourself if you wish, though ofcourse it will not be localisable. You may also specify more than one piece of information here by using the $INFO and $LOCALIZE formats. Specifies the information that should be presented. XBMC will auto-fill in this info in place of the <label>. See here for more information. Specifies the font to use from the font.xml file. Specified the color the text should be, in hex AARRGGBB format, or a name from the colour theme. Specify the offset from the left edge that the text should be rendered at when static (not scrolling). The scrolling text will still scroll using the full <width> of the control. Specifies the color of the drop shadow on the text, in AARRGGBB format, or a name from the colour theme. Specifies the angle at which the text should be drawn, measured counter clockwise from the horizontal. If set to False the fadelabel will only scroll until the last char is to the right side of the width of the fadelabel instead of all the way out to the left. Specifies the time that the text will wait until it fades away before it scrolls again or moves to the next item.

label

info font textcolor textoffsetx shadowcolor angle scrollout pauseatend

If set to false the fadelabel will not reset the scrolling offset when the resetonlabelchange label's content changes. Useful if you have things such as the play time (in seconds) inside a fadelabel. Defaults to true. scrollspeed Scroll speed of text in pixels per second. Defaults to 60.

7.4 See also


Development:

Add-on development Skinning

7.5 Button Control


The button control is used for creating push buttons in XBMC. You can choose the position, size, and look of the button, as well as choosing what action(s) should be performed when pushed.

7.5.1 Example
<control type="button" id="1"> <description>My first button control</description> <posx>80</posx> <posy>60</posy> <width>250</width> <height>200</height> <visible>true</visible> <colordiffuse>FFFFFFFF</colordiffuse> <texturefocus>myfocustexture.png</texturefocus> <texturenofocus>mynormaltexture.png</texturenofocus> <label>29</label> <font>font12</font> <textcolor>FFFFFFFF</textcolor> <focusedcolor>FFFFFFFF</focusedcolor> <disabledcolor>80FFFFFF</disabledcolor> <align></align> <aligny></aligny> <textoffsetx></textoffsetx> <textoffsety></textoffsety> <pulseonselect></pulseonselect> <onclick>XBMC.ActivateWindow(MyVideos)</onclick> <onfocus>-</onfocus> <onunfocus>-</onunfocus> <onup>2</onup> <ondown>3</ondown> <onleft>1</onleft> <onright>1</onright> </control>

7.5.2 Available Tags


In addition to the Default Control Tags the following tags are available. Note that each tag is lower case only. This is important, as xml tags are case-sensitive. Specifies the image file which should be displayed when the button has focus. See here for additional information about textures. Specifies the image file which should be displayed when the button does not have focus. The label used on the button. It can be a link into strings.xml, or an actual text label. Font used for the button label. From fonts.xml. Color used for displaying the button label. In AARRGGBB hex format, or a name from the colour theme. Color used for the button label when the button has in focus. In AARRGGBB hex format or a name from the colour theme. Color used for the button label if the button is disabled. In AARRGGBB hex format or a name from the colour theme. Specifies the color of the drop shadow on the text, in AARRGGBB format, or a name from the colour theme. The angle the text should be rendered at, in degrees. A value of 0 is horizontal. Label horizontal alignment on the button. Defaults to left, can also be center or right. Label vertical alignment on the button. Defaults to top, can also be center. Amount to offset the label from the left (or right) edge of the button when using left or right alignment. Amount to offset the label from the top edge of the button when using top alignment. Will truncate any text that's too long. Specifies the action to perform when the button is pressed. Should be a built in function. See here for more information. You may have more than one <onclick> tag, and they'll be executed in sequence. Specifies the action to perform when the button is focused. Should be a built in function. The action is performed after any focus animations have completed. See here for more information. Specifies the action to perform when the button loses focus. Should be a built in function.

texturefocus texturenofocus label font textcolor focusedcolor disabledcolor shadowcolor angle align aligny textoffsetx textoffsety textwidth onclick

onfocus onunfocus

7.6 See also


Development:

Add-on development Skinning

7.7 Multiselect Control


The multiselect control is used for creating a single line of text with multiple selectable pieces of text that can perform various actions. You can choose the position, size, and look of the text and highlights as well as choosing what action(s) should be performed when items are selected.

7.7.1 Example
<control type="multiselect" id="13"> <description>My first multiselect control</description> <posx>80</posx> <posy>60</posy> <width>250</width> <height>200</height> <visible>true</visible> <texturefocus>myfocustexture.png</texturefocus> <texturenofocus>mynormaltexture.png</texturenofocus> <label>[ONCLICK Shutdown]Shutdown[/ONCLICK] or [ONCLICK Reboot]Reboot[/ONCLICK] XBMC</label> <font>font12</font> <textcolor>FFFFFFFF</textcolor> <disabledcolor>80FFFFFF</disabledcolor> <aligny>center</aligny> <textoffsetx></textoffsetx> <textoffsety></textoffsety> <onup>2</onup> <ondown>3</ondown> <onleft>1</onleft> <onright>1</onright> </control>

7.7.2 Available Tags


In addition to the Default Control Tags the following tags are available. Note that each tag is lower case only. This is important, as xml tags are case-sensitive. Specifies the image file which should be displayed when a selectable item has focus. It is sized to fit the text, and <textoffsetx> and <textoffsety> are used to space out around the text. See here for additional information about textures. The label used. Selectable text is surrounded in [ONCLICK

texturefocus

texturenofocus Specifies the image file which should be displayed behind any selectable text. label

action]text[/ONCLICK] blocks. You can use the full label formatting syntax as well as info labels. font textcolor focusedcolor disabledcolor shadowcolor aligny textoffsetx textoffsety Font used for the button label. From fonts.xml. Color used for displaying the standard label. In AARRGGBB hex format, or a name from the colour theme. Color used for the selected text when an item has focus. In AARRGGBB hex format or a name from the colour theme. Color used for the text when the control is disabled. In AARRGGBB hex format or a name from the colour theme. Specifies the color of the drop shadow on the text, in AARRGGBB format, or a name from the colour theme. Label vertical alignment. Defaults to top, can also be center. Amount to offset the highlight textures from the left and right edges of the selectable text. Amount to offset the label from the top edge of the control when using top alignment.

7.8 See also


Development:

Add-on development Skinning

7.9 Image Control


The image control is used for displaying images in XBMC. You can choose the position, size, transparency and contents of the image to be displayed.

7.9.1 Example
<control type="image" id="1"> <description>My first image control</description> <posx>80</posx> <posy>60</posy> <width>250</width> <height>200</height> <visible>true</visible> <colordiffuse>FFFFFFFF</colordiffuse> <fadetime>200</fadetime> <texture border="5" flipy="true" flipx="false">mytexture.png</texture> <bordertexture border="5">mybordertexture.png</bordertexture> <bordersize>5</bordersize> <texture>$INFO[MusicPlayer.Cover]</texture>

<aspectratio>keep</aspectratio> </control>

7.9.2 Image Size and Type Restrictions


For the <texture> tags, and for all <texture> tags in other controls, there is a small set of rules that you should follow if at all possible: 7.9.2.1 Size Images can be any size, though some graphics cards allow only power of 2 textures, so this may be a consideration. For the most case, it doesn't really matter what size things are - XBMC will quite happily load most files. 7.9.2.2 Formats If you wish to use transparency, then use PNG. It is suggested that you use PNG and JPG as much as possible. Note that once the images are injected into Textures.xbt, they are not stored as JPG or PNG rather they are stored in a native format used for GPUs for faster loading, such as ARGB or DXTc textures. The size of the images (in kb) is therefore not as important as the size of the images in pixels so feel free to store them in a lossless (eg PNG) manner if you wish. The only exception to this is if you require an animated texture. In this case, we support only animated GIF. There are also some animated gifs that may not work. Use ImageReady CS and make sure you set the gif-anim to restore to background and they should work fine.

7.9.3 Available Tags and Attributes


In addition to the default control tags, the following tags are available. Note that each tag is lower case only. This is important, as xml tags are case-sensitive.

Tags

Definition

aspectratio

This specifies how the image will be drawn inside the box defined by <width> and <height>. See here for more information.

texture

Specifies the image file which should be displayed. See here for additional information about textures.

bordertexture Specifies the image file which should be displayed as a border around the image. Use the <bordersize> to specify the size of the border. The

<width>,<height>

box specifies the size of the image plus border.

bordersize

Specifies the size of the border. A single number specifies the border should be the same size all the way around the image, whereas a comma separated list of 4 values indicates left,top,right,bottom values.

info

Specifies the information that this image control is presenting. XBMC will select the texture to use based on this tag. See here for more information.

fadetime

This specifies a crossfade time that will be used whenever the underlying <texture> filename changes. The previous image will be held until the new image is ready, and then they will be crossfaded. This is particularly useful for a large thumbnail image showing the focused item in a list, or for fanart or other large backdrops.

background

For images inside a container, you can specify background="true" to load the textures in a background worker thread. See here for additional information about background loading.

7.10 See also


Development:

Add-on development Skinning

7.11 MultiImage Control


The MultiImage control is used for displaying a slideshow of images from a folder in XBMC. You can choose the position and size of the slideshow, as well as timing information.

7.11.1 Example
<control type="multiimage" id="1"> <description>My first slideshow control</description> <posx>80</posx> <posy>60</posy> <width>250</width> <height>200</height> <visible>true</visible> <imagepath>myimagepath</imagepath>

<info></info> <timeperimage>5000</timeperimage> <fadetime>2000</fadetime> <pauseatend>10000</pauseatend> <randomize>true</randomize> <loop>no</loop> <aspectratio>stretch</aspectratio> </control>

7.11.2 Image Size and Type Restrictions


For the <texture> tags, and for all <texture> tags in other controls, there is a small set of rules that you should follow if at all possible: 7.11.2.1 Formats If you wish to use full 8 bit transparency, then use PNG. If you only need a single transparent colour, then you can specify this in the <colorkey> tag, so any image will be fine. It is suggested that you use PNG and JPG as much as possible. The size of the images (in kb) is therefore not as important as the size of the images in pixels so feel free to store them in a lossless (eg PNG) manner if you wish. The only exception to this is if you require an animated texture. In this case, we only support animated GIF. There are also SOME animated gifs that may not work. Use ImageReady CS and make sure you set the gif-anim to restore to background and they should work fine.

7.11.3 Available Tags and Attributes


In addition to the default control tags, the following tags are available. Note that each tag is lower case only. This is important, as xml tags are case-sensitive.

imagepath

Specifies the path containing the images to use for the slideshow. XBMC will first look inside the compressed Textures.xbt file for images, and then will look in the actual folder. The path is relative to the media/ folder if it is not specified completely. It must be a local path (ie on the local harddisk) for speed purposes.

info

Specifies the information that this image control is presenting. XBMC will select the texture to use based on this tag. See here for more information.

timeperimage Time in milliseconds that an image is shown for.

fadetime

Time in milliseconds to fade between images.

pauseatend

Time in milliseconds to pause (in addition to <timeperimage>) on the last image at the end of a complete cycle through the images. Only useful if <loop> is set to yes.

loop

If set to no, the last image will display indefinitely. Setting it to yes will loop around once they reach the last image. Defaults to yes.

aspectratio

This specifies how the image will be drawn inside the box defined by <width> and <height>. See here for more info

7.12 See also


Development:

Add-on development Skinning

7.13 Radio button Control


The radio button control is used for creating push button on/off settings in XBMC. You can choose the position, size, and look of the button. When the user clicks on the radio button, the state will change, toggling the extra textures (textureradioon and textureradiooff). Used for settings controls.

7.13.1 Example
<control type="radiobutton" id="2"> <description>My first radiobutton control</description> <type>radiobutton</type> <posx>80</posx> <posy>60</posy> <width>250</width> <height>200</height> <visible>true</visible> <colordiffuse>FFFFFFFF</colordiffuse> <texturefocus>myfocustexture.png</texturefocus> <texturenofocus>mynormaltexture.png</texturenofocus> <textureradioon>myradiobutton.png</textureradioon> <textureradiooff>myradiobutton_nf.png</textureradiooff> <selected>Player.Paused</selected> <onclick>PlayerControls(Pause)</onclick> <label>29</label> <font>font12</font> <textcolor>FFFFFFFF</textcolor>

<focusedcolor>FFFFFFFF</focusedcolor> <disabledcolor>80FFFFFF</disabledcolor> <align>left</align> <aligny>center</aligny> <textoffsetx>4</textoffsetx> <textoffsety>5</textoffsety> <pulseonselect>false</pulseonselect> <onfocus>-</onfocus> <onunfocus>-</onunfocus> <onup>2</onup> <ondown>3</ondown> <onleft>1</onleft> <onright>1</onright> </control>

7.13.2 Available Tags


In addition to the Default Control Tags the following tags are available. Note that each tag is lower case only. This is important, as xml tags are case-sensitive. Specifies the image file which should be displayed when the button has focus. See here for additional information about textures. Specifies the image file which should be displayed when the button does not have focus.

texturefocus texturenofocus

Specifies the image file which should be displayed for the radio button portion when it's the button is on. This texture is positioned on the right of the button textureradioon it's positioned 24 pixels from the right edge of the button, and 8 pixels above the center vertically. textureradiooff label font textcolor focusedcolor disabledcolor shadowcolor align Specifies the image file which should be displayed for the radio button portion when the button is off. The label used on the button. It can be a link into strings.xml, or an actual text label. Font used for the button label. From fonts.xml. Color used for displaying the button label. In AARRGGBB hex format, or a name from the colour theme. Color used for the button label when the button has in focus. In AARRGGBB hex format or a name from the colour theme. Color used for the button label if the button is disabled. In AARRGGBB hex format, or a name from the colour theme. Specifies the color of the drop shadow on the text, in AARRGGBB format, or a name from the colour theme. Label horizontal alignment on the button. Defaults to left, can also be center or right.

aligny textoffsetx textoffsety selected onclick radioposx radioposy radiowidth radioheight onfocus onunfocus

Label vertical alignment on the button. Defaults to top, can also be center. Amount to offset the label from the left (or right) edge of the button when using left or right alignment. Amount to offset the label from the top edge of the button when using top alignment. The boolean condition that when met will cause the control to become selected. see here for more information. The function to perform when the radio button is clicked. Should be a built in function. X offset of the dot or radio button itself Y offset of the dot or radio button itself Width in Pixels of the dot or radio button itself Height in Pixels offset of the dot or radio button itself Specifies the action to perform when the button is focused. Should be a built in function. The action is performed after any focus animations have completed. See here for more information. Specifies the action to perform when the button loses focus. Should be a built in function.

7.14 See also


Development:

Add-on development Skinning

7.15 Select button control


The select button control is used for creating a push button that hides multiple options in XBMC. You can choose the position, size, and look of the button, as well as what it looks like when it's pushed in (option arrows etc.) When the button is pushed, two arrows pop up allowing you to alter the contents of the button (thus select different options). Used to alter the current View mode in My Videos and My Music.

7.15.1 Example
<control type="selectbutton" id="4"> <description>My first select button control</description> <posx>80</posx> <posy>60</posy> <width>250</width>

<height>200</height> <visible>true</visible> <colordiffuse>FFFFFFFF</colordiffuse> <texturefocus>myfocustexture.png</texturefocus> <texturenofocus>mynormaltexture.png</texturenofocus> <texturebg>mybgtexture.png</texturebg> <textureleft>mylefttexture.png</textureleft> <textureleftfocus>myleftfocustexture.png</textureleftfocus> <textureright>myrighttexture.png</textureright> <texturerightfocus>myrightfocustexture.png</texturerightfocus> <label>29</label> <font>font12</font> <textcolor>FFFFFFFF</textcolor> <disabledcolor>80FFFFFF</disabledcolor> <align></align> <alignY></alignY> <textoffsetx></textoffsetx> <textoffsety></textoffsety> <pulseonselect>false</pulseonselect> <onup>2</onup> <ondown>3</ondown> <onleft>1</onleft> <onright>1</onright> </control>

7.15.2 Available Tags


In addition to the Default Control Tags the following tags are available. Note that each tag is lower case only. This is important, as xml tags are case-sensitive. Specifies the image file which should be displayed when the button has focus. See here for additional information about textures. Specifies the image file which should be displayed when the button does not have focus. This texture is rendered in the background, replacing the texturefocus and texturenofocus textures, when the button is pushed in. The texture of the left arrow item when it's not focused. Displayed at the left of the button when it is selected. The texture of the left arrow item when it's focused. Displayed at the left of the button when it is selected. The texture of the right arrow item when it's not focused. Displayed at the right of the button when it is selected. The texture of the right arrow item when it's focused. Displayed at the right of the button when it is selected. The label used on the button. It can be a link into strings.xml, or an actual text label.

texturefocus texturenofocus texturebg textureleft textureleftfocus textureright texturerightfocus label

font textcolor disabledcolor shadowcolor align aligny textoffsetx textoffsety

Font used for the button label. From fonts.xml. Color used for displaying the button label. In AARRGGBB hex format, or a name from the colour theme. Color used for the button label if the button is disabled. In AARRGGBB hex format, or a name from the colour theme. Specifies the color of the drop shadow on the text. In AARRGGBB hex format, or a name from the colour theme. Label horizontal alignment on the button. Defaults to left, can also be center or right. Label vertical alignment on the button. Defaults to top, can also be center. Amount to offset the label from the left (or right) edge of the button when using left or right alignment. Amount to offset the label from the top edge of the button when using top alignment.

7.16 See also


Development:

Add-on development Skinning

7.17 Toggle button control


The toggle button control is used for creating buttons that have 2 states. You can choose the position, size, and look of the button. When the user clicks on the toggle button, the state will change, toggling the extra textures (alttexturefocus and alttexturenofocus). Used for controls where two states are needed (pushed in and pushed out for instance).

7.17.1 Example
<control type="togglebutton" id="25"> <description>My first togglebutton control</description> <posx>80</posx> <posy>60</posy> <width>250</width> <height>200</height> <visible>true</visible> <colordiffuse>FFFFFFFF</colordiffuse> <texturefocus>myfocustexture.png</texturefocus> <texturenofocus>mynormaltexture.png</texturenofocus> <alttexturefocus>myselectedTexture.png</alttexturefocus> <alttexturenofocus>myselectedTexture_nf.png</alttexturenofocus> <usealttexture>!Player.IsPaused</usealttexture>

<label>29</label> <altlabel>29</altlabel> <font>font12</font> <textcolor>FFFFFFFF</textcolor> <disabledcolor>80FFFFFF</disabledcolor> <align>left</align> <aligny>center</aligny> <textoffsetx>4</textoffsetx> <textoffsety>5</textoffsety> <pulseonselect>false</pulseonselect> <onclick>Player.Pause</onclick> <onfocus>-</onfocus> <onunfocus>-</onunfocus> <onup>2</onup> <ondown>3</ondown> <onleft>1</onleft> <onright>1</onright> </control>

7.17.2 Available Tags


In addition to the Default Control Tags the following tags are available. Note that each tag is lower case only. This is important, as xml tags are case-sensitive. Specifies the image file which should be displayed when the button has focus. See here for additional information about texture tags. Specifies the image file which should be displayed when the button does not have focus. Specifies the image file which should be displayed when the toggle button is in it's selected state. This texture replaces the <texturefocus> texture when the toggle button is selected. Specifies the image file which should be displayed when the button is in it's selected state but unfocused. Specifies the conditions under which the Alternative Textures should be shown. Some toggle button controls are handled by XBMC internally, but any extra ones that the skinner has can be controlled using this tag. See here for more information. The label used on the button. It can be a link into strings.xml, or an actual text label. The label used on the button. It can be a link into strings.xml, or an actual text label. Font used for the button label. From fonts.xml. Color used for displaying the button label. In AARRGGBB hex format, or a name from the colour theme. Color used for the button label if the button is disabled. In AARRGGBB hex

texturefocus texturenofocus alttexturefocus alttexturenofocus

usealttexture

label altlabel font textcolor disabledcolor

format, or a name from the colour theme. shadowcolor align aligny textoffsetx textoffsety onclick Specifies the color of the drop shadow on the text. In AARRGGBB hex format, or a name from the colour theme. Label horizontal alignment on the button. Defaults to left, can also be center or right. Label vertical alignment on the button. Defaults to top, can also be center. Amount to offset the label from the left (or right) edge of the button when using left or right alignment. Amount to offset the label from the top edge of the button when using top alignment. Specifies the action to perform when the button is pressed. Should be a built in function. See here for more information. You may have more than one <onclick> tag, and they'll be executed in sequence. Specifies the action to perform when the button is focused. Should be a built in function. The action is performed after any focus animations have completed. See here for more information. Specifies the action to perform when the button loses focus. Should be a built in function.

onfocus onunfocus

7.18 See also


Development:

Add-on development Skinning

7.19 Spin Control


The spin control is used for when a list of options can be chosen (such as a page up/down control). You can choose the position, size, and look of the spin control.

7.19.1 Example
<control type="spincontrol" id="14"> <description>My first spin control</description> <posx>80</posx> <posy>60</posy> <width>250</width> <height>200</height> <visible>true</visible> <colordiffuse>FFFFFFFF</colordiffuse> <textureup>myuptexture.png</textureup> <textureupfocus>myupfocustexture.png</textureupfocus> <texturedown>mydowntexture.png</texturedown>

<texturedownfocus>mydownfocustexture.png</texturedownfocus> <subtype>page</subtype> <font>font12</font> <textcolor>FFFFFFFF</textcolor> <disabledcolor>80FFFFFF</disabledcolor> <align></align> <aligny></aligny> <textoffsetx></textoffsetx> <textoffsety></textoffsety> <pulseonselect></pulseonselect> <onup>2</onup> <ondown>3</ondown> <onleft>1</onleft> <onright>1</onright> </control>

7.19.2 Available Tags


In addition to the Default Control Tags the following tags are available. Note that each tag is lower case only. This is important, as xml tags are case-sensitive. Specifies the image file which should be displayed for the up arrow when it doesn't have focus. See here for additional information about textures. Specifies the image file which should be displayed for the up button when it has focus. Specifies the image file which should be displayed for the down button when it is not focused. Specifies the image file which should be displayed for the down button when it has focus. Font used for the button label. From fonts.xml. Color used for displaying the label. In AARRGGBB hex format, or a name from the colour theme.. Color used for the label if the control is disabled. In AARRGGBB hex format, or a name from the colour theme. Specifies the color of the drop shadow on the text. In AARRGGBB format, or a name from the colour theme. Defines what type of information the spinner holds. Can be int, float, text or page. Defaults to text. Make sure you use page for a page control. Label horizontal alignment on the control. Defaults to right, can also be left. Label vertical alignment on the control. Defaults to top, can also be center. Amount to offset the label from the left (or right) edge of the button when using left or right alignment. Amount to offset the label from the top edge of the button when using top

textureup textureupfocus texturedown texturedownfocus font textcolor disabledcolor shadowcolor subtype align aligny textoffsetx textoffsety

alignment.

7.20 See also


Development:

Add-on development Skinning

7.21 Settings Spin Control


The settings spin control is used in the settings screens for when a list of options can be chosen from using up/down arrows. You can choose the position, size, and look of the spin control. It is basically a cross between the button control and a spin control. It has a label and focus and non focus textures, as well as a spin control on the right.

7.21.1 Example
<control type="spincontrolex" id="12"> <description>My first settings spin control</description> <posx>80</posx> <posy>60</posy> <width>250</width> <height>200</height> <visible>true</visible> <colordiffuse>FFFFFFFF</colordiffuse> <texturefocus>myfocustexture.png</texturefocus> <texturenofocus>mynofocustexture.png</texturenofocus> <textureup>myuptexture.png</textureup> <textureupfocus>myupfocustexture.png</textureupfocus> <texturedown>mydowntexture.png</texturedown> <texturedownfocus>mydownfocustexture.png</texturedownfocus> <label>46</label> <font>font12</font> <textcolor>FFFFFFFF</textcolor> <disabledcolor>80FFFFFF</disabledcolor> <align></align> <aligny></aligny> <textoffsetx></textoffsetx> <textoffsety></textoffsety> <pulseonselect></pulseonselect> <onup>2</onup> <ondown>3</ondown> <onleft>1</onleft> <onright>1</onright> </control>

7.21.2 Available Tags

In addition to the Default Control Tags the following tags are available. Note that each tag is lower case only. This is important, as xml tags are case-sensitive. Specifies the image file which should be displayed for the control when it has focus. See here for additional information about textures. Specifies the image file which should be displayed for the control when it doesn't focus. Specifies the image file which should be displayed for the up arrow when it doesn't have focus. It is displayed to the left of the down arrow. Specifies the image file which should be displayed for the up arrow when it has focus. Specifies the image file which should be displayed for the down arrow when it is not focused. It is displayed to the right of the up arrow so that it's right edge is <textoffsetx> pixels away from the right edge of the control. Specifies the image file which should be displayed for the down arrow when it has focus. Either a numeric reference into strings.xml (for localization), or a string that will be shown on the left of the control. Font used for the controls label. From fonts.xml. Color used for displaying the label. In AARRGGBB hex format, or a name from the colour theme. Color used for the label if the control is disabled. In AARRGGBB hex format, or a name from the colour theme. Specifies the color of the drop shadow on the text. In AARRGGBB hex format, or a name from the colour theme. Label horizontal alignment on the control. Defaults to left. Label vertical alignment on the control. Defaults to top, can also be center. Amount to offset the label from the left (or right) edge of the button when using left or right alignment. Amount to offset the label from the top edge of the button when using top alignment.

texturefocus texturenofocus textureup textureupfocus texturedown texturedownfocus label font textcolor disabledcolor shadowcolor align aligny textoffsetx textoffsety

7.22 See also


Development:

Add-on development Skinning

7.23 Slider Control


The slider control is used for things where a sliding bar best represents the operation at hand (such as a volume control or seek control). You can choose the position, size, and look of the slider control.

7.23.1 Example
<control type="slider" id="17"> <description>My first slider control</description> <posx>80</posx> <posy>60</posy> <width>250</width> <height>30</height> <visible>true</visible> <texturesliderbar>mybackgroundtexture.png</texturesliderbar> <textureslidernib>mydowntexture.png</textureslidernib> <textureslidernibfocus>mydownfocustexture.png</textureslidernibfocus> <info></info> <action></action> <controloffsetx></controloffsetx> <controloffsety></controloffsety> <pulseonselect></pulseonselect> <onup>2</onup> <ondown>3</ondown> <onleft>1</onleft> <onright>1</onright> </control>

7.23.2 Available Tags


In addition to the Default Control Tags the following tags are available. Note that each tag is lower case only. This is important, as xml tags are case-sensitive. Specifies the image file which should be displayed in the background of the slider control. See here for additional information about textures. Specifies the image file which should be displayed for the slider nib. Specifies the image file which should be displayed for the slider nib when it has focus. Amount to offset the slider background texture from the left edge of the control. Only useful if a value is being rendered as well (ie in int or float mode). Amount to offset the slider background texture from the top edge of the control. Specifies the information that the slider controls. See here for more information.

texturesliderbar textureslidernib textureslidernibfocus controloffsetx controloffsety info

action

Can be 'volume' to adjust the volume or 'seek' to change the seek position.

7.24 See also


Development:

Add-on development Skinning

7.25 List Container


The list container is one of several containers used to display items from file lists in various ways. The list container is very flexible - it's only restriction is that it is a list - i.e. a single column or row of items. The layout of the items is very flexible and is up to the skinner.

7.25.1 Example
<control type="list" id="50"> <description>My first list container</description> <posx>80</posx> <posy>60</posy> <width>250</width> <height>200</height> <visible>true</visible> <onup>2</onup> <ondown>3</ondown> <onleft>1</onleft> <onright>1</onright> <viewtype label="3D list">list</viewtype> <orientation>vertical</orientation> <pagecontrol>25</pagecontrol> <scrolltime tween="sine" easing="out">200</scrolltime> <itemlayout width="250" height="29"> <control type="image"> <posx>5</posx> <posy>3</posy> <width>22</width> <height>22</height> <info>ListItem.Icon</info> </control> <control type="label"> <posx>30</posx> <posy>3</posy> <width>430</width> <height>22</height> <font>font13</font> <aligny>center</aligny> <selectedcolor>green</selectedcolor> <align>left</align> <info>ListItem.Label</info>

</control> <control type="label"> <posx>475</posx> <posy>3</posy> <width>300</width> <height>22</height> <font>font13</font> <aligny>center</aligny> <selectedcolor>green</selectedcolor> <textcolor>grey</textcolor> <align>right</align> <info>ListItem.Label2</info> </control> </itemlayout> <focusedlayout height="29" width="250"> <control type="image"> <width>485</width> <height>29</height> <posx>0</posx> <posy>0</posy> <visible>Control.HasFocus(50)</visible> <texture>list-focus.png</texture> </control> <control type="image"> <posx>5</posx> <posy>3</posy> <width>22</width> <height>22</height> <info>ListItem.Icon</info> </control> <control type="label"> <posx>30</posx> <posy>3</posy> <width>430</width> <height>22</height> <font>font13</font> <aligny>center</aligny> <selectedcolor>green</selectedcolor> <align>left</align> <info>ListItem.Label</info> </control> <control type="label"> <posx>475</posx> <posy>3</posy> <width>300</width> <height>22</height> <font>font13</font> <aligny>center</aligny> <selectedcolor>green</selectedcolor> <textcolor>grey</textcolor> <align>right</align> <info>ListItem.Label2</info> </control> </focusedlayout> </control>

7.25.2 Available Tags


In addition to the Default Control Tags the following tags are available. Note that each tag is lower case only. This is important, as xml tags are case-sensitive.

viewtype

The type of view. Choices are list, icon, wide, wrap, biglist, bigicon, bigwide, bigwrap, info and biginfo. The label attribute indicates the label that will be used in the "View As" control within the GUI. It is localizable via strings.xml.

orientation

The orientation of the list. Defaults to vertical.

pagecontrol

Used to set the <id> of the page control used to control this list.

scrolltime

The time (in ms) to scroll from one item to another. By default, this is 200ms. The list will scroll smoothly from one item to another as needed. Set it to zero to disable the smooth scrolling. The scroll movement can be further adjusted by selecting one of the available tween methods.

itemlayout

Specifies the layout of items in the list. Requires the height attribute set in a vertical list, and the width attribute set for a horizontal list. The <itemlayout> then contains as many label and image controls as required. See here for more information.

Specifies the layout of items in the list that have focus. Requires the height attribute set in a vertical list, and the width attribute set for a horizontal list. The focusedlayout <focusedlayout> then contains as many label and image controls as required. See here for more information.

content

Used to set the item content that this list will contain. Allows the skinner to setup a list anywhere they want with a static set of content, as a useful alternative to the grouplist control. See here for more information

preloaditems

Used in association with the background image loader. See here for more information

7.26 See also

Development:

Add-on development Skinning

7.27 Wraplist Container


The wrap list container is one of several containers used to display items from file lists in various ways. The wrap list container is the same as the List Container, with two exceptions: 1. The focused item is fixed. 2. The items "wrap" around once they reach the end. As with all container controls, the layout of the items within the control is very flexible.

7.27.1 Example
<control type="wraplist" id="50"> <description>My first wraplist container</description> <posx>80</posx> <posy>60</posy> <width>250</width> <height>200</height> <visible>true</visible> <onup>2</onup> <ondown>3</ondown> <onleft>1</onleft> <onright>1</onright> <viewtype label="3D list">list</viewtype> <orientation>vertical</orientation> <pagecontrol>25</pagecontrol> <focusposition>3</focusposition> <scrolltime tween="sine" easing="out">200</scrolltime> <itemlayout width="250" height="29"> <control type="image"> <posx>5</posx> <posy>3</posy> <width>22</width> <height>22</height> <info>ListItem.Icon</info> </control> <control type="label"> <posx>30</posx> <posy>3</posy> <width>430</width> <height>22</height> <font>font13</font> <aligny>center</aligny> <selectedcolor>green</selectedcolor> <align>left</align> <info>ListItem.Label</info> </control>

<control type="label"> <posx>475</posx> <posy>3</posy> <width>300</width> <height>22</height> <font>font13</font> <aligny>center</aligny> <selectedcolor>green</selectedcolor> <textcolor>grey</textcolor> <align>right</align> <info>ListItem.Label2</info> </control> </itemlayout> <focusedlayout height="29" width="250"> <control type="image"> <width>485</width> <height>29</height> <posx>0</posx> <posy>0</posy> <visible>Control.HasFocus(50)</visible> <texture>list-focus.png</texture> </control> <control type="image"> <posx>5</posx> <posy>3</posy> <width>22</width> <height>22</height> <info>ListItem.Icon</info> </control> <control type="label"> <posx>30</posx> <posy>3</posy> <width>430</width> <height>22</height> <font>font13</font> <aligny>center</aligny> <selectedcolor>green</selectedcolor> <align>left</align> <info>ListItem.Label</info> </control> <control type="label"> <posx>475</posx> <posy>3</posy> <width>300</width> <height>22</height> <font>font13</font> <aligny>center</aligny> <selectedcolor>green</selectedcolor> <textcolor>grey</textcolor> <align>right</align> <info>ListItem.Label2</info> </control> </focusedlayout> </control>

7.27.2 Available Tags

In addition to the Default Control Tags the following tags are available. Note that each tag is lower case only. This is important, as xml tags are case-sensitive.

viewtype

The type of view. Choices are list, icon, wide, wrap, biglist, bigicon, bigwide, bigwrap, info and biginfo. The label attribute indicates the label that will be used in the "View As" control within the GUI. It is localizable via strings.xml.

orientation

The orientation of the list. Defaults to vertical.

pagecontrol

Used to set the <id> of the page control used to control this list.

scrolltime

The time (in ms) to scroll from one item to another. By default, this is 200ms. The list will scroll smoothly from one item to another as needed. Set it to zero to disable the smooth scrolling. The scroll movement can be further adjusted by selecting one of the available tween methods.

Specifies the index (from 0 -> number items displayable - 1) of the focused item. focusposition The focused item doesn't move - as the user moves up and down (or left and right) the items scroll instead.

itemlayout

Specifies the layout of items in the list. Requires the height attribute set in a vertical list, and the width attribute set for a horizontal list. The <itemlayout> then contains as many label and image controls as required. See here for more information.

Specifies the layout of items in the list that have focus. Requires the height attribute set in a vertical list, and the width attribute set for a horizontal list. The focusedlayout <focusedlayout> then contains as many label and image controls as required. See here for more information.

content

Used to set the item content that this list will contain. Allows the skinner to setup a list anywhere they want with a static set of content, as a useful alternative to the grouplist control. See here for more information

7.28 See also

Development:

Add-on development Skinning

7.29 FixedList Container


The fixed list container is one of several containers used to display items from file lists in various ways. The fixed list container is the same as the List Container, with one exception: the focused item is fixed. Thus, moving up or down scrolls the items, not the focused position. As with all container controls, the layout of the items within the control is very flexible.
<control type="fixedlist" id="50"> <description>My first fixed list container</description> <posx>80</posx> <posy>60</posy> <width>250</width> <height>200</height> <visible>true</visible> <onup>2</onup> <ondown>3</ondown> <onleft>1</onleft> <onright>1</onright> <viewtype label="3D list">list</viewtype> <orientation>vertical</orientation> <pagecontrol>25</pagecontrol> <scrolltime tween="sine" easing="out">200</scrolltime> <focusposition>4</focusposition> <itemlayout width="250" height="29"> <control type="image"> <posx>5</posx> <posy>3</posy> <width>22</width> <height>22</height> <info>ListItem.Icon</info> </control> <control type="label"> <posx>30</posx> <posy>3</posy> <width>430</width> <height>22</height> <font>font13</font> <aligny>center</aligny> <selectedcolor>green</selectedcolor> <align>left</align> <info>ListItem.Label</info> </control> <control type="label"> <posx>475</posx> <posy>3</posy> <width>300</width> <height>22</height> <font>font13</font>

<aligny>center</aligny> <selectedcolor>green</selectedcolor> <textcolor>grey</textcolor> <align>right</align> <info>ListItem.Label2</info> </control> </itemlayout> <focusedlayout height="29" width="250"> <control type="image"> <width>485</width> <height>29</height> <posx>0</posx> <posy>0</posy> <visible>Control.HasFocus(50)</visible> <texture>list-focus.png</texture> </control> <control type="image"> <posx>5</posx> <posy>3</posy> <width>22</width> <height>22</height> <info>ListItem.Icon</info> </control> <control type="label"> <posx>30</posx> <posy>3</posy> <width>430</width> <height>22</height> <font>font13</font> <aligny>center</aligny> <selectedcolor>green</selectedcolor> <align>left</align> <info>ListItem.Label</info> </control> <control type="label"> <posx>475</posx> <posy>3</posy> <width>300</width> <height>22</height> <font>font13</font> <aligny>center</aligny> <selectedcolor>green</selectedcolor> <textcolor>grey</textcolor> <align>right</align> <info>ListItem.Label2</info> </control> </focusedlayout> </control>

7.29.1 Available Tags


In addition to the Default Control Tags the following tags are available. Note that each tag is lower case only. This is important, as xml tags are case-sensitive.

viewtype

The type of view. Choices are list, icon, wide, wrap, biglist, bigicon, bigwide, bigwrap, info and biginfo. The label attribute indicates the label that will be used in the "View As" control within the GUI. It is localizable via strings.xml.

orientation

The orientation of the list. Defaults to vertical.

pagecontrol

Used to set the <id> of the page control used to control this list.

scrolltime

The time (in ms) to scroll from one item to another. By default, this is 200ms. The list will scroll smoothly from one item to another as needed. Set it to zero to disable the smooth scrolling. The scroll movement can be further adjusted by selecting one of the available tween methods.

Specifies the focus position (from 0 -> number of displayable items - 1). The focusposition focused position doesn't change - instead, the items move up or down (or left and right) as focus changes.

itemlayout

Specifies the layout of items in the list. Requires the height attribute set in a vertical list, and the width attribute set for a horizontal list. The <itemlayout> then contains as many label and image controls as required. See here for more information.

Specifies the layout of items in the list that have focus. Requires the height attribute set in a vertical list, and the width attribute set for a horizontal list. The focusedlayout <focusedlayout> then contains as many label and image controls as required. See here for more information.

content

Used to set the item content that this list will contain. Allows the skinner to setup a list anywhere they want with a static set of content, as a useful alternative to the grouplist control. See here for more information

preloaditems

Used in association with the background image loader. See here for more information

7.30 See also

Development:

Add-on development Skinning

7.31 Panel Container


The panel container is one of several containers used to display items from file lists in various ways. The panel container is very flexible - it's essentially a multi-column list. The layout of the items is very flexible and is up to the skinner.

7.31.1 Example
<control type="panel" id="52"> <posx>190</posx> <posy>100</posy> <width>485</width> <height>425</height> <onleft>9000</onleft> <onright>60</onright> <onup>52</onup> <ondown>52</ondown> <scrolltime tween="sine" easing="out">200</scrolltime> <viewtype label="536">icon</viewtype> <pagecontrol>60</pagecontrol> <include>contentpanelslide</include> <itemlayout height="141" width="120"> <control type="image"> <posx>10</posx> <posy>10</posy> <width>100</width> <height>100</height> <info>ListItem.Icon</info> </control> <control type="image"> <posx>80</posx> <posy>75</posy> <width>32</width> <height>32</height> <info>ListItem.Overlay</info> </control> <control type="label"> <posx>60</posx> <posy>115</posy> <width>110</width> <height>22</height> <font>font13</font> <selectedcolor>green</selectedcolor> <align>center</align> <info>ListItem.Label</info> </control> </itemlayout> <focusedlayout height="141" width="120">

<control type="image"> <width>110</width> <height>110</height> <posx>5</posx> <posy>5</posy> <texture>folder-focus.png</texture> <animation effect="zoom" end="0,0,120,120" time="100">focus</animation> </control> <control type="image"> <posx>10</posx> <posy>10</posy> <width>100</width> <height>100</height> <info>ListItem.Icon</info> <animation effect="zoom" end="5,5,110,110" time="100">focus</animation> </control> <control type="image"> <posx>80</posx> <posy>75</posy> <width>32</width> <height>32</height> <info>ListItem.Overlay</info> <animation effect="slide" end="5,5" time="100">focus</animation> </control> <control type="label"> <posx>60</posx> <posy>120</posy> <width>110</width> <height>22</height> <font>font13</font> <selectedcolor>green</selectedcolor> <align>center</align> <info>ListItem.Label</info> </control> </focusedlayout> </control>

7.31.2 Available Tags


In addition to the Default Control Tags the following tags are available. Note that each tag is lower case only. This is important, as xml tags are case-sensitive.

viewtype

The type of view. Choices are list, icon, wide, wrap, biglist, bigicon, bigwide, bigwrap, info and biginfo. The label attribute indicates the label that will be used in the "View As" control within the GUI. It is localizable via strings.xml.

orientation

The orientation of the panel. Defaults to vertical.

pagecontrol

Used to set the <id> of the page control used to control this panel.

scrolltime

The time (in ms) to scroll from one item to another. By default, this is 200ms. The panel will scroll smoothly from one item to another as needed. Set it to zero to disable the smooth scrolling. The scroll movement can be further adjusted by selecting one of the available tween methods.

itemlayout

Specifies the layout of items in the list. Requires both width and height attributes set. The <itemlayout> then contains as many label and image controls as required. See here for more information.

Specifies the layout of items in the list that have focus. Requires both width and focusedlayout height attributes set. The <focusedlayout> then contains as many label and image controls as required. See here for more information.

content

Used to set the item content that this panel will contain. Allows the skinner to setup a panel anywhere they want with a static set of content, as a useful alternative to the grouplist control. See here for more information

preloaditems

Used in association with the background image loader. See here for more information

7.32 See also


Development:

Add-on development Skinning

7.33 Progress Control


The progress control is used to show the progress of an item that may take a long time, or to show how far through a movie you are. You can choose the position, size, and look of the progress control.

7.33.1 Example
<control type="progress" id="12">

<description>My first progress control</description> <posx>80</posx> <posy>60</posy> <width>250</width> <height>30</height> <visible>true</visible> <reveal>false</reveal> <texturebg>mybackgroundtexture.png</texturebg> <lefttexture>mydowntexture.png</lefttexture> <midtexture>mymidtexture.png</midtexture> <righttexture>myrighttexture.png</righttexture> <overlaytexture>myoverlaytexture.png</overlaytexture> <info></info> </control>

7.33.2 Available Tags


In addition to the Default Control Tags the following tags are available. Note that each tag is lower case only. This is important, as xml tags are case-sensitive.

reveal

If set to true the midtexture will reveal itself instead of stretching to file the gap (works best when its the same size as texturebg) Specifies the image file which should be displayed in the background of the progress control. See here for additional information about textures. Specifies the image file which should be displayed for the left side of the progress bar. This is rendered on the left side of the bar. Specifies the image file which should be displayed for the middle portion of the progress bar. This is the fill texture used to fill up the bar. It's positioned on the right of the <lefttexture> texture, and fills the gap between the <lefttexture> and <righttexture> textures, depending on how far progressed the item is. Specifies the image file which should be displayed for the right side of the progress bar. This is rendered on the right side of the bar.

texturebg lefttexture

midtexture

righttexture

Specifies the image file which should be displayed over the top of all other overlaytexture images in the progress bar. It is centered vertically and horizontally within the space taken up by the background image. info Specifies the information that the progress bar is reporting on. See here for more information.

7.34 See also


Development:

Add-on development

Skinning

7.35 Text Box


The text box is used for showing a large multipage piece of text in XBMC. You can choose the position, size, and look of the text.

7.35.1 Example
<control type="textbox" id="2"> <description>My first text box control</description> <posx>80</posx> <posy>60</posy> <width>250</width> <height>200</height> <visible>true</visible> <colordiffuse>FFFFFFFF</colordiffuse> <font>font13</font> <textcolor>FFFFFFFF</textcolor> <pulseonselect></pulseonselect> <pagecontrol>13</pagecontrol> <autoscroll delay="3000" time="1000" repeat="10000">!Control.HasFocus(13)</autoscroll> <label>Text to display goes here [CR] next line...</label> </control>

7.35.2 Available Tags


In addition to the Default Control Tags the following tags are available. Note that each tag is lower case only. This is important, as xml tags are case-sensitive.

font

Font used for the items first label. From fonts.xml.

textcolor

Color used for displaying the text. In AARRGGBB hex format, or a name from the colour theme.

shadowcolor

Specifies the color of the drop shadow on the text. In AARRGGBB format, or a name from the colour theme.

pagecontrol

Specifies the <id> of the page control used to control this textbox. The page control can either be a Spin Control or a Scroll Bar Control.

autoscroll

Specifies the timing and conditions of any autoscrolling this textbox should have. Times are in milliseconds. The content is delayed for the given delay, then scrolls at a rate of one line per time interval until the end. If the repeat tag is present, it then delays for the repeat time, fades out over 1 second, and repeats. It does not wrap or reset to the top at the end of the scroll. You can use any bool condition to specify when autoscrolling should be allowed.

7.36 See also


Development:

Add-on development Skinning

7.37 RSS feed Control


General topics Basic controls XBMC Skinning Manual

XBMC can display an RSS feed on the home screen of the default skin/interface (Confluence), as well as any other skin that supports RSS feeds. By default, the RSS news feed is taken from http://xbmc.org, but the feed can be changed to almost any RSS feed. Note: Don't confuse the RSS ticker with RSS media source, which allows access to video and/or audio RSS streams.

7.38 RSS ticker settings


The RSS ticker can be toggled on or off by going to Settings -> Appearance -> Skin -> Show RSS news feed Below this setting one can also change the RSS news feed address.

7.39 Technical documentation for skinners


Main page: Skin development

7.39.1 RSS control


The rss control is used for displaying scrolling RSS feeds from the internet in XBMC. You can choose the font, size, colour, location and the RSS feed to be displayed.

Example <control type="rss" id="1"> <description>My First RSS control</description> <posx>80</posx> <posy>60</posy> <width>500</width> <visible>true</visible> <font>font14</font> <textcolor>FFB2D4F5</textcolor> <headlinecolor>FFFFFFFF</headlinecolor> <titlecolor>FF655656</titlecolor> </control>

7.39.2 Available Tags and attributes


In addition to the default control tags, the following tags are available. Note that each tag is lower case only. This is important, as xml tags are case-sensitive.

id

This refers to the feedset to be displayed. This is the id reference to the <set> section in RssFeeds.xml (see below):

font

Specifies the font to use from the font.xml file.

textcolor

Specified the color the text should be. In hex AARRGGBB format, or a name from the colour theme.

shadowcolor

Specifies the color of the drop shadow on the text. In AARRGGBB format, or a name from the colour theme.

headlinecolor

Specified the color that any highlighted text should be. In hex AARRGGBB format, or a name from the colour theme.

titlecolor

Specified the color the titles of the feeds should be. In hex AARRGGBB format, or a name from the colour theme.

scrollspeed

Scroll speed of text in pixels per second.

7.39.3 RssFeeds.xml
Main page: RssFeeds.xml The actual content of the RSS feed is defined in the RssFeeds.xml file stored in the user's profile. Here is an example : <rssfeeds> <set id="1"> <feed updateinterval="30">http://feeds.feedburner.com/XboxScene</feed> <feed updateinterval="30">http://feeds.wired.com/wired/topheadlines</feed> </set> <set id="2"> <feed updateinterval="30">http://www.cnet.co.uk/feeds/public/rss_news_10.htm</feed> </set> </rssfeeds> As can be seen, each feedset has an id attribute this is what we are referencing in the <id> attribute of the control. There can be more than one <set> defined, and more than one <feed> per set. The <feed>'s must be escaped so that they're xml-safe (ie replace & with & etc.). Each feed in the set runs through in the order they are defined.

7.40 See also

RssFeeds.xml

Development:

Add-on development Skinning

7.41 Visualisation Control


The visualisation control is used for displaying those funky patterns that jump to the music in XBMC. You can choose the position, and size of the visualisation displayed. Note that the control is only rendered if music is being played.

7.41.1 Example
<control type="visualisation" id ="3"> <description>My first visualisation control</description> <posx>80</posx> <posy>60</posy> <width>250</width> <height>200</height> <visible>true</visible>

</control>

7.41.2 Available Tags


Only the default control tags are applicable to this control.

7.42 See also


Development:

Add-on development Skinning

7.43 Video Control


The video control is used for displaying the currently playing video elsewhere in the XBMC GUI. You can choose the position, and size of the video displayed. Note that the control is only rendered if video is being played.

7.43.1 Example
<control type="videowindow" id="2"> <description>My first video control</description> <posx>80</posx> <posy>60</posy> <width>250</width> <height>200</height> <visible>true</visible> </control>

7.43.2 Available Tags


Only the default control tags are applicable to this control.

7.44 See also


Development:

Add-on development Skinning

7.45 Mover Control


The mover control is used for the screen calibration portions of XBMC. You can choose the size and look of the mover control.

7.45.1 Example
<control type="mover" id="3"> <description>My first mover control</description> <posx>80</posx> <posy>60</posy> <width>250</width> <height>200</height> <texturefocus>mytexture.png</texturefocus> <texturenofocus>mytexture.png</texturenofocus> <pulseonselect>true</pulseonselect> </control>

7.45.2 Available Tags


In addition to the default control tags, the following tags are available. Note that each tag is lower case only. This is important, as xml tags are case-sensitive. Specifies the image file which should be displayed when the mover has focus. See here for additional information about textures. Specifies the image file which should be displayed when the mover does not have focus.

texturefocus texturenofocus

7.46 See also


Development:

Add-on development Skinning

7.47 Resize Control


The resize control is used to specify an area of changeable ratio for use in the screen calibration portion of XBMC. You can choose the size, and look of the resizer.

7.47.1 Example
<control type="resize" id="3"> <description>My first resize control</description> <posx>80</posx> <posy>60</posy> <width>250</width> <height>200</height> <texturefocus>mytexture.png</texturefocus> <texturenofocus>mytexture.png</texturenofocus> <pulseonselect>true</pulseonselect> </control>

7.47.2 Available Tags


In addition to the default control tags, the following tags are available. Note that each tag is lower case only. This is important, as xml tags are case-sensitive. Specifies the image file which should be displayed when the resizer has focus. See here for additional information about textures. Specifies the image file which should be displayed when the resizer does not have focus.

texturefocus texturenofocus

7.48 See also


Development:

Add-on development Skinning

7.49 Edit Control


The edit control allows a user to input text in XBMC. You can choose the font, size, colour, location and header of the text to be displayed.

7.49.1 Example
<control type="editcontrol" id="1"> <description>My First edit control</description> <posx>80</posx> <posy>60</posy> <width>250</width> <visible>true</visible> <aligny>center</aligny> <label>Search</label> <hinttext>Enter search string</hinttext> <font>font14</font> <textcolor>FFB2D4F5</textcolor> </control>

7.49.2 Available Tags


In addition to the Default Control Tags the following tags are available. Note that each tag is lower case only. This is important, as xml tags are case-sensitive.

aligny

Can be top or center. Aligns the text within its given control <height>. Defaults to top

label

Specifies the header text which should be shown. You should specify an entry from the strings.xml here (either the XBMC strings.xml or your skin's strings.xml file), however you may also hardcode a piece of text also if you wish, though of course it will not be localized. You can use the full label formatting syntax and you may also specify more than one piece of information here by using the $INFO and $LOCALIZE formats.strings.xml)

Specifies the text which should be displayed in the edit label control, until the user hinttext enters some text. It can be used to provide a clue as to what a user should enter in this control. font textcolor Specifies the font to use from the font.xml file. Specifies the color the text should be, in hex AARRGGBB format, or a name from the colour theme.

7.50 See also


Development:

Add-on development Skinning

7.51 EPGGrid Control


The epggrid control is used for creating an epg timeline in XBMC. You can choose the position, size, and look of the grid and it's contents.

7.51.1 Example
<control type="epggrid" id="10"> <description>EPG Grid</description> <posx>80</posx> <posy>81</posy> <width>1120</width> <height>555</height> <pagecontrol>10</pagecontrol> <scrolltime>350</scrolltime> <timeblocks>40</timeblocks> <rulerunit>6</rulerunit> <progresstexture border="5">PVREpgProgressIndicator.png</progresstexture> <onleft>31</onleft> <onright>31</onright> <onup>10</onup> <ondown>10</ondown> <rulerlayout height="35" width="40"> <control type="image" id="1"> <width>40</width> <height>29</height>

<posx>0</posx> <posy>0</posy> <texture border="5">button-nofocus.png</texture> </control> <control type="label" id="2"> <posx>10</posx> <posy>0</posy> <width>34</width> <height>29</height> <font>font12</font> <aligny>center</aligny> <selectedcolor>selected</selectedcolor> <align>left</align> <label>$INFO[ListItem.Label]</label> </control> </rulerlayout> <channellayout height="52" width="280"> <animation effect="fade" start="110" time="200">UnFocus</animation> <control type="image" id="1"> <posx>0</posx> <posy>0</posy> <width>270</width> <height>52</height> <texture border="5">button-nofocus.png</texture> </control> <control type="label"> <posx>5</posx> <posy>5</posy> <width>40</width> <height>35</height> <font>font12</font> <align>left</align> <aligny>center</aligny> <textcolor>grey</textcolor> <selectedcolor>grey</selectedcolor> <info>ListItem.ChannelNumber</info> </control> <control type="image"> <posx>45</posx> <posy>4</posy> <width>45</width> <height>44</height> <texture>$INFO[ListItem.Icon]</texture> </control> <control type="label" id="1"> <posx>94</posx> <posy>0</posy> <width>160</width> <height>52</height> <font>special12</font> <aligny>center</aligny> <selectedcolor>selected</selectedcolor> <align>left</align> <label>$INFO[ListItem.ChannelName]</label> </control> </channellayout> <focusedchannellayout height="52" width="280">

<animation effect="fade" start="110" time="200">OnFocus</animation> <control type="image" id="1"> <posx>0</posx> <posy>0</posy> <width>270</width> <height>52</height> <texture border="5">button-focus.png</texture> </control> <control type="label"> <posx>5</posx> <posy>5</posy> <width>40</width> <height>35</height> <font>font12</font> <align>left</align> <aligny>center</aligny> <textcolor>grey</textcolor> <selectedcolor>grey</selectedcolor> <info>ListItem.ChannelNumber</info> </control> <control type="image"> <posx>45</posx> <posy>4</posy> <width>45</width> <height>44</height> <texture>$INFO[ListItem.Icon]</texture> </control> <control type="label" id="1"> <posx>94</posx> <posy>0</posy> <width>160</width> <height>52</height> <font>special12</font> <aligny>center</aligny> <selectedcolor>selected</selectedcolor> <align>left</align> <label>$INFO[ListItem.ChannelName]</label> </control> </focusedchannellayout> <itemlayout height="52" width="40"> <control type="image" id="2"> <width>40</width> <height>52</height> <posx>0</posx> <posy>0</posy> <aspectratio>stretch</aspectratio> <texture border="3">epggenres/$INFO[ListItem.Property(GenreType)].png</texture> </control> <control type="label" id="1"> <posx>6</posx> <posy>3</posy> <width>30</width> <height>25</height> <font>font12</font> <aligny>center</aligny> <selectedcolor>selected</selectedcolor>

<align>left</align> <info>ListItem.Label</info> </control> <control type="image"> <posx>5</posx> <posy>28</posy> <width>30</width> <height>20</height> <texture>PVR-IsRecording.png</texture> <visible>ListItem.IsRecording</visible> </control> <control type="image"> <posx>5</posx> <posy>28</posy> <width>20</width> <height>20</height> <texture>PVR-HasTimer.png</texture> <visible>ListItem.HasTimer + !ListItem.IsRecording</visible> </control> </itemlayout> <focusedlayout height="52" width="40"> <control type="image" id="14"> <width>40</width> <height>52</height> <posx>0</posx> <posy>0</posy> <texture border="5">folder-focus.png</texture> </control> <control type="image" id="2"> <width>40</width> <height>52</height> <posx>0</posx> <posy>0</posy> <aspectratio>stretch</aspectratio> <texture border="3">epggenres/$INFO[ListItem.Property(GenreType)].png</texture> </control> <control type="label" id="1"> <posx>6</posx> <posy>3</posy> <width>30</width> <height>25</height> <font>font12</font> <aligny>center</aligny> <selectedcolor>selected</selectedcolor> <align>left</align> <info>ListItem.Label</info> </control> <control type="image"> <posx>5</posx> <posy>28</posy> <width>30</width> <height>20</height> <texture>PVR-IsRecording.png</texture> <visible>ListItem.IsRecording</visible> </control> <control type="image">

<posx>5</posx> <posy>28</posy> <width>20</width> <height>20</height> <texture>PVR-HasTimer.png</texture> <visible>ListItem.HasTimer + !ListItem.IsRecording</visible> </control> </focusedlayout> </control>

7.51.2 Available Tags


In addition to the Default Control Tags the following tags are available. Note that each tag is lower case only. This is important, as xml tags are case-sensitive.

timeblocks

The number of timeframes on the top row.

rulerunit

Timeframe of each unit on the top row. 1 unit equals 5 minutes.

rulerlayout

The layout of the top row.

progresstexture

A texture which indicates the current progress time

channellayout

The layout of the left column.

focusedchannellayout The focused layout of the left column.

itemlayout

The layout of the grid

focusedlayout

The focused layout of the grid

7.52 See also


Development:

Add-on development Skinning

7.53 Console Control


used to display the last few items added to the video database.

7.54 Checkmark Control


Used on the Kai Host Dialog. Similar to Radio Button but does not have the button texture, and the checkmark is on the left

7.55 Extended List Control


used in the XLink Kai window.

8 Conditional_Visibility
XBMC's skinning engine versatility is based upon the fact that the skinner can display and hide portions of the skin using a variety of conditional statements that can be combined to create very user friendly UI implementations. For further information of available variable and how they can be applied. All controls can now benefit from conditional visibility support. This means that, instead of specifying just yes or no for the <visible> tag, you can now provide one of the many preset boolean conditions. Not only that, you can also specify how XBMC should transistion between a visible state and a hidden state. For example, the Project Mayhem 3 skin has <visible>!Player.HasMedia</visible> tags on all the background images on the home page. The reason is that we don't want the images being displayed while a media file (audio or video) is playing or paused, as the video or visualisation will cover the images anyway, so they only take up memory unnecessarily. They also slow down navigation, as the need to be loaded/unloaded depending on whether they are visible (ie whether or not the user has a particular button focused).

8.1 How They Work


The condition given in the <visible> tag is evaluated at during the control's Render() function. XBMC decides whether or not the condition is true, and updates the control's visibility accordingly. Thus, it all happens without XBMC having to do the extra chores of maintaining which controls need to be shown at which points in time. The controls automatically update themselves.

8.2 Conditional Visibility for Dialogs


Dialogs can also be made to popup automatically based on a visibility condition. This is done by supplying the <visible> tag at the top of the window file (where the <id>, <type> and <coordinate> tags are). XBMC once again evaluates this visibility at render time, and if needbe,

will create and show the dialog at the appropriate time. It'll also close them once that visibility has vanished. This only works with dialogs. For custom windows, you can specify the type of window you require by specifying it using the <type> tag. For more information see the window .xml structure page.

8.3 List of Boolean Conditions 8.4 Combining Conditions


You can combine two (or more) of the above settings by using "+" as an AND operator, "|" as an OR operator, !" as a NOT operator, and "[" and "]" to bracket expressions. For example, <visible>Player.HasVideo + Player.Rewinding8x</visible> will only show the control when the player is rewinding a video at 8x, whereas <visible>Player.HasVideo | Player.IsRecording</visible> will show the control if a video is playing, or if we are recording something. The AND operator takes precedence over the OR operator when evaluating the logic, and operators are read from left to right. So if you want to show something when condition1 OR condition2 is true AND condition3 is true, you can do: <visible>[condition1 | condition2] + condition3</visible> Note that if you missed the brackets, then it would actually be reading if condition1 or (condition2 and condition3)" due to AND taking precedence over OR. Some pointers on boolean logic: The following holds true: A + (B | C) = A + B| A + C A | (B + C) = (A | B) + (A | C) !(A + B) =! A |! B !(A | B) =! A +! B A common mistake is to do something like this: ! A |! B |! C This is false only if A, B and C are all simultaneously true (as it's the same as !(A + B + C)), and you may have possibly been after ! A +! B +! C which is false if A is true, or B is true, or C is true.

One thing you will notice, is that when a control is hidden, it can't be focused. This means you can't move to a control and have it automatically become visible (eg even if it had Control.HasFocus(myID) it wouldn't come back on, as XBMC wouldn't allow navigation to the hidden control). To solve this issue, you can use:
<visible allowhiddenfocus="true">Control.HasFocus(21)</visible>

on a control of <id> 21. This will allow the control to be focusable even when it's hidden. When the user moves to the hidden control, it will automatically unhide itself, due to the Control.HasFocus(21) visibility condition.

8.5 Specifying the Transition Animation


You can also specify how XBMC renders the transistion between the hidden and visible states (as well as between other states). See here for how to add animations to your skin.

8.6 See also


Development:

Add-on development Skinning

9 Animating Your Skin


The XBMC skinning engine supports animations of any control allowing them to rotate, slide, fade or any combination there-of. Combining animations with conditional statements ensure your skin will have stunning effects that appear as professional as a 1st party product. Development Add-on development Skinning XBMC Skinning Manual

The XBMC skin engine has support for animations between control and window states. The animations are defined through use of the <animation> tag, which has a defined type and various attributes that specify the animation to be performed. All animations are additive if two of them are in effect at the same time, their effects are added together. You may also have more than one animation of each type.

9.1 Window Animations


There are two valid window animation the animation to perform when the window is opened, and the animation to perform when the window is closed. They take the same format as the control animations. You can, however, have more than one animation performed for the windowopen or windowclose animation.

9.2 Control Animations


There are 6 valid control animations: WindowOpen, WindowClose, Visible, Hidden, Focus, and Unfocus. There is also a combination animation VisibleChange that constructs the Visible animation, then reverses it for the Hidden animation.

9.3 Format of Animation Tags


The animation tag is formatted as follows for a single animation:
<animation effect="EFFECT" attributes>TYPE</animation>

and as follows for multiple animations:


<animation type="TYPE" condition="Window.IsActive(Home)" reversible="false"> <effect type="EFFECT" other_attributes /> ... <effect type="EFFECT" other_attributes /> </animation>

9.3.1 Types
The type can be one of the following: WindowOpen Performed once only when the window is opened. WindowClose Performed once only when the window is closed. No animation is performed when switching to fullscreen video, however. Visible Performed when the control becomes visible via its <visible> tag. Hidden Performed when the control becomes hidden via its <visible> tag. Focus Performed when the control gains focus. Unfocus Performed when the control loses focus. Conditional Performed when the control's condition attribute is filled. VisibleChange The same as the Visible type, except the reverse animation is auto-created for the Hidden type. Just saves having to have both animations if the animation is the same in both directions (ie just reversed)

9.3.2 Attributes

The attributes available are as follows. Note that all attributes, like tags, are case sensitive effect Specifies the effect to use. Currently fade, slide, rotate, "rotatex", "rotatey", and zoom are supported. rotatex - rotates a control around the X-Axis (horizontal) rotatey - rotates a control around the Y-Axis (vertical) rotate - rotates a control around the Z-Axis time Specifies the length of time that the animation will run, in milliseconds. delay The time to delay the transistion before starting it, in milliseconds. start The start state of the control for this transistion.

For fades, this is the opaqueness as a percentage (ie start="100" is fully opaque, start="0" is fully transparent. For slides, this is the relative coordinate offset to start the control at (ie start="50,60" will start the control off at 50 pixels to the right, and 60 pixels below it's normal viewing position. For rotates, this is the starting degree offset from the horizontal. (ie start="30" will start the control off on an angle of 30 degrees from the horizontal). For zooms, this is the starting size as a percentage. (ie start="50,60" will start the control at 50% of it's horizontal size and 60% of it's vertical size).

Note: With zooms you can also specify the coordinates and dimensions of the texture. (ie start="posx,posy,width,height"). end The end state of the control for this transistion. Similar to the start state, except that the end state is always kept after the animation is finished, and until the control changes its state. acceleration Amount to accelerate or decelerate during a slide, zoom or rotate transistion. For deceleration, use a negative value. A value of -1 will cause the control to come to rest at its end coordinates. Defaults to 0. (Also see the tween attribute) center Center of the rotation or zoom to perform with a rotate or zoom transistion. This is the coordinates about which the rotation or zoom will take place. eg center="30,50 will mean that all points will revolve around (or zoom from) the (30,50) pixel location. You can set center="auto" to have XBMC automatically zoom from the center of the control. Center shifts the rotational axis at the level, rotatex - center="y,z" coordinates, rotatey center="x,z" coordinates, rotate - center="x,y" coordinates condition

The conditions under which this animation should be performed. Defaults to being always performed. See here for a list of valid conditionals. reversible If false the animation is not reversed if it is interrupted when it is finished. For instance a Visible animation will normally be reversed (instead of running the Hidden animation) if the control becomes hidden before the visible animation has finished. Setting reversible="false prevents this behaviour (the Hidden animation will take its place). Defaults to true. loop If true will make your animation loop. (jump back to the start after it reaches the end) pulse If true will make your animation pulse. (Bounce back from start to end to start to end .........) tween Tween is like an advanced acceleration attribute that can be applied to all animations. Instead of a steady acceleration or deceleration, you can specify curves that the animation should follow. Currently, the engine supports elastic, bounce, circle, back, sine, cubic, quadratic and, the default, linear. More information about Tweeners easing Easing basically defines the direction of the tween and can be one of out, inout and in. The default value is out. More information about Easing

9.4 Examples
<visible>Player.HasAudio</visible> <animation effect="fade" time="400">VisibleChange</animation>

This causes XBMC to fade the control in 400 milliseconds between the visible and hidden states. The control will start off hidden, and will fade in over 400ms when you play audio, and when it's finished, it will fade out again over 400ms.

You can also specify different transistion times for transistioning in and out as follows:
<animation effect="fade" time="100">WindowOpen</animation> <animation effect="fade" time="1000">WindowClose</animation>

This, when used as the animation tag for the ~MusicOSD dialog, will cause it to fade in quickly (in 100ms) when activated and the fade out again slowly (in 1 second (1000ms)) when it's cancelled.

You can also specify that a control should always fade in when the window is opened by using

<animation effect="fade" time="200">WindowOpen</animation>

This specifies that it will always start hidden, but will fade in immediately (over a time of 200ms) when the window is opened.

There is also ability to add delays preceding the transistions. For instance
<animation effect="fade" time="200" delay="200">Hidden</animation>

would mean that the control will fade out after a delay of 200ms. This is useful for "crossfade" effects, where you want the new control to fade in while the old control is still on screen (and then fade the old one out once the new one is completely opaque).

There are also slide effects available.


<animation effect="slide" end="30,0" time="200">Focus</animation>

will slide the control 30 pixels to the right of its normal position when it becomes focused. Note that when it becomes unfocused it will jump back to it's normal position. A Unfocus animation will make it slide back gracefully.

There are also rotate effects available.


<animation effect="rotate" end="30" center="360,288" time="200">Focus</animation>

will rotate the control 30 degrees counter clockwise about the center of a PAL screen (360,288) when the control becomes focused.

And we also have zoom effects.


<animation effect="zoom" end="120" center="360,288" time="200">Focus</animation>

will zoom the control to 120% of its normal size when the control becomes focused, with the zoom centered at the center of a PAL screen (360,288). You can zoom each dimension by different amounts (effectively a stretch operation) as well. To stretch a control an extra 50% horizontally when focused, we can use

<animation effect="zoom" end="150,100" center="360,288" time="200">Focus</animation>

An example of a condition attribute is:


<animation effect="slide" start="-120,0" time="200" condition="Window.Previous(Home)">WindowOpen</animation>

This will cause the slide animation to only be performed if you are coming to this window from the Home window.

An example of a Conditional animation type is:


<animation effect="slide" start="-120,0" time="200" condition="Control.HasFocus(2)">Conditional</animation>

This will cause the slide animation to only be performed when the control with the id of 2 gains focus.

An example of a fade animation with a pulse:


<animation effect="fade" start="20" time="200" condition="Control.HasFocus(2)" pulse="true">Conditional</animation>

This will cause the control to start at 20% opacity and fade to full in 200 milliseconds and fade back to 20% opacity and keeping looping in that fashion

An example of two animations at once:


<animation type="WindowOpen"> <effect type="fade" start="0" end="100" time="200"/> <effect type="zoom" end="150,100" center="auto" time="200" delay="200"/> </animation>

This will cause the control to fade in over 200 ms, then zoom to 150% it's width from the center of the control.

9.5 See also


Development:

Add-on development Skinning

10 Fonts
XBMC allows you to customize which fonts are displayed onscreen in the User Interface. Development Skinning XBMC Skinning Manual

There's one special file called font.xml. This file contains a list of all fonts the skin uses. XBMC will load all the fonts mentioned in this file from the /myskin/fonts directory first, and if that fails, will attempt to load them from XBMC/media/fonts. In the event that XBMC is unable to locate the specified font, it will default to "font13". You can modify this file as you like and add/delete/change fonts. The user friendly font name is referenced by the other xml files mentioned below. See also: HOW-TO:Add a new true type font to the skin

10.1 Format of the Font.xml File


The font.xml file is divided into font sets, which includes a set of fonts used by the skin. Every font set must contain the same font names in order for the skin to work with all font sets.
<fontset id="Default" idloc="31390" unicode="false"> <font> .... </font> <font> .... </font> .... </fontset> <fontset id="Arial" idloc="31391" unicode="true"> <font> .... </font> .... </fontset>

A font set has the following attributes: id Name of the font set. Displayed to the user. Can have any value. idloc Refers to a string in the Skins' language file, so font names can be localized. unicode

Whether or not a font set supports unicode characters. Supported values are true or false There has to be at least one font set with the unicode attribute set to true else languages like Chinese or Korean will not display properly. There is a font called Arialuni.TTF with a size of 20MB. It is a unicode True Type Font and works with all languages xbmc supports.

Note: XBMC will automatically switch to the first available unicode font set if the user selects a language that needs one. This switch will not be made if the currently loaded font set already supports unicode.

10.2 Supported Font Types


10.2.1 True type Fonts
True type fonts must have a .ttf suffix. For a true type font it is possible to define the size (default 20) and a style normal, bold, italics, or bolditalics. Frodo also includes lowercase or uppercase. Note: Multiple styles can be used by separating them with a space. Example:
<font> <name>font12</name> <filename>arial.ttf</name> <size>12</size> <style>uppercase lowercase bold</style> <aspect>0.75</aspect> <linespacing>1.0</linespacing> </font>

The <aspect> tag specifies the aspect ratio of the font. An aspect of 0.75 means that the width of the font will be 0.75 of the height. By default the aspect is 1.0 for all but the SD 16x9 modes (PAL16x9, NTSC16x9 and 480p16x9) where the aspect ratio is 0.75, due to the stretched pixels. The <linespacing> tag defines height of each line (sometimes called leading or inteline spacing). By default linespacing is set to 1.0.

11 Apendix I: List of Windows


Development Add-on development XBMC Skinning Manual See also: Python development and Skinning

This table cross-references Window names, Window definitions, Window ID, and the delta Window ID's (this is the delta from the home window.) The code that performs the crossreference is found in ButtonTranslator.cpp.

keymap.xml uses the Window name. XBMC's C++ code uses the Window definitions and Window ID's. skin .xml files use the Delta Window ID's XBMC.ActivateWindow() can use either the Window name, the Window ID, or the delta Window ID. sounds.xml can use the window name or window ID

You can use secondary parameters with all media windows, as can be seen here:

Opening Windows and Dialogs

Example:

You want a button in your skin or on your remote taking you directly to the movie listing you let that button do

ActivateWindow(VideoLibrary,MovieTitles) (dharma) ActivateWindow(Videos,MovieTitles) (eden and up)

NAME

DEFINITION

DELT WIND A OW WIND SOURCE XML FILE ID OW ID 10000 10001 10002 10003 10004 0 1 2 3 4 Home.xml MyPrograms.xml MyPics.xml FileManager.xml Settings.xml None this is just a wrapper for the current My Music view (who's IDs are 501 and 502) None this is just a wrapper for the current My Video view (who's

home programs pictures filemanager settings

WINDOW_HOME WINDOW_PROGRAMS WINDOW_PICTURES WINDOW_FILES WINDOW_SETTINGS_MENU

music

WINDOW_MUSIC

10005

video

WINDOW_VIDEOS

10006

IDs are 21-25) systeminfo WINDOW_SYSTEM_INFORMA 10007 TION 7 11 12 13 14 15 16 17 18 18 19 20 24 SettingsSystemInfo.xml SettingsScreenCalibratio n.xml SettingsCategory.xml SettingsCategory.xml SettingsCategory.xml SettingsCategory.xml SettingsCategory.xml SettingsCategory.xml SettingsCategory.xml (eden) SettingsCategory.xml (frodo) SettingsCategory.xml MyScripts.xml MyVideo.xml (deprecated) MyVideoNav.xml Replaces the following .XML files: MyVideoGenre (WINDOW_VIDEO_G ENRE), MyVideoActors (WINDOW_VIDEO_A CTOR), MyVideoYear (WINDOW_VIDEO_Y EAR), MyVideoTitle (WINDOW_VIDEO_TI TLE) MyVideoPlaylist.xml

screencalibrati WINDOW_MOVIE_CALIBRATI 10011 on ON picturessetting WINDOW_SETTINGS_MYPICT s URES programssettin WINDOW_SETTINGS_MYPRO gs GRAMS 10012 10013

weathersetting WINDOW_SETTINGS_MYWEA 10014 s THER musicsettings WINDOW_SETTINGS_MYMUSI 10015 C

systemsettings WINDOW_SETTINGS_SYSTEM 10016 videossettings WINDOW_SETTINGS_MYVIDE 10017 OS 10018

networksetting WINDOW_SETTINGS_NETWO s RK

servicesettings WINDOW_SETTINGS_SERVICE 10018 appearancesett WINDOW_SETTINGS_APPEAR 10019 ings ANCE scripts videofiles WINDOW_SCRIPTS WINDOW_VIDEO_FILES 10020 10024

videolibrary

WINDOW_VIDEO_NAV

10025

25

videoplaylist

WINDOW_VIDEO_PLAYLIST

10028

28

loginscreen profiles addonbrowser yesnodialog

WINDOW_LOGINSCREEN

10029

29 34 40 100 101 103 104 106 107 109 111 112 113 114 115 120 122 123 124 125 126

LoginScreen.xml SettingsProfile.xml AddonBrowser.xml DialogYesNo.xml DialogProgress.xml DialogKeyboard.xml DialogVolumeBar.xml DialogContextMenu.xml DialogKaiToast.xml DialogNumeric.xml DialogButtonMenu.xml DialogMusicScan.xml (Frodo removal) DialogMuteBug.xml PlayerControls.xml DialogSeekBar.xml MusicOSD.xml VisualizationPresetList.x ml VideoOSDSettings.xml VideoOSDSettings.xml VideoOSDBookmarks.x ml FileBrowser.xml

WINDOW_SETTINGS_PROFILE 10034 S WINDOW_ADDON_BROWSER WINDOW_DIALOG_YES_NO 10040 10100

progressdialog WINDOW_DIALOG_PROGRESS 10101 virtualkeyboar WINDOW_DIALOG_KEYBOAR 10103 d D volumebar contextmenu infodialog numericinput shutdownmenu musicscan mutebug playercontrols seekbar musicosd WINDOW_DIALOG_VOLUME_ 10104 BAR WINDOW_DIALOG_CONTEXT _MENU 10106

WINDOW_DIALOG_KAI_TOAS 10107 T WINDOW_DIALOG_NUMERIC WINDOW_DIALOG_BUTTON_ MENU 10109 10111

WINDOW_DIALOG_MUSIC_SC 10112 AN WINDOW_DIALOG_MUTE_BU 10113 G WINDOW_DIALOG_PLAYER_C 10114 ONTROLS WINDOW_DIALOG_SEEK_BAR 10115 WINDOW_DIALOG_MUSIC_OS 10120 D 10122

visualisationpr WINDOW_DIALOG_VIS_PRES esetlist ET_LIST osdvideosettin gs osdaudiosettin gs videobookmar ks filebrowser

WINDOW_DIALOG_VIDEO_OS 10123 D_SETTINGS WINDOW_DIALOG_AUDIO_OS 10124 D_SETTINGS WINDOW_DIALOG_VIDEO_BO 10125 OKMARKS WINDOW_DIALOG_FILE_BRO 10126

WSER networksetup mediasource profilesettings locksettings contentsettings videoscan favourites WINDOW_DIALOG_NETWORK 10128 _SETUP WINDOW_DIALOG_MEDIA_SO 10129 URCE WINDOW_PROFILE_SETTINGS 10130 WINDOW_LOCK_SETTINGS WINDOW_DIALOG_CONTENT _SETTINGS 10131 10132 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 DialogNetworkSetup.xm l DialogMediaSource.xml ProfileSettings.xml LockSettings.xml DialogContentSettings.x ml DialogVideoScan.xml (Frodo removal) DialogFavourites.xml DialogSongInfo.xml SmartPlaylistEditor.xml SmartPlaylistRule.xml DialogBusy.xml DialogPictureInfo.xml DialogAddonSettings.x ml DialogAccessPoints.xml DialogFullScreenInfo.x ml DialogKaraokeSongSele ctor.xml DialogKaraokeSongSele ctorLarge.xml DialogSlider.xml DialogAddonInfo.xml

WINDOW_DIALOG_VIDEO_SC 10133 AN WINDOW_DIALOG_FAVOURIT 10134 ES

songinformatio WINDOW_DIALOG_SONG_INF 10135 n O smartplaylisted WINDOW_DIALOG_SMART_P itor LAYLIST_EDITOR smartplaylistru WINDOW_DIALOG_SMART_P le LAYLIST_RULE busydialog pictureinfo addonsettings accesspoints fullscreeninfo WINDOW_DIALOG_BUSY 10136 10137 10138

WINDOW_DIALOG_PICTURE_I 10139 NFO WINDOW_DIALOG_ADDON_S ETTINGS 10140

WINDOW_DIALOG_ACCESS_P 10141 OINTS WINDOW_DIALOG_FULLSCRE 10142 EN_INFO

karaokeselecto WINDOW_DIALOG_KARAOKE 10143 r _SONGSELECT karaokelargese WINDOW_DIALOG_KARAOKE 10144 lector _SELECTOR sliderdialog WINDOW_DIALOG_SLIDER 10145 10146

addoninformat WINDOW_DIALOG_ADDON_I ion NFO

textviewer peripherals peripheralsetti ngs extendedprogr essdialog mediafilter musicplaylist musicfiles musiclibrary musicplayliste ditor pvr pvrguideinfo

WINDOW_DIALOG_TEXT_VIE 10147 WER WINDOW_DIALOG_PERIPHER 10149 AL_MANAGER WINDOW_DIALOG_PERIPHER 10150 AL_SETTINGS WINDOW_DIALOG_EXT_PRO GRESS WINDOW_DIALOG_MEDIA_FI LTER WINDOW_MUSIC_PLAYLIST WINDOW_MUSIC_FILES WINDOW_MUSIC_NAV WINDOW_MUSIC_PLAYLIST_ EDITOR WINDOW_PVR 10151 10152 10500 10501 10502 10503 10601

147 149 150 151 152 500 501 502 503 601 602 603 604 605

DialogTextViewer.xml DialogPeripheralManage r.xml DialogPeripheralSettings .xml DialogExtendedProgress Bar.xml DialogMediaFilter.xml (Frodo addition) MyMusicPlaylist.xml MyMusicSongs.xml MyMusicNav.xml MyMusicPlaylistEditor. xml MyPVR.xml (Frodo addition) DialogPVRGuideInfo.x ml (Frodo addition) DialogPVRRecordingInf o.xml (Frodo addition) DialogPVRTimerSetting s.xml (Frodo addition) DialogPVRGroupManag er.xml (Frodo addition) DialogPVRChannelMan ager.xml (Frodo addition) DialogPVRGuideSearch. xml (Frodo addition) DialogPVRChannelsOS D.xml (Frodo addition) DialogPVRGuideOSD.x ml (Frodo addition) none

WINDOW_DIALOG_PVR_GUID 10602 E_INFO 10603

pvrrecordingin WINDOW_DIALOG_PVR_REC fo ORDING_INFO pvrtimersetting

WINDOW_DIALOG_PVR_TIME 10604 R_SETTING 10605

pvrgroupmana WINDOW_DIALOG_PVR_GRO ger UP_MANAGER pvrchannelma nager pvrguidesearch WINDOW_DIALOG_PVR_CHA NNEL_MANAGER

10606

606

WINDOW_DIALOG_PVR_GUID 10607 E_SEARCH

607 610 611 1000

pvrosdchannel WINDOW_DIALOG_PVR_OSD_ 10610 s CHANNELS pvrosdguide WINDOW_DIALOG_PVR_OSD_ 10611 GUIDE

virtualkeyboar WINDOW_VIRTUAL_KEYBOA 11000 d RD

selectdialog

WINDOW_DIALOG_SELECT

12000 12001 12002 12003

2000 2001 2002 2003 2005 2006 2007 2008 2009 2600 2900 2901 2902 2999 -

DialogSelect.xml DialogAlbumInfo.xml DialogOK.xml DialogVideoInfo.xml VideoFullScreen.xml MusicVisualisation.xml SlideShow.xml DialogFileStacking.xml MusicKaraokeLyrics.xm l MyWeather.xml none VideoOSD.xml none startup.xml SkinSettings.xml (Frodo addition) shortcut to the current startwindow

musicinformati WINDOW_MUSIC_INFO on okdialog WINDOW_DIALOG_OK

movieinformat WINDOW_VIDEO_INFO ion fullscreenvide o visualisation slideshow

WINDOW_FULLSCREEN_VIDE 12005 O WINDOW_VISUALISATION WINDOW_SLIDESHOW 12006 12007 12008 12009 12600 12900 12901 12902 12999 -

filestackingdia WINDOW_DIALOG_FILESTAC log KING karaoke weather screensaver videoosd videomenu startup skinsettings startwindow WINDOW_KARAOKELYRICS WINDOW_WEATHER WINDOW_SCREENSAVER WINDOW_OSD WINDOW_MEDIA_MENU WINDOW_STARTUP -

In addition, there are the following "special" windows whose id is not really a concern (and you'll notice isn't unique) Pointer musicoverlay videooverlay Python Windows WINDOW_MUSIC_OVERLAY WINDOW_VIDEO_OVERLAY 12903 12904 105 2903 2904 3000 3099 Pointer.xml MusicOverlay.xml VideoOverlay.xml none

12 Apendix II: List of Boolean Conditions

AudioScrobbler.Enabled

Returns true if songs played are submitted to audioscrobbler.

ButtonScroller.HasFocus(id)

Returns true if the buttonscroller is focused, and the current button has id ?id?.

Container.HasThumb

Returns true if the current container you are in has a thumb assigned to it

Container.Content(parameter)

Returns true if the current container you are in contains the following: files, songs, artists, albums, movies, tvshows, seasons, episodes, musicvideos, genres, years, actors, playlists, plugins, studios, directors (Note: these currently only work in the Video and Music Library or unless a Plugin has set the value) also available are Addons true when a list of addons is shown LiveTV true when a htsp (tvheadend) directory is shown

Container(id).OnNext

Returns true if the container with id (or current container if id is omitted) is moving to the next item. Allows views to be custom-designed (such as 3D coverviews etc.)

Container(id).OnScrollNext

Returns true if the container with id (or current container if id is omitted) is scrolling to the next item. Differs from OnNext in that OnNext triggers on movement even if there is no scroll involved.

Container(id).OnPrevious

Returns true if the container with id (or current container if id is omitted) is moving to the previous item. Allows views to be customdesigned (such as 3D coverviews etc.)

Container(id).OnScrollPrevious

Returns true if the container with id (or current container if id is omitted) is scrolling to the previous item. Differs from OnPrevious in that OnPrevious triggers on movement even if there is no scroll involved.

Container(id).HasFocus(item_number)

Returns true if the container with id (or current container if id is omitted) has static content and is focused on the item with id item_number.

Container(id).HasFiles

Returns true if the container contains files (or current container if id is omitted).

Container(id).HasFolders

Returns true if the container contains folders (or current container if id is omitted).

Container(id).HasNext

Returns true if the container (id) has a next page.

Container(id).HasPrevious

Returns true if the container (id) has a previous page.

Container(id).IsStacked

Returns true if the container is currently in stacked mode (or current container if id is omitted).

Container.CanFilter

Returns true when the current container can be filtered. (Frodo addition)

Container.CanFilterAdvanced

Returns true when advanced filtering can be applied to the current container. (Frodo addition)

Container.Filtered

Returns true when a mediafilter is applied to the

current container. (Frodo addition)

Container(id).Row(row)

Returns true if the container with id (or current container if id is omitted) is focused on the row given.

Container(id).Column(col)

Returns true if the container with id (or current container if id is omitted) is focused on the column given.

Container(id).Position(pos)

Returns true if the container with id (or current container if id is omitted) is focused on the position given.

Container(id).Scrolling

Returns true if the user is currently scrolling through the container with id (or current container if id is omitted). Note that this is slightly delayed from the actual scroll start. Use Container(id).OnScrollNext/OnScrollPrevious to trigger animations immediately on scroll.

Control.IsEnabled(id)

Returns true if the control with id "id" is enabled.

Control.IsVisible(id)

Returns true if the control with id "id" is visible.

Control.HasFocus(id)

Returns true if the currently focused control has id "id".

ControlGroup(group).HasFocus(id)

Returns true if the control group with id group has control id id as it's focused item. If id is not present, or is 0, then it will return true if the currently focused control is in the control group with id group. Note that if the control group with id group does not have focus, then this will still return true if the last

focused item in the group had control id id.

IntegerGreaterThan(info,number)

Returns true if the value of the infolabel is greater than the supplied number. Example: IntegerGreaterThan(ListItem.Year,2000)

LastFM.RadioPlaying LastFM.CanLov LastFM.CanBan

Returns true if Last.fm radio is playing. (Frodo removal) Returns true if the current song can be added to the users Last.fm loved songs. (Frodo removal) Returns true if the current song can be banned from the users Last.fm radio. (Frodo removal) Returns true if the XBMC libraries have the content from string. Valid Strings are (Video, Music, Movies, TVShows, MusicVideos, MovieSets) Returns true if the music library is being updated Returns true if the video library is being updated Returns whether the current ListItem is a folder Returns whether the current ListItem.* info labels and images are currently Playing media Returns true when the current ListItem has been partially played Returns whether the current ListItem is selected (f.e. currently playing in playlist window) Returns whether the current Season/Episode is a Special Returns true when the selected programme has epg info (PVR) (Frodo addition) Returns true when a recording timer has been set for the selected programme (PVR) (Frodo addition) Returns true when the selected programme is being recorded (PVR) (Frodo addition) Returns true when the selected programme is encrypted (PVR) (Frodo addition)

Library.HasContent(string)

Library.IsScanningMusic Library.IsScanningVideo ListItem.IsFolder ListItem.IsPlaying ListItem.IsResumable ListItem.IsSelected ListItem.Property(IsSpecial) ListItem.HasEpg ListItem.HasTimer ListItem.IsRecording ListItem.IsEncrypted

MusicPlayer.HasNext MusicPlayer.HasPrevious MusicPlayer.Offset(number).Exists MusicPartyMode.Enabled Player.HasMedia Player.HasAudio Player.HasDuration Player.HasVideo Player.Playing Player.Paused Player.Forwarding Player.Forwarding2x Player.Forwarding4x Player.Forwarding8x Player.Forwarding16x Player.Forwarding32x Player.Rewinding Player.Rewinding2x Player.Rewinding4x Player.Rewinding8x Player.Rewinding16x Player.Rewinding32x Player.CanRecord Player.Recording

Returns true if the music player has a next song queued inthe Playlist. Returns true if the music player has a a Previous Song in the Playlist . Returns true if the music players playlist has a song queued in position (number). Returns true if Party Mode is enabled Returns true if the player has an audio or video file. Returns true if the player has an audio file. Returns true if Media isn't a true stream Returns true if the player has a video file. Returns true if the player is currently playing (ie not ffwding, rewinding or paused.) Returns true if the player is paused. Returns true if the player is fast forwarding. Returns true if the player is fast forwarding at 2x. Returns true if the player is fast forwarding at 4x. Returns true if the player is fast forwarding at 8x. Returns true if the player is fast forwarding at 16x. Returns true if the player is fast forwarding at 32x. Returns true if the player is rewinding. Returns true if the player is rewinding at 2x. Returns true if the player is rewinding at 4x. Returns true if the player is rewinding at 8x. Returns true if the player is rewinding at 16x. Returns true if the player is rewinding at 32x. Returns true if the player can record the current internet stream. Returns true if the player is recording the current internet stream.

Player.Caching Player.SeekBar Player.DisplayAfterSeek Player.Seeking Player.ShowTime Player.ShowInfo

Returns true if the player is current re-caching data (internet based video playback). Returns true for the first 2.5 seconds after a video seek. Returns true after any seek. Returns true if a seek is in progress Returns true if the user has requested the time to show (occurs in video fullscreen) Returns true if the user has requested the song info to show (occurs in visualisation fullscreen and slideshow) Returns true if the user has requested the codec to show (occurs in visualisation and video fullscreen) Returns true if the player is playing an internet stream. (Future Gotham addition) Returns true if the volume is muted. Returns true if the player is in random mode. Returns true if the player is in repeat all mode. Returns true if the player is in repeat one mode. Returns true when a recording timer is active. (Frodo addition) Returns true when a non recording timer is active. (Frodo addition) Returns true when an epg is available. (Frodo addition) Returns true when teletext is available.(Frodo addition) ? (Frodo addition) Returns true when live tv is being watched. (Frodo addition) Returns true when live radio is being listened to. (Frodo addition) Returns true when a recording is being watched. (Frodo addition) Returns true when the system is recording a tv programme. (Frodo addition) Returns true if the stream is encrypted (Frodo

Player.ShowCodec Player.IsInternetStream Player.Muted Playlist.IsRandom Playlist.IsRepeat Playlist.IsRepeatOne Pvr.HasTimer Pvr.HasNonRecordingTimer Pvr.HasEpg Pvr.HasTxt Pvr.HasDirector Pvr.IsPlayingTv Pvr.IsPlayingRadio Pvr.IsPlayingRecording Pvr.IsRecording Pvr.ActStreamIsEncrypted

addition) Skin.HasTheme(theme) Returns true if the user has selected the theme with name ?theme?. Returns the state of the skin-specified setting ?setting?. You can toggle a setting from a button by using <onclick>Skin.ToggleSetting(setting)</onclick >. Returns whether the skin string (set via Skin.SetString, Skin.SetPath, or Skin.SetImage) is non-empty. Same as stringcompare(Skin.String(string1),string2). Returns true if Skin.String(string1) equals string2. Returns true if the picture slideshow is running Returns true if the picture slideshow is paused Returns true if the picture slideshow is in random mode Returns true if the picture slideshow is playing a video (Future Gotham addition) Returns true if the info equals the string. example of info: ListItem.Title, ListItem.Genre. Please note that string can also be a $LOCALIZE[] or info label. Also note that in a panelview or similar this only works on the focused item. Returns true if the string is found anywhere in the info Returns true if the string is found from the start or the end. Example: SubString(info,string,[Left or Right]) (foobars,foob,Left) -> true (foobars,foob,Right) -> False (foobars,bars,Right) -> true System.HasAddon(id) System.HasAlarm(alarm) Returns true if the specified addon is installed on the system. Returns true if the system has the ?alarm? alarm set.

Skin.HasSetting(setting)

Skin.String(string)

Skin.String(string1,string2) Slideshow.IsActive Slideshow.IsPaused Slideshow.IsRandom Slideshow.IsVideo

StringCompare(info,string)

SubString(info,string)

System.HasPVR

Returns true on pvr enabled XBMC builds. (Note: Replaced with System.GetBool(pvrmanager.enabled) for Frodo)

Returns true if the alarm with ?alarmname? has less or equal to ?seconds? left. Standard use System.AlarmLessOrEqual(alarmname,seconds would be ) system.alarmlessorequal(shutdowntimer,119), which would return true when the shutdowntimer has less then 2 minutes left. System.HasNetwork System.HasMediadvd System.IdleTime(time) System.IsStandalone System.IsFullscreen System.KaiConnected System.IsLoggedOn System.HasLoginScreen Returns true if the ethernet cable is plugged in. Returns true if there is a CD or DVD in the DVD-ROM drive. Returns true if XBMC has had no input for ?time? amount of seconds. Returns true if XBMC is running in standalone mode. Returns true if XBMC is running fullscreen. Returns true if XBMC's Kai client is connected to the PC engine. Returns true if a user is currently logged on under a profile Returns true if the profile login screen is enabled Returns true if the current system time is >= startTime and < endTime. endTime is optional. Time must be specified in the format HH:mm, using a 24 hour clock. Returns true if the current system date is >= startDate and < endDate. endDate is optional. Date must be specified in the format MM-DD. Returns true if XBMC is running on a linux/unix based computer. Returns true if XBMC is running on a Raspberry Pi. (Future Gotham addition) Returns true if XBMC is running on a windows based computer. Returns true if XBMC is running on an OSX based computer. Returns true if XBMC is running on an IOS

System.Time(startTime,endTime)

System.Date(startDate,endDate) System.Platform.Linux System.Platform.Linux.RaspberryPi System.Platform.Windows System.Platform.OSX System.Platform.IOS

device. System.Platform.Darwin System.Platform.ATV2 System.Platform.Android System.CanPowerDown System.CanSuspend System.CanHibernate System.CanReboot System.ScreenSaverActive System.Setting(hidewatched) System.IsInhibit System.HasShutdown Returns true if XBMC is running on an OSX or IOS system. (Frodo addition) Returns true if XBMC is running on an atv2. Returns true if XBMC is running on an android device. Returns true if XBMC can powerdown the system. Returns true if XBMC can suspend the system. Returns true if XBMC can hibernate the system. Returns true if XBMC can reboot the system. Returns true if ScreenSaver is active. Returns true if 'hide watched items' is selected. Returns true when shutdown on idle is disabled. (Frodo addition) Returns true when shutdown on idle is enabled. (Frodo addition) Returns true if the video player is using the hardware overlays render method. Useful, as with hardware overlays you have no alpha blending to the video image, so shadows etc. need redoing, or disabling. Returns true if the video player is in fullscreen mode. Returns true if the video player has a menu (ie is playing a DVD) Returns true if the current playing video has information from the library or from a plugin (eg director/plot etc.) Returns true if the current Video you are playing is contained in corresponding Video Library sections. The following values are accepted : files, movies, episodes, musicvideos, livetv Returns true if there are subtitles available for video. (available for version 11.0 and above) Returns true if subtitles are turned on for video. (available for version 11.0 and above)

VideoPlayer.UsingOverlays

VideoPlayer.IsFullscreen VideoPlayer.HasMenu VideoPlayer.HasInfo

VideoPlayer.Content(parameter)

VideoPlayer.HasSubtitles VideoPlayer.SubtitlesEnabled

VideoPlayer.HasEpg Visualisation.Enabled Visualisation.Locked Weather.IsFetched Window.IsVisible(window) Window.IsActive(window) Window.IsMedia

Returns true when epg information is available for the currently playing programme (PVR). (Frodo addition) Returns true if any visualisation has been set in settings (so not None). Returns true if the current visualisation preset is locked (eg in Milkdrop.) Returns true if the weather data has been downloaded. Returns true if the window is visible (includes fade out time on dialogs) Returns true if the window with id or title ?window? is active (excludes fade out time on dialogs) See here for a list of windows Returns true if this window is a media window (programs, music, video, scripts, pictures) Returns true if the window with id or title ?window? is being moved to. See here for a list of windows. Only valid while windows are changing. Returns true if the window with id or title ?window? is being moved from. See here for a list of windows. Only valid while windows are changing.

Window.Next(window)

Window.Previous(window)

12.1 See also


Development:

Add-on development Skinning

13 Apendix III: List of Info Labels


Development Add-on development Skinning XBMC Skinning Manual
INCOMPLETE: This page or section is incomplete. Please add information or correct uncertain data which is marked with a ?

An up-to-date list can be found here GUIInfoManager.cpp

13.1 Container
infolabels Definition

Container.FolderPath

Shows complete path of currently displayed folder

Container.FolderName

Shows top most folder in currently displayed folder

Container.Viewmode

Returns the current viewmode (list, icons etc.)

Container.SortMethod

Returns the current sort method (name, year, rating, etc.)

Container.PluginName

Returns the current plugins base folder name

Container.PluginCategory

Returns the current plugins category (set by the scripter)

Container.ShowPlot

Returns the TV Show Plot of the current container and can be used at season and episode level

Container(id).NumPages

Number of pages in the container with given id. If no id is specified it grabs the current container.

Container(id).NumItems

Number of items in the container with given id. If no id is specified it grabs the current container.

Container(id).CurrentPage

Current page in the container with given id. If no id is specified it grabs the current container.

Container(id).Position

Returns the current focused position of Container (id) as a numeric label.

Container(id).Totaltime

Returns the total time of all items in the current container

Container(id).ListItem(offset).Label

Shows ListItem.Label for a specific List or Panel Container with a offset ( eg: Container(50).Listitem(2).Label )

Container(id).ListItem(offset).Label2

Shows ListItem.Label2 for a specific List or Panel Container with a offset ( eg: Container(50).Listitem(-2).Label2 )

Container(id).ListItem(offset).Icon

Shows ListItem.Icon for a specific List or Panel Container with a offset ( eg: Container(52).Listitem(1).Icon)

Container(id).ListItem(offset).ActualIcon

Shows ListItem.ActualIcon for a specific List or Panel Container with a offset ( eg: Container(50).Listitem(0).ActualIcon )

Container(id).ListItem(offset).Thumb

Shows ListItem.Thumb for a specific List or Panel Container with a offset ( eg: Container(50).Listitem(0).Thumb )

Basically returns the same as ListItem(offset) but it won't wrap. That means if the last item of Container(id).ListItemNoWrap(offset).Property a list is focused, ListItemNoWrap(1) will be empty while ListItem(1) will return the first item of the list. Property has to be replaced with Label, Label2, Icon etc. ( eg:

Container(50).ListitemNoWrap(1).Plot )

Container.Property(addoncategory)

Returns the current add-on category

Container.Property(reponame)

Returns the current add-on repository name

13.2 Control
infolabels Definition

Control.GetLabel(id) Returns the label value or texture name of the control with the given id.

13.3 Fanart
infolabels Definition

Fanart.Color1

Returns the first of three colors included in the currently selected Fanart theme for the parent TV Show. Colors are arranged Lightest to Darkest.

Fanart.Color2

Returns the second of three colors included in the currently selected Fanart theme for the parent TV Show. Colors are arranged Lightest to Darkest.

Fanart.Color3

Returns the third of three colors included in the currently selected Fanart theme for the parent TV Show. Colors are arranged Lightest to Darkest.

13.4 Listitem
infolabels Definition

Listitem.Label

Shows the left label of the currently selected item in a

list or thumb control

ListItem.Label2

Shows the right label of the currently selected item in a list or thumb control

ListItem.Title

Shows the title of the currently selected song or movie in a list or thumb control

ListItem.OriginalTitle

Shows the original title of the currently selected movie in a list or thumb control

ListItem.SortLetter

Shows the first letter of the current file in a list or thumb control

ListItem.TrackNumber

Shows the track number of the currently selected song in a list or thumb control

ListItem.Artist

Shows the artist of the currently selected song in a list or thumb control

ListItem.Property(Artist_Born)

Date of Birth of the currently selected Artist

ListItem.Property(Artist_Died)

Date of Death of the currently selected Artist

ListItem.Property(Artist_Formed)

Formation date of the currently selected Band

ListItem.Property(Artist_Disbanded)

Disbanding date of the currently selected Band

ListItem.Property(Artist_YearsActive)

Years the currently selected artist has been active

ListItem.Property(Artist_Instrument)

Instruments played by the currently selected artist

ListItem.Property(Artist_Description)

Shows a biography of the currently selected artist

ListItem.Property(Artist_Mood)

Shows the moods of the currently selected artist

ListItem.Property(Artist_Style)

Shows the styles of the currently selected artist

ListItem.Property(Artist_Genre)

Shows the genre of the currently selected artist

ListItem.Album

Shows the album of the currently selected song in a list or thumb control

ListItem.Property(Album_Mood)

Shows the moods of the currently selected Album

ListItem.Property(Album_Style)

Shows the styles of the currently selected Album

ListItem.Property(Album_Theme)

Shows the themes of the currently selected Album

ListItem.Property(Album_Type)

Shows the Album Type (e.g. compilation, enhanced, explicit lyrics) of the currently selected Album

ListItem.Property(Album_Label)

Shows the record label of the currently selected Album

ListItem.Property(Album_Description) Shows a review of the currently selected Album

ListItem.DiscNumber

Shows the disc number of the currently selected song in a list or thumb control

ListItem.Year

Shows the year of the currently selected song, album or movie in a list or thumb control

ListItem.Premiered

Shows the release/aired date of the currently selected episode, show or movie in a list or thumb control

ListItem.Genre

Shows the genre of the currently selected song, album or movie in a list or thumb control

ListItem.Director

Shows the director of the currently selected movie in a list or thumb control

ListItem.Country

Shows the production country of the currently selected movie in a list or thumb control

ListItem.Episode

Shows the episode number value for the currently selected episode. It also shows the number of total, watched or unwatched episodes for the currently selected tvshow or season, based on the the current watched filter.

ListItem.Season

Shows the season value for the currently selected tvshow

ListItem.TVShowTitle

Shows the name value for the currently selected tvshow in the season and episode depth of the video library

ListItem.Property(TotalSeasons)

Shows the total number of seasons for the currently selected tvshow

ListItem.Property(TotalEpisodes)

Shows the total number of episodes for the currently selected tvshow or season

ListItem.Property(WatchedEpisodes)

Shows the number of watched episodes for the currently selected tvshow or season

ListItem.Property(UnWatchedEpisodes)

Shows the number of unwatched episodes for the currently selected tvshow or season

ListItem.Property(NumEpisodes)

Shows the number of total, watched or unwatched episodes for the currently selected tvshow or season, based on the the current watched filter.

ListItem.PictureAperture

Shows the F-stop used to take the selected picture. This is the value of the EXIF FNumber tag (hex code 0x829D).

ListItem.PictureAuthor

Shows the name of the person involved in writing about the selected picture. This is the value of the IPTC Writer tag (hex code 0x7A). (Future Gotham addition)

ListItem.PictureByline

Shows the name of the person who created the selected picture. This is the value of the IPTC Byline tag (hex code 0x50). (Future Gotham addition)

ListItem.PictureBylineTitle

Shows the title of the person who created the selected picture. This is the value of the IPTC BylineTitle tag (hex code 0x55). (Future Gotham addition)

ListItem.PictureCamMake

Shows the manufacturer of the camera used to take the selected picture. This is the value of the EXIF Make tag (hex code 0x010F).

ListItem.PictureCamModel

Shows the manufacturer's model name or number of the camera used to take the selected picture. This is the value of the EXIF Model tag (hex code 0x0110).

ListItem.PictureCaption

Shows a description of the selected picture. This is the value of the IPTC Caption tag (hex code 0x78).

ListItem.PictureCategory

Shows the subject of the selected picture as a category code. This is the value of the IPTC Category tag (hex code 0x0F). (Future Gotham addition)

ListItem.PictureCCDWidth

Shows the width of the CCD in the camera used to take the selected picture. This is calculated from three EXIF tags (0xA002 * 0xA210 / 0xA20e). (Future Gotham addition)

ListItem.PictureCity

Shows the city where the selected picture was taken. This is the value of the IPTC City tag (hex code 0x5A). (Future Gotham addition)

ListItem.PictureColour

Shows whether the selected picture is "Colour" or "Black and White". (Future Gotham addition)

ListItem.PictureComment

Shows a description of the selected picture. This is the value of the EXIF User Comment tag (hex code 0x9286). This is the same value as Slideshow.SlideComment.

ListItem.PictureCopyrightNotice

Shows the copyright notice of the selected picture. This is the value of the IPTC Copyright tag (hex code 0x74). (Future Gotham addition)

ListItem.PictureCountry

Shows the full name of the country where the selected picture was taken. This is the value of the IPTC CountryName tag (hex code 0x65). (Future Gotham addition)

ListItem.PictureCountryCode

Shows the country code of the country where the selected picture was taken. This is the value of the IPTC CountryCode tag (hex code 0x64). (Future Gotham addition)

ListItem.PictureCredit

Shows who provided the selected picture. This is the value of the IPTC Credit tag (hex code 0x6E). (Future Gotham addition)

ListItem.PictureDate

Shows the localized date of the selected picture. The short form of the date is used. The value of the EXIF DateTimeOriginal tag (hex code 0x9003) is preferred. If the DateTimeOriginal tag is not found, the value of DateTimeDigitized (hex code 0x9004) or of DateTime (hex code 0x0132) might be used.

ListItem.PictureDatetime

Shows the date/timestamp of the selected picture. The localized short form of the date and time is used. The value of the EXIF DateTimeOriginal tag (hex code 0x9003) is preferred. If the DateTimeOriginal tag is not found, the value of DateTimeDigitized (hex code 0x9004) or of DateTime (hex code 0x0132) might be used.

ListItem.PictureDesc

Shows a short description of the selected picture. The SlideComment, EXIFComment, or Caption values might contain a longer description. This is the value of the EXIF ImageDescription tag (hex code 0x010E).

ListItem.PictureDigitalZoom

Shows the digital zoom ratio when the selected picture was taken. This is the value of the EXIF DigitalZoomRatio tag (hex code 0xA404). (Future Gotham addition)

ListItem.PictureExpMode

Shows the exposure mode of the selected picture. The possible values are "Automatic", "Manual", and "Auto bracketing". This is the value of the EXIF ExposureMode tag (hex code 0xA402).

ListItem.PictureExposure

Shows the class of the program used by the camera to set exposure when the selected picture was taken. Values include "Manual", "Program (Auto)", "Aperture priority (Semi-Auto)", "Shutter priority (semi-auto)",

etc. This is the value of the EXIF ExposureProgram tag (hex code 0x8822). (Future Gotham addition)

ListItem.PictureExposureBias

Shows the exposure bias of the selected picture. Typically this is a number between -99.99 and 99.99. This is the value of the EXIF ExposureBiasValue tag (hex code 0x9204). (Future Gotham addition)

ListItem.PictureExpTime

Shows the exposure time of the selected picture, in seconds. This is the value of the EXIF ExposureTime tag (hex code 0x829A). If the ExposureTime tag is not found, the ShutterSpeedValue tag (hex code 0x9201) might be used.

ListItem.PictureFlashUsed

Shows the status of flash when the selected picture was taken. The value will be either "Yes" or "No", and might include additional information. This is the value of the EXIF Flash tag (hex code 0x9209). (Future Gotham addition)

ListItem.PictureFocalLen

Shows the lens focal length of the selected picture

ListItem.PictureFocusDist

Shows the focal length of the lens, in mm. This is the value of the EXIF FocalLength tag (hex code 0x920A).

ListItem.PictureGPSLat

Shows the latitude where the selected picture was taken (degrees, minutes, seconds North or South). This is the value of the EXIF GPSInfo.GPSLatitude and GPSInfo.GPSLatitudeRef tags.

ListItem.PictureGPSLon

Shows the longitude where the selected picture was taken (degrees, minutes, seconds East or West). This is the value of the EXIF GPSInfo.GPSLongitude and GPSInfo.GPSLongitudeRef tags.

ListItem.PictureGPSAlt

Shows the altitude in meters where the selected picture was taken. This is the value of the EXIF

GPSInfo.GPSAltitude tag.

ListItem.PictureHeadline

Shows a synopsis of the contents of the selected picture. This is the value of the IPTC Headline tag (hex code 0x69). (Future Gotham addition)

ListItem.PictureImageType

Shows the color components of the selected picture. This is the value of the IPTC ImageType tag (hex code 0x82). (Future Gotham addition)

ListItem.PictureIPTCDate

Shows the date when the intellectual content of the selected picture was created, rather than when the picture was created. This is the value of the IPTC DateCreated tag (hex code 0x37). (Future Gotham addition)

ListItem.PictureIPTCTime

Shows the time when the intellectual content of the selected picture was created, rather than when the picture was created. This is the value of the IPTC TimeCreated tag (hex code 0x3C). (Future Gotham addition)

ListItem.PictureISO

Shows the ISO speed of the camera when the selected picture was taken. This is the value of the EXIF ISOSpeedRatings tag (hex code 0x8827).

ListItem.PictureKeywords

Shows keywords assigned to the selected picture. This is the value of the IPTC Keywords tag (hex code 0x19).

ListItem.PictureLightSource

Shows the kind of light source when the picture was taken. Possible values include "Daylight", "Fluorescent", "Incandescent", etc. This is the value of the EXIF LightSource tag (hex code 0x9208). (Future Gotham addition)

ListItem.PictureLongDate

Shows only the localized date of the selected picture. The long form of the date is used. The value of the EXIF DateTimeOriginal tag (hex code 0x9003) is preferred. If the DateTimeOriginal tag is not found, the value of DateTimeDigitized (hex code 0x9004) or of DateTime (hex code 0x0132) might be used. (Future Gotham addition)

ListItem.PictureLongDatetime

Shows the date/timestamp of the selected picture. The localized long form of the date and time is used. The value of the EXIF DateTimeOriginal tag (hex code 0x9003) is preferred. if the DateTimeOriginal tag is not found, the value of DateTimeDigitized (hex code 0x9004) or of DateTime (hex code 0x0132) might be used. (Future Gotham addition)

ListItem.PictureMeteringMode

Shows the metering mode used when the selected picture was taken. The possible values are "Center weight", "Spot", or "Matrix". This is the value of the EXIF MeteringMode tag (hex code 0x9207). (Future Gotham addition)

ListItem.PictureObjectName

Shows a shorthand reference for the selected picture. This is the value of the IPTC ObjectName tag (hex code 0x05). (Future Gotham addition)

ListItem.PictureOrientation

Shows the orientation of the selected picture. Possible values are "Top Left", "Top Right", "Left Top", "Right Bottom", etc. This is the value of the EXIF Orientation tag (hex code 0x0112). (Future Gotham addition)

ListItem.PicturePath

Shows the filename and path of the selected picture

ListItem.PictureProcess

Shows the process used to compress the selected picture (Future Gotham addition)

ListItem.PictureReferenceService

Shows the Service Identifier of a prior envelope to which the selected picture refers. This is the value of the IPTC ReferenceService tag (hex code 0x2D). (Future Gotham addition)

ListItem.PictureResolution

Shows the dimensions of the selected picture

ListItem.PictureSource

Shows the original owner of the selected picture. This is the value of the IPTC Source tag (hex code 0x73). (Future Gotham addition)

ListItem.PictureSpecialInstructions

Shows other editorial instructions concerning the use of the selected picture. This is the value of the IPTC SpecialInstructions tag (hex code 0x28). (Future Gotham addition)

ListItem.PictureState

Shows the State/Province where the selected picture was taken. This is the value of the IPTC ProvinceState tag (hex code 0x5F). (Future Gotham addition)

ListItem.PictureSublocation

Shows the location within a city where the selected picture was taken - might indicate the nearest landmark. This is the value of the IPTC SubLocation tag (hex code 0x5C). (Future Gotham addition)

Shows supplemental category codes to further refine the subject of the selected picture. This is the value of ListItem.PictureSupplementalCategories the IPTC SuppCategory tag (hex code 0x14). (Future Gotham addition)

Shows a code representing the location of original transmission of the selected picture. This is the value of ListItem.PictureTransmissionReference the IPTC TransmissionReference tag (hex code 0x67). (Future Gotham addition)

ListItem.PictureUrgency

Shows the urgency of the selected picture. Values are 1-9. The "1" is most urgent. Some image management programs use urgency to indicate picture rating, where urgency "1" is 5 stars and urgency "5" is 1 star. Urgencies 6-9 are not used for rating. This is the value of the IPTC Urgency tag (hex code 0x0A). (Future Gotham addition)

ListItem.PictureWhiteBalance

Shows the white balance mode set when the selected picture was taken. The possible values are "Manual" and "Auto". This is the value of the EXIF WhiteBalance tag (hex code 0xA403). (Future Gotham addition)

ListItem.FileName

Shows the filename of the currently selected song or movie in a list or thumb control

ListItem.Path

Shows the complete path of the currently selected song or movie in a list or thumb control

ListItem.FolderName

Shows top most folder of the path of the currently selected song or movie in a list or thumb control

ListItem.FileNameAndPath

Shows the full path with filename of the currently selected song or movie in a list or thumb control

ListItem.FileExtension

Shows the file extension (without leading dot) of the currently selected item in a list or thumb control

ListItem.Date

Shows the file date of the currently selected song or movie in a list or thumb control

ListItem.DateAdded

Shows the date the currently selected item was added to the library

ListItem.Size

Shows the file size of the currently selected song or movie in a list or thumb control

ListItem.Rating

Shows the IMDB rating of the currently selected movie in a list or thumb control

ListItem.Votes

Shows the IMDB votes of the currently selected movie in a list or thumb control (Future Gotham addition)

ListItem.RatingAndVotes

Shows the IMDB rating and votes of the currently selected movie in a list or thumb control

ListItem.Mpaa

Show the MPAA rating of the currently selected movie in a list or thumb control

ListItem.ProgramCount

Shows the number of times an xbe has been run from "my programs"

ListItem.Duration

Shows the song or movie duration of the currently selected movie in a list or thumb control

ListItem.DBID

Shows the database id of the currently selected listitem in a list or thumb control

ListItem.Cast

Shows a concatenated string of cast members of the currently selected movie, for use in dialogvideoinfo.xml

ListItem.CastAndRole

Shows a concatenated string of cast members and roles of the currently selected movie, for use in dialogvideoinfo.xml

ListItem.Studio

Studio of current selected Music Video in a list or

thumb control

ListItem.Trailer

Shows the full trailer path with filename of the currently selected movie in a list or thumb control

ListItem.Writer

Name of Writer of current Video in a list or thumb control

ListItem.Tagline

Small Summary of current Video in a list or thumb control

ListItem.PlotOutline

Small Summary of current Video in a list or thumb control

ListItem.Plot

Complete Text Summary of Video in a list or thumb control

ListItem.PercentPlayed

Returns percentage value [0-100] of how far the selected video has been played

ListItem.LastPlayed

Last play date of Video in a list or thumb control

ListItem.PlayCount

Playcount of Video in a list or thumb control

ListItem.StartTime

Start time of current selected TV programme in a list or thumb control

ListItem.EndTime

End time of current selected TV programme in a list or thumb control

ListItem.StartDate

Start date of current selected TV programme in a list or thumb control

ListItem.Date

Day, start time and end time of current selected TV programme in a list or thumb control

ListItem.ChannelNumber

Number of current selected TV channel in a list or thumb control

ListItem.ChannelName

Name of current selected TV channel in a list or thumb control

ListItem.VideoCodec

Shows the video codec of the currently selected video (common values: 3iv2, avc1, div2, div3, divx, divx 4, dx50, flv, h264, microsoft, mp42, mp43, mp4v, mpeg1video, mpeg2video, mpg4, rv40, svq1, svq3, theora, vp6f, wmv2, wmv3, wvc1, xvid)

ListItem.VideoResolution

Shows the resolution of the currently selected video (possible values: 480, 576, 540, 720, 1080). Note that 540 usually means a widescreen format (around 960x540) while 576 means PAL resolutions (normally 720x576), therefore 540 is actually better resolution than 576.

ListItem.VideoAspect

Shows the aspect ratio of the currently selected video (possible values: 1.33, 1.66, 1.78, 1.85, 2.20, 2.35)

ListItem.AudioCodec

Shows the audio codec of the currently selected video (common values: aac, ac3, cook, dca, dtshd_hra, dtshd_ma, eac3, mp1, mp2, mp3, pcm_s16be, pcm_s16le, pcm_u8, truehd, vorbis, wmapro, wmav2)

ListItem.AudioChannels

Shows the number of audio channels of the currently selected video (possible values: 0, 1, 2, 4, 5, 6, 8)

ListItem.AudioLanguage

Shows the audio language of the currently selected video (returns an ISO 639-2 three character code, e.g.

eng, epo, deu)

ListItem.SubtitleLanguage

Shows the subtitle language of the currently selected video (returns an ISO 639-2 three character code, e.g. eng, epo, deu)

ListItem.Property(Addon.Name)

Shows the name of the currently selected addon

ListItem.Property(Addon.Version)

Shows the version of the currently selected addon

ListItem.Property(Addon.Summary)

Shows a short description of the currently selected addon

ListItem.Property(Addon.Description)

Shows the full description of the currently selected addon

ListItem.Property(Addon.Type)

Shows the type (screensaver, script, skin, etc...) of the currently selected addon

ListItem.Property(Addon.Creator)

Shows the name of the author the currently selected addon

ListItem.Property(Addon.Disclaimer)

Shows the disclaimer of the currently selected addon

ListItem.Property(Addon.Changelog)

Shows the changelog of the currently selected addon

ListItem.Property(Addon.ID)

Shows the identifier of the currently selected addon

ListItem.Property(Addon.Status)

Shows the status of the currently selected addon

ListItem.Property(Addon.Broken)

Shows a message when the addon is marked as broken

in the repo

ListItem.Property(Addon.Path)

Shows the path of the currently selected addon

ListItem.StartTime

Start time of the selected item (PVR). (Frodo addition)

ListItem.EndTime

End time of the selected item (PVR). (Frodo addition)

ListItem.StartDate

Start date of the selected item (PVR). (Frodo addition)

ListItem.EndDate

End date of the selected item (PVR). (Frodo addition)

ListItem.NextTitle

Title of the next item (PVR). (Frodo addition)

ListItem.NextGenre

Genre of the next item (PVR). (Frodo addition)

ListItem.NextPlot

Plot of the next item (PVR). (Frodo addition)

ListItem.NextPlotOutline

Plot outline of the next item (PVR). (Frodo addition)

ListItem.NextStartTime

Start time of the next item (PVR). (Frodo addition)

ListItem.NextEndTime

End of the next item (PVR). (Frodo addition)

ListItem.NextStartDate

Start date of the next item (PVR). (Frodo addition)

ListItem.NextEndDate

End date of the next item (PVR). (Frodo addition)

ListItem.ChannelName

Channelname of the selected item (PVR). (Frodo addition)

ListItem.ChannelNumber

Channel number of the selected item (PVR). (Frodo addition)

ListItem.ChannelGroup

Channel group of the selected item (PVR). (Frodo addition)

ListItem.Progress

Part of the programme that's been played (PVR). (Frodo addition)

13.5 Musicpartymode labels


infolabels Definition

MusicPartyMode.SongsPlayed

Number of songs played during Party Mode

MusicPartyMode.MatchingSongs

Number of songs available to Party Mode

MusicPartyMode.MatchingSongsPicked Number of songs picked already for Party Mode

MusicPartyMode.MatchingSongsLeft

Number of songs left to be picked from for Party Mode

MusicPartyMode.RelaxedSongsPicked Not currently used

MusicPartyMode.RandomSongsPicked

Number of unique random songs picked during Party Mode

13.6 Network labels

infolabels

Definition

Network.IsDHCP

Network type is DHCP or FIXED

Network.IPAddress

The system's IP Address (formatted as IP: <ipaddress>)

Network.LinkState

Network linkstate e.g. 10mbit/100mbit etc.

Network.MacAddress

The system's mac address

Network.SubnetMask

Network subnet mask

Network.GatewayAddress Network gateway address

Network.DNS1Address

Network dns 1 address

Network.DNS2Address

Network dns 2 address

Network.DHCPAddress

DHCP ip address

13.7 Player labels


infolabels Definition

Player.FinishTime

Time playing media will end

Player.Chapter

Current chapter of current playing media

Player.ChapterCount

Total number of chapters of current playing media

Player.Time

Elapsed time of current playing media

Player.TimeRemaining Remaining time of current playing media

Player.Duration

Total duration of the current playing media

Player.SeekTime

Time to which the user is seeking

Player.SeekOffset

Indicates the seek offset after a seek press (eg user presses BigStepForward, player.seekoffset returns +10:00)

Player.Volume

Current volume (between -60 and 0dB)

Player.CacheLevel

Players current cache fill percentage (if supported by the player)

Player.ProgressCache

Shows how much of the file is cached above current play percentage

Player.Folderpath

Shows the full path of the currently playing song or movie

Player.Filenameandpath

Shows the full path with filename of the currently playing song or movie

Player.StartTime

Returns the starttime (from the epg) of a tv program, for all other videos it will return the time you started watching this video.. (Frodo addition)

Player.Title

Returns the musicplayer title for audio and the videoplayer title for videos. (Frodo addition)

13.7.1 Music player

infolabels

Definition

MusicPlayer.Title

Title of the currently playing song, also available are "MusicPlayer.offset(number).Title" offset is relative to the current playing item and "MusicPlayer.Position(number).Title" position is relative to the start of the playlist

MusicPlayer.Album

Album from which the current song is from, also available are "MusicPlayer.offset(number).Album" offset is relative to the current playing item and "MusicPlayer.Position(number).Album" position is relative to the start of the playlist

MusicPlayer.Property(Album_Mood)

Shows the moods of the currently playing Album

MusicPlayer.Property(Album_Style)

Shows the styles of the currently playing Album

MusicPlayer.Property(Album_Theme)

Shows the themes of the currently playing Album

MusicPlayer.Property(Album_Type)

Shows the Album Type (e.g. compilation, enhanced, explicit lyrics) of the currently playing Album

MusicPlayer.Property(Album_Label)

Shows the record label of the currently playing Album

MusicPlayer.Property(Album_Description) Shows a review of the currently playing Album

MusicPlayer.Artist

Artist(s) of current song, also available are "MusicPlayer.offset(number).Artist" offset is relative to the current playing item and "MusicPlayer.Position(number).Artist" position is

relative to the start of the playlist

MusicPlayer.Property(Artist_Born)

Date of Birth of the currently playing Artist

MusicPlayer.Property(Artist_Died)

Date of Death of the currently playing Artist

MusicPlayer.Property(Artist_Formed)

Formation date of the currently playing Artist/Band

MusicPlayer.Property(Artist_Disbanded)

Disbanding date of the currently playing Artist/Band

MusicPlayer.Property(Artist_YearsActive) Years the currently Playing artist has been active

MusicPlayer.Property(Artist_Instrument)

Instruments played by the currently playing artist

MusicPlayer.Property(Artist_Description) Shows a biography of the currently playing artist

MusicPlayer.Property(Artist_Mood)

Shows the moods of the currently playing artist

MusicPlayer.Property(Artist_Style)

Shows the styles of the currently playing artist

MusicPlayer.Property(Artist_Genre)

Shows the genre of the currently playing artist

MusicPlayer.Genre

Genre(s) of current song, also available are "MusicPlayer.offset(number).Genre" offset is relative to the current playing item and "MusicPlayer.Position(number).Genre" position is relative to the start of the playlist

MusicPlayer.Lyrics

Lyrics of current song stored in ID tag info

MusicPlayer.Year

Year of release of current song, also available are "MusicPlayer.offset(number).Year" offset is relative to the current playing item and "MusicPlayer.Position(number).Year" position is relative to the start of the playlist

MusicPlayer.Rating

Numeric Rating of current song, also available are "MusicPlayer.offset(number).Rating" offset is relative to the current playing item and "MusicPlayer.Position(number).Rating" position is relative to the start of the playlist

MusicPlayer.DiscNumber

Disc Number of current song stored in ID tag info, also available are "MusicPlayer.offset(number).DiscNumber" offset is relative to the current playing item and "MusicPlayer.Position(number).DiscNumber" position is relative to the start of the playlist

MusicPlayer.Comment

Comment of current song stored in ID tag info, also available are "MusicPlayer.offset(number).Comment" offset is relative to the current playing item and "MusicPlayer.Position(number).Comment" position is relative to the start of the playlist

MusicPlayer.Time

Current time in song

MusicPlayer.TimeRemaining

Current remaining time in song

MusicPlayer.TimeSpeed

Both the time and the playspeed formatted up. eg 1:23 (2x)

MusicPlayer.TrackNumber

Track number of current song, also available are "MusicPlayer.offset(number).TrackNumber" offset is relative to the current playing item and "MusicPlayer.Position(number).TrackNumber"

position is relative to the start of the playlist

MusicPlayer.Duration

Duration of current song, also available are "MusicPlayer.offset(number).Duration" offset is relative to the current playing item and "MusicPlayer.Position(number).Duration" position is relative to the start of the playlist

MusicPlayer.BitRate

Bitrate of current song

MusicPlayer.Channels

Number of channels of current song

MusicPlayer.BitsPerSample

Number of bits per sample of current song

MusicPlayer.SampleRate

Samplerate of current song

MusicPlayer.Codec

Codec of current song

MusicPlayer.PlaylistPosition

Position of the current song in the current music playlist

MusicPlayer.PlaylistLength

Total size of the current music playlist

MusicPlayer.ChannelName

Channel name of the radio programme that's currently playing (PVR). (Frodo addition)

MusicPlayer.ChannelNumber

Channel number of the radio programme that's currently playing (PVR). (Frodo addition)

MusicPlayer.ChannelGroup

Channel group of of the radio programme that's currently playing (PVR). (Frodo addition)

13.7.2 Video player

infolabels

Definition

VideoPlayer.Time

Current time in movie

VideoPlayer.TimeRemaining Current remaining time in movie

VideoPlayer.TimeSpeed

Current time + playspeed. eg 1:23:14 (-4x)

VideoPlayer.Duration

Length of current movie

VideoPlayer.Title

Title of currently playing video. If it's in the database it will return the database title, else the filename

VideoPlayer.TVShowTitle

Title of currently playing episode's tvshow name

VideoPlayer.Season

Season number of the currently playing episode

VideoPlayer.Episode

Episode number of the currently playing episode

VideoPlayer.Genre

Genre(s) of current movie, if it's in the database

VideoPlayer.Director

Director of current movie, if it's in the database

VideoPlayer.Country

Production country of current movie, if it's in the database

VideoPlayer.Year

Year of release of current movie, if it's in the database

VideoPlayer.Rating

IMDb user rating of current movie, if it's in the database

VideoPlayer.Votes

IMDb votes of current movie, if it's in the database (Future Gotham addition)

VideoPlayer.RatingAndVotes

IMDb user rating and votes of current movie, if it's in the database

VideoPlayer.mpaa

MPAA rating of current movie, if it's in the database

VideoPlayer.PlaylistPosition Position of the current song in the current video playlist

VideoPlayer.PlaylistLength

Total size of the current video playlist

VideoPlayer.Cast

A concatenated string of cast members of the current movie, if it's in the database

VideoPlayer.CastAndRole

A concatenated string of cast members and roles of the current movie, if it's in the database

VideoPlayer.Album

Album from which the current Music Video is from, if it's in the database

VideoPlayer.Artist

Artist(s) of current Music Video, if it's in the database

VideoPlayer.Studio

Studio of current Music Video, if it's in the database

VideoPlayer.Writer

Name of Writer of current playing Video, if it's in the database

VideoPlayer.Tagline

Small Summary of current playing Video, if it's in the database

VideoPlayer.PlotOutline

Small Summary of current playing Video, if it's in the database

VideoPlayer.Plot

Complete Text Summary of current playing Video, if it's in the database

VideoPlayer.LastPlayed

Last play date of current playing Video, if it's in the database

VideoPlayer.PlayCount

Playcount of current playing Video, if it's in the database

VideoPlayer.VideoCodec

Shows the video codec of the currently playing video (common values: see ListItem.VideoCodec)

VideoPlayer.VideoResolution

Shows the video resolution of the currently playing video (possible values: see ListItem.VideoResolution)

VideoPlayer.VideoAspect

Shows the aspect ratio of the currently playing video (possible values: see ListItem.VideoAspect)

VideoPlayer.AudioCodec

Shows the audio codec of the currently playing video (common values: see ListItem.AudioCodec)

VideoPlayer.AudioChannels

Shows the number of audio channels of the currently playing video (possible values: see ListItem.AudioChannels)

VideoPlayer.EndTime

End date of the currently playing programme (PVR). (Frodo addition)

VideoPlayer.NextTitle

Title of the programme that will be played next (PVR). (Frodo addition)

VideoPlayer.NextGenre

Genre of the programme that will be played next (PVR). (Frodo addition)

VideoPlayer.NextPlot

Plot of the programme that will be played next (PVR). (Frodo

addition)

VideoPlayer.NextPlotOutline

Plot outline of the programme that will be played next (PVR). (Frodo addition)

VideoPlayer.NextStartTime

Start time of the programme that will be played next (PVR). (Frodo addition)

VideoPlayer.NextEndTime

End time of the programme that will be played next (PVR). (Frodo addition)

VideoPlayer.NextDuration

Duration of the programme that will be played next (PVR). (Frodo addition)

VideoPlayer.ChannelName

Name of the curently tuned channel (PVR). (Frodo addition)

VideoPlayer.ChannelNumber Number of the curently tuned channel (PVR). (Frodo addition)

VideoPlayer.ChannelGroup

Group of the curently tuned channel (PVR). (Frodo addition)

VideoPlayer.ParentalRating

Parental rating of the currently playing programme (PVR). (Frodo addition)

13.8 Playlist
infolabels Definition

Playlist.Length

Total size of the current playlist (video or music)

Playlist.Position

Position of the current item in the current playlist (video or music)

Playlist.Random

Returns string ID's 590 (Randomize Play Enabled) or 591 (Disabled)

Playlist.Repeat

Returns string ID's 592 (Repeat One), 593 (Repeat All), or 594 (Repeat Off)

13.9 PVR
infolabels Definition

Pvr.NowRecordingTitle

Title of the programme being recorded (Frodo addition)

Pvr.NowRecordingDateTime

Start date and time of the current recording(Frodo addition)

Pvr.NowRecordingChannel

Channel number that's being recorded (Frodo addition)

Pvr.NextRecordingTitle

Title of the next programme that will be recorded (Frodo addition)

Pvr.NextRecordingDateTime

Start date and time of the next recording (Frodo addition)

Pvr.NextRecordingChannel

Channel name of the next recording (Frodo addition)

Pvr.BackendName

Name of the backend being used (Frodo addition)

Pvr.BackendVersion

Version of the backend that's being used (Frodo addition)

Pvr.BackendHost

Backend hostname (Frodo addition)

Pvr.BackendDiskSpace

Available diskspace on the backend (Frodo addition)

Pvr.BackendChannels

Number of available channels the backend provides (Frodo addition)

Pvr.BackendTimers

Number of timers set for the backend (Frodo addition)

Pvr.BackendRecordings

Number of recording available on the backend (Frodo addition)

Pvr.BackendNumber

Backend number (Frodo addition)

Pvr.TotalDiscSpace

Total diskspace available for recordings (Frodo addition)

Pvr.NextTimer

Next timer date (Frodo addition)

Pvr.Duration

? (Frodo addition) ? (Frodo addition) ? (Frodo addition)


Stream client name (Frodo addition)

Pvr.Time

Pvr.Progress

Pvr.ActStreamClient

Pvr.ActStreamDevice

Stream device name (Frodo addition)

Pvr.ActStreamStatus

Status of the stream (Frodo addition)

Pvr.ActStreamSignal

Signal quality of the stream (Frodo addition)

Pvr.ActStreamSnr

Signal to noise ratio of the stream (Frodo addition)

Pvr.ActStreamBer

Bit error rate of the stream (Frodo addition)

Pvr.ActStreamUnc

UNC value of the stream (Frodo addition)

Pvr.ActStreamVideoBitRate

Video bitrate of the stream (Frodo addition)

Pvr.ActStreamAudioBitRate

Audio bitrate of the stream (Frodo addition)

Pvr.ActStreamDolbyBitRate

Dolby bitrate of the stream (Frodo addition)

Pvr.ActStreamProgrSignal

Signal quality of the programme (Frodo addition)

Pvr.ActStreamProgrSnr

Signal to noise ratio of the programme (Frodo addition)

Pvr.ActStreamEncryptionName Encryption used on the stream (Frodo addition)

13.10 Skin
infolabels Definition

Skin.CurrentTheme

Returns the current selected skin theme.

Skin.CurrentColourTheme Returns the current selected colour theme of the skin.

Skin.String(name)

Returns the user-set skin string, set via the Skin.SetString(name) List of Built In Functions. Allows skinners to have user-customisable labels.

Skin.AspectRatio

Returns the closest aspect ratio match using the resolution info from

the skin's addon.xml file. (Frodo addition)

13.11 Slideshow
infolabels Definition

Slideshow.Altitude

Shows the altitude in meters where the current picture was taken. This is the value of the EXIF GPSInfo.GPSAltitude tag.

Slideshow.Aperture

Shows the F-stop used to take the current picture. This is the value of the EXIF FNumber tag (hex code 0x829D).

Slideshow.Author

Shows the name of the person involved in writing about the current picture. This is the value of the IPTC Writer tag (hex code 0x7A).

Slideshow.Byline

Shows the name of the person who created the current picture. This is the value of the IPTC Byline tag (hex code 0x50).

Slideshow.BylineTitle

Shows the title of the person who created the current picture. This is the value of the IPTC BylineTitle tag (hex code 0x55).

Slideshow.CameraMake

Shows the manufacturer of the camera used to take the current picture. This is the value of the EXIF Make tag (hex code 0x010F).

Slideshow.CameraModel

Shows the manufacturer's model name or number of the camera used to take the current picture. This is the value of the EXIF Model tag (hex code 0x0110).

Slideshow.Caption

Shows a description of the current picture. This is the value

of the IPTC Caption tag (hex code 0x78).

Slideshow.Category

Shows the subject of the current picture as a category code. This is the value of the IPTC Category tag (hex code 0x0F).

Slideshow.CCDWidth

Shows the width of the CCD in the camera used to take the current picture. This is calculated from three EXIF tags (0xA002 * 0xA210 / 0xA20e).

Slideshow.City

Shows the city where the current picture was taken. This is the value of the IPTC City tag (hex code 0x5A).

Slideshow.Colour

Shows whether the current picture is "Colour" or "Black and White".

Slideshow.CopyrightNotice

Shows the copyright notice of the current picture. This is the value of the IPTC Copyright tag (hex code 0x74).

Slideshow.Country

Shows the full name of the country where the current picture was taken. This is the value of the IPTC CountryName tag (hex code 0x65).

Slideshow.CountryCode

Shows the country code of the country where the current picture was taken. This is the value of the IPTC CountryCode tag (hex code 0x64).

Slideshow.Credit

Shows who provided the current picture. This is the value of the IPTC Credit tag (hex code 0x6E).

Slideshow.DigitalZoom

Shows the digital zoom ratio when the current picture was taken. This is the value of the EXIF .DigitalZoomRatio tag (hex code 0xA404).

Slideshow.EXIFComment

Shows a description of the current picture. This is the value of the EXIF User Comment tag (hex code 0x9286). This is

the same value as Slideshow.SlideComment.

Slideshow.EXIFDate

Shows the localized date of the current picture. The short form of the date is used. The value of the EXIF DateTimeOriginal tag (hex code 0x9003) is preferred. If the DateTimeOriginal tag is not found, the value of DateTimeDigitized (hex code 0x9004) or of DateTime (hex code 0x0132) might be used.

Slideshow.EXIFDescription

Shows a short description of the current picture. The SlideComment, EXIFComment, or Caption values might contain a longer description. This is the value of the EXIF ImageDescription tag (hex code 0x010E).

Slideshow.EXIFSoftware

Shows the name and version of the firmware used by the camera that took the current picture. This is the value of the EXIF Software tag (hex code 0x0131).

Slideshow.EXIFTime

Shows the date/timestamp of the current picture. The localized short form of the date and time is used. The value of the EXIF DateTimeOriginal tag (hex code 0x9003) is preferred. If the DateTimeOriginal tag is not found, the value of DateTimeDigitized (hex code 0x9004) or of DateTime (hex code 0x0132) might be used.

Slideshow.Exposure

Shows the class of the program used by the camera to set exposure when the current picture was taken. Values include "Manual", "Program (Auto)", "Aperture priority (SemiAuto)", "Shutter priority (semi-auto)", etc. This is the value of the EXIF ExposureProgram tag (hex code 0x8822).

Slideshow.ExposureBias

Shows the exposure bias of the current picture. Typically this is a number between -99.99 and 99.99. This is the value of the EXIF ExposureBiasValue tag (hex code 0x9204).

Slideshow.ExposureMode

Shows the exposure mode of the current picture. The possible values are "Automatic", "Manual", and "Auto bracketing". This is the value of the EXIF ExposureMode

tag (hex code 0xA402).

Slideshow.ExposureTime

Shows the exposure time of the current picture, in seconds. This is the value of the EXIF ExposureTime tag (hex code 0x829A). If the ExposureTime tag is not found, the ShutterSpeedValue tag (hex code 0x9201) might be used.

Slideshow.Filedate

Shows the file date of the current picture

Slideshow.Filename

Shows the file name of the current picture

Slideshow.Filesize

Shows the file size of the current picture

Slideshow.FlashUsed

Shows the status of flash when the current picture was taken. The value will be either "Yes" or "No", and might include additional information. This is the value of the EXIF Flash tag (hex code 0x9209).

Slideshow.FocalLength

Shows the focal length of the lens, in mm. This is the value of the EXIF FocalLength tag (hex code 0x920A).

Slideshow.FocusDistance

Shows the distance to the subject, in meters. This is the value of the EXIF SubjectDistance tag (hex code 0x9206).

Slideshow.Headline

Shows a synopsis of the contents of the current picture. This is the value of the IPTC Headline tag (hex code 0x69).

Slideshow.ImageType

Shows the color components of the current picture. This is the value of the IPTC ImageType tag (hex code 0x82). (Gotham addition)

Slideshow.IPTCDate

Shows the date when the intellectual content of the current picture was created, rather than when the picture was created. This is the value of the IPTC DateCreated tag (hex

code 0x37).

Slideshow.ISOEquivalence

Shows the ISO speed of the camera when the current picture was taken. This is the value of the EXIF ISOSpeedRatings tag (hex code 0x8827).

Slideshow.Keywords

Shows keywords assigned to the current picture. This is the value of the IPTC Keywords tag (hex code 0x19).

Slideshow.Latitude

Shows the latitude where the current picture was taken (degrees, minutes, seconds North or South). This is the value of the EXIF GPSInfo.GPSLatitude and GPSInfo.GPSLatitudeRef tags.

Slideshow.LightSource

Shows the kind of light source when the picture was taken. Possible values include "Daylight", "Fluorescent", "Incandescent", etc. This is the value of the EXIF LightSource tag (hex code 0x9208).

Slideshow.LongEXIFDate

Shows only the localized date of the current picture. The long form of the date is used. The value of the EXIF DateTimeOriginal tag (hex code 0x9003) is preferred. If the DateTimeOriginal tag is not found, the value of DateTimeDigitized (hex code 0x9004) or of DateTime (hex code 0x0132) might be used. (Gotham addition)

Slideshow.LongEXIFTime

Shows the date/timestamp of the current picture. The localized long form of the date and time is used. The value of the EXIF DateTimeOriginal tag (hex code 0x9003) is preferred. if the DateTimeOriginal tag is not found, the value of DateTimeDigitized (hex code 0x9004) or of DateTime (hex code 0x0132) might be used. (Gotham addition)

Slideshow.Longitude

Shows the longitude where the current picture was taken (degrees, minutes, seconds East or West). This is the value of the EXIF GPSInfo.GPSLongitude and

GPSInfo.GPSLongitudeRef tags.

Slideshow.MeteringMode

Shows the metering mode used when the current picture was taken. The possible values are "Center weight", "Spot", or "Matrix". This is the value of the EXIF MeteringMode tag (hex code 0x9207).

Slideshow.ObjectName

Shows a shorthand reference for the current picture. This is the value of the IPTC ObjectName tag (hex code 0x05).

Slideshow.Orientation

Shows the orientation of the current picture. Possible values are "Top Left", "Top Right", "Left Top", "Right Bottom", etc. This is the value of the EXIF Orientation tag (hex code 0x0112).

Slideshow.Path

Shows the file path of the current picture

Slideshow.Process

Shows the process used to compress the current picture

Slideshow.ReferenceService

Shows the Service Identifier of a prior envelope to which the current picture refers. This is the value of the IPTC ReferenceService tag (hex code 0x2D).

Slideshow.Resolution

Shows the dimensions of the current picture (Width x Height)

Slideshow.SlideComment

Shows a description of the current picture. This is the value of the EXIF User Comment tag (hex code 0x9286). This is the same value as Slideshow.EXIFComment.

Slideshow.SlideIndex

Shows the slide index of the current picture

Slideshow.Source

Shows the original owner of the current picture. This is the value of the IPTC Source tag (hex code 0x73).

Slideshow.SpecialInstructions

Shows other editorial instructions concerning the use of the current picture. This is the value of the IPTC SpecialInstructions tag (hex code 0x28).

Slideshow.State

Shows the State/Province where the current picture was taken. This is the value of the IPTC ProvinceState tag (hex code 0x5F).

Slideshow.Sublocation

Shows the location within a city where the current picture was taken - might indicate the nearest landmark. This is the value of the IPTC SubLocation tag (hex code 0x5C). (Gotham addition)

Shows supplemental category codes to further refine the Slideshow.SupplementalCategories subject of the current picture. This is the value of the IPTC SuppCategory tag (hex code 0x14).

Slideshow.TimeCreated

Shows the time when the intellectual content of the current picture was created, rather than when the picture was created. This is the value of the IPTC TimeCreated tag (hex code 0x3C). (Gotham addition)

Shows a code representing the location of original Slideshow.TransmissionReference transmission of the current picture. This is the value of the IPTC TransmissionReference tag (hex code 0x67).

Slideshow.Urgency

Shows the urgency of the current picture. Values are 1-9. The 1 is most urgent. Some image management programs use urgency to indicate picture rating, where urgency 1 is 5 stars and urgency 5 is 1 star. Urgencies 6-9 are not used for rating. This is the value of the IPTC Urgency tag (hex code 0x0A). (Gotham addition)

Slideshow.WhiteBalance

Shows the white balance mode set when the current picture was taken. The possible values are "Manual" and "Auto". This is the value of the EXIF WhiteBalance tag (hex code

0xA403).

13.12 System
infolabels Definition

System.Time

Current time

System.Time(format)

Shows hours (hh), minutes (mm) or seconds (ss). When 12 hour clock is used (xx) will return AM/PM. Also supported: (hh:mm), (mm:ss), (hh:mm:ss), (hh:mm:ss). (xx) option added after dharma

System.Date

Current date

System.Date(format)

Show current date using format, available markings: d (day of month 1-31), dd (day of month 01-31), ddd (short day of the week MonSun), DDD (long day of the week Monday-Sunday), m (month 1-12), mm (month 01-12), mmm (short month name Jan-Dec), MMM (long month name January-December), yy (2-digit year), yyyy (4-digit year). Added after dharma.

System.AlarmPos

Shutdown Timer position

System.BatteryLevel

Returns the remaining battery level in range 0-100

System.FreeSpace

Total Freespace on the drive

System.UsedSpace

Total Usedspace on the drive

System.TotalSpace

Totalspace on the drive

System.UsedSpacePercent Total Usedspace Percent on the drive

System.FreeSpacePercent Total Freespace Percent on the drive

System.CPUTemperature Current CPU temperature

System.GPUTemperature Current GPU temperature

System.FanSpeed

Current fan speed

System.BuildVersion

Version of build

System.BuildDate

Date of build

System.FriendlyName

Returns the xbmc instance name. It will auto append (%hostname%) in case the device name was not changed. eg. "XBMC (htpc)"

System.FPS

Current rendering speed (frames per second)

System.FreeMemory

Amount of free memory in Mb

System.Memory(format)

Available formats: used, used.percent, free, free.percent, total

System.ScreenMode

Screenmode (eg windowed / fullscreen)

System.ScreenWidth

Width of screen in pixels

System.ScreenHeight

Height of screen in pixels

System.StartupWindow

The Window XBMC will load on startup (Future Gotham addition)

System.CurrentWindow

Current Window we are in

System.CurrentControl

Current focused control

System.DVDLabel

Label of the disk in the DVD-ROM drive

System.HddTemperature

Hdd temperature

System.KernelVersion

System kernel version

System.Uptime

System current uptime

System.TotalUptime

System total uptime

System.CpuFrequency

System cpu frequency

System.ScreenResolution Screen resolution

System.VideoEncoderInfo Video encoder info

Will return the internet state, connected or not connected System.InternetState and for Conditional use: Connected->TRUE, not Connected>FALSE, do not use to check status in a pythonscript since it is threaded. Shows the current language Returns the value of any standard system boolean setting. Will not work with settings in advancedsettings.xml Shows the User name of the currently logged in XBMC user

System.Language System.GetBool(boolean) System.ProfileName

System.ProfileCount

Shows the number of defined profiles

System.ProfileAutoLogin The profile XBMC will auto login to (Future Gotham addition) System.TemperatureUnits Shows Celsius or Fahrenheit symbol

13.13 System params


infolabels Definition

System.AddonTitle(id)

Returns the title of the specified addon. Instead of specifying the id directly, one can also use an infolabel (eg. $INFO[Skin.String(Foo)])

System.CoreUsage

!Description missing!

13.14 Visualisation
infolabels Definition

Visualisation.Preset Shows the current preset of the visualisation.

Visualisation.Name Shows the name of the visualisation.

13.15 Weather labels


infolabels Definition Current weather conditions this is looked up in a background process.

Weather.Conditions

Weather.Temperature Current weather temperature

Weather.Location

City/town which the above two items are for

Weather.fanartcode

Current weather fanartcode.

Weather.plugin

Current weather plugin.

13.16 Window
infolabels Definition

Window([window]).Property(key)

Window property. (key can be any value, optional window can be id or name)

Window.Property(xmlfile)

Displays the name of the xml file currently shown

The home window has the following info labels. Movies.Count, Movies.Watched, Movies.UnWatched, TVShows.Count, TVShows.Watched, TVShows.UnWatched, Episodes.Count, Episodes.Watched, Episodes.UnWatched, MusicVideos.Count, MusicVideos.Watched, MusicVideos.UnWatched, Music.SongsCount, Music.AlbumsCount, Music.ArtistsCount LatestMovie.[1-10].Title, LatestMovie.[1-10].Year, LatestMovie.[1-10].RunningTime, LatestMovie.[110].Rating, LatestMovie.[1-10].Plot, LatestMovie.[110].Trailer, LatestMovie.[1-10].Thumb, LatestMovie.[110].Fanart, LatestMovie.[1-10].Path LatestEpisode.[1-10].ShowTitle, LatestEpisode.[110].EpisodeTitle, LatestEpisode.[1-10].EpisodeNo, LatestEpisode.[1-10].EpisodeSeason, LatestEpisode.[110].EpisodeNumber, LatestEpisode.[1-10].Rating, LatestEpisode.[1-10].Plot, LatestEpisode.[1-10].Thumb, LatestEpisode.[1-10].ShowThumb, LatestEpisode.[110].SeasonThumb, LatestEpisode.[1-10].Fanart, LatestEpisode.[1-10].Path LatestMusicVideo.[1-10].Title, LatestMusicVideo.[1-

Window(Home).Property(key)

10].Thumb, LatestMusicVideo.[1-10].Year, LatestMusicVideo.[1-10].Plot, LatestMusicVideo.[110].RunningTime, LatestMusicVideo.[1-10].Path, LatestMusicVideo.[1-10].Artist, LatestMusicVideo.[110].Fanart LatestSong.[1-10].Title, LatestSong.[1-10].Artist, LatestSong.[1-10].Album, LatestSong.[1-10].Year, LatestSong.[1-10].Rating, LatestSong.[1-10].Thumb, LatestSong.[1-10].Fanart, LatestSong.[1-10].Path LatestAlbum.[1-10].Title, LatestAlbum.[1-10].Artist, LatestAlbum.[1-10].Year, LatestAlbum.[1-10].Rating, LatestAlbum.[1-10].Thumb, LatestAlbum.[1-10].Fanart, LatestAlbum.[1-10].Path The weather window has the following info labels. Location, Updated, Current.Condition, Current.Temperature, Current.FeelsLike, Current.UVIndex, Current.Wind (From Window(Weather).Property(key) <wind dir.> at <speed> <unit>), Current.WindSpeed, Current.WindDirection, Current.DewPoint, Current.Humidity, Day[0-6].Title, Day[0-6].HighTemp, Day[0-6].LowTemp, Day[0-6].Outlook

13.17 Images Available in XBMC


infolabels Definition

Container.FolderThumb

Thumbnail Image of the current displayed folder of list and thumb panels

Container.TvshowThumb

Thumbnail Image of the parent TV show

Container.SeasonThumb

Thumbnail Image of the parent TV show season

Fanart.Image

Fanart image for the parent TV Show

ListItem.Thumb

Shows the thumbnail (if it exists) of the currently selected

item in a list or thumb control

ListItem.Icon

Shows the thumbnail (if it exists) of the currently selected item in a list or thumb control. If no thumbnail image exists, it will show the icon.

ListItem.ActualIcon

Shows the icon of the currently selected item in a list or thumb control.

ListItem.Art(thumb)

Returns the thumbnail of the currently selected item. (Frodo addition)

ListItem.Art(poster)

Returns the poster of the currently selected tv show. (Frodo addition)

ListItem.Art(banner)

Returns the banner of the currently selected tv show. (Frodo addition)

ListItem.Art(fanart)

Returns the fanart image of the currently selected item. (Frodo addition)

ListItem.Art(tvshow.poster)

Returns the tv show poster of the parent container. (Frodo addition)

ListItem.Art(tvshow.banner)

Returns the tv show banner of the parent container. (Frodo addition)

ListItem.Art(season.poster)

Returns the season poster of the currently selected season. (Frodo addition) Only available in DialogVideoInfo.xml

ListItem.Art(season.banner)

Returns the season banner of the currently selected season. (Frodo addition) Only available in DialogVideoInfo.xml

ListItem.Art(season.fanart)

Returns the fanart image of the currently selected season. (Frodo addition) Only available in DialogVideoInfo.xml

ListItem.Overlay

Shows the Overlay Icon status (compressed file [OverlayRAR.png], Trainer [OverlayTrainer.png], watched [OverlayWatched.png], unwatched [OverlayUnwatched.png], locked [OverlayLocked.png]) of the currently selected item in a list or thumb control.

ListItem.StarRating

Returns a value of 0 to 5 as a graphical display from images named rating0.png to rating5.png of the skin

ListItem.Property(ArtistThumb)

Thumbnail Image of the parent artist, for use in dialogalbuminfo.xml and dialogsonginfo.xml

ListItem.Property(Addon.StarRating)

Returns a value of rating0.png to rating5.png for the currently selected addon

ListItem.Property(Fanart_Image)

Fanart Image currently selected item or of the parent TV show (Frodo addition)

ListItem.Property(SeasonThumb)

Thumbnail Image of the parent TV show season, for use in dialogvideoinfo.xml

ListItem.Property(TVShowThumb)

Thumbnail Image of the parent TV show, for use in dialogvideoinfo.xml (Frodo addition available anywhere)

MusicPlayer.Cover

Cover of currently playing album

MusicPlayer.Property(Fanart_Image) Fanart image of the currently playing artist

Player.Art(fanart)

Fanart Image the currently playing episode's parent TV show (Frodo addition)

Player.Art(tvshowthumb)

Thumbnail Image the currently playing episode's parent TV show (Frodo addition)

Player.Art(poster)

Poster Image the currently playing item. (Frodo addition)

Player.Art(thumb)

Thumbnail Image the currently playing item. (Frodo addition)

Player.StarRating

Returns a value of 0 to 5 as a graphical display from images named rating0.png to rating5.png of the skin

Pvr.NowRecordingChannelIcon

Channel icon of the programme currently being recorded. (Frodo addition)

Pvr.NextRecordingChannelIcon

Channel icon of the programme that will be recorded next. (Frodo addition)

Skin.String(name)

Returns the image or image folder set by the user via a Skin.SetPath(name) or Skin.SetImage(name) List of Built In Functions. Allows skinners to have user-customisable images and multiimages.

System.AddonIcon(id)

Returns the Icon of the specified addon. Instead of specifying the id directly, one can also use an infolabel (eg. $INFO[Skin.String(Foo)])

System.ProfileThumb

Shows the Thumbnail image of the currently logged in XBMC user

VideoPlayer.Cover

Cover of currently playing movie

Weather.Conditions

Image of current weather conditions (NOTE: Can be used to load/refresh weather conditions)

Window([window]).Property(key)

Window property. (key can be any value, optional window can be id or name)

The weather window has the following info images. Window(Weather).Property(key) Current.ConditionIcon, Day[0-6].OutlookIcon, Current.FanartCode, Day[0-6].FanartCode

13.18 See also


Development:

Add-on development Skinning

14 Apendix IV: List of Built In Functions


Development Add-on development XBMC Skinning Manual See also: Python development and Skinning The latest up-to-date list of built-in functions can be found in the function CBuiltins::Execute() in the source code file xbmc/interfaces/Builtins.cpp. In addition to the following list, for most <onclick> and <onfocus> button actions in the skin you can also use the functions from Keyboard.xml. Example: <onclick>VolumeUp</onclick> <onclick>VolumeDown</onclick> You can use parameters with all media windows, as can be seen here:

Opening Windows and Dialogs

14.1 List of functions

Help

This help message

Reboot

Cold reboots the system (power cycle)

ShutDown

Trigger default Shutdown action defined in System Settings

Powerdown

Powerdown system

Quit

Quits XBMC

Hibernate

Hibernate (S4) the System

Suspend

Suspends (S3 / S1 depending on bios setting) the System

InhibitIdleShutdown(true/false)

Prevent the system to shutdown on idle. (Future Frodo addition)

AllowIdleShutdown

Allow the system to shutdown on idle. (Future Frodo addition)

ActivateScreensaver

Starts the screensaver (Future Gotham addition)

RestartApp

Restarts XBMC (not implemented under Win32)

Minimize

Minimizes XBMC

Reset

Reset the system (same as reboot)

Mastermode

Runs XBMC in master mode

SetGUILanguage

Set GUI Language (Future Gotham addition)

ActivateWindow(window[,dir,return])

Opens the given window. The parameter window can either be the window's id, or in the case of a standard window, the window's name. See here for a list of window names, and their respective ids. If, furthermore, the window is Music, Video, Pictures, or Program files, then the optional dir parameter specifies which folder XBMC should default to once the window is opened. This must be a source as specified in sources.xml, or a subfolder of a valid source. For some windows (MusicLibrary and VideoLibrary), the return parameter may be specified, which indicates that XBMC should use this folder as the "root" of the level, and thus the "parent directory" action from within this folder will return the user to where they were prior to the window activating.

ActivateWindowAndFocus(id1, id2,item1, id3,item2)

Activate window with id1, first focus control id2 and then focus control id3. if either of the controls is a container, you can specify which item to focus (else, set it to 0).(Future Frodo addition)

ReplaceWindowAndFocus(id1, id2,item1, id3,item2)

Replace window with id1, first focus control id2 and then focus control id3.

if either of the controls is a container, you can specify which item to focus (else, set it to 0).(Future Gotham addition)

ReplaceWindow(window,dir)

Replaces the current window with the given window. This is the same as ActivateWindow() but it doesn't update the window history list, so when you go back from the new window it will not return to the previous window, rather will return to the previous window's previous window.

TakeScreenshot

Takes a Screenshot

RunScript(script[,args]*)

Runs the python script. You must specify the full path to the script. If the script is an add-on, you can also execute it using its add-on id. As of 2007/02/24, all extra parameters are passed to the script as arguments and can be accessed by python using sys.argv

StopScript(id)

Stop the script by ID or path, if running

RunAppleScript(script[,args]*)

Run the specified AppleScript command

RunPlugin(plugin)

Runs the plugin. Full path must be specified. Does not work for folder plugins

RunAddon(id)

Runs the specified plugin/script

Extract

Extracts a specified archive to an optionally specified path. ! REQUIRES ABSOLUTE PATHS !

PlayMedia(media[,isdir][,1],[playoffset=xx])

Plays the media. This can be a playlist, music, or video file, directory, plugin or an Url. The optional parameter ",isdir" can be used for playing a directory. ",1" will start a video in a preview window, instead of fullscreen. If media is a playlist, you can use playoffset=xx where xx is the position to start playback from.

SlideShow(dir [,recursive, [not]random])

Starts a slideshow of pictures in the folder dir. Optional parameters are "recursive", and "random" or "notrandom" parameters. The "recursive" parameter starts a recursive slideshow, adding images from sub-folders. The "random" and "notrandom" parameters override the Randomize setting found in the pictures media window.

RecursiveSlideShow(dir)

Run a slideshow from the specified directory, including all subdirs

ReloadSkin()

Reloads the current skin useful for Skinners to use after they upload modified skin files (saves power cycling)

UnloadSkin()

uNLOADS the current skin

RefreshRSS

Reload RSS feeds from

RSSFeeds.xml

PlayerControl(command)

Allows control of music and videos. The command may be one of Play, Stop, Forward, Rewind, Next, Previous, BigSkipForward, BigSkipBackward, SmallSkipForward, SmallSkipBackward, Random, RandomOn, RandomOff, Repeat, RepeatOne, RepeatAll, RepeatOff, Partymode(music) or Partymode(video) or Partymode(path to .xsp file), and Record. Play will either pause, resume, or stop ffwding or rewinding. Random toggles random playback and Repeat cycles through the repeat modes (these both take an optional second parameter, Notify, that notifies the user of the new state). Partymode(music/video) toggles the appropriate partymode, defaults to music if no parameter is given, besides the default music or video partymode you can also pass a path to a custom smartplaylist (.xsp) as parameter.

Playlist.PlayOffset

Start playing from a particular offset in the playlist

Playlist.Clear

Clear the current playlist

EjectTray()

Either opens or closes the DVD tray, depending on its current state

AlarmClock(name,command,time[,silent,loop])

Pops up a dialog asking for the length of time for the alarm (unless the parameter time is specified), and starts a timer. When the timer runs

out, it'll execute the built-in command (the parameter command) if it is specified, otherwise it'll pop up an alarm notice. Add silent to hide the alarm notification. Add loop for the alarm to execute the command each time the specified time interval expires.

CancelAlarm(name[,silent])

Cancel a running alarm. Set silent to true to hide the alarm notification. only available in trunk >r35674

Action

Executes an action for the active window (same as in keymap)

Notification(header,message[,time,image])

Will display a notification dialog with the specified header and message, in addition you can set the length of time it displays in milliseconds and a icon image.

PlayDVD

Will play the inserted CD or DVD media from the DVD-ROM drive.

RipCD

Will rip the inserted CD from the DVD-ROM drive.

Skin.ToggleSetting(setting)

Toggles the skin setting ?setting? for use with conditional visibility tags containing Skin.HasSetting(setting).

Skin.SetString(string[,value])

Pops up a keyboard dialog and allows the user to input a string which can be used in a label control elsewhere in the skin via the info tag Skin.String(string). If the value parameter is specified, then the

keyboard dialog does not pop up, and the string is set directly.

Skin.SetNumeric(numeric[,value])

Pops up a keyboard dialog and allows the user to input a numerical.

Skin.SetPath(string[,value])

Pops up a folder browser and allows the user to select a folder of images to be used in a multi image control else where in the skin via the info tag Skin.String(string). If the value parameter is specified, then the file browser dialog does not pop up, and the path is set directly.

Skin.Theme

Cycles the skin theme. Skin.theme(-1) will go backwards.

Skin.SetImage(string[,value])

Pops up a file browser and allows the user to select an image file to be used in an image control elsewhere in the skin via the info tag Skin.String(string). If the value parameter is specified, then the file browser dialog does not pop up, and the image path is set directly.

Skin.SetLargeImage(string[,value])

Pops up a file browser and allows the user to select an large image file to be used in an image control else where in the skin via the info tag Skin.String(string). If the value parameter is specified, then the file browser dialog does not pop up, and the image path is set directly.

Skin.SetFile(string,mask,folderpath)

Pops up a folder browser and allows the user to select a file off the harddisk to be used else where in the skin

via the info tag Skin.String(string). If the mask parameter is specified, then the file browser will only search for the extension specified (.avi,.mp3,.m3u,.png,.bmp,etc.,etc.). To use multiple extensions separate them using "|" minus quotes. If the folderpath parameter is set the file browser will start in that folder.

Skin.SetAddon(string,type)

Pops up a select dialog and allows the user to select an add-on of the given type to be used elsewhere in the skin via the info tag Skin.String(string). The most common types are xbmc.addon.video, xbmc.addon.audio, xbmc.addon.image and xbmc.addon.executable.

Skin.SetBool(setting)

Sets the skin setting ?setting? to true, for use with the conditional visibility tags containing Skin.HasSetting(setting). The settings are saved per-skin in settings.xml just like all the other XBMC settings.

Skin.Reset(setting)

Resets the skin setting ?setting?. If ?setting? is a bool setting (i.e. set via SetBool or ToggleSetting) then the setting is reset to false. If ?setting? is a string (Set via SetString, SetImage, or SetPath) then it is set to empty.

Skin.ResetSettings

Resets all the above skin settings to their defaults (toggles all set to false, strings all set to empty.)

Mute

Mutes (or unmutes) the volume.

SetVolume(percent[,showvolumebar])

Sets the volume to the percentage specified. Optionally, show the Volume Dialog in XBMC when setting the volume.

Dialog.Close(dialog[,force])

Close a dialog. Set force to true to bypass animations. Use (all,true) to close all opened dialogs at once.

System.LogOff

Log off current user.

System.Exec

Execute shell commands.

System.ExecWait

Execute shell commands and freezes XBMC until shell is closed.

Resolution

Change XBMC's Resolution.

SetFocus(id,position)

Will make a list with the "id" specified in the command gain focus at "position" number in its list. Alias SetFocus(id,position)

UpdateLibrary(database,[path])

Takes either "video" or "music" as a parameter to begin updating the corresponding database. For "video" you can additionally specify a specific path to be scanned.

CleanLibrary(database)

This funtion will perform a number of 'cleanup' tasks on your video database and can be run if you have moved, deleted or renamed files. Takes either

"video" or "music" as a parameter to begin cleaning the corresponding database.

exportlibrary(music,false,filepath)

The music library will be exported to a single file stored at filepath location.

exportlibrary(video,true,thumbs,overwrite,actorthumbs)

The video library is exported to multiple files with the given options. Here thumbs, overwrite and actorthumbs are boolean values (true or false).

PageDown

Send a page down event to the pagecontrol with given id.

PageUp

Send a page up event to the pagecontrol with given id.

LastFM.Love

All songs that can be submitted to Last.fm can be loved, optional parameter (false) = direct loving without confirmationdialog. (Future Frodo removal)

LastFM.Ban

Only songs that are playing on last.fm radio can be banned, optional parameter (false) = direct banning without confirmationdialog. (Future Frodo removal)

Container.Refresh

Refresh current listing.

Container.Update

Update current listing. Send Container.Update(path,replace) to

reset the path history.

Container.NextViewMode

Select the next view mode.

Container.PreviousViewMode

Select the previous view mode.

Container.SetViewMode(id)

Set the current view mode (list, icons etc.) to the given container id.

Container.NextSortMethod

Change to the next sort method.

Container.PreviousSortMethod

Change to the previous sort method.

Container.SetSortMethod

Change to the specified sort method.

Container.SortDirection

Toggle the sort direction.

Control.Move(id,offset)

Will make a Container with the "id" specified in the command move focus by "offset".

Control.SetFocus(id,position)

Will make a list with the "id" specified in the command gain focus at "position" number in its list. Alias SetFocus(id,position)

Control.Message(id,message,[windowid])

Sends a given message to a control in a given window (or active window if omitted). Messages can be movedown, moveup, pagedown, pageup, click.

SendClick(windowid,id)

Sends a click to a control in a given

window (or active window if omitted).

LoadProfile(profilename,[prompt])

Load the specified profile. If prompt is not specified, and a password would be required for the requested profile, this command will silently fail. If promp' is specified and a password is required, a password dialog will be shown.

SetProperty(key,value[,id])

Sets a window property for the current window (key,value), or the specified window (key,value,id).

ClearProperty(key[,id])

Clears a window property for the current focused window/dialog(key), or the specified window (key,id).

PlayWith()

Play the selected item with the specified player core.

WakeOnLan(mac)

Sends the wake-up packet to the broadcast address for the specified MAC address (Format: FF:FF:FF:FF:FF:FF or FF-FF-FF-FFFF-FF).

LCD.Suspend

Suspends LCDproc. (Future Gotham removal)

LCD.Resume

Resumes LCDproc. (Future Gotham removal)

Addon.Default.OpenSettings

Open a settings dialog for the default addon of the given type

Addon.Default.Set

Open a select dialog to allow choosing the default addon of the given type

Addon.OpenSettings(id)

Open a settings dialog for the addon of the given id

UpdateAddonRepos

Triggers a forced update of enabled add-on repositories.

UpdateLocalAddons

Triggers a scan of local add-on directories.

ToggleDPMS

Toggle DPMS mode manually

CECToggleState

Toggle state of playing device via a CEC peripheral

CECActivateSource

Wake up playing device via a CEC peripheral

CECStandby

Put playing device on standby via a CEC peripheral

Weather.Refresh

Force weather data refresh

Weather.LocationNext

Switch to next weather location

Weather.LocationPrevious

Switch to previous weather location

Weather.LocationSet

Switch to given weather location (parameter can be 1-3)

LIRC.Stop

Removes XBMC as a LIRC client.

LIRC.Start

Adds XBMC as a LIRC client.

LIRC.Send(command)

Sends a command to LIRC, syntax is the lirc protocol without the newline. Example: LIRC.Send(SEND_ONCE Onkyo_RC-453S2 volup)

VideoLibrary.Search

Brings up a search dialog which will search the library

ToggleDebug

Enables/disables debug mode

StartPVRManager

(Re)Starts the PVR manager

StopPVRManager

Stops the PVR manager

Launch an Android native app with the given package name. Optional StartAndroidActivity(package,[intent,dataType,dataURI]) parms (in order): intent, dataType, dataURI.

15 Apendix V: List of Built In Controls


15.1 .xml files
15.1.1 AddonBrowser.xml
ID 2 3 4 button button togglebutton TYPE DESCRIPTION Select viewtype (list, thumbnail, media info, etc...) Select sort method (sort by: name, date size, etc...) Select sortmode (ascending or descending)

5 6 7

radiobutton radiobutton radiobutton

Enable auto-updating of the installed add-on's Enable add-on notifications Enable language filter

15.1.2 DialogAddonInfo.xml
ID 6 7 8 9 10 11 TYPE button button button button button button Install the selected add-on Disable the selected add-on Update the selected add-on Show the settings of the selected add-on Show the changelog of the selected add-on Rollback the selected add-on DESCRIPTION

15.1.3 DialogAddonSettings.xml
ID 2 3 4 5 6 7 8 9 10 11 12 13 20 TYPE grouplist button radiobutton spincontrolex image label sliderex grouplist button button button button label DESCRIPTION Grouplist template Button template Radiobutton template Spincontrolex template Default separator image Label template Slider template Grouplist template OK button Cancel button Defaults button Button template Heading label

15.1.4 DialogAlbumInfo.xml

ID 3 4 5 6 10 11 12 50

TYPE image textbox button button button button button container

DESCRIPTION Artist / Album thumbnail Artist biography / Album review Artist biography / discography toggle and album tracks / review toggle (Deprecated) Refresh artist information / Refresh album information Get artist thumbnail / Get album thumbnail Connect to the Last.fm radio channel for this artist Get artist fanart image List of the discography of the selected artist / List of the tracks on the selected album

15.1.5 DialogBusy.xml
ID 10 TYPE progress Progress bar DESCRIPTION

15.1.6 DialogButtonMenu.xml
ID 3100 label TYPE DESCRIPTION Label of the focused button

15.1.7 DialogContentSettings.xml
ID 3 4 5 6 7 8 28 TYPE spincontrolex container grouplist button button radiobutton button DESCRIPTION Select content type (movies, tv shows, music videos) List of the available scrapers Grouplist template Show the available scraper settings Button template Radiobutton template OK button

29

button

Cancel button

15.1.8 DialogContextMenu.xml
ID 999 998 997 996 999 TYPE image image image grouplist image DESCRIPTION Background image of the context menu (center part) (deprecated) Background image of the context menu (bottom part) (deprecated) Background image of the context menu (top part) (deprecated) Grouplist template Background image of the context menu Button template

1000 button

15.1.9 DialogExtendedProgressBar.xml
ID TYPE 30 label 31 32 label progress DESCRIPTION Heading label Line 1 Scan progress bar

15.1.10 DialogFavourites.xml
ID 450 TYPE container DESCRIPTION List of available favourites

15.1.11 DialogFileStacking.xml
ID 450 TYPE container DESCRIPTION List of all the parts the stacked movie consists of.

15.1.12 DialogGamePad.xml

ID 2 3 4 label label label

TYPE Line 1 Line 2 Line 3

DESCRIPTION

15.1.13 DialogKaiToast.xml
ID 400 401 402 403 404 405 TYPE image label label image image image DESCRIPTION Default Icon Heading text Message text Information icon, used when an informational message is displayed Warning icon, used when a warning message is displayed Error icon, used when an error message is displayed

15.1.14 DialogKaraokeSongSelector.xml
ID 401 402 label label TYPE Song number Song Name DESCRIPTION

15.1.15 DialogKaraokeSongSelectorLarge.xml
ID 401 402 label label TYPE Song number Song Name DESCRIPTION

15.1.16 DialogKeyboard.xml
ID 8 TYPE button DESCRIPTION Backspace button

48 57 65 90 300 301 302 303 304 305 306 307 310 311

button button button button radiobutton radiobutton radiobutton button button button label label

Digits 0 9 Characters A Z Done Button Cancel button Shift button Caps-Lock button Switch to symbols Navigate left button Navigate right button Enter IP address button Label displaying the text being entered Heading label

15.1.17 DialogMediaFilter.xml
(Future Frodo addition) ID 1 5 7 8 9 10 12 28 29 label container button radiobutton spincontrolex sliderex edit button button TYPE Heading label List of filter options Button template Button template Button template Button template Button template OK button Cancel button DESCRIPTION

15.1.18 DialogMediaSource.xml
ID 2 label TYPE Heading label DESCRIPTION

10 11 12 13 14 18 19

container button button button button button button

List of added media sources Browse for location button Button for entering the name for the selected source Add new source button Delete source button OK button Cancel button

15.1.19 DialogMusicScan.xml
(deprecated in Frodo) ID 401 402 403 label label progress TYPE Status label Label displaying the item currently being scanned Scan progress bar DESCRIPTION

15.1.20 DialogMuteBug.xml
ID 901 TYPE image (MUTEBUG_IMAGE) DESCRIPTION

15.1.21 DialogNetworkSetup.xml
ID TYPE 10 spincontrolex 11 12 13 14 15 16 18 19 button button button button button button button button DESCRIPTION Select network protocol Enter server address button Browse for server button Enter port number button Enter username button Enter Password button Manually enter server path OK button Cancel button

15.1.22 DialogNumeric.xml
ID 1 4 10 19 20 21 22 23 label label button button button button button TYPE Heading label Label displaying the digits being entered Digits 0 9 Navigate left button Enter Button Navigate right button Backspace button DESCRIPTION

15.1.23 DialogOK.xml
ID 1 2 3 4 10 label label label label button TYPE Heading label Line 1 Line 2 Line 3 OK button DESCRIPTION

15.1.24 DialogPeripheralManager.xml
ID 10 11 20 TYPE button button container OK button Settings button List of peripheral devices DESCRIPTION

15.1.25 DialogPeripheralSettings.xml
ID TYPE DESCRIPTION

1 3 5 7 8 9 10 28 29 50

label label container button radiobutton spincontrolex sliderex button button button

Heading label No settings label List of settings Button template Radiobutton template spincontrolex template Sliderex template OK button Cancel button Defaults button

15.1.26 DialogPictureInfo.xml
ID 5 TYPE container DESCRIPTION List of the available exif information of the image currently being displayed

15.1.27 DialogProgress.xml
ID 1 2 3 4 10 20 label label label label button progress TYPE Heading label Line 1 Line 2 Line 3 Cancel button Progress bar DESCRIPTION

15.1.28 DialogPVRChannelManager.xml
(Future Frodo addition) ID 4 button TYPE OK button DESCRIPTION

5 6 7 6 8 9 11 12 13 30 31 32 33 34 20

button button radiobutton button edit button spincontrolex radiobutton spincontrolex button button button button button container

Apply button Cancel button Activate channel button Cancel button Channel name Channel logo Select group Activate EPG Select EPG source button Switch to group management Edit channel Delete channel New channel Toggle radio / tv channels Channel list

15.1.29 DialogPVRChannelsOSD.xml
(Future Frodo addition) ID 11 TYPE container Channels list DESCRIPTION

15.1.30 DialogPVRGroupManager.xml
(Future Frodo addition) ID 11 12 13 26 27 28 29 TYPE container container container button button button button Ungrouped channels Grouped channels Group list Add button Rename button Delete button OK button DESCRIPTION

15.1.31 DialogPVRGuideInfo.xml

(Future Frodo addition) ID 5 6 7 TYPE button button button DESCRIPTION Switch to channel button Record button OK button

15.1.32 DialogPVRGuideOSD.xml
(Future Frodo addition) ID 11 TYPE container Guide list DESCRIPTION

15.1.33 DialogPVRGuideSearch.xml
(Future Frodo addition) ID 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 edit radiobutton radiobutton spincontrolex spincontrolex edit edit edit edit spincontrolex radiobutton radiobutton spincontrolex radiobutton spincontrolex radiobutton button button TYPE Search string Include description Case sensitive Minimal duration Maximal duration Start date End date Start time End Time Genre Avoid repeats Unknown genres Groups FTA Channels Ignore timers Cancel button Search button DESCRIPTION

27 28

radiobutton button

Ignore recordings Defaults button

15.1.34 DialogPVRRecordingInfo.xml
(Future Frodo addition) ID TYPE 10 button DESCRIPTION OK button

15.1.35 DialogPVRTimerSettings.xml
(Future Frodo addition) ID 5 7 8 9 10 11 12 28 29 TYPE grouplist button radiobutton spincontrolex sliderex image edit button button DESCRIPTION Grouplist template Button template Radio button template Spincontrolex template Sliderex template Seperator image Edit control template OK button Cancel button

15.1.36 DialogSeekBar.xml
ID 401 402 TYPE slider label DESCRIPTION Marker representing the current seek position Time label displaying current seek position

15.1.37 DialogSelect.xml
ID 1 3 label container TYPE Heading label List of available options DESCRIPTION

2 5 6

label button container

Number of items in the list Manual/Get More... button List of available add-ons

15.1.38 DialogSlider.xml
ID 10 11 12 label slider label TYPE Heading label Slider Label representing the slider value DESCRIPTION

15.1.39 DialogSongInfo.xml
ID 10 11 12 13 TYPE button button button button OK button Cancel button Switch to album information Get song thumbnail DESCRIPTION

15.1.40 DialogTextViewer.xml
ID 5 TYPE textbox DESCRIPTION Text area for add-on output

15.1.41 DialogVideoInfo.xml
ID 3 4 5 6 TYPE image textbox button button Video thumb Text area for displaying the video plot Toggle between video review and cast members (Deprecated) Refresh video information DESCRIPTION

8 9 10 11 12 13 50

button button button button button button container

Play video Resume video Get video Fanart, Poster, Banner, or Thumb (Future Frodo addition) Play movie trailer Get video fanart image (deprecated in Frodo) Show all movies by the director of the selected movie (added after dharma) List of cast members of the currently selected movie

15.1.42 DialogVideoScan.xml
(deprecated in Frodo) ID 401 402 403 404 405 TYPE label label progress progress label Status label Label displaying the directory currently being scanned Progress bar displaying the overall progress Progress bar displaying the progress of the current item Label displaying the item currently being scanned DESCRIPTION

15.1.43 DialogYesNo.xml
ID 1 2 3 4 10 11 label label label label button button TYPE Heading label Line 1 Line 2 Line 3 No button Yes button DESCRIPTION

15.1.44 FileBrowser.xml
ID TYPE DESCRIPTION

450 451 411 412 413 414 415 416

container container label label button button button radiobutton

Directory list List of available thumbnails Heading label Path of the selected item OK button Cancel button Create folder Flip Image horizontally

15.1.45 FileManager.xml
ID 12 13 20 21 101 102 TYPE label label container container label label DESCRIPTION Number of items in directory list 1 Number of items in directory list 2 Directory list 1 Directory list 2 Path of the currently selected directory in list 1 Path of the currently selected directory in list 2

15.1.46 LockSettings.xml
ID 5 7 8 9 28 29 button radiobutton spincontrolex button button TYPE grouplist Grouplist template Button template Radiobutton template Spincontrolex template OK button Cancel button DESCRIPTION

15.1.47 LoginScreen.xml
ID TYPE DESCRIPTION

2 3 52

label label container

Heading label Number of the currently selected profile List of the available profiles

15.1.48 MusicKaraokeLyrics.xml
ID 1 2 image TYPE karvisualisation DESCRIPTION Visualization used as the background for the karaoke lyrics window Image used as the background for the karaoke lyrics window

15.1.49 MusicOSD.xml
ID TYPE 500 button 501 button DESCRIPTION Select visualization (CONTROL_LOCK_BUTTON)

15.1.50 MusicOverlay.xml
ID 1 TYPE image DESCRIPTION (CONTROL_LOGO_PIC)

15.1.51 MusicVisualisation.xml
ID 2 TYPE visualisation DESCRIPTION Background Visualization

15.1.52 MyMusicNav.xml
ID 2 TYPE button DESCRIPTION Select viewtype (list, thumbnail, media info, etc...)

3 4 5 8 12 15 16 17 18 19

button togglebutton radiobutton edit label label radiobutton button label radiobutton / edit

Select sort method (sort by: name, date size, etc...) Select sortmode (ascending or descending) Switch to file mode Search for a string anywhere in the XBMC music database Number of items in the list (CONTROL_FILTER) Start party mode (randomly play songs from your entire music collection) Manually enter artist and album name to lookup the artist and album information on the internet Warning to the user to turn off library mode when no scanned media is found Filter the media files to only show items that include the specified string in the name

15.1.53 MyMusicPlaylist.xml
ID 2 3 4 12 20 21 22 23 24 25 26 button button togglebutton label radiobutton button button button button button button TYPE DESCRIPTION Select viewtype (list, thumbnail, media info, etc...) Select sort method (sort by: name, date size, etc...) Select sortmode (ascending or descending) Number of items in the playlist Shuffle the playlist Save the playlist Clear the playlist Play the playlist Play the next song in the playlist Play the previous song in the playlist Put the playlist on repeat

15.1.54 MyMusicPlaylistEditor.xml
ID 6 TYPE button Load the playlist DESCRIPTION

7 8 12 50 100 101

button button label container container label

Save the playlist Clear the playlist Number of items in the current directory or library list List allowing you to browse your directories and music library List of songs in the playlist Number of items in the playlist

15.1.55 MyMusicSongs.xml
ID 2 3 4 5 7 9 10 11 12 TYPE button button togglebutton radiobutton button button button button label DESCRIPTION Select viewtype (list, thumbnail, media info, etc...) Select sort method (sort by: name, date size, etc...) Select sortmode (ascending or descending) (CONTROL_BTNTYPE) Switch to the playlists section Scan the selected item to the library Record button Rip button (used for ripping cd's) Number of items in the list

15.1.56 MyPics.xml
ID 2 3 4 6 7 9 12 button button togglebutton button button radiobutton label TYPE DESCRIPTION Select viewtype (list, thumbnail, media info, etc...) Select sort method (sort by: name, date size, etc...) Select sortmode (ascending or descending) Start a picture slideshow Start a recursive picture slideshow Randomize the picture slideshow Number of items in the list

15.1.57 MyPrograms.xml

ID 2 3 4 12 button button

TYPE

DESCRIPTION Select viewtype (list, thumbnail, media info, etc...) Select sort method (sort by: name, date size, etc...) Select sortmode (ascending or descending) Number of items in the list

togglebutton label

15.1.58 MyPVR.xml
(Future Frodo addition) ID 10 11 12 13 14 15 16 17 31 32 33 34 35 36 TYPE epggrid container container container container container container container button button button button button button EPG Guide Timeline TV Channels group Radio Channels group Recordings group Timers group EPG Guide Channel EPG Guide Now/Next Search group TV Guide TV Channels Radio Channels Recorings Timers Search DESCRIPTION

15.1.59 MyVideo.xml (deprecated)


ID 2 3 4 5 6 7 TYPE button button togglebutton button button radiobutton DESCRIPTION Select viewtype (list, thumbnail, media info, etc...) Select sort method (sort by: name, date size, etc...) Select sortmode (ascending or descending) (CONTROL_BTNTYPE) Play DVD (used the play physical DVD discs) Stack button (used to display multi-part videos as a single item)

8 12 13

button label button

Scan item to the library Number of items in the list Switch to the playlists section

15.1.60 MyVideoNav.xml
ID 2 3 4 5 6 7 8 10 12 14 11 15 16 17 18 19 TYPE button button togglebutton button button radiobutton button button label button button label button button label radiobutton / edit DESCRIPTION Select viewtype (list, thumbnail, media info, etc...) Select sort method (sort by: name, date size, etc...) Select sortmode (ascending or descending) Switch to file mode Play DVD (used the play physical DVD discs) Stack button (used to display multi-part videos as a single item) Search for a string anywhere in the XBMC video database Show only watched, unwatched or all videos Number of items in the list Show only unwatched or all videos Unlock shares (CONTROL_FILTER) Start party mode (randomly play musicvideos from your collection) Flatten library (hide sub-catagories, like genres, studios, years, etc...) Warning to the user to turn off library mode when no scanned media is found Filter the media files to only show items that include the specified string in the name

15.1.61 MyVideoPlaylist.xml
ID 2 3 4 12 button button togglebutton button TYPE DESCRIPTION Select viewtype (list, thumbnail, media info, etc...) Select sort method (sort by: name, date size, etc...) Select sortmode (ascending or descending) Number of items in the playlist

20 21 22 23 24 25 26

radiobutton button button button button button button

Shuffle the playlist Save the playlist Clear the playlist Play the playlist Play the next song in the playlist Play the previous song in the playlist Put the playlist on repeat

15.1.62 MyWeather.xml
ID 2 3 11 31 32 33 34 35 101 223 224 225 226 227 228 TYPE button spincontrolex label label label label label image image label label label label label label Change weather location Shows the time of last weather update Current day label Today's high temperature value Today's low temperature value Today's weather condition Today's weather icon (CONTROL_IMAGELOGO) Localized Temperature string Localized Feels like string Localized UV index string Localized Wind string Localized Dew point string Localized Humidity string DESCRIPTION Refresh the weather information

15.1.63 Pointer.xml
ID 1 2 3 TYPE image image image Pointer no focus image Pointer focus image Pointer drag image DESCRIPTION

image

Pointer click image

15.1.64 ProfileSettings.xml
ID 2 5 7 8 9 11 28 29 image grouplist button radiobutton spincontrolex image button button TYPE Grouplist template Button template Radiobutton template Spincontrolex template Separator image template OK button Cancel button Name of the selected profile Directory path of the selected profile DESCRIPTION Profile image of the selected profile

1000 label 1001 label

15.1.65 Settings.xml
ID 12 TYPE (CONTROL_CREDITS) DESCRIPTION

15.1.66 SettingsCategory.xml
ID 2 3 5 7 8 9 10 11 label grouplist grouplist button radiobutton spincontrolex button image TYPE DESCRIPTION Label displaying the current settings category Grouplist template for the menu Grouplist template for the settings section Button template Radiobutton template Spincontrolex template Button template for the menu Default separator image

12

edit

Edit control template

15.1.67 SettingsProfile.xml
ID 2 3 4 5 button button TYPE container List of available profiles (CONTROL_LASTLOADED_PROFILE) Enable the loginscreen Auto login (Future Gotham addition) DESCRIPTION

15.1.68 SettingsScreenCalibration.xml
ID 2 3 8 9 10 11 20 label label mover mover mover resize videowindow TYPE Coordinates label Help information Top left mover Right bottom mover Subtitle position mover Pixel aspect ratio box (CONTROL_VIDEO) DESCRIPTION

15.1.69 SlideShow.xml
ID TYPE 10 label 11 12 13 label label [any] DESCRIPTION (LABEL_ROW1) (LABEL_ROW2) (LABEL_ROW2_EXTRA) These controls are visible when the slideshow is paused

15.1.70 SettingsSystemInfo.xml
ID TYPE DESCRIPTION

2 11 40 52 94 95 96 97 98 99

label label label button button button button button button

Line 2 Line 11 System information category label Xbmc build label Show storage information Show summary information Show network information Show video information Show hardware information Show PVR information

15.1.71 SmartPlaylistEditor.xml
ID 2 10 12 13 14 15 16 17 18 19 20 21 22 23 24 label container edit button button button spincontrolex spincontrolex spincontrolex togglebutton button button spincontrolex spincontrolex radiobutton TYPE Heading label List of playlist rules Name of the playlist Add a rule Remove a rule Edit a rule Match rules option (match all rules / match one or more rules) Limit rules option (number of results: 10, 25, 50, 100, etc... items) Sort rules option (order the results by: title, genre, random, etc...) Sort direction option (ascending / descending) OK button Cancel button Set Playlist type (movies, episodes, mixed, etc...) Group by (Future Gotham addition) Mixed (Future Gotham addition) DESCRIPTION

15.1.72 SmartPlaylistRule.xml
ID 15 16 TYPE spincontrolex spincontrolex DESCRIPTION Select field (director, duration, video resolution, etc...) Select operator (is, is not, less than, etc...)

17 18 19 20

button button button button

Enter a value the rule should match OK button Cancel button Browse button

15.1.73 VideoFullScreen.xml
ID TYPE 10 label 11 12 13 14 15 label label button button button DESCRIPTION Line 1 Line 2 Line 3 (BTN_OSD_VIDEO) (BTN_OSD_AUDIO) (BTN_OSD_SUBTITLE)

15.1.74 VideoOSDBookmarks.xml
ID 2 3 4 10 11 container TYPE button button button Add a video bookmark Clear all bookmarks Use the currently selected video bookmark as the episode thumbnail (CONTROL_LIST) List of available bookmarks DESCRIPTION

15.1.75 VideoOSDSettings.xml
ID 2 3 5 7 8 label label grouplist button radiobutton TYPE Heading label Warning to the user that no settings are available Grouplist template Button template Radiobutton template DESCRIPTION

9 10 11 28 29

spincontrolex sliderex image button button

Spincontrolex template Slider template Default separator image OK button Cancel button

15.1.76 VideoOverlay.xml
ID 2 3 4 5 6 7 8 TYPE (CONTROL_PLAYTIME) (CONTROL_PLAY_LOGO) (CONTROL_PAUSE_LOGO) (CONTROL_INFO) (CONTROL_BIG_PLAYTIME) (CONTROL_FF_LOGO) (CONTROL_RW_LOGO) DESCRIPTION

15.1.77 VisualisationPresetList.xml
ID 2 3 4 label label TYPE container List of available presets Heading label Warning to the user that no presets are available DESCRIPTION

15.2 See also


Development:

Add-on development Skinning

16 Apendix VI: List of Default Icons


16.1 Icons used in XBMC skins

The filenames of the default icons are as follows:

16.1.1 Add-ons
DefaultAddon.png DefaultAddonAlbumInfo.png DefaultAddonArtistInfo.png DefaultAddonLyrics.png DefaultAddonMovieInfo.png DefaultAddonMusic.png DefaultAddonMusicVideoInfo.png DefaultAddonNone.png DefaultAddonPicture.png DefaultAddonProgram.png DefaultAddonPVRClient.png DefaultAddonRepository.png DefaultAddonScreensaver.png DefaultAddonService.png DefaultAddonSkin.png DefaultAddonSubtitles.png DefaultAddonTvInfo.png DefaultAddonVideo.png DefaultAddonVisualization.png DefaultAddonWeather.png DefaultAddonWebSkin.png

16.1.2 Music
DefaultAlbumCover.png DefaultArtist.png DefaultAudio.png DefaultMusicAlbums.png

DefaultMusicArtists.png DefaultMusicCompilations.png DefaultMusicGenres.png DefaultMusicPlaylists.png DefaultMusicPlugins.png DefaultMusicRecentlyAdded.png DefaultMusicRecentlyPlayed.png DefaultMusicSearch.png DefaultMusicSongs.png DefaultMusicTop100.png DefaultMusicTop100Albums.png DefaultMusicTop100Songs.png DefaultMusicVideos.png DefaultMusicVideoTitle.png DefaultMusicYears.png

16.1.3 Videos
DefaultActor.png DefaultCountry.png DefaultDirector.png DefaultGenre.png DefaultInProgressShows.png (Frodo) DefaultMovies.png DefaultMovieTitle.png DefaultRecentlyAddedEpisodes.png DefaultRecentlyAddedMovies.png DefaultRecentlyAddedMusicVideos.png DefaultSets.png DefaultStudios.png

DefaultTVShows.png DefaultTVShowTitle.png DefaultVideo.png DefaultVideoCover.png DefaultVideoPlaylists.png DefaultVideoPlugins.png DefaultYear.png

16.1.4 Generic
DefaultAddSource.png DefaultCDDA.png DefaultDVDEmpty.png DefaultDVDRom.png DefaultFile.png DefaultFolder.png DefaultFolderBack.png DefaultHardDisk.png DefaultNetwork.png DefaultPicture.png DefaultPlaylist.png DefaultProgram.png DefaultRemovableDisk.png DefaultScript.png DefaultShortcut.png DefaultVCD.png OverlayHasTrainer.png OverlayHD.png

OverlayLocked.png OverlayRAR.png OverlayTrained.png OverlayUnwatched.png OverlayWatched.png OverlayZIP.png

16.2 See also


Development:

Add-on development Skinning

Retrieved from "http://wiki.xbmc.org/index.php?title=XBMC_Skinning_Manual&oldid=64093" Categories:


Repositories Skin Development XBMC Manual Frodo Development Languages Python Addon Development Incomplete

Personal tools

Log in / create account

Namespaces

Page Discussion

Variants Views

Read View source View history

Actions Google Search


Search

Navigation o o o o o

XBMC.org> XBMC.orgDownloadsSupport forumsBug trackerGit repo (source code)TranslationsDonateWiki home General topics> First time userInstallingBasic controlsVideosLive TVMusic/AudioPicturesRemote controlsSettingsFrequently Asked QuestionsExtras> Add-onsSkinsSupplemental toolsMultiple usersSyncing and sharingWeatherAdvanced topicsDevices> Hardware requirementsAndroidiOSLinuxMac OS XWindowsmore...Developers> Team XBMCXBMC developmentSkin developmentAdd-on developmentTranslation SystemTest builds and betasTroubleshooting Wiki help Wiki help Templates Pages to cleanup Incomplete pages Recent changes Random page
Toolbox

What links here Related changes Special pages Printable version Permanent link This page was last modified on 7 September 2013, at 17:40. This page has been accessed 3,092 times. Content is available under Attribution-ShareAlike 3.0 Unported. Privacy policy About XBMC Disclaimers

You might also like