Pinching a good bit from estuary
#1
Specifically the way sets are shown.
In confluence if you're lucky you see a set overview (which is as often as not fairly meaningless). More usually (in my experience at least) it's 'unavailable' (which is related to genre IIRC) or just nothing at all - a blank box.
In estuary and many of the customizable skins floating about the forum it's possible to see the set contents.
After a lot of reading / faffing / cutting / pasting I have this working in confluence (and xonfluence). I've added an extra view for movies which imo is a nice feature for anyone who uses sets. I think this would be a nice addition to confluence - for myself I'll be using it anyway in confluence / xonfluence.
Pictures >>> words...

Before (best case):
Image

After:
Image

I've done this by editing the following (confluence 3.1.0 for krypton):
1 line added to includes.xml (new line 17)
Code:
<include file="ViewMediaInfoSets.xml" />
1 line (line 101) edited in IncludesBackgroundBuilding.xml
Code:
<visible>Control.IsVisible(504) | Control.IsVisible(550) | Control.IsVisible(512) | Control.IsVisible(525)</visible>   <!-- added 525 -->
1 line edit and 2 lines added to MyVideoNav.xml
line 5 becomes:
Code:
    <views>50,51,500,550,551,560,501,508,504,503,515,505,511,525</views>                <!-- added 525 -->
new lines 38 and 39:
Code:
<!-- view id = 525 -->
<include>MediaInfoSets</include>
1 new file: ViewMediaInfoSets.xml
Code:
<?xml version="1.0" encoding="UTF-8"?>
<includes>
    <include name="InfoList">                <!-- added from estuary -->
<!--    <param name="item_label">$INFO[ListItem.Year,[COLOR button_focus],[/COLOR] ]$INFO[ListItem.Label], $INFO[ListItem.Year]</param>    -->
        <param name="item_label">[COLOR blue]$INFO[ListItem.Year][/COLOR]  -  $INFO[ListItem.Label] </param>
        <param name="path">$INFO[ListItem.FolderPath]</param>
        <param name="item_height">25</param>
        <param name="bottom">100</param>    <!-- no effect on length of list -->
        <param name="width">1152</param>
        <param name="list_id">5000</param>
        <param name="font">font13</param>
        <param name="sortby"></param>
        <param name="sortorder">ascending</param>
        <param name="visible">true</param>
        <definition>
            <control type="panel" id="$PARAM[list_id]">
                <top>0</top>
                <width>$PARAM[width]</width>
                <bottom>$PARAM[bottom]</bottom>
                <orientation>vertical</orientation>
                <visible>$PARAM[visible]</visible>
                <focusedlayout height="$PARAM[item_height]" width="$PARAM[width]">
                    <control type="label">
                        <left>10</left>
                        <height>$PARAM[item_height]</height>
                        <width>$PARAM[width]</width>
                        <aligny>center</aligny>
                        <label>$PARAM[item_label]</label>
                        <shadowcolor>text_shadow</shadowcolor>
                        <font>$PARAM[font]</font>
                    </control>
                </focusedlayout>
                <itemlayout height="$PARAM[item_height]" width="$PARAM[width]">
                    <control type="label">
                        <left>10</left>
                        <height>$PARAM[item_height]</height>
                        <width>$PARAM[width]</width>
                        <aligny>center</aligny>
                        <label>$PARAM[item_label]</label>
                        <shadowcolor>text_shadow</shadowcolor>
                        <font>$PARAM[font]</font>
                    </control>
                </itemlayout>
                <content sortby="$PARAM[sortby]" sortorder="$PARAM[sortorder]">$PARAM[path]</content>
            </control>
        </definition>
    </include>
    <include name="MediaInfoSets">
        <control type="group">
            <visible>Control.IsVisible(525)</visible>
            <include>VisibleFadeEffect</include>
            <control type="list" id="525">
                <left>70</left>
                <top>78</top>
                <width>580</width>
                <height>561</height>
                <onleft>2</onleft>
                <onright>60</onright>
                <onup>525</onup>
                <ondown>525</ondown>
                <viewtype label="MediaInfoSets">list</viewtype>       <!-- changed -->
                <pagecontrol>60</pagecontrol>
                <scrolltime>200</scrolltime>
                <visible>Container.Content(Movies)</visible>
                <itemlayout height="40" width="580">
                    <control type="image">
                        <left>0</left>
                        <top>0</top>
                        <width>580</width>
                        <height>41</height>
                        <texture border="0,2,0,2">MenuItemNF.png</texture>
                    </control>
                    <control type="label">
                        <left>10</left>
                        <top>0</top>
                        <width>520</width>
                        <height>40</height>
                        <font>font13</font>
                        <textcolor>grey2</textcolor>
                        <selectedcolor>selected</selectedcolor>
                        <align>left</align>
                        <aligny>center</aligny>
                        <label>$INFO[ListItem.Label]</label>        <!-- unfocused title -->
                    </control>
                    <control type="label">
                        <left>10</left>
                        <top>0</top>
                        <width>500</width>
                        <height>40</height>
                        <font>font12</font>
                        <textcolor>grey2</textcolor>
                        <selectedcolor>selected</selectedcolor>
                        <align>right</align>
                        <aligny>center</aligny>
                        <label>$INFO[listitem.Year]</label>        <!-- unfocused year -->
                        <visible>!ListItem.IsCollection</visible>        <!-- changed -->
                        <animation effect="slide" start="0,0" end="40,0" delay="0" time="0" condition="!Container.Content(Movies)">conditional</animation>
                    </control>
                    <control type="image">
                        <left>515</left>
                        <top>8</top>
                        <width>40</width>
                        <height>26</height>
                        <texture>$VAR[MediaInfoOverlayVar]</texture>
                        <aspectratio>keep</aspectratio>
                        <visible>Container.Content(Movies) | Container.Content(Sets)</visible>
                    </control>
                    <control type="image">
                        <left>555</left>
                        <top>14</top>
                        <width>16</width>
                        <height>16</height>
                        <texture>OverlayWatching.png</texture>
                        <visible>ListItem.IsResumable</visible>
                    </control>
                    <control type="image">
                        <left>555</left>
                        <top>14</top>
                        <width>16</width>
                        <height>16</height>
                        <texture>$INFO[ListItem.Overlay]</texture>
                        <aspectratio align="left">keep</aspectratio>
                    </control>
                </itemlayout>
                <focusedlayout height="40" width="580">
                    <control type="image">
                        <left>0</left>
                        <top>0</top>
                        <width>580</width>
                        <height>41</height>
                        <texture border="0,2,0,2">MenuItemNF.png</texture>
                        <visible>!Control.HasFocus(525)</visible>
                        <include>VisibleFadeEffect</include>
                    </control>
                    <control type="image">
                        <left>0</left>
                        <top>0</top>
                        <width>580</width>
                        <height>41</height>
                        <texture border="0,2,0,2">MenuItemFO.png</texture>
                        <visible>Control.HasFocus(525)</visible>
                        <include>VisibleFadeEffect</include>
                    </control>
                    <control type="image">
                        <left>380</left>
                        <top>5</top>
                        <width>200</width>
                        <height>31</height>
                        <texture border="0,0,14,0">MediaItemDetailBG.png</texture>
                        <visible>Control.HasFocus(525) + !String.IsEmpty(ListItem.Label2)</visible>
                    </control>
                    <control type="label">
                        <left>10</left>
                        <top>0</top>
                        <width>520</width>
                        <height>40</height>
                        <font>font13</font>
                        <textcolor>white</textcolor>
                        <selectedcolor>selected</selectedcolor>
                        <align>left</align>
                        <aligny>center</aligny>
                        <label>$INFO[ListItem.Label]</label>        <!-- focused title -->
                    </control>
                    <control type="label">
                        <left>10</left>
                        <top>0</top>
                        <width>500</width>
                        <height>40</height>
                        <font>font12</font>
                        <textcolor>grey2</textcolor>
                        <selectedcolor>selected</selectedcolor>
                        <align>right</align>
                        <aligny>center</aligny>
                        <label>$INFO[listitem.Year]</label>        <!-- focused year -->
                        <visible>!ListItem.IsCollection</visible>        <!-- changed -->
                        <animation effect="slide" start="0,0" end="40,0" delay="0" time="0" condition="!Container.Content(Movies)">conditional</animation>
                    </control>
                    <control type="image">
                        <left>515</left>
                        <top>8</top>
                        <width>40</width>
                        <height>26</height>
                        <texture>$VAR[MediaInfoOverlayVar]</texture>
                        <aspectratio>keep</aspectratio>
                        <visible>Container.Content(Movies)</visible>
                    </control>
                    <control type="image">
                        <left>555</left>
                        <top>14</top>
                        <width>16</width>
                        <height>16</height>
                        <texture>OverlayWatching.png</texture>
                        <visible>ListItem.IsResumable</visible>
                    </control>
                    <control type="image">
                        <left>555</left>
                        <top>14</top>
                        <width>16</width>
                        <height>16</height>
                        <texture>$INFO[ListItem.Overlay]</texture>
                        <aspectratio align="left">keep</aspectratio>
                    </control>
                </focusedlayout>
            </control>
            <control type="scrollbar" id="60">
                <left>650</left>
                <top>78</top>
                <width>25</width>
                <height>560</height>
                <texturesliderbackground border="10,14,10,14">ScrollBarV.png</texturesliderbackground>
                <texturesliderbar border="10,14,10,14">ScrollBarV_bar.png</texturesliderbar>
                <texturesliderbarfocus border="10,14,10,14">ScrollBarV_bar_focus.png</texturesliderbarfocus>
                <textureslidernib>ScrollBarNib.png</textureslidernib>
                <textureslidernibfocus>ScrollBarNib.png</textureslidernibfocus>
                <onleft>525</onleft>
                <onright>2</onright>
                <showonepage>false</showonepage>
                <orientation>vertical</orientation>
                <visible>Control.IsVisible(525)</visible>
            </control>
            <control type="group">
                <left>710</left>
                <top>70</top>
                <visible>Control.IsVisible(525) + Container.Content(Movies)</visible>
                <control type="image">
                    <left>0</left>
                    <top>0</top>
                    <width>510</width>
                    <height>286</height>
                    <aspectratio>scale</aspectratio>
                    <fadetime>IconCrossfadeTime</fadetime>
                    <texture background="true" fallback="Fanart_Fallback_Small.jpg">$INFO[ListItem.Art(fanart)]</texture>
                    <visible>Container.Content(Movies)</visible>
                    <bordertexture background="true" border="8">ThumbShadow.png</bordertexture>
                    <bordersize>8</bordersize>
                </control>
                <control type="image">
                    <left>0</left>
                    <top>290</top>
                    <width>510</width>
                    <height>4</height>
                    <texture>separator.png</texture>
                </control>
                <control type="textbox">
                    <description>Description Value for Video</description>
                    <left>10</left>
                    <top>295</top>
                    <width>490</width>
                    <height>275</height>
                    <font>font13</font>
                    <align>justify</align>
                    <textcolor>white</textcolor>
                    <label>$INFO[ListItem.Plot]</label>            <!-- movie plot mediainfo -->
                    <visible>!ListItem.IsCollection</visible>        <!-- new line -->
                    <autoscroll time="3000" delay="6000" repeat="4000">Skin.HasSetting(AutoScroll)</autoscroll><!-- default 2000(time to scroll), 3000, 5000 -->
                </control>
                <control type="group">            <!-- new line -->
                    <left>10</left>
                    <top>295</top>
                    <height>275</height>    <!-- without this it goes to the bottom over other text -->
                    <visible>ListItem.IsCollection</visible>
                    <autoscroll time="2000" delay="3000" repeat="5000">Skin.HasSetting(AutoScroll)</autoscroll>
                    <include content="InfoList">
                        <param name="bottom" value="570" />  
                        <param name="width" value="490" />
                        <param name="sortby" value="year" />
                        <param name="sortorder" value="descending" />
                        <param name="font" value="font13" />
                    </include>
                </control>                        <!-- end new lines -->
            </control>
        </control>
    </include>
</includes>
If this was to be properly integrated into the skin then I guess the last file would be split between includes.xml and ViewsVideoLibrary.xml - but it's easier for me to edit an existing skin with a separate file for the view.

For xonfluence the changes are virtually identical.
The line to edit in IncludesBackgroundBuilding.xml is line 490 and [COLOR blue] in line 5 of ViewMediaInfoSets.xml becomes [COLOR deepskyblue]. Otherwise the same.

Disclaimer: this code (or rather my use of it) may well be a bit rubbishy. It's a result of trial and error rather than understanding, but I've been using it for a few months without issues.
Reply
#2
(2017-08-09, 18:12)trogggy Wrote: In estuary and many of the customizable skins floating about the forum it's possible to see the set contents.
I agree that estuary has a much nicer implementation then simply having "not available".
So I added collection info to Confluence 1080.
Also added collection-indicators to views that did not have that before.
Might be something you'd enjoy using?
Reply

Logout Mark Read Team Forum Stats Members Help
Pinching a good bit from estuary0