music video integration first pass

This commit is contained in:
Chris Bevan 2017-03-08 23:54:23 +00:00
parent ebda992cd5
commit e74933ef10
21 changed files with 337 additions and 106 deletions

View File

@ -31,7 +31,7 @@
<width>12-col</width>
<height>12-col</height>
<aspectratio align="center" aligny="top">stretch</aspectratio>
<texture fallback="colors/black.png">$INFO[Listitem.thumb]</texture>
<texture fallback="DefaultAlbumCover.png">$INFO[Listitem.thumb]</texture>
<animation effect="rotateY" end="-7" center="auto,auto" time="500">windowOpen</animation>
<animation type="windowClose">
<effect type="rotateY" start="-7" end="0" center="auto,auto" time="500"/>

View File

@ -292,6 +292,16 @@
<thumb>-</thumb>
<onclick>SendClick(2000,5)</onclick>
</item>
<item id="3">
<description>Artwork downloader</description>
<label>$LOCALIZE[31219]</label>
<label2></label2>
<thumb>-</thumb>
<onclick condition="Container.Content(tvshows)">XBMC.RunScript(script.artwork.downloader, mediatype=tvshow, dbid=$INFO[ListItem.DBID])</onclick>
<onclick condition="Container.Content(movies)">XBMC.RunScript(script.artwork.downloader, mediatype=movie, dbid=$INFO[ListItem.DBID])</onclick>
<onclick condition="Container.Content(musicvideos)">XBMC.RunScript(script.artwork.downloader, mediatype=musicvideos, dbid=$INFO[ListItem.DBID])</onclick>
<visible>[Container.Content(tvshows)|Container.Content(movies)|Container.Content(musicvideos)]+system.hasaddon(script.artwork.downloader)</visible>
</item>
<item id="2">
<description>Cancel Button</description>
<label>222</label>

View File

@ -37,6 +37,39 @@
<aspectratio>stretch</aspectratio>
<include>kenBurnsey</include>
</control>
<control type="group">
<visible>container.content(musicvideos)</visible>
<posx>3-col</posx>
<posy>2-row</posy>
<control type="image">
<posx>0</posx>
<posy>0</posy>
<width>12-col</width>
<height>12-col</height>
<aspectratio align="center" aligny="top">stretch</aspectratio>
<texture fallback="DefaultAlbumCover.png">$INFO[Listitem.thumb]</texture>
<animation effect="rotateY" end="-7" center="auto,auto" time="500">windowOpen</animation>
<animation type="windowClose">
<effect type="rotateY" start="-7" end="0" center="auto,auto" time="500"/>
<effect type="slide" start="0" end="-1100" tween="cubic" easing="out" time="400"/>
</animation>
</control>
<control type="image">
<posx>0</posx>
<posy>12-col</posy>
<width>12-col</width>
<height>2-col</height>
<aspectratio align="center" aligny="top">scale</aspectratio>
<texture fallback="colors/black.png" diffuse="masks/thumbFader.png" flipy="true">$INFO[Listitem.thumb]</texture>
<animation type="windowOpen">
<effect type="rotateY" end="-7" center="auto,auto" time="500"/>
</animation>
<animation type="windowClose">
<effect type="rotateY" start="-7" end="0" center="auto,auto" time="500"/>
<effect type="slide" start="0" end="-1100" tween="cubic" easing="out" time="400"/>
</animation>
</control>
</control>
<control type="image">
<include>dimensionsFullscreen</include>
<texture>vignette.png</texture>
@ -52,7 +85,7 @@
<aspectratio align="left">keep</aspectratio>
</control>
</control>
<!--content is movie or tvshow (from XBMC Library)-->
<!--content is movie, music video or tvshow (from XBMC Library)-->
<control type="group">
<visible>!Substring(Container.folderpath,plugin) + !container.content(episodes)</visible>
<posx>1200</posx>

View File

@ -3,8 +3,6 @@
<defaultcontrol always="true">9999</defaultcontrol>
<onload>RunScript(script.skinshortcuts,type=buildxml&amp;mainmenuID=9001&amp;group=mainmenu|videosubmenu|musicsubmenu|picturessubmenu)</onload>
<onload condition="Skin.hassetting(stopVideoOnMenu) + !Player.HasAudio">PlayerControl(stop)</onload>
<animation effect="fade" start="100" end="0" time="250">WindowClose</animation>
<animation effect="fade" start="0" end="100" time="500" reversible="true">WindowOpen</animation>
<controls>
<include>globalBackground</include>
<control type="group">
@ -13,10 +11,11 @@
</animation>
<include>modalDialogContentShift</include>
<control type="multiimage">
<animation effect="fade" start="0" end="100" time="1000">WindowOpen</animation>
<include>dimensionsFullscreen</include>
<imagepath>$VAR[homeBackgroundLocation]</imagepath>
<timeperimage>45000</timeperimage>
<fadetime>1000</fadetime>
<fadetime>0</fadetime>
<pauseatend>10000</pauseatend>
<randomize>true</randomize>
<loop>yes</loop>

View File

