<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://kodi.wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=WayneJohnston</id>
	<title>Official Kodi Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://kodi.wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=WayneJohnston"/>
	<link rel="alternate" type="text/html" href="https://kodi.wiki/view/Special:Contributions/WayneJohnston"/>
	<updated>2026-06-15T21:46:40Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://kodi.wiki/index.php?title=Internet_video_and_audio_streams&amp;diff=82553</id>
		<title>Internet video and audio streams</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Internet_video_and_audio_streams&amp;diff=82553"/>
		<updated>2014-12-23T20:38:35Z</updated>

		<summary type="html">&lt;p&gt;WayneJohnston: Replaced XBMC with {{kodi}} template.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Video library]] {{l2| [[Music library]] }} }}&lt;br /&gt;
{{see also|Add-ons}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;intro&amp;quot; /&amp;gt;Various internet video and audio streams can be played back in {{kodi}} as if they were locally stored on your media center by using STRM files. As long as the format and streaming-method (network-protocol) is supported by {{kodi}}, stream can be added. These are basic text files that look like &amp;lt;name&amp;gt;.strm and contain a URL to the internet stream. STRM files can also be added to the [[video library]] and can have cover art, summaries, etc.&lt;br /&gt;
&lt;br /&gt;
Some internet sites may have an add-on available that can also access these media streams, rather than having to manually create STRM files. See &#039;&#039;&#039;[[Add-ons]]&#039;&#039;&#039; for more information on how to find and install add-ons.&amp;lt;section end=&amp;quot;intro&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Playing Internet Streams ==&lt;br /&gt;
There are two ways this can be done, either via a custom .STRM file or a standard [[playlists]] (.PLS or .M3U).&lt;br /&gt;
&lt;br /&gt;
=== The .STRM file method: ===&lt;br /&gt;
Create a normal text-file and rename the &#039;&#039;&#039;.txt&#039;&#039;&#039; extension to &#039;&#039;&#039;.strm&#039;&#039;&#039; then open it up with a text-editor (like Notepad in Microsoft Windows) and input the the &#039;&#039;&#039;direct URL-link&#039;&#039;&#039; of the stream. &lt;br /&gt;
:This should look like:&lt;br /&gt;
 &#039;&#039;&#039;&amp;lt;nowiki&amp;gt;http://host/path/stream&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
:or&lt;br /&gt;
 &#039;&#039;&#039;&amp;lt;nowiki&amp;gt;mms://host/path/stream&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
:or&lt;br /&gt;
 &#039;&#039;&#039;&amp;lt;nowiki&amp;gt;rtsp://host/path/stream&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
Other protocols are supported such as &#039;&#039;&#039;&amp;lt;nowiki&amp;gt;http://host/path/to/somefile.mp3.&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
Then save/copy the .strm file to somewhere where you can open it from {{kodi}}, (like on a SMB/SAMBA, XBMS or UPnP share, or just your local hard drive), like you would with any video/audio file. Open it using &#039;&#039;&#039;play&#039;&#039;&#039; in {{kodi}} under Videos (if it is a video stream) or Music (if it is an audio stream). If the video stream does not work then the URL-link could be wrong, or possibly the codec/format or the network-protocol it uses it not supported by {{kodi}}.&lt;br /&gt;
&lt;br /&gt;
If you are creating a list of playlists (for example internal and external Shoutcast streams), save the pls or strm files into a directory accessible by {{kodi}} and add the directory as the source, &#039;&#039;&#039;not&#039;&#039;&#039; the files themselves. &lt;br /&gt;
&lt;br /&gt;
=== The standard playlists (.PLS or .M3U) method: ===&lt;br /&gt;
Download a supported playlist (like .PLS or .M3U) file from the internet, (these playlist files can often be found on the website of the web-radio stations or TV web-casts websites). For example stream.pls or something else, (you can rename it to whatever you want but keep the same extension). Then save/copy the file to somewhere where you can open it from {{kodi}}, like you would with any video/audio file. You should be able to play the file in {{kodi}} by selecting it ether from Videos -&amp;gt; Files or from the Music &amp;quot;file mode&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
If the video stream does not work then the URL-link could be wrong, or possible the codec/format or the network-protocol it uses it not supported by {{kodi}}. You can check and edit playlists with a normal text-editor (like Notepad in Microsoft Windows) and see what the URLs look like.&lt;br /&gt;
&lt;br /&gt;
== Adding STRM files to the library ==&lt;br /&gt;
You can associate meta-data, such as cover art and summaries, to a .strm file just like normal entries in a library by using an [[NFO]] file, just as you would for a normal video file.&lt;br /&gt;
{{frodo updated}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Manual]]&lt;br /&gt;
[[Category:Video library]]&lt;br /&gt;
[[Category:Music library]]&lt;/div&gt;</summary>
		<author><name>WayneJohnston</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Music_playback&amp;diff=82542</id>
		<title>Music playback</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Music_playback&amp;diff=82542"/>
		<updated>2014-12-23T20:09:41Z</updated>

		<summary type="html">&lt;p&gt;WayneJohnston: Replaced XBMC with {{kodi}} template&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Fullscreen music controls.png|right|500px]]&lt;br /&gt;
{{mininav| [[Music library]] {{l2| [[Settings]] }} }}&lt;br /&gt;
Music playback is done while in the main {{kodi}} GUI or the full screen Visualization. {{kodi}} will default to staying in the main GUI.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
{{-}}&lt;br /&gt;
== On screen display (OSD) ==&lt;br /&gt;
[[File:Fullscreen music controls zoom.png|500px|right]]&lt;br /&gt;
{{see also|Keyboard controls}}&lt;br /&gt;
Music control can be done while in the main GUI or the fullscreen/visualization screen.&lt;br /&gt;
&lt;br /&gt;
While in the fullscreen/visualization screen you can bring up the on-screen-display controls by pressing {{keypress|enter}} or {{keypress|M}}.&lt;br /&gt;
{|&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot;|&lt;br /&gt;
# Previous&lt;br /&gt;
# Rewind&lt;br /&gt;
# Play/Pause&lt;br /&gt;
# Stop&lt;br /&gt;
# Fast Forward&lt;br /&gt;
# Next&lt;br /&gt;
# Repeat&lt;br /&gt;
# Shuffle&lt;br /&gt;
# Scrub bar (touch/clickable)&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot;|&lt;br /&gt;
A. Lyrics&amp;lt;br /&amp;gt;&lt;br /&gt;
B. Visualization selection&amp;lt;br /&amp;gt;&lt;br /&gt;
C. Visualization settings&amp;lt;br /&amp;gt;&lt;br /&gt;
D. Visualization pre-sets&amp;lt;br /&amp;gt;&lt;br /&gt;
E. Record stream (no longer used)&amp;lt;br /&amp;gt;&lt;br /&gt;
F. Star rating&lt;br /&gt;
|}&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
== Mini player controls ==&lt;br /&gt;
While in the GUI you are able to browse all of {{kodi}} and even look at pictures while playing music or videos. During GUI playback you can call up the &#039;&#039;Mini player controls&#039;&#039; at any time. In the default skin [[Confluence]], you can do this two ways:&lt;br /&gt;
&lt;br /&gt;
=== Sidebar ===&lt;br /&gt;
[[File:Mini player sidebar-music.png|x400px|right]]&lt;br /&gt;
While the sidebar tab is present and while media is playing, bringing up the sidebar/blade menu by navigating to the left will reveal a small selection of player controls.&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
=== Window ===&lt;br /&gt;
[[File:Mini player window-music-cropped.png|500px|right]]&lt;br /&gt;
A pop-up window with mini player controls can be brought up in [[Confluence]] while media is playing. For a keyboard press {{keypress|M}} while music is playing in the background.&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
== Visualizations ==&lt;br /&gt;
[[File:Visualization.mymusic.jpg|right|500px]]&lt;br /&gt;
One of the most impressive features of My Music is its integrated support for visualizations, which are a way to make your music come to life on screen. {{kodi}} offers support for many visualizations and some of the following may be present in your installation:&lt;br /&gt;
* &#039;&#039;&#039;FishBMC&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Spectrum&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;projectM&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Waveform&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;MilkDrop&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
You can configure Visualization in one of two different ways: Through [[Settings/Music|music settings]] or through the [[#On screen display (OSD)|on screen display (OSD)]] while playing the Visualization.&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
== Internet video and audio streams ==&lt;br /&gt;
{{Main|Internet video and audio streams}}&lt;br /&gt;
{{#lst:Internet video and audio streams|intro}}&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
== Playlists ==&lt;br /&gt;
{{Main|Playlists}}&lt;br /&gt;
* {{big|&#039;&#039;&#039;[[Basic playlists]] -&#039;&#039;&#039;}} {{#lst:Basic playlists|intro}}&lt;br /&gt;
&lt;br /&gt;
* {{big|&#039;&#039;&#039;[[Smart playlists]] -&#039;&#039;&#039;}} {{#lst:Smart playlists|intro}}&lt;br /&gt;
&lt;br /&gt;
== UPnP ==&lt;br /&gt;
{{main|UPnP}}&lt;br /&gt;
{{#lst:UPnP|intro}}&lt;br /&gt;
&lt;br /&gt;
== AirPlay ==&lt;br /&gt;
{{main|AirPlay}}&lt;br /&gt;
{{#lst:AirPlay|intro}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Manual]]&lt;br /&gt;
[[Category:Music library]]&lt;/div&gt;</summary>
		<author><name>WayneJohnston</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Skin_development_introduction&amp;diff=82519</id>
		<title>Skin development introduction</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Skin_development_introduction&amp;diff=82519"/>
		<updated>2014-12-23T17:09:03Z</updated>

		<summary type="html">&lt;p&gt;WayneJohnston: /* Helpful Commands */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Development]]|[[Add-on development]]|[[Skin development]]}}&lt;br /&gt;
{{Cleanup}}&lt;br /&gt;
XBMC is noted as having a very flexible and robust framework for its GUI, making theme-skinning and personal customization very accessible. Users can create their own skin (or modify an existing skin) and share it with others. &amp;quot;Confluence&amp;quot; is the official skin;&lt;br /&gt;
&lt;br /&gt;
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.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
A skin called “Confluence”, which can be found in the XBMC GIT repo, is included with XBMC; the skin was originally created by Jezz_X and is kept up-to-date by Team XBMC. &lt;br /&gt;
Any additional skins you create, or download must be placed in the &#039;&#039;&#039;addons&#039;&#039;&#039; sub-folder if you wish to have XBMC auto-detect the skin and allow you to load it from within the Appearance Settings. See [[Installing Skins]] for more. Currently, XBMC Frodo supports skin versions 4.0.0 and above; you will not be able to select and use a skin that is older than version 4.0.0&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;You may wish to start by having a look through the &amp;quot;&#039;&#039;&#039;[[XBMC Skinning Manual]]&#039;&#039;&#039;&amp;quot; and the &amp;quot;&#039;&#039;&#039;[[XBMC Skinning Tutorials]]&amp;quot;&#039;&#039;&#039; articles, and try modifying a window or two by adding a button, or altering the textures or layout.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Anatomy of a Skin ==&lt;br /&gt;
The “Confluence” skin is a great starting point for designing your own skin; it contains many of the latest GIT features found in XBMC. If you want to make your own skin, start by copying the contents of the existing “Confluence” skin sub-folder into a new folder - for example, &#039;&#039;&#039;skin.name&#039;&#039;&#039;. You can then edit each of the various skin files as you become more familiar with the skinning system.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Each skin folder must contain a &#039;&#039;&#039;addon.xml&#039;&#039;&#039; and this initial set of sub-folders:&lt;br /&gt;
; [[Addon.xml|skin.name/addon.xml]]&lt;br /&gt;
: This contains the information that XBMC uses to find the other files that XBMC requires to describe it&#039;s skin. It also contains credits information, and versioning information.&amp;lt;br /&amp;gt;&lt;br /&gt;
; skin.name/fonts&lt;br /&gt;
: This sub-folder contains all fonts used by the skin. you can add/replace fonts here&lt;br /&gt;
; skin.name/media&lt;br /&gt;
: This sub-folder contains all the media files (.png/.gif/.jpg...) &lt;br /&gt;
; skin.name/sounds&lt;br /&gt;
: This sub-folder contains all the audio files (sounds.xml/.wav...) &lt;br /&gt;
; skin.name/colors&lt;br /&gt;
: This sub-folder contains xml files describing the colors (text/diffuse) used in the skin, to allow different color themes.; skin.name/media&lt;br /&gt;
; skin.name/_screenshots&lt;br /&gt;
: This sub-folder contains 5 to 10 1280x720 sized jpeg images, showcasing your skin&lt;br /&gt;
; skin.name/720p&lt;br /&gt;
: This is a resolution-specific folder.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
You can include multiple resolution-specific folders. The following recognized by XBMC:&lt;br /&gt;
; skin.name/PAL16x9&lt;br /&gt;
: This is a resolution-specific folder.&lt;br /&gt;
; skin.name/NTSC&lt;br /&gt;
: This is a resolution-specific folder.&lt;br /&gt;
; skin.name/NTSC16x9&lt;br /&gt;
: This is a resolution-specific folder.&lt;br /&gt;
; skin.name/720p&lt;br /&gt;
: This is a resolution-specific folder.&lt;br /&gt;
; skin.name/1080i&lt;br /&gt;
: This is a resolution-specific folder.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
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!) You can review the order by which XBMC retrieves resolution information in the &#039;&#039;&#039;[[Skin.xml#How window xml files are found|How Window XML Files Are Found]]&#039;&#039;&#039; section.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
More advanced skins may also contain sub-folders for additional components required to make their skin work; for example:&lt;br /&gt;
; skin.name/backgrounds&lt;br /&gt;
: Often used to store large background images, that shouldn&#039;t be included in  the media folder&lt;br /&gt;
; skin.name/themes&lt;br /&gt;
: Sometimes used to store additional textures in a different colour to create colour themes&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
The goal is to keep your skin folder structure as cleanly organized as possible as it makes it easier to troubleshoot problems; this is becomes very important if you are working as part of a XBMC skin creation team.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Skin Themes ==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
In addition to this, XBMC allows other .xbt files in the media/ folder, each one representing a different theme for your skin. For instance,&lt;br /&gt;
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&lt;br /&gt;
of a particular skin. Note that only the textures change when you change themes – the layout stays the same. If the user has selected&lt;br /&gt;
a theme, then when a control requires a texture, XBMC will first look in the &amp;lt;themename&amp;gt;.xbt file for the texture. It will fall back to the Textures.xbt file if &amp;lt;themename&amp;gt;.xbt doesn&#039;t contain the image. This means that the theme .xbt files need only contain the changed textures – all other textures will fall-back to using Textures.xbt as usual.&lt;br /&gt;
&lt;br /&gt;
When the user selects a theme, XBMC will automatically also select the themes default color set, based on the &amp;lt;themename&amp;gt;.xml file located in the colors/ folder. See below for more information.&lt;br /&gt;
&lt;br /&gt;
A suggested method of creating a theme is as follows:&lt;br /&gt;
&lt;br /&gt;
# Run TexturePacker.exe on the folder containing the default texture files, to generate Textures.xbt as you would normally do.&lt;br /&gt;
# Identify the textures you wish to have themed and copy them to a separate folder.&lt;br /&gt;
# 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.&lt;br /&gt;
# 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).&lt;br /&gt;
# Place Textures.xbt and each of the theme .xbt files in the media/ folder of your skin. XBMC will automatically pick them up.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Colour Themes ==&lt;br /&gt;
Different colour themes can be accomplished by placing a set of .xml files in the colors/ folder of the skin. [[Colour Themes|See here for more information.]]&lt;br /&gt;
&lt;br /&gt;
== Fonts ==&lt;br /&gt;
XBMC allows you to customize which fonts are displayed onscreen in the User Interface. See the &#039;&#039;&#039;[[Fonts]]&#039;&#039;&#039; section for more information.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Includes ==&lt;br /&gt;
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&#039;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 ofcourse you want to override the default look or size etc. in a particular window.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
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.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
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.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
The layout of an includes file is as follows.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
  &amp;lt;includes&amp;gt;&lt;br /&gt;
    &amp;lt;include name=&amp;quot;whitetext&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;textcolor&amp;gt;ffffffff&amp;lt;/textcolor&amp;gt;&lt;br /&gt;
    &amp;lt;/include&amp;gt;&lt;br /&gt;
    &amp;lt;include file=&amp;quot;listdefaults.xml&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;default type=&amp;quot;button&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;include&amp;gt;whitetext&amp;lt;/include&amp;gt;&lt;br /&gt;
    &amp;lt;/default&amp;gt;&lt;br /&gt;
    &amp;lt;constant name=&amp;quot;leftedge&amp;quot;&amp;gt;50&amp;lt;/constant&amp;gt;&lt;br /&gt;
  &amp;lt;/includes&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You&#039;ll notice in the above example that we have 4 different types of includes. The first &amp;lt;include&amp;gt; tag basically allows a substitution of the tags underneath it whenever it occurs. For instance, if in a window .xml file you have this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;control type=&amp;quot;togglebutton&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;include&amp;gt;whitetext&amp;lt;/include&amp;gt;&lt;br /&gt;
    ... other tags go here&lt;br /&gt;
  &amp;lt;/control&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then it would substitute the &amp;lt;textcolor&amp;gt; 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.&lt;br /&gt;
&lt;br /&gt;
The second &amp;lt;include&amp;gt; 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.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;default&amp;gt; tag is similar to an include, except that it is used in every control of that type - even if you don&#039;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 &amp;lt;textcolor&amp;gt; tag in the buttoncontrol.&lt;br /&gt;
&lt;br /&gt;
And finally, the &amp;lt;constant&amp;gt; tag allows you to define a numeric (floating point) constant by name for use in place of numeric values (&amp;lt;posx&amp;gt;, height=&amp;quot;&amp;quot; etc.) would otherwise be used. This allows alignment of items using the same position values which can then easily be altered in one place.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== The Window XML Files ==&lt;br /&gt;
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.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
The list of all window .xml files and what they represent is be found in the &#039;&#039;&#039;[[Window IDs|Window ID&#039;s]]&#039;&#039;&#039; section.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
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&#039;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&#039;s are all listed in the [[Window IDs|window list]].&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
The structure of the window .xml files can be found in the &#039;&#039;&#039;[[Window Structure]]&#039;&#039;&#039; section.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Controls ==&lt;br /&gt;
Controls are the substance of your skin. They define everything from buttons, to text labels, to visualization placement. The &#039;&#039;&#039;[[Controls]]&#039;&#039;&#039; section will explain each and every control in detail.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Conditional Visibility ==&lt;br /&gt;
XBMC&#039;s skinning engine versatility is based apon 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 see the &#039;&#039;&#039;[[Conditional Visibility]]&#039;&#039;&#039; section.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Animating Your Skin ==&lt;br /&gt;
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. For further information, see the &#039;&#039;&#039;[[Animating Your Skin]]&#039;&#039;&#039; section.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Skinning Tutorials ==&lt;br /&gt;
This &#039;&#039;&#039;[[Skinning Tutorials]]&#039;&#039;&#039; section is designed to help both people who are new to skinning XBMC get to grips with how the system works, as well as dealing with a few things that the old timers may find useful.&lt;br /&gt;
&lt;br /&gt;
== Skinning Manual ==&lt;br /&gt;
&lt;br /&gt;
This &#039;&#039;&#039;[[Skinning Manual]]&#039;&#039;&#039; section is designed to give quick overview of all current skin code available to help the developers using the full extend of the possibilities.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;See [[:Category:Skin_Development]] for a list of information&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Helpful Commands ==&lt;br /&gt;
When writing Skins one often needs XBMC to reload the current Skin.&lt;br /&gt;
To avoid the tedious procedure of loading another Skin and reloading yours or even close and reopen XBMC in order to see changes, you can map a key to refreshing the skin. This is done by [[HOW-TO:Modify keyboard.xml|modifying keyboard.xml]].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This example keyboard.xml maps F5 to reloading the Skin, F4 followed by F5 to showing the DebugGrid (Skin specific see e.g. Aeon) and F6 to showing a popup notification (DialogKaiToast.xml)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;yes&amp;quot;?&amp;gt; &lt;br /&gt;
&amp;lt;keymap&amp;gt; &lt;br /&gt;
    &amp;lt;global&amp;gt; &lt;br /&gt;
        &amp;lt;keyboard&amp;gt; &lt;br /&gt;
            &amp;lt;F5&amp;gt;XBMC.ReloadSkin()&amp;lt;/F5&amp;gt; &lt;br /&gt;
            &amp;lt;F4&amp;gt;Skin.ToggleSetting(DebugGrid)&amp;lt;/F4&amp;gt; &lt;br /&gt;
            &amp;lt;F6&amp;gt;Notification(Testing 123,Hello world)&amp;lt;/F6&amp;gt; &lt;br /&gt;
        &amp;lt;/keyboard&amp;gt; &lt;br /&gt;
    &amp;lt;/global&amp;gt; &lt;br /&gt;
&amp;lt;/keymap&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&#039;&#039;&#039;Development:&#039;&#039;&#039;&lt;br /&gt;
* [[Add-on development]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Skin development]]&lt;br /&gt;
[[Category:Add-on development]]&lt;/div&gt;</summary>
		<author><name>WayneJohnston</name></author>
	</entry>
</feed>