<?xml version="1.0" encoding="UTF-8"?> <includes> <include file="Defaults.xml"/> <include file="Includes_grid.xml"/> <include file="Includes_variables.xml"/> <include file="Includes_animations.xml"/> <include file="Includes_hubMenu.xml"/> <include file="Includes_hubOptionsItems.xml"/> <include file="View_LiveTVChannels.xml"/> <include file="View_Seasons.xml"/> <include file="View_Episodes.xml"/> <include file="View_Movies.xml"/> <include file="View_AddonPosters.xml"/> <include file="View_TVShows.xml"/> <include file="View_MusicGenres.xml"/> <include file="View_VideoFiles.xml"/> <include file="View_Photos.xml"/> <include file="View_Artists.xml"/> <include file="View_Albums.xml"/> <include file="View_Songs.xml"/> <include file="View_MusicFiles.xml"/> <include file="View_MusicPlaylist.xml"/> <include file="View_ArtistAlbums.xml"/> <include file="View_MusicVideos.xml"/> <include file="script-skinshortcuts-includes.xml"/> <include file="Includes_mediaShowcase.xml"/> <!--view type conditions--> <expression name="isVideoList">!String.Contains(container.folderpath,special://profile/playlists/video) + !String.Contains(container.folderpath,videodb://) + !String.Contains(container.folderpath,plugin://) |container.content(files) | String.IsEmpty(container.content) | container.content(playlists) | container.content(addons)</expression> <expression name="isMovie">container.content(movies) + [String.Contains(container.folderpath,videodb://) | String.Contains(container.folderpath,special://profile/playlists/video)]</expression> <expression name="isAddonMovieOrTVshow">!String.Contains(container.folderpath,videodb://) + String.Contains(container.folderpath,plugin://) + [container.content(movies) | container.content(tvshows)]</expression> <expression name="isTVShow">container.content(tvshows) + [String.Contains(container.folderpath,videodb://) | String.Contains(container.folderpath,special://profile/playlists/video)]</expression> <expression name="isSeason">container.content(seasons) + String.Contains(container.folderpath,videodb://)</expression> <expression name="isEpisode">container.content(episodes) + !String.Contains(Container.folderpath,plugin)</expression> <expression name="isMusicVideo">container.content(musicvideos) + !String.Contains(Container.folderpath,plugin)</expression> <expression name="isMusicList">!String.Contains(container.folderpath,musicdb://) | String.Contains(container.foldername,Files) | container.content(files) | container.content(addons) | [container.content(playlists) + !String.Contains(Container.folderpath,special://profile/playlists)] | String.Contains(Container.folderpath,plugin://)</expression> <expression name="isMusicArtist">container.content(artists) + [String.Contains(container.folderpath,musicdb://) | String.Contains(Container.folderpath,special://profile/playlists)]</expression> <expression name="isMusicArtistCatalogue">container.content(albums) + String.Contains(container.folderpath,albumartistsonly)</expression> <expression name="isMusicAlbum">container.content(albums) + [String.Contains(container.folderpath,musicdb://) | String.Contains(Container.folderpath,special://profile/playlists)]</expression> <expression name="isMusicGenre">container.content(genres) + String.Contains(container.folderpath,musicdb://)</expression> <expression name="isMusicSong">container.content(songs) + String.Contains(Container.folderpath,musicdb://)</expression> <expression name="isMusicPlaylist">container.content(songs) + [String.Contains(Container.folderpath,.xsp) | String.Contains(Container.foldername,PartyMode) | String.Contains(Container.folderpath,playlistmusic://)]</expression> <!--weather--> <expression name="hasWeather">!String.IsEmpty(Window(Weather).Property(WeatherProvider)) + !String.String.IsEmpty(weather.temperature) + !String.String.IsEmpty(weather.conditions)</expression> <!--item fanart--> <include name="itemFanart"> <control type="wraplist" id="99999"> <posx>0</posx> <posy>0</posy> <width>1000</width> <height>1000</height> <enable>false</enable> <preloaditems>2</preloaditems> <scrolltime>15000</scrolltime> <autoscroll>true</autoscroll> <itemlayout /> <focusedlayout /> <content>$VAR[extraFanartLocation]</content> </control> <control type="image"> <visible>Integer.IsGreater(container(99999).numitems,0) + !Skin.HasSetting(disableExtendedFanart)</visible> <include>dimensionsFullscreen</include> <texture>$INFO[container(99999).listitem.filenameandpath,,]</texture> <colordiffuse>66ffffff</colordiffuse> <fadetime>500</fadetime> <aspectratio>stretch</aspectratio> <include>kenBurnsey</include> </control> <control type="image"> <visible>!Integer.IsGreater(container(99999).numitems,0) | Skin.HasSetting(disableExtendedFanart) | ListItem.IsParentFolder</visible> <posx>0</posx> <posy>0</posy> <include>dimensionsFullscreen</include> <texture>$INFO[container.Art(fanart)]</texture> <colordiffuse>66ffffff</colordiffuse> <aspectratio>stretch</aspectratio> <include>kenBurnsey</include> </control> </include> <!--keyboard autocomplete--> <include name="AutoComplete"> <control type="group"> <visible>!String.String.IsEmpty(Control.GetLabel(312).index(1)) + !Control.IsVisible(313)</visible> <posx>0</posx> <posy>0</posy> <control type="group"> <animation effect="fade" time="300" tween="cubic" start="0" end="100" reversible="false" condition="!String.String.IsEmpty(Container(5000).ListItem.Label)">Conditional</animation> <animation effect="fade" time="150" tween="cubic" start="100" end="0" reversible="false" condition="String.String.IsEmpty(Container(5000).ListItem.Label)">Conditional</animation> </control> <control type="panel" id="5000"> <posx>col-5-begin</posx> <posy>-36</posy> <width>16-col</width> <height>2-row</height> <onleft>5000</onleft> <onright>5000</onright> <ondown>312</ondown> <onback>noop</onback> <orientation>horizontal</orientation> <itemlayout height="2-row" width="4-col"> <control type="label"> <posx>0</posx> <posy>0</posy> <width>4-col-gutter</width> <height>2-row</height> <align>center</align> <textcolor>textDisabled</textcolor> <font>itemTitle</font> <label>$INFO[ListItem.Label]</label> </control> </itemlayout> <focusedlayout height="2-row" width="4-col"> <control type="label"> <posx>0</posx> <posy>0</posy> <width>4-col-gutter</width> <height>2-row</height> <align>center</align> <textcolor>textActive</textcolor> <font>itemTitle</font> <label>$INFO[ListItem.Label]</label> </control> </focusedlayout> <content>plugin://plugin.program.autocompletion?info=autocomplete&&id=$INFO[Control.GetLabel(312).index(1)]&&limit=8</content> </control> </control> </include> <!--modal dialogs--> <include name="modalDialog"> <control type="image"> <include>dimensionsFullscreen</include> <texture>colors/black.png</texture> <colordiffuse>e9FFFFFF</colordiffuse> <aspectratio>stretch</aspectratio> </control> <control type="image"> <include>dimensionsFullscreen</include> <texture>vignette.png</texture> <colordiffuse>ffffffff</colordiffuse> <aspectratio>stretch</aspectratio> </control> </include> <!--Global background--> <include name="globalBackground"> <control type="image"> <include>dimensionsFullscreen</include> <texture>colors/black.png</texture> <colordiffuse>ffFFFFFF</colordiffuse> <aspectratio>stretch</aspectratio> </control> <control type="image"> <include>dimensionsFullscreen</include> <texture>colors/white.png</texture> <colordiffuse>background</colordiffuse> <aspectratio>stretch</aspectratio> </control> </include> <!--page header--> <include name="pageHeader"> <control type="group"> <posx>col-1-begin</posx> <posy>row-1-begin</posy> <!--title--> <control type="label"> <posx>0</posx> <posy>0</posy> <width>18-col</width> <font>pageTitle</font> <label>$VAR[listTitle]</label> <textcolor>textActive</textcolor> </control> <!--subtitle--> <control type="label"> <posx>0</posx> <posy>1-row</posy> <width>12-col</width> <height>2-row</height> <font>pageSubTitle</font> <label>$VAR[listSubTitle]</label> <textcolor>textActive</textcolor> </control> <!--time--> <control type="label"> <posx>24-col</posx> <posy>0</posy> <width>12-col</width> <align>right</align> <font>pageTitle</font> <label>$INFO[System.Time]</label> <textcolor>textActive</textcolor> </control> <!--date--> <control type="label"> <posx>24-col</posx> <posy>1-row</posy> <width>12-col</width> <height>2-row</height> <align>right</align> <font>pageSubTitle</font> <label>$INFO[System.Date(DDD)], $INFO[system.Date(mmm d)]</label> <textcolor>textActive</textcolor> </control> </control> </include> <!--busy indicator--> <include name="loadingIndicator"> <control type="group"> <animation type="Visible" reversible="false"> <effect type="zoom" start="80" end="100" center="960,540" tween="back" time="240" /> <effect type="fade" end="100" time="240" /> </animation> <animation type="Hidden" reversible="false"> <effect type="zoom" start="100" end="80" center="960,540" easing="in" tween="back" time="240" /> <effect type="fade" start="100" end="0" time="240" /> </animation> <visible>!Window.IsActive(startup) + !String.IsEmpty(container.foldername) + !Integer.IsGreater(container.numitems,0) + !ListItem.IsParentFolder | window.isactive(busydialog)</visible> <control type="image"> <texture>colors/black.png</texture> <include>dimensionsFullscreen</include> <animation effect="fade" start="100" end="70" time="0" condition="true">Conditional</animation> <animation effect="fade" start="100" end="0" time="240" condition="Window.IsVisible(fullscreenvideo)">Conditional</animation> <animation effect="fade" end="100" time="560">WindowOpen</animation> <animation effect="fade" start="100" end="0" time="240">WindowClose</animation> </control> <control type="image"> <depth>DepthMax</depth> <left>920</left> <top>513</top> <width>80</width> <height>80</height> <aspectratio>keep</aspectratio> <animation effect="rotate" end="-45" center="auto" time="200" delay="600" loop="true" reversible="false" condition="true">Conditional</animation> <texture colordiffuse="44ffffff">spinner.png</texture> <animation effect="fade" end="100" time="300" delay="200">WindowOpen</animation> </control> <control type="image"> <depth>DepthMax</depth> <left>935</left> <top>528</top> <width>50</width> <height>50</height> <aspectratio>keep</aspectratio> <animation effect="rotate" end="45" center="auto" time="200" delay="600" loop="true" reversible="false" condition="true">Conditional</animation> <texture flipx="true" colordiffuse="11ffffff">spinner.png</texture> <animation effect="fade" end="100" time="300" delay="200">WindowOpen</animation> </control> </control> </include> <!--conditional positioning for progress dialogs (avoid overlaps)--> <include name="progressPosition1"><posy>row-2-begin</posy></include> <include name="progressPosition2"><posy>row-6-begin</posy></include> <!--mini player window--> <include name="miniVideoPlayer"> <control type="group"> <visible>!Skin.hassetting(stopVideoOnMenu) + Player.HasVideo + !VideoPlayer.IsFullscreen + !SlideShow.IsActive</visible> <posx>col-20-begin</posx> <posy>12</posy> <control type="image"> <posx>0</posx> <posy>0</posy> <width>444</width> <height>255</height> <aspectratio>stretch</aspectratio> <texture>colors/black.png</texture> <bordertexture border="6" colordiffuse="overlay">colors/black.png</bordertexture> <bordersize>6</bordersize> </control> <control type="videowindow"> <posx>6</posx> <posy>6</posy> <width>6-col</width> <height>243</height> </control> </control> </include> <!--debugging--> <include name="DialogID"> <posx>15</posx> <posy>15</posy> <width>fullscreenwidth</width> <height>1-row</height> <font>smallStrong</font> <textcolor>textActive</textcolor> <align>left</align> <visible>Skin.HasSetting(DebugInfo)</visible> </include> <include name="WindowID"> <posx>15</posx> <posy>15</posy> <width>fullscreenwidth</width> <height>1-row</height> <font>smallStrong</font> <textcolor>textActive</textcolor> <align>left</align> <visible>Skin.HasSetting(DebugInfo)</visible> </include> <include name="DebugGrid"> <control type="image"> <include>dimensionsFullscreen</include> <texture>debuggrid1080.png</texture> <colordiffuse>77FFFFFF</colordiffuse> <visible>Skin.HasSetting(DebugGrid)</visible> </control> </include> </includes>