better support for spotify

This commit is contained in:
theDeadMan 2018-09-14 18:18:57 +01:00
parent 5050a921fc
commit 48aee35cc3
11 changed files with 265 additions and 14 deletions

View File

@ -23,6 +23,8 @@
<include file="View_ArtistAlbums.xml"/>
<include file="View_MusicVideos.xml"/>
<include file="View_Games.xml"/>
<include file="View_SpotifyAlbums.xml"/>
<include file="View_SpotifyArtists.xml"/>
<include file="script-skinshortcuts-includes.xml"/>
<include file="Includes_mediaShowcase.xml"/>
@ -36,13 +38,26 @@
<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="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>
-->
<expression name="isMusicSpotifyArtist">container.content(artists) + String.Contains(container.folderpath,spotify)</expression>
<expression name="isMusicSpotifyAlbum">container.content(albums) + String.Contains(container.folderpath,spotify)</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://) | String.Contains(Container.folderpath,spotify)]</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>

View File

@ -28,10 +28,10 @@
<effect type="slide" start="0" end="-384" tween="sine" time="400"/>
</animation>
<control type="image">
<posx>0</posx>
<posy>0</posy>
<width>col-5-begin</width>
<height>fullscreenHeight</height>
<posx>-200</posx>
<posy>-200</posy>
<width>584</width>
<height>1500</height>
<texture>colors/white.png</texture>
<colordiffuse>highlight</colordiffuse>
<aspectratio>stretch</aspectratio>

View File

@ -13,7 +13,8 @@
<value condition="Window.isactive(Videos) + String.IsEmpty(container.foldername)">$LOCALIZE[31012]</value>
<value condition="Window.isactive(Music) + String.Contains(Container.folderpath,special://profile/playlists)">[CAPITALIZE]$INFO[container.foldername][/CAPITALIZE]</value>
<value condition="Window.isactive(Music) + Container.Content(albums) + String.Contains(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) + String.Contains(container.folderpath,addons://)">$LOCALIZE[31058]</value>
<value condition="Window.isactive(Music) + String.contains(container.folderpath,spotify)">$INFO[container.foldername] [CAPITALIZE][COLOR highlight]$INFO[container.content][/COLOR][/CAPITALIZE]</value>
<value condition="Window.isactive(Music) + String.Contains(container.folderpath,addons://)">$LOCALIZE[31058]</value>
<value condition="Window.isactive(Music) + String.Contains(container.folderpath,plugin://)">$INFO[container.foldername]</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>

View File

@ -3,7 +3,7 @@
<defaultcontrol always="true">9999</defaultcontrol>
<include>fadeInOut</include>
<onload>Skin.SetString(recentitems,music)</onload>
<views>50,51,52,53,54,55</views>
<views>50,51,52,53,54,55,56,57</views>
<controls>
<include>globalBackground</include>
<control type="group">
@ -34,7 +34,9 @@
<include>musicgenre</include>
<include>musicartistcatalogue</include>
<include>musicartist</include>
<include>musicspotifyartist</include>
<include>musicalbum</include>
<include>musicspotifyalbum</include>
<include>musicsongs</include>
<include>musicPlayList</include>
</control>

View File

@ -42,7 +42,7 @@
<width>6-col-gutter</width>
<height>4-col-gutter</height>
<aspectratio align="center" aligny="top">scale</aspectratio>
<texture>$INFO[Listitem.thumb]</texture>
<texture>$INFO[Listitem.art(thumb)]</texture>
<bordersize>6</bordersize>
<colordiffuse>BBffffff</colordiffuse>
</control>
@ -79,7 +79,7 @@
<width>6-col-gutter</width>
<height>4-col-gutter</height>
<aspectratio align="center" aligny="top">scale</aspectratio>
<texture>$INFO[Listitem.thumb]</texture>
<texture>$INFO[Listitem.art(thumb)]</texture>
<bordersize>6</bordersize>
</control>
<control type="textbox">

View File

@ -6,7 +6,7 @@
<posx>col-1-begin</posx>
<posy>row-5-begin</posy>
<control type="panel" id="50">
<visible>!$EXP[isMusicPlaylist] + $EXP[isMusicList]</visible>
<visible>!$EXP[isMusicPlaylist] + !$EXP[isMusicSong] + !$EXP[isMusicSpotifyAlbum] + !$EXP[isMusicSpotifyArtist] + !$EXP[isMusicAlbum] + $EXP[isMusicList]</visible>
<posx>0</posx>
<posy>0</posy>
<width>24-col</width>

View File