@ -21,8 +21,25 @@
<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"/>
<!--expressions-->
<!--originals
<expression name="isSeason">!isempty(container.folderpath) + !StringCompare(container.foldername,files) + !container.content(episodes) + !Substring(Container.folderpath,plugin) + !container.content(addons)</expression>
<expression name="isEpisode">Substring(container.folderpath,videodb://) + !isempty(container.folderpath) + container.content(episodes) + !Substring(Container.folderpath,plugin)</expression>
<expression name="isTVShow">Substring(container.folderpath,videodb://) + Library.HasContent(tvshows) + !isempty(container.foldername) + !StringCompare(container.foldername,files) + !container.content(movies) + !container.content(episodes) + !container.content(seasons) + !Substring(Container.folderpath,plugin) + !container.content(addons) + !container.content(files)</expression>
<expression name="isMovie">Library.HasContent(movies) + !container.content(files) + !isempty(container.foldername) + !StringCompare(container.foldername,files) + Substring(container.folderpath,videodb://) + !StringCompare(container.foldername,Video Playlists) + !container.content(tvshows) + !container.content(episodes) + !container.content(seasons) + !Substring(Container.folderpath,plugin) + !container.content(addons)</expression>
<expression name="isVideoList">!isempty(container.folderpath) + !Substring(container.folderpath,videodb://) | container.content(files) | StringCompare(container.foldername,files) | Substring(container.folderpath,special://videoplaylists)</expression>
-->
<expression name="isVideoList">container.content(files) | isempty(container.content) | container.content(playlists) | container.content(addons)</expression>
<expression name="isMovie">container.content(movies) + [Substring(container.folderpath,videodb://) | Substring(container.folderpath,special://profile/playlists/video)]</expression>
<expression name="isTVShow">container.content(tvshows) + [Substring(container.folderpath,videodb://) | Substring(container.folderpath,special://profile/playlists/video)]</expression>
<expression name="isSeason">container.content(seasons) + Substring(container.folderpath,videodb://)</expression>
<expression name="isEpisode">container.content(episodes) + !Substring(Container.folderpath,plugin)</expression>
<expression name="isMusicVideo">container.content(musicvideos) + !Substring(Container.folderpath,plugin)</expression>
<!--modal dialogs-->
<include name="modalDialog">
<control type="image">

View File

@ -17,6 +17,10 @@
<effect type="fade" start="0" end="100" time="500"/>
<effect type="zoom" center="auto" start="120" end="100" time="300"/>
</animation>
<animation type="windowclose">
<effect type="fade" start="100" end="0" time="300"/>
<effect type="zoom" center="auto" start="100" end="90" time="300"/>
</animation>
</include>
<!--ken burnsey style effect for fanart images-->
<include name="kenBurnsey">

View File

@ -94,8 +94,8 @@
<content>
<include condition="window.isactive(home)">skinshortcuts-mainmenu</include>
<include condition="window.isactive(pictures)">skinshortcuts-group-picturessubmenu</include>
<include condition="[window.isactive(1106) + String.IsEqual(skin.string(recentitems),music)] | window.isactive(music) | window.isactive(radiochannels) | window.isactive(radioguide) | window.isactive(radiorecordings) | window.isactive(radiotimers) | window.isactive(musicplaylist)">skinshortcuts-group-musicsubmenu</include>
<include condition="[window.isactive(1106) + String.IsEqual(skin.string(recentitems),video)] | window.isactive(videos) | window.isactive(tvchannels) | window.isactive(tvrecordings) | window.isactive(tvguide) | window.isactive(tvtimers) | window.isactive(videoplaylist)">skinshortcuts-group-videosubmenu</include>
<include condition="[window.isactive(1106) + String.IsEqual(skin.string(recentitems),music)] | String.Contains(container.folderpath,videodb://musicvideos/titles) | window.isactive(music) | window.isactive(radiochannels) | window.isactive(radioguide) | window.isactive(radiorecordings) | window.isactive(radiotimers) | window.isactive(musicplaylist)">skinshortcuts-group-musicsubmenu</include>
<include condition="[window.isactive(1106) + String.IsEqual(skin.string(recentitems),video)] | [window.isactive(videos) + !String.Contains(container.folderpath,videodb://musicvideos/titles)] | window.isactive(tvchannels) | window.isactive(tvrecordings) | window.isactive(tvguide) | window.isactive(tvtimers) | window.isactive(videoplaylist)">skinshortcuts-group-videosubmenu</include>
</content>
</control>
</control>

View File

@ -4,23 +4,23 @@
<!--folder titles-->
<variable name="listTitle">
<value condition="Window.isactive(1106)">$LOCALIZE[31012]</value>
<value condition="Window.isactive(Videos) + Container.Content(musicvideos)">$LOCALIZE[20389] [LOWERCASE][COLOR highlight]$LOCALIZE[31054] $INFO[container.sortmethod] $INFO[Container.SortOrder,(,)][/COLOR][/LOWERCASE]</value>
<value condition="Window.isactive(Videos) + [Container.Content(movies) | container.content(tvshows)] + Substring(Container.folderpath,special://profile/playlists/video)">[CAPITALIZE]$INFO[container.foldername][/CAPITALIZE] [LOWERCASE][COLOR highlight]$LOCALIZE[31054] $INFO[container.sortmethod] $INFO[Container.SortOrder,(,)][/COLOR][/LOWERCASE]</value>
<value condition="Window.isactive(Videos) + Substring(Container.folderpath,plugin)">$INFO[container.foldername] $INFO[ListItem.TVShowTitle,- ,] $INFO[ListItem.season,$LOCALIZE[31011] ,]</value>
<value condition="Window.isactive(Videos) + Container.Content(movies)">$LOCALIZE[20342] [COLOR highlight]$LOCALIZE[31054] $INFO[container.sortmethod] $INFO[Container.SortOrder,(,)][/COLOR]</value>
<value condition="Window.isactive(Videos) + Container.Content(tvshows)">$LOCALIZE[31216] [COLOR highlight]$LOCALIZE[31054] $INFO[container.sortmethod] $INFO[Container.SortOrder,(,)][/COLOR]</value>
<value condition="Window.isactive(Videos) + Container.Content(movies)">$LOCALIZE[20342] [LOWERCASE][COLOR highlight]$LOCALIZE[31054] $INFO[container.sortmethod] $INFO[Container.SortOrder,(,)][/COLOR][/LOWERCASE]</value>
<value condition="Window.isactive(Videos) + Container.Content(tvshows)">$LOCALIZE[31216] [LOWERCASE][COLOR highlight]$LOCALIZE[31054] $INFO[container.sortmethod] $INFO[Container.SortOrder,(,)][/COLOR][/LOWERCASE]</value>
<value condition="Window.isactive(Videos) + [Container.Content(seasons) | Container.Content(episodes)]">$LOCALIZE[20343]</value>
<value condition="Window.isactive(Videos) + !isEmpty(container.foldername)">$INFO[container.foldername]</value>
<value condition="Window.isactive(Videos) + isEmpty(container.foldername)">$LOCALIZE[31012]</value>
<value condition="Window.isactive(Music) + Container.Content(albums) + Substring(Container.folderpath,special://profile/playlists/music)">[CAPITALIZE]$INFO[container.foldername][/CAPITALIZE] [LOWERCASE][COLOR highlight]$LOCALIZE[31054] $INFO[container.sortmethod] $INFO[Container.SortOrder,(,)][/COLOR][/LOWERCASE]</value>
<value condition="Window.isactive(Music) + SubString(container.folderpath,addons://)">$LOCALIZE[31058]</value>
<value condition="Window.isactive(Music) + SubString(container.folderpath,plugin://)">$INFO[container.foldername]</value>
<value condition="Window.isactive(Music) + Container.Content(albums)">$LOCALIZE[31037] [COLOR highlight]$LOCALIZE[31054] $INFO[container.sortmethod] $INFO[Container.SortOrder,(,)][/COLOR]</value>
<value condition="Window.isactive(Music) + Container.Content(artists)">$LOCALIZE[31024] [COLOR highlight]$LOCALIZE[31054] $INFO[container.sortmethod] $INFO[Container.SortOrder,(,)][/COLOR]</value>
<value condition="Window.isactive(Music) + Container.Content(albums)">$LOCALIZE[31038] [LOWERCASE][COLOR highlight]$LOCALIZE[31054] $INFO[container.sortmethod] $INFO[Container.SortOrder,(,)][/COLOR][/LOWERCASE]</value>
<value condition="Window.isactive(Music) + Container.Content(artists)">$LOCALIZE[31024] [LOWERCASE][COLOR highlight]$LOCALIZE[31054] $INFO[container.sortmethod] $INFO[Container.SortOrder,(,)][/COLOR][/LOWERCASE]</value>
<value condition="Window.isactive(Music) + Container.Content(songs)">$LOCALIZE[31182]</value>
<value condition="Window.isactive(Music) + !container.content(genres) + SubString(container.folderpath,musicdb://genres)">$LOCALIZE[31199] [COLOR highlight]$INFO[container.foldername][/COLOR]</value>
<value condition="Window.isactive(Music) + !isEmpty(container.foldername)">$INFO[container.foldername]</value>
<value condition="Window.isactive(Music) + isEmpty(container.foldername)">$LOCALIZE[31053]</value>
<!--
<value condition="Window.isactive(Music) + SubString(container.foldername,playlists)">$LOCALIZE[20011]</value>
-->
</variable>
<variable name="listSubTitle">
<value condition="Window.isactive(Videos)">$INFO[container.Numitems,, $LOCALIZE[31014]] $VAR[unwatchedOnly]</value>

View File

@ -15,11 +15,12 @@
<include>contentOpen</include>
<!--source content-->
<control type="group" id="9500">
<include>videofiles</include>
<include>movies</include>
<include>tvshows</include>
<include>videofiles</include>
<include>seasons</include>
<include>episodes</include>
<include>musicvideos</include>
</control>
</control>
<!--page scrollbar-->
@ -70,7 +71,7 @@
<include>DebugGrid</include>
<control type="label">
<include>WindowID</include>
<label>MyVideoNav.xml</label>
<label>MyVideoNav.xml folderpath: $INFO[container.folderpath] • foldername: $INFO[container.foldername] • content: $INFO[container.content]</label>
</control>
</controls>
</window>

View File

@ -110,7 +110,7 @@
<textoffsetx>24</textoffsetx>
<textcolor>textActive</textcolor>
<focusedcolor>black</focusedcolor>
<label>$LOCALIZE[31109]</label>
<label>580</label>
<onright>9002</onright>
<onup>17</onup>
<onleft>18</onleft>

View File

@ -67,7 +67,7 @@
<width>3-col-gutter</width>
<height>256</height>
<aspectratio>scale</aspectratio>
<texture border="6">$INFO[Player.Art(tvshow.poster)]</texture>
<texture fallback="colors/offblack.png" border="6">$INFO[Player.Art(tvshow.poster)]</texture>
<bordertexture border="6" colordiffuse="overlay">colors/black.png</bordertexture>
<bordersize>6</bordersize>
<colordiffuse>ffffffff</colordiffuse>
@ -79,7 +79,7 @@
<width>3-col-gutter</width>
<height>256</height>
<aspectratio>scale</aspectratio>
<texture border="6">$INFO[Player.Art(poster)]</texture>
<texture fallback="colors/offblack.png" border="6">$INFO[Player.Art(poster)]</texture>
<bordertexture border="6" colordiffuse="overlay">colors/black.png</bordertexture>
<bordersize>6</bordersize>
<colordiffuse>ffffffff</colordiffuse>
@ -91,7 +91,7 @@
<width>3-col-gutter</width>
<height>3-col-gutter</height>
<aspectratio>stretch</aspectratio>
<texture border="6">$INFO[Player.Art(thumb)]</texture>
<texture fallback="colors/offblack.png" border="6">$INFO[Player.Art(thumb)]</texture>
<bordertexture border="6" colordiffuse="overlay">colors/black.png</bordertexture>
<bordersize>6</bordersize>
<colordiffuse>ffffffff</colordiffuse>

View File

@ -1,13 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<includes>
<include name="episodes">
<!--fanart-->
<control type="group">
<visible>Substring(container.folderpath,videodb://) + !isempty(container.folderpath) + container.content(episodes) + !Substring(Container.folderpath,plugin)</visible>
<posy>0</posy>
<posx>0</posx>
<control type="image">
<visible>!isempty(container.art(season.poster))</visible>
<posx>0</posx>
@ -23,7 +21,6 @@
<effect type="fade" start="100" end="0" time="1000" delay="14000"/>
</animation>
</control>
<control type="image">
<visible>isempty(container.art(season.poster))</visible>
<posx>-966</posx>
@ -39,7 +36,6 @@
<effect type="fade" start="100" end="0" time="1000" delay="14000"/>
</animation>
</control>
<!--display clearart if available-->
<control type="image">
<posx>1068</posx>
@ -56,7 +52,6 @@
<aspectratio>stretch</aspectratio>
</control>
</control>
<!--overlay-->
<control type="group">
<visible>Substring(container.folderpath,videodb://) + !isempty(container.folderpath) + container.content(episodes) + !Substring(Container.folderpath,plugin)</visible>
@ -79,7 +74,6 @@
<colordiffuse>highlight</colordiffuse>
</control>
</control>
<!--title-->
<control type="group">
<posx>col-13-begin</posx>
@ -96,12 +90,11 @@
<label>[B]$INFO[Container.ShowTitle][/B] $INFO[listitem.Season,$LOCALIZE[31011] , ]</label>
</control>
</control>
<!--episode synopsis & thumb-->
<control type="group">
<!--tvhsow library-sourced episode list-->
<control type="panel" id="52">
<visible>Substring(container.folderpath,videodb://) + !isempty(container.folderpath) + container.content(episodes) + !Substring(Container.folderpath,plugin)</visible>
<visible>$EXP[isEpisode]</visible>
<posx>954</posx>
<posy>row-8-begin</posy>
<width>12-col</width>

View File

@ -1,11 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<includes>
<include name="movies">
<visible>window.isactive(Videos,videodb://movies/titles/)</visible>
<control type="group">
<!--fanart-->
<control type="group">
<visible>container.content(movies) | container.content(tvshows)</visible>
<visible>$EXP[isMovie]</visible>
<control type="image">
<include>dimensionsFullscreen</include>
<aspectratio scalediffuse="false">stretch</aspectratio>
@ -16,7 +15,7 @@
<include>kenBurnsey</include>
</control>
<control type="panel" id="50">
<visible>Library.HasContent(movies) + !container.content(files) + !isempty(container.foldername) + !StringCompare(container.foldername,files) + Substring(container.folderpath,videodb://) + !StringCompare(container.foldername,Video Playlists) + !container.content(tvshows) + !container.content(episodes) + !container.content(seasons) + !Substring(Container.folderpath,plugin) + !container.content(addons)</visible>
<visible>$EXP[isMovie]</visible>
<posx>90</posx>
<posy>row-5-begin</posy>
<width>1800</width>

View File

@ -0,0 +1,99 @@
<?xml version="1.0" encoding="UTF-8"?>
<includes>
<!--Music Video browser-->
<include name="musicvideos">
<control type="panel" id="50">
<visible>$EXP[isMusicVideo]</visible>
<posx>col-1-begin</posx>
<posy>row-5-begin</posy>
<width>1800</width>
<height>25-row</height>
<onleft>9000</onleft>
<onright>60</onright>
<ondown>50</ondown>
<onup>50</onup>
<onback>9000</onback>
<scrolltime tween="cubic" easing="out">600</scrolltime>
<pagecontrol>60</pagecontrol>
<itemlayout width="444" height="360">
<control type="image">
<posx>0</posx>
<posy>0</posy>
<width>6-col-gutter</width>
<height>4-col-gutter</height>
<aspectratio>scale</aspectratio>
<texture border="6">DefaultPoster.png</texture>
<bordertexture border="6" colordiffuse="overlay">colors/black.png</bordertexture>
<bordersize>6</bordersize>
<colordiffuse>44FFFFFF</colordiffuse>
</control>
<control type="image">
<posx>0</posx>
<posy>0</posy>
<width>6-col-gutter</width>
<height>4-col-gutter</height>
<aspectratio>scale</aspectratio>
<texture border="0">$INFO[Listitem.thumb]</texture>
<bordertexture border="6" colordiffuse="11FFFFFF">colors/black.png</bordertexture>
<bordersize>6</bordersize>
<colordiffuse>ffffffff</colordiffuse>
</control>
<control type="label">
<posx>12</posx>
<posy>268</posy>
<width>384</width>
<height>1-row</height>
<aligny>center</aligny>
<font>thumbTitle</font>
<textcolor>textActive</textcolor>
<label>[B]$INFO[ListItem.title][/B]</label>
</control>
<control type="label">
<posx>12</posx>
<posy>292</posy>
<width>384</width>
<height>1-row</height>
<aligny>center</aligny>
<font>thumbTitle</font>
<textcolor>textDisabled</textcolor>
<label>$INFO[ListItem.artist] $INFO[ListItem.year,(,)]</label>
</control>
</itemlayout>
<focusedlayout width="444" height="360">
<control type="group">
<include>focusThumb</include>
<control type="image">
<posx>0</posx>
<posy>0</posy>
<width>6-col-gutter</width>
<height>4-col-gutter</height>
<aspectratio>scale</aspectratio>
<texture fallback="DefaultPoster.png">$INFO[Listitem.thumb]</texture>
<bordertexture border="6" colordiffuse="ffFFFFFF">colors/white.png</bordertexture>
<bordersize>6</bordersize>
</control>
<control type="label">
<posx>12</posx>
<posy>268</posy>
<width>384</width>
<height>1-row</height>
<aligny>center</aligny>
<font>thumbTitle</font>
<textcolor>textActive</textcolor>
<label>[B]$INFO[ListItem.title][/B]</label>
</control>
<control type="label">
<posx>12</posx>
<posy>292</posy>
<width>384</width>
<height>1-row</height>
<aligny>center</aligny>
<font>thumbTitle</font>
<textcolor>textActive</textcolor>
<label>$INFO[ListItem.artist] $INFO[ListItem.year,(,)]</label>
</control>
</control>
</focusedlayout>
</control>
</include>
</includes>

View File

@ -63,7 +63,7 @@
</control>
<!--content-->
<control type="panel" id="58">
<visible>!isempty(container.folderpath) + !StringCompare(container.foldername,files) + !container.content(episodes) + !Substring(Container.folderpath,plugin) + !container.content(addons)</visible>
<visible>$EXP[isSeason]</visible>
<posx>col-1-begin</posx>
<posy>624</posy>
<width>1836</width>

View File

@ -1,22 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?>
<includes>
<include name="tvshows">
<visible>window.isactive(Videos,videodb://tvshows/titles/)</visible>
<control type="group">
<!--fanart-->
<control type="group">
<visible>Substring(Container.folderpath,plugin)</visible>
<visible>$EXP[isTVShow]</visible>
<control type="image">
<include>dimensionsFullscreen</include>
<aspectratio scalediffuse="false">stretch</aspectratio>
<texture fallback="colors/offblack.png" border="0">$INFO[Listitem.art(fanart)]</texture>
<fadetime>500</fadetime>
<colordiffuse>99ffffff</colordiffuse>
<colordiffuse>22ffffff</colordiffuse>
<include>kenBurnsey</include>
</control>
</control>
<control type="panel" id="50">
<visible>Substring(container.folderpath,videodb://) + Library.HasContent(tvshows) + !isempty(container.foldername) + !StringCompare(container.foldername,files) + !container.content(movies) + !container.content(episodes) + !container.content(seasons) + !Substring(Container.folderpath,plugin) + !container.content(addons) + !container.content(files)</visible>
<visible>$EXP[isTVShow]</visible>
<posx>90</posx>
<posy>row-5-begin</posy>
<width>1800</width>

View File

@ -1,8 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<includes>
<include name="videofiles">
<!--fanart-->
<control type="group">
<visible>Substring(Container.folderpath,plugin)</visible>
<control type="image">
<include>dimensionsFullscreen</include>
<aspectratio scalediffuse="false">stretch</aspectratio>
<texture fallback="colors/offblack.png" border="0">$INFO[Listitem.art(fanart)]</texture>
<fadetime>500</fadetime>
<colordiffuse>99ffffff</colordiffuse>
<include>kenBurnsey</include>
</control>
</control>
<control type="panel" id="50">
<visible>!isempty(container.folderpath) + !Substring(container.folderpath,videodb://) | container.content(files) | StringCompare(container.foldername,files) | Substring(container.folderpath,special://videoplaylists)</visible>
<visible>$EXP[isVideoList]</visible>
<posx>col-1-begin</posx>
<posy>row-5-begin</posy>
<width>24-col</width>

View File

@ -1,10 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<window id="1106">
<defaultcontrol always="false">9000</defaultcontrol>
<defaultcontrol always="true">9000</defaultcontrol>
<onload condition="Skin.hassetting(stopVideoOnMenu) + !Player.HasAudio">PlayerControl(stop)</onload>
<include>fadeInOut</include>
<controls>
<control type="group" id="9999">
<include>fadeInOut</include>
<!--shift page for certain modal dialogs-->
<include>modalDialogContentShift</include>
<!--fanart-->

View File

@ -43,9 +43,9 @@
<thumb />
<property name="labelID">favourites</property>
<property name="defaultID" />
<onclick>ActivateWindow(Pictures,"/Users/chrisbevan/Sync/Art &amp; Design/CraveControl/",return)</onclick>
<property name="path">ActivateWindow(Pictures,"/Users/chrisbevan/Sync/Art &amp; Design/CraveControl/",return)</property>
<property name="list">/Users/chrisbevan/Sync/Art &amp; Design/CraveControl/</property>
<onclick>ActivateWindow(Videos,special://profile/playlists/video/recentMovies.xsp,return)</onclick>
<property name="path">ActivateWindow(Videos,special://profile/playlists/video/recentMovies.xsp,return)</property>
<property name="list">special://profile/playlists/video/recentMovies.xsp</property>
<visible>StringCompare(System.ProfileName,Master user)</visible>
<property name="submenuVisibility">favourites</property>
<property name="group">mainmenu</property>
@ -933,6 +933,24 @@
<item id="3">
<property name="id">$NUMBER[3]</property>
<property name="mainmenuid">17</property>
<label>Music videos</label>
<label2>Custom item</label2>
<icon>DefaultShortcut.png</icon>
<thumb />
<property name="labelID">musicvideos</property>
<property name="defaultID" />
<visible>[Library.HasContent(MusicVideos)] + StringCompare(Container(9001).ListItem.Property(submenuVisibility),musicsubmenu)</visible>
<onclick condition="true">control.setfocus(9999)</onclick>
<onclick>ActivateWindow(Videos,videodb://musicvideos/titles/,return)</onclick>
<property name="path">ActivateWindow(Videos,videodb://musicvideos/titles/,return)</property>
<property name="list">videodb://musicvideos/titles/</property>
<visible>StringCompare(System.ProfileName,Master user)</visible>
<property name="group">musicsubmenu</property>
<property name="isSubmenu">True</property>
</item>
<item id="4">
<property name="id">$NUMBER[4]</property>
<property name="mainmenuid">17</property>
<label>Party mode</label>
<label2>Music</label2>
<icon>DefaultAddon.png</icon>
@ -947,8 +965,8 @@
<property name="group">musicsubmenu</property>
<property name="isSubmenu">True</property>
</item>
<item id="4">
<property name="id">$NUMBER[4]</property>
<item id="5">
<property name="id">$NUMBER[5]</property>
<property name="mainmenuid">17</property>
<label>$LOCALIZE[31059]</label>
<label2>Music</label2>
@ -965,8 +983,8 @@
<property name="group">musicsubmenu</property>
<property name="isSubmenu">True</property>
</item>
<item id="5">
<property name="id">$NUMBER[5]</property>
<item id="6">
<property name="id">$NUMBER[6]</property>
<property name="mainmenuid">17</property>
<label>$LOCALIZE[133]</label>
<label2>Music</label2>
@ -983,8 +1001,8 @@
<property name="group">musicsubmenu</property>
<property name="isSubmenu">True</property>
</item>
<item id="6">
<property name="id">$NUMBER[6]</property>
<item id="7">
<property name="id">$NUMBER[7]</property>
<property name="mainmenuid">17</property>
<label>$LOCALIZE[133]</label>
<label2>Music</label2>
@ -1001,8 +1019,8 @@
<property name="group">musicsubmenu</property>
<property name="isSubmenu">True</property>
</item>
<item id="7">
<property name="id">$NUMBER[7]</property>
<item id="8">
<property name="id">$NUMBER[8]</property>
<property name="mainmenuid">17</property>
<label>$LOCALIZE[132]</label>
<label2>Music</label2>
@ -1019,8 +1037,8 @@
<property name="group">musicsubmenu</property>
<property name="isSubmenu">True</property>
</item>
<item id="8">
<property name="id">$NUMBER[8]</property>
<item id="9">
<property name="id">$NUMBER[9]</property>
<property name="mainmenuid">17</property>
<label>$LOCALIZE[132]</label>
<label2>Music</label2>
@ -1037,8 +1055,8 @@
<property name="group">musicsubmenu</property>
<property name="isSubmenu">True</property>
</item>
<item id="9">
<property name="id">$NUMBER[9]</property>
<item id="10">
<property name="id">$NUMBER[10]</property>
<property name="mainmenuid">17</property>
<label>$LOCALIZE[135]</label>
<label2>Music</label2>
@ -1055,8 +1073,8 @@
<property name="group">musicsubmenu</property>
<property name="isSubmenu">True</property>
</item>
<item id="10">
<property name="id">$NUMBER[10]</property>
<item id="11">
<property name="id">$NUMBER[11]</property>
<property name="mainmenuid">17</property>
<label>$LOCALIZE[135]</label>
<label2>Music</label2>
@ -1073,8 +1091,8 @@
<property name="group">musicsubmenu</property>
<property name="isSubmenu">True</property>
</item>
<item id="11">
<property name="id">$NUMBER[11]</property>
<item id="12">
<property name="id">$NUMBER[12]</property>
<property name="mainmenuid">17</property>
<label>$LOCALIZE[136]</label>
<label2>Music</label2>
@ -1090,8 +1108,8 @@
<property name="group">musicsubmenu</property>
<property name="isSubmenu">True</property>
</item>
<item id="12">
<property name="id">$NUMBER[12]</property>
<item id="13">
<property name="id">$NUMBER[13]</property>
<property name="mainmenuid">17</property>
<label>$LOCALIZE[31090]</label>
<label2>Music</label2>
@ -1107,8 +1125,8 @@
<property name="group">musicsubmenu</property>
<property name="isSubmenu">True</property>
</item>
<item id="13">
<property name="id">$NUMBER[13]</property>
<item id="14">
<property name="id">$NUMBER[14]</property>
<property name="mainmenuid">17</property>
<label>$LOCALIZE[744]</label>
<label2>Music</label2>
@ -3504,6 +3522,24 @@
<item id="3">
<property name="id">$NUMBER[3]</property>
<property name="mainmenuid">17</property>
<label>Music videos</label>
<label2>Custom item</label2>
<icon>DefaultShortcut.png</icon>
<thumb />
<property name="labelID">musicvideos</property>
<property name="defaultID" />
<visible>Library.HasContent(MusicVideos)</visible>
<onclick condition="true">control.setfocus(9999)</onclick>
<onclick>ActivateWindow(Videos,videodb://musicvideos/titles/,return)</onclick>
<property name="path">ActivateWindow(Videos,videodb://musicvideos/titles/,return)</property>
<property name="list">videodb://musicvideos/titles/</property>
<visible>StringCompare(System.ProfileName,Master user)</visible>
<property name="group">musicsubmenu</property>
<property name="isSubmenu">True</property>
</item>
<item id="4">
<property name="id">$NUMBER[4]</property>
<property name="mainmenuid">17</property>
<label>Party mode</label>
<label2>Music</label2>
<icon>DefaultAddon.png</icon>
@ -3518,8 +3554,8 @@
<property name="group">musicsubmenu</property>
<property name="isSubmenu">True</property>
</item>
<item id="4">
<property name="id">$NUMBER[4]</property>
<item id="5">
<property name="id">$NUMBER[5]</property>
<property name="mainmenuid">17</property>
<label>$LOCALIZE[31059]</label>
<label2>Music</label2>
@ -3536,8 +3572,8 @@
<property name="group">musicsubmenu</property>
<property name="isSubmenu">True</property>
</item>
<item id="5">
<property name="id">$NUMBER[5]</property>
<item id="6">
<property name="id">$NUMBER[6]</property>
<property name="mainmenuid">17</property>
<label>$LOCALIZE[133]</label>
<label2>Music</label2>
@ -3554,8 +3590,8 @@
<property name="group">musicsubmenu</property>
<property name="isSubmenu">True</property>
</item>
<item id="6">
<property name="id">$NUMBER[6]</property>
<item id="7">
<property name="id">$NUMBER[7]</property>
<property name="mainmenuid">17</property>
<label>$LOCALIZE[133]</label>
<label2>Music</label2>
@ -3572,8 +3608,8 @@
<property name="group">musicsubmenu</property>
<property name="isSubmenu">True</property>
</item>
<item id="7">
<property name="id">$NUMBER[7]</property>
<item id="8">
<property name="id">$NUMBER[8]</property>
<property name="mainmenuid">17</property>
<label>$LOCALIZE[132]</label>
<label2>Music</label2>
@ -3590,8 +3626,8 @@
<property name="group">musicsubmenu</property>
<property name="isSubmenu">True</property>
</item>
<item id="8">
<property name="id">$NUMBER[8]</property>
<item id="9">
<property name="id">$NUMBER[9]</property>
<property name="mainmenuid">17</property>
<label>$LOCALIZE[132]</label>
<label2>Music</label2>
@ -3608,8 +3644,8 @@
<property name="group">musicsubmenu</property>
<property name="isSubmenu">True</property>
</item>
<item id="9">
<property name="id">$NUMBER[9]</property>
<item id="10">
<property name="id">$NUMBER[10]</property>
<property name="mainmenuid">17</property>
<label>$LOCALIZE[135]</label>
<label2>Music</label2>
@ -3626,8 +3662,8 @@
<property name="group">musicsubmenu</property>
<property name="isSubmenu">True</property>
</item>
<item id="10">
<property name="id">$NUMBER[10]</property>
<item id="11">
<property name="id">$NUMBER[11]</property>
<property name="mainmenuid">17</property>
<label>$LOCALIZE[135]</label>
<label2>Music</label2>
@ -3644,8 +3680,8 @@
<property name="group">musicsubmenu</property>
<property name="isSubmenu">True</property>
</item>
<item id="11">
<property name="id">$NUMBER[11]</property>
<item id="12">
<property name="id">$NUMBER[12]</property>
<property name="mainmenuid">17</property>
<label>$LOCALIZE[136]</label>
<label2>Music</label2>
@ -3661,8 +3697,8 @@
<property name="group">musicsubmenu</property>
<property name="isSubmenu">True</property>
</item>
<item id="12">
<property name="id">$NUMBER[12]</property>
<item id="13">
<property name="id">$NUMBER[13]</property>
<property name="mainmenuid">17</property>
<label>$LOCALIZE[31090]</label>
<label2>Music</label2>
@ -3678,8 +3714,8 @@
<property name="group">musicsubmenu</property>
<property name="isSubmenu">True</property>
</item>
<item id="13">
<property name="id">$NUMBER[13]</property>
<item id="14">
<property name="id">$NUMBER[14]</property>
<property name="mainmenuid">17</property>
<label>$LOCALIZE[744]</label>
<label2>Music</label2>
@ -3965,6 +4001,24 @@
<item id="3">
<property name="id">$NUMBER[3]</property>
<property name="mainmenuid">17</property>
<label>Music videos</label>
<label2>Custom item</label2>
<icon>DefaultShortcut.png</icon>
<thumb />
<property name="labelID">musicvideos</property>
<property name="defaultID" />
<visible>[Library.HasContent(MusicVideos)] + StringCompare(Window(10000).Property(submenuVisibility),musicsubmenu)</visible>
<onclick condition="true">control.setfocus(9999)</onclick>
<onclick>ActivateWindow(Videos,videodb://musicvideos/titles/,return)</onclick>
<property name="path">ActivateWindow(Videos,videodb://musicvideos/titles/,return)</property>
<property name="list">videodb://musicvideos/titles/</property>
<visible>StringCompare(System.ProfileName,Master user)</visible>
<property name="group">musicsubmenu</property>
<property name="isSubmenu">True</property>
</item>
<item id="4">
<property name="id">$NUMBER[4]</property>
<property name="mainmenuid">17</property>
<label>Party mode</label>
<label2>Music</label2>
<icon>DefaultAddon.png</icon>
@ -3979,8 +4033,8 @@
<property name="group">musicsubmenu</property>
<property name="isSubmenu">True</property>
</item>
<item id="4">
<property name="id">$NUMBER[4]</property>
<item id="5">
<property name="id">$NUMBER[5]</property>
<property name="mainmenuid">17</property>
<label>$LOCALIZE[31059]</label>
<label2>Music</label2>
@ -3997,8 +4051,8 @@
<property name="group">musicsubmenu</property>
<property name="isSubmenu">True</property>
</item>
<item id="5">
<property name="id">$NUMBER[5]</property>
<item id="6">
<property name="id">$NUMBER[6]</property>
<property name="mainmenuid">17</property>
<label>$LOCALIZE[133]</label>
<label2>Music</label2>
@ -4015,8 +4069,8 @@
<property name="group">musicsubmenu</property>
<property name="isSubmenu">True</property>
</item>
<item id="6">
<property name="id">$NUMBER[6]</property>
<item id="7">
<property name="id">$NUMBER[7]</property>
<property name="mainmenuid">17</property>
<label>$LOCALIZE[133]</label>
<label2>Music</label2>
@ -4033,8 +4087,8 @@
<property name="group">musicsubmenu</property>
<property name="isSubmenu">True</property>
</item>
<item id="7">
<property name="id">$NUMBER[7]</property>
<item id="8">
<property name="id">$NUMBER[8]</property>
<property name="mainmenuid">17</property>
<label>$LOCALIZE[132]</label>
<label2>Music</label2>
@ -4051,8 +4105,8 @@
<property name="group">musicsubmenu</property>
<property name="isSubmenu">True</property>
</item>
<item id="8">
<property name="id">$NUMBER[8]</property>
<item id="9">
<property name="id">$NUMBER[9]</property>
<property name="mainmenuid">17</property>
<label>$LOCALIZE[132]</label>
<label2>Music</label2>
@ -4069,8 +4123,8 @@
<property name="group">musicsubmenu</property>
<property name="isSubmenu">True</property>
</item>
<item id="9">
<property name="id">$NUMBER[9]</property>
<item id="10">
<property name="id">$NUMBER[10]</property>
<property name="mainmenuid">17</property>
<label>$LOCALIZE[135]</label>
<label2>Music</label2>
@ -4087,8 +4141,8 @@
<property name="group">musicsubmenu</property>
<property name="isSubmenu">True</property>
</item>
<item id="10">
<property name="id">$NUMBER[10]</property>
<item id="11">
<property name="id">$NUMBER[11]</property>
<property name="mainmenuid">17</property>
<label>$LOCALIZE[135]</label>
<label2>Music</label2>
@ -4105,8 +4159,8 @@
<property name="group">musicsubmenu</property>
<property name="isSubmenu">True</property>
</item>
<item id="11">
<property name="id">$NUMBER[11]</property>
<item id="12">
<property name="id">$NUMBER[12]</property>
<property name="mainmenuid">17</property>
<label>$LOCALIZE[136]</label>
<label2>Music</label2>
@ -4122,8 +4176,8 @@
<property name="group">musicsubmenu</property>
<property name="isSubmenu">True</property>
</item>
<item id="12">
<property name="id">$NUMBER[12]</property>
<item id="13">
<property name="id">$NUMBER[13]</property>
<property name="mainmenuid">17</property>
<label>$LOCALIZE[31090]</label>
<label2>Music</label2>
@ -4139,8 +4193,8 @@
<property name="group">musicsubmenu</property>
<property name="isSubmenu">True</property>
</item>
<item id="13">
<property name="id">$NUMBER[13]</property>
<item id="14">
<property name="id">$NUMBER[14]</property>
<property name="mainmenuid">17</property>
<label>$LOCALIZE[744]</label>
<label2>Music</label2>

View File

@ -6,13 +6,19 @@
- [NEW] Polish translation (thanks Etharr)
- [FIXED] Context menu onback handling in addons (thanks Solbero)
- [FIXED] onback from music visualisation screen
- [NEW] Video Playlists now display in correct content view with title
- [NEW] Artwork downloader support
- Various minor tweaks
[SKINNERS NOTES]
- CANT BE FIXED?? Check content is present before assigning view (DoggZipp bug)
- allow poster view for plugin / plex sourced movies
- expand image handling where possible
- add filters to context menu
- music video handling
- Add music videos as a default menu item
DONE--Folder title
DONE--Info view
[V1.1.0]
- Various tweaks and GUI updates.

View File

@ -900,3 +900,8 @@ msgstr ""
msgctxt "#31218"
msgid "Enable this addon"
msgstr ""
msgctxt "#31219"
msgid "Download art"
msgstr ""