Estuary (Default Skin) Music Improvements?
#16
MusicVisualisation.xml
xml:

<?xml version="1.0" encoding="utf-8"?>
<window>
    <defaultcontrol></defaultcontrol>
    <backgroundcolor>background</backgroundcolor>
    <onload condition="System.AddonIsEnabled(script.artistslideshow) + !Skin.HasSetting(hide_background_fanart)">RunScript(script.artistslideshow)</onload>
    <controls>
        <control type="visualisation" id="2">
            <include>FullScreenDimensions</include>
            <visible>Player.HasAudio</visible>
        </control>
        <control type="group">
            <depth>DepthBackground</depth>
            <include>FullScreenDimensions</include>
            <visible>!Skin.HasSetting(hide_background_fanart)</visible>
            <animation effect="zoom" start="105" end="130" center="auto" time="10000" tween="sine" easing="inout" pulse="true" condition="Skin.HasSetting(animate_background_fanart)">Conditional</animation>
            <animation effect="slide" start="-30,-30" end="30,30" time="6000" tween="sine" easing="inout" pulse="true" condition="Skin.HasSetting(animate_background_fanart)">Conditional</animation>
            <control type="image">
                <aspectratio>scale</aspectratio>
                <fadetime>400</fadetime>
                <animation effect="fade" start="0" end="100" time="400">WindowOpen</animation>
                <animation effect="fade" start="100" end="0" time="300">WindowClose</animation>
                <animation effect="fade" start="100" end="50" time="0" condition="Visualisation.Enabled">Conditional</animation>
                <texture background="true">$INFO[Player.Art(fanart)]</texture>
                <visible>String.IsEmpty(Window(Visualisation).Property(ArtistSlideshow.Image))</visible>
            </control>
            <control type="image">
                <aspectratio>scale</aspectratio>
                <fadetime>400</fadetime>
                <animation effect="fade" start="0" end="100" time="400">WindowOpen</animation>
                <animation effect="fade" start="100" end="0" time="300">WindowClose</animation>
                <animation effect="fade" start="100" end="50" time="0" condition="Visualisation.Enabled">Conditional</animation>
                <texture background="true">$INFO[Window(Visualisation).Property(ArtistSlideshow.Image)]</texture>
            </control>
        </control>
        <control type="group">
            <control type="label">
                    <top>25</top>
                    <left>800</left>
                    <!-- <width>1920</width> -->
                    <height>40</height>
                    <aligny>center</aligny>
                    <label>$INFO[MusicPlayer.Album]$VAR[MultiDiscVar]</label>
                    <font>font60</font>
                    <shadowcolor>black</shadowcolor>
                    <scroll>true</scroll>
                </control>
            <control type="label">
                    <top>150</top>
                    <width>1450</width>
                    <height>40</height>
                    <aligny>center</aligny>
                    <font>font45_title</font>
                        <label>[COLOR white]$INFO[MusicPlayer.Offset(-1).TrackNumber,,. ]$INFO[MusicPlayer.Offset(-1).Title]$INFO[MusicPlayer.Offset(-1).Artist, - ,][/COLOR]</label>
                    <shadowcolor>black</shadowcolor>
                    <scroll>true</scroll>
                    <visible>Integer.IsGreater(Playlist.Length(music),-1)</visible>
                </control>
            <control type="label">
                    <top>190</top>
                    <width>1450</width>
                    <height>50</height>
                    <aligny>center</aligny>
                    <label>[COLOR pink]$INFO[MusicPlayer.TrackNumber,,.  ]$INFO[Player.Title] - $INFO[MusicPlayer.Artist][/COLOR]</label>
                    <font>font52_title</font>
                    <shadowcolor>black</shadowcolor>
                    <scroll>true</scroll>
                </control>
                
                    <control type="label">
                    <top>240</top>
                    <width>1450</width>
                    <height>40</height>
                    <aligny>center</aligny>
                    <font>font45_title</font>
                        <label>[COLOR white]$INFO[MusicPlayer.Offset(1).TrackNumber,,. ]$INFO[MusicPlayer.Offset(1).Title]$INFO[MusicPlayer.Offset(1).Artist, - ,][/COLOR]</label>
                    <shadowcolor>black</shadowcolor>
                    <scroll>true</scroll>
                    <visible>Integer.IsGreater(Playlist.Length(music),1)</visible>
                </control>
                <control type="label">
                    <top>280</top>
                    <width>1450</width>
                    <height>40</height>
                    <aligny>center</aligny>
                    <font>font36_title</font>
                        <label>[COLOR white]$INFO[MusicPlayer.Offset(2).TrackNumber,,. ]$INFO[MusicPlayer.Offset(2).Title]$INFO[MusicPlayer.Offset(2).Artist, - ,][/COLOR]</label>
                    <shadowcolor>black</shadowcolor>
                    <scroll>true</scroll>
                    <visible>Integer.IsGreater(Playlist.Length(music),2)</visible>
                </control>
                <control type="label">
                    <top>310</top>
                    <width>1450</width>
                    <height>40</height>
                    <aligny>center</aligny>
                    <font>font32_title</font>
                        <label>[COLOR white]$INFO[MusicPlayer.Offset(3).TrackNumber,,. ]$INFO[MusicPlayer.Offset(3).Title]$INFO[MusicPlayer.Offset(3).Artist, - ,][/COLOR]</label>
                    <shadowcolor>black</shadowcolor>
                    <scroll>true</scroll>
                    <visible>Integer.IsGreater(Playlist.Length(music),3)</visible>
                </control>
                    <control type="label">
                    <top>340</top>
                    <width>1450</width>
                    <height>40</height>
                    <aligny>center</aligny>
                    <font>font30_title</font>
                        <label>[COLOR white]$INFO[MusicPlayer.Offset(4).TrackNumber,,. ]$INFO[MusicPlayer.Offset(4).Title]$INFO[MusicPlayer.Offset(4).Artist, - ,][/COLOR]</label>
                    <shadowcolor>black</shadowcolor>
                    <scroll>true</scroll>
                    <visible>Integer.IsGreater(Playlist.Length(music),4)</visible>
                </control>
                <control type="grouplist">
        <left>1200</left>
                    <top>350</top>
                    <width>1450</width>
                    <height>40</height>
                    <align>left</align>
                    <orientation>horizontal</orientation>
                    <itemgap>20</itemgap>
                    <control type="label">
                        <width>100</width>
                        <height>40</height>
                        <label>$INFO[MusicPlayer.Year]</label>
                        <font>font37</font>
                        <shadowcolor>black</shadowcolor>
                        <aligny>center</aligny>
                        <align>left</align>
                        <visible>!String.IsEmpty(MusicPlayer.Year)</visible>
                    </control>
                    <control type="label">
                        <width min="0" max="1130">auto</width>
                        <height>40</height>
                        <label>$INFO[MusicPlayer.Genre]</label>
                        <font>font37</font>
                        <shadowcolor>black</shadowcolor>
                        <aligny>center</aligny>
                        <align>left</align>
                        <scroll>true</scroll>
                        <visible>!String.IsEmpty(MusicPlayer.Genre)</visible>
                    </control>
                    <control type="image">
                        <width>190</width>
                        <height>40</height>
                        <texture fallback="flags/starrating/0.png">$INFO[MusicPlayer.UserRating,flags/starrating/,.png]</texture>
                        <aspectratio>keep</aspectratio>
                        <aligny>center</aligny>
                        <align>left</align>
                    </control>
                </control>
        </control>
        <control type="group">
            <visible>!Visualisation.Enabled + [[String.IsEmpty(Player.Art(fanart)) + String.IsEmpty(Window(Visualisation).Property(ArtistSlideshow.Image))] | Skin.HasSetting(hide_background_fanart)]</visible>
            <include>ColoredBackgroundImages</include>
            
        </control>
        <control type="group">
            <control type="image">
                <left>100</left>
                <top>390</top>
                <width>400</width>
                <height>400</height>
                <fadetime>400</fadetime>
                    <animation effect="rotate" end="-360" center="auto" time="4800" loop="true" reversible="false" condition="!Player.Paused">Conditional</animation>
                            <texture background="true" border="2" >$INFO[Player.Art(album.discart)]</texture>
                <!-- <bordertexture colordiffuse="border_alpha">colors/black.png</bordertexture> -->
                <bordersize>4</bordersize>
            </control>
                <control type="image">
                <left>100</left>
                <top>540</top>
                <width>400</width>
                <height>400</height>
                <fadetime>400</fadetime>
                <!-- <aspectratio aligny="bottom">keep</aspectratio> -->
                            <texture background="true" border="2" >$INFO[Player.Art(album.back)]</texture>
                <bordertexture colordiffuse="border_alpha">colors/black.png</bordertexture>
                <bordersize>4</bordersize>
            </control>
                <control type="image">
                <left>500</left>
                <top>540</top>
                <width>40</width>
                <height>400</height>
                <fadetime>400</fadetime>
                <!-- <aspectratio aligny="bottom">keep</aspectratio> -->
                            <texture background="true" border="2" >$INFO[Player.Art(album.spine)]</texture>
                <bordertexture colordiffuse="border_alpha">colors/black.png</bordertexture>
                <bordersize>4</bordersize>
            </control>
                <control type="image">
                <left>540</left>
                <top>540</top>
                <width>400</width>
                <height>400</height>
                <fadetime>400</fadetime>
                <!-- <aspectratio aligny="bottom">keep</aspectratio> -->
                    <texture background="true" border="2" fallback="DefaultAudio.png">$INFO[MusicPlayer.Cover]</texture>
                <bordertexture colordiffuse="border_alpha">colors/black.png</bordertexture>
                <bordersize>4</bordersize>
            </control>
            
            <control type="image">
                        <bottom>294</bottom>
                        <right>10</right>
                        <width>640</width>
                        <height>151</height>
                        <aspectratio align="right" aligny="center">keep</aspectratio>
                        <texture background="true">$INFO[Player.Art(banner)]</texture>
                        <bordertexture border="21">overlays/shadow.png</bordertexture>
                        <bordersize>20</bordersize>
                        </control>
        
                </control>
        
    
    </controls>
</window>

Image
Reply
#17
Oh really nice!
Reply
#18
(2022-04-26, 12:52)jjd-uk Wrote: Would probably need a skin setting to show ratings in list to turn this on/off, as above code simply narrows the space for label1 so it doesn't overflow, however this would narrow spacve for label1 even if no ratings.
Yeah, I've been mulling over the song list layout for a while where you didn't need a scroll (or very rarely). I tried putting the star ratings on the very far right hand side, with the duration above them and then lowering the main list labels to the same level as the ratings, but it didn't really look that great. Then I tried the same, but bracketing the duration at the end of the list labels, which did look better, but still space was a problem. Maybe removing either the artist or album from the list labels would create enough extra room, as I've always thought that since both of these already appear on the left side panel it seems like un-necessary duplication showing them again in the main list again....
Reply
#19
(2022-04-27, 15:47)Dumyat Wrote:
(2022-04-26, 12:52)jjd-uk Wrote: Would probably need a skin setting to show ratings in list to turn this on/off, as above code simply narrows the space for label1 so it doesn't overflow, however this would narrow spacve for label1 even if no ratings.
Yeah, I've been mulling over the song list layout for a while where you didn't need a scroll (or very rarely). I tried putting the star ratings on the very far right hand side, with the duration above them and then lowering the main list labels to the same level as the ratings, but it didn't really look that great. Then I tried the same, but bracketing the duration at the end of the list labels, which did look better, but still space was a problem. Maybe removing either the artist or album from the list labels would create enough extra room, as I've always thought that since both of these already appear on the left side panel it seems like un-necessary duplication showing them again in the main list again....
Nice idea but they artist is needed on VA albums in most cases.
Reply
#20
Ah right, gotcha.
So I'm guessing something like 'Various Artists' appears on the left side panel and the actual artist appears on the list item?
I've not put any VA albums into my Kodi library for a good few years now, so completely forgot about that.
Probably, you still get away with removing album name from the list item though, particularly as some can be very long in length.
Will have play around myself later in the week and see where it takes me.... Smile
Reply
#21
A departure from the current single line lists to a double line is an alternative

Image

Image
Reply
#22
(2022-04-10, 09:11)Sylfest Wrote: Sounds great, I would like to see albumfanart instead of artistfanart where it is available, and if not available, show artists fanart.
Thanks

Something like this

Image

Image
Reply
#23
(2022-04-27, 18:44)jjd-uk Wrote: Something like this
Yes, that looks great Smile
Reply

Logout Mark Read Team Forum Stats Members Help
Estuary (Default Skin) Music Improvements?0