@ -0,0 +1,116 @@
<?xml version="1.0" encoding="UTF-8"?>
<includes>
<!--Album browser-->
<include name="musicspotifyalbum">
<!--all albums-->
<control type="group">
<control type="panel" id="57">
<visible>$EXP[isMusicSpotifyAlbum]</visible>
<posx>col-1-begin</posx>
<posy>row-5-begin</posy>
<width>1800</width>
<height>24-row</height>
<onleft>9000</onleft>
<onright>60</onright>
<ondown>50</ondown>
<onup>9998</onup>
<pagecontrol>60</pagecontrol>
<scrolltime tween="cubic" easing="out">600</scrolltime>
<itemlayout width="293" height="348">
<control type="image">
<posx>0</posx>
<posy>0</posy>
<width>4-col-gutter</width>
<height>4-col-gutter</height>
<aspectratio>stretch</aspectratio>
<texture>colors/black.png</texture>
<bordertexture colordiffuse="overlay">colors/black.png</bordertexture>
<bordersize>6</bordersize>
<colordiffuse>overlay</colordiffuse>
</control>
<control type="image">
<visible>!ListItem.IsParentFolder</visible>
<posx>0</posx>
<posy>0</posy>
<width>4-col-gutter</width>
<height>4-col-gutter</height>
<aspectratio>stretch</aspectratio>
<texture fallback="noAlbumCover.jpg">$INFO[ListItem.Art(thumb)]</texture>
<bordersize>6</bordersize>
<colordiffuse>BBffffff</colordiffuse>
</control>
<control type="textbox">
<visible>String.IsEmpty(listitem.title)</visible>
<posx>24</posx>
<posy>3-row</posy>
<width>228</width>
<height>6-row</height>
<font>largeTitle</font>
<wrapmultiline>true</wrapmultiline>
<textcolor>textActive</textcolor>
<label>$INFO[ListItem.label]</label>
</control>
<control type="label">
<visible>!controlgroup(9000).hasfocus</visible>
<posx>12</posx>
<posy>258</posy>
<width>226</width>
<height>2-row</height>
<aligny>center</aligny>
<font>thumbTitle</font>
<textcolor>textActive</textcolor>
<label>[B]$INFO[ListItem.Title][/B][CR][COLOR textDisabled]$INFO[ListItem.artist][/COLOR] $INFO[listitem.year]</label>
</control>
</itemlayout>
<focusedlayout width="4-col" height="348">
<control type="group">
<include>focusThumb</include>
<control type="image">
<posx>0</posx>
<posy>0</posy>
<width>4-col-gutter</width>
<height>4-col-gutter</height>
<aspectratio>stretch</aspectratio>
<texture>colors/black.png</texture>
<bordertexture colordiffuse="FFFFFFFF">colors/white.png</bordertexture>
<bordersize>6</bordersize>
<colordiffuse>FF000000</colordiffuse>
</control>
<control type="image">
<visible>!ListItem.IsParentFolder</visible>
<posx>0</posx>
<posy>0</posy>
<width>4-col-gutter</width>
<height>4-col-gutter</height>
<aspectratio>stretch</aspectratio>
<texture fallback="noAlbumCover.jpg">$INFO[ListItem.Art(thumb)]</texture>
<bordersize>6</bordersize>
</control>
<control type="textbox">
<visible>String.IsEmpty(listitem.title)</visible>
<posx>24</posx>
<posy>3-row</posy>
<width>228</width>
<height>6-row</height>
<font>largeTitle</font>
<wrapmultiline>true</wrapmultiline>
<textcolor>textActive</textcolor>
<label>$INFO[ListItem.label]</label>
</control>
<control type="label">
<visible>!controlgroup(9000).hasfocus</visible>
<posx>12</posx>
<posy>258</posy>
<width>226</width>
<height>2-row</height>
<aligny>center</aligny>
<font>thumbTitle</font>
<textcolor>textActive</textcolor>
<label>[B]$INFO[ListItem.Title][/B][CR][COLOR textDisabled]$INFO[ListItem.artist][/COLOR] $INFO[listitem.year]</label>
</control>
</control>
</focusedlayout>
</control>
</control>
</include>
</includes>

View File

@ -0,0 +1,102 @@
<?xml version="1.0" encoding="UTF-8"?>
<includes>
<!--Spotify Artist browser-->
<include name="musicspotifyartist">
<control type="group">
<visible>$EXP[isMusicSpotifyArtist]</visible>
<control type="image">
<include>dimensionsFullscreen</include>
<texture fallback="colors/black.png">$INFO[container(56).listitem.art(thumb)]</texture>
<colordiffuse>FF555555</colordiffuse>
<aspectratio>scale</aspectratio>
<fadetime>250</fadetime>
</control>
<!--content-->
<control type="panel" id="56">
<visible>$EXP[isMusicSpotifyArtist]</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>
<scrolltime tween="cubic" easing="out">600</scrolltime>
<pagecontrol>60</pagecontrol>
<itemlayout width="444" height="288">
<control type="image">
<posx>0</posx>
<posy>0</posy>
<width>6-col-gutter</width>
<height>4-col-gutter</height>
<aspectratio>scale</aspectratio>
<texture>colors/black.png</texture>
<bordertexture colordiffuse="overlay">colors/black.png</bordertexture>
<bordersize>6</bordersize>
<colordiffuse>overlay</colordiffuse>
</control>
<control type="image">
<posx>0</posx>
<posy>0</posy>
<width>6-col-gutter</width>
<height>4-col-gutter</height>
<aspectratio align="center" aligny="top">scale</aspectratio>
<texture>$INFO[Listitem.art(thumb)]</texture>
<bordersize>6</bordersize>
<colordiffuse>BBffffff</colordiffuse>
</control>
<control type="textbox">
<posx>24</posx>
<posy>80</posy>
<width>372</width>
<height>3-row</height>
<align>center</align>
<aligny>center</aligny>
<font>menuTitle</font>
<textcolor>textActive</textcolor>
<label>$INFO[ListItem.label]</label>
<shadowcolor>99000000</shadowcolor>
</control>
</itemlayout>
<focusedlayout width="444" height="264">
<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 border="6">colors/black.png</texture>
<bordertexture border="6" colordiffuse="ffFFFFFF">colors/white.png</bordertexture>
<bordersize>6</bordersize>
<colordiffuse>FF000000</colordiffuse>
</control>
<control type="image">
<posx>0</posx>
<posy>0</posy>
<width>6-col-gutter</width>
<height>4-col-gutter</height>
<aspectratio align="center" aligny="top">scale</aspectratio>
<texture>$INFO[Listitem.art(thumb)]</texture>
<bordersize>6</bordersize>
</control>
<control type="textbox">
<posx>24</posx>
<posy>80</posy>
<width>372</width>
<height>3-row</height>
<align>center</align>
<aligny>center</aligny>
<font>menuTitle</font>
<textcolor>textActive</textcolor>
<label>$INFO[ListItem.label]</label>
<shadowcolor>99000000</shadowcolor>
</control>
</control>
</focusedlayout>
</control>
</control>
</include>
</includes>

View File

@ -26,6 +26,18 @@
<texture fallback="colors/offblack.png" border="0">$INFO[player.art(fanart)]</texture>
<fadetime>500</fadetime>
<colordiffuse>77ffffff</colordiffuse>
</control>
<control type="image">
<visible>!Visualisation.Enabled + string.isempty(player.art(fanart))</visible>
<posx>col-10-begin</posx>
<posy>row-8-begin</posy>
<width>6-col</width>
<height>6-col</height>
<aspectratio scalediffuse="false">stretch</aspectratio>
<texture fallback="noAlbumCover.jpg">$INFO[ListItem.Art(thumb)]</texture>
<bordertexture colordiffuse="overlay">colors/black.png</bordertexture>
<bordersize>6</bordersize>
<colordiffuse>BBffffff</colordiffuse>
</control>
<!--visualisation-->
<control type="visualisation" id="2">

View File

@ -3,11 +3,14 @@ Pellucid
Pellucid is a skin for Kodi Media Centre.
Built for the living room, Pellucid is a clean and simple Kodi experience designed for maximum usability and minimum fuss.
Built for the living room, Pellucid is a clean and carefully designed Kodi experience designed for maximum usability and minimum fuss.
Skin Shortcuts addon support is available from the Krypton release onwards.
####Additional features
- Skin Shortcuts addon support is available from the Krypton release onwards.
- Full PVR / Live TV support
Discussion thread: http://forum.kodi.tv/forumdisplay.php?fid=267
Created by theDeadMan with love from Bristol, U.K.
Created by theDeadMan with, love from Bristol, U.K.

View File

@ -37,7 +37,7 @@
- check controls for new window: MyGames.xml
- Screenshots etc need updating
- SPOTIFY SUPPORT
- SPOTIFY SUPPORT: Titles update and fanart if possible. Artists not working on libreelec
[V1.3.3]
- [FIXED] Weather label showing on homescreen even if no weather plugin enabled.