<?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=MassIV</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=MassIV"/>
	<link rel="alternate" type="text/html" href="https://kodi.wiki/view/Special:Contributions/MassIV"/>
	<updated>2026-06-17T21:53:34Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://kodi.wiki/index.php?title=Opening_Windows_and_Dialogs&amp;diff=84541</id>
		<title>Opening Windows and Dialogs</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Opening_Windows_and_Dialogs&amp;diff=84541"/>
		<updated>2015-01-28T16:28:22Z</updated>

		<summary type="html">&lt;p&gt;MassIV: /* Videos */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Development]]|[[Add-on development]]}}&lt;br /&gt;
&lt;br /&gt;
You can use the ActivateWindow() [[List of Built In Functions|Built In Function]] to open a certain [[Window IDs|Window]]. &lt;br /&gt;
&lt;br /&gt;
This command can be assigned to a [[Button control|button]] in a skin or mapped to a key in your [[Keyboard.xml|Keymap]].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example:&#039;&#039;&#039;&lt;br /&gt;
* This will take you directly to the settings section/window of xbmc:&lt;br /&gt;
&amp;lt;pre&amp;gt;ActivateWindow(Settings)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Some windows allow you to jump directly to a sub-section of that window.  To do this, you can use either the sub-section&#039;s name or its path.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example:&#039;&#039;&#039;&lt;br /&gt;
* If you want a button in your skin or on your remote to take you directly to the movie listing, you let that button do:&lt;br /&gt;
&amp;lt;pre&amp;gt;ActivateWindow(Videos,MovieTitles)&amp;lt;/pre&amp;gt;&lt;br /&gt;
or, in Gotham&lt;br /&gt;
&amp;lt;pre&amp;gt;ActivateWindow(Videos,videodb://movies/titles/)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Below is a list of the available sub-sections in the Videos, Music, and Programs sections/windows.&lt;br /&gt;
&lt;br /&gt;
== Videos ==&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! Sub-section Name !! Path (Frodo) !! Path (Gotham)&lt;br /&gt;
|-&lt;br /&gt;
|VideoLibrary ||videodb://||videodb://&lt;br /&gt;
|-&lt;br /&gt;
| &amp;amp;nbsp; ||&amp;amp;nbsp; ||&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|Movies ||videodb://1/ ||videodb://movies/&lt;br /&gt;
|-&lt;br /&gt;
|MovieGenres ||videodb://1/1/ ||videodb://movies/genres/&lt;br /&gt;
|-&lt;br /&gt;
|MovieTitles ||videodb://1/2/ ||videodb://movies/titles/&lt;br /&gt;
|-&lt;br /&gt;
|MovieYears ||videodb://1/3/ ||videodb://movies/years/&lt;br /&gt;
|-&lt;br /&gt;
|MovieActors ||videodb://1/4/ ||videodb://movies/actors/&lt;br /&gt;
|-&lt;br /&gt;
|MovieDirectors ||videodb://1/5/ ||videodb://movies/directors/&lt;br /&gt;
|-&lt;br /&gt;
|MovieStudios ||videodb://1/6/ ||videodb://movies/studios/&lt;br /&gt;
|-&lt;br /&gt;
|MovieSets ||videodb://1/7/ ||videodb://movies/sets/&lt;br /&gt;
|-&lt;br /&gt;
|MovieCountries ||videodb://1/8/ ||videodb://movies/countries/&lt;br /&gt;
|- &lt;br /&gt;
|MovieTags ||videodb://1/9/ ||videodb://movies/tags/&lt;br /&gt;
|-&lt;br /&gt;
|RecentlyAddedMovies ||videodb://4/ ||videodb://recentlyaddedmovies/&lt;br /&gt;
|- &lt;br /&gt;
| &amp;amp;nbsp; ||&amp;amp;nbsp; ||&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|TvShows ||videodb://2/ ||videodb://tvshows/&lt;br /&gt;
|-&lt;br /&gt;
|TvShowGenres ||videodb://2/1/ ||videodb://tvshows/genres/&lt;br /&gt;
|-&lt;br /&gt;
|TvShowTitles ||videodb://2/2/ ||videodb://tvshows/titles/&lt;br /&gt;
|-&lt;br /&gt;
|TvShowYears ||videodb://2/3/ ||videodb://tvshows/years/&lt;br /&gt;
|-&lt;br /&gt;
|TvShowActors ||videodb://2/4/ ||videodb://tvshows/actors/&lt;br /&gt;
|-&lt;br /&gt;
|TvShowStudios ||videodb://2/5/ ||videodb://tvshows/studios/&lt;br /&gt;
|-&lt;br /&gt;
|RecentlyAddedEpisodes ||videodb://5/ ||videodb://recentlyaddedepisodes/&lt;br /&gt;
|-&lt;br /&gt;
| &amp;amp;nbsp; ||&amp;amp;nbsp; ||&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|MusicVideos ||videodb://3/ ||videodb://musicvideos/&lt;br /&gt;
|-&lt;br /&gt;
|MusicVideoGenres ||videodb://3/1/ ||videodb://musicvideos/genres/&lt;br /&gt;
|-&lt;br /&gt;
|MusicVideoTitles ||videodb://3/2/ ||videodb://musicvideos/titles/&lt;br /&gt;
|-&lt;br /&gt;
|MusicVideoYears ||videodb://3/3/ ||videodb://musicvideos/years/&lt;br /&gt;
|-&lt;br /&gt;
|MusicVideoArtists ||videodb://3/4/ ||videodb://musicvideos/artists/&lt;br /&gt;
|-&lt;br /&gt;
|MusicVideoAlbums ||videodb://3/5/ ||videodb://musicvideos/albums/&lt;br /&gt;
|-&lt;br /&gt;
|MusicVideoDirectors ||videodb://3/6/ ||videodb://musicvideos/directors/&lt;br /&gt;
|-&lt;br /&gt;
|MusicVideoStudios ||videodb://3/7/ ||videodb://musicvideos/studios/&lt;br /&gt;
|-&lt;br /&gt;
|RecentlyAddedMusicVideos ||videodb://6/ ||videodb://recentlyaddedmusicvideos/&lt;br /&gt;
|-&lt;br /&gt;
| &amp;amp;nbsp; ||&amp;amp;nbsp; ||&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|Playlists ||special://videoplaylists/ ||special://videoplaylists/&lt;br /&gt;
|-&lt;br /&gt;
|Video Add-ons ||addons://sources/video/ ||addons://sources/video/&lt;br /&gt;
|-&lt;br /&gt;
|Files ||sources://video/ ||sources://video/&lt;br /&gt;
|-&lt;br /&gt;
|Root ||? ||library://video/&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Music ==&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! Sub-section Name !! Path (Frodo) !! Path (Gotham)&lt;br /&gt;
|-&lt;br /&gt;
|MusicLibrary ||musicdb:// ||musicdb://&lt;br /&gt;
|-&lt;br /&gt;
| &amp;amp;nbsp; ||&amp;amp;nbsp; ||&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|Genres ||musicdb://1/ ||musicdb://genres/&lt;br /&gt;
|-&lt;br /&gt;
|Artists ||musicdb://2/ ||musicdb://artists/&lt;br /&gt;
|-&lt;br /&gt;
|Albums ||musicdb://3/ ||musicdb://albums/&lt;br /&gt;
|-&lt;br /&gt;
|Songs ||musicdb://4/ ||musicdb://songs/&lt;br /&gt;
|-&lt;br /&gt;
|Top100 ||musicdb://5/ ||musicdb://top100/&lt;br /&gt;
|-&lt;br /&gt;
|Top100Songs ||musicdb://5/1/ ||musicdb://top100/songs/&lt;br /&gt;
|-&lt;br /&gt;
|Top100Albums ||musicdb://5/2/ ||musicdb://top100/albums/&lt;br /&gt;
|-&lt;br /&gt;
|RecentlyAddedAlbums ||musicdb://6/ ||musicdb://recentlyaddedalbums/&lt;br /&gt;
|-&lt;br /&gt;
|RecentlyPlayedAlbums ||musicdb://7/ ||musicdb://recentlyplayedalbums/&lt;br /&gt;
|-&lt;br /&gt;
|Compilations ||musicdb://8/ ||musicdb://compilations/&lt;br /&gt;
|-&lt;br /&gt;
|Years ||musicdb://9/ ||musicdb://years/&lt;br /&gt;
|-&lt;br /&gt;
|Singles ||musicdb://10/ ||musicdb://singles/&lt;br /&gt;
|-&lt;br /&gt;
| &amp;amp;nbsp; ||&amp;amp;nbsp; ||&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|Playlists ||special://musicplaylists/ ||special://musicplaylists/&lt;br /&gt;
|-&lt;br /&gt;
|Music Add-ons ||addons://sources/audio/ ||addons://sources/audio/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Programs ==&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! Sub-section Name !! Path (Frodo) !! Path (Gotham)&lt;br /&gt;
|-&lt;br /&gt;
|Addons||addons://sources/executable/ ||addons://sources/executable/&lt;br /&gt;
|-&lt;br /&gt;
|AndroidApps &amp;lt;ref&amp;gt;The &amp;quot;AndroidApps&amp;quot; sub-section name is a Helix addition. In Gotham, you must specify the full source path. &amp;lt;/ref&amp;gt; ||   ||androidapp://sources/apps/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Skin development]]&lt;br /&gt;
[[Category:Add-on development]]&lt;br /&gt;
[[Category:Python]]&lt;/div&gt;</summary>
		<author><name>MassIV</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=List_of_boolean_conditions&amp;diff=80882</id>
		<title>List of boolean conditions</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=List_of_boolean_conditions&amp;diff=80882"/>
		<updated>2014-11-17T14:57:51Z</updated>

		<summary type="html">&lt;p&gt;MassIV: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{see also|Conditional Visibility}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;main content&amp;quot; /&amp;gt;&lt;br /&gt;
Skins can use boolean conditions with the &amp;lt;visible&amp;gt; tag or with condition attributes. Scripts can read boolean conditions with  &amp;lt;code&amp;gt;xbmc.getCondVisibility(condition)&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! Condition !! Description&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ButtonScroller.HasFocus(id)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the buttonscroller is focused, and the current button has id ?id?.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container.HasThumb&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the current container you are in has a thumb assigned to it&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container.Content(parameter)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the current container you are in contains the following: &#039;&#039;&#039;files, songs, artists, albums, movies, tvshows, seasons, episodes, musicvideos, genres, years, actors, playlists, plugins, studios, directors, sets, tags&#039;&#039;&#039; (Note: these currently only work in the Video and Music Library or unless a Plugin has set the value) also available are &#039;&#039;&#039;Addons&#039;&#039;&#039; true when a list of add-ons is shown &#039;&#039;&#039;LiveTV&#039;&#039;&#039; true when a htsp (tvheadend) directory is shown&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container(id).OnNext&amp;lt;/code&amp;gt;&lt;br /&gt;
| 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.)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container(id).OnScrollNext&amp;lt;/code&amp;gt;&lt;br /&gt;
| 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.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container(id).OnPrevious&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the container with id (or current container if id is omitted) is moving to the previous item.  Allows views to be custom-designed (such as 3D coverviews etc.)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container(id).OnScrollPrevious&amp;lt;/code&amp;gt;&lt;br /&gt;
| 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.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container(id).HasFocus(item_number)&amp;lt;/code&amp;gt;&lt;br /&gt;
| 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.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container(id).HasFiles&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the container contains files (or current container if id is omitted).&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container(id).HasFolders&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the container contains folders (or current container if id is omitted).&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container(id).HasNext&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the container (id) has a next page.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container(id).HasPrevious&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the container (id) has a previous page.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container(id).IsStacked&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the container is currently in stacked mode (or current container if id is omitted).&lt;br /&gt;
|- {{frodo row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;Container.CanFilter&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true when the current container can be filtered. &#039;&#039;&#039;([[:Category:Frodo feature|Frodo addition]])&#039;&#039;&#039;&lt;br /&gt;
|- {{frodo row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;Container.CanFilterAdvanced&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true when advanced filtering can be applied to the current container. &#039;&#039;&#039;([[:Category:Frodo feature|Frodo addition]])&#039;&#039;&#039;&lt;br /&gt;
|- {{frodo row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;Container.Filtered&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true when a mediafilter is applied to the current container. &#039;&#039;&#039;([[:Category:Frodo feature|Frodo addition]])&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container(id).Row(row)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the container with id (or current container if id is omitted) is focused on the row given.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container(id).Column(col)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the container with id (or current container if id is omitted) is focused on the column given.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container(id).Position(pos)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the container with id (or current container if id is omitted) is focused on the position given.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container(id).Scrolling&amp;lt;/code&amp;gt;&lt;br /&gt;
| 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.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Control.IsEnabled(id)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the control with id &amp;quot;id&amp;quot; is enabled.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Control.IsVisible(id)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the control with id &amp;quot;id&amp;quot; is visible.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Control.HasFocus(id)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the currently focused control has id &amp;quot;id&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ControlGroup(group).HasFocus(id)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the control group with id “group” has control id “id” as it&#039;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”. &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;IntegerGreaterThan([[InfoLabels|info]],number)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the value of the [[InfoLabels|infolabel]] is greater than the supplied number.&amp;lt;br /&amp;gt;Example: IntegerGreaterThan(ListItem.Year,2000)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;IsEmpty([[InfoLabels|info]])&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the value of the [[InfoLabels|infolabel]] is empty.&amp;lt;br /&amp;gt;Example: IsEmpty(ListItem.Plot)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Library.HasContent(string)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the XBMC libraries have the content from string.  Valid Strings are (Video, Music, Movies, TVShows, MusicVideos, MovieSets)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Library.IsScanningMusic&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the music library is being updated&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Library.IsScanningVideo&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the video library is being updated&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.IsFolder&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns whether the current ListItem is a folder&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.IsPlaying&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns whether the current ListItem.* [[InfoLabels|info labels]] and images are currently Playing media&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.IsResumable&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true when the current ListItem has been partially played&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.IsSelected&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns whether the current ListItem is selected (f.e. currently playing in playlist window)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.Property(IsSpecial)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns whether the current Season/Episode is a Special&lt;br /&gt;
|- {{frodo row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.HasEpg&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true when the selected programme has epg info (PVR) &#039;&#039;&#039;([[:Category:Frodo feature|Frodo addition]])&#039;&#039;&#039;&lt;br /&gt;
|- {{frodo row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.HasTimer&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true when a recording timer has been set for the selected programme (PVR) &#039;&#039;&#039;([[:Category:Frodo feature|Frodo addition]])&#039;&#039;&#039;&lt;br /&gt;
|- {{frodo row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.IsRecording&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true when the selected programme is being recorded (PVR) &#039;&#039;&#039;([[:Category:Frodo feature|Frodo addition]])&#039;&#039;&#039;&lt;br /&gt;
|- {{frodo row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.IsEncrypted&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true when the selected programme is encrypted (PVR) &#039;&#039;&#039;([[:Category:Frodo feature|Frodo addition]])&#039;&#039;&#039;&lt;br /&gt;
|- {{gotham row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.IsStereoscopic&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true when the selected video is a 3D (stereoscopic) video &#039;&#039;&#039;([[:Category:Gotham feature|Gotham addition]])&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;MusicPlayer.HasNext&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the music player has a next song queued in the Playlist.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;MusicPlayer.HasPrevious&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the music player has a a Previous Song in the Playlist .&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;MusicPlayer.Offset(number).Exists&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the music players playlist has a song queued in position (number).&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;MusicPartyMode.Enabled&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if Party Mode is enabled&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.HasMedia&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the player has an audio or video file.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.HasAudio&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the player has an audio file.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.HasDuration&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if Media isn&#039;t a true stream&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.HasVideo&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the player has a video file.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.Playing&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the player is currently playing (ie not ffwding, rewinding or paused.)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.Paused&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the player is paused.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.Forwarding&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the player is fast forwarding.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.Forwarding2x&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the player is fast forwarding at 2x.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.Forwarding4x&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the player is fast forwarding at 4x.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.Forwarding8x&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the player is fast forwarding at 8x.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.Forwarding16x&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the player is fast forwarding at 16x.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.Forwarding32x&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the player is fast forwarding at 32x.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.Rewinding&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the player is rewinding.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.Rewinding2x&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the player is rewinding at 2x.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.Rewinding4x&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the player is rewinding at 4x.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.Rewinding8x&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the player is rewinding at 8x.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.Rewinding16x&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the player is rewinding at 16x.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.Rewinding32x&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the player is rewinding at 32x.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.CanRecord&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the player can record the current internet stream.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.Recording&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the player is recording the current internet stream.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.Caching&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the player is current &amp;lt;span class=&amp;quot;nobr&amp;quot;&amp;gt;re-caching&amp;lt;/span&amp;gt; data (internet based video playback).&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.SeekBar&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true for the first 2.5 seconds after a video seek.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.DisplayAfterSeek&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true after any seek.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.Seeking&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if a seek is in progress&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.ShowTime&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the user has requested the time to show (occurs in video fullscreen)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.ShowInfo&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the user has requested the song info to show (occurs in visualisation fullscreen and slideshow)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.ShowCodec&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the user has requested the codec to show (occurs in visualisation and video fullscreen)&lt;br /&gt;
|- {{gotham row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.IsInternetStream&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the player is playing an internet stream. &#039;&#039;&#039;([[:Category:Gotham feature|Gotham addition]])&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.Muted&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the volume is muted.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Playlist.IsRandom&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the player is in random mode.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Playlist.IsRepeat&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the player is in repeat all mode.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Playlist.IsRepeatOne&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the player is in repeat one mode.&lt;br /&gt;
|- {{frodo row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;Pvr.HasTimer&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true when a recording timer is active. &#039;&#039;&#039;([[:Category:Frodo feature|Frodo addition]])&#039;&#039;&#039;&lt;br /&gt;
|- {{frodo row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;Pvr.HasNonRecordingTimer&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true when a non recording timer is active. &#039;&#039;&#039;([[:Category:Frodo feature|Frodo addition]])&#039;&#039;&#039;&lt;br /&gt;
|- {{frodo row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;Pvr.HasEpg&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true when an epg is available. &#039;&#039;&#039;([[:Category:Frodo feature|Frodo addition]])&#039;&#039;&#039;&lt;br /&gt;
|- {{frodo row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;Pvr.HasTxt&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true when teletext is available.&#039;&#039;&#039;([[:Category:Frodo feature|Frodo addition]])&#039;&#039;&#039;&lt;br /&gt;
|- {{frodo row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;Pvr.HasDirector&amp;lt;/code&amp;gt;&lt;br /&gt;
| ? &#039;&#039;&#039;([[:Category:Frodo feature|Frodo addition]])&#039;&#039;&#039;&lt;br /&gt;
|- {{frodo row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;Pvr.IsPlayingTv&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true when live tv is being watched. &#039;&#039;&#039;([[:Category:Frodo feature|Frodo addition]])&#039;&#039;&#039;&lt;br /&gt;
|- {{frodo row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;Pvr.IsPlayingRadio&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true when live radio is being listened to. &#039;&#039;&#039;([[:Category:Frodo feature|Frodo addition]])&#039;&#039;&#039;&lt;br /&gt;
|- {{frodo row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;Pvr.IsPlayingRecording&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true when a recording is being watched. &#039;&#039;&#039;([[:Category:Frodo feature|Frodo addition]])&#039;&#039;&#039;&lt;br /&gt;
|- {{frodo row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;Pvr.IsRecording&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true when the system is recording a tv programme. &#039;&#039;&#039;([[:Category:Frodo feature|Frodo addition]])&#039;&#039;&#039;&lt;br /&gt;
|- {{frodo row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;Pvr.ActStreamIsEncrypted&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Returns true if the stream is encrypted &#039;&#039;&#039;([[:Category:Frodo feature|Frodo addition]])&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Skin.HasTheme(theme)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the user has selected the theme with name ?theme?.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Skin.HasSetting(setting)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns the state of the &amp;lt;span class=&amp;quot;nobr&amp;quot;&amp;gt;skin-specified&amp;lt;/span&amp;gt; setting ?setting?. You can toggle a setting from a button by using &amp;lt;onclick&amp;gt;Skin.ToggleSetting(setting)&amp;lt;/onclick&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Skin.String(string)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns whether the skin string (set via Skin.SetString, Skin.SetPath, or Skin.SetImage) is &amp;lt;span class=&amp;quot;nobr&amp;quot;&amp;gt;non-empty&amp;lt;/span&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Skin.String(string1,string2)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Same as stringcompare(Skin.String(string1),string2). Returns true if Skin.String(string1) equals string2.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Slideshow.IsActive&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the picture slideshow is running&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Slideshow.IsPaused&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the picture slideshow is paused&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Slideshow.IsRandom&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the picture slideshow is in random mode&lt;br /&gt;
|- {{gotham row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;Slideshow.IsVideo&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the picture slideshow is playing a video &#039;&#039;&#039;([[:Category:Gotham feature|Gotham addition]])&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;StringCompare([[InfoLabels|info]],string)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the [[InfoLabels|info]] equals the string. example of info: ListItem.Title, ListItem.Genre. Please note that string can also be a $LOCALIZE[] or [[InfoLabels|info label]] (without $INFO prefix). Also note that in a panelview or similar this only works on the focused item.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;SubString([[InfoLabels|info]],string)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the string is found anywhere in the [[InfoLabels|info]]&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;SubString([[InfoLabels|info]],string,[Left or Right])&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the string is found from the start or the end.&amp;lt;br /&amp;gt;Example:&amp;lt;br /&amp;gt;&lt;br /&gt;
(foobars,foob,Left) -&amp;gt; true&amp;lt;br /&amp;gt;&lt;br /&gt;
(foobars,foob,Right) -&amp;gt; False&amp;lt;br /&amp;gt;&lt;br /&gt;
(foobars,bars,Right) -&amp;gt; true&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.HasAddon(id)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the specified addon is installed on the system.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.HasAlarm(alarm)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the system has the ?alarm? alarm set.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.HasPVR&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true on pvr enabled XBMC builds. (Note: Replaced with System.GetBool(pvrmanager.enabled) for Frodo)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.AlarmLessOrEqual(alarmname,seconds)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the alarm with ?alarmname? has less or equal to ?seconds? left. Standard use would be system.alarmlessorequal(shutdowntimer,119), which would return true when the shutdowntimer has less then 2 minutes left.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.HasNetwork&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the ethernet cable is plugged in.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.HasMediadvd&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if there is a CD or DVD in the &amp;lt;span class=&amp;quot;nobr&amp;quot;&amp;gt;DVD-ROM&amp;lt;/span&amp;gt; drive.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.IdleTime(time)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if XBMC has had no input for ?time? amount of seconds.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.IsStandalone&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if XBMC is running in standalone mode.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.IsFullscreen&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if XBMC is running fullscreen.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.KaiConnected&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if XBMC&#039;s Kai client is connected to the PC engine.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.IsLoggedOn&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if a user is currently logged on under a [[Profiles|profile]]&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.HasLoginScreen&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the [[Profiles|profile]] login screen is enabled&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.Time(startTime,endTime)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the current system time is &amp;gt;= startTime and &amp;lt; endTime.  endTime is optional.  Time must be specified in the format HH:mm, using a 24 hour clock.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.Date(startDate,endDate)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the current system date is &amp;gt;= startDate and &amp;lt; endDate.  endDate is optional.  Date must be specified in the format MM-DD.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.Platform.Linux&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if XBMC is running on a linux/unix based computer.&lt;br /&gt;
|- {{gotham row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;System.Platform.Linux.RaspberryPi&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if XBMC is running on a Raspberry Pi. &#039;&#039;&#039;([[:Category:Gotham feature|Gotham addition]])&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.Platform.Windows&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if XBMC is running on a windows based computer.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.Platform.OSX&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if XBMC is running on an OSX based computer.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.Platform.IOS&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if XBMC is running on an IOS device.&lt;br /&gt;
|- {{frodo row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;System.Platform.Darwin&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if XBMC is running on an OSX or IOS system. &#039;&#039;&#039;([[:Category:Frodo feature|Frodo addition]])&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.Platform.ATV2&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if XBMC is running on an atv2.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.Platform.Android&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if XBMC is running on an android device.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.CanPowerDown&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if XBMC can powerdown the system.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.CanSuspend&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if XBMC can suspend the system.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.CanHibernate&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if XBMC can hibernate the system.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.CanReboot&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if XBMC can reboot the system.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.ScreenSaverActive&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if ScreenSaver is active.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.Setting(hidewatched)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if &#039;hide watched items&#039; is selected.&lt;br /&gt;
|- {{frodo row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;System.IsInhibit&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true when shutdown on idle is disabled. &#039;&#039;&#039;([[:Category:Frodo feature|Frodo addition]])&#039;&#039;&#039;&lt;br /&gt;
|- {{frodo row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;System.HasShutdown&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true when shutdown on idle is enabled. &#039;&#039;&#039;([[:Category:Frodo feature|Frodo addition]])&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;VideoPlayer.UsingOverlays&amp;lt;/code&amp;gt;&lt;br /&gt;
| 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.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;VideoPlayer.IsFullscreen&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the video player is in fullscreen mode.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;VideoPlayer.HasMenu&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the video player has a menu (ie is playing a DVD)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;VideoPlayer.HasInfo&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the current playing video has information from the library or from a plugin (eg director/plot etc.)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;VideoPlayer.Content(parameter)&amp;lt;/code&amp;gt;&lt;br /&gt;
| 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&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;VideoPlayer.HasSubtitles&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if there are subtitles available for video. (available for version 11.0 and above)&lt;br /&gt;
|- {{gotham row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;VideoPlayer.IsStereoscopic&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Returns true when the currently playing video is a 3D (stereoscopic) video &#039;&#039;&#039;([[:Category:Gotham feature|Gotham addition]])&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;VideoPlayer.SubtitlesEnabled&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if subtitles are turned on for video. (available for version 11.0 and above)&lt;br /&gt;
|- {{frodo row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;VideoPlayer.HasEpg&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true when epg information is available for the currently playing programme (PVR). &#039;&#039;&#039;([[:Category:Frodo feature|Frodo addition]])&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Visualisation.Enabled&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if any visualisation has been set in settings (so not None).&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Visualisation.Locked&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the current visualisation preset is locked (eg in Milkdrop.)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Weather.IsFetched&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the weather data has been downloaded.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Window.IsVisible(window)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the window is visible (includes fade out time on dialogs)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Window.IsActive(window)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the window with id or title ?window? is active (excludes fade out time on dialogs) [[Window IDs|See here for a list of windows]]&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Window.IsTopMost(window)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the window with id or title ?window? is on top of the window stack (excludes fade out time on dialogs) [[Window IDs|See here for a list of windows]]&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Window.IsMedia&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if this window is a media window (programs, music, video, scripts, pictures)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Window.Next(window)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the window with id or title ?window? is being moved to. [[Window IDs|See here for a list of windows]]. Only valid while windows are changing.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Window.Previous(window)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the window with id or title ?window? is being moved from. [[Window IDs|See here for a list of windows]]. Only valid while windows are changing.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;section end=&amp;quot;main content&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Removed conditions ==&lt;br /&gt;
* &amp;lt;code&amp;gt;AudioScrobbler.Enabled&amp;lt;/code&amp;gt; - Removed in v12 Frodo&lt;br /&gt;
* &amp;lt;code&amp;gt;LastFM.RadioPlaying&amp;lt;/code&amp;gt; - Removed in v12 Frodo&lt;br /&gt;
* &amp;lt;code&amp;gt;LastFM.CanLov&amp;lt;/code&amp;gt; - Removed in v12 Frodo&lt;br /&gt;
* &amp;lt;code&amp;gt;LastFM.CanBan&amp;lt;/code&amp;gt; - Removed in v12 Frodo&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;
* [[Skinning]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Skin development]]&lt;br /&gt;
[[Category:Add-on development]]&lt;/div&gt;</summary>
		<author><name>MassIV</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=HOW-TO:Add_a_new_view_type_to_the_skin&amp;diff=80881</id>
		<title>HOW-TO:Add a new view type to the skin</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=HOW-TO:Add_a_new_view_type_to_the_skin&amp;diff=80881"/>
		<updated>2014-11-17T02:22:12Z</updated>

		<summary type="html">&lt;p&gt;MassIV: /* Troubleshooting */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Development]]|[[Add-on development]]|[[Skinning]]|[[Skinning Tutorials]]}}&lt;br /&gt;
&lt;br /&gt;
==Create the extra includes type xml file==&lt;br /&gt;
&lt;br /&gt;
We start by creating the new include type xml file. This means we are going to extend the current includes.xml file with another file. While making this file is not strictly needed (you could just add the new view in already huge includes.xml) it is recommended for organizing and readability. In this tutorial the new file we are making is named &amp;quot;Viewtype_Banners.xml&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==The content of our viewtype==&lt;br /&gt;
&lt;br /&gt;
This example contains one list with banners and one image control. Before we look at them, notice line 2 and 3 of the content. Line two declares we are dealing with includes. Line 3 declares the name of this (or the first) include in this content.&lt;br /&gt;
&lt;br /&gt;
The first image control is separate from the list, is technically placed behind the list in layer depth (first in code), and it requests the thumb image of the currently focussed item in the list. The list shows the banner and the label of the current item. Make sure &amp;quot;font14&amp;quot; is a supported entry in Font.xml or you won&#039;t see the text. The example list also has two visible conditions like: &#039;&#039;&#039;Container.Content(tvshows)&#039;&#039;&#039;, this is because not all media has banners. Lets not keep you any longer, just paste the below in your empty file (don&#039;t forget the xml version).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&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;Banners&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;control type=&amp;quot;image&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;left&amp;gt;250&amp;lt;/left&amp;gt;&lt;br /&gt;
            &amp;lt;top&amp;gt;250&amp;lt;/top&amp;gt;&lt;br /&gt;
            &amp;lt;width&amp;gt;300&amp;lt;/width&amp;gt;&lt;br /&gt;
            &amp;lt;height&amp;gt;100&amp;lt;/height&amp;gt;&lt;br /&gt;
            &amp;lt;texture&amp;gt;$INFO[Container(709).ListItem.Art(thumb)]&amp;lt;/texture&amp;gt;&lt;br /&gt;
            &amp;lt;aspectratio&amp;gt;keep&amp;lt;/aspectratio&amp;gt;&lt;br /&gt;
            &amp;lt;visible&amp;gt;Control.IsVisible(709)&amp;lt;/visible&amp;gt;&lt;br /&gt;
        &amp;lt;/control&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;control type=&amp;quot;fixedlist&amp;quot; id=&amp;quot;709&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;viewtype label=&amp;quot;Banners&amp;quot;&amp;gt;list&amp;lt;/viewtype&amp;gt;&lt;br /&gt;
            &amp;lt;left&amp;gt;351&amp;lt;/left&amp;gt;&lt;br /&gt;
            &amp;lt;top&amp;gt;112&amp;lt;/top&amp;gt;&lt;br /&gt;
            &amp;lt;width&amp;gt;950&amp;lt;/width&amp;gt;&lt;br /&gt;
            &amp;lt;height&amp;gt;550&amp;lt;/height&amp;gt;&lt;br /&gt;
            &amp;lt;orientation&amp;gt;vertical&amp;lt;/orientation&amp;gt;&lt;br /&gt;
            &amp;lt;focusposition&amp;gt;1&amp;lt;/focusposition&amp;gt;&lt;br /&gt;
            &amp;lt;visible&amp;gt;Container.Content(tvshows) | Container.Content(seasons)&amp;lt;/visible&amp;gt;&lt;br /&gt;
&lt;br /&gt;
            &amp;lt;itemlayout width=&amp;quot;585&amp;quot; height=&amp;quot;190&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
                &amp;lt;control type=&amp;quot;image&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;left&amp;gt;2&amp;lt;/left&amp;gt;&lt;br /&gt;
                    &amp;lt;top&amp;gt;13&amp;lt;/top&amp;gt;&lt;br /&gt;
                    &amp;lt;width&amp;gt;573&amp;lt;/width&amp;gt;&lt;br /&gt;
                    &amp;lt;height&amp;gt;105&amp;lt;/height&amp;gt;&lt;br /&gt;
                    &amp;lt;texture&amp;gt;$INFO[ListItem.Art(banner)]&amp;lt;/texture&amp;gt;&lt;br /&gt;
                    &amp;lt;aspectratio&amp;gt;stretch&amp;lt;/aspectratio&amp;gt;&lt;br /&gt;
                &amp;lt;/control&amp;gt;&lt;br /&gt;
                &amp;lt;control type=&amp;quot;label&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;left&amp;gt;10&amp;lt;/left&amp;gt;&lt;br /&gt;
                    &amp;lt;top&amp;gt;107&amp;lt;/top&amp;gt;&lt;br /&gt;
                    &amp;lt;width&amp;gt;633&amp;lt;/width&amp;gt;&lt;br /&gt;
                    &amp;lt;height&amp;gt;60&amp;lt;/height&amp;gt;&lt;br /&gt;
                    &amp;lt;align&amp;gt;left&amp;lt;/align&amp;gt;&lt;br /&gt;
                    &amp;lt;label&amp;gt;$INFO[ListItem.Label]&amp;lt;/label&amp;gt;&lt;br /&gt;
                    &amp;lt;font&amp;gt;font14&amp;lt;/font&amp;gt;&lt;br /&gt;
                    &amp;lt;textcolor&amp;gt;FFFFFFFF&amp;lt;/textcolor&amp;gt;&lt;br /&gt;
                    &amp;lt;selectedcolor&amp;gt;FFFFFFFF&amp;lt;/selectedcolor&amp;gt;&lt;br /&gt;
                &amp;lt;/control&amp;gt;&lt;br /&gt;
&lt;br /&gt;
            &amp;lt;/itemlayout&amp;gt;&lt;br /&gt;
            &amp;lt;focusedlayout width=&amp;quot;585&amp;quot; height=&amp;quot;190&amp;quot;&amp;gt;&lt;br /&gt;
				&lt;br /&gt;
                &amp;lt;control type=&amp;quot;image&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;left&amp;gt;2&amp;lt;/left&amp;gt;&lt;br /&gt;
                    &amp;lt;top&amp;gt;13&amp;lt;/top&amp;gt;&lt;br /&gt;
                    &amp;lt;width&amp;gt;573&amp;lt;/width&amp;gt;&lt;br /&gt;
                    &amp;lt;height&amp;gt;105&amp;lt;/height&amp;gt;&lt;br /&gt;
                    &amp;lt;texture&amp;gt;$INFO[ListItem.Art(banner)]&amp;lt;/texture&amp;gt;&lt;br /&gt;
                    &amp;lt;aspectratio&amp;gt;stretch&amp;lt;/aspectratio&amp;gt;&lt;br /&gt;
                &amp;lt;/control&amp;gt;&lt;br /&gt;
                &amp;lt;control type=&amp;quot;label&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;left&amp;gt;10&amp;lt;/left&amp;gt;&lt;br /&gt;
                    &amp;lt;top&amp;gt;107&amp;lt;/top&amp;gt;&lt;br /&gt;
                    &amp;lt;width&amp;gt;633&amp;lt;/width&amp;gt;&lt;br /&gt;
                    &amp;lt;height&amp;gt;60&amp;lt;/height&amp;gt;&lt;br /&gt;
                    &amp;lt;align&amp;gt;left&amp;lt;/align&amp;gt;&lt;br /&gt;
                    &amp;lt;label&amp;gt;$INFO[ListItem.Label]&amp;lt;/label&amp;gt;&lt;br /&gt;
                    &amp;lt;font&amp;gt;font14&amp;lt;/font&amp;gt;&lt;br /&gt;
                    &amp;lt;textcolor&amp;gt;FFFFFFFF&amp;lt;/textcolor&amp;gt;&lt;br /&gt;
                    &amp;lt;selectedcolor&amp;gt;FFFFFFFF&amp;lt;/selectedcolor&amp;gt;&lt;br /&gt;
                &amp;lt;/control&amp;gt;&lt;br /&gt;
&lt;br /&gt;
            &amp;lt;/focusedlayout&amp;gt;&lt;br /&gt;
        &amp;lt;/control&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;/include&amp;gt;&lt;br /&gt;
&amp;lt;/includes&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Lets make it available in the skin==&lt;br /&gt;
&lt;br /&gt;
Three little things XBMC needs to know about our new viewtype. &lt;br /&gt;
&lt;br /&gt;
A. &#039;&#039;&#039;Open the file includes.xml.&#039;&#039;&#039; First we need to actually add the extension of includes.xml that we made (Viewtype_Banners.xml) to includes.xml. So we add the following line to includes.xml&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;include file=&amp;quot;Viewtype_Banners.xml&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
B. &#039;&#039;&#039;Open the file MyVideoNav.xml.&#039;&#039;&#039; The skin needs to know in what order the viewtypes get flipped through when we press the &amp;quot;next viewtype&amp;quot; button. So the number of our viewtype &#039;&#039;&#039;709&#039;&#039;&#039; needs to get added inbetween the views tags. This line of code should be near the top.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;views&amp;gt;637,709,501,603,781,50&amp;lt;/views&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
C. &#039;&#039;&#039;Open the file MyVideoNav.xml.&#039;&#039;&#039; Hey great, you already had it open. Now we add the actual include. What did we name our include again in line 3 of our content? Did we use a capital B? &#039;&#039;&#039;&amp;lt;include&amp;gt;Banners&amp;lt;/include&amp;gt;&#039;&#039;&#039; is what we add. Alright, so maybe you see numbers behind the includes. Kodi does not read those, that is how you format a comment.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;include&amp;gt;Banners&amp;lt;/include&amp;gt;&amp;lt;!-- 709 --&amp;gt;&lt;br /&gt;
&amp;lt;include&amp;gt;Panel&amp;lt;/include&amp;gt;&amp;lt;!-- 603 --&amp;gt;&lt;br /&gt;
&amp;lt;include&amp;gt;List&amp;lt;/include&amp;gt;&amp;lt;!-- 50 --&amp;gt; &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==That&#039;s it==&lt;br /&gt;
&lt;br /&gt;
What might be left to do? Well your skin might not have a button to flip through the available viewtypes. So you need to add a button or item to perform this function. Look in the documentation or in the skin if you need an example.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;onclick&amp;gt;Container.NextViewMode&amp;lt;/onclick&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Don&#039;t forget to refresh the skin to load the new code. Have a look at the foundation thread for how to do this:&lt;br /&gt;
http://forum.xbmc.org/showthread.php?tid=94438&lt;br /&gt;
&lt;br /&gt;
Now we can head over to our TV Shows (remember it&#039;s not available everywhere) to work on our new viewtype.&lt;br /&gt;
&lt;br /&gt;
Now for your next challenge you can try to change the banner view into something else. How about a panel that loads posters?&lt;br /&gt;
http://wiki.xbmc.org/?title=Panel_Container&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting==&lt;br /&gt;
&lt;br /&gt;
Viewtype not showing up? It is possible that the ID you have used for the viewtype is already in use.&lt;br /&gt;
A good editor like Notepad++ will allow you to search your entire 720p (or other resolution) folder for the ID you used.&lt;br /&gt;
You can even include the word id and the quotes around the number.&lt;br /&gt;
&lt;br /&gt;
There are some ID&#039;s you can&#039;t use. The ones used by the window: http://kodi.wiki/view/Window_IDs&lt;br /&gt;
&lt;br /&gt;
And the ones of the mandatory controls: http://kodi.wiki/view/XBMC_Skinning_Manual#.xml_files&lt;br /&gt;
&lt;br /&gt;
Easiest way to know if a number does not belong to a Window or a mandatory control is to look at the numbers used by other skins.&lt;/div&gt;</summary>
		<author><name>MassIV</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=HOW-TO:Add_a_new_view_type_to_the_skin&amp;diff=80880</id>
		<title>HOW-TO:Add a new view type to the skin</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=HOW-TO:Add_a_new_view_type_to_the_skin&amp;diff=80880"/>
		<updated>2014-11-17T02:21:22Z</updated>

		<summary type="html">&lt;p&gt;MassIV: /* That&amp;#039;s it */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Development]]|[[Add-on development]]|[[Skinning]]|[[Skinning Tutorials]]}}&lt;br /&gt;
&lt;br /&gt;
==Create the extra includes type xml file==&lt;br /&gt;
&lt;br /&gt;
We start by creating the new include type xml file. This means we are going to extend the current includes.xml file with another file. While making this file is not strictly needed (you could just add the new view in already huge includes.xml) it is recommended for organizing and readability. In this tutorial the new file we are making is named &amp;quot;Viewtype_Banners.xml&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==The content of our viewtype==&lt;br /&gt;
&lt;br /&gt;
This example contains one list with banners and one image control. Before we look at them, notice line 2 and 3 of the content. Line two declares we are dealing with includes. Line 3 declares the name of this (or the first) include in this content.&lt;br /&gt;
&lt;br /&gt;
The first image control is separate from the list, is technically placed behind the list in layer depth (first in code), and it requests the thumb image of the currently focussed item in the list. The list shows the banner and the label of the current item. Make sure &amp;quot;font14&amp;quot; is a supported entry in Font.xml or you won&#039;t see the text. The example list also has two visible conditions like: &#039;&#039;&#039;Container.Content(tvshows)&#039;&#039;&#039;, this is because not all media has banners. Lets not keep you any longer, just paste the below in your empty file (don&#039;t forget the xml version).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&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;Banners&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;control type=&amp;quot;image&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;left&amp;gt;250&amp;lt;/left&amp;gt;&lt;br /&gt;
            &amp;lt;top&amp;gt;250&amp;lt;/top&amp;gt;&lt;br /&gt;
            &amp;lt;width&amp;gt;300&amp;lt;/width&amp;gt;&lt;br /&gt;
            &amp;lt;height&amp;gt;100&amp;lt;/height&amp;gt;&lt;br /&gt;
            &amp;lt;texture&amp;gt;$INFO[Container(709).ListItem.Art(thumb)]&amp;lt;/texture&amp;gt;&lt;br /&gt;
            &amp;lt;aspectratio&amp;gt;keep&amp;lt;/aspectratio&amp;gt;&lt;br /&gt;
            &amp;lt;visible&amp;gt;Control.IsVisible(709)&amp;lt;/visible&amp;gt;&lt;br /&gt;
        &amp;lt;/control&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;control type=&amp;quot;fixedlist&amp;quot; id=&amp;quot;709&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;viewtype label=&amp;quot;Banners&amp;quot;&amp;gt;list&amp;lt;/viewtype&amp;gt;&lt;br /&gt;
            &amp;lt;left&amp;gt;351&amp;lt;/left&amp;gt;&lt;br /&gt;
            &amp;lt;top&amp;gt;112&amp;lt;/top&amp;gt;&lt;br /&gt;
            &amp;lt;width&amp;gt;950&amp;lt;/width&amp;gt;&lt;br /&gt;
            &amp;lt;height&amp;gt;550&amp;lt;/height&amp;gt;&lt;br /&gt;
            &amp;lt;orientation&amp;gt;vertical&amp;lt;/orientation&amp;gt;&lt;br /&gt;
            &amp;lt;focusposition&amp;gt;1&amp;lt;/focusposition&amp;gt;&lt;br /&gt;
            &amp;lt;visible&amp;gt;Container.Content(tvshows) | Container.Content(seasons)&amp;lt;/visible&amp;gt;&lt;br /&gt;
&lt;br /&gt;
            &amp;lt;itemlayout width=&amp;quot;585&amp;quot; height=&amp;quot;190&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
                &amp;lt;control type=&amp;quot;image&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;left&amp;gt;2&amp;lt;/left&amp;gt;&lt;br /&gt;
                    &amp;lt;top&amp;gt;13&amp;lt;/top&amp;gt;&lt;br /&gt;
                    &amp;lt;width&amp;gt;573&amp;lt;/width&amp;gt;&lt;br /&gt;
                    &amp;lt;height&amp;gt;105&amp;lt;/height&amp;gt;&lt;br /&gt;
                    &amp;lt;texture&amp;gt;$INFO[ListItem.Art(banner)]&amp;lt;/texture&amp;gt;&lt;br /&gt;
                    &amp;lt;aspectratio&amp;gt;stretch&amp;lt;/aspectratio&amp;gt;&lt;br /&gt;
                &amp;lt;/control&amp;gt;&lt;br /&gt;
                &amp;lt;control type=&amp;quot;label&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;left&amp;gt;10&amp;lt;/left&amp;gt;&lt;br /&gt;
                    &amp;lt;top&amp;gt;107&amp;lt;/top&amp;gt;&lt;br /&gt;
                    &amp;lt;width&amp;gt;633&amp;lt;/width&amp;gt;&lt;br /&gt;
                    &amp;lt;height&amp;gt;60&amp;lt;/height&amp;gt;&lt;br /&gt;
                    &amp;lt;align&amp;gt;left&amp;lt;/align&amp;gt;&lt;br /&gt;
                    &amp;lt;label&amp;gt;$INFO[ListItem.Label]&amp;lt;/label&amp;gt;&lt;br /&gt;
                    &amp;lt;font&amp;gt;font14&amp;lt;/font&amp;gt;&lt;br /&gt;
                    &amp;lt;textcolor&amp;gt;FFFFFFFF&amp;lt;/textcolor&amp;gt;&lt;br /&gt;
                    &amp;lt;selectedcolor&amp;gt;FFFFFFFF&amp;lt;/selectedcolor&amp;gt;&lt;br /&gt;
                &amp;lt;/control&amp;gt;&lt;br /&gt;
&lt;br /&gt;
            &amp;lt;/itemlayout&amp;gt;&lt;br /&gt;
            &amp;lt;focusedlayout width=&amp;quot;585&amp;quot; height=&amp;quot;190&amp;quot;&amp;gt;&lt;br /&gt;
				&lt;br /&gt;
                &amp;lt;control type=&amp;quot;image&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;left&amp;gt;2&amp;lt;/left&amp;gt;&lt;br /&gt;
                    &amp;lt;top&amp;gt;13&amp;lt;/top&amp;gt;&lt;br /&gt;
                    &amp;lt;width&amp;gt;573&amp;lt;/width&amp;gt;&lt;br /&gt;
                    &amp;lt;height&amp;gt;105&amp;lt;/height&amp;gt;&lt;br /&gt;
                    &amp;lt;texture&amp;gt;$INFO[ListItem.Art(banner)]&amp;lt;/texture&amp;gt;&lt;br /&gt;
                    &amp;lt;aspectratio&amp;gt;stretch&amp;lt;/aspectratio&amp;gt;&lt;br /&gt;
                &amp;lt;/control&amp;gt;&lt;br /&gt;
                &amp;lt;control type=&amp;quot;label&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;left&amp;gt;10&amp;lt;/left&amp;gt;&lt;br /&gt;
                    &amp;lt;top&amp;gt;107&amp;lt;/top&amp;gt;&lt;br /&gt;
                    &amp;lt;width&amp;gt;633&amp;lt;/width&amp;gt;&lt;br /&gt;
                    &amp;lt;height&amp;gt;60&amp;lt;/height&amp;gt;&lt;br /&gt;
                    &amp;lt;align&amp;gt;left&amp;lt;/align&amp;gt;&lt;br /&gt;
                    &amp;lt;label&amp;gt;$INFO[ListItem.Label]&amp;lt;/label&amp;gt;&lt;br /&gt;
                    &amp;lt;font&amp;gt;font14&amp;lt;/font&amp;gt;&lt;br /&gt;
                    &amp;lt;textcolor&amp;gt;FFFFFFFF&amp;lt;/textcolor&amp;gt;&lt;br /&gt;
                    &amp;lt;selectedcolor&amp;gt;FFFFFFFF&amp;lt;/selectedcolor&amp;gt;&lt;br /&gt;
                &amp;lt;/control&amp;gt;&lt;br /&gt;
&lt;br /&gt;
            &amp;lt;/focusedlayout&amp;gt;&lt;br /&gt;
        &amp;lt;/control&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;/include&amp;gt;&lt;br /&gt;
&amp;lt;/includes&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Lets make it available in the skin==&lt;br /&gt;
&lt;br /&gt;
Three little things XBMC needs to know about our new viewtype. &lt;br /&gt;
&lt;br /&gt;
A. &#039;&#039;&#039;Open the file includes.xml.&#039;&#039;&#039; First we need to actually add the extension of includes.xml that we made (Viewtype_Banners.xml) to includes.xml. So we add the following line to includes.xml&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;include file=&amp;quot;Viewtype_Banners.xml&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
B. &#039;&#039;&#039;Open the file MyVideoNav.xml.&#039;&#039;&#039; The skin needs to know in what order the viewtypes get flipped through when we press the &amp;quot;next viewtype&amp;quot; button. So the number of our viewtype &#039;&#039;&#039;709&#039;&#039;&#039; needs to get added inbetween the views tags. This line of code should be near the top.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;views&amp;gt;637,709,501,603,781,50&amp;lt;/views&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
C. &#039;&#039;&#039;Open the file MyVideoNav.xml.&#039;&#039;&#039; Hey great, you already had it open. Now we add the actual include. What did we name our include again in line 3 of our content? Did we use a capital B? &#039;&#039;&#039;&amp;lt;include&amp;gt;Banners&amp;lt;/include&amp;gt;&#039;&#039;&#039; is what we add. Alright, so maybe you see numbers behind the includes. Kodi does not read those, that is how you format a comment.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;include&amp;gt;Banners&amp;lt;/include&amp;gt;&amp;lt;!-- 709 --&amp;gt;&lt;br /&gt;
&amp;lt;include&amp;gt;Panel&amp;lt;/include&amp;gt;&amp;lt;!-- 603 --&amp;gt;&lt;br /&gt;
&amp;lt;include&amp;gt;List&amp;lt;/include&amp;gt;&amp;lt;!-- 50 --&amp;gt; &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==That&#039;s it==&lt;br /&gt;
&lt;br /&gt;
What might be left to do? Well your skin might not have a button to flip through the available viewtypes. So you need to add a button or item to perform this function. Look in the documentation or in the skin if you need an example.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;onclick&amp;gt;Container.NextViewMode&amp;lt;/onclick&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Don&#039;t forget to refresh the skin to load the new code. Have a look at the foundation thread for how to do this:&lt;br /&gt;
http://forum.xbmc.org/showthread.php?tid=94438&lt;br /&gt;
&lt;br /&gt;
Now we can head over to our TV Shows (remember it&#039;s not available everywhere) to work on our new viewtype.&lt;br /&gt;
&lt;br /&gt;
Now for your next challenge you can try to change the banner view into something else. How about a panel that loads posters?&lt;br /&gt;
http://wiki.xbmc.org/?title=Panel_Container&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting==&lt;br /&gt;
&lt;br /&gt;
Viewtype not showing up? It is possible that the ID you have used for the viewtype is already in use.&lt;br /&gt;
A good editor like Notepad++ will allow you to search your entire 720p (or other resolution) folder for the ID you used.&lt;br /&gt;
You can even include the word id and the quotes around it.&lt;br /&gt;
&lt;br /&gt;
There are some ID&#039;s you can&#039;t use. The ones used by the window: http://kodi.wiki/view/Window_IDs&lt;br /&gt;
&lt;br /&gt;
And the ones of the mandatory controls: http://kodi.wiki/view/XBMC_Skinning_Manual#.xml_files&lt;br /&gt;
&lt;br /&gt;
Easiest way to know if a number does not belong to a Window or a mandatory control is to look at the numbers used by other skins.&lt;/div&gt;</summary>
		<author><name>MassIV</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=HOW-TO:Add_a_new_view_type_to_the_skin&amp;diff=80879</id>
		<title>HOW-TO:Add a new view type to the skin</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=HOW-TO:Add_a_new_view_type_to_the_skin&amp;diff=80879"/>
		<updated>2014-11-17T02:18:35Z</updated>

		<summary type="html">&lt;p&gt;MassIV: /* Lets make it available in the skin */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Development]]|[[Add-on development]]|[[Skinning]]|[[Skinning Tutorials]]}}&lt;br /&gt;
&lt;br /&gt;
==Create the extra includes type xml file==&lt;br /&gt;
&lt;br /&gt;
We start by creating the new include type xml file. This means we are going to extend the current includes.xml file with another file. While making this file is not strictly needed (you could just add the new view in already huge includes.xml) it is recommended for organizing and readability. In this tutorial the new file we are making is named &amp;quot;Viewtype_Banners.xml&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==The content of our viewtype==&lt;br /&gt;
&lt;br /&gt;
This example contains one list with banners and one image control. Before we look at them, notice line 2 and 3 of the content. Line two declares we are dealing with includes. Line 3 declares the name of this (or the first) include in this content.&lt;br /&gt;
&lt;br /&gt;
The first image control is separate from the list, is technically placed behind the list in layer depth (first in code), and it requests the thumb image of the currently focussed item in the list. The list shows the banner and the label of the current item. Make sure &amp;quot;font14&amp;quot; is a supported entry in Font.xml or you won&#039;t see the text. The example list also has two visible conditions like: &#039;&#039;&#039;Container.Content(tvshows)&#039;&#039;&#039;, this is because not all media has banners. Lets not keep you any longer, just paste the below in your empty file (don&#039;t forget the xml version).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&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;Banners&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;control type=&amp;quot;image&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;left&amp;gt;250&amp;lt;/left&amp;gt;&lt;br /&gt;
            &amp;lt;top&amp;gt;250&amp;lt;/top&amp;gt;&lt;br /&gt;
            &amp;lt;width&amp;gt;300&amp;lt;/width&amp;gt;&lt;br /&gt;
            &amp;lt;height&amp;gt;100&amp;lt;/height&amp;gt;&lt;br /&gt;
            &amp;lt;texture&amp;gt;$INFO[Container(709).ListItem.Art(thumb)]&amp;lt;/texture&amp;gt;&lt;br /&gt;
            &amp;lt;aspectratio&amp;gt;keep&amp;lt;/aspectratio&amp;gt;&lt;br /&gt;
            &amp;lt;visible&amp;gt;Control.IsVisible(709)&amp;lt;/visible&amp;gt;&lt;br /&gt;
        &amp;lt;/control&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;control type=&amp;quot;fixedlist&amp;quot; id=&amp;quot;709&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;viewtype label=&amp;quot;Banners&amp;quot;&amp;gt;list&amp;lt;/viewtype&amp;gt;&lt;br /&gt;
            &amp;lt;left&amp;gt;351&amp;lt;/left&amp;gt;&lt;br /&gt;
            &amp;lt;top&amp;gt;112&amp;lt;/top&amp;gt;&lt;br /&gt;
            &amp;lt;width&amp;gt;950&amp;lt;/width&amp;gt;&lt;br /&gt;
            &amp;lt;height&amp;gt;550&amp;lt;/height&amp;gt;&lt;br /&gt;
            &amp;lt;orientation&amp;gt;vertical&amp;lt;/orientation&amp;gt;&lt;br /&gt;
            &amp;lt;focusposition&amp;gt;1&amp;lt;/focusposition&amp;gt;&lt;br /&gt;
            &amp;lt;visible&amp;gt;Container.Content(tvshows) | Container.Content(seasons)&amp;lt;/visible&amp;gt;&lt;br /&gt;
&lt;br /&gt;
            &amp;lt;itemlayout width=&amp;quot;585&amp;quot; height=&amp;quot;190&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
                &amp;lt;control type=&amp;quot;image&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;left&amp;gt;2&amp;lt;/left&amp;gt;&lt;br /&gt;
                    &amp;lt;top&amp;gt;13&amp;lt;/top&amp;gt;&lt;br /&gt;
                    &amp;lt;width&amp;gt;573&amp;lt;/width&amp;gt;&lt;br /&gt;
                    &amp;lt;height&amp;gt;105&amp;lt;/height&amp;gt;&lt;br /&gt;
                    &amp;lt;texture&amp;gt;$INFO[ListItem.Art(banner)]&amp;lt;/texture&amp;gt;&lt;br /&gt;
                    &amp;lt;aspectratio&amp;gt;stretch&amp;lt;/aspectratio&amp;gt;&lt;br /&gt;
                &amp;lt;/control&amp;gt;&lt;br /&gt;
                &amp;lt;control type=&amp;quot;label&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;left&amp;gt;10&amp;lt;/left&amp;gt;&lt;br /&gt;
                    &amp;lt;top&amp;gt;107&amp;lt;/top&amp;gt;&lt;br /&gt;
                    &amp;lt;width&amp;gt;633&amp;lt;/width&amp;gt;&lt;br /&gt;
                    &amp;lt;height&amp;gt;60&amp;lt;/height&amp;gt;&lt;br /&gt;
                    &amp;lt;align&amp;gt;left&amp;lt;/align&amp;gt;&lt;br /&gt;
                    &amp;lt;label&amp;gt;$INFO[ListItem.Label]&amp;lt;/label&amp;gt;&lt;br /&gt;
                    &amp;lt;font&amp;gt;font14&amp;lt;/font&amp;gt;&lt;br /&gt;
                    &amp;lt;textcolor&amp;gt;FFFFFFFF&amp;lt;/textcolor&amp;gt;&lt;br /&gt;
                    &amp;lt;selectedcolor&amp;gt;FFFFFFFF&amp;lt;/selectedcolor&amp;gt;&lt;br /&gt;
                &amp;lt;/control&amp;gt;&lt;br /&gt;
&lt;br /&gt;
            &amp;lt;/itemlayout&amp;gt;&lt;br /&gt;
            &amp;lt;focusedlayout width=&amp;quot;585&amp;quot; height=&amp;quot;190&amp;quot;&amp;gt;&lt;br /&gt;
				&lt;br /&gt;
                &amp;lt;control type=&amp;quot;image&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;left&amp;gt;2&amp;lt;/left&amp;gt;&lt;br /&gt;
                    &amp;lt;top&amp;gt;13&amp;lt;/top&amp;gt;&lt;br /&gt;
                    &amp;lt;width&amp;gt;573&amp;lt;/width&amp;gt;&lt;br /&gt;
                    &amp;lt;height&amp;gt;105&amp;lt;/height&amp;gt;&lt;br /&gt;
                    &amp;lt;texture&amp;gt;$INFO[ListItem.Art(banner)]&amp;lt;/texture&amp;gt;&lt;br /&gt;
                    &amp;lt;aspectratio&amp;gt;stretch&amp;lt;/aspectratio&amp;gt;&lt;br /&gt;
                &amp;lt;/control&amp;gt;&lt;br /&gt;
                &amp;lt;control type=&amp;quot;label&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;left&amp;gt;10&amp;lt;/left&amp;gt;&lt;br /&gt;
                    &amp;lt;top&amp;gt;107&amp;lt;/top&amp;gt;&lt;br /&gt;
                    &amp;lt;width&amp;gt;633&amp;lt;/width&amp;gt;&lt;br /&gt;
                    &amp;lt;height&amp;gt;60&amp;lt;/height&amp;gt;&lt;br /&gt;
                    &amp;lt;align&amp;gt;left&amp;lt;/align&amp;gt;&lt;br /&gt;
                    &amp;lt;label&amp;gt;$INFO[ListItem.Label]&amp;lt;/label&amp;gt;&lt;br /&gt;
                    &amp;lt;font&amp;gt;font14&amp;lt;/font&amp;gt;&lt;br /&gt;
                    &amp;lt;textcolor&amp;gt;FFFFFFFF&amp;lt;/textcolor&amp;gt;&lt;br /&gt;
                    &amp;lt;selectedcolor&amp;gt;FFFFFFFF&amp;lt;/selectedcolor&amp;gt;&lt;br /&gt;
                &amp;lt;/control&amp;gt;&lt;br /&gt;
&lt;br /&gt;
            &amp;lt;/focusedlayout&amp;gt;&lt;br /&gt;
        &amp;lt;/control&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;/include&amp;gt;&lt;br /&gt;
&amp;lt;/includes&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Lets make it available in the skin==&lt;br /&gt;
&lt;br /&gt;
Three little things XBMC needs to know about our new viewtype. &lt;br /&gt;
&lt;br /&gt;
A. &#039;&#039;&#039;Open the file includes.xml.&#039;&#039;&#039; First we need to actually add the extension of includes.xml that we made (Viewtype_Banners.xml) to includes.xml. So we add the following line to includes.xml&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;include file=&amp;quot;Viewtype_Banners.xml&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
B. &#039;&#039;&#039;Open the file MyVideoNav.xml.&#039;&#039;&#039; The skin needs to know in what order the viewtypes get flipped through when we press the &amp;quot;next viewtype&amp;quot; button. So the number of our viewtype &#039;&#039;&#039;709&#039;&#039;&#039; needs to get added inbetween the views tags. This line of code should be near the top.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;views&amp;gt;637,709,501,603,781,50&amp;lt;/views&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
C. &#039;&#039;&#039;Open the file MyVideoNav.xml.&#039;&#039;&#039; Hey great, you already had it open. Now we add the actual include. What did we name our include again in line 3 of our content? Did we use a capital B? &#039;&#039;&#039;&amp;lt;include&amp;gt;Banners&amp;lt;/include&amp;gt;&#039;&#039;&#039; is what we add. Alright, so maybe you see numbers behind the includes. Kodi does not read those, that is how you format a comment.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;include&amp;gt;Banners&amp;lt;/include&amp;gt;&amp;lt;!-- 709 --&amp;gt;&lt;br /&gt;
&amp;lt;include&amp;gt;Panel&amp;lt;/include&amp;gt;&amp;lt;!-- 603 --&amp;gt;&lt;br /&gt;
&amp;lt;include&amp;gt;List&amp;lt;/include&amp;gt;&amp;lt;!-- 50 --&amp;gt; &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==That&#039;s it==&lt;br /&gt;
&lt;br /&gt;
What might be left to do? Well your skin might not have a button to flip through the available viewtypes. So you need to add a button or item to perform this function. Look in the documentation or in the skin if you need an example.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;onclick&amp;gt;Container.NextViewMode&amp;lt;/onclick&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Don&#039;t forget to refresh the skin to load the new code. Have a look at the foundation thread for how to do this:&lt;br /&gt;
http://forum.xbmc.org/showthread.php?tid=94438&lt;br /&gt;
&lt;br /&gt;
Now we can head over to our TV Shows (remember it&#039;s not available everywhere) to work on our new viewtype.&lt;br /&gt;
&lt;br /&gt;
Now you can try to change the banner view into something else. How about a panel that loads posters?&lt;br /&gt;
http://wiki.xbmc.org/?title=Panel_Container&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting==&lt;br /&gt;
&lt;br /&gt;
Viewtype not showing up? It is possible that the ID you have used for the viewtype is already in use.&lt;br /&gt;
A good editor like Notepad++ will allow you to search your entire 720p (or other resolution) folder for the ID you used.&lt;br /&gt;
You can even include the word id and the quotes around it.&lt;br /&gt;
&lt;br /&gt;
There are some ID&#039;s you can&#039;t use. The ones used by the window: http://kodi.wiki/view/Window_IDs&lt;br /&gt;
&lt;br /&gt;
And the ones of the mandatory controls: http://kodi.wiki/view/XBMC_Skinning_Manual#.xml_files&lt;br /&gt;
&lt;br /&gt;
Easiest way to know if a number does not belong to a Window or a mandatory control is to look at the numbers used by other skins.&lt;/div&gt;</summary>
		<author><name>MassIV</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=HOW-TO:Add_a_new_view_type_to_the_skin&amp;diff=80878</id>
		<title>HOW-TO:Add a new view type to the skin</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=HOW-TO:Add_a_new_view_type_to_the_skin&amp;diff=80878"/>
		<updated>2014-11-17T02:16:26Z</updated>

		<summary type="html">&lt;p&gt;MassIV: /* Lets make it available in the skin */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Development]]|[[Add-on development]]|[[Skinning]]|[[Skinning Tutorials]]}}&lt;br /&gt;
&lt;br /&gt;
==Create the extra includes type xml file==&lt;br /&gt;
&lt;br /&gt;
We start by creating the new include type xml file. This means we are going to extend the current includes.xml file with another file. While making this file is not strictly needed (you could just add the new view in already huge includes.xml) it is recommended for organizing and readability. In this tutorial the new file we are making is named &amp;quot;Viewtype_Banners.xml&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==The content of our viewtype==&lt;br /&gt;
&lt;br /&gt;
This example contains one list with banners and one image control. Before we look at them, notice line 2 and 3 of the content. Line two declares we are dealing with includes. Line 3 declares the name of this (or the first) include in this content.&lt;br /&gt;
&lt;br /&gt;
The first image control is separate from the list, is technically placed behind the list in layer depth (first in code), and it requests the thumb image of the currently focussed item in the list. The list shows the banner and the label of the current item. Make sure &amp;quot;font14&amp;quot; is a supported entry in Font.xml or you won&#039;t see the text. The example list also has two visible conditions like: &#039;&#039;&#039;Container.Content(tvshows)&#039;&#039;&#039;, this is because not all media has banners. Lets not keep you any longer, just paste the below in your empty file (don&#039;t forget the xml version).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&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;Banners&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;control type=&amp;quot;image&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;left&amp;gt;250&amp;lt;/left&amp;gt;&lt;br /&gt;
            &amp;lt;top&amp;gt;250&amp;lt;/top&amp;gt;&lt;br /&gt;
            &amp;lt;width&amp;gt;300&amp;lt;/width&amp;gt;&lt;br /&gt;
            &amp;lt;height&amp;gt;100&amp;lt;/height&amp;gt;&lt;br /&gt;
            &amp;lt;texture&amp;gt;$INFO[Container(709).ListItem.Art(thumb)]&amp;lt;/texture&amp;gt;&lt;br /&gt;
            &amp;lt;aspectratio&amp;gt;keep&amp;lt;/aspectratio&amp;gt;&lt;br /&gt;
            &amp;lt;visible&amp;gt;Control.IsVisible(709)&amp;lt;/visible&amp;gt;&lt;br /&gt;
        &amp;lt;/control&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;control type=&amp;quot;fixedlist&amp;quot; id=&amp;quot;709&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;viewtype label=&amp;quot;Banners&amp;quot;&amp;gt;list&amp;lt;/viewtype&amp;gt;&lt;br /&gt;
            &amp;lt;left&amp;gt;351&amp;lt;/left&amp;gt;&lt;br /&gt;
            &amp;lt;top&amp;gt;112&amp;lt;/top&amp;gt;&lt;br /&gt;
            &amp;lt;width&amp;gt;950&amp;lt;/width&amp;gt;&lt;br /&gt;
            &amp;lt;height&amp;gt;550&amp;lt;/height&amp;gt;&lt;br /&gt;
            &amp;lt;orientation&amp;gt;vertical&amp;lt;/orientation&amp;gt;&lt;br /&gt;
            &amp;lt;focusposition&amp;gt;1&amp;lt;/focusposition&amp;gt;&lt;br /&gt;
            &amp;lt;visible&amp;gt;Container.Content(tvshows) | Container.Content(seasons)&amp;lt;/visible&amp;gt;&lt;br /&gt;
&lt;br /&gt;
            &amp;lt;itemlayout width=&amp;quot;585&amp;quot; height=&amp;quot;190&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
                &amp;lt;control type=&amp;quot;image&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;left&amp;gt;2&amp;lt;/left&amp;gt;&lt;br /&gt;
                    &amp;lt;top&amp;gt;13&amp;lt;/top&amp;gt;&lt;br /&gt;
                    &amp;lt;width&amp;gt;573&amp;lt;/width&amp;gt;&lt;br /&gt;
                    &amp;lt;height&amp;gt;105&amp;lt;/height&amp;gt;&lt;br /&gt;
                    &amp;lt;texture&amp;gt;$INFO[ListItem.Art(banner)]&amp;lt;/texture&amp;gt;&lt;br /&gt;
                    &amp;lt;aspectratio&amp;gt;stretch&amp;lt;/aspectratio&amp;gt;&lt;br /&gt;
                &amp;lt;/control&amp;gt;&lt;br /&gt;
                &amp;lt;control type=&amp;quot;label&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;left&amp;gt;10&amp;lt;/left&amp;gt;&lt;br /&gt;
                    &amp;lt;top&amp;gt;107&amp;lt;/top&amp;gt;&lt;br /&gt;
                    &amp;lt;width&amp;gt;633&amp;lt;/width&amp;gt;&lt;br /&gt;
                    &amp;lt;height&amp;gt;60&amp;lt;/height&amp;gt;&lt;br /&gt;
                    &amp;lt;align&amp;gt;left&amp;lt;/align&amp;gt;&lt;br /&gt;
                    &amp;lt;label&amp;gt;$INFO[ListItem.Label]&amp;lt;/label&amp;gt;&lt;br /&gt;
                    &amp;lt;font&amp;gt;font14&amp;lt;/font&amp;gt;&lt;br /&gt;
                    &amp;lt;textcolor&amp;gt;FFFFFFFF&amp;lt;/textcolor&amp;gt;&lt;br /&gt;
                    &amp;lt;selectedcolor&amp;gt;FFFFFFFF&amp;lt;/selectedcolor&amp;gt;&lt;br /&gt;
                &amp;lt;/control&amp;gt;&lt;br /&gt;
&lt;br /&gt;
            &amp;lt;/itemlayout&amp;gt;&lt;br /&gt;
            &amp;lt;focusedlayout width=&amp;quot;585&amp;quot; height=&amp;quot;190&amp;quot;&amp;gt;&lt;br /&gt;
				&lt;br /&gt;
                &amp;lt;control type=&amp;quot;image&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;left&amp;gt;2&amp;lt;/left&amp;gt;&lt;br /&gt;
                    &amp;lt;top&amp;gt;13&amp;lt;/top&amp;gt;&lt;br /&gt;
                    &amp;lt;width&amp;gt;573&amp;lt;/width&amp;gt;&lt;br /&gt;
                    &amp;lt;height&amp;gt;105&amp;lt;/height&amp;gt;&lt;br /&gt;
                    &amp;lt;texture&amp;gt;$INFO[ListItem.Art(banner)]&amp;lt;/texture&amp;gt;&lt;br /&gt;
                    &amp;lt;aspectratio&amp;gt;stretch&amp;lt;/aspectratio&amp;gt;&lt;br /&gt;
                &amp;lt;/control&amp;gt;&lt;br /&gt;
                &amp;lt;control type=&amp;quot;label&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;left&amp;gt;10&amp;lt;/left&amp;gt;&lt;br /&gt;
                    &amp;lt;top&amp;gt;107&amp;lt;/top&amp;gt;&lt;br /&gt;
                    &amp;lt;width&amp;gt;633&amp;lt;/width&amp;gt;&lt;br /&gt;
                    &amp;lt;height&amp;gt;60&amp;lt;/height&amp;gt;&lt;br /&gt;
                    &amp;lt;align&amp;gt;left&amp;lt;/align&amp;gt;&lt;br /&gt;
                    &amp;lt;label&amp;gt;$INFO[ListItem.Label]&amp;lt;/label&amp;gt;&lt;br /&gt;
                    &amp;lt;font&amp;gt;font14&amp;lt;/font&amp;gt;&lt;br /&gt;
                    &amp;lt;textcolor&amp;gt;FFFFFFFF&amp;lt;/textcolor&amp;gt;&lt;br /&gt;
                    &amp;lt;selectedcolor&amp;gt;FFFFFFFF&amp;lt;/selectedcolor&amp;gt;&lt;br /&gt;
                &amp;lt;/control&amp;gt;&lt;br /&gt;
&lt;br /&gt;
            &amp;lt;/focusedlayout&amp;gt;&lt;br /&gt;
        &amp;lt;/control&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;/include&amp;gt;&lt;br /&gt;
&amp;lt;/includes&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Lets make it available in the skin==&lt;br /&gt;
&lt;br /&gt;
Three little things XBMC needs to know about our new viewtype. &lt;br /&gt;
&lt;br /&gt;
A. &#039;&#039;&#039;Open the file includes.xml.&#039;&#039;&#039; First we need to actually add the extension of includes.xml that we made (Viewtype_Banners.xml) to includes.xml. So we add the following line to includes.xml&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;include file=&amp;quot;Viewtype_Banners.xml&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
B. &#039;&#039;&#039;Open the file MyVideoNav.xml.&#039;&#039;&#039; The skin needs to know in what order the viewtypes get flipped through when we press the &amp;quot;next viewtype&amp;quot; button. So the number of our viewtype &#039;&#039;&#039;709&#039;&#039;&#039; needs to get added inbetween the views tags. This line of code should be near the top.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;views&amp;gt;637,709,501,603,781,50&amp;lt;/views&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
C. &#039;&#039;&#039;Open the file MyVideoNav.xml.&#039;&#039;&#039; Hey great, you already had it open. Now we add the actual include. What did we name our include again in line 3 of our content? Did we use a capital B? &#039;&#039;&#039;&amp;lt;include&amp;gt;Banners&amp;lt;/include&amp;gt;&#039;&#039;&#039; is what we add. Alright, so maybe you see numbers behind the includes. The code does not read those, that is how you format a comment.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;include&amp;gt;Banners&amp;lt;/include&amp;gt;&amp;lt;!-- 709 --&amp;gt;&lt;br /&gt;
&amp;lt;include&amp;gt;Panel&amp;lt;/include&amp;gt;&amp;lt;!-- 603 --&amp;gt;&lt;br /&gt;
&amp;lt;include&amp;gt;List&amp;lt;/include&amp;gt;&amp;lt;!-- 50 --&amp;gt; &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==That&#039;s it==&lt;br /&gt;
&lt;br /&gt;
What might be left to do? Well your skin might not have a button to flip through the available viewtypes. So you need to add a button or item to perform this function. Look in the documentation or in the skin if you need an example.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;onclick&amp;gt;Container.NextViewMode&amp;lt;/onclick&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Don&#039;t forget to refresh the skin to load the new code. Have a look at the foundation thread for how to do this:&lt;br /&gt;
http://forum.xbmc.org/showthread.php?tid=94438&lt;br /&gt;
&lt;br /&gt;
Now we can head over to our TV Shows (remember it&#039;s not available everywhere) to work on our new viewtype.&lt;br /&gt;
&lt;br /&gt;
Now you can try to change the banner view into something else. How about a panel that loads posters?&lt;br /&gt;
http://wiki.xbmc.org/?title=Panel_Container&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting==&lt;br /&gt;
&lt;br /&gt;
Viewtype not showing up? It is possible that the ID you have used for the viewtype is already in use.&lt;br /&gt;
A good editor like Notepad++ will allow you to search your entire 720p (or other resolution) folder for the ID you used.&lt;br /&gt;
You can even include the word id and the quotes around it.&lt;br /&gt;
&lt;br /&gt;
There are some ID&#039;s you can&#039;t use. The ones used by the window: http://kodi.wiki/view/Window_IDs&lt;br /&gt;
&lt;br /&gt;
And the ones of the mandatory controls: http://kodi.wiki/view/XBMC_Skinning_Manual#.xml_files&lt;br /&gt;
&lt;br /&gt;
Easiest way to know if a number does not belong to a Window or a mandatory control is to look at the numbers used by other skins.&lt;/div&gt;</summary>
		<author><name>MassIV</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=HOW-TO:Add_a_new_view_type_to_the_skin&amp;diff=80877</id>
		<title>HOW-TO:Add a new view type to the skin</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=HOW-TO:Add_a_new_view_type_to_the_skin&amp;diff=80877"/>
		<updated>2014-11-17T02:14:39Z</updated>

		<summary type="html">&lt;p&gt;MassIV: /* The content of our viewtype */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Development]]|[[Add-on development]]|[[Skinning]]|[[Skinning Tutorials]]}}&lt;br /&gt;
&lt;br /&gt;
==Create the extra includes type xml file==&lt;br /&gt;
&lt;br /&gt;
We start by creating the new include type xml file. This means we are going to extend the current includes.xml file with another file. While making this file is not strictly needed (you could just add the new view in already huge includes.xml) it is recommended for organizing and readability. In this tutorial the new file we are making is named &amp;quot;Viewtype_Banners.xml&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==The content of our viewtype==&lt;br /&gt;
&lt;br /&gt;
This example contains one list with banners and one image control. Before we look at them, notice line 2 and 3 of the content. Line two declares we are dealing with includes. Line 3 declares the name of this (or the first) include in this content.&lt;br /&gt;
&lt;br /&gt;
The first image control is separate from the list, is technically placed behind the list in layer depth (first in code), and it requests the thumb image of the currently focussed item in the list. The list shows the banner and the label of the current item. Make sure &amp;quot;font14&amp;quot; is a supported entry in Font.xml or you won&#039;t see the text. The example list also has two visible conditions like: &#039;&#039;&#039;Container.Content(tvshows)&#039;&#039;&#039;, this is because not all media has banners. Lets not keep you any longer, just paste the below in your empty file (don&#039;t forget the xml version).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&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;Banners&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;control type=&amp;quot;image&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;left&amp;gt;250&amp;lt;/left&amp;gt;&lt;br /&gt;
            &amp;lt;top&amp;gt;250&amp;lt;/top&amp;gt;&lt;br /&gt;
            &amp;lt;width&amp;gt;300&amp;lt;/width&amp;gt;&lt;br /&gt;
            &amp;lt;height&amp;gt;100&amp;lt;/height&amp;gt;&lt;br /&gt;
            &amp;lt;texture&amp;gt;$INFO[Container(709).ListItem.Art(thumb)]&amp;lt;/texture&amp;gt;&lt;br /&gt;
            &amp;lt;aspectratio&amp;gt;keep&amp;lt;/aspectratio&amp;gt;&lt;br /&gt;
            &amp;lt;visible&amp;gt;Control.IsVisible(709)&amp;lt;/visible&amp;gt;&lt;br /&gt;
        &amp;lt;/control&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;control type=&amp;quot;fixedlist&amp;quot; id=&amp;quot;709&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;viewtype label=&amp;quot;Banners&amp;quot;&amp;gt;list&amp;lt;/viewtype&amp;gt;&lt;br /&gt;
            &amp;lt;left&amp;gt;351&amp;lt;/left&amp;gt;&lt;br /&gt;
            &amp;lt;top&amp;gt;112&amp;lt;/top&amp;gt;&lt;br /&gt;
            &amp;lt;width&amp;gt;950&amp;lt;/width&amp;gt;&lt;br /&gt;
            &amp;lt;height&amp;gt;550&amp;lt;/height&amp;gt;&lt;br /&gt;
            &amp;lt;orientation&amp;gt;vertical&amp;lt;/orientation&amp;gt;&lt;br /&gt;
            &amp;lt;focusposition&amp;gt;1&amp;lt;/focusposition&amp;gt;&lt;br /&gt;
            &amp;lt;visible&amp;gt;Container.Content(tvshows) | Container.Content(seasons)&amp;lt;/visible&amp;gt;&lt;br /&gt;
&lt;br /&gt;
            &amp;lt;itemlayout width=&amp;quot;585&amp;quot; height=&amp;quot;190&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
                &amp;lt;control type=&amp;quot;image&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;left&amp;gt;2&amp;lt;/left&amp;gt;&lt;br /&gt;
                    &amp;lt;top&amp;gt;13&amp;lt;/top&amp;gt;&lt;br /&gt;
                    &amp;lt;width&amp;gt;573&amp;lt;/width&amp;gt;&lt;br /&gt;
                    &amp;lt;height&amp;gt;105&amp;lt;/height&amp;gt;&lt;br /&gt;
                    &amp;lt;texture&amp;gt;$INFO[ListItem.Art(banner)]&amp;lt;/texture&amp;gt;&lt;br /&gt;
                    &amp;lt;aspectratio&amp;gt;stretch&amp;lt;/aspectratio&amp;gt;&lt;br /&gt;
                &amp;lt;/control&amp;gt;&lt;br /&gt;
                &amp;lt;control type=&amp;quot;label&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;left&amp;gt;10&amp;lt;/left&amp;gt;&lt;br /&gt;
                    &amp;lt;top&amp;gt;107&amp;lt;/top&amp;gt;&lt;br /&gt;
                    &amp;lt;width&amp;gt;633&amp;lt;/width&amp;gt;&lt;br /&gt;
                    &amp;lt;height&amp;gt;60&amp;lt;/height&amp;gt;&lt;br /&gt;
                    &amp;lt;align&amp;gt;left&amp;lt;/align&amp;gt;&lt;br /&gt;
                    &amp;lt;label&amp;gt;$INFO[ListItem.Label]&amp;lt;/label&amp;gt;&lt;br /&gt;
                    &amp;lt;font&amp;gt;font14&amp;lt;/font&amp;gt;&lt;br /&gt;
                    &amp;lt;textcolor&amp;gt;FFFFFFFF&amp;lt;/textcolor&amp;gt;&lt;br /&gt;
                    &amp;lt;selectedcolor&amp;gt;FFFFFFFF&amp;lt;/selectedcolor&amp;gt;&lt;br /&gt;
                &amp;lt;/control&amp;gt;&lt;br /&gt;
&lt;br /&gt;
            &amp;lt;/itemlayout&amp;gt;&lt;br /&gt;
            &amp;lt;focusedlayout width=&amp;quot;585&amp;quot; height=&amp;quot;190&amp;quot;&amp;gt;&lt;br /&gt;
				&lt;br /&gt;
                &amp;lt;control type=&amp;quot;image&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;left&amp;gt;2&amp;lt;/left&amp;gt;&lt;br /&gt;
                    &amp;lt;top&amp;gt;13&amp;lt;/top&amp;gt;&lt;br /&gt;
                    &amp;lt;width&amp;gt;573&amp;lt;/width&amp;gt;&lt;br /&gt;
                    &amp;lt;height&amp;gt;105&amp;lt;/height&amp;gt;&lt;br /&gt;
                    &amp;lt;texture&amp;gt;$INFO[ListItem.Art(banner)]&amp;lt;/texture&amp;gt;&lt;br /&gt;
                    &amp;lt;aspectratio&amp;gt;stretch&amp;lt;/aspectratio&amp;gt;&lt;br /&gt;
                &amp;lt;/control&amp;gt;&lt;br /&gt;
                &amp;lt;control type=&amp;quot;label&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;left&amp;gt;10&amp;lt;/left&amp;gt;&lt;br /&gt;
                    &amp;lt;top&amp;gt;107&amp;lt;/top&amp;gt;&lt;br /&gt;
                    &amp;lt;width&amp;gt;633&amp;lt;/width&amp;gt;&lt;br /&gt;
                    &amp;lt;height&amp;gt;60&amp;lt;/height&amp;gt;&lt;br /&gt;
                    &amp;lt;align&amp;gt;left&amp;lt;/align&amp;gt;&lt;br /&gt;
                    &amp;lt;label&amp;gt;$INFO[ListItem.Label]&amp;lt;/label&amp;gt;&lt;br /&gt;
                    &amp;lt;font&amp;gt;font14&amp;lt;/font&amp;gt;&lt;br /&gt;
                    &amp;lt;textcolor&amp;gt;FFFFFFFF&amp;lt;/textcolor&amp;gt;&lt;br /&gt;
                    &amp;lt;selectedcolor&amp;gt;FFFFFFFF&amp;lt;/selectedcolor&amp;gt;&lt;br /&gt;
                &amp;lt;/control&amp;gt;&lt;br /&gt;
&lt;br /&gt;
            &amp;lt;/focusedlayout&amp;gt;&lt;br /&gt;
        &amp;lt;/control&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;/include&amp;gt;&lt;br /&gt;
&amp;lt;/includes&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Lets make it available in the skin==&lt;br /&gt;
&lt;br /&gt;
Three little things XBMC needs to know about our new viewtype. &lt;br /&gt;
&lt;br /&gt;
A. &#039;&#039;&#039;Open the file includes.xml.&#039;&#039;&#039; First we need to actually add the extension of includes.xml that we made (Viewtype_Banners.xml) to includes.xml. So we add the following line to includes.xml&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;include file=&amp;quot;Viewtype_Banners.xml&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
B. &#039;&#039;&#039;Open the file MyVideoNav.xml.&#039;&#039;&#039; The skin needs to know in what order the viewtypes get flipped through when we press the &amp;quot;next viewtype&amp;quot; button. So the number of our viewtype &#039;&#039;&#039;709&#039;&#039;&#039; needs to get added inbetween the views tags (should be near the top). &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;views&amp;gt;637,709,501,603,781,50&amp;lt;/views&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
C. &#039;&#039;&#039;Open the file MyVideoNav.xml.&#039;&#039;&#039; Hey great, you already had it open. Now we add the actual include. What did we name our include again in line 3 of our content? Did we use a capital B? &#039;&#039;&#039;&amp;lt;include&amp;gt;Banners&amp;lt;/include&amp;gt;&#039;&#039;&#039; is what we add. Alright, so maybe you see numbers behind the includes. The code does not read those, that is how you format a comment.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;include&amp;gt;Banners&amp;lt;/include&amp;gt;&amp;lt;!-- 709 --&amp;gt;&lt;br /&gt;
&amp;lt;include&amp;gt;Panel&amp;lt;/include&amp;gt;&amp;lt;!-- 603 --&amp;gt;&lt;br /&gt;
&amp;lt;include&amp;gt;List&amp;lt;/include&amp;gt;&amp;lt;!-- 50 --&amp;gt; &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==That&#039;s it==&lt;br /&gt;
&lt;br /&gt;
What might be left to do? Well your skin might not have a button to flip through the available viewtypes. So you need to add a button or item to perform this function. Look in the documentation or in the skin if you need an example.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;onclick&amp;gt;Container.NextViewMode&amp;lt;/onclick&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Don&#039;t forget to refresh the skin to load the new code. Have a look at the foundation thread for how to do this:&lt;br /&gt;
http://forum.xbmc.org/showthread.php?tid=94438&lt;br /&gt;
&lt;br /&gt;
Now we can head over to our TV Shows (remember it&#039;s not available everywhere) to work on our new viewtype.&lt;br /&gt;
&lt;br /&gt;
Now you can try to change the banner view into something else. How about a panel that loads posters?&lt;br /&gt;
http://wiki.xbmc.org/?title=Panel_Container&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting==&lt;br /&gt;
&lt;br /&gt;
Viewtype not showing up? It is possible that the ID you have used for the viewtype is already in use.&lt;br /&gt;
A good editor like Notepad++ will allow you to search your entire 720p (or other resolution) folder for the ID you used.&lt;br /&gt;
You can even include the word id and the quotes around it.&lt;br /&gt;
&lt;br /&gt;
There are some ID&#039;s you can&#039;t use. The ones used by the window: http://kodi.wiki/view/Window_IDs&lt;br /&gt;
&lt;br /&gt;
And the ones of the mandatory controls: http://kodi.wiki/view/XBMC_Skinning_Manual#.xml_files&lt;br /&gt;
&lt;br /&gt;
Easiest way to know if a number does not belong to a Window or a mandatory control is to look at the numbers used by other skins.&lt;/div&gt;</summary>
		<author><name>MassIV</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=HOW-TO:Add_a_new_view_type_to_the_skin&amp;diff=80876</id>
		<title>HOW-TO:Add a new view type to the skin</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=HOW-TO:Add_a_new_view_type_to_the_skin&amp;diff=80876"/>
		<updated>2014-11-17T02:08:35Z</updated>

		<summary type="html">&lt;p&gt;MassIV: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Development]]|[[Add-on development]]|[[Skinning]]|[[Skinning Tutorials]]}}&lt;br /&gt;
&lt;br /&gt;
==Create the extra includes type xml file==&lt;br /&gt;
&lt;br /&gt;
We start by creating the new include type xml file. This means we are going to extend the current includes.xml file with another file. While making this file is not strictly needed (you could just add the new view in already huge includes.xml) it is recommended for organizing and readability. In this tutorial the new file we are making is named &amp;quot;Viewtype_Banners.xml&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==The content of our viewtype==&lt;br /&gt;
&lt;br /&gt;
This example contains one list with banners and one image control. Before we look at them, notice line 2 and 3 of the content. Line two declares we are dealing with includes. Line 3 declares the name of this (or the first) include in this content.&lt;br /&gt;
&lt;br /&gt;
The image control is separate from the list, is technically placed behind the list in depth (first in code), and it requests the thumb image of the currently focussed item in the list. The list shows the banner and the label of the current item. Make sure &amp;quot;font14&amp;quot; is a supported entry in Font.xml or you won&#039;t see the text. The example list also has two visible conditions like: &#039;&#039;&#039;Container.Content(tvshows)&#039;&#039;&#039;, this is because not all media has banners. Lets not keep you any longer, just paste the below in your empty file (don&#039;t forget the xml version).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&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;Banners&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;control type=&amp;quot;image&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;left&amp;gt;250&amp;lt;/left&amp;gt;&lt;br /&gt;
            &amp;lt;top&amp;gt;250&amp;lt;/top&amp;gt;&lt;br /&gt;
            &amp;lt;width&amp;gt;300&amp;lt;/width&amp;gt;&lt;br /&gt;
            &amp;lt;height&amp;gt;100&amp;lt;/height&amp;gt;&lt;br /&gt;
            &amp;lt;texture&amp;gt;$INFO[Container(709).ListItem.Art(thumb)]&amp;lt;/texture&amp;gt;&lt;br /&gt;
            &amp;lt;aspectratio&amp;gt;keep&amp;lt;/aspectratio&amp;gt;&lt;br /&gt;
            &amp;lt;visible&amp;gt;Control.IsVisible(709)&amp;lt;/visible&amp;gt;&lt;br /&gt;
        &amp;lt;/control&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;control type=&amp;quot;fixedlist&amp;quot; id=&amp;quot;709&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;viewtype label=&amp;quot;Banners&amp;quot;&amp;gt;list&amp;lt;/viewtype&amp;gt;&lt;br /&gt;
            &amp;lt;left&amp;gt;351&amp;lt;/left&amp;gt;&lt;br /&gt;
            &amp;lt;top&amp;gt;112&amp;lt;/top&amp;gt;&lt;br /&gt;
            &amp;lt;width&amp;gt;950&amp;lt;/width&amp;gt;&lt;br /&gt;
            &amp;lt;height&amp;gt;550&amp;lt;/height&amp;gt;&lt;br /&gt;
            &amp;lt;orientation&amp;gt;vertical&amp;lt;/orientation&amp;gt;&lt;br /&gt;
            &amp;lt;focusposition&amp;gt;1&amp;lt;/focusposition&amp;gt;&lt;br /&gt;
            &amp;lt;visible&amp;gt;Container.Content(tvshows) | Container.Content(seasons)&amp;lt;/visible&amp;gt;&lt;br /&gt;
&lt;br /&gt;
            &amp;lt;itemlayout width=&amp;quot;585&amp;quot; height=&amp;quot;190&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
                &amp;lt;control type=&amp;quot;image&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;left&amp;gt;2&amp;lt;/left&amp;gt;&lt;br /&gt;
                    &amp;lt;top&amp;gt;13&amp;lt;/top&amp;gt;&lt;br /&gt;
                    &amp;lt;width&amp;gt;573&amp;lt;/width&amp;gt;&lt;br /&gt;
                    &amp;lt;height&amp;gt;105&amp;lt;/height&amp;gt;&lt;br /&gt;
                    &amp;lt;texture&amp;gt;$INFO[ListItem.Art(banner)]&amp;lt;/texture&amp;gt;&lt;br /&gt;
                    &amp;lt;aspectratio&amp;gt;stretch&amp;lt;/aspectratio&amp;gt;&lt;br /&gt;
                &amp;lt;/control&amp;gt;&lt;br /&gt;
                &amp;lt;control type=&amp;quot;label&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;left&amp;gt;10&amp;lt;/left&amp;gt;&lt;br /&gt;
                    &amp;lt;top&amp;gt;107&amp;lt;/top&amp;gt;&lt;br /&gt;
                    &amp;lt;width&amp;gt;633&amp;lt;/width&amp;gt;&lt;br /&gt;
                    &amp;lt;height&amp;gt;60&amp;lt;/height&amp;gt;&lt;br /&gt;
                    &amp;lt;align&amp;gt;left&amp;lt;/align&amp;gt;&lt;br /&gt;
                    &amp;lt;label&amp;gt;$INFO[ListItem.Label]&amp;lt;/label&amp;gt;&lt;br /&gt;
                    &amp;lt;font&amp;gt;font14&amp;lt;/font&amp;gt;&lt;br /&gt;
                    &amp;lt;textcolor&amp;gt;FFFFFFFF&amp;lt;/textcolor&amp;gt;&lt;br /&gt;
                    &amp;lt;selectedcolor&amp;gt;FFFFFFFF&amp;lt;/selectedcolor&amp;gt;&lt;br /&gt;
                &amp;lt;/control&amp;gt;&lt;br /&gt;
&lt;br /&gt;
            &amp;lt;/itemlayout&amp;gt;&lt;br /&gt;
            &amp;lt;focusedlayout width=&amp;quot;585&amp;quot; height=&amp;quot;190&amp;quot;&amp;gt;&lt;br /&gt;
				&lt;br /&gt;
                &amp;lt;control type=&amp;quot;image&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;left&amp;gt;2&amp;lt;/left&amp;gt;&lt;br /&gt;
                    &amp;lt;top&amp;gt;13&amp;lt;/top&amp;gt;&lt;br /&gt;
                    &amp;lt;width&amp;gt;573&amp;lt;/width&amp;gt;&lt;br /&gt;
                    &amp;lt;height&amp;gt;105&amp;lt;/height&amp;gt;&lt;br /&gt;
                    &amp;lt;texture&amp;gt;$INFO[ListItem.Art(banner)]&amp;lt;/texture&amp;gt;&lt;br /&gt;
                    &amp;lt;aspectratio&amp;gt;stretch&amp;lt;/aspectratio&amp;gt;&lt;br /&gt;
                &amp;lt;/control&amp;gt;&lt;br /&gt;
                &amp;lt;control type=&amp;quot;label&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;left&amp;gt;10&amp;lt;/left&amp;gt;&lt;br /&gt;
                    &amp;lt;top&amp;gt;107&amp;lt;/top&amp;gt;&lt;br /&gt;
                    &amp;lt;width&amp;gt;633&amp;lt;/width&amp;gt;&lt;br /&gt;
                    &amp;lt;height&amp;gt;60&amp;lt;/height&amp;gt;&lt;br /&gt;
                    &amp;lt;align&amp;gt;left&amp;lt;/align&amp;gt;&lt;br /&gt;
                    &amp;lt;label&amp;gt;$INFO[ListItem.Label]&amp;lt;/label&amp;gt;&lt;br /&gt;
                    &amp;lt;font&amp;gt;font14&amp;lt;/font&amp;gt;&lt;br /&gt;
                    &amp;lt;textcolor&amp;gt;FFFFFFFF&amp;lt;/textcolor&amp;gt;&lt;br /&gt;
                    &amp;lt;selectedcolor&amp;gt;FFFFFFFF&amp;lt;/selectedcolor&amp;gt;&lt;br /&gt;
                &amp;lt;/control&amp;gt;&lt;br /&gt;
&lt;br /&gt;
            &amp;lt;/focusedlayout&amp;gt;&lt;br /&gt;
        &amp;lt;/control&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;/include&amp;gt;&lt;br /&gt;
&amp;lt;/includes&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Lets make it available in the skin==&lt;br /&gt;
&lt;br /&gt;
Three little things XBMC needs to know about our new viewtype. &lt;br /&gt;
&lt;br /&gt;
A. &#039;&#039;&#039;Open the file includes.xml.&#039;&#039;&#039; First we need to actually add the extension of includes.xml that we made (Viewtype_Banners.xml) to includes.xml. So we add the following line to includes.xml&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;include file=&amp;quot;Viewtype_Banners.xml&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
B. &#039;&#039;&#039;Open the file MyVideoNav.xml.&#039;&#039;&#039; The skin needs to know in what order the viewtypes get flipped through when we press the &amp;quot;next viewtype&amp;quot; button. So the number of our viewtype &#039;&#039;&#039;709&#039;&#039;&#039; needs to get added inbetween the views tags (should be near the top). &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;views&amp;gt;637,709,501,603,781,50&amp;lt;/views&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
C. &#039;&#039;&#039;Open the file MyVideoNav.xml.&#039;&#039;&#039; Hey great, you already had it open. Now we add the actual include. What did we name our include again in line 3 of our content? Did we use a capital B? &#039;&#039;&#039;&amp;lt;include&amp;gt;Banners&amp;lt;/include&amp;gt;&#039;&#039;&#039; is what we add. Alright, so maybe you see numbers behind the includes. The code does not read those, that is how you format a comment.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;include&amp;gt;Banners&amp;lt;/include&amp;gt;&amp;lt;!-- 709 --&amp;gt;&lt;br /&gt;
&amp;lt;include&amp;gt;Panel&amp;lt;/include&amp;gt;&amp;lt;!-- 603 --&amp;gt;&lt;br /&gt;
&amp;lt;include&amp;gt;List&amp;lt;/include&amp;gt;&amp;lt;!-- 50 --&amp;gt; &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==That&#039;s it==&lt;br /&gt;
&lt;br /&gt;
What might be left to do? Well your skin might not have a button to flip through the available viewtypes. So you need to add a button or item to perform this function. Look in the documentation or in the skin if you need an example.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;onclick&amp;gt;Container.NextViewMode&amp;lt;/onclick&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Don&#039;t forget to refresh the skin to load the new code. Have a look at the foundation thread for how to do this:&lt;br /&gt;
http://forum.xbmc.org/showthread.php?tid=94438&lt;br /&gt;
&lt;br /&gt;
Now we can head over to our TV Shows (remember it&#039;s not available everywhere) to work on our new viewtype.&lt;br /&gt;
&lt;br /&gt;
Now you can try to change the banner view into something else. How about a panel that loads posters?&lt;br /&gt;
http://wiki.xbmc.org/?title=Panel_Container&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting==&lt;br /&gt;
&lt;br /&gt;
Viewtype not showing up? It is possible that the ID you have used for the viewtype is already in use.&lt;br /&gt;
A good editor like Notepad++ will allow you to search your entire 720p (or other resolution) folder for the ID you used.&lt;br /&gt;
You can even include the word id and the quotes around it.&lt;br /&gt;
&lt;br /&gt;
There are some ID&#039;s you can&#039;t use. The ones used by the window: http://kodi.wiki/view/Window_IDs&lt;br /&gt;
&lt;br /&gt;
And the ones of the mandatory controls: http://kodi.wiki/view/XBMC_Skinning_Manual#.xml_files&lt;br /&gt;
&lt;br /&gt;
Easiest way to know if a number does not belong to a Window or a mandatory control is to look at the numbers used by other skins.&lt;/div&gt;</summary>
		<author><name>MassIV</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Add-on:Metroid&amp;diff=79151</id>
		<title>Add-on:Metroid</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Add-on:Metroid&amp;diff=79151"/>
		<updated>2014-10-01T19:27:14Z</updated>

		<summary type="html">&lt;p&gt;MassIV: Created page with &amp;quot;{{Addon  |Name=Metroid |provider-name=MassIV |ID=skin.metroid |latest-version=1.0.0 |extension point=xbmc.gui.skin |provides= |Summary=A GUI for XBMC Media Center |Description...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Addon &lt;br /&gt;
|Name=Metroid&lt;br /&gt;
|provider-name=MassIV&lt;br /&gt;
|ID=skin.metroid&lt;br /&gt;
|latest-version=1.0.0&lt;br /&gt;
|extension point=xbmc.gui.skin&lt;br /&gt;
|provides=&lt;br /&gt;
|Summary=A GUI for XBMC Media Center&lt;br /&gt;
|Description=Metroid is a GUI for XBMC Media Center. Metroid is all about simplicity, usability and easy navigation. Touch optional 16:9 skin.&lt;br /&gt;
|Platform=all&lt;br /&gt;
|Language=&lt;br /&gt;
|License=Creative Commons Attribution-NonCommercial-Share Alike 3.0 Unported License&lt;br /&gt;
|Forum=http://forum.xbmc.org/showthread.php?tid=178956&lt;br /&gt;
|Website=&lt;br /&gt;
|Source=https://github.com/MassIV/skin.metroid&lt;br /&gt;
|Email=&lt;br /&gt;
|broken=&lt;br /&gt;
|icon url=http://mirrors.xbmc.org/addons/gotham/skin.metroid/icon.png}}&lt;br /&gt;
&lt;br /&gt;
==Installing==&lt;br /&gt;
&lt;br /&gt;
To install this add-on you must do so from the Add-on manager from within XBMC by going to:&lt;br /&gt;
# Settings&lt;br /&gt;
# Add-ons&lt;br /&gt;
# Get add-ons&lt;br /&gt;
# XBMC.org Add-ons&lt;br /&gt;
# Skins&lt;br /&gt;
# Metroid&lt;br /&gt;
# Install&lt;br /&gt;
&lt;br /&gt;
==Special skin features==&lt;br /&gt;
&lt;br /&gt;
* touch screen = yes&lt;br /&gt;
* mouse = yes&lt;br /&gt;
* custom home items = yes&lt;br /&gt;
* Media flags = yes&lt;br /&gt;
* TV show logo = yes&lt;br /&gt;
* Artwork downloader = yes&lt;br /&gt;
* Live TV = channels only&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Screenshots==&lt;br /&gt;
&lt;br /&gt;
* Kodi forum: http://forum.xbmc.org/showthread.php?tid=178956&lt;br /&gt;
* Direct Imgur album: https://imgur.com/a/NogGl/all&lt;br /&gt;
* Github source: https://github.com/MassIV/skin.metroid/tree/master/_screenshots&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Gotham add-on repository]]&lt;/div&gt;</summary>
		<author><name>MassIV</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Opening_Windows_and_Dialogs&amp;diff=77880</id>
		<title>Opening Windows and Dialogs</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Opening_Windows_and_Dialogs&amp;diff=77880"/>
		<updated>2014-08-01T22:57:48Z</updated>

		<summary type="html">&lt;p&gt;MassIV: /* Programs: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Development]]|[[Add-on development]]}}&lt;br /&gt;
&lt;br /&gt;
You can use the ActivateWindow() [[List of Built In Functions|Built In Function]] to open a certain [[Window IDs|Window]]. &lt;br /&gt;
&lt;br /&gt;
This command can be assigned to a [[Button control|button]] in a skin or mapped to a key in your [[Keyboard.xml|Keymap]].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example:&#039;&#039;&#039;&lt;br /&gt;
* This will take you directly to the settings section of xbmc:&lt;br /&gt;
&amp;lt;pre&amp;gt;ActivateWindow(Settings)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Some windows even allow you to jump directly to a sub-section of that window. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example:&#039;&#039;&#039;&lt;br /&gt;
* If you want a button in your skin or on your remote to take you directly to the movie listing, you let that button do:&lt;br /&gt;
&amp;lt;pre&amp;gt;ActivateWindow(Videos,MovieTitles)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Below is a list of the available sub-sections in the Video- and MusicLibrary.&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;VideoLibrary:&#039;&#039;&#039; ===&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! section !! frodo !! gotham&lt;br /&gt;
|-&lt;br /&gt;
|VideoLibrary ||videodb://||videodb://&lt;br /&gt;
|-&lt;br /&gt;
| &amp;amp;nbsp; ||&amp;amp;nbsp; ||&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|Movies ||videodb://1/ ||videodb://movies/&lt;br /&gt;
|-&lt;br /&gt;
|MovieGenres ||videodb://1/1/ ||videodb://movies/genres/&lt;br /&gt;
|-&lt;br /&gt;
|MovieTitles ||videodb://1/2/ ||videodb://movies/titles/&lt;br /&gt;
|-&lt;br /&gt;
|MovieYears ||videodb://1/3/ ||videodb://movies/years/&lt;br /&gt;
|-&lt;br /&gt;
|MovieActors ||videodb://1/4/ ||videodb://movies/actors/&lt;br /&gt;
|-&lt;br /&gt;
|MovieDirectors ||videodb://1/5/ ||videodb://movies/directors/&lt;br /&gt;
|-&lt;br /&gt;
|MovieStudios ||videodb://1/6/ ||videodb://movies/studios/&lt;br /&gt;
|-&lt;br /&gt;
|MovieSets ||videodb://1/7/ ||videodb://movies/sets/&lt;br /&gt;
|-&lt;br /&gt;
|MovieCountries ||videodb://1/8/ ||videodb://movies/countries/&lt;br /&gt;
|- &lt;br /&gt;
|MovieTags ||videodb://1/9/ ||videodb://movies/tags/&lt;br /&gt;
|-&lt;br /&gt;
|RecentlyAddedMovies ||videodb://4/ ||videodb://recentlyaddedmovies/&lt;br /&gt;
|- &lt;br /&gt;
| &amp;amp;nbsp; ||&amp;amp;nbsp; ||&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|TvShows ||videodb://2/ ||videodb://tvshows/&lt;br /&gt;
|-&lt;br /&gt;
|TvShowGenres ||videodb://2/1/ ||videodb://tvshows/genres/&lt;br /&gt;
|-&lt;br /&gt;
|TvShowTitles ||videodb://2/2/ ||videodb://tvshows/titles/&lt;br /&gt;
|-&lt;br /&gt;
|TvShowYears ||videodb://2/3/ ||videodb://tvshows/years/&lt;br /&gt;
|-&lt;br /&gt;
|TvShowActors ||videodb://2/4/ ||videodb://tvshows/actors/&lt;br /&gt;
|-&lt;br /&gt;
|TvShowStudios ||videodb://2/5/ ||videodb://tvshows/studios/&lt;br /&gt;
|-&lt;br /&gt;
|RecentlyAddedEpisodes ||videodb://5/ ||videodb://recentlyaddedepisodes/&lt;br /&gt;
|-&lt;br /&gt;
| &amp;amp;nbsp; ||&amp;amp;nbsp; ||&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|MusicVideos ||videodb://3/ ||videodb://musicvideos/&lt;br /&gt;
|-&lt;br /&gt;
|MusicVideoGenres ||videodb://3/1/ ||videodb://musicvideos/genres/&lt;br /&gt;
|-&lt;br /&gt;
|MusicVideoTitles ||videodb://3/2/ ||videodb://musicvideos/titles/&lt;br /&gt;
|-&lt;br /&gt;
|MusicVideoYears ||videodb://3/3/ ||videodb://musicvideos/years/&lt;br /&gt;
|-&lt;br /&gt;
|MusicVideoArtists ||videodb://3/4/ ||videodb://musicvideos/artists/&lt;br /&gt;
|-&lt;br /&gt;
|MusicVideoAlbums ||videodb://3/5/ ||videodb://musicvideos/albums/&lt;br /&gt;
|-&lt;br /&gt;
|MusicVideoDirectors ||videodb://3/6/ ||videodb://musicvideos/directors/&lt;br /&gt;
|-&lt;br /&gt;
|MusicVideoStudios ||videodb://3/7/ ||videodb://musicvideos/studios/&lt;br /&gt;
|-&lt;br /&gt;
|RecentlyAddedMusicVideos ||videodb://6/ ||videodb://recentlyaddedmusicvideos/&lt;br /&gt;
|-&lt;br /&gt;
| &amp;amp;nbsp; ||&amp;amp;nbsp; ||&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|Playlists ||special://videoplaylists/ ||special://videoplaylists/&lt;br /&gt;
|-&lt;br /&gt;
|Video Add-ons ||addons://sources/video/ ||addons://sources/video/&lt;br /&gt;
|-&lt;br /&gt;
|Files ||sources://video/ ||sources://video/&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;MusicLibrary:&#039;&#039;&#039; ===&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! section !! frodo !! gotham&lt;br /&gt;
|-&lt;br /&gt;
|MusicLibrary ||musicdb:// ||musicdb://&lt;br /&gt;
|-&lt;br /&gt;
| &amp;amp;nbsp; ||&amp;amp;nbsp; ||&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|Genres ||musicdb://1/ ||musicdb://genres/&lt;br /&gt;
|-&lt;br /&gt;
|Artists ||musicdb://2/ ||musicdb://artists/&lt;br /&gt;
|-&lt;br /&gt;
|Albums ||musicdb://3/ ||musicdb://albums/&lt;br /&gt;
|-&lt;br /&gt;
|Songs ||musicdb://4/ ||musicdb://songs/&lt;br /&gt;
|-&lt;br /&gt;
|Top100 ||musicdb://5/ ||musicdb://top100/&lt;br /&gt;
|-&lt;br /&gt;
|Top100Songs ||musicdb://5/1/ ||musicdb://top100/songs/&lt;br /&gt;
|-&lt;br /&gt;
|Top100Albums ||musicdb://5/2/ ||musicdb://top100/albums/&lt;br /&gt;
|-&lt;br /&gt;
|RecentlyAddedAlbums ||musicdb://6/ ||musicdb://recentlyaddedalbums/&lt;br /&gt;
|-&lt;br /&gt;
|RecentlyPlayedAlbums ||musicdb://7/ ||musicdb://recentlyplayedalbums/&lt;br /&gt;
|-&lt;br /&gt;
|Compilations ||musicdb://8/ ||musicdb://compilations/&lt;br /&gt;
|-&lt;br /&gt;
|Years ||musicdb://9/ ||musicdb://years/&lt;br /&gt;
|-&lt;br /&gt;
|Singles ||musicdb://10/ ||musicdb://singles/&lt;br /&gt;
|-&lt;br /&gt;
| &amp;amp;nbsp; ||&amp;amp;nbsp; ||&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|Playlists ||special://musicplaylists/ ||special://musicplaylists/&lt;br /&gt;
|-&lt;br /&gt;
|Music Add-ons ||addons://sources/audio/ ||addons://sources/audio/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;Programs:&#039;&#039;&#039; ===&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! section !! frodo !! gotham&lt;br /&gt;
|-&lt;br /&gt;
|Programs || ||&lt;br /&gt;
|-&lt;br /&gt;
| &amp;amp;nbsp; ||&amp;amp;nbsp; ||&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|Executable ||addons://sources/executable/ ||addons://sources/executable/&lt;br /&gt;
|-&lt;br /&gt;
|AndroidApp ||   ||androidapp://sources/apps/&lt;br /&gt;
|}&lt;br /&gt;
[[Category:Skin development]]&lt;br /&gt;
[[Category:Add-on development]]&lt;br /&gt;
[[Category:Python]]&lt;/div&gt;</summary>
		<author><name>MassIV</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Opening_Windows_and_Dialogs&amp;diff=77879</id>
		<title>Opening Windows and Dialogs</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Opening_Windows_and_Dialogs&amp;diff=77879"/>
		<updated>2014-08-01T22:56:53Z</updated>

		<summary type="html">&lt;p&gt;MassIV: /* Programs: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Development]]|[[Add-on development]]}}&lt;br /&gt;
&lt;br /&gt;
You can use the ActivateWindow() [[List of Built In Functions|Built In Function]] to open a certain [[Window IDs|Window]]. &lt;br /&gt;
&lt;br /&gt;
This command can be assigned to a [[Button control|button]] in a skin or mapped to a key in your [[Keyboard.xml|Keymap]].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example:&#039;&#039;&#039;&lt;br /&gt;
* This will take you directly to the settings section of xbmc:&lt;br /&gt;
&amp;lt;pre&amp;gt;ActivateWindow(Settings)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Some windows even allow you to jump directly to a sub-section of that window. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example:&#039;&#039;&#039;&lt;br /&gt;
* If you want a button in your skin or on your remote to take you directly to the movie listing, you let that button do:&lt;br /&gt;
&amp;lt;pre&amp;gt;ActivateWindow(Videos,MovieTitles)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Below is a list of the available sub-sections in the Video- and MusicLibrary.&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;VideoLibrary:&#039;&#039;&#039; ===&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! section !! frodo !! gotham&lt;br /&gt;
|-&lt;br /&gt;
|VideoLibrary ||videodb://||videodb://&lt;br /&gt;
|-&lt;br /&gt;
| &amp;amp;nbsp; ||&amp;amp;nbsp; ||&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|Movies ||videodb://1/ ||videodb://movies/&lt;br /&gt;
|-&lt;br /&gt;
|MovieGenres ||videodb://1/1/ ||videodb://movies/genres/&lt;br /&gt;
|-&lt;br /&gt;
|MovieTitles ||videodb://1/2/ ||videodb://movies/titles/&lt;br /&gt;
|-&lt;br /&gt;
|MovieYears ||videodb://1/3/ ||videodb://movies/years/&lt;br /&gt;
|-&lt;br /&gt;
|MovieActors ||videodb://1/4/ ||videodb://movies/actors/&lt;br /&gt;
|-&lt;br /&gt;
|MovieDirectors ||videodb://1/5/ ||videodb://movies/directors/&lt;br /&gt;
|-&lt;br /&gt;
|MovieStudios ||videodb://1/6/ ||videodb://movies/studios/&lt;br /&gt;
|-&lt;br /&gt;
|MovieSets ||videodb://1/7/ ||videodb://movies/sets/&lt;br /&gt;
|-&lt;br /&gt;
|MovieCountries ||videodb://1/8/ ||videodb://movies/countries/&lt;br /&gt;
|- &lt;br /&gt;
|MovieTags ||videodb://1/9/ ||videodb://movies/tags/&lt;br /&gt;
|-&lt;br /&gt;
|RecentlyAddedMovies ||videodb://4/ ||videodb://recentlyaddedmovies/&lt;br /&gt;
|- &lt;br /&gt;
| &amp;amp;nbsp; ||&amp;amp;nbsp; ||&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|TvShows ||videodb://2/ ||videodb://tvshows/&lt;br /&gt;
|-&lt;br /&gt;
|TvShowGenres ||videodb://2/1/ ||videodb://tvshows/genres/&lt;br /&gt;
|-&lt;br /&gt;
|TvShowTitles ||videodb://2/2/ ||videodb://tvshows/titles/&lt;br /&gt;
|-&lt;br /&gt;
|TvShowYears ||videodb://2/3/ ||videodb://tvshows/years/&lt;br /&gt;
|-&lt;br /&gt;
|TvShowActors ||videodb://2/4/ ||videodb://tvshows/actors/&lt;br /&gt;
|-&lt;br /&gt;
|TvShowStudios ||videodb://2/5/ ||videodb://tvshows/studios/&lt;br /&gt;
|-&lt;br /&gt;
|RecentlyAddedEpisodes ||videodb://5/ ||videodb://recentlyaddedepisodes/&lt;br /&gt;
|-&lt;br /&gt;
| &amp;amp;nbsp; ||&amp;amp;nbsp; ||&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|MusicVideos ||videodb://3/ ||videodb://musicvideos/&lt;br /&gt;
|-&lt;br /&gt;
|MusicVideoGenres ||videodb://3/1/ ||videodb://musicvideos/genres/&lt;br /&gt;
|-&lt;br /&gt;
|MusicVideoTitles ||videodb://3/2/ ||videodb://musicvideos/titles/&lt;br /&gt;
|-&lt;br /&gt;
|MusicVideoYears ||videodb://3/3/ ||videodb://musicvideos/years/&lt;br /&gt;
|-&lt;br /&gt;
|MusicVideoArtists ||videodb://3/4/ ||videodb://musicvideos/artists/&lt;br /&gt;
|-&lt;br /&gt;
|MusicVideoAlbums ||videodb://3/5/ ||videodb://musicvideos/albums/&lt;br /&gt;
|-&lt;br /&gt;
|MusicVideoDirectors ||videodb://3/6/ ||videodb://musicvideos/directors/&lt;br /&gt;
|-&lt;br /&gt;
|MusicVideoStudios ||videodb://3/7/ ||videodb://musicvideos/studios/&lt;br /&gt;
|-&lt;br /&gt;
|RecentlyAddedMusicVideos ||videodb://6/ ||videodb://recentlyaddedmusicvideos/&lt;br /&gt;
|-&lt;br /&gt;
| &amp;amp;nbsp; ||&amp;amp;nbsp; ||&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|Playlists ||special://videoplaylists/ ||special://videoplaylists/&lt;br /&gt;
|-&lt;br /&gt;
|Video Add-ons ||addons://sources/video/ ||addons://sources/video/&lt;br /&gt;
|-&lt;br /&gt;
|Files ||sources://video/ ||sources://video/&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;MusicLibrary:&#039;&#039;&#039; ===&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! section !! frodo !! gotham&lt;br /&gt;
|-&lt;br /&gt;
|MusicLibrary ||musicdb:// ||musicdb://&lt;br /&gt;
|-&lt;br /&gt;
| &amp;amp;nbsp; ||&amp;amp;nbsp; ||&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|Genres ||musicdb://1/ ||musicdb://genres/&lt;br /&gt;
|-&lt;br /&gt;
|Artists ||musicdb://2/ ||musicdb://artists/&lt;br /&gt;
|-&lt;br /&gt;
|Albums ||musicdb://3/ ||musicdb://albums/&lt;br /&gt;
|-&lt;br /&gt;
|Songs ||musicdb://4/ ||musicdb://songs/&lt;br /&gt;
|-&lt;br /&gt;
|Top100 ||musicdb://5/ ||musicdb://top100/&lt;br /&gt;
|-&lt;br /&gt;
|Top100Songs ||musicdb://5/1/ ||musicdb://top100/songs/&lt;br /&gt;
|-&lt;br /&gt;
|Top100Albums ||musicdb://5/2/ ||musicdb://top100/albums/&lt;br /&gt;
|-&lt;br /&gt;
|RecentlyAddedAlbums ||musicdb://6/ ||musicdb://recentlyaddedalbums/&lt;br /&gt;
|-&lt;br /&gt;
|RecentlyPlayedAlbums ||musicdb://7/ ||musicdb://recentlyplayedalbums/&lt;br /&gt;
|-&lt;br /&gt;
|Compilations ||musicdb://8/ ||musicdb://compilations/&lt;br /&gt;
|-&lt;br /&gt;
|Years ||musicdb://9/ ||musicdb://years/&lt;br /&gt;
|-&lt;br /&gt;
|Singles ||musicdb://10/ ||musicdb://singles/&lt;br /&gt;
|-&lt;br /&gt;
| &amp;amp;nbsp; ||&amp;amp;nbsp; ||&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|Playlists ||special://musicplaylists/ ||special://musicplaylists/&lt;br /&gt;
|-&lt;br /&gt;
|Music Add-ons ||addons://sources/audio/ ||addons://sources/audio/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;Programs:&#039;&#039;&#039; ===&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! section !! frodo !! gotham&lt;br /&gt;
|-&lt;br /&gt;
|Programs ||root ||root&lt;br /&gt;
|-&lt;br /&gt;
| &amp;amp;nbsp; ||&amp;amp;nbsp; ||&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|Executable ||addons://sources/executable/ ||addons://sources/executable/&lt;br /&gt;
|-&lt;br /&gt;
|AndroidApp ||   ||androidapp://sources/apps/&lt;br /&gt;
|}&lt;br /&gt;
[[Category:Skin development]]&lt;br /&gt;
[[Category:Add-on development]]&lt;br /&gt;
[[Category:Python]]&lt;/div&gt;</summary>
		<author><name>MassIV</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Opening_Windows_and_Dialogs&amp;diff=77878</id>
		<title>Opening Windows and Dialogs</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Opening_Windows_and_Dialogs&amp;diff=77878"/>
		<updated>2014-08-01T22:51:03Z</updated>

		<summary type="html">&lt;p&gt;MassIV: /* Programs: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Development]]|[[Add-on development]]}}&lt;br /&gt;
&lt;br /&gt;
You can use the ActivateWindow() [[List of Built In Functions|Built In Function]] to open a certain [[Window IDs|Window]]. &lt;br /&gt;
&lt;br /&gt;
This command can be assigned to a [[Button control|button]] in a skin or mapped to a key in your [[Keyboard.xml|Keymap]].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example:&#039;&#039;&#039;&lt;br /&gt;
* This will take you directly to the settings section of xbmc:&lt;br /&gt;
&amp;lt;pre&amp;gt;ActivateWindow(Settings)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Some windows even allow you to jump directly to a sub-section of that window. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example:&#039;&#039;&#039;&lt;br /&gt;
* If you want a button in your skin or on your remote to take you directly to the movie listing, you let that button do:&lt;br /&gt;
&amp;lt;pre&amp;gt;ActivateWindow(Videos,MovieTitles)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Below is a list of the available sub-sections in the Video- and MusicLibrary.&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;VideoLibrary:&#039;&#039;&#039; ===&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! section !! frodo !! gotham&lt;br /&gt;
|-&lt;br /&gt;
|VideoLibrary ||videodb://||videodb://&lt;br /&gt;
|-&lt;br /&gt;
| &amp;amp;nbsp; ||&amp;amp;nbsp; ||&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|Movies ||videodb://1/ ||videodb://movies/&lt;br /&gt;
|-&lt;br /&gt;
|MovieGenres ||videodb://1/1/ ||videodb://movies/genres/&lt;br /&gt;
|-&lt;br /&gt;
|MovieTitles ||videodb://1/2/ ||videodb://movies/titles/&lt;br /&gt;
|-&lt;br /&gt;
|MovieYears ||videodb://1/3/ ||videodb://movies/years/&lt;br /&gt;
|-&lt;br /&gt;
|MovieActors ||videodb://1/4/ ||videodb://movies/actors/&lt;br /&gt;
|-&lt;br /&gt;
|MovieDirectors ||videodb://1/5/ ||videodb://movies/directors/&lt;br /&gt;
|-&lt;br /&gt;
|MovieStudios ||videodb://1/6/ ||videodb://movies/studios/&lt;br /&gt;
|-&lt;br /&gt;
|MovieSets ||videodb://1/7/ ||videodb://movies/sets/&lt;br /&gt;
|-&lt;br /&gt;
|MovieCountries ||videodb://1/8/ ||videodb://movies/countries/&lt;br /&gt;
|- &lt;br /&gt;
|MovieTags ||videodb://1/9/ ||videodb://movies/tags/&lt;br /&gt;
|-&lt;br /&gt;
|RecentlyAddedMovies ||videodb://4/ ||videodb://recentlyaddedmovies/&lt;br /&gt;
|- &lt;br /&gt;
| &amp;amp;nbsp; ||&amp;amp;nbsp; ||&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|TvShows ||videodb://2/ ||videodb://tvshows/&lt;br /&gt;
|-&lt;br /&gt;
|TvShowGenres ||videodb://2/1/ ||videodb://tvshows/genres/&lt;br /&gt;
|-&lt;br /&gt;
|TvShowTitles ||videodb://2/2/ ||videodb://tvshows/titles/&lt;br /&gt;
|-&lt;br /&gt;
|TvShowYears ||videodb://2/3/ ||videodb://tvshows/years/&lt;br /&gt;
|-&lt;br /&gt;
|TvShowActors ||videodb://2/4/ ||videodb://tvshows/actors/&lt;br /&gt;
|-&lt;br /&gt;
|TvShowStudios ||videodb://2/5/ ||videodb://tvshows/studios/&lt;br /&gt;
|-&lt;br /&gt;
|RecentlyAddedEpisodes ||videodb://5/ ||videodb://recentlyaddedepisodes/&lt;br /&gt;
|-&lt;br /&gt;
| &amp;amp;nbsp; ||&amp;amp;nbsp; ||&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|MusicVideos ||videodb://3/ ||videodb://musicvideos/&lt;br /&gt;
|-&lt;br /&gt;
|MusicVideoGenres ||videodb://3/1/ ||videodb://musicvideos/genres/&lt;br /&gt;
|-&lt;br /&gt;
|MusicVideoTitles ||videodb://3/2/ ||videodb://musicvideos/titles/&lt;br /&gt;
|-&lt;br /&gt;
|MusicVideoYears ||videodb://3/3/ ||videodb://musicvideos/years/&lt;br /&gt;
|-&lt;br /&gt;
|MusicVideoArtists ||videodb://3/4/ ||videodb://musicvideos/artists/&lt;br /&gt;
|-&lt;br /&gt;
|MusicVideoAlbums ||videodb://3/5/ ||videodb://musicvideos/albums/&lt;br /&gt;
|-&lt;br /&gt;
|MusicVideoDirectors ||videodb://3/6/ ||videodb://musicvideos/directors/&lt;br /&gt;
|-&lt;br /&gt;
|MusicVideoStudios ||videodb://3/7/ ||videodb://musicvideos/studios/&lt;br /&gt;
|-&lt;br /&gt;
|RecentlyAddedMusicVideos ||videodb://6/ ||videodb://recentlyaddedmusicvideos/&lt;br /&gt;
|-&lt;br /&gt;
| &amp;amp;nbsp; ||&amp;amp;nbsp; ||&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|Playlists ||special://videoplaylists/ ||special://videoplaylists/&lt;br /&gt;
|-&lt;br /&gt;
|Video Add-ons ||addons://sources/video/ ||addons://sources/video/&lt;br /&gt;
|-&lt;br /&gt;
|Files ||sources://video/ ||sources://video/&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;MusicLibrary:&#039;&#039;&#039; ===&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! section !! frodo !! gotham&lt;br /&gt;
|-&lt;br /&gt;
|MusicLibrary ||musicdb:// ||musicdb://&lt;br /&gt;
|-&lt;br /&gt;
| &amp;amp;nbsp; ||&amp;amp;nbsp; ||&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|Genres ||musicdb://1/ ||musicdb://genres/&lt;br /&gt;
|-&lt;br /&gt;
|Artists ||musicdb://2/ ||musicdb://artists/&lt;br /&gt;
|-&lt;br /&gt;
|Albums ||musicdb://3/ ||musicdb://albums/&lt;br /&gt;
|-&lt;br /&gt;
|Songs ||musicdb://4/ ||musicdb://songs/&lt;br /&gt;
|-&lt;br /&gt;
|Top100 ||musicdb://5/ ||musicdb://top100/&lt;br /&gt;
|-&lt;br /&gt;
|Top100Songs ||musicdb://5/1/ ||musicdb://top100/songs/&lt;br /&gt;
|-&lt;br /&gt;
|Top100Albums ||musicdb://5/2/ ||musicdb://top100/albums/&lt;br /&gt;
|-&lt;br /&gt;
|RecentlyAddedAlbums ||musicdb://6/ ||musicdb://recentlyaddedalbums/&lt;br /&gt;
|-&lt;br /&gt;
|RecentlyPlayedAlbums ||musicdb://7/ ||musicdb://recentlyplayedalbums/&lt;br /&gt;
|-&lt;br /&gt;
|Compilations ||musicdb://8/ ||musicdb://compilations/&lt;br /&gt;
|-&lt;br /&gt;
|Years ||musicdb://9/ ||musicdb://years/&lt;br /&gt;
|-&lt;br /&gt;
|Singles ||musicdb://10/ ||musicdb://singles/&lt;br /&gt;
|-&lt;br /&gt;
| &amp;amp;nbsp; ||&amp;amp;nbsp; ||&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|Playlists ||special://musicplaylists/ ||special://musicplaylists/&lt;br /&gt;
|-&lt;br /&gt;
|Music Add-ons ||addons://sources/audio/ ||addons://sources/audio/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;Programs:&#039;&#039;&#039; ===&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! section !! frodo !! gotham&lt;br /&gt;
|-&lt;br /&gt;
|Programs ||root ||root&lt;br /&gt;
|-&lt;br /&gt;
| &amp;amp;nbsp; ||&amp;amp;nbsp; ||&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|Executable ||addons://sources/executable/ ||addons://sources/executable/&lt;br /&gt;
|-&lt;br /&gt;
|AndroidApp ||  ? ||androidapp://sources/apps/&lt;br /&gt;
|}&lt;br /&gt;
[[Category:Skin development]]&lt;br /&gt;
[[Category:Add-on development]]&lt;br /&gt;
[[Category:Python]]&lt;/div&gt;</summary>
		<author><name>MassIV</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Opening_Windows_and_Dialogs&amp;diff=77877</id>
		<title>Opening Windows and Dialogs</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Opening_Windows_and_Dialogs&amp;diff=77877"/>
		<updated>2014-08-01T22:47:25Z</updated>

		<summary type="html">&lt;p&gt;MassIV: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Development]]|[[Add-on development]]}}&lt;br /&gt;
&lt;br /&gt;
You can use the ActivateWindow() [[List of Built In Functions|Built In Function]] to open a certain [[Window IDs|Window]]. &lt;br /&gt;
&lt;br /&gt;
This command can be assigned to a [[Button control|button]] in a skin or mapped to a key in your [[Keyboard.xml|Keymap]].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example:&#039;&#039;&#039;&lt;br /&gt;
* This will take you directly to the settings section of xbmc:&lt;br /&gt;
&amp;lt;pre&amp;gt;ActivateWindow(Settings)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Some windows even allow you to jump directly to a sub-section of that window. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example:&#039;&#039;&#039;&lt;br /&gt;
* If you want a button in your skin or on your remote to take you directly to the movie listing, you let that button do:&lt;br /&gt;
&amp;lt;pre&amp;gt;ActivateWindow(Videos,MovieTitles)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Below is a list of the available sub-sections in the Video- and MusicLibrary.&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;VideoLibrary:&#039;&#039;&#039; ===&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! section !! frodo !! gotham&lt;br /&gt;
|-&lt;br /&gt;
|VideoLibrary ||videodb://||videodb://&lt;br /&gt;
|-&lt;br /&gt;
| &amp;amp;nbsp; ||&amp;amp;nbsp; ||&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|Movies ||videodb://1/ ||videodb://movies/&lt;br /&gt;
|-&lt;br /&gt;
|MovieGenres ||videodb://1/1/ ||videodb://movies/genres/&lt;br /&gt;
|-&lt;br /&gt;
|MovieTitles ||videodb://1/2/ ||videodb://movies/titles/&lt;br /&gt;
|-&lt;br /&gt;
|MovieYears ||videodb://1/3/ ||videodb://movies/years/&lt;br /&gt;
|-&lt;br /&gt;
|MovieActors ||videodb://1/4/ ||videodb://movies/actors/&lt;br /&gt;
|-&lt;br /&gt;
|MovieDirectors ||videodb://1/5/ ||videodb://movies/directors/&lt;br /&gt;
|-&lt;br /&gt;
|MovieStudios ||videodb://1/6/ ||videodb://movies/studios/&lt;br /&gt;
|-&lt;br /&gt;
|MovieSets ||videodb://1/7/ ||videodb://movies/sets/&lt;br /&gt;
|-&lt;br /&gt;
|MovieCountries ||videodb://1/8/ ||videodb://movies/countries/&lt;br /&gt;
|- &lt;br /&gt;
|MovieTags ||videodb://1/9/ ||videodb://movies/tags/&lt;br /&gt;
|-&lt;br /&gt;
|RecentlyAddedMovies ||videodb://4/ ||videodb://recentlyaddedmovies/&lt;br /&gt;
|- &lt;br /&gt;
| &amp;amp;nbsp; ||&amp;amp;nbsp; ||&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|TvShows ||videodb://2/ ||videodb://tvshows/&lt;br /&gt;
|-&lt;br /&gt;
|TvShowGenres ||videodb://2/1/ ||videodb://tvshows/genres/&lt;br /&gt;
|-&lt;br /&gt;
|TvShowTitles ||videodb://2/2/ ||videodb://tvshows/titles/&lt;br /&gt;
|-&lt;br /&gt;
|TvShowYears ||videodb://2/3/ ||videodb://tvshows/years/&lt;br /&gt;
|-&lt;br /&gt;
|TvShowActors ||videodb://2/4/ ||videodb://tvshows/actors/&lt;br /&gt;
|-&lt;br /&gt;
|TvShowStudios ||videodb://2/5/ ||videodb://tvshows/studios/&lt;br /&gt;
|-&lt;br /&gt;
|RecentlyAddedEpisodes ||videodb://5/ ||videodb://recentlyaddedepisodes/&lt;br /&gt;
|-&lt;br /&gt;
| &amp;amp;nbsp; ||&amp;amp;nbsp; ||&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|MusicVideos ||videodb://3/ ||videodb://musicvideos/&lt;br /&gt;
|-&lt;br /&gt;
|MusicVideoGenres ||videodb://3/1/ ||videodb://musicvideos/genres/&lt;br /&gt;
|-&lt;br /&gt;
|MusicVideoTitles ||videodb://3/2/ ||videodb://musicvideos/titles/&lt;br /&gt;
|-&lt;br /&gt;
|MusicVideoYears ||videodb://3/3/ ||videodb://musicvideos/years/&lt;br /&gt;
|-&lt;br /&gt;
|MusicVideoArtists ||videodb://3/4/ ||videodb://musicvideos/artists/&lt;br /&gt;
|-&lt;br /&gt;
|MusicVideoAlbums ||videodb://3/5/ ||videodb://musicvideos/albums/&lt;br /&gt;
|-&lt;br /&gt;
|MusicVideoDirectors ||videodb://3/6/ ||videodb://musicvideos/directors/&lt;br /&gt;
|-&lt;br /&gt;
|MusicVideoStudios ||videodb://3/7/ ||videodb://musicvideos/studios/&lt;br /&gt;
|-&lt;br /&gt;
|RecentlyAddedMusicVideos ||videodb://6/ ||videodb://recentlyaddedmusicvideos/&lt;br /&gt;
|-&lt;br /&gt;
| &amp;amp;nbsp; ||&amp;amp;nbsp; ||&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|Playlists ||special://videoplaylists/ ||special://videoplaylists/&lt;br /&gt;
|-&lt;br /&gt;
|Video Add-ons ||addons://sources/video/ ||addons://sources/video/&lt;br /&gt;
|-&lt;br /&gt;
|Files ||sources://video/ ||sources://video/&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;MusicLibrary:&#039;&#039;&#039; ===&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! section !! frodo !! gotham&lt;br /&gt;
|-&lt;br /&gt;
|MusicLibrary ||musicdb:// ||musicdb://&lt;br /&gt;
|-&lt;br /&gt;
| &amp;amp;nbsp; ||&amp;amp;nbsp; ||&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|Genres ||musicdb://1/ ||musicdb://genres/&lt;br /&gt;
|-&lt;br /&gt;
|Artists ||musicdb://2/ ||musicdb://artists/&lt;br /&gt;
|-&lt;br /&gt;
|Albums ||musicdb://3/ ||musicdb://albums/&lt;br /&gt;
|-&lt;br /&gt;
|Songs ||musicdb://4/ ||musicdb://songs/&lt;br /&gt;
|-&lt;br /&gt;
|Top100 ||musicdb://5/ ||musicdb://top100/&lt;br /&gt;
|-&lt;br /&gt;
|Top100Songs ||musicdb://5/1/ ||musicdb://top100/songs/&lt;br /&gt;
|-&lt;br /&gt;
|Top100Albums ||musicdb://5/2/ ||musicdb://top100/albums/&lt;br /&gt;
|-&lt;br /&gt;
|RecentlyAddedAlbums ||musicdb://6/ ||musicdb://recentlyaddedalbums/&lt;br /&gt;
|-&lt;br /&gt;
|RecentlyPlayedAlbums ||musicdb://7/ ||musicdb://recentlyplayedalbums/&lt;br /&gt;
|-&lt;br /&gt;
|Compilations ||musicdb://8/ ||musicdb://compilations/&lt;br /&gt;
|-&lt;br /&gt;
|Years ||musicdb://9/ ||musicdb://years/&lt;br /&gt;
|-&lt;br /&gt;
|Singles ||musicdb://10/ ||musicdb://singles/&lt;br /&gt;
|-&lt;br /&gt;
| &amp;amp;nbsp; ||&amp;amp;nbsp; ||&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|Playlists ||special://musicplaylists/ ||special://musicplaylists/&lt;br /&gt;
|-&lt;br /&gt;
|Music Add-ons ||addons://sources/audio/ ||addons://sources/audio/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;Programs:&#039;&#039;&#039; ===&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! section !! frodo !! gotham&lt;br /&gt;
|-&lt;br /&gt;
|Programs ||root ||root&lt;br /&gt;
|-&lt;br /&gt;
| &amp;amp;nbsp; ||&amp;amp;nbsp; ||&amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|Executable ||addons://sources/executable/ ||addons://sources/executable/&lt;br /&gt;
|-&lt;br /&gt;
|Android app ||  ? ||androidapp://sources/apps/&lt;br /&gt;
|}&lt;br /&gt;
[[Category:Skin development]]&lt;br /&gt;
[[Category:Add-on development]]&lt;br /&gt;
[[Category:Python]]&lt;/div&gt;</summary>
		<author><name>MassIV</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=HOW-TO:Add_a_new_view_type_to_the_skin&amp;diff=77038</id>
		<title>HOW-TO:Add a new view type to the skin</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=HOW-TO:Add_a_new_view_type_to_the_skin&amp;diff=77038"/>
		<updated>2014-06-23T18:50:47Z</updated>

		<summary type="html">&lt;p&gt;MassIV: /* That&amp;#039;s it */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Development]]|[[Add-on development]]|[[Skinning]]|[[Skinning Tutorials]]}}&lt;br /&gt;
&lt;br /&gt;
==Create the extra includes type xml file==&lt;br /&gt;
&lt;br /&gt;
We start by creating the new include type xml file. This means we are going to extend the current includes.xml file with another file. While making this file is not strictly needed (you could just add the new view in already huge includes.xml) it is recommended for organizing and readability. In this tutorial the new file we are making is named &amp;quot;Viewtype_Banners.xml&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==The content of our viewtype==&lt;br /&gt;
&lt;br /&gt;
This example contains one list with banners and one image control. Before we look at them, notice line 2 and 3 of the content. Line two declares we are dealing with includes. Line 3 declares the name of this (or the first) include in this content.&lt;br /&gt;
&lt;br /&gt;
The image control is separate from the list, is technically placed behind the list in depth (first in code), and it requests the thumb image of the currently focussed item in the list. The list shows the banner and the label of the current item. Make sure &amp;quot;font14&amp;quot; is a supported entry in Font.xml or you won&#039;t see the text. The example list also has two visible conditions like: &#039;&#039;&#039;Container.Content(tvshows)&#039;&#039;&#039;, this is because not all media has banners. Lets not keep you any longer, just paste the below in your empty file (don&#039;t forget the xml version).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&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;Banners&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;control type=&amp;quot;image&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;left&amp;gt;250&amp;lt;/left&amp;gt;&lt;br /&gt;
            &amp;lt;top&amp;gt;250&amp;lt;/top&amp;gt;&lt;br /&gt;
            &amp;lt;width&amp;gt;300&amp;lt;/width&amp;gt;&lt;br /&gt;
            &amp;lt;height&amp;gt;100&amp;lt;/height&amp;gt;&lt;br /&gt;
            &amp;lt;texture&amp;gt;$INFO[Container(709).ListItem.Art(thumb)]&amp;lt;/texture&amp;gt;&lt;br /&gt;
            &amp;lt;aspectratio&amp;gt;keep&amp;lt;/aspectratio&amp;gt;&lt;br /&gt;
            &amp;lt;visible&amp;gt;Control.IsVisible(709)&amp;lt;/visible&amp;gt;&lt;br /&gt;
        &amp;lt;/control&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;control type=&amp;quot;fixedlist&amp;quot; id=&amp;quot;709&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;viewtype label=&amp;quot;Banners&amp;quot;&amp;gt;list&amp;lt;/viewtype&amp;gt;&lt;br /&gt;
            &amp;lt;left&amp;gt;351&amp;lt;/left&amp;gt;&lt;br /&gt;
            &amp;lt;top&amp;gt;112&amp;lt;/top&amp;gt;&lt;br /&gt;
            &amp;lt;width&amp;gt;950&amp;lt;/width&amp;gt;&lt;br /&gt;
            &amp;lt;height&amp;gt;550&amp;lt;/height&amp;gt;&lt;br /&gt;
            &amp;lt;orientation&amp;gt;vertical&amp;lt;/orientation&amp;gt;&lt;br /&gt;
            &amp;lt;focusposition&amp;gt;1&amp;lt;/focusposition&amp;gt;&lt;br /&gt;
            &amp;lt;visible&amp;gt;Container.Content(tvshows) | Container.Content(seasons)&amp;lt;/visible&amp;gt;&lt;br /&gt;
&lt;br /&gt;
            &amp;lt;itemlayout width=&amp;quot;585&amp;quot; height=&amp;quot;190&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
                &amp;lt;control type=&amp;quot;image&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;left&amp;gt;2&amp;lt;/left&amp;gt;&lt;br /&gt;
                    &amp;lt;top&amp;gt;13&amp;lt;/top&amp;gt;&lt;br /&gt;
                    &amp;lt;width&amp;gt;573&amp;lt;/width&amp;gt;&lt;br /&gt;
                    &amp;lt;height&amp;gt;105&amp;lt;/height&amp;gt;&lt;br /&gt;
                    &amp;lt;texture&amp;gt;$INFO[ListItem.Art(banner)]&amp;lt;/texture&amp;gt;&lt;br /&gt;
                    &amp;lt;aspectratio&amp;gt;stretch&amp;lt;/aspectratio&amp;gt;&lt;br /&gt;
                &amp;lt;/control&amp;gt;&lt;br /&gt;
                &amp;lt;control type=&amp;quot;label&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;left&amp;gt;10&amp;lt;/left&amp;gt;&lt;br /&gt;
                    &amp;lt;top&amp;gt;107&amp;lt;/top&amp;gt;&lt;br /&gt;
                    &amp;lt;width&amp;gt;633&amp;lt;/width&amp;gt;&lt;br /&gt;
                    &amp;lt;height&amp;gt;60&amp;lt;/height&amp;gt;&lt;br /&gt;
                    &amp;lt;align&amp;gt;left&amp;lt;/align&amp;gt;&lt;br /&gt;
                    &amp;lt;label&amp;gt;$INFO[ListItem.Label]&amp;lt;/label&amp;gt;&lt;br /&gt;
                    &amp;lt;font&amp;gt;font14&amp;lt;/font&amp;gt;&lt;br /&gt;
                    &amp;lt;textcolor&amp;gt;FFFFFFFF&amp;lt;/textcolor&amp;gt;&lt;br /&gt;
                    &amp;lt;selectedcolor&amp;gt;FFFFFFFF&amp;lt;/selectedcolor&amp;gt;&lt;br /&gt;
                &amp;lt;/control&amp;gt;&lt;br /&gt;
&lt;br /&gt;
            &amp;lt;/itemlayout&amp;gt;&lt;br /&gt;
            &amp;lt;focusedlayout width=&amp;quot;585&amp;quot; height=&amp;quot;190&amp;quot;&amp;gt;&lt;br /&gt;
				&lt;br /&gt;
                &amp;lt;control type=&amp;quot;image&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;left&amp;gt;2&amp;lt;/left&amp;gt;&lt;br /&gt;
                    &amp;lt;top&amp;gt;13&amp;lt;/top&amp;gt;&lt;br /&gt;
                    &amp;lt;width&amp;gt;573&amp;lt;/width&amp;gt;&lt;br /&gt;
                    &amp;lt;height&amp;gt;105&amp;lt;/height&amp;gt;&lt;br /&gt;
                    &amp;lt;texture&amp;gt;$INFO[ListItem.Art(banner)]&amp;lt;/texture&amp;gt;&lt;br /&gt;
                    &amp;lt;aspectratio&amp;gt;stretch&amp;lt;/aspectratio&amp;gt;&lt;br /&gt;
                &amp;lt;/control&amp;gt;&lt;br /&gt;
                &amp;lt;control type=&amp;quot;label&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;left&amp;gt;10&amp;lt;/left&amp;gt;&lt;br /&gt;
                    &amp;lt;top&amp;gt;107&amp;lt;/top&amp;gt;&lt;br /&gt;
                    &amp;lt;width&amp;gt;633&amp;lt;/width&amp;gt;&lt;br /&gt;
                    &amp;lt;height&amp;gt;60&amp;lt;/height&amp;gt;&lt;br /&gt;
                    &amp;lt;align&amp;gt;left&amp;lt;/align&amp;gt;&lt;br /&gt;
                    &amp;lt;label&amp;gt;$INFO[ListItem.Label]&amp;lt;/label&amp;gt;&lt;br /&gt;
                    &amp;lt;font&amp;gt;font14&amp;lt;/font&amp;gt;&lt;br /&gt;
                    &amp;lt;textcolor&amp;gt;FFFFFFFF&amp;lt;/textcolor&amp;gt;&lt;br /&gt;
                    &amp;lt;selectedcolor&amp;gt;FFFFFFFF&amp;lt;/selectedcolor&amp;gt;&lt;br /&gt;
                &amp;lt;/control&amp;gt;&lt;br /&gt;
&lt;br /&gt;
            &amp;lt;/focusedlayout&amp;gt;&lt;br /&gt;
        &amp;lt;/control&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;/include&amp;gt;&lt;br /&gt;
&amp;lt;/includes&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Lets make it available in the skin==&lt;br /&gt;
&lt;br /&gt;
Three little things XBMC needs to know about our new viewtype. &lt;br /&gt;
&lt;br /&gt;
A. &#039;&#039;&#039;Open the file includes.xml.&#039;&#039;&#039; First we need to actually add the extension of includes.xml that we made (Viewtype_Banners.xml) to includes.xml. So we add the following line to includes.xml&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;include file=&amp;quot;Viewtype_Banners.xml&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
B. &#039;&#039;&#039;Open the file MyVideoNav.xml.&#039;&#039;&#039; The skin needs to know in what order the viewtypes get flipped through when we press the &amp;quot;next viewtype&amp;quot; button. So the number of our viewtype &#039;&#039;&#039;709&#039;&#039;&#039; needs to get added inbetween the views tags (should be near the top). &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;views&amp;gt;637,709,501,603,781,50&amp;lt;/views&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
C. &#039;&#039;&#039;Open the file MyVideoNav.xml.&#039;&#039;&#039; Hey great, you already had it open. Now we add the actual include. What did we name our include again in line 3 of our content? Did we use a capital B? &#039;&#039;&#039;&amp;lt;include&amp;gt;Banners&amp;lt;/include&amp;gt;&#039;&#039;&#039; is what we add. Alright, so maybe you see numbers behind the includes. The code does not read those, that is how you format a comment.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;include&amp;gt;Banners&amp;lt;/include&amp;gt;&amp;lt;!-- 709 --&amp;gt;&lt;br /&gt;
&amp;lt;include&amp;gt;Panel&amp;lt;/include&amp;gt;&amp;lt;!-- 603 --&amp;gt;&lt;br /&gt;
&amp;lt;include&amp;gt;List&amp;lt;/include&amp;gt;&amp;lt;!-- 50 --&amp;gt; &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==That&#039;s it==&lt;br /&gt;
&lt;br /&gt;
What might be left to do? Well your skin might not have a button to flip through the available viewtypes. So you need to add a button or item to perform this function. Look in the documentation or in the skin if you need an example.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;onclick&amp;gt;Container.NextViewMode&amp;lt;/onclick&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Don&#039;t forget to refresh the skin to load the new code. Have a look at the foundation thread for how to do this:&lt;br /&gt;
http://forum.xbmc.org/showthread.php?tid=94438&lt;br /&gt;
&lt;br /&gt;
Now we can head over to our TV Shows (remember it&#039;s not available everywhere) to work on our new viewtype.&lt;br /&gt;
&lt;br /&gt;
Now you can try to change the banner view into something else. How about a panel that loads posters?&lt;br /&gt;
http://wiki.xbmc.org/?title=Panel_Container&lt;/div&gt;</summary>
		<author><name>MassIV</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=HOW-TO:Add_a_new_view_type_to_the_skin&amp;diff=77037</id>
		<title>HOW-TO:Add a new view type to the skin</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=HOW-TO:Add_a_new_view_type_to_the_skin&amp;diff=77037"/>
		<updated>2014-06-23T18:42:18Z</updated>

		<summary type="html">&lt;p&gt;MassIV: /* Lets make it available in the skin */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Development]]|[[Add-on development]]|[[Skinning]]|[[Skinning Tutorials]]}}&lt;br /&gt;
&lt;br /&gt;
==Create the extra includes type xml file==&lt;br /&gt;
&lt;br /&gt;
We start by creating the new include type xml file. This means we are going to extend the current includes.xml file with another file. While making this file is not strictly needed (you could just add the new view in already huge includes.xml) it is recommended for organizing and readability. In this tutorial the new file we are making is named &amp;quot;Viewtype_Banners.xml&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==The content of our viewtype==&lt;br /&gt;
&lt;br /&gt;
This example contains one list with banners and one image control. Before we look at them, notice line 2 and 3 of the content. Line two declares we are dealing with includes. Line 3 declares the name of this (or the first) include in this content.&lt;br /&gt;
&lt;br /&gt;
The image control is separate from the list, is technically placed behind the list in depth (first in code), and it requests the thumb image of the currently focussed item in the list. The list shows the banner and the label of the current item. Make sure &amp;quot;font14&amp;quot; is a supported entry in Font.xml or you won&#039;t see the text. The example list also has two visible conditions like: &#039;&#039;&#039;Container.Content(tvshows)&#039;&#039;&#039;, this is because not all media has banners. Lets not keep you any longer, just paste the below in your empty file (don&#039;t forget the xml version).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&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;Banners&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;control type=&amp;quot;image&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;left&amp;gt;250&amp;lt;/left&amp;gt;&lt;br /&gt;
            &amp;lt;top&amp;gt;250&amp;lt;/top&amp;gt;&lt;br /&gt;
            &amp;lt;width&amp;gt;300&amp;lt;/width&amp;gt;&lt;br /&gt;
            &amp;lt;height&amp;gt;100&amp;lt;/height&amp;gt;&lt;br /&gt;
            &amp;lt;texture&amp;gt;$INFO[Container(709).ListItem.Art(thumb)]&amp;lt;/texture&amp;gt;&lt;br /&gt;
            &amp;lt;aspectratio&amp;gt;keep&amp;lt;/aspectratio&amp;gt;&lt;br /&gt;
            &amp;lt;visible&amp;gt;Control.IsVisible(709)&amp;lt;/visible&amp;gt;&lt;br /&gt;
        &amp;lt;/control&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;control type=&amp;quot;fixedlist&amp;quot; id=&amp;quot;709&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;viewtype label=&amp;quot;Banners&amp;quot;&amp;gt;list&amp;lt;/viewtype&amp;gt;&lt;br /&gt;
            &amp;lt;left&amp;gt;351&amp;lt;/left&amp;gt;&lt;br /&gt;
            &amp;lt;top&amp;gt;112&amp;lt;/top&amp;gt;&lt;br /&gt;
            &amp;lt;width&amp;gt;950&amp;lt;/width&amp;gt;&lt;br /&gt;
            &amp;lt;height&amp;gt;550&amp;lt;/height&amp;gt;&lt;br /&gt;
            &amp;lt;orientation&amp;gt;vertical&amp;lt;/orientation&amp;gt;&lt;br /&gt;
            &amp;lt;focusposition&amp;gt;1&amp;lt;/focusposition&amp;gt;&lt;br /&gt;
            &amp;lt;visible&amp;gt;Container.Content(tvshows) | Container.Content(seasons)&amp;lt;/visible&amp;gt;&lt;br /&gt;
&lt;br /&gt;
            &amp;lt;itemlayout width=&amp;quot;585&amp;quot; height=&amp;quot;190&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
                &amp;lt;control type=&amp;quot;image&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;left&amp;gt;2&amp;lt;/left&amp;gt;&lt;br /&gt;
                    &amp;lt;top&amp;gt;13&amp;lt;/top&amp;gt;&lt;br /&gt;
                    &amp;lt;width&amp;gt;573&amp;lt;/width&amp;gt;&lt;br /&gt;
                    &amp;lt;height&amp;gt;105&amp;lt;/height&amp;gt;&lt;br /&gt;
                    &amp;lt;texture&amp;gt;$INFO[ListItem.Art(banner)]&amp;lt;/texture&amp;gt;&lt;br /&gt;
                    &amp;lt;aspectratio&amp;gt;stretch&amp;lt;/aspectratio&amp;gt;&lt;br /&gt;
                &amp;lt;/control&amp;gt;&lt;br /&gt;
                &amp;lt;control type=&amp;quot;label&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;left&amp;gt;10&amp;lt;/left&amp;gt;&lt;br /&gt;
                    &amp;lt;top&amp;gt;107&amp;lt;/top&amp;gt;&lt;br /&gt;
                    &amp;lt;width&amp;gt;633&amp;lt;/width&amp;gt;&lt;br /&gt;
                    &amp;lt;height&amp;gt;60&amp;lt;/height&amp;gt;&lt;br /&gt;
                    &amp;lt;align&amp;gt;left&amp;lt;/align&amp;gt;&lt;br /&gt;
                    &amp;lt;label&amp;gt;$INFO[ListItem.Label]&amp;lt;/label&amp;gt;&lt;br /&gt;
                    &amp;lt;font&amp;gt;font14&amp;lt;/font&amp;gt;&lt;br /&gt;
                    &amp;lt;textcolor&amp;gt;FFFFFFFF&amp;lt;/textcolor&amp;gt;&lt;br /&gt;
                    &amp;lt;selectedcolor&amp;gt;FFFFFFFF&amp;lt;/selectedcolor&amp;gt;&lt;br /&gt;
                &amp;lt;/control&amp;gt;&lt;br /&gt;
&lt;br /&gt;
            &amp;lt;/itemlayout&amp;gt;&lt;br /&gt;
            &amp;lt;focusedlayout width=&amp;quot;585&amp;quot; height=&amp;quot;190&amp;quot;&amp;gt;&lt;br /&gt;
				&lt;br /&gt;
                &amp;lt;control type=&amp;quot;image&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;left&amp;gt;2&amp;lt;/left&amp;gt;&lt;br /&gt;
                    &amp;lt;top&amp;gt;13&amp;lt;/top&amp;gt;&lt;br /&gt;
                    &amp;lt;width&amp;gt;573&amp;lt;/width&amp;gt;&lt;br /&gt;
                    &amp;lt;height&amp;gt;105&amp;lt;/height&amp;gt;&lt;br /&gt;
                    &amp;lt;texture&amp;gt;$INFO[ListItem.Art(banner)]&amp;lt;/texture&amp;gt;&lt;br /&gt;
                    &amp;lt;aspectratio&amp;gt;stretch&amp;lt;/aspectratio&amp;gt;&lt;br /&gt;
                &amp;lt;/control&amp;gt;&lt;br /&gt;
                &amp;lt;control type=&amp;quot;label&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;left&amp;gt;10&amp;lt;/left&amp;gt;&lt;br /&gt;
                    &amp;lt;top&amp;gt;107&amp;lt;/top&amp;gt;&lt;br /&gt;
                    &amp;lt;width&amp;gt;633&amp;lt;/width&amp;gt;&lt;br /&gt;
                    &amp;lt;height&amp;gt;60&amp;lt;/height&amp;gt;&lt;br /&gt;
                    &amp;lt;align&amp;gt;left&amp;lt;/align&amp;gt;&lt;br /&gt;
                    &amp;lt;label&amp;gt;$INFO[ListItem.Label]&amp;lt;/label&amp;gt;&lt;br /&gt;
                    &amp;lt;font&amp;gt;font14&amp;lt;/font&amp;gt;&lt;br /&gt;
                    &amp;lt;textcolor&amp;gt;FFFFFFFF&amp;lt;/textcolor&amp;gt;&lt;br /&gt;
                    &amp;lt;selectedcolor&amp;gt;FFFFFFFF&amp;lt;/selectedcolor&amp;gt;&lt;br /&gt;
                &amp;lt;/control&amp;gt;&lt;br /&gt;
&lt;br /&gt;
            &amp;lt;/focusedlayout&amp;gt;&lt;br /&gt;
        &amp;lt;/control&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;/include&amp;gt;&lt;br /&gt;
&amp;lt;/includes&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Lets make it available in the skin==&lt;br /&gt;
&lt;br /&gt;
Three little things XBMC needs to know about our new viewtype. &lt;br /&gt;
&lt;br /&gt;
A. &#039;&#039;&#039;Open the file includes.xml.&#039;&#039;&#039; First we need to actually add the extension of includes.xml that we made (Viewtype_Banners.xml) to includes.xml. So we add the following line to includes.xml&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;include file=&amp;quot;Viewtype_Banners.xml&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
B. &#039;&#039;&#039;Open the file MyVideoNav.xml.&#039;&#039;&#039; The skin needs to know in what order the viewtypes get flipped through when we press the &amp;quot;next viewtype&amp;quot; button. So the number of our viewtype &#039;&#039;&#039;709&#039;&#039;&#039; needs to get added inbetween the views tags (should be near the top). &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;views&amp;gt;637,709,501,603,781,50&amp;lt;/views&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
C. &#039;&#039;&#039;Open the file MyVideoNav.xml.&#039;&#039;&#039; Hey great, you already had it open. Now we add the actual include. What did we name our include again in line 3 of our content? Did we use a capital B? &#039;&#039;&#039;&amp;lt;include&amp;gt;Banners&amp;lt;/include&amp;gt;&#039;&#039;&#039; is what we add. Alright, so maybe you see numbers behind the includes. The code does not read those, that is how you format a comment.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;include&amp;gt;Banners&amp;lt;/include&amp;gt;&amp;lt;!-- 709 --&amp;gt;&lt;br /&gt;
&amp;lt;include&amp;gt;Panel&amp;lt;/include&amp;gt;&amp;lt;!-- 603 --&amp;gt;&lt;br /&gt;
&amp;lt;include&amp;gt;List&amp;lt;/include&amp;gt;&amp;lt;!-- 50 --&amp;gt; &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==That&#039;s it==&lt;br /&gt;
&lt;br /&gt;
What might be left to do? Well your skin might not have a button to flip through the available viewtypes. So you need to add a button or item to perform this function. Look in the documentation or in the skin if you need an example.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;onclick&amp;gt;Container.NextViewMode&amp;lt;/onclick&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Don&#039;t forget to refresh the skin to load the new code. Have a look at the foundation thread for how to do this:&lt;br /&gt;
http://forum.xbmc.org/showthread.php?tid=94438&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now you can try to change the banner view into something else. How about a panel that loads posters?&lt;br /&gt;
http://wiki.xbmc.org/?title=Panel_Container&lt;/div&gt;</summary>
		<author><name>MassIV</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=HOW-TO:Add_a_new_view_type_to_the_skin&amp;diff=77036</id>
		<title>HOW-TO:Add a new view type to the skin</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=HOW-TO:Add_a_new_view_type_to_the_skin&amp;diff=77036"/>
		<updated>2014-06-23T18:39:40Z</updated>

		<summary type="html">&lt;p&gt;MassIV: /* Lets make it available in the skin */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Development]]|[[Add-on development]]|[[Skinning]]|[[Skinning Tutorials]]}}&lt;br /&gt;
&lt;br /&gt;
==Create the extra includes type xml file==&lt;br /&gt;
&lt;br /&gt;
We start by creating the new include type xml file. This means we are going to extend the current includes.xml file with another file. While making this file is not strictly needed (you could just add the new view in already huge includes.xml) it is recommended for organizing and readability. In this tutorial the new file we are making is named &amp;quot;Viewtype_Banners.xml&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==The content of our viewtype==&lt;br /&gt;
&lt;br /&gt;
This example contains one list with banners and one image control. Before we look at them, notice line 2 and 3 of the content. Line two declares we are dealing with includes. Line 3 declares the name of this (or the first) include in this content.&lt;br /&gt;
&lt;br /&gt;
The image control is separate from the list, is technically placed behind the list in depth (first in code), and it requests the thumb image of the currently focussed item in the list. The list shows the banner and the label of the current item. Make sure &amp;quot;font14&amp;quot; is a supported entry in Font.xml or you won&#039;t see the text. The example list also has two visible conditions like: &#039;&#039;&#039;Container.Content(tvshows)&#039;&#039;&#039;, this is because not all media has banners. Lets not keep you any longer, just paste the below in your empty file (don&#039;t forget the xml version).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&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;Banners&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;control type=&amp;quot;image&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;left&amp;gt;250&amp;lt;/left&amp;gt;&lt;br /&gt;
            &amp;lt;top&amp;gt;250&amp;lt;/top&amp;gt;&lt;br /&gt;
            &amp;lt;width&amp;gt;300&amp;lt;/width&amp;gt;&lt;br /&gt;
            &amp;lt;height&amp;gt;100&amp;lt;/height&amp;gt;&lt;br /&gt;
            &amp;lt;texture&amp;gt;$INFO[Container(709).ListItem.Art(thumb)]&amp;lt;/texture&amp;gt;&lt;br /&gt;
            &amp;lt;aspectratio&amp;gt;keep&amp;lt;/aspectratio&amp;gt;&lt;br /&gt;
            &amp;lt;visible&amp;gt;Control.IsVisible(709)&amp;lt;/visible&amp;gt;&lt;br /&gt;
        &amp;lt;/control&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;control type=&amp;quot;fixedlist&amp;quot; id=&amp;quot;709&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;viewtype label=&amp;quot;Banners&amp;quot;&amp;gt;list&amp;lt;/viewtype&amp;gt;&lt;br /&gt;
            &amp;lt;left&amp;gt;351&amp;lt;/left&amp;gt;&lt;br /&gt;
            &amp;lt;top&amp;gt;112&amp;lt;/top&amp;gt;&lt;br /&gt;
            &amp;lt;width&amp;gt;950&amp;lt;/width&amp;gt;&lt;br /&gt;
            &amp;lt;height&amp;gt;550&amp;lt;/height&amp;gt;&lt;br /&gt;
            &amp;lt;orientation&amp;gt;vertical&amp;lt;/orientation&amp;gt;&lt;br /&gt;
            &amp;lt;focusposition&amp;gt;1&amp;lt;/focusposition&amp;gt;&lt;br /&gt;
            &amp;lt;visible&amp;gt;Container.Content(tvshows) | Container.Content(seasons)&amp;lt;/visible&amp;gt;&lt;br /&gt;
&lt;br /&gt;
            &amp;lt;itemlayout width=&amp;quot;585&amp;quot; height=&amp;quot;190&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
                &amp;lt;control type=&amp;quot;image&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;left&amp;gt;2&amp;lt;/left&amp;gt;&lt;br /&gt;
                    &amp;lt;top&amp;gt;13&amp;lt;/top&amp;gt;&lt;br /&gt;
                    &amp;lt;width&amp;gt;573&amp;lt;/width&amp;gt;&lt;br /&gt;
                    &amp;lt;height&amp;gt;105&amp;lt;/height&amp;gt;&lt;br /&gt;
                    &amp;lt;texture&amp;gt;$INFO[ListItem.Art(banner)]&amp;lt;/texture&amp;gt;&lt;br /&gt;
                    &amp;lt;aspectratio&amp;gt;stretch&amp;lt;/aspectratio&amp;gt;&lt;br /&gt;
                &amp;lt;/control&amp;gt;&lt;br /&gt;
                &amp;lt;control type=&amp;quot;label&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;left&amp;gt;10&amp;lt;/left&amp;gt;&lt;br /&gt;
                    &amp;lt;top&amp;gt;107&amp;lt;/top&amp;gt;&lt;br /&gt;
                    &amp;lt;width&amp;gt;633&amp;lt;/width&amp;gt;&lt;br /&gt;
                    &amp;lt;height&amp;gt;60&amp;lt;/height&amp;gt;&lt;br /&gt;
                    &amp;lt;align&amp;gt;left&amp;lt;/align&amp;gt;&lt;br /&gt;
                    &amp;lt;label&amp;gt;$INFO[ListItem.Label]&amp;lt;/label&amp;gt;&lt;br /&gt;
                    &amp;lt;font&amp;gt;font14&amp;lt;/font&amp;gt;&lt;br /&gt;
                    &amp;lt;textcolor&amp;gt;FFFFFFFF&amp;lt;/textcolor&amp;gt;&lt;br /&gt;
                    &amp;lt;selectedcolor&amp;gt;FFFFFFFF&amp;lt;/selectedcolor&amp;gt;&lt;br /&gt;
                &amp;lt;/control&amp;gt;&lt;br /&gt;
&lt;br /&gt;
            &amp;lt;/itemlayout&amp;gt;&lt;br /&gt;
            &amp;lt;focusedlayout width=&amp;quot;585&amp;quot; height=&amp;quot;190&amp;quot;&amp;gt;&lt;br /&gt;
				&lt;br /&gt;
                &amp;lt;control type=&amp;quot;image&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;left&amp;gt;2&amp;lt;/left&amp;gt;&lt;br /&gt;
                    &amp;lt;top&amp;gt;13&amp;lt;/top&amp;gt;&lt;br /&gt;
                    &amp;lt;width&amp;gt;573&amp;lt;/width&amp;gt;&lt;br /&gt;
                    &amp;lt;height&amp;gt;105&amp;lt;/height&amp;gt;&lt;br /&gt;
                    &amp;lt;texture&amp;gt;$INFO[ListItem.Art(banner)]&amp;lt;/texture&amp;gt;&lt;br /&gt;
                    &amp;lt;aspectratio&amp;gt;stretch&amp;lt;/aspectratio&amp;gt;&lt;br /&gt;
                &amp;lt;/control&amp;gt;&lt;br /&gt;
                &amp;lt;control type=&amp;quot;label&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;left&amp;gt;10&amp;lt;/left&amp;gt;&lt;br /&gt;
                    &amp;lt;top&amp;gt;107&amp;lt;/top&amp;gt;&lt;br /&gt;
                    &amp;lt;width&amp;gt;633&amp;lt;/width&amp;gt;&lt;br /&gt;
                    &amp;lt;height&amp;gt;60&amp;lt;/height&amp;gt;&lt;br /&gt;
                    &amp;lt;align&amp;gt;left&amp;lt;/align&amp;gt;&lt;br /&gt;
                    &amp;lt;label&amp;gt;$INFO[ListItem.Label]&amp;lt;/label&amp;gt;&lt;br /&gt;
                    &amp;lt;font&amp;gt;font14&amp;lt;/font&amp;gt;&lt;br /&gt;
                    &amp;lt;textcolor&amp;gt;FFFFFFFF&amp;lt;/textcolor&amp;gt;&lt;br /&gt;
                    &amp;lt;selectedcolor&amp;gt;FFFFFFFF&amp;lt;/selectedcolor&amp;gt;&lt;br /&gt;
                &amp;lt;/control&amp;gt;&lt;br /&gt;
&lt;br /&gt;
            &amp;lt;/focusedlayout&amp;gt;&lt;br /&gt;
        &amp;lt;/control&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;/include&amp;gt;&lt;br /&gt;
&amp;lt;/includes&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Lets make it available in the skin==&lt;br /&gt;
&lt;br /&gt;
Three little things XBMC needs to know about our new viewtype. &lt;br /&gt;
&lt;br /&gt;
A. &#039;&#039;&#039;Open the file includes.xml.&#039;&#039;&#039; First we need to actually add the extension of includes.xml that we made (Viewtype_Banners.xml) to includes.xml. So we add the following line to includes.xml&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;include file=&amp;quot;Viewtype_Banners.xml&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
B. &#039;&#039;&#039;Open the file MyVideoNav.xml.&#039;&#039;&#039; The skin needs to know in what order the viewtypes get flipped through when we press the &amp;quot;next viewtype&amp;quot; button. So the number of our viewtype &#039;&#039;&#039;709&#039;&#039;&#039; needs to get added inbetween the views tags (should be near the top). &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;views&amp;gt;637,709,501,603,781,50&amp;lt;/views&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
C. &#039;&#039;&#039;Open the file MyVideoNav.xml.&#039;&#039;&#039; Hey great, you already had it open. Now we add the actual include. What did we name our include again in line 3 of our content? Did we use a capital B? &#039;&#039;&#039;&amp;lt;include&amp;gt;Banners&amp;lt;/include&amp;gt;&#039;&#039;&#039; is what we add. Alright, so you see numbers behind the includes. The code does not read those, that is how you format a comment.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;include&amp;gt;Banners&amp;lt;/include&amp;gt;&amp;lt;!-- 709 --&amp;gt;&lt;br /&gt;
&amp;lt;include&amp;gt;Panel&amp;lt;/include&amp;gt;&amp;lt;!-- 603 --&amp;gt;&lt;br /&gt;
&amp;lt;include&amp;gt;List&amp;lt;/include&amp;gt;&amp;lt;!-- 50 --&amp;gt; &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==That&#039;s it==&lt;br /&gt;
&lt;br /&gt;
What might be left to do? Well your skin might not have a button to flip through the available viewtypes. So you need to add a button or item to perform this function. Look in the documentation or in the skin if you need an example.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;onclick&amp;gt;Container.NextViewMode&amp;lt;/onclick&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Don&#039;t forget to refresh the skin to load the new code. Have a look at the foundation thread for how to do this:&lt;br /&gt;
http://forum.xbmc.org/showthread.php?tid=94438&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now you can try to change the banner view into something else. How about a panel that loads posters?&lt;br /&gt;
http://wiki.xbmc.org/?title=Panel_Container&lt;/div&gt;</summary>
		<author><name>MassIV</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=HOW-TO:Add_a_new_view_type_to_the_skin&amp;diff=77033</id>
		<title>HOW-TO:Add a new view type to the skin</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=HOW-TO:Add_a_new_view_type_to_the_skin&amp;diff=77033"/>
		<updated>2014-06-23T18:34:03Z</updated>

		<summary type="html">&lt;p&gt;MassIV: /* That&amp;#039;s it */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Development]]|[[Add-on development]]|[[Skinning]]|[[Skinning Tutorials]]}}&lt;br /&gt;
&lt;br /&gt;
==Create the extra includes type xml file==&lt;br /&gt;
&lt;br /&gt;
We start by creating the new include type xml file. This means we are going to extend the current includes.xml file with another file. While making this file is not strictly needed (you could just add the new view in already huge includes.xml) it is recommended for organizing and readability. In this tutorial the new file we are making is named &amp;quot;Viewtype_Banners.xml&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==The content of our viewtype==&lt;br /&gt;
&lt;br /&gt;
This example contains one list with banners and one image control. Before we look at them, notice line 2 and 3 of the content. Line two declares we are dealing with includes. Line 3 declares the name of this (or the first) include in this content.&lt;br /&gt;
&lt;br /&gt;
The image control is separate from the list, is technically placed behind the list in depth (first in code), and it requests the thumb image of the currently focussed item in the list. The list shows the banner and the label of the current item. Make sure &amp;quot;font14&amp;quot; is a supported entry in Font.xml or you won&#039;t see the text. The example list also has two visible conditions like: &#039;&#039;&#039;Container.Content(tvshows)&#039;&#039;&#039;, this is because not all media has banners. Lets not keep you any longer, just paste the below in your empty file (don&#039;t forget the xml version).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&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;Banners&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;control type=&amp;quot;image&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;left&amp;gt;250&amp;lt;/left&amp;gt;&lt;br /&gt;
            &amp;lt;top&amp;gt;250&amp;lt;/top&amp;gt;&lt;br /&gt;
            &amp;lt;width&amp;gt;300&amp;lt;/width&amp;gt;&lt;br /&gt;
            &amp;lt;height&amp;gt;100&amp;lt;/height&amp;gt;&lt;br /&gt;
            &amp;lt;texture&amp;gt;$INFO[Container(709).ListItem.Art(thumb)]&amp;lt;/texture&amp;gt;&lt;br /&gt;
            &amp;lt;aspectratio&amp;gt;keep&amp;lt;/aspectratio&amp;gt;&lt;br /&gt;
            &amp;lt;visible&amp;gt;Control.IsVisible(709)&amp;lt;/visible&amp;gt;&lt;br /&gt;
        &amp;lt;/control&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;control type=&amp;quot;fixedlist&amp;quot; id=&amp;quot;709&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;viewtype label=&amp;quot;Banners&amp;quot;&amp;gt;list&amp;lt;/viewtype&amp;gt;&lt;br /&gt;
            &amp;lt;left&amp;gt;351&amp;lt;/left&amp;gt;&lt;br /&gt;
            &amp;lt;top&amp;gt;112&amp;lt;/top&amp;gt;&lt;br /&gt;
            &amp;lt;width&amp;gt;950&amp;lt;/width&amp;gt;&lt;br /&gt;
            &amp;lt;height&amp;gt;550&amp;lt;/height&amp;gt;&lt;br /&gt;
            &amp;lt;orientation&amp;gt;vertical&amp;lt;/orientation&amp;gt;&lt;br /&gt;
            &amp;lt;focusposition&amp;gt;1&amp;lt;/focusposition&amp;gt;&lt;br /&gt;
            &amp;lt;visible&amp;gt;Container.Content(tvshows) | Container.Content(seasons)&amp;lt;/visible&amp;gt;&lt;br /&gt;
&lt;br /&gt;
            &amp;lt;itemlayout width=&amp;quot;585&amp;quot; height=&amp;quot;190&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
                &amp;lt;control type=&amp;quot;image&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;left&amp;gt;2&amp;lt;/left&amp;gt;&lt;br /&gt;
                    &amp;lt;top&amp;gt;13&amp;lt;/top&amp;gt;&lt;br /&gt;
                    &amp;lt;width&amp;gt;573&amp;lt;/width&amp;gt;&lt;br /&gt;
                    &amp;lt;height&amp;gt;105&amp;lt;/height&amp;gt;&lt;br /&gt;
                    &amp;lt;texture&amp;gt;$INFO[ListItem.Art(banner)]&amp;lt;/texture&amp;gt;&lt;br /&gt;
                    &amp;lt;aspectratio&amp;gt;stretch&amp;lt;/aspectratio&amp;gt;&lt;br /&gt;
                &amp;lt;/control&amp;gt;&lt;br /&gt;
                &amp;lt;control type=&amp;quot;label&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;left&amp;gt;10&amp;lt;/left&amp;gt;&lt;br /&gt;
                    &amp;lt;top&amp;gt;107&amp;lt;/top&amp;gt;&lt;br /&gt;
                    &amp;lt;width&amp;gt;633&amp;lt;/width&amp;gt;&lt;br /&gt;
                    &amp;lt;height&amp;gt;60&amp;lt;/height&amp;gt;&lt;br /&gt;
                    &amp;lt;align&amp;gt;left&amp;lt;/align&amp;gt;&lt;br /&gt;
                    &amp;lt;label&amp;gt;$INFO[ListItem.Label]&amp;lt;/label&amp;gt;&lt;br /&gt;
                    &amp;lt;font&amp;gt;font14&amp;lt;/font&amp;gt;&lt;br /&gt;
                    &amp;lt;textcolor&amp;gt;FFFFFFFF&amp;lt;/textcolor&amp;gt;&lt;br /&gt;
                    &amp;lt;selectedcolor&amp;gt;FFFFFFFF&amp;lt;/selectedcolor&amp;gt;&lt;br /&gt;
                &amp;lt;/control&amp;gt;&lt;br /&gt;
&lt;br /&gt;
            &amp;lt;/itemlayout&amp;gt;&lt;br /&gt;
            &amp;lt;focusedlayout width=&amp;quot;585&amp;quot; height=&amp;quot;190&amp;quot;&amp;gt;&lt;br /&gt;
				&lt;br /&gt;
                &amp;lt;control type=&amp;quot;image&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;left&amp;gt;2&amp;lt;/left&amp;gt;&lt;br /&gt;
                    &amp;lt;top&amp;gt;13&amp;lt;/top&amp;gt;&lt;br /&gt;
                    &amp;lt;width&amp;gt;573&amp;lt;/width&amp;gt;&lt;br /&gt;
                    &amp;lt;height&amp;gt;105&amp;lt;/height&amp;gt;&lt;br /&gt;
                    &amp;lt;texture&amp;gt;$INFO[ListItem.Art(banner)]&amp;lt;/texture&amp;gt;&lt;br /&gt;
                    &amp;lt;aspectratio&amp;gt;stretch&amp;lt;/aspectratio&amp;gt;&lt;br /&gt;
                &amp;lt;/control&amp;gt;&lt;br /&gt;
                &amp;lt;control type=&amp;quot;label&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;left&amp;gt;10&amp;lt;/left&amp;gt;&lt;br /&gt;
                    &amp;lt;top&amp;gt;107&amp;lt;/top&amp;gt;&lt;br /&gt;
                    &amp;lt;width&amp;gt;633&amp;lt;/width&amp;gt;&lt;br /&gt;
                    &amp;lt;height&amp;gt;60&amp;lt;/height&amp;gt;&lt;br /&gt;
                    &amp;lt;align&amp;gt;left&amp;lt;/align&amp;gt;&lt;br /&gt;
                    &amp;lt;label&amp;gt;$INFO[ListItem.Label]&amp;lt;/label&amp;gt;&lt;br /&gt;
                    &amp;lt;font&amp;gt;font14&amp;lt;/font&amp;gt;&lt;br /&gt;
                    &amp;lt;textcolor&amp;gt;FFFFFFFF&amp;lt;/textcolor&amp;gt;&lt;br /&gt;
                    &amp;lt;selectedcolor&amp;gt;FFFFFFFF&amp;lt;/selectedcolor&amp;gt;&lt;br /&gt;
                &amp;lt;/control&amp;gt;&lt;br /&gt;
&lt;br /&gt;
            &amp;lt;/focusedlayout&amp;gt;&lt;br /&gt;
        &amp;lt;/control&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;/include&amp;gt;&lt;br /&gt;
&amp;lt;/includes&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Lets make it available in the skin==&lt;br /&gt;
&lt;br /&gt;
Three little things XBMC needs to know about our new viewtype. &lt;br /&gt;
&lt;br /&gt;
A. &#039;&#039;&#039;Open the file includes.xml.&#039;&#039;&#039; First we need to actually add the extension of includes.xml that we made (Viewtype_Banners.xml) to includes.xml. So we add the following line to includes.xml&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;include file=&amp;quot;Viewtype_Banners.xml&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
B. &#039;&#039;&#039;Open the file MyVideoNav.xml.&#039;&#039;&#039; The skin needs to know in what order the viewtypes get flipped through when we press the &amp;quot;next viewtype&amp;quot; button. So the number of our viewtype &#039;&#039;&#039;709&#039;&#039;&#039; needs to get added inbetween the views tags (should be near the top). &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;views&amp;gt;637,709,501,603,781,50&amp;lt;/views&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
C. &#039;&#039;&#039;Open the file MyVideoNav.xml.&#039;&#039;&#039; Hey great, you already had it open. Now we add the actual include. What did we name our include again in line 3 of our content? Did we use a capital B? &#039;&#039;&#039;&amp;lt;include&amp;gt;Banners&amp;lt;/include&amp;gt;&#039;&#039;&#039; is what we add. Alright, so you see numbers behind the includes. The code does not read those, that is how you format a comment.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;include&amp;gt;Banners&amp;lt;/include&amp;gt;&amp;lt;!-- 709 --&amp;gt;&lt;br /&gt;
&amp;lt;include&amp;gt;Panel&amp;lt;/include&amp;gt;&amp;lt;!-- 603 --&amp;gt;&lt;br /&gt;
&amp;lt;include&amp;gt;List&amp;lt;/include&amp;gt;&amp;lt;!-- 50 --&amp;gt; &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==That&#039;s it==&lt;br /&gt;
&lt;br /&gt;
What might be left to do? Well your skin might not have a button to flip through the available viewtypes. So you need to add a button or item to perform this function. Look in the documentation or in the skin if you need an example.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;onclick&amp;gt;Container.NextViewMode&amp;lt;/onclick&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Don&#039;t forget to refresh the skin to load the new code. Have a look at the foundation thread for how to do this:&lt;br /&gt;
http://forum.xbmc.org/showthread.php?tid=94438&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now you can try to change the banner view into something else. How about a panel that loads posters?&lt;br /&gt;
http://wiki.xbmc.org/?title=Panel_Container&lt;/div&gt;</summary>
		<author><name>MassIV</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=HOW-TO:Add_a_new_view_type_to_the_skin&amp;diff=77032</id>
		<title>HOW-TO:Add a new view type to the skin</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=HOW-TO:Add_a_new_view_type_to_the_skin&amp;diff=77032"/>
		<updated>2014-06-23T18:32:35Z</updated>

		<summary type="html">&lt;p&gt;MassIV: /* Lets make it available in the skin */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Development]]|[[Add-on development]]|[[Skinning]]|[[Skinning Tutorials]]}}&lt;br /&gt;
&lt;br /&gt;
==Create the extra includes type xml file==&lt;br /&gt;
&lt;br /&gt;
We start by creating the new include type xml file. This means we are going to extend the current includes.xml file with another file. While making this file is not strictly needed (you could just add the new view in already huge includes.xml) it is recommended for organizing and readability. In this tutorial the new file we are making is named &amp;quot;Viewtype_Banners.xml&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==The content of our viewtype==&lt;br /&gt;
&lt;br /&gt;
This example contains one list with banners and one image control. Before we look at them, notice line 2 and 3 of the content. Line two declares we are dealing with includes. Line 3 declares the name of this (or the first) include in this content.&lt;br /&gt;
&lt;br /&gt;
The image control is separate from the list, is technically placed behind the list in depth (first in code), and it requests the thumb image of the currently focussed item in the list. The list shows the banner and the label of the current item. Make sure &amp;quot;font14&amp;quot; is a supported entry in Font.xml or you won&#039;t see the text. The example list also has two visible conditions like: &#039;&#039;&#039;Container.Content(tvshows)&#039;&#039;&#039;, this is because not all media has banners. Lets not keep you any longer, just paste the below in your empty file (don&#039;t forget the xml version).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&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;Banners&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;control type=&amp;quot;image&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;left&amp;gt;250&amp;lt;/left&amp;gt;&lt;br /&gt;
            &amp;lt;top&amp;gt;250&amp;lt;/top&amp;gt;&lt;br /&gt;
            &amp;lt;width&amp;gt;300&amp;lt;/width&amp;gt;&lt;br /&gt;
            &amp;lt;height&amp;gt;100&amp;lt;/height&amp;gt;&lt;br /&gt;
            &amp;lt;texture&amp;gt;$INFO[Container(709).ListItem.Art(thumb)]&amp;lt;/texture&amp;gt;&lt;br /&gt;
            &amp;lt;aspectratio&amp;gt;keep&amp;lt;/aspectratio&amp;gt;&lt;br /&gt;
            &amp;lt;visible&amp;gt;Control.IsVisible(709)&amp;lt;/visible&amp;gt;&lt;br /&gt;
        &amp;lt;/control&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;control type=&amp;quot;fixedlist&amp;quot; id=&amp;quot;709&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;viewtype label=&amp;quot;Banners&amp;quot;&amp;gt;list&amp;lt;/viewtype&amp;gt;&lt;br /&gt;
            &amp;lt;left&amp;gt;351&amp;lt;/left&amp;gt;&lt;br /&gt;
            &amp;lt;top&amp;gt;112&amp;lt;/top&amp;gt;&lt;br /&gt;
            &amp;lt;width&amp;gt;950&amp;lt;/width&amp;gt;&lt;br /&gt;
            &amp;lt;height&amp;gt;550&amp;lt;/height&amp;gt;&lt;br /&gt;
            &amp;lt;orientation&amp;gt;vertical&amp;lt;/orientation&amp;gt;&lt;br /&gt;
            &amp;lt;focusposition&amp;gt;1&amp;lt;/focusposition&amp;gt;&lt;br /&gt;
            &amp;lt;visible&amp;gt;Container.Content(tvshows) | Container.Content(seasons)&amp;lt;/visible&amp;gt;&lt;br /&gt;
&lt;br /&gt;
            &amp;lt;itemlayout width=&amp;quot;585&amp;quot; height=&amp;quot;190&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
                &amp;lt;control type=&amp;quot;image&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;left&amp;gt;2&amp;lt;/left&amp;gt;&lt;br /&gt;
                    &amp;lt;top&amp;gt;13&amp;lt;/top&amp;gt;&lt;br /&gt;
                    &amp;lt;width&amp;gt;573&amp;lt;/width&amp;gt;&lt;br /&gt;
                    &amp;lt;height&amp;gt;105&amp;lt;/height&amp;gt;&lt;br /&gt;
                    &amp;lt;texture&amp;gt;$INFO[ListItem.Art(banner)]&amp;lt;/texture&amp;gt;&lt;br /&gt;
                    &amp;lt;aspectratio&amp;gt;stretch&amp;lt;/aspectratio&amp;gt;&lt;br /&gt;
                &amp;lt;/control&amp;gt;&lt;br /&gt;
                &amp;lt;control type=&amp;quot;label&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;left&amp;gt;10&amp;lt;/left&amp;gt;&lt;br /&gt;
                    &amp;lt;top&amp;gt;107&amp;lt;/top&amp;gt;&lt;br /&gt;
                    &amp;lt;width&amp;gt;633&amp;lt;/width&amp;gt;&lt;br /&gt;
                    &amp;lt;height&amp;gt;60&amp;lt;/height&amp;gt;&lt;br /&gt;
                    &amp;lt;align&amp;gt;left&amp;lt;/align&amp;gt;&lt;br /&gt;
                    &amp;lt;label&amp;gt;$INFO[ListItem.Label]&amp;lt;/label&amp;gt;&lt;br /&gt;
                    &amp;lt;font&amp;gt;font14&amp;lt;/font&amp;gt;&lt;br /&gt;
                    &amp;lt;textcolor&amp;gt;FFFFFFFF&amp;lt;/textcolor&amp;gt;&lt;br /&gt;
                    &amp;lt;selectedcolor&amp;gt;FFFFFFFF&amp;lt;/selectedcolor&amp;gt;&lt;br /&gt;
                &amp;lt;/control&amp;gt;&lt;br /&gt;
&lt;br /&gt;
            &amp;lt;/itemlayout&amp;gt;&lt;br /&gt;
            &amp;lt;focusedlayout width=&amp;quot;585&amp;quot; height=&amp;quot;190&amp;quot;&amp;gt;&lt;br /&gt;
				&lt;br /&gt;
                &amp;lt;control type=&amp;quot;image&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;left&amp;gt;2&amp;lt;/left&amp;gt;&lt;br /&gt;
                    &amp;lt;top&amp;gt;13&amp;lt;/top&amp;gt;&lt;br /&gt;
                    &amp;lt;width&amp;gt;573&amp;lt;/width&amp;gt;&lt;br /&gt;
                    &amp;lt;height&amp;gt;105&amp;lt;/height&amp;gt;&lt;br /&gt;
                    &amp;lt;texture&amp;gt;$INFO[ListItem.Art(banner)]&amp;lt;/texture&amp;gt;&lt;br /&gt;
                    &amp;lt;aspectratio&amp;gt;stretch&amp;lt;/aspectratio&amp;gt;&lt;br /&gt;
                &amp;lt;/control&amp;gt;&lt;br /&gt;
                &amp;lt;control type=&amp;quot;label&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;left&amp;gt;10&amp;lt;/left&amp;gt;&lt;br /&gt;
                    &amp;lt;top&amp;gt;107&amp;lt;/top&amp;gt;&lt;br /&gt;
                    &amp;lt;width&amp;gt;633&amp;lt;/width&amp;gt;&lt;br /&gt;
                    &amp;lt;height&amp;gt;60&amp;lt;/height&amp;gt;&lt;br /&gt;
                    &amp;lt;align&amp;gt;left&amp;lt;/align&amp;gt;&lt;br /&gt;
                    &amp;lt;label&amp;gt;$INFO[ListItem.Label]&amp;lt;/label&amp;gt;&lt;br /&gt;
                    &amp;lt;font&amp;gt;font14&amp;lt;/font&amp;gt;&lt;br /&gt;
                    &amp;lt;textcolor&amp;gt;FFFFFFFF&amp;lt;/textcolor&amp;gt;&lt;br /&gt;
                    &amp;lt;selectedcolor&amp;gt;FFFFFFFF&amp;lt;/selectedcolor&amp;gt;&lt;br /&gt;
                &amp;lt;/control&amp;gt;&lt;br /&gt;
&lt;br /&gt;
            &amp;lt;/focusedlayout&amp;gt;&lt;br /&gt;
        &amp;lt;/control&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;/include&amp;gt;&lt;br /&gt;
&amp;lt;/includes&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Lets make it available in the skin==&lt;br /&gt;
&lt;br /&gt;
Three little things XBMC needs to know about our new viewtype. &lt;br /&gt;
&lt;br /&gt;
A. &#039;&#039;&#039;Open the file includes.xml.&#039;&#039;&#039; First we need to actually add the extension of includes.xml that we made (Viewtype_Banners.xml) to includes.xml. So we add the following line to includes.xml&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;include file=&amp;quot;Viewtype_Banners.xml&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
B. &#039;&#039;&#039;Open the file MyVideoNav.xml.&#039;&#039;&#039; The skin needs to know in what order the viewtypes get flipped through when we press the &amp;quot;next viewtype&amp;quot; button. So the number of our viewtype &#039;&#039;&#039;709&#039;&#039;&#039; needs to get added inbetween the views tags (should be near the top). &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;views&amp;gt;637,709,501,603,781,50&amp;lt;/views&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
C. &#039;&#039;&#039;Open the file MyVideoNav.xml.&#039;&#039;&#039; Hey great, you already had it open. Now we add the actual include. What did we name our include again in line 3 of our content? Did we use a capital B? &#039;&#039;&#039;&amp;lt;include&amp;gt;Banners&amp;lt;/include&amp;gt;&#039;&#039;&#039; is what we add. Alright, so you see numbers behind the includes. The code does not read those, that is how you format a comment.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;include&amp;gt;Banners&amp;lt;/include&amp;gt;&amp;lt;!-- 709 --&amp;gt;&lt;br /&gt;
&amp;lt;include&amp;gt;Panel&amp;lt;/include&amp;gt;&amp;lt;!-- 603 --&amp;gt;&lt;br /&gt;
&amp;lt;include&amp;gt;List&amp;lt;/include&amp;gt;&amp;lt;!-- 50 --&amp;gt; &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==That&#039;s it==&lt;br /&gt;
&lt;br /&gt;
What might be left to do? Well your skin might not have a button to flip through the available viewtypes. So you need to add a button or item to perform this function. Look in the documentation or in the skin if you need an example.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;onclick&amp;gt;Container.NextViewMode&amp;lt;/onclick&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Don&#039;t forget to refresh the skin to load the new code. Have a look at the foundation thread for how to do this:&lt;br /&gt;
http://forum.xbmc.org/showthread.php?tid=94438&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now you can try to change the banner view into something else. How about a panel that loads posters?&lt;/div&gt;</summary>
		<author><name>MassIV</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=HOW-TO:Add_a_new_view_type_to_the_skin&amp;diff=77031</id>
		<title>HOW-TO:Add a new view type to the skin</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=HOW-TO:Add_a_new_view_type_to_the_skin&amp;diff=77031"/>
		<updated>2014-06-23T18:31:54Z</updated>

		<summary type="html">&lt;p&gt;MassIV: /* That&amp;#039;s it */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Development]]|[[Add-on development]]|[[Skinning]]|[[Skinning Tutorials]]}}&lt;br /&gt;
&lt;br /&gt;
==Create the extra includes type xml file==&lt;br /&gt;
&lt;br /&gt;
We start by creating the new include type xml file. This means we are going to extend the current includes.xml file with another file. While making this file is not strictly needed (you could just add the new view in already huge includes.xml) it is recommended for organizing and readability. In this tutorial the new file we are making is named &amp;quot;Viewtype_Banners.xml&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==The content of our viewtype==&lt;br /&gt;
&lt;br /&gt;
This example contains one list with banners and one image control. Before we look at them, notice line 2 and 3 of the content. Line two declares we are dealing with includes. Line 3 declares the name of this (or the first) include in this content.&lt;br /&gt;
&lt;br /&gt;
The image control is separate from the list, is technically placed behind the list in depth (first in code), and it requests the thumb image of the currently focussed item in the list. The list shows the banner and the label of the current item. Make sure &amp;quot;font14&amp;quot; is a supported entry in Font.xml or you won&#039;t see the text. The example list also has two visible conditions like: &#039;&#039;&#039;Container.Content(tvshows)&#039;&#039;&#039;, this is because not all media has banners. Lets not keep you any longer, just paste the below in your empty file (don&#039;t forget the xml version).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&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;Banners&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;control type=&amp;quot;image&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;left&amp;gt;250&amp;lt;/left&amp;gt;&lt;br /&gt;
            &amp;lt;top&amp;gt;250&amp;lt;/top&amp;gt;&lt;br /&gt;
            &amp;lt;width&amp;gt;300&amp;lt;/width&amp;gt;&lt;br /&gt;
            &amp;lt;height&amp;gt;100&amp;lt;/height&amp;gt;&lt;br /&gt;
            &amp;lt;texture&amp;gt;$INFO[Container(709).ListItem.Art(thumb)]&amp;lt;/texture&amp;gt;&lt;br /&gt;
            &amp;lt;aspectratio&amp;gt;keep&amp;lt;/aspectratio&amp;gt;&lt;br /&gt;
            &amp;lt;visible&amp;gt;Control.IsVisible(709)&amp;lt;/visible&amp;gt;&lt;br /&gt;
        &amp;lt;/control&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;control type=&amp;quot;fixedlist&amp;quot; id=&amp;quot;709&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;viewtype label=&amp;quot;Banners&amp;quot;&amp;gt;list&amp;lt;/viewtype&amp;gt;&lt;br /&gt;
            &amp;lt;left&amp;gt;351&amp;lt;/left&amp;gt;&lt;br /&gt;
            &amp;lt;top&amp;gt;112&amp;lt;/top&amp;gt;&lt;br /&gt;
            &amp;lt;width&amp;gt;950&amp;lt;/width&amp;gt;&lt;br /&gt;
            &amp;lt;height&amp;gt;550&amp;lt;/height&amp;gt;&lt;br /&gt;
            &amp;lt;orientation&amp;gt;vertical&amp;lt;/orientation&amp;gt;&lt;br /&gt;
            &amp;lt;focusposition&amp;gt;1&amp;lt;/focusposition&amp;gt;&lt;br /&gt;
            &amp;lt;visible&amp;gt;Container.Content(tvshows) | Container.Content(seasons)&amp;lt;/visible&amp;gt;&lt;br /&gt;
&lt;br /&gt;
            &amp;lt;itemlayout width=&amp;quot;585&amp;quot; height=&amp;quot;190&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
                &amp;lt;control type=&amp;quot;image&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;left&amp;gt;2&amp;lt;/left&amp;gt;&lt;br /&gt;
                    &amp;lt;top&amp;gt;13&amp;lt;/top&amp;gt;&lt;br /&gt;
                    &amp;lt;width&amp;gt;573&amp;lt;/width&amp;gt;&lt;br /&gt;
                    &amp;lt;height&amp;gt;105&amp;lt;/height&amp;gt;&lt;br /&gt;
                    &amp;lt;texture&amp;gt;$INFO[ListItem.Art(banner)]&amp;lt;/texture&amp;gt;&lt;br /&gt;
                    &amp;lt;aspectratio&amp;gt;stretch&amp;lt;/aspectratio&amp;gt;&lt;br /&gt;
                &amp;lt;/control&amp;gt;&lt;br /&gt;
                &amp;lt;control type=&amp;quot;label&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;left&amp;gt;10&amp;lt;/left&amp;gt;&lt;br /&gt;
                    &amp;lt;top&amp;gt;107&amp;lt;/top&amp;gt;&lt;br /&gt;
                    &amp;lt;width&amp;gt;633&amp;lt;/width&amp;gt;&lt;br /&gt;
                    &amp;lt;height&amp;gt;60&amp;lt;/height&amp;gt;&lt;br /&gt;
                    &amp;lt;align&amp;gt;left&amp;lt;/align&amp;gt;&lt;br /&gt;
                    &amp;lt;label&amp;gt;$INFO[ListItem.Label]&amp;lt;/label&amp;gt;&lt;br /&gt;
                    &amp;lt;font&amp;gt;font14&amp;lt;/font&amp;gt;&lt;br /&gt;
                    &amp;lt;textcolor&amp;gt;FFFFFFFF&amp;lt;/textcolor&amp;gt;&lt;br /&gt;
                    &amp;lt;selectedcolor&amp;gt;FFFFFFFF&amp;lt;/selectedcolor&amp;gt;&lt;br /&gt;
                &amp;lt;/control&amp;gt;&lt;br /&gt;
&lt;br /&gt;
            &amp;lt;/itemlayout&amp;gt;&lt;br /&gt;
            &amp;lt;focusedlayout width=&amp;quot;585&amp;quot; height=&amp;quot;190&amp;quot;&amp;gt;&lt;br /&gt;
				&lt;br /&gt;
                &amp;lt;control type=&amp;quot;image&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;left&amp;gt;2&amp;lt;/left&amp;gt;&lt;br /&gt;
                    &amp;lt;top&amp;gt;13&amp;lt;/top&amp;gt;&lt;br /&gt;
                    &amp;lt;width&amp;gt;573&amp;lt;/width&amp;gt;&lt;br /&gt;
                    &amp;lt;height&amp;gt;105&amp;lt;/height&amp;gt;&lt;br /&gt;
                    &amp;lt;texture&amp;gt;$INFO[ListItem.Art(banner)]&amp;lt;/texture&amp;gt;&lt;br /&gt;
                    &amp;lt;aspectratio&amp;gt;stretch&amp;lt;/aspectratio&amp;gt;&lt;br /&gt;
                &amp;lt;/control&amp;gt;&lt;br /&gt;
                &amp;lt;control type=&amp;quot;label&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;left&amp;gt;10&amp;lt;/left&amp;gt;&lt;br /&gt;
                    &amp;lt;top&amp;gt;107&amp;lt;/top&amp;gt;&lt;br /&gt;
                    &amp;lt;width&amp;gt;633&amp;lt;/width&amp;gt;&lt;br /&gt;
                    &amp;lt;height&amp;gt;60&amp;lt;/height&amp;gt;&lt;br /&gt;
                    &amp;lt;align&amp;gt;left&amp;lt;/align&amp;gt;&lt;br /&gt;
                    &amp;lt;label&amp;gt;$INFO[ListItem.Label]&amp;lt;/label&amp;gt;&lt;br /&gt;
                    &amp;lt;font&amp;gt;font14&amp;lt;/font&amp;gt;&lt;br /&gt;
                    &amp;lt;textcolor&amp;gt;FFFFFFFF&amp;lt;/textcolor&amp;gt;&lt;br /&gt;
                    &amp;lt;selectedcolor&amp;gt;FFFFFFFF&amp;lt;/selectedcolor&amp;gt;&lt;br /&gt;
                &amp;lt;/control&amp;gt;&lt;br /&gt;
&lt;br /&gt;
            &amp;lt;/focusedlayout&amp;gt;&lt;br /&gt;
        &amp;lt;/control&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;/include&amp;gt;&lt;br /&gt;
&amp;lt;/includes&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Lets make it available in the skin==&lt;br /&gt;
&lt;br /&gt;
Three little things XBMC needs to know about our new viewtype. &lt;br /&gt;
&lt;br /&gt;
1. &#039;&#039;&#039;Open the file includes.xml.&#039;&#039;&#039; First we need to actually add the extension of includes.xml that we made (Viewtype_Banners.xml) to includes.xml. So we add the following line to includes.xml&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;include file=&amp;quot;Viewtype_Banners.xml&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. &#039;&#039;&#039;Open the file MyVideoNav.xml.&#039;&#039;&#039; The skin needs to know in what order the viewtypes get flipped through when we press the &amp;quot;next viewtype&amp;quot; button. So the number of our viewtype &#039;&#039;&#039;709&#039;&#039;&#039; needs to get added inbetween the views tags (should be near the top). &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;views&amp;gt;637,709,501,603,781,50&amp;lt;/views&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3. &#039;&#039;&#039;Open the file MyVideoNav.xml.&#039;&#039;&#039; Hey great, you already had it open. Now we add the actual include. What did we name our include again in line 3 of our content? Did we use a capital B? &#039;&#039;&#039;&amp;lt;include&amp;gt;Banners&amp;lt;/include&amp;gt;&#039;&#039;&#039; is what we add. Alright, so you see numbers behind the includes. The code does not read those, that is how you format a comment.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;include&amp;gt;Banners&amp;lt;/include&amp;gt;&amp;lt;!-- 709 --&amp;gt;&lt;br /&gt;
&amp;lt;include&amp;gt;Panel&amp;lt;/include&amp;gt;&amp;lt;!-- 603 --&amp;gt;&lt;br /&gt;
&amp;lt;include&amp;gt;List&amp;lt;/include&amp;gt;&amp;lt;!-- 50 --&amp;gt; &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==That&#039;s it==&lt;br /&gt;
&lt;br /&gt;
What might be left to do? Well your skin might not have a button to flip through the available viewtypes. So you need to add a button or item to perform this function. Look in the documentation or in the skin if you need an example.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;onclick&amp;gt;Container.NextViewMode&amp;lt;/onclick&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Don&#039;t forget to refresh the skin to load the new code. Have a look at the foundation thread for how to do this:&lt;br /&gt;
http://forum.xbmc.org/showthread.php?tid=94438&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now you can try to change the banner view into something else. How about a panel that loads posters?&lt;/div&gt;</summary>
		<author><name>MassIV</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=HOW-TO:Add_a_new_view_type_to_the_skin&amp;diff=77030</id>
		<title>HOW-TO:Add a new view type to the skin</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=HOW-TO:Add_a_new_view_type_to_the_skin&amp;diff=77030"/>
		<updated>2014-06-23T18:29:22Z</updated>

		<summary type="html">&lt;p&gt;MassIV: /* The content of our viewtype */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Development]]|[[Add-on development]]|[[Skinning]]|[[Skinning Tutorials]]}}&lt;br /&gt;
&lt;br /&gt;
==Create the extra includes type xml file==&lt;br /&gt;
&lt;br /&gt;
We start by creating the new include type xml file. This means we are going to extend the current includes.xml file with another file. While making this file is not strictly needed (you could just add the new view in already huge includes.xml) it is recommended for organizing and readability. In this tutorial the new file we are making is named &amp;quot;Viewtype_Banners.xml&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==The content of our viewtype==&lt;br /&gt;
&lt;br /&gt;
This example contains one list with banners and one image control. Before we look at them, notice line 2 and 3 of the content. Line two declares we are dealing with includes. Line 3 declares the name of this (or the first) include in this content.&lt;br /&gt;
&lt;br /&gt;
The image control is separate from the list, is technically placed behind the list in depth (first in code), and it requests the thumb image of the currently focussed item in the list. The list shows the banner and the label of the current item. Make sure &amp;quot;font14&amp;quot; is a supported entry in Font.xml or you won&#039;t see the text. The example list also has two visible conditions like: &#039;&#039;&#039;Container.Content(tvshows)&#039;&#039;&#039;, this is because not all media has banners. Lets not keep you any longer, just paste the below in your empty file (don&#039;t forget the xml version).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&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;Banners&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;control type=&amp;quot;image&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;left&amp;gt;250&amp;lt;/left&amp;gt;&lt;br /&gt;
            &amp;lt;top&amp;gt;250&amp;lt;/top&amp;gt;&lt;br /&gt;
            &amp;lt;width&amp;gt;300&amp;lt;/width&amp;gt;&lt;br /&gt;
            &amp;lt;height&amp;gt;100&amp;lt;/height&amp;gt;&lt;br /&gt;
            &amp;lt;texture&amp;gt;$INFO[Container(709).ListItem.Art(thumb)]&amp;lt;/texture&amp;gt;&lt;br /&gt;
            &amp;lt;aspectratio&amp;gt;keep&amp;lt;/aspectratio&amp;gt;&lt;br /&gt;
            &amp;lt;visible&amp;gt;Control.IsVisible(709)&amp;lt;/visible&amp;gt;&lt;br /&gt;
        &amp;lt;/control&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;control type=&amp;quot;fixedlist&amp;quot; id=&amp;quot;709&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;viewtype label=&amp;quot;Banners&amp;quot;&amp;gt;list&amp;lt;/viewtype&amp;gt;&lt;br /&gt;
            &amp;lt;left&amp;gt;351&amp;lt;/left&amp;gt;&lt;br /&gt;
            &amp;lt;top&amp;gt;112&amp;lt;/top&amp;gt;&lt;br /&gt;
            &amp;lt;width&amp;gt;950&amp;lt;/width&amp;gt;&lt;br /&gt;
            &amp;lt;height&amp;gt;550&amp;lt;/height&amp;gt;&lt;br /&gt;
            &amp;lt;orientation&amp;gt;vertical&amp;lt;/orientation&amp;gt;&lt;br /&gt;
            &amp;lt;focusposition&amp;gt;1&amp;lt;/focusposition&amp;gt;&lt;br /&gt;
            &amp;lt;visible&amp;gt;Container.Content(tvshows) | Container.Content(seasons)&amp;lt;/visible&amp;gt;&lt;br /&gt;
&lt;br /&gt;
            &amp;lt;itemlayout width=&amp;quot;585&amp;quot; height=&amp;quot;190&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
                &amp;lt;control type=&amp;quot;image&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;left&amp;gt;2&amp;lt;/left&amp;gt;&lt;br /&gt;
                    &amp;lt;top&amp;gt;13&amp;lt;/top&amp;gt;&lt;br /&gt;
                    &amp;lt;width&amp;gt;573&amp;lt;/width&amp;gt;&lt;br /&gt;
                    &amp;lt;height&amp;gt;105&amp;lt;/height&amp;gt;&lt;br /&gt;
                    &amp;lt;texture&amp;gt;$INFO[ListItem.Art(banner)]&amp;lt;/texture&amp;gt;&lt;br /&gt;
                    &amp;lt;aspectratio&amp;gt;stretch&amp;lt;/aspectratio&amp;gt;&lt;br /&gt;
                &amp;lt;/control&amp;gt;&lt;br /&gt;
                &amp;lt;control type=&amp;quot;label&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;left&amp;gt;10&amp;lt;/left&amp;gt;&lt;br /&gt;
                    &amp;lt;top&amp;gt;107&amp;lt;/top&amp;gt;&lt;br /&gt;
                    &amp;lt;width&amp;gt;633&amp;lt;/width&amp;gt;&lt;br /&gt;
                    &amp;lt;height&amp;gt;60&amp;lt;/height&amp;gt;&lt;br /&gt;
                    &amp;lt;align&amp;gt;left&amp;lt;/align&amp;gt;&lt;br /&gt;
                    &amp;lt;label&amp;gt;$INFO[ListItem.Label]&amp;lt;/label&amp;gt;&lt;br /&gt;
                    &amp;lt;font&amp;gt;font14&amp;lt;/font&amp;gt;&lt;br /&gt;
                    &amp;lt;textcolor&amp;gt;FFFFFFFF&amp;lt;/textcolor&amp;gt;&lt;br /&gt;
                    &amp;lt;selectedcolor&amp;gt;FFFFFFFF&amp;lt;/selectedcolor&amp;gt;&lt;br /&gt;
                &amp;lt;/control&amp;gt;&lt;br /&gt;
&lt;br /&gt;
            &amp;lt;/itemlayout&amp;gt;&lt;br /&gt;
            &amp;lt;focusedlayout width=&amp;quot;585&amp;quot; height=&amp;quot;190&amp;quot;&amp;gt;&lt;br /&gt;
				&lt;br /&gt;
                &amp;lt;control type=&amp;quot;image&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;left&amp;gt;2&amp;lt;/left&amp;gt;&lt;br /&gt;
                    &amp;lt;top&amp;gt;13&amp;lt;/top&amp;gt;&lt;br /&gt;
                    &amp;lt;width&amp;gt;573&amp;lt;/width&amp;gt;&lt;br /&gt;
                    &amp;lt;height&amp;gt;105&amp;lt;/height&amp;gt;&lt;br /&gt;
                    &amp;lt;texture&amp;gt;$INFO[ListItem.Art(banner)]&amp;lt;/texture&amp;gt;&lt;br /&gt;
                    &amp;lt;aspectratio&amp;gt;stretch&amp;lt;/aspectratio&amp;gt;&lt;br /&gt;
                &amp;lt;/control&amp;gt;&lt;br /&gt;
                &amp;lt;control type=&amp;quot;label&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;left&amp;gt;10&amp;lt;/left&amp;gt;&lt;br /&gt;
                    &amp;lt;top&amp;gt;107&amp;lt;/top&amp;gt;&lt;br /&gt;
                    &amp;lt;width&amp;gt;633&amp;lt;/width&amp;gt;&lt;br /&gt;
                    &amp;lt;height&amp;gt;60&amp;lt;/height&amp;gt;&lt;br /&gt;
                    &amp;lt;align&amp;gt;left&amp;lt;/align&amp;gt;&lt;br /&gt;
                    &amp;lt;label&amp;gt;$INFO[ListItem.Label]&amp;lt;/label&amp;gt;&lt;br /&gt;
                    &amp;lt;font&amp;gt;font14&amp;lt;/font&amp;gt;&lt;br /&gt;
                    &amp;lt;textcolor&amp;gt;FFFFFFFF&amp;lt;/textcolor&amp;gt;&lt;br /&gt;
                    &amp;lt;selectedcolor&amp;gt;FFFFFFFF&amp;lt;/selectedcolor&amp;gt;&lt;br /&gt;
                &amp;lt;/control&amp;gt;&lt;br /&gt;
&lt;br /&gt;
            &amp;lt;/focusedlayout&amp;gt;&lt;br /&gt;
        &amp;lt;/control&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;/include&amp;gt;&lt;br /&gt;
&amp;lt;/includes&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Lets make it available in the skin==&lt;br /&gt;
&lt;br /&gt;
Three little things XBMC needs to know about our new viewtype. &lt;br /&gt;
&lt;br /&gt;
1. &#039;&#039;&#039;Open the file includes.xml.&#039;&#039;&#039; First we need to actually add the extension of includes.xml that we made (Viewtype_Banners.xml) to includes.xml. So we add the following line to includes.xml&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;include file=&amp;quot;Viewtype_Banners.xml&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. &#039;&#039;&#039;Open the file MyVideoNav.xml.&#039;&#039;&#039; The skin needs to know in what order the viewtypes get flipped through when we press the &amp;quot;next viewtype&amp;quot; button. So the number of our viewtype &#039;&#039;&#039;709&#039;&#039;&#039; needs to get added inbetween the views tags (should be near the top). &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;views&amp;gt;637,709,501,603,781,50&amp;lt;/views&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3. &#039;&#039;&#039;Open the file MyVideoNav.xml.&#039;&#039;&#039; Hey great, you already had it open. Now we add the actual include. What did we name our include again in line 3 of our content? Did we use a capital B? &#039;&#039;&#039;&amp;lt;include&amp;gt;Banners&amp;lt;/include&amp;gt;&#039;&#039;&#039; is what we add. Alright, so you see numbers behind the includes. The code does not read those, that is how you format a comment.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;include&amp;gt;Banners&amp;lt;/include&amp;gt;&amp;lt;!-- 709 --&amp;gt;&lt;br /&gt;
&amp;lt;include&amp;gt;Panel&amp;lt;/include&amp;gt;&amp;lt;!-- 603 --&amp;gt;&lt;br /&gt;
&amp;lt;include&amp;gt;List&amp;lt;/include&amp;gt;&amp;lt;!-- 50 --&amp;gt; &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==That&#039;s it==&lt;br /&gt;
&lt;br /&gt;
What might be left to do? Well your skin might not have a button to flip through the available viewtypes. So you need to add a button or item to perform this function. Look in the documentation or in the skin if you need an example.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;onclick&amp;gt;Container.NextViewMode&amp;lt;/onclick&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Don&#039;t forget to refresh the skin to load the new code. Have a look at the foundation thread for how to do this:&lt;br /&gt;
http://forum.xbmc.org/showthread.php?tid=94438&lt;/div&gt;</summary>
		<author><name>MassIV</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=HOW-TO:Add_a_new_view_type_to_the_skin&amp;diff=77029</id>
		<title>HOW-TO:Add a new view type to the skin</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=HOW-TO:Add_a_new_view_type_to_the_skin&amp;diff=77029"/>
		<updated>2014-06-23T18:27:17Z</updated>

		<summary type="html">&lt;p&gt;MassIV: Created page with &amp;quot;{{mininav|Development|Add-on development|Skinning|Skinning Tutorials}}  ==Create the extra includes type xml file==  We start by creating the new include type ...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Development]]|[[Add-on development]]|[[Skinning]]|[[Skinning Tutorials]]}}&lt;br /&gt;
&lt;br /&gt;
==Create the extra includes type xml file==&lt;br /&gt;
&lt;br /&gt;
We start by creating the new include type xml file. This means we are going to extend the current includes.xml file with another file. While making this file is not strictly needed (you could just add the new view in already huge includes.xml) it is recommended for organizing and readability. In this tutorial the new file we are making is named &amp;quot;Viewtype_Banners.xml&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==The content of our viewtype==&lt;br /&gt;
&lt;br /&gt;
This example contains one list with banners and one image control. Before we look at them, notice line 2 and 3 of the content. Line two declares we are dealing with includes. Line 3 declares the name of this (or the first) include in this content.&lt;br /&gt;
&lt;br /&gt;
The image control is separate from the list, is technically placed behind the list in depth (first in code), and it requests the thumb image of the currently focussed item in the list. The list shows the banner and the label of the current item. Make sure &amp;quot;font14&amp;quot; is a supported entry in Font.xml or you won&#039;t see the text. The example list also has two visible conditions like: &#039;&#039;&#039;Container.Content(tvshows)&#039;&#039;&#039;, this is because not all media has banners. Lets not keep you any longer, just paste the below in your empty file (don&#039;t forget the xml version).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&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;Banners&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;control type=&amp;quot;image&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;left&amp;gt;250&amp;lt;/left&amp;gt;&lt;br /&gt;
            &amp;lt;top&amp;gt;250&amp;lt;/top&amp;gt;&lt;br /&gt;
            &amp;lt;width&amp;gt;300&amp;lt;/width&amp;gt;&lt;br /&gt;
            &amp;lt;height&amp;gt;100&amp;lt;/height&amp;gt;&lt;br /&gt;
            &amp;lt;texture&amp;gt;$INFO[Container(709).ListItem.Art(thumb)]&amp;lt;/texture&amp;gt;&lt;br /&gt;
            &amp;lt;aspectratio&amp;gt;keep&amp;lt;/aspectratio&amp;gt;&lt;br /&gt;
            &amp;lt;visible&amp;gt;Control.IsVisible(709)&amp;lt;/visible&amp;gt;&lt;br /&gt;
        &amp;lt;/control&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;control type=&amp;quot;fixedlist&amp;quot; id=&amp;quot;709&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;viewtype label=&amp;quot;31268&amp;quot;&amp;gt;list&amp;lt;/viewtype&amp;gt;&lt;br /&gt;
            &amp;lt;left&amp;gt;351&amp;lt;/left&amp;gt;&lt;br /&gt;
            &amp;lt;top&amp;gt;112&amp;lt;/top&amp;gt;&lt;br /&gt;
            &amp;lt;width&amp;gt;950&amp;lt;/width&amp;gt;&lt;br /&gt;
            &amp;lt;height&amp;gt;550&amp;lt;/height&amp;gt;&lt;br /&gt;
            &amp;lt;orientation&amp;gt;vertical&amp;lt;/orientation&amp;gt;&lt;br /&gt;
            &amp;lt;focusposition&amp;gt;1&amp;lt;/focusposition&amp;gt;&lt;br /&gt;
            &amp;lt;visible&amp;gt;Container.Content(tvshows) | Container.Content(seasons)&amp;lt;/visible&amp;gt;&lt;br /&gt;
&lt;br /&gt;
            &amp;lt;itemlayout width=&amp;quot;585&amp;quot; height=&amp;quot;190&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
                &amp;lt;control type=&amp;quot;image&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;left&amp;gt;2&amp;lt;/left&amp;gt;&lt;br /&gt;
                    &amp;lt;top&amp;gt;13&amp;lt;/top&amp;gt;&lt;br /&gt;
                    &amp;lt;width&amp;gt;573&amp;lt;/width&amp;gt;&lt;br /&gt;
                    &amp;lt;height&amp;gt;105&amp;lt;/height&amp;gt;&lt;br /&gt;
                    &amp;lt;texture&amp;gt;$INFO[ListItem.Art(banner)]&amp;lt;/texture&amp;gt;&lt;br /&gt;
                    &amp;lt;aspectratio&amp;gt;stretch&amp;lt;/aspectratio&amp;gt;&lt;br /&gt;
                &amp;lt;/control&amp;gt;&lt;br /&gt;
                &amp;lt;control type=&amp;quot;label&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;left&amp;gt;10&amp;lt;/left&amp;gt;&lt;br /&gt;
                    &amp;lt;top&amp;gt;107&amp;lt;/top&amp;gt;&lt;br /&gt;
                    &amp;lt;width&amp;gt;633&amp;lt;/width&amp;gt;&lt;br /&gt;
                    &amp;lt;height&amp;gt;60&amp;lt;/height&amp;gt;&lt;br /&gt;
                    &amp;lt;align&amp;gt;left&amp;lt;/align&amp;gt;&lt;br /&gt;
                    &amp;lt;label&amp;gt;$INFO[ListItem.Label]&amp;lt;/label&amp;gt;&lt;br /&gt;
                    &amp;lt;font&amp;gt;font14&amp;lt;/font&amp;gt;&lt;br /&gt;
                    &amp;lt;textcolor&amp;gt;FFFFFFFF&amp;lt;/textcolor&amp;gt;&lt;br /&gt;
                    &amp;lt;selectedcolor&amp;gt;FFFFFFFF&amp;lt;/selectedcolor&amp;gt;&lt;br /&gt;
                &amp;lt;/control&amp;gt;&lt;br /&gt;
&lt;br /&gt;
            &amp;lt;/itemlayout&amp;gt;&lt;br /&gt;
            &amp;lt;focusedlayout width=&amp;quot;585&amp;quot; height=&amp;quot;190&amp;quot;&amp;gt;&lt;br /&gt;
				&lt;br /&gt;
                &amp;lt;control type=&amp;quot;image&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;left&amp;gt;2&amp;lt;/left&amp;gt;&lt;br /&gt;
                    &amp;lt;top&amp;gt;13&amp;lt;/top&amp;gt;&lt;br /&gt;
                    &amp;lt;width&amp;gt;573&amp;lt;/width&amp;gt;&lt;br /&gt;
                    &amp;lt;height&amp;gt;105&amp;lt;/height&amp;gt;&lt;br /&gt;
                    &amp;lt;texture&amp;gt;$INFO[ListItem.Art(banner)]&amp;lt;/texture&amp;gt;&lt;br /&gt;
                    &amp;lt;aspectratio&amp;gt;stretch&amp;lt;/aspectratio&amp;gt;&lt;br /&gt;
                &amp;lt;/control&amp;gt;&lt;br /&gt;
                &amp;lt;control type=&amp;quot;label&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;left&amp;gt;10&amp;lt;/left&amp;gt;&lt;br /&gt;
                    &amp;lt;top&amp;gt;107&amp;lt;/top&amp;gt;&lt;br /&gt;
                    &amp;lt;width&amp;gt;633&amp;lt;/width&amp;gt;&lt;br /&gt;
                    &amp;lt;height&amp;gt;60&amp;lt;/height&amp;gt;&lt;br /&gt;
                    &amp;lt;align&amp;gt;left&amp;lt;/align&amp;gt;&lt;br /&gt;
                    &amp;lt;label&amp;gt;$INFO[ListItem.Label]&amp;lt;/label&amp;gt;&lt;br /&gt;
                    &amp;lt;font&amp;gt;font14&amp;lt;/font&amp;gt;&lt;br /&gt;
                    &amp;lt;textcolor&amp;gt;FFFFFFFF&amp;lt;/textcolor&amp;gt;&lt;br /&gt;
                    &amp;lt;selectedcolor&amp;gt;FFFFFFFF&amp;lt;/selectedcolor&amp;gt;&lt;br /&gt;
                &amp;lt;/control&amp;gt;&lt;br /&gt;
&lt;br /&gt;
            &amp;lt;/focusedlayout&amp;gt;&lt;br /&gt;
        &amp;lt;/control&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;/include&amp;gt;&lt;br /&gt;
&amp;lt;/includes&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Lets make it available in the skin==&lt;br /&gt;
&lt;br /&gt;
Three little things XBMC needs to know about our new viewtype. &lt;br /&gt;
&lt;br /&gt;
1. &#039;&#039;&#039;Open the file includes.xml.&#039;&#039;&#039; First we need to actually add the extension of includes.xml that we made (Viewtype_Banners.xml) to includes.xml. So we add the following line to includes.xml&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;include file=&amp;quot;Viewtype_Banners.xml&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. &#039;&#039;&#039;Open the file MyVideoNav.xml.&#039;&#039;&#039; The skin needs to know in what order the viewtypes get flipped through when we press the &amp;quot;next viewtype&amp;quot; button. So the number of our viewtype &#039;&#039;&#039;709&#039;&#039;&#039; needs to get added inbetween the views tags (should be near the top). &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;views&amp;gt;637,709,501,603,781,50&amp;lt;/views&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3. &#039;&#039;&#039;Open the file MyVideoNav.xml.&#039;&#039;&#039; Hey great, you already had it open. Now we add the actual include. What did we name our include again in line 3 of our content? Did we use a capital B? &#039;&#039;&#039;&amp;lt;include&amp;gt;Banners&amp;lt;/include&amp;gt;&#039;&#039;&#039; is what we add. Alright, so you see numbers behind the includes. The code does not read those, that is how you format a comment.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;include&amp;gt;Banners&amp;lt;/include&amp;gt;&amp;lt;!-- 709 --&amp;gt;&lt;br /&gt;
&amp;lt;include&amp;gt;Panel&amp;lt;/include&amp;gt;&amp;lt;!-- 603 --&amp;gt;&lt;br /&gt;
&amp;lt;include&amp;gt;List&amp;lt;/include&amp;gt;&amp;lt;!-- 50 --&amp;gt; &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==That&#039;s it==&lt;br /&gt;
&lt;br /&gt;
What might be left to do? Well your skin might not have a button to flip through the available viewtypes. So you need to add a button or item to perform this function. Look in the documentation or in the skin if you need an example.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;onclick&amp;gt;Container.NextViewMode&amp;lt;/onclick&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Don&#039;t forget to refresh the skin to load the new code. Have a look at the foundation thread for how to do this:&lt;br /&gt;
http://forum.xbmc.org/showthread.php?tid=94438&lt;/div&gt;</summary>
		<author><name>MassIV</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=List_of_boolean_conditions&amp;diff=75018</id>
		<title>List of boolean conditions</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=List_of_boolean_conditions&amp;diff=75018"/>
		<updated>2014-05-12T04:40:17Z</updated>

		<summary type="html">&lt;p&gt;MassIV: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{see also|Conditional Visibility}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;main content&amp;quot; /&amp;gt;&lt;br /&gt;
Skins can use boolean conditions with the &amp;lt;visible&amp;gt; tag or with condition attributes. Scripts can read boolean conditions with  &amp;lt;code&amp;gt;xbmc.getCondVisibility(condition)&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! Condition !! Description&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ButtonScroller.HasFocus(id)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the buttonscroller is focused, and the current button has id ?id?.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container.HasThumb&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the current container you are in has a thumb assigned to it&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container.Content(parameter)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the current container you are in contains the following: &#039;&#039;&#039;files, songs, artists, albums, movies, tvshows, seasons, episodes, musicvideos, genres, years, actors, playlists, plugins, studios, directors, sets, tags&#039;&#039;&#039; (Note: these currently only work in the Video and Music Library or unless a Plugin has set the value) also available are &#039;&#039;&#039;Addons&#039;&#039;&#039; true when a list of add-ons is shown &#039;&#039;&#039;LiveTV&#039;&#039;&#039; true when a htsp (tvheadend) directory is shown&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container(id).OnNext&amp;lt;/code&amp;gt;&lt;br /&gt;
| 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.)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container(id).OnScrollNext&amp;lt;/code&amp;gt;&lt;br /&gt;
| 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.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container(id).OnPrevious&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the container with id (or current container if id is omitted) is moving to the previous item.  Allows views to be custom-designed (such as 3D coverviews etc.)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container(id).OnScrollPrevious&amp;lt;/code&amp;gt;&lt;br /&gt;
| 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.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container(id).HasFocus(item_number)&amp;lt;/code&amp;gt;&lt;br /&gt;
| 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.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container(id).HasFiles&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the container contains files (or current container if id is omitted).&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container(id).HasFolders&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the container contains folders (or current container if id is omitted).&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container(id).HasNext&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the container (id) has a next page.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container(id).HasPrevious&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the container (id) has a previous page.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container(id).IsStacked&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the container is currently in stacked mode (or current container if id is omitted).&lt;br /&gt;
|- {{frodo row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;Container.CanFilter&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true when the current container can be filtered. &#039;&#039;&#039;([[:Category:Frodo feature|Frodo addition]])&#039;&#039;&#039;&lt;br /&gt;
|- {{frodo row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;Container.CanFilterAdvanced&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true when advanced filtering can be applied to the current container. &#039;&#039;&#039;([[:Category:Frodo feature|Frodo addition]])&#039;&#039;&#039;&lt;br /&gt;
|- {{frodo row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;Container.Filtered&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true when a mediafilter is applied to the current container. &#039;&#039;&#039;([[:Category:Frodo feature|Frodo addition]])&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container(id).Row(row)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the container with id (or current container if id is omitted) is focused on the row given.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container(id).Column(col)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the container with id (or current container if id is omitted) is focused on the column given.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container(id).Position(pos)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the container with id (or current container if id is omitted) is focused on the position given.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Container(id).Scrolling&amp;lt;/code&amp;gt;&lt;br /&gt;
| 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.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Control.IsEnabled(id)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the control with id &amp;quot;id&amp;quot; is enabled.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Control.IsVisible(id)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the control with id &amp;quot;id&amp;quot; is visible.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Control.HasFocus(id)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the currently focused control has id &amp;quot;id&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ControlGroup(group).HasFocus(id)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the control group with id “group” has control id “id” as it&#039;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”. &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;IntegerGreaterThan([[InfoLabels|info]],number)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the value of the [[InfoLabels|infolabel]] is greater than the supplied number.&amp;lt;br /&amp;gt;Example: IntegerGreaterThan(ListItem.Year,2000)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;IsEmpty([[InfoLabels|info]])&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the value of the [[InfoLabels|infolabel]] is empty.&amp;lt;br /&amp;gt;Example: IsEmpty(ListItem.Plot)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Library.HasContent(string)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the XBMC libraries have the content from string.  Valid Strings are (Video, Music, Movies, TVShows, MusicVideos, MovieSets)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Library.IsScanningMusic&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the music library is being updated&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Library.IsScanningVideo&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the video library is being updated&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.IsFolder&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns whether the current ListItem is a folder&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.IsPlaying&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns whether the current ListItem.* [[InfoLabels|info labels]] and images are currently Playing media&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.IsResumable&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true when the current ListItem has been partially played&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.IsSelected&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns whether the current ListItem is selected (f.e. currently playing in playlist window)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.Property(IsSpecial)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns whether the current Season/Episode is a Special&lt;br /&gt;
|- {{frodo row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.HasEpg&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true when the selected programme has epg info (PVR) &#039;&#039;&#039;([[:Category:Frodo feature|Frodo addition]])&#039;&#039;&#039;&lt;br /&gt;
|- {{frodo row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.HasTimer&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true when a recording timer has been set for the selected programme (PVR) &#039;&#039;&#039;([[:Category:Frodo feature|Frodo addition]])&#039;&#039;&#039;&lt;br /&gt;
|- {{frodo row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.IsRecording&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true when the selected programme is being recorded (PVR) &#039;&#039;&#039;([[:Category:Frodo feature|Frodo addition]])&#039;&#039;&#039;&lt;br /&gt;
|- {{frodo row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.IsEncrypted&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true when the selected programme is encrypted (PVR) &#039;&#039;&#039;([[:Category:Frodo feature|Frodo addition]])&#039;&#039;&#039;&lt;br /&gt;
|- {{gotham row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;ListItem.IsStereoscopic&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true when the selected video is a 3D (stereoscopic) video &#039;&#039;&#039;([[:Category:Gotham feature|Gotham addition]])&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;MusicPlayer.HasNext&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the music player has a next song queued in the Playlist.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;MusicPlayer.HasPrevious&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the music player has a a Previous Song in the Playlist .&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;MusicPlayer.Offset(number).Exists&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the music players playlist has a song queued in position (number).&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;MusicPartyMode.Enabled&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if Party Mode is enabled&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.HasMedia&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the player has an audio or video file.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.HasAudio&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the player has an audio file.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.HasDuration&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if Media isn&#039;t a true stream&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.HasVideo&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the player has a video file.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.Playing&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the player is currently playing (ie not ffwding, rewinding or paused.)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.Paused&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the player is paused.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.Forwarding&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the player is fast forwarding.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.Forwarding2x&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the player is fast forwarding at 2x.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.Forwarding4x&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the player is fast forwarding at 4x.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.Forwarding8x&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the player is fast forwarding at 8x.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.Forwarding16x&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the player is fast forwarding at 16x.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.Forwarding32x&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the player is fast forwarding at 32x.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.Rewinding&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the player is rewinding.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.Rewinding2x&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the player is rewinding at 2x.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.Rewinding4x&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the player is rewinding at 4x.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.Rewinding8x&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the player is rewinding at 8x.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.Rewinding16x&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the player is rewinding at 16x.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.Rewinding32x&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the player is rewinding at 32x.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.CanRecord&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the player can record the current internet stream.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.Recording&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the player is recording the current internet stream.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.Caching&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the player is current &amp;lt;span class=&amp;quot;nobr&amp;quot;&amp;gt;re-caching&amp;lt;/span&amp;gt; data (internet based video playback).&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.SeekBar&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true for the first 2.5 seconds after a video seek.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.DisplayAfterSeek&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true after any seek.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.Seeking&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if a seek is in progress&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.ShowTime&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the user has requested the time to show (occurs in video fullscreen)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.ShowInfo&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the user has requested the song info to show (occurs in visualisation fullscreen and slideshow)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.ShowCodec&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the user has requested the codec to show (occurs in visualisation and video fullscreen)&lt;br /&gt;
|- {{gotham row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.IsInternetStream&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the player is playing an internet stream. &#039;&#039;&#039;([[:Category:Gotham feature|Gotham addition]])&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Player.Muted&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the volume is muted.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Playlist.IsRandom&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the player is in random mode.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Playlist.IsRepeat&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the player is in repeat all mode.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Playlist.IsRepeatOne&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the player is in repeat one mode.&lt;br /&gt;
|- {{frodo row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;Pvr.HasTimer&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true when a recording timer is active. &#039;&#039;&#039;([[:Category:Frodo feature|Frodo addition]])&#039;&#039;&#039;&lt;br /&gt;
|- {{frodo row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;Pvr.HasNonRecordingTimer&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true when a non recording timer is active. &#039;&#039;&#039;([[:Category:Frodo feature|Frodo addition]])&#039;&#039;&#039;&lt;br /&gt;
|- {{frodo row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;Pvr.HasEpg&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true when an epg is available. &#039;&#039;&#039;([[:Category:Frodo feature|Frodo addition]])&#039;&#039;&#039;&lt;br /&gt;
|- {{frodo row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;Pvr.HasTxt&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true when teletext is available.&#039;&#039;&#039;([[:Category:Frodo feature|Frodo addition]])&#039;&#039;&#039;&lt;br /&gt;
|- {{frodo row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;Pvr.HasDirector&amp;lt;/code&amp;gt;&lt;br /&gt;
| ? &#039;&#039;&#039;([[:Category:Frodo feature|Frodo addition]])&#039;&#039;&#039;&lt;br /&gt;
|- {{frodo row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;Pvr.IsPlayingTv&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true when live tv is being watched. &#039;&#039;&#039;([[:Category:Frodo feature|Frodo addition]])&#039;&#039;&#039;&lt;br /&gt;
|- {{frodo row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;Pvr.IsPlayingRadio&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true when live radio is being listened to. &#039;&#039;&#039;([[:Category:Frodo feature|Frodo addition]])&#039;&#039;&#039;&lt;br /&gt;
|- {{frodo row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;Pvr.IsPlayingRecording&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true when a recording is being watched. &#039;&#039;&#039;([[:Category:Frodo feature|Frodo addition]])&#039;&#039;&#039;&lt;br /&gt;
|- {{frodo row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;Pvr.IsRecording&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true when the system is recording a tv programme. &#039;&#039;&#039;([[:Category:Frodo feature|Frodo addition]])&#039;&#039;&#039;&lt;br /&gt;
|- {{frodo row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;Pvr.ActStreamIsEncrypted&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Returns true if the stream is encrypted &#039;&#039;&#039;([[:Category:Frodo feature|Frodo addition]])&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Skin.HasTheme(theme)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the user has selected the theme with name ?theme?.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Skin.HasSetting(setting)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns the state of the &amp;lt;span class=&amp;quot;nobr&amp;quot;&amp;gt;skin-specified&amp;lt;/span&amp;gt; setting ?setting?. You can toggle a setting from a button by using &amp;lt;onclick&amp;gt;Skin.ToggleSetting(setting)&amp;lt;/onclick&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Skin.String(string)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns whether the skin string (set via Skin.SetString, Skin.SetPath, or Skin.SetImage) is &amp;lt;span class=&amp;quot;nobr&amp;quot;&amp;gt;non-empty&amp;lt;/span&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Skin.String(string1,string2)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Same as stringcompare(Skin.String(string1),string2). Returns true if Skin.String(string1) equals string2.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Slideshow.IsActive&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the picture slideshow is running&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Slideshow.IsPaused&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the picture slideshow is paused&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Slideshow.IsRandom&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the picture slideshow is in random mode&lt;br /&gt;
|- {{gotham row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;Slideshow.IsVideo&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the picture slideshow is playing a video &#039;&#039;&#039;([[:Category:Gotham feature|Gotham addition]])&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;StringCompare([[InfoLabels|info]],string)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the [[InfoLabels|info]] equals the string. example of info: ListItem.Title, ListItem.Genre. Please note that string can also be a $LOCALIZE[] or [[InfoLabels|info label]] (without $INFO prefix). Also note that in a panelview or similar this only works on the focused item. Both arguments are evaluated on the fly, unlike substring.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;SubString([[InfoLabels|info]],string)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the string is found anywhere in the [[InfoLabels|info]]&amp;lt;br /&amp;gt;&lt;br /&gt;
Parameter is evaluated at time of parsing (XML load) not on the fly.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;SubString([[InfoLabels|info]],string,[Left or Right])&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the string is found from the start or the end.&amp;lt;br /&amp;gt;Example:&amp;lt;br /&amp;gt;&lt;br /&gt;
(foobars,foob,Left) -&amp;gt; true&amp;lt;br /&amp;gt;&lt;br /&gt;
(foobars,foob,Right) -&amp;gt; False&amp;lt;br /&amp;gt;&lt;br /&gt;
(foobars,bars,Right) -&amp;gt; true&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.HasAddon(id)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the specified addon is installed on the system.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.HasAlarm(alarm)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the system has the ?alarm? alarm set.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.HasPVR&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true on pvr enabled XBMC builds. (Note: Replaced with System.GetBool(pvrmanager.enabled) for Frodo)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.AlarmLessOrEqual(alarmname,seconds)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the alarm with ?alarmname? has less or equal to ?seconds? left. Standard use would be system.alarmlessorequal(shutdowntimer,119), which would return true when the shutdowntimer has less then 2 minutes left.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.HasNetwork&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the ethernet cable is plugged in.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.HasMediadvd&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if there is a CD or DVD in the &amp;lt;span class=&amp;quot;nobr&amp;quot;&amp;gt;DVD-ROM&amp;lt;/span&amp;gt; drive.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.IdleTime(time)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if XBMC has had no input for ?time? amount of seconds.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.IsStandalone&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if XBMC is running in standalone mode.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.IsFullscreen&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if XBMC is running fullscreen.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.KaiConnected&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if XBMC&#039;s Kai client is connected to the PC engine.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.IsLoggedOn&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if a user is currently logged on under a [[Profiles|profile]]&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.HasLoginScreen&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the [[Profiles|profile]] login screen is enabled&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.Time(startTime,endTime)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the current system time is &amp;gt;= startTime and &amp;lt; endTime.  endTime is optional.  Time must be specified in the format HH:mm, using a 24 hour clock.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.Date(startDate,endDate)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the current system date is &amp;gt;= startDate and &amp;lt; endDate.  endDate is optional.  Date must be specified in the format MM-DD.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.Platform.Linux&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if XBMC is running on a linux/unix based computer.&lt;br /&gt;
|- {{gotham row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;System.Platform.Linux.RaspberryPi&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if XBMC is running on a Raspberry Pi. &#039;&#039;&#039;([[:Category:Gotham feature|Gotham addition]])&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.Platform.Windows&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if XBMC is running on a windows based computer.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.Platform.OSX&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if XBMC is running on an OSX based computer.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.Platform.IOS&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if XBMC is running on an IOS device.&lt;br /&gt;
|- {{frodo row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;System.Platform.Darwin&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if XBMC is running on an OSX or IOS system. &#039;&#039;&#039;([[:Category:Frodo feature|Frodo addition]])&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.Platform.ATV2&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if XBMC is running on an atv2.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.Platform.Android&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if XBMC is running on an android device.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.CanPowerDown&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if XBMC can powerdown the system.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.CanSuspend&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if XBMC can suspend the system.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.CanHibernate&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if XBMC can hibernate the system.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.CanReboot&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if XBMC can reboot the system.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.ScreenSaverActive&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if ScreenSaver is active.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;System.Setting(hidewatched)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if &#039;hide watched items&#039; is selected.&lt;br /&gt;
|- {{frodo row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;System.IsInhibit&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true when shutdown on idle is disabled. &#039;&#039;&#039;([[:Category:Frodo feature|Frodo addition]])&#039;&#039;&#039;&lt;br /&gt;
|- {{frodo row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;System.HasShutdown&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true when shutdown on idle is enabled. &#039;&#039;&#039;([[:Category:Frodo feature|Frodo addition]])&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;VideoPlayer.UsingOverlays&amp;lt;/code&amp;gt;&lt;br /&gt;
| 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.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;VideoPlayer.IsFullscreen&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the video player is in fullscreen mode.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;VideoPlayer.HasMenu&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the video player has a menu (ie is playing a DVD)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;VideoPlayer.HasInfo&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the current playing video has information from the library or from a plugin (eg director/plot etc.)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;VideoPlayer.Content(parameter)&amp;lt;/code&amp;gt;&lt;br /&gt;
| 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&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;VideoPlayer.HasSubtitles&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if there are subtitles available for video. (available for version 11.0 and above)&lt;br /&gt;
|- {{gotham row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;VideoPlayer.IsStereoscopic&amp;lt;/code&amp;gt;&lt;br /&gt;
|  Returns true when the currently playing video is a 3D (stereoscopic) video &#039;&#039;&#039;([[:Category:Gotham feature|Gotham addition]])&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;VideoPlayer.SubtitlesEnabled&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if subtitles are turned on for video. (available for version 11.0 and above)&lt;br /&gt;
|- {{frodo row}}&lt;br /&gt;
| &amp;lt;code&amp;gt;VideoPlayer.HasEpg&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true when epg information is available for the currently playing programme (PVR). &#039;&#039;&#039;([[:Category:Frodo feature|Frodo addition]])&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Visualisation.Enabled&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if any visualisation has been set in settings (so not None).&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Visualisation.Locked&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the current visualisation preset is locked (eg in Milkdrop.)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Weather.IsFetched&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the weather data has been downloaded.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Window.IsVisible(window)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the window is visible (includes fade out time on dialogs)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Window.IsActive(window)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the window with id or title ?window? is active (excludes fade out time on dialogs) [[Window IDs|See here for a list of windows]]&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Window.IsMedia&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if this window is a media window (programs, music, video, scripts, pictures)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Window.Next(window)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the window with id or title ?window? is being moved to. [[Window IDs|See here for a list of windows]]. Only valid while windows are changing.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Window.Previous(window)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Returns true if the window with id or title ?window? is being moved from. [[Window IDs|See here for a list of windows]]. Only valid while windows are changing.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;section end=&amp;quot;main content&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Removed conditions ==&lt;br /&gt;
* &amp;lt;code&amp;gt;AudioScrobbler.Enabled&amp;lt;/code&amp;gt; - Removed in v12 Frodo&lt;br /&gt;
* &amp;lt;code&amp;gt;LastFM.RadioPlaying&amp;lt;/code&amp;gt; - Removed in v12 Frodo&lt;br /&gt;
* &amp;lt;code&amp;gt;LastFM.CanLov&amp;lt;/code&amp;gt; - Removed in v12 Frodo&lt;br /&gt;
* &amp;lt;code&amp;gt;LastFM.CanBan&amp;lt;/code&amp;gt; - Removed in v12 Frodo&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;
* [[Skinning]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Skin development]]&lt;br /&gt;
[[Category:Add-on development]]&lt;/div&gt;</summary>
		<author><name>MassIV</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Archive:Pivos_XIOS_DS&amp;diff=74485</id>
		<title>Archive:Pivos XIOS DS</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Archive:Pivos_XIOS_DS&amp;diff=74485"/>
		<updated>2014-05-05T18:34:54Z</updated>

		<summary type="html">&lt;p&gt;MassIV: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Pivos XIOS.png|300px|right]]&lt;br /&gt;
{{mininav|[[Devices]]|[[Android]] }}&lt;br /&gt;
{{forum link2|1=Read this page and still need help? Check out these forums: [http://www.pivosforums.com/viewforum.php?f=11 Pivosforums.com (Android &amp;amp; Linux)] and XBMC.org: [http://forum.xbmc.org/forumdisplay.php?fid=164 Android] &amp;amp; [http://forum.xbmc.org/forumdisplay.php?fid=52 Linux].}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;intro&amp;quot; /&amp;gt;&#039;&#039;&#039;Pivos XIOS DS&#039;&#039;&#039; is an ARM-based media player set-top box that can run XBMC on either Android or Linux. &lt;br /&gt;
&lt;br /&gt;
This Pivos XIOS DS was the original reference hardware target for the XBMC for Android port development. Pivos XIOS DS performs roughly at the level as a jailbroken ATV2, but also comes with USB ports, micro-SD card, and doesn&#039;t need to be jailbroken.&amp;lt;section end=&amp;quot;intro&amp;quot; /&amp;gt;&lt;br /&gt;
__TOC__&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
== Installing XBMC ==&lt;br /&gt;
* Overall guide, including switching between Android and Linux: http://www.pivosforums.com/viewtopic.php?f=16&amp;amp;t=3150&lt;br /&gt;
&lt;br /&gt;
=== Android ===&lt;br /&gt;
* &#039;&#039;&#039;Nightly builds (Gotham):&#039;&#039;&#039; As of December 30th 2013, Pivos XIOS DS can use the normal XBMC for Android &#039;&#039;&#039;[[nightly builds]]&#039;&#039;&#039; and have hardware video decoding: http://mirrors.xbmc.org/nightlies/android/arm/&lt;br /&gt;
* Pivos&#039;s Official build: http://www.pivosforums.com/viewtopic.php?f=11&amp;amp;t=847&lt;br /&gt;
* Unofficial Frodo builds: http://www.pivosforums.com/viewtopic.php?f=24&amp;amp;t=2967&lt;br /&gt;
&lt;br /&gt;
=== Linux ===&lt;br /&gt;
* Pivos&#039;s Official build: http://www.pivosforums.com/viewtopic.php?f=11&amp;amp;t=941&lt;br /&gt;
* Unofficial Frodo builds: [http://www.pivosforums.com/viewtopic.php?f=27&amp;amp;t=1987 For M1 models] • [http://www.pivosforums.com/viewtopic.php?f=27&amp;amp;t=2031 For M3 models]&lt;br /&gt;
&lt;br /&gt;
==Remote control==&lt;br /&gt;
[[File:Pivos XIOX remote.png|right|border|211px]]&lt;br /&gt;
{{note|For a slightly improved keymap layout for the Pivos XIOS DS remote, see &#039;&#039;&#039;[[Alternative keymaps for Pivos XIOS DS remote]]&#039;&#039;&#039;.}}&lt;br /&gt;
;Global&lt;br /&gt;
# Contextual menu&lt;br /&gt;
# Power/sleep&lt;br /&gt;
# Directional pad: Up, Down, Right, Left&lt;br /&gt;
# Select/Play&lt;br /&gt;
# Volume (on side)&lt;br /&gt;
# Back&lt;br /&gt;
# Info&lt;br /&gt;
&lt;br /&gt;
;Playback&lt;br /&gt;
# Nothing&lt;br /&gt;
# Power/sleep&lt;br /&gt;
# Directional pad:&lt;br /&gt;
## &#039;&#039;&#039;Up:&#039;&#039;&#039; +10 minutes or next chapter&lt;br /&gt;
## &#039;&#039;&#039;Down:&#039;&#039;&#039; -10 minutes or previous chapter&lt;br /&gt;
## &#039;&#039;&#039;Right:&#039;&#039;&#039; +30 seconds&lt;br /&gt;
## &#039;&#039;&#039;Left:&#039;&#039;&#039; -30 seconds&lt;br /&gt;
# On-screen-display controls&lt;br /&gt;
# Volume (on side)&lt;br /&gt;
# Goes back into the video listing &#039;&#039;(won&#039;t stop playback, so you must return to fullscreen using the lefthand sidebar menu. See [[Alternative keymaps for Pivos XIOS DS remote|here]] for an alternative.)&#039;&#039;&lt;br /&gt;
# Video info&lt;br /&gt;
&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
==Random notes==&lt;br /&gt;
{{large|&#039;&#039;Feel free to place various notes, tips, and links here. As this section of the wiki gets more organized, those notes will be properly sorted. Consider this like a dumping ground for when you&#039;re not sure where to put something.&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
* User notes:&lt;br /&gt;
I have an M3 model, Firmware: ICS-110913-M3, currently on Gotham stable. &lt;br /&gt;
&lt;br /&gt;
I found Extending your app space to your mSD card and moving XBMC there actually slower (might just be my Sandisk card). Then again i hardly have other apps installed. Same with swap files/partitions on mSD, personally found it of no benefit or worth the trouble. Best results with XBMC on the internal memory and using a clean (no partitions, factory formatted) SD card for userdata.&lt;br /&gt;
&lt;br /&gt;
So far only found one android FTP app that doesn&#039;t shut down the wireless: WellFTP Server.&lt;br /&gt;
Updating XBMC: Been using &amp;quot;XBMC updater&amp;quot; app for Alpha and Betas. Replaces and removes old version (First use download, then use install button). And &amp;quot;Rescan Media&amp;quot; to turn off Android&#039;s media scanner.&lt;br /&gt;
&lt;br /&gt;
Hardware acceleration: Amcodec + libstagefright turned on seems to play the most. If you have better info plz add.&lt;br /&gt;
&lt;br /&gt;
Been using the below advancedsettings.xml file on Gotham. Anyone have improvements plz share.&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;advancedsettings&amp;gt;&lt;br /&gt;
	&amp;lt;loglevel&amp;gt;-1&amp;lt;/loglevel&amp;gt;&lt;br /&gt;
	&amp;lt;skiploopfilter&amp;gt;8&amp;lt;/skiploopfilter&amp;gt;&lt;br /&gt;
	&amp;lt;fanartres&amp;gt;720&amp;lt;/fanartres&amp;gt;&lt;br /&gt;
	&amp;lt;imageres&amp;gt;720&amp;lt;/imageres&amp;gt;&lt;br /&gt;
	&amp;lt;sleepbeforeflip&amp;gt;0.85&amp;lt;/sleepbeforeflip&amp;gt;&lt;br /&gt;
	&amp;lt;network&amp;gt;&lt;br /&gt;
		&amp;lt;buffermode&amp;gt;0&amp;lt;/buffermode&amp;gt;&lt;br /&gt;
		&amp;lt;cachemembuffersize&amp;gt;33554432&amp;lt;/cachemembuffersize&amp;gt;&lt;br /&gt;
		&amp;lt;readbufferfactor&amp;gt;1.8&amp;lt;/readbufferfactor&amp;gt;&lt;br /&gt;
	&amp;lt;/network&amp;gt;&lt;br /&gt;
	&amp;lt;window&amp;gt;&lt;br /&gt;
        	&amp;lt;width&amp;gt;1280&amp;lt;/width&amp;gt;&lt;br /&gt;
        	&amp;lt;height&amp;gt;720&amp;lt;/height&amp;gt;&lt;br /&gt;
	&amp;lt;/window&amp;gt;&lt;br /&gt;
	&amp;lt;pvr&amp;gt;&lt;br /&gt;
		&amp;lt;minvideocachelevel&amp;gt;30&amp;lt;/minvideocachelevel&amp;gt;&lt;br /&gt;
		&amp;lt;minaudiocachelevel&amp;gt;50&amp;lt;/minaudiocachelevel&amp;gt;&lt;br /&gt;
	&amp;lt;/pvr&amp;gt;&lt;br /&gt;
	&amp;lt;gui&amp;gt;&lt;br /&gt;
		&amp;lt;algorithmdirtyregions&amp;gt;1&amp;lt;/algorithmdirtyregions&amp;gt;&lt;br /&gt;
		&amp;lt;nofliptimeout&amp;gt;1&amp;lt;/nofliptimeout&amp;gt;&lt;br /&gt;
	&amp;lt;/gui&amp;gt;&lt;br /&gt;
&amp;lt;/advancedsettings&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Links==&lt;br /&gt;
* http://pivosgroup.com/xios.html - Pivos XIOS DS product page&lt;br /&gt;
* http://www.pivosforums.com/viewforum.php?f=11 Pivos XIOS DS help forums from Pivosforums.com&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:HTPC]]&lt;br /&gt;
[[Category:XBMC Manual]]&lt;br /&gt;
[[Category:Index]]&lt;br /&gt;
[[Category:Pivos XIOS|*]]&lt;br /&gt;
[[Category:Android]]&lt;br /&gt;
[[Category:ARM]]&lt;br /&gt;
{{Frodo updated}}&lt;/div&gt;</summary>
		<author><name>MassIV</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Add-on:IrcChat&amp;diff=69387</id>
		<title>Add-on:IrcChat</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Add-on:IrcChat&amp;diff=69387"/>
		<updated>2014-02-24T23:00:59Z</updated>

		<summary type="html">&lt;p&gt;MassIV: /* How To */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Addon &lt;br /&gt;
|Name=IrcChat&lt;br /&gt;
|provider-name=divingmule &amp;amp; MassIV&lt;br /&gt;
|ID=script.ircchat&lt;br /&gt;
|latest-version=1.0.0&lt;br /&gt;
|extension point=xbmc.python.script&lt;br /&gt;
|provides=executable&lt;br /&gt;
|Summary=An IRC Client&lt;br /&gt;
|Description=&lt;br /&gt;
      This add-on is a basic IRC client for XBMC mediacenter.&lt;br /&gt;
      Internet Relay Chat (IRC) is a protocol for live interactive&lt;br /&gt;
      Internet text messaging (chat) or synchronous conferencing.&lt;br /&gt;
      It is mainly designed for group communication in discussion forums, called channels.&lt;br /&gt;
    &lt;br /&gt;
|Platform=all&lt;br /&gt;
|Language=&lt;br /&gt;
|License=GNU GENERAL PUBLIC LICENSE. Version 2, June 1991&lt;br /&gt;
|Forum=&lt;br /&gt;
|Website=http://wiki.xbmc.org/index.php?title=Add-on:IrcChat#IRC&lt;br /&gt;
|Source=https://github.com/divingmule/script.ircchat&lt;br /&gt;
|Email=&lt;br /&gt;
|broken=&lt;br /&gt;
|icon url=http://mirrors.xbmc.org/addons/frodo/script.ircchat/icon.png}}&lt;br /&gt;
&lt;br /&gt;
== IRC ==&lt;br /&gt;
Internet Relay Chat (IRC) is a protocol for live interactive Internet text messaging (chat) or synchronous conferencing.&lt;br /&gt;
&lt;br /&gt;
[http://en.wikipedia.org/wiki/Internet_Relay_Chat Internet Relay Chat Wiki]&lt;br /&gt;
&lt;br /&gt;
Many web chat&#039;s on the internet use an IRC server behind the scenes. It&#039;s well established and usable on all operating systems.&lt;br /&gt;
And for instance XBMC, has it&#039;s own IRC channel on Freenode. Much like the forum, a place to talk or ask a question. &lt;br /&gt;
Now lets have a look at that channel as example. The host looks like this &#039;&#039;&#039;irc.freenode.org&#039;&#039;&#039;. Kind of like a web address.&lt;br /&gt;
And you could in fact connect to the channel with a browser like so:&lt;br /&gt;
&lt;br /&gt;
[http://irc.lc/freenode/xbmc/irctc@@@ XBMC via webchat]&lt;br /&gt;
&lt;br /&gt;
That&#039;s nice. But why a chat in a media center?&lt;br /&gt;
Well, many live video streaming websites have a chat next to the stream. And watching these streams on our mediacenter without them sometimes felt like listening to half a conversation. So that is how the first version of the chat came to be. It was just read only, but then it started to grow.&lt;br /&gt;
&lt;br /&gt;
== Popular servers ==&lt;br /&gt;
* [http://xbmc.org/ Xbmc.org]: irc.freenode.org #xbmc&lt;br /&gt;
* [http://www.justin.tv/ Justin.tv]: channel_name.jtvirc.com #channel_name&lt;br /&gt;
* [http://twit.tv/ Twit.tv]: irc.twit.tv #twitlive&lt;br /&gt;
* [http://www.twitch.tv/ Twitch.tv]: channel_name.jtvirc.com #channel_name&lt;br /&gt;
* [http://www.ustream.tv/ Ustream.tv]: chat1.ustream.tv OR c.ustream.tv #channel_name&lt;br /&gt;
&lt;br /&gt;
== How To ==&lt;br /&gt;
After installing the addon. &lt;br /&gt;
* Go into the addon settings. &lt;br /&gt;
{{highlight|bordered=yes|[[Add-ons|Program Add-Ons -&amp;gt; IrcChat -&amp;gt; Context -&amp;gt; Add-On Settings]]}}&lt;br /&gt;
* Here you can input your initial login information, host and channel.&lt;br /&gt;
* Next, start a steam or playlist.&lt;br /&gt;
* Go to programs and start the IrcChat addon (use TAB toswitch to fullscreen video).&lt;br /&gt;
&lt;br /&gt;
* It is also possible to map a key to starting the script. As an easy way to start during playback, switch hosts or usernames.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;F1&amp;gt;RunScript(script.ircchat, run_irc=True&amp;amp;nickname=MyNick&amp;amp;username=name&amp;amp;password=pass123&amp;amp;host=irc.freenode.org&amp;amp;channel=xbmc)&amp;lt;/F1&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* There is a button in the top {{highlight|bordered=yes|[[List_Container|&amp;lt;]]}} to slide out either a list of channels or a list of users. Depending on whether you are in a channel or not.&lt;br /&gt;
* A button to change colors {{highlight|bordered=yes|[[Spin_Control|c]]}} that gives you a &#039;spin control&#039;.&lt;br /&gt;
* The chat&#039;s keyboard input also allows you to input a channel name to connect to IF you are not in a channel. You do not need to enter the # in front of the channel name. &lt;br /&gt;
* Selecting your own name in the list of users allows you options like changing your name IF this is supported by the host you are on.&lt;br /&gt;
&lt;br /&gt;
== Login Token ==&lt;br /&gt;
As of Sept. 17, 2013, Twitch now requires that you log into IRC using an OAuth token instead of your plaintext password or hash for additional security. To generate a token, visit:&lt;br /&gt;
http://www.twitchapps.com/tmi/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Screenshots==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=200px heights=113px&amp;gt;&lt;br /&gt;
File:script.ircchat-screenshot-1.png &lt;br /&gt;
File:script.ircchat-screenshot-2.png&lt;br /&gt;
File:script.ircchat-screenshot-3.png&lt;br /&gt;
File:script.ircchat-screenshot-4.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Add-on integration==&lt;br /&gt;
If you wish to integrate the chat with your video streaming add-on. Host, nickname, and username are required, the other parameters are optional. &lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;settings&amp;gt;&lt;br /&gt;
  &amp;lt;category label=&amp;quot;Chat&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;setting id=&amp;quot;run_chat&amp;quot; type=&amp;quot;bool&amp;quot; label=&amp;quot;Run IrcChat&amp;quot; default=&amp;quot;false&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;setting id=&amp;quot;nickname&amp;quot; type=&amp;quot;text&amp;quot; label=&amp;quot;Justin.tv Username&amp;quot; default=&amp;quot;&amp;quot; visible=&amp;quot;eq(-1,true)&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;setting id=&amp;quot;password&amp;quot; type=&amp;quot;text&amp;quot; label=&amp;quot;Justin.tv Password&amp;quot; default=&amp;quot;&amp;quot; option=&amp;quot;hidden&amp;quot; visible=&amp;quot;eq(-2,true)&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/category&amp;gt;&lt;br /&gt;
&amp;lt;/settings&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then pass the host, channel and user parameters of your website to the chat.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
#if stream started:&lt;br /&gt;
    xbmc.sleep(3000)&lt;br /&gt;
    if addon.getSetting(&#039;run_chat&#039;) == &#039;true&#039;:&lt;br /&gt;
        xbmc.executebuiltin(&lt;br /&gt;
            &amp;quot;RunScript(script.ircchat, run_irc=True&amp;amp;nickname=%s&amp;amp;username=%s&amp;amp;password=%s&amp;amp;host=%s&amp;amp;channel=%s)&amp;quot;&lt;br /&gt;
            %(addon.getSetting(&#039;nickname&#039;), addon.getSetting(&#039;nickname&#039;),&lt;br /&gt;
              addon.getSetting(&#039;password&#039;), name+&#039;.jtvirc.com&#039;, name)&lt;br /&gt;
            )&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Skin integration==&lt;br /&gt;
To simply overwrite one or two images (for example the loading .png). Add a folder to your skin media folder called &amp;quot;IrcChat&amp;quot;.&lt;br /&gt;
And place your own loading image in there with the same name as it has in the IrcChat add-on. In this case &amp;quot;ChatBusy.png&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
To completely adjust all aspects of the chat layout. Place an xml file with the name &amp;quot;script-IrcChat-main.xml&amp;quot; in your skin&#039;s 720p folder. Or start by taking a copy of the one from the add-on. Note: Doing so requires all images to be in your skin, it will no longer look in the add-on folder.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Frodo add-on repository]]&lt;br /&gt;
[[Category:Eden add-on repository]]&lt;br /&gt;
[[Category:Social media]]&lt;/div&gt;</summary>
		<author><name>MassIV</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Add-on:IrcChat&amp;diff=68709</id>
		<title>Add-on:IrcChat</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Add-on:IrcChat&amp;diff=68709"/>
		<updated>2014-02-02T22:17:50Z</updated>

		<summary type="html">&lt;p&gt;MassIV: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Addon &lt;br /&gt;
|Name=IrcChat&lt;br /&gt;
|provider-name=divingmule &amp;amp; MassIV&lt;br /&gt;
|ID=script.ircchat&lt;br /&gt;
|latest-version=1.0.0&lt;br /&gt;
|extension point=xbmc.python.script&lt;br /&gt;
|provides=executable&lt;br /&gt;
|Summary=An IRC Client&lt;br /&gt;
|Description=&lt;br /&gt;
      This add-on is a basic IRC client for XBMC mediacenter.&lt;br /&gt;
      Internet Relay Chat (IRC) is a protocol for live interactive&lt;br /&gt;
      Internet text messaging (chat) or synchronous conferencing.&lt;br /&gt;
      It is mainly designed for group communication in discussion forums, called channels.&lt;br /&gt;
    &lt;br /&gt;
|Platform=all&lt;br /&gt;
|Language=&lt;br /&gt;
|License=GNU GENERAL PUBLIC LICENSE. Version 2, June 1991&lt;br /&gt;
|Forum=&lt;br /&gt;
|Website=http://wiki.xbmc.org/index.php?title=Add-on:IrcChat#IRC&lt;br /&gt;
|Source=https://github.com/divingmule/script.ircchat&lt;br /&gt;
|Email=&lt;br /&gt;
|broken=&lt;br /&gt;
|icon url=http://mirrors.xbmc.org/addons/frodo/script.ircchat/icon.png}}&lt;br /&gt;
&lt;br /&gt;
== IRC ==&lt;br /&gt;
Internet Relay Chat (IRC) is a protocol for live interactive Internet text messaging (chat) or synchronous conferencing.&lt;br /&gt;
&lt;br /&gt;
[http://en.wikipedia.org/wiki/Internet_Relay_Chat Internet Relay Chat Wiki]&lt;br /&gt;
&lt;br /&gt;
Many web chat&#039;s on the internet use an IRC server behind the scenes. It&#039;s well established and usable on all operating systems.&lt;br /&gt;
And for instance XBMC, has it&#039;s own IRC channel on Freenode. Much like the forum, a place to talk or ask a question. &lt;br /&gt;
Now lets have a look at that channel as example. The host looks like this &#039;&#039;&#039;irc.freenode.org&#039;&#039;&#039;. Kind of like a web address.&lt;br /&gt;
And you could in fact connect to the channel with a browser like so:&lt;br /&gt;
&lt;br /&gt;
[http://irc.lc/freenode/xbmc/irctc@@@ XBMC via webchat]&lt;br /&gt;
&lt;br /&gt;
That&#039;s nice. But why a chat in a media center?&lt;br /&gt;
Well, many live video streaming websites have a chat next to the stream. And watching these streams on our mediacenter without them sometimes felt like listening to half a conversation. So that is how the first version of the chat came to be. It was just read only, but then it started to grow.&lt;br /&gt;
&lt;br /&gt;
== Popular servers ==&lt;br /&gt;
* [http://xbmc.org/ Xbmc.org]: irc.freenode.org #xbmc&lt;br /&gt;
* [http://www.justin.tv/ Justin.tv]: channel_name.jtvirc.com #channel_name&lt;br /&gt;
* [http://twit.tv/ Twit.tv]: irc.twit.tv #twitlive&lt;br /&gt;
* [http://www.twitch.tv/ Twitch.tv]: channel_name.jtvirc.com #channel_name&lt;br /&gt;
* [http://www.ustream.tv/ Ustream.tv]: chat1.ustream.tv OR c.ustream.tv #channel_name&lt;br /&gt;
&lt;br /&gt;
== How To ==&lt;br /&gt;
After installing the addon. &lt;br /&gt;
* Go into the addon settings. &lt;br /&gt;
{{highlight|bordered=yes|[[Add-ons|Program Add-Ons -&amp;gt; IrcChat -&amp;gt; Context -&amp;gt; Add-On Settings]]}}&lt;br /&gt;
* Here you can input your initial login information, host and channel.&lt;br /&gt;
* Next, start a steam or playlist.&lt;br /&gt;
* Go to programs and start the IrcChat addon (use TAB toswitch to fullscreen video).&lt;br /&gt;
&lt;br /&gt;
* It is also possible to map a key to starting the script. As an easy way to start during playback, switch hosts or usernames.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;F1&amp;gt;RunScript(script.ircchat, run_irc=True,nickname=MyNick,username=name,password=pass123,host=irc.freenode.org,channel=xbmc&amp;lt;/F1&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* There is a button in the top {{highlight|bordered=yes|[[List_Container|&amp;lt;]]}} to slide out either a list of channels or a list of users. Depending on whether you are in a channel or not.&lt;br /&gt;
* A button to change colors {{highlight|bordered=yes|[[Spin_Control|c]]}} that gives you a &#039;spin control&#039;.&lt;br /&gt;
* The chat&#039;s keyboard input also allows you to input a channel name to connect to IF you are not in a channel. You do not need to enter the # in front of the channel name. &lt;br /&gt;
* Selecting your own name in the list of users allows you options like changing your name IF this is supported by the host you are on.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Login Token ==&lt;br /&gt;
As of Sept. 17, 2013, Twitch now requires that you log into IRC using an OAuth token instead of your plaintext password or hash for additional security. To generate a token, visit:&lt;br /&gt;
http://www.twitchapps.com/tmi/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Screenshots==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=200px heights=113px&amp;gt;&lt;br /&gt;
File:script.ircchat-screenshot-1.png &lt;br /&gt;
File:script.ircchat-screenshot-2.png&lt;br /&gt;
File:script.ircchat-screenshot-3.png&lt;br /&gt;
File:script.ircchat-screenshot-4.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Add-on integration==&lt;br /&gt;
If you wish to integrate the chat with your video streaming add-on. Host, nickname, and username are required, the other parameters are optional. &lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;settings&amp;gt;&lt;br /&gt;
  &amp;lt;category label=&amp;quot;Chat&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;setting id=&amp;quot;run_chat&amp;quot; type=&amp;quot;bool&amp;quot; label=&amp;quot;Run IrcChat&amp;quot; default=&amp;quot;false&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;setting id=&amp;quot;nickname&amp;quot; type=&amp;quot;text&amp;quot; label=&amp;quot;Justin.tv Username&amp;quot; default=&amp;quot;&amp;quot; visible=&amp;quot;eq(-1,true)&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;setting id=&amp;quot;password&amp;quot; type=&amp;quot;text&amp;quot; label=&amp;quot;Justin.tv Password&amp;quot; default=&amp;quot;&amp;quot; option=&amp;quot;hidden&amp;quot; visible=&amp;quot;eq(-2,true)&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/category&amp;gt;&lt;br /&gt;
&amp;lt;/settings&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then pass the host, channel and user parameters of your website to the chat.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
#if stream started:&lt;br /&gt;
    xbmc.sleep(3000)&lt;br /&gt;
    if addon.getSetting(&#039;run_chat&#039;) == &#039;true&#039;:&lt;br /&gt;
        xbmc.executebuiltin(&lt;br /&gt;
            &amp;quot;RunScript(script.ircchat, run_irc=True&amp;amp;nickname=%s&amp;amp;username=%s&amp;amp;password=%s&amp;amp;host=%s&amp;amp;channel=%s)&amp;quot;&lt;br /&gt;
            %(addon.getSetting(&#039;nickname&#039;), addon.getSetting(&#039;nickname&#039;),&lt;br /&gt;
              addon.getSetting(&#039;password&#039;), name+&#039;.jtvirc.com&#039;, name)&lt;br /&gt;
            )&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Skin integration==&lt;br /&gt;
To simply overwrite one or two images (for example the loading .png). Add a folder to your skin media folder called &amp;quot;IrcChat&amp;quot;.&lt;br /&gt;
And place your own loading image in there with the same name as it has in the IrcChat add-on. In this case &amp;quot;ChatBusy.png&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
To completely adjust all aspects of the chat layout. Place an xml file with the name &amp;quot;script-IrcChat-main.xml&amp;quot; in your skin&#039;s 720p folder. Or start by taking a copy of the one from the add-on. Note: Doing so requires all images to be in your skin, it will no longer look in the add-on folder.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Frodo add-on repository]]&lt;br /&gt;
[[Category:Eden add-on repository]]&lt;br /&gt;
[[Category:Social media]]&lt;/div&gt;</summary>
		<author><name>MassIV</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Skinning_Manual&amp;diff=66958</id>
		<title>Skinning Manual</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Skinning_Manual&amp;diff=66958"/>
		<updated>2013-12-20T00:48:36Z</updated>

		<summary type="html">&lt;p&gt;MassIV: /* Variables */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Development]]|[[Add-on development]]|[[Skinning]]}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{TOC right}}&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.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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 [[XBMC Skinning Tutorials|tutorial section on skinning XBMC]] as well as the &amp;quot;[[Skinning XBMC]]&amp;quot; article, 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;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Anatomy of a Skin ==&lt;br /&gt;
XBMC skins once installed are located in [[userdata]] addons folder. This is the folder where all skins are placed and listed.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Any additional skins you create, or download from [[Category:Repositories]] 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&#039;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.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Each skin folder contains several subdirectorys, and one file:&lt;br /&gt;
; myskin/font&lt;br /&gt;
: This subdirectory contains all fonts used by the skin. you can add/replace fonts here&lt;br /&gt;
; myskin/media&lt;br /&gt;
: This subdirectory contains all the media files (.png/.gif/.jpg...) You can replace/edit these as you like. &lt;br /&gt;
; [[addon.xml|myskin/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.&lt;br /&gt;
; myskin/720p&lt;br /&gt;
: 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!) [[Addon.xml#Skin_specific_elements|See here for the order in which it looks for skin files.]]&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. &lt;br /&gt;
For instance, you could tint all your main textures a red colour, and create a new theme package Red.xbt.&lt;br /&gt;
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. &lt;br /&gt;
If the user has selected 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. &lt;br /&gt;
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 fallback to using Textures.xbt as usual.&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;
&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 of course 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;source lang=&amp;quot;xml&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;/source&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;source lang=&amp;quot;xml&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;/source&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;
=== Variables ===&lt;br /&gt;
Variables are a special kind of include. You can put them in Includes.xml. But usually, to keep them separate, Includes.xml gets extended with a file named Variables.xml. You can extend on the file Includes.xml by adding a line like this:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;include file=&amp;quot;Variables.xml&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Variables can be used in textures or labels/textbox/buttons ect. Instead of having to include two whole controls with a condition, they allow you to just apply the condition to the actual texture or label. Meaning less controls to maintain ect. The values in the variable are read from top to bottom and the first condition that is met gets used. The last value usually has no condition and it&#039;s content acts as a fallback. The following example shows the album label if the player has audio, the year if there is no audio and no fallback is used (because there either is or is not any audio).&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;variable name=&amp;quot;Example&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;value  condition=&amp;quot;Player.HasAudio&amp;quot;&amp;gt;$INFO[ListItem.Album]&amp;lt;/value&amp;gt;&lt;br /&gt;
	&amp;lt;value  condition=&amp;quot;!Player.HasAudio&amp;quot;&amp;gt;$INFO[ListItem.Year]&amp;lt;/value&amp;gt;&lt;br /&gt;
	&amp;lt;value&amp;gt;-&amp;lt;/value&amp;gt;&lt;br /&gt;
&amp;lt;/variable&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
You can use a variable in a label control like this:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;label&amp;gt;$VAR[Example]&amp;lt;/label&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== [[Window Structure|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;
A list of all window .xml files and what they represent may be found in Apendix I: List of Windows.&lt;br /&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. &lt;br /&gt;
&lt;br /&gt;
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 Apendix I: List of Windows.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
The structure of the window .xml files can be found below in the Window Structure.&lt;br /&gt;
&lt;br /&gt;
= addon.xml =&lt;br /&gt;
&lt;br /&gt;
{{see also|addon.xml}}&lt;br /&gt;
&lt;br /&gt;
= Windows =&lt;br /&gt;
== Window Structure ==&lt;br /&gt;
{{:Window_Structure}}&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. This portion of the manual will explain each and every control in detail.&lt;br /&gt;
== Label Control ==&lt;br /&gt;
{{:Label_Control}}&lt;br /&gt;
== Fade Label Control ==&lt;br /&gt;
{{:Fade_Label_Control}}&lt;br /&gt;
== Button Control ==&lt;br /&gt;
{{:Button_control}}&lt;br /&gt;
== Multiselect Control ==&lt;br /&gt;
{{:Multiselect control}}&lt;br /&gt;
== Image Control ==&lt;br /&gt;
{{:Image_Control}}&lt;br /&gt;
== MultiImage Control ==&lt;br /&gt;
{{:MultiImage_Control}}&lt;br /&gt;
== Radio button Control ==&lt;br /&gt;
{{:Radio_button_control}}&lt;br /&gt;
== Select button control ==&lt;br /&gt;
{{:Select_button_control}}&lt;br /&gt;
== Toggle button control ==&lt;br /&gt;
{{:Toggle_button_control}}&lt;br /&gt;
== Spin Control ==&lt;br /&gt;
{{:Spin_Control}}&lt;br /&gt;
== Settings Spin Control ==&lt;br /&gt;
{{:Settings_Spin_Control}}&lt;br /&gt;
== Slider Control ==&lt;br /&gt;
{{:Slider Control}}&lt;br /&gt;
== List Container ==&lt;br /&gt;
{{:List Container}}&lt;br /&gt;
== Wraplist Container ==&lt;br /&gt;
{{:Wrap List Container}}&lt;br /&gt;
== FixedList Container ==&lt;br /&gt;
{{:Fixed List Container}}&lt;br /&gt;
== Panel Container ==&lt;br /&gt;
{{:Panel Container}}&lt;br /&gt;
== Progress Control ==&lt;br /&gt;
{{:Progress Control}}&lt;br /&gt;
== Text Box ==&lt;br /&gt;
{{:Text Box}}&lt;br /&gt;
== RSS feed Control ==&lt;br /&gt;
{{:RSS feed Control}}&lt;br /&gt;
== Visualisation Control ==&lt;br /&gt;
{{:Visualisation Control}}&lt;br /&gt;
== Video Control ==&lt;br /&gt;
{{:Video Control}}&lt;br /&gt;
== Mover Control ==&lt;br /&gt;
{{:Mover Control}}&lt;br /&gt;
== Resize Control ==&lt;br /&gt;
{{:Resize Control}}&lt;br /&gt;
== Edit Control ==&lt;br /&gt;
{{:Edit Control}}&lt;br /&gt;
== EPGGrid Control ==&lt;br /&gt;
{{:EPGGrid_control}}&lt;br /&gt;
&lt;br /&gt;
== Console Control ==&lt;br /&gt;
used to display the last few items added to the video database. &lt;br /&gt;
== Checkmark Control ==&lt;br /&gt;
Used on the Kai Host Dialog. Similar to Radio Button but does not have the button texture, and the checkmark is on the left&lt;br /&gt;
== Extended List Control ==&lt;br /&gt;
used in the XLink Kai window.&lt;br /&gt;
&lt;br /&gt;
= Conditional_Visibility =&lt;br /&gt;
XBMC&#039;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.&lt;br /&gt;
{{:Conditional_Visibility}}&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.&lt;br /&gt;
{{:Animating_Your_Skin}}&lt;br /&gt;
&lt;br /&gt;
= Fonts =&lt;br /&gt;
XBMC allows you to customize which fonts are displayed onscreen in the User Interface.&lt;br /&gt;
{{:Fonts}}&lt;br /&gt;
&lt;br /&gt;
= Apendix I: List of Windows =&lt;br /&gt;
{{:Window_IDs}}&lt;br /&gt;
&lt;br /&gt;
= Apendix II: List of Boolean Conditions =&lt;br /&gt;
{{:List_of_Boolean_Conditions}}&lt;br /&gt;
&lt;br /&gt;
= Apendix III: List of Info Labels =&lt;br /&gt;
{{:InfoLabels}}&lt;br /&gt;
&lt;br /&gt;
= Apendix IV: List of Built In Functions =&lt;br /&gt;
{{:List_of_Built_In_Functions}}&lt;br /&gt;
&lt;br /&gt;
= Apendix V: List of Built In Controls =&lt;br /&gt;
{{:List_of_Built_In_Controls}}&lt;br /&gt;
&lt;br /&gt;
= Apendix VI: List of Default Icons =&lt;br /&gt;
{{:Default_Icons}}&lt;br /&gt;
&lt;br /&gt;
[[Category:XBMC Manual]]&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Skin Development|*]]&lt;br /&gt;
[[Category:Python]]&lt;/div&gt;</summary>
		<author><name>MassIV</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Skinning_Manual&amp;diff=66957</id>
		<title>Skinning Manual</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Skinning_Manual&amp;diff=66957"/>
		<updated>2013-12-20T00:27:12Z</updated>

		<summary type="html">&lt;p&gt;MassIV: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Development]]|[[Add-on development]]|[[Skinning]]}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{TOC right}}&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.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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 [[XBMC Skinning Tutorials|tutorial section on skinning XBMC]] as well as the &amp;quot;[[Skinning XBMC]]&amp;quot; article, 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;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Anatomy of a Skin ==&lt;br /&gt;
XBMC skins once installed are located in [[userdata]] addons folder. This is the folder where all skins are placed and listed.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Any additional skins you create, or download from [[Category:Repositories]] 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&#039;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.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Each skin folder contains several subdirectorys, and one file:&lt;br /&gt;
; myskin/font&lt;br /&gt;
: This subdirectory contains all fonts used by the skin. you can add/replace fonts here&lt;br /&gt;
; myskin/media&lt;br /&gt;
: This subdirectory contains all the media files (.png/.gif/.jpg...) You can replace/edit these as you like. &lt;br /&gt;
; [[addon.xml|myskin/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.&lt;br /&gt;
; myskin/720p&lt;br /&gt;
: 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!) [[Addon.xml#Skin_specific_elements|See here for the order in which it looks for skin files.]]&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. &lt;br /&gt;
For instance, you could tint all your main textures a red colour, and create a new theme package Red.xbt.&lt;br /&gt;
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. &lt;br /&gt;
If the user has selected 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. &lt;br /&gt;
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 fallback to using Textures.xbt as usual.&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;
&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 of course 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;source lang=&amp;quot;xml&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;/source&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;source lang=&amp;quot;xml&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;/source&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;
=== Variables ===&lt;br /&gt;
Variables are a special kind of include. Usually found in the file Variables.xml which itself is an include in Includes.xml&lt;br /&gt;
&lt;br /&gt;
Variables can be used in textures or labels/textbox/buttons ect. Instead of having to include two whole controls with a condition, they allow you to just apply the condition to the actual texture or label. Meaning less controls to maintain ect. The values in the variable are read from top to bottom and the first condition that is met gets used. The last value usually has no condition and it&#039;s content acts as a fallback. The following example shows the album label if the player has audio, the year if there is no audio and no fallback is used (because there either is or is not any audio).&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;variable name=&amp;quot;Example&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;value  condition=&amp;quot;Player.HasAudio&amp;quot;&amp;gt;$INFO[ListItem.Album]&amp;lt;/value&amp;gt;&lt;br /&gt;
	&amp;lt;value  condition=&amp;quot;!Player.HasAudio&amp;quot;&amp;gt;$INFO[ListItem.Year]&amp;lt;/value&amp;gt;&lt;br /&gt;
	&amp;lt;value&amp;gt;-&amp;lt;/value&amp;gt;&lt;br /&gt;
&amp;lt;/variable&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
You can use a variable in a label control like this:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;label&amp;gt;$VAR[Example]&amp;lt;/label&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
== [[Window Structure|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;
A list of all window .xml files and what they represent may be found in Apendix I: List of Windows.&lt;br /&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. &lt;br /&gt;
&lt;br /&gt;
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 Apendix I: List of Windows.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
The structure of the window .xml files can be found below in the Window Structure.&lt;br /&gt;
&lt;br /&gt;
= addon.xml =&lt;br /&gt;
&lt;br /&gt;
{{see also|addon.xml}}&lt;br /&gt;
&lt;br /&gt;
= Windows =&lt;br /&gt;
== Window Structure ==&lt;br /&gt;
{{:Window_Structure}}&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. This portion of the manual will explain each and every control in detail.&lt;br /&gt;
== Label Control ==&lt;br /&gt;
{{:Label_Control}}&lt;br /&gt;
== Fade Label Control ==&lt;br /&gt;
{{:Fade_Label_Control}}&lt;br /&gt;
== Button Control ==&lt;br /&gt;
{{:Button_control}}&lt;br /&gt;
== Multiselect Control ==&lt;br /&gt;
{{:Multiselect control}}&lt;br /&gt;
== Image Control ==&lt;br /&gt;
{{:Image_Control}}&lt;br /&gt;
== MultiImage Control ==&lt;br /&gt;
{{:MultiImage_Control}}&lt;br /&gt;
== Radio button Control ==&lt;br /&gt;
{{:Radio_button_control}}&lt;br /&gt;
== Select button control ==&lt;br /&gt;
{{:Select_button_control}}&lt;br /&gt;
== Toggle button control ==&lt;br /&gt;
{{:Toggle_button_control}}&lt;br /&gt;
== Spin Control ==&lt;br /&gt;
{{:Spin_Control}}&lt;br /&gt;
== Settings Spin Control ==&lt;br /&gt;
{{:Settings_Spin_Control}}&lt;br /&gt;
== Slider Control ==&lt;br /&gt;
{{:Slider Control}}&lt;br /&gt;
== List Container ==&lt;br /&gt;
{{:List Container}}&lt;br /&gt;
== Wraplist Container ==&lt;br /&gt;
{{:Wrap List Container}}&lt;br /&gt;
== FixedList Container ==&lt;br /&gt;
{{:Fixed List Container}}&lt;br /&gt;
== Panel Container ==&lt;br /&gt;
{{:Panel Container}}&lt;br /&gt;
== Progress Control ==&lt;br /&gt;
{{:Progress Control}}&lt;br /&gt;
== Text Box ==&lt;br /&gt;
{{:Text Box}}&lt;br /&gt;
== RSS feed Control ==&lt;br /&gt;
{{:RSS feed Control}}&lt;br /&gt;
== Visualisation Control ==&lt;br /&gt;
{{:Visualisation Control}}&lt;br /&gt;
== Video Control ==&lt;br /&gt;
{{:Video Control}}&lt;br /&gt;
== Mover Control ==&lt;br /&gt;
{{:Mover Control}}&lt;br /&gt;
== Resize Control ==&lt;br /&gt;
{{:Resize Control}}&lt;br /&gt;
== Edit Control ==&lt;br /&gt;
{{:Edit Control}}&lt;br /&gt;
== EPGGrid Control ==&lt;br /&gt;
{{:EPGGrid_control}}&lt;br /&gt;
&lt;br /&gt;
== Console Control ==&lt;br /&gt;
used to display the last few items added to the video database. &lt;br /&gt;
== Checkmark Control ==&lt;br /&gt;
Used on the Kai Host Dialog. Similar to Radio Button but does not have the button texture, and the checkmark is on the left&lt;br /&gt;
== Extended List Control ==&lt;br /&gt;
used in the XLink Kai window.&lt;br /&gt;
&lt;br /&gt;
= Conditional_Visibility =&lt;br /&gt;
XBMC&#039;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.&lt;br /&gt;
{{:Conditional_Visibility}}&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.&lt;br /&gt;
{{:Animating_Your_Skin}}&lt;br /&gt;
&lt;br /&gt;
= Fonts =&lt;br /&gt;
XBMC allows you to customize which fonts are displayed onscreen in the User Interface.&lt;br /&gt;
{{:Fonts}}&lt;br /&gt;
&lt;br /&gt;
= Apendix I: List of Windows =&lt;br /&gt;
{{:Window_IDs}}&lt;br /&gt;
&lt;br /&gt;
= Apendix II: List of Boolean Conditions =&lt;br /&gt;
{{:List_of_Boolean_Conditions}}&lt;br /&gt;
&lt;br /&gt;
= Apendix III: List of Info Labels =&lt;br /&gt;
{{:InfoLabels}}&lt;br /&gt;
&lt;br /&gt;
= Apendix IV: List of Built In Functions =&lt;br /&gt;
{{:List_of_Built_In_Functions}}&lt;br /&gt;
&lt;br /&gt;
= Apendix V: List of Built In Controls =&lt;br /&gt;
{{:List_of_Built_In_Controls}}&lt;br /&gt;
&lt;br /&gt;
= Apendix VI: List of Default Icons =&lt;br /&gt;
{{:Default_Icons}}&lt;br /&gt;
&lt;br /&gt;
[[Category:XBMC Manual]]&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Skin Development|*]]&lt;br /&gt;
[[Category:Python]]&lt;/div&gt;</summary>
		<author><name>MassIV</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Skinning_Manual&amp;diff=66956</id>
		<title>Skinning Manual</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Skinning_Manual&amp;diff=66956"/>
		<updated>2013-12-19T18:52:01Z</updated>

		<summary type="html">&lt;p&gt;MassIV: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Development]]|[[Add-on development]]|[[Skinning]]}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{TOC right}}&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.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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 [[XBMC Skinning Tutorials|tutorial section on skinning XBMC]] as well as the &amp;quot;[[Skinning XBMC]]&amp;quot; article, 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;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Anatomy of a Skin ==&lt;br /&gt;
XBMC skins once installed are located in [[userdata]] addons folder. This is the folder where all skins are placed and listed.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Any additional skins you create, or download from [[Category:Repositories]] 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&#039;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.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Each skin folder contains several subdirectorys, and one file:&lt;br /&gt;
; myskin/font&lt;br /&gt;
: This subdirectory contains all fonts used by the skin. you can add/replace fonts here&lt;br /&gt;
; myskin/media&lt;br /&gt;
: This subdirectory contains all the media files (.png/.gif/.jpg...) You can replace/edit these as you like. &lt;br /&gt;
; [[addon.xml|myskin/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.&lt;br /&gt;
; myskin/720p&lt;br /&gt;
: 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!) [[Addon.xml#Skin_specific_elements|See here for the order in which it looks for skin files.]]&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. &lt;br /&gt;
For instance, you could tint all your main textures a red colour, and create a new theme package Red.xbt.&lt;br /&gt;
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. &lt;br /&gt;
If the user has selected 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. &lt;br /&gt;
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 fallback to using Textures.xbt as usual.&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;
&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 of course 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;source lang=&amp;quot;xml&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;/source&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;source lang=&amp;quot;xml&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;/source&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;
=== Variables ===&lt;br /&gt;
Variables are a special kind of include. Usually found in the file Variables.xml which itself is an include in Includes.xml&lt;br /&gt;
&lt;br /&gt;
Variables van be used in textures or labels/textbox. Instead of having to include two whole controls with a condition, they allow you to just apply the condition to the actual texture or label. The values in the variable are read from top to bottom and the first condition that is met gets used. The last value usually has no condition to act as a fallback. The following example shows the album label if the player has audio, the year if there is no audio and no fallback is needed.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;variable name=&amp;quot;Example&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;value  condition=&amp;quot;Player.HasAudio&amp;quot;&amp;gt;$INFO[ListItem.Album]&amp;lt;/value&amp;gt;&lt;br /&gt;
	&amp;lt;value  condition=&amp;quot;!Player.HasAudio&amp;quot;&amp;gt;$INFO[ListItem.Year]&amp;lt;/value&amp;gt;&lt;br /&gt;
	&amp;lt;value&amp;gt;-&amp;lt;/value&amp;gt;&lt;br /&gt;
&amp;lt;/variable&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
You can use a variable in a label control like this:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;label&amp;gt;$VAR[Example]&amp;lt;/label&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
== [[Window Structure|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;
A list of all window .xml files and what they represent may be found in Apendix I: List of Windows.&lt;br /&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. &lt;br /&gt;
&lt;br /&gt;
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 Apendix I: List of Windows.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
The structure of the window .xml files can be found below in the Window Structure.&lt;br /&gt;
&lt;br /&gt;
= addon.xml =&lt;br /&gt;
&lt;br /&gt;
{{see also|addon.xml}}&lt;br /&gt;
&lt;br /&gt;
= Windows =&lt;br /&gt;
== Window Structure ==&lt;br /&gt;
{{:Window_Structure}}&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. This portion of the manual will explain each and every control in detail.&lt;br /&gt;
== Label Control ==&lt;br /&gt;
{{:Label_Control}}&lt;br /&gt;
== Fade Label Control ==&lt;br /&gt;
{{:Fade_Label_Control}}&lt;br /&gt;
== Button Control ==&lt;br /&gt;
{{:Button_control}}&lt;br /&gt;
== Multiselect Control ==&lt;br /&gt;
{{:Multiselect control}}&lt;br /&gt;
== Image Control ==&lt;br /&gt;
{{:Image_Control}}&lt;br /&gt;
== MultiImage Control ==&lt;br /&gt;
{{:MultiImage_Control}}&lt;br /&gt;
== Radio button Control ==&lt;br /&gt;
{{:Radio_button_control}}&lt;br /&gt;
== Select button control ==&lt;br /&gt;
{{:Select_button_control}}&lt;br /&gt;
== Toggle button control ==&lt;br /&gt;
{{:Toggle_button_control}}&lt;br /&gt;
== Spin Control ==&lt;br /&gt;
{{:Spin_Control}}&lt;br /&gt;
== Settings Spin Control ==&lt;br /&gt;
{{:Settings_Spin_Control}}&lt;br /&gt;
== Slider Control ==&lt;br /&gt;
{{:Slider Control}}&lt;br /&gt;
== List Container ==&lt;br /&gt;
{{:List Container}}&lt;br /&gt;
== Wraplist Container ==&lt;br /&gt;
{{:Wrap List Container}}&lt;br /&gt;
== FixedList Container ==&lt;br /&gt;
{{:Fixed List Container}}&lt;br /&gt;
== Panel Container ==&lt;br /&gt;
{{:Panel Container}}&lt;br /&gt;
== Progress Control ==&lt;br /&gt;
{{:Progress Control}}&lt;br /&gt;
== Text Box ==&lt;br /&gt;
{{:Text Box}}&lt;br /&gt;
== RSS feed Control ==&lt;br /&gt;
{{:RSS feed Control}}&lt;br /&gt;
== Visualisation Control ==&lt;br /&gt;
{{:Visualisation Control}}&lt;br /&gt;
== Video Control ==&lt;br /&gt;
{{:Video Control}}&lt;br /&gt;
== Mover Control ==&lt;br /&gt;
{{:Mover Control}}&lt;br /&gt;
== Resize Control ==&lt;br /&gt;
{{:Resize Control}}&lt;br /&gt;
== Edit Control ==&lt;br /&gt;
{{:Edit Control}}&lt;br /&gt;
== EPGGrid Control ==&lt;br /&gt;
{{:EPGGrid_control}}&lt;br /&gt;
&lt;br /&gt;
== Console Control ==&lt;br /&gt;
used to display the last few items added to the video database. &lt;br /&gt;
== Checkmark Control ==&lt;br /&gt;
Used on the Kai Host Dialog. Similar to Radio Button but does not have the button texture, and the checkmark is on the left&lt;br /&gt;
== Extended List Control ==&lt;br /&gt;
used in the XLink Kai window.&lt;br /&gt;
&lt;br /&gt;
= Conditional_Visibility =&lt;br /&gt;
XBMC&#039;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.&lt;br /&gt;
{{:Conditional_Visibility}}&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.&lt;br /&gt;
{{:Animating_Your_Skin}}&lt;br /&gt;
&lt;br /&gt;
= Fonts =&lt;br /&gt;
XBMC allows you to customize which fonts are displayed onscreen in the User Interface.&lt;br /&gt;
{{:Fonts}}&lt;br /&gt;
&lt;br /&gt;
= Apendix I: List of Windows =&lt;br /&gt;
{{:Window_IDs}}&lt;br /&gt;
&lt;br /&gt;
= Apendix II: List of Boolean Conditions =&lt;br /&gt;
{{:List_of_Boolean_Conditions}}&lt;br /&gt;
&lt;br /&gt;
= Apendix III: List of Info Labels =&lt;br /&gt;
{{:InfoLabels}}&lt;br /&gt;
&lt;br /&gt;
= Apendix IV: List of Built In Functions =&lt;br /&gt;
{{:List_of_Built_In_Functions}}&lt;br /&gt;
&lt;br /&gt;
= Apendix V: List of Built In Controls =&lt;br /&gt;
{{:List_of_Built_In_Controls}}&lt;br /&gt;
&lt;br /&gt;
= Apendix VI: List of Default Icons =&lt;br /&gt;
{{:Default_Icons}}&lt;br /&gt;
&lt;br /&gt;
[[Category:XBMC Manual]]&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Skin Development|*]]&lt;br /&gt;
[[Category:Python]]&lt;/div&gt;</summary>
		<author><name>MassIV</name></author>
	</entry>
</feed>