Loading Dynamic List Content at start
#46
I've given up on the idea of getting this to work Tongue
Please read the online manual (wiki) & FAQ (wiki) before posting.

Skins: Estuary | Xperience1080
Opinion: Never purchase HTC products
Reply
#47
Hello Piers

In your case is still not working?
I use Dynamic List for tv channels in snap panel,and channels are loaded without difficulty.
Only I need to use Custom_Loading.xml ,if I want to display tv channels in home panel.
On which version of skin you trying to do this?

Best Regards


Image
Reply
#48
(2015-02-04, 09:14)senna99 Wrote: Hello Piers

In your case is still not working?
I use Dynamic List for tv channels in snap panel,and channels are loaded without difficulty.
Only I need to use Custom_Loading.xml ,if I want to display tv channels in home panel.
On which version of skin you trying to do this?

Best Regards


Image

Trying to work this into the home screen on 1080XF (link in sig) - I have a 'bare' version which I use for testing - it only contains a few features - and it doesn't seem to work on that. It could be my PVR client, but it's probably something I'm not doing correctly.
Please read the online manual (wiki) & FAQ (wiki) before posting.

Skins: Estuary | Xperience1080
Opinion: Never purchase HTC products
Reply
#49
Hello Piers
I use your skin version,from the official repo.
If you agree, I will try to experimenting on your version,I can not believe that is not working.

Best Regards
Reply
#50
(2015-02-03, 23:07)Piers Wrote: I've given up on the idea of getting this to work Tongue
I think this is easyest way to wait Kodi to load PVR than start Home.xml Try This to integrate in your Startup.xml

Just create loop of two buttons (17 and 18) with onfocus condition=Pvr.HasTVChannels .I add button in skin settings to enable or disable start dynamic list as condition.
Quote:<window><!-- Aeon MQ 6 -->

<defaultcontrol always="true">10</defaultcontrol>
<onload condition="System.HasAddon(script.games.rom.collection.browser) + ![IsEmpty(skin.string(gameswidget)) | Skin.HasSetting(nogameswidget)]">RunScript(script.games.rom.collection.browser,limit=12)</onload>
<onload condition="System.HasAddon(script.tv.show.next.aired) + !IsEmpty(skin.string(livetvwidget))">RunScript(script.tv.show.next.aired,silent=True)</onload>
<onload condition="Skin.HasSetting(custommode)">Skin.Reset(custommode)</onload>
<onload condition="Skin.HasSetting(submode)">Skin.Reset(submode)</onload>
<onload condition="Skin.HasSetting(startplay)">PlayMedia($INFO[Skin.String(startupplaylist)])</onload>
<onload condition="System.HasAddon(script.skin.info.service)">RunScript(script.skin.info.service)</onload>
<allowoverlay>no</allowoverlay>
<controls>
<control type="button" id="10">
<include>InvisibleButton</include>
<onfocus condition="!Skin.HasSetting(pvrdynamic)">ReplaceWindow(Home)</onfocus>
<onfocus condition="!Pvr.HasTVChannels">AlarmClock(UpdateDelay,SetFocus(17),00:04,silent)</onfocus>
<visible>!Skin.HasSetting(randomthemes)</visible>
</control>
<control type="button" id="10">
<include>InvisibleButton</include>
<onfocus condition="SubString(skin.string(theme),coral)">Skin.SetString(theme,modern)</onfocus>
<onfocus condition="SubString(skin.string(theme),modern)">Skin.SetString(theme,future)</onfocus>
<onfocus condition="SubString(skin.string(theme),future)">Skin.SetString(theme,cold)</onfocus>
<onfocus condition="SubString(skin.string(theme),cold)">Skin.SetString(theme,warm)</onfocus>
<onfocus condition="SubString(skin.string(theme),warm)">Skin.SetString(theme,darkness)</onfocus>
<onfocus condition="SubString(skin.string(theme),darkness)">Skin.SetString(theme,digitalart)</onfocus>
<onfocus condition="SubString(skin.string(theme),digitalart)">Skin.SetString(theme,coral)</onfocus>
<onfocus condition="!Pvr.HasTVChannels">AlarmClock(UpdateDelay,SetFocus(17),00:04,silent)</onfocus>
<onfocus condition="!Skin.HasSetting(pvrdynamic)">ReplaceWindow(Home)</onfocus>
<visible>Skin.HasSetting(randomthemes)</visible>
</control>

<control type="button" id="18"><!-- loop -->
<include>InvisibleButton</include>
<onfocus condition="Pvr.HasTVChannels">ReplaceWindow(Home)</onfocus>
<onfocus condition="!Pvr.HasTVChannels">AlarmClock(UpdateDelay,SetFocus(17),00:04,silent)</onfocus>
</control>
<control type="button" id="17"><!-- loop -->
<include>InvisibleButton</include>
<onfocus condition="Pvr.HasTVChannels">ReplaceWindow(Home)</onfocus>
<onfocus condition="!Pvr.HasTVChannels">AlarmClock(UpdateDelay,SetFocus(18),00:04,silent)</onfocus>
</control>

</controls>
</window>

Try This Working 100% Smile
XBoxMediaCenter (Kodi Matrix ) 19.3 , AndroidBox -Matrix Skin AeonMQ6
Reply
#51
Angelinas, that works perfectly!

Thanks a lot for sharing the code Smile
Reply
#52
This is my startup, which is causing most of the issues - if not all. I can move a lot of those to <onload> but it's still causing a problem. Can any of the more experienced with dynamic content see where I'm going wrong? (this is the standard startup)

My assumption is that, from the Wiki page (which is limited), I can include a skin option on there (as mentioned above) and make that that a condition etc, but this doesn't appear to be working - even with a heavily stripped startup.

Code:
<?xml version="1.0" encoding="UTF-8"?>
<window>
    <defaultcontrol always="true">10</defaultcontrol>
    <allowoverlay>no</allowoverlay>
    <backgroundcolor>0</backgroundcolor>
    <include condition="!Skin.HasSetting(Skin.Initialization)">HomeWidgets.Initialization</include>
    <onunload condition="IsEmpty(Window(startup).Property(Started))">SetProperty(Started,1)</onunload>
    <controls>
        <include>CommonSettingsItems</include>
        <include>Common-Info-NoOptions</include>
        <control type="button" id="10">
            <onfocus condition="!Skin.HasSetting(Skin.Initialization)">Skin.SetBool(Skin.Initialization)</onfocus>
            <onfocus condition="IsEmpty(Skin.String(GlobalBackdropSingle))">Skin.SetString(GlobalBackdropSingle,special://skin/extras/backgrounds/01.jpg)</onfocus>
            <onfocus condition="IsEmpty(Window(startup).Property(Started)) + Skin.HasSetting(NextAired.Update) + Library.HasContent(tvshows)">RunScript(script.tv.show.next.aired,silent=True)</onfocus>
            <onfocus condition="IsEmpty(Window(startup).Property(Started)) + Skin.HasSetting(StartupPlaylist)">PlayMedia($ESCINFO[Skin.String(StartupPlaylist.Path)])</onfocus>
            <onfocus condition="stringcompare(Skin.String(HomeWidget.1.Type),script.randomandlastitems) + !IsEmpty(Skin.String(HomeWidget.1.Playlist))">RunScript(script.randomandlastitems,limit=10,method=$INFO[Skin.String(HomeWidget.1.Method)],unwatched=$INFO[Skin.String(HomeWidget.1.UnWatched)],resume=$INFO[Skin.String(HomeWidget.1.Resume)],playlist=$INFO[Skin.String(HomeWidget.1.Playlist)],property=HomeWidget1)</onfocus>
            <onfocus condition="stringcompare(Skin.String(HomeWidget.2.Type),script.randomandlastitems) + !IsEmpty(Skin.String(HomeWidget.2.Playlist))">RunScript(script.randomandlastitems,limit=10,method=$INFO[Skin.String(HomeWidget.2.Method)],unwatched=$INFO[Skin.String(HomeWidget.2.UnWatched)],resume=$INFO[Skin.String(HomeWidget.2.Resume)],playlist=$INFO[Skin.String(HomeWidget.2.Playlist)],property=HomeWidget2)</onfocus>
            <onfocus condition="stringcompare(Skin.String(HomeWidget.3.Type),script.randomandlastitems) + !IsEmpty(Skin.String(HomeWidget.3.Playlist))">RunScript(script.randomandlastitems,limit=10,method=$INFO[Skin.String(HomeWidget.3.Method)],unwatched=$INFO[Skin.String(HomeWidget.3.UnWatched)],resume=$INFO[Skin.String(HomeWidget.3.Resume)],playlist=$INFO[Skin.String(HomeWidget.3.Playlist)],property=HomeWidget3)</onfocus>
<onfocus condition="stringcompare(Skin.String(HomeWidget.4.Type),script.randomandlastitems) + !IsEmpty(Skin.String(HomeWidget.4.Playlist))">RunScript(script.randomandlastitems,limit=10,method=$INFO[Skin.String(HomeWidget.4.Method)],unwatched=$INFO[Skin.String(HomeWidget.4.UnWatched)],resume=$INFO[Skin.String(HomeWidget.4.Resume)],playlist=$INFO[Skin.String(HomeWidget.4.Playlist)],property=HomeWidget4)</onfocus>
<onfocus condition="stringcompare(Skin.String(HomeWidget.5.Type),script.randomandlastitems) + !IsEmpty(Skin.String(HomeWidget.5.Playlist))">RunScript(script.randomandlastitems,limit=10,method=$INFO[Skin.String(HomeWidget.5.Method)],unwatched=$INFO[Skin.String(HomeWidget.5.UnWatched)],resume=$INFO[Skin.String(HomeWidget.5.Resume)],playlist=$INFO[Skin.String(HomeWidget.5.Playlist)],property=HomeWidget5)</onfocus>
            <onfocus condition="System.HasAddon(script.extendedinfo) + IsEmpty(Window(startup).Property(Started))">SetProperty(extendedinfo_running,True,home)</onfocus>
            <onfocus condition="!stringcompare(Skin.String(HomeWidget.1.Type),service.skin.widgets) + !stringcompare(Skin.String(HomeWidget.1.Type),script.randomandlastitems) + System.HasAddon(script.extendedinfo)">RunScript(script.extendedinfo,info=$INFO[Skin.String(HomeWidget.1.Type)],prefix=HomeWidget1)</onfocus>
            <onfocus condition="!stringcompare(Skin.String(HomeWidget.2.Type),service.skin.widgets) + !stringcompare(Skin.String(HomeWidget.2.Type),script.randomandlastitems) + System.HasAddon(script.extendedinfo)">RunScript(script.extendedinfo,info=$INFO[Skin.String(HomeWidget.2.Type)],prefix=HomeWidget2)</onfocus>
            <onfocus condition="!stringcompare(Skin.String(HomeWidget.3.Type),service.skin.widgets) + !stringcompare(Skin.String(HomeWidget.3.Type),script.randomandlastitems) + System.HasAddon(script.extendedinfo)">RunScript(script.extendedinfo,info=$INFO[Skin.String(HomeWidget.3.Type)],prefix=HomeWidget3)</onfocus>
            <onfocus condition="!stringcompare(Skin.String(HomeWidget.4.Type),service.skin.widgets) + !stringcompare(Skin.String(HomeWidget.4.Type),script.randomandlastitems) + System.HasAddon(script.extendedinfo)">RunScript(script.extendedinfo,info=$INFO[Skin.String(HomeWidget.4.Type)],prefix=HomeWidget4)</onfocus>
            <onfocus condition="!stringcompare(Skin.String(HomeWidget.5.Type),service.skin.widgets) + !stringcompare(Skin.String(HomeWidget.5.Type),script.randomandlastitems) + System.HasAddon(script.extendedinfo)">RunScript(script.extendedinfo,info=$INFO[Skin.String(HomeWidget.5.Type)],prefix=HomeWidget5)</onfocus>
            <onfocus condition="IsEmpty(Window(startup).Property(Started)) + IsEmpty(Window(startup).Property(Skin.Initialization))">ReplaceWindow($INFO[System.StartupWindow])</onfocus>
            <onfocus condition="!IsEmpty(Window(startup).Property(Skin.Initialization))">SetFocus(11)</onfocus>
        </control>
        <control type="button" id="11">
            <onfocus>ClearProperty(Skin.Initialization)</onfocus>
            <onfocus>ReplaceWindow(Home)</onfocus>
            <animation effect="fade" start="0" end="100" time="0" delay="3000">Focus</animation>
        </control>
        <control type="group" id="12">
            <visible>!IsEmpty(Window(startup).Property(Skin.Initialization))</visible>
            <animation effect="fade" start="0" end="100" time="300" tween="sine" easing="inout">WindowOpen</animation>
            <include>visiblehidefadeinfo</include>
            <control type="image">
                <description>Loading Back</description>
                <posx>886</posx>
                <posy>466</posy>
                <width>148</width>
                <height>148</height>
                <texture>windows/home/loading-back.png</texture>
            </control>
            <control type="image">
                <description>Loading</description>
                <posx>886</posx>
                <posy>466</posy>
                <width>148</width>
                <height>148</height>
                <texture>windows/home/loading.png</texture>
                <animation effect="rotate" center="auto" start="360" end="0" time="1500" loop="true" condition="Control.IsVisible(12)">Conditional</animation>
            </control>
            <control type="label">
                <description>Loading label</description>
                <posx>660</posx>
                <posy>635</posy>
                <height>64</height>
                <width>600</width>
                <font>Font-Condensed-S36-B</font>
                <align>center</align>
                <aligny>center</aligny>
                <textcolor>99FFFFFF</textcolor>
                <label>$LOCALIZE[41601]...</label>
                <scroll>false</scroll>
            </control>
        </control>
    </controls>
</window>
Please read the online manual (wiki) & FAQ (wiki) before posting.

Skins: Estuary | Xperience1080
Opinion: Never purchase HTC products
Reply
#53
This is what I ended up doing in Startup.xml - don't know if you can use any of it:

Code:
<?xml version="1.0" encoding="UTF-8"?>
<window>
    <defaultcontrol always="true">10</defaultcontrol>
    <allowoverlay>no</allowoverlay>
    <onload condition="System.HasAddon(script.skin.info.service)">RunScript(script.skin.info.service)</onload>
    
    <controls>
        <control type="button" id="10">
            <left>1300</left>
            <onfocus condition="!System.GetBool(pvrmanager.enabled) | [System.GetBool(pvrmanager.enabled) + Skin.HasSetting(HidePVRChannelsWidget)]
            | [System.GetBool(pvrmanager.enabled) + !Skin.HasSetting(HidePVRChannelsWidget) + Pvr.HasTVChannels]">ReplaceWindow($INFO[System.StartupWindow])</onfocus>
            <onfocus condition="System.GetBool(pvrmanager.enabled) + !Skin.HasSetting(HidePVRChannelsWidget) + !PvrHasTVChannels">AlarmClock(UpdateDelay,SetFocus(11),00:01,silent)</onfocus>
            <onclick>ReplaceWindow($INFO[System.StartupWindow])</onclick>
            <onback>ReplaceWindow($INFO[System.StartupWindow])</onback>
            <onleft>ReplaceWindow($INFO[System.StartupWindow])</onleft>
            <onright>ReplaceWindow($INFO[System.StartupWindow])</onright>
            <onup>ReplaceWindow($INFO[System.StartupWindow])</onup>
            <ondown>ReplaceWindow($INFO[System.StartupWindow])</ondown>
        </control>
        <!-- Show home if pvr loading is finished -->
        <control type="button" id="11">
            <left>1300</left>
            <onfocus condition="Pvr.HasTVChannels">ReplaceWindow($INFO[System.StartupWindow])</onfocus>
            <onfocus condition="!Pvr.HasTVChannels">AlarmClock(UpdateDelay,SetFocus(12),00:01,silent)</onfocus>
            <onclick>ReplaceWindow($INFO[System.StartupWindow])</onclick>
            <onback>ReplaceWindow($INFO[System.StartupWindow])</onback>
            <onleft>ReplaceWindow($INFO[System.StartupWindow])</onleft>
            <onright>ReplaceWindow($INFO[System.StartupWindow])</onright>
            <onup>ReplaceWindow($INFO[System.StartupWindow])</onup>
            <ondown>ReplaceWindow($INFO[System.StartupWindow])</ondown>
        </control>
        <control type="button" id="12">
            <left>1300</left>
            <onfocus condition="Pvr.HasTVChannels">ReplaceWindow($INFO[System.StartupWindow])</onfocus>
            <onfocus condition="!Pvr.HasTVChannels">AlarmClock(UpdateDelay,SetFocus(11),00:01,silent)</onfocus>
            <onclick>ReplaceWindow($INFO[System.StartupWindow])</onclick>
            <onback>ReplaceWindow($INFO[System.StartupWindow])</onback>
            <onleft>ReplaceWindow($INFO[System.StartupWindow])</onleft>
            <onright>ReplaceWindow($INFO[System.StartupWindow])</onright>
            <onup>ReplaceWindow($INFO[System.StartupWindow])</onup>
            <ondown>ReplaceWindow($INFO[System.StartupWindow])</ondown>
        </control>
        
        <control type="image">
            <left>9</left>
            <top>9</top>
            <width>78</width>
            <height>24</height>
            <texture>kodi-logo.png</texture>
            <aspectratio>stretch</aspectratio>
            <animation effect="fade" end="80" condition="true">Conditional</animation>
        </control>
        
        <control type="label">
            <include>ScreenSize</include>
            <font>KaraokeFont</font>
            <textcolor>SelectedColor2</textcolor>
            <align>center</align>
            <aligny>center</aligny>
            <label>$LOCALIZE[31990]</label>
            <visible>System.GetBool(pvrmanager.enabled) + !Skin.HasSetting(HidePVRChannelsWidget) + !PvrHasTVChannels</visible>
        </control>
    </controls>
</window>

I added a lot of actions to let the user cancel the loading process.

The label says "Loading TV Channels...[CR][CR]Click to dismiss.".
Reply
#54
Semi-success!

The skin loads as expected, mostly. Only the loading screen doesn't show, instead it hangs for a few seconds. I just now need to get 11 set up correctly and it should be good to go Big Grin

Code:
<?xml version="1.0" encoding="UTF-8"?>
<window>
    <defaultcontrol always="true">10</defaultcontrol>
    <allowoverlay>no</allowoverlay>
    <backgroundcolor>0</backgroundcolor>
    <include condition="!Skin.HasSetting(Skin.Initialization)">HomeWidgets.Initialization</include>
    <onunload condition="IsEmpty(Window(startup).Property(Started))">SetProperty(Started,1)</onunload>
    <controls>
        <include>CommonSettingsItems</include>
        <include>Common-Info-NoOptions</include>
        <control type="button" id="10">
            <onfocus condition="!System.GetBool(pvrmanager.enabled)">ReplaceWindow($INFO[System.StartupWindow])</onfocus>
            <onfocus condition="System.GetBool(pvrmanager.enabled)">AlarmClock(UpdateDelay,SetFocus(11),00:01,silent)</onfocus>
            <onfocus condition="!Skin.HasSetting(Skin.Initialization)">Skin.SetBool(Skin.Initialization)</onfocus>
            <onfocus condition="IsEmpty(Skin.String(GlobalBackdropSingle))">Skin.SetString(GlobalBackdropSingle,special://skin/extras/backgrounds/01.jpg)</onfocus>
            <onfocus condition="IsEmpty(Window(startup).Property(Started)) + Skin.HasSetting(NextAired.Update) + Library.HasContent(tvshows)">RunScript(script.tv.show.next.aired,silent=True)</onfocus>
            <onfocus condition="IsEmpty(Window(startup).Property(Started)) + Skin.HasSetting(StartupPlaylist)">PlayMedia($ESCINFO[Skin.String(StartupPlaylist.Path)])</onfocus>
            <onfocus condition="stringcompare(Skin.String(HomeWidget.1.Type),script.randomandlastitems) + !IsEmpty(Skin.String(HomeWidget.1.Playlist))">RunScript(script.randomandlastitems,limit=10,method=$INFO[Skin.String(HomeWidget.1.Method)],unwatched=$INFO[Skin.String(HomeWidget.1.UnWatched)],resume=$INFO[Skin.String(HomeWidget.1.Resume)],playlist=$INFO[Skin.String(HomeWidget.1.Playlist)],property=HomeWidget1)</onfocus>
            <onfocus condition="stringcompare(Skin.String(HomeWidget.2.Type),script.randomandlastitems) + !IsEmpty(Skin.String(HomeWidget.2.Playlist))">RunScript(script.randomandlastitems,limit=10,method=$INFO[Skin.String(HomeWidget.2.Method)],unwatched=$INFO[Skin.String(HomeWidget.2.UnWatched)],resume=$INFO[Skin.String(HomeWidget.2.Resume)],playlist=$INFO[Skin.String(HomeWidget.2.Playlist)],property=HomeWidget2)</onfocus>
            <onfocus condition="stringcompare(Skin.String(HomeWidget.3.Type),script.randomandlastitems) + !IsEmpty(Skin.String(HomeWidget.3.Playlist))">RunScript(script.randomandlastitems,limit=10,method=$INFO[Skin.String(HomeWidget.3.Method)],unwatched=$INFO[Skin.String(HomeWidget.3.UnWatched)],resume=$INFO[Skin.String(HomeWidget.3.Resume)],playlist=$INFO[Skin.String(HomeWidget.3.Playlist)],property=HomeWidget3)</onfocus>
<onfocus condition="stringcompare(Skin.String(HomeWidget.4.Type),script.randomandlastitems) + !IsEmpty(Skin.String(HomeWidget.4.Playlist))">RunScript(script.randomandlastitems,limit=10,method=$INFO[Skin.String(HomeWidget.4.Method)],unwatched=$INFO[Skin.String(HomeWidget.4.UnWatched)],resume=$INFO[Skin.String(HomeWidget.4.Resume)],playlist=$INFO[Skin.String(HomeWidget.4.Playlist)],property=HomeWidget4)</onfocus>
<onfocus condition="stringcompare(Skin.String(HomeWidget.5.Type),script.randomandlastitems) + !IsEmpty(Skin.String(HomeWidget.5.Playlist))">RunScript(script.randomandlastitems,limit=10,method=$INFO[Skin.String(HomeWidget.5.Method)],unwatched=$INFO[Skin.String(HomeWidget.5.UnWatched)],resume=$INFO[Skin.String(HomeWidget.5.Resume)],playlist=$INFO[Skin.String(HomeWidget.5.Playlist)],property=HomeWidget5)</onfocus>
            <onfocus condition="System.HasAddon(script.extendedinfo) + IsEmpty(Window(startup).Property(Started))">SetProperty(extendedinfo_running,True,home)</onfocus>
            <onfocus condition="!stringcompare(Skin.String(HomeWidget.1.Type),service.skin.widgets) + !stringcompare(Skin.String(HomeWidget.1.Type),script.randomandlastitems) + System.HasAddon(script.extendedinfo)">RunScript(script.extendedinfo,info=$INFO[Skin.String(HomeWidget.1.Type)],prefix=HomeWidget1)</onfocus>
            <onfocus condition="!stringcompare(Skin.String(HomeWidget.2.Type),service.skin.widgets) + !stringcompare(Skin.String(HomeWidget.2.Type),script.randomandlastitems) + System.HasAddon(script.extendedinfo)">RunScript(script.extendedinfo,info=$INFO[Skin.String(HomeWidget.2.Type)],prefix=HomeWidget2)</onfocus>
            <onfocus condition="!stringcompare(Skin.String(HomeWidget.3.Type),service.skin.widgets) + !stringcompare(Skin.String(HomeWidget.3.Type),script.randomandlastitems) + System.HasAddon(script.extendedinfo)">RunScript(script.extendedinfo,info=$INFO[Skin.String(HomeWidget.3.Type)],prefix=HomeWidget3)</onfocus>
            <onfocus condition="!stringcompare(Skin.String(HomeWidget.4.Type),service.skin.widgets) + !stringcompare(Skin.String(HomeWidget.4.Type),script.randomandlastitems) + System.HasAddon(script.extendedinfo)">RunScript(script.extendedinfo,info=$INFO[Skin.String(HomeWidget.4.Type)],prefix=HomeWidget4)</onfocus>
            <onfocus condition="!stringcompare(Skin.String(HomeWidget.5.Type),service.skin.widgets) + !stringcompare(Skin.String(HomeWidget.5.Type),script.randomandlastitems) + System.HasAddon(script.extendedinfo)">RunScript(script.extendedinfo,info=$INFO[Skin.String(HomeWidget.5.Type)],prefix=HomeWidget5)</onfocus>
            <onfocus condition="IsEmpty(Window(startup).Property(Started)) + IsEmpty(Window(startup).Property(Skin.Initialization)) + !System.GetBool(pvrmanager.enabled)">ReplaceWindow($INFO[System.StartupWindow])</onfocus>
            <onfocus condition="!IsEmpty(Window(startup).Property(Skin.Initialization)) + System.GetBool(pvrmanager.enabled)">SetFocus(11)</onfocus>
        </control>
        <control type="button" id="11">
            <onfocus>ClearProperty(Skin.Initialization)</onfocus>
            <onfocus>ReplaceWindow(Home)</onfocus>
            <animation effect="fade" start="0" end="100" time="0" delay="3000">Focus</animation>
        </control>
        <control type="group" id="12">
            <visible>!IsEmpty(Window(startup).Property(Skin.Initialization)) + System.GetBool(pvrmanager.enabled)</visible>
            <animation effect="fade" start="0" end="100" time="300" tween="sine" easing="inout">WindowOpen</animation>
            <include>visiblehidefadeinfo</include>
            <control type="image">
                <description>Loading Back</description>
                <posx>886</posx>
                <posy>466</posy>
                <width>148</width>
                <height>148</height>
                <texture>windows/home/loading-back.png</texture>
            </control>
            <control type="image">
                <description>Loading</description>
                <posx>886</posx>
                <posy>466</posy>
                <width>148</width>
                <height>148</height>
                <texture>windows/home/loading.png</texture>
                <animation effect="rotate" center="auto" start="360" end="0" time="1500" loop="true" condition="Control.IsVisible(12)">Conditional</animation>
            </control>
            <control type="label">
                <description>Loading label</description>
                <posx>660</posx>
                <posy>635</posy>
                <height>64</height>
                <width>600</width>
                <font>Font-Condensed-S36-B</font>
                <align>center</align>
                <aligny>center</aligny>
                <textcolor>99FFFFFF</textcolor>
                <label>$LOCALIZE[41601]...</label>
                <scroll>false</scroll>
            </control>
        </control>
    </controls>
</window>
Please read the online manual (wiki) & FAQ (wiki) before posting.

Skins: Estuary | Xperience1080
Opinion: Never purchase HTC products
Reply
#55
(2015-02-05, 13:05)Piers Wrote: This is my startup, which is causing most of the issues - if not all. I can move a lot of those to <onload> but it's still causing a problem. Can any of the more experienced with dynamic content see where I'm going wrong? (this is the standard startup)

My assumption is that, from the Wiki page (which is limited), I can include a skin option on there (as mentioned above) and make that that a condition etc, but this doesn't appear to be working - even with a heavily stripped startup.

[code
I dont want to mess in your Startup.xml ,but bug is in line (remove this)
<backgroundcolor>0</backgroundcolor>
Think this will help you,just add your from "<control type="button" id="10">"
Code:
<window>
     <defaultcontrol always="true">18</defaultcontrol>
     <allowoverlay>no</allowoverlay>

     <include condition="!Skin.HasSetting(Skin.Initialization)">HomeWidgets.Initialization</include>
     <onunload condition="IsEmpty(Window(startup).Property(Started))">SetProperty(Started,1)</onunload>
     <controls>
         <include>CommonSettingsItems</include>
         <include>Common-Info-NoOptions</include>
    <control type="button" id="18"><!-- loop -->
         <onfocus condition="Pvr.HasTVChannels">SetFocus(10)</onfocus>
         <onfocus condition="!Pvr.HasTVChannels">AlarmClock(UpdateDelay,SetFocus(17),00:04,silent)</onfocus>
    </control>
     <control type="button" id="17"><!-- loop -->
         <onfocus condition="Pvr.HasTVChannels">SetFocus(10)</onfocus>
        <onfocus condition="!Pvr.HasTVChannels">AlarmClock(UpdateDelay,SetFocus(18),00:04,silent)</onfocus>
    </control>
    
         <control type="button" id="10">
.
.
.
Rest of xml add youors.......

Try it Smile
XBoxMediaCenter (Kodi Matrix ) 19.3 , AndroidBox -Matrix Skin AeonMQ6
Reply
#56
(2015-02-05, 14:45)Angelinas Wrote:
(2015-02-05, 13:05)Piers Wrote: This is my startup, which is causing most of the issues - if not all. I can move a lot of those to <onload> but it's still causing a problem. Can any of the more experienced with dynamic content see where I'm going wrong? (this is the standard startup)

My assumption is that, from the Wiki page (which is limited), I can include a skin option on there (as mentioned above) and make that that a condition etc, but this doesn't appear to be working - even with a heavily stripped startup.

[code
I dont want to mess in your Startup.xml ,but bug is in line (remove this)
<backgroundcolor>0</backgroundcolor>
Think this will help you,just add your from "<control type="button" id="10">"
Code:
<window>
     <defaultcontrol always="true">18</defaultcontrol>
     <allowoverlay>no</allowoverlay>

     <include condition="!Skin.HasSetting(Skin.Initialization)">HomeWidgets.Initialization</include>
     <onunload condition="IsEmpty(Window(startup).Property(Started))">SetProperty(Started,1)</onunload>
     <controls>
         <include>CommonSettingsItems</include>
         <include>Common-Info-NoOptions</include>
    <control type="button" id="18"><!-- loop -->
         <onfocus condition="Pvr.HasTVChannels">SetFocus(10)</onfocus>
         <onfocus condition="!Pvr.HasTVChannels">AlarmClock(UpdateDelay,SetFocus(17),00:04,silent)</onfocus>
    </control>
     <control type="button" id="17"><!-- loop -->
         <onfocus condition="Pvr.HasTVChannels">SetFocus(10)</onfocus>
        <onfocus condition="!Pvr.HasTVChannels">AlarmClock(UpdateDelay,SetFocus(18),00:04,silent)</onfocus>
    </control>
    
         <control type="button" id="10">
.
.
.
Rest of xml add youors.......

Try it Smile

Thank you, but that's more or less the same as what I've done in the adjusted startup above Tongue Both work Smile

I'm just working on 11 and 12 now
Please read the online manual (wiki) & FAQ (wiki) before posting.

Skins: Estuary | Xperience1080
Opinion: Never purchase HTC products
Reply
#57
(2015-02-05, 14:42)Piers Wrote: Semi-success!

The skin loads as expected, mostly. Only the loading screen doesn't show, instead it hangs for a few seconds. I just now need to get 11 set up correctly and it should be good to go Big Grin

Code:
<?xml version="1.0" encoding="UTF-8"?>
<window>
    <defaultcontrol always="true">10</defaultcontrol>
    <allowoverlay>no</allowoverlay>
    <backgroundcolor>0</backgroundcolor>
    <include condition="!Skin.HasSetting(Skin.Initialization)">HomeWidgets.Initialization</include>
    <onunload condition="IsEmpty(Window(startup).Property(Started))">SetProperty(Started,1)</onunload>
    <controls>
        <include>CommonSettingsItems</include>
        <include>Common-Info-NoOptions</include>
        <control type="button" id="10">
            <onfocus condition="!System.GetBool(pvrmanager.enabled)">ReplaceWindow($INFO[System.StartupWindow])</onfocus>
            <onfocus condition="System.GetBool(pvrmanager.enabled)">AlarmClock(UpdateDelay,SetFocus(11),00:01,silent)</onfocus>
            <onfocus condition="!Skin.HasSetting(Skin.Initialization)">Skin.SetBool(Skin.Initialization)</onfocus>
            <onfocus condition="IsEmpty(Skin.String(GlobalBackdropSingle))">Skin.SetString(GlobalBackdropSingle,special://skin/extras/backgrounds/01.jpg)</onfocus>
            <onfocus condition="IsEmpty(Window(startup).Property(Started)) + Skin.HasSetting(NextAired.Update) + Library.HasContent(tvshows)">RunScript(script.tv.show.next.aired,silent=True)</onfocus>
            <onfocus condition="IsEmpty(Window(startup).Property(Started)) + Skin.HasSetting(StartupPlaylist)">PlayMedia($ESCINFO[Skin.String(StartupPlaylist.Path)])</onfocus>
            <onfocus condition="stringcompare(Skin.String(HomeWidget.1.Type),script.randomandlastitems) + !IsEmpty(Skin.String(HomeWidget.1.Playlist))">RunScript(script.randomandlastitems,limit=10,method=$INFO[Skin.String(HomeWidget.1.Method)],unwatched=$INFO[Skin.String(HomeWidget.1.UnWatched)],resume=$INFO[Skin.String(HomeWidget.1.Resume)],playlist=$INFO[Skin.String(HomeWidget.1.Playlist)],property=HomeWidget1)</onfocus>
            <onfocus condition="stringcompare(Skin.String(HomeWidget.2.Type),script.randomandlastitems) + !IsEmpty(Skin.String(HomeWidget.2.Playlist))">RunScript(script.randomandlastitems,limit=10,method=$INFO[Skin.String(HomeWidget.2.Method)],unwatched=$INFO[Skin.String(HomeWidget.2.UnWatched)],resume=$INFO[Skin.String(HomeWidget.2.Resume)],playlist=$INFO[Skin.String(HomeWidget.2.Playlist)],property=HomeWidget2)</onfocus>
            <onfocus condition="stringcompare(Skin.String(HomeWidget.3.Type),script.randomandlastitems) + !IsEmpty(Skin.String(HomeWidget.3.Playlist))">RunScript(script.randomandlastitems,limit=10,method=$INFO[Skin.String(HomeWidget.3.Method)],unwatched=$INFO[Skin.String(HomeWidget.3.UnWatched)],resume=$INFO[Skin.String(HomeWidget.3.Resume)],playlist=$INFO[Skin.String(HomeWidget.3.Playlist)],property=HomeWidget3)</onfocus>
<onfocus condition="stringcompare(Skin.String(HomeWidget.4.Type),script.randomandlastitems) + !IsEmpty(Skin.String(HomeWidget.4.Playlist))">RunScript(script.randomandlastitems,limit=10,method=$INFO[Skin.String(HomeWidget.4.Method)],unwatched=$INFO[Skin.String(HomeWidget.4.UnWatched)],resume=$INFO[Skin.String(HomeWidget.4.Resume)],playlist=$INFO[Skin.String(HomeWidget.4.Playlist)],property=HomeWidget4)</onfocus>
<onfocus condition="stringcompare(Skin.String(HomeWidget.5.Type),script.randomandlastitems) + !IsEmpty(Skin.String(HomeWidget.5.Playlist))">RunScript(script.randomandlastitems,limit=10,method=$INFO[Skin.String(HomeWidget.5.Method)],unwatched=$INFO[Skin.String(HomeWidget.5.UnWatched)],resume=$INFO[Skin.String(HomeWidget.5.Resume)],playlist=$INFO[Skin.String(HomeWidget.5.Playlist)],property=HomeWidget5)</onfocus>
            <onfocus condition="System.HasAddon(script.extendedinfo) + IsEmpty(Window(startup).Property(Started))">SetProperty(extendedinfo_running,True,home)</onfocus>
            <onfocus condition="!stringcompare(Skin.String(HomeWidget.1.Type),service.skin.widgets) + !stringcompare(Skin.String(HomeWidget.1.Type),script.randomandlastitems) + System.HasAddon(script.extendedinfo)">RunScript(script.extendedinfo,info=$INFO[Skin.String(HomeWidget.1.Type)],prefix=HomeWidget1)</onfocus>
            <onfocus condition="!stringcompare(Skin.String(HomeWidget.2.Type),service.skin.widgets) + !stringcompare(Skin.String(HomeWidget.2.Type),script.randomandlastitems) + System.HasAddon(script.extendedinfo)">RunScript(script.extendedinfo,info=$INFO[Skin.String(HomeWidget.2.Type)],prefix=HomeWidget2)</onfocus>
            <onfocus condition="!stringcompare(Skin.String(HomeWidget.3.Type),service.skin.widgets) + !stringcompare(Skin.String(HomeWidget.3.Type),script.randomandlastitems) + System.HasAddon(script.extendedinfo)">RunScript(script.extendedinfo,info=$INFO[Skin.String(HomeWidget.3.Type)],prefix=HomeWidget3)</onfocus>
            <onfocus condition="!stringcompare(Skin.String(HomeWidget.4.Type),service.skin.widgets) + !stringcompare(Skin.String(HomeWidget.4.Type),script.randomandlastitems) + System.HasAddon(script.extendedinfo)">RunScript(script.extendedinfo,info=$INFO[Skin.String(HomeWidget.4.Type)],prefix=HomeWidget4)</onfocus>
            <onfocus condition="!stringcompare(Skin.String(HomeWidget.5.Type),service.skin.widgets) + !stringcompare(Skin.String(HomeWidget.5.Type),script.randomandlastitems) + System.HasAddon(script.extendedinfo)">RunScript(script.extendedinfo,info=$INFO[Skin.String(HomeWidget.5.Type)],prefix=HomeWidget5)</onfocus>
            <onfocus condition="IsEmpty(Window(startup).Property(Started)) + IsEmpty(Window(startup).Property(Skin.Initialization)) + !System.GetBool(pvrmanager.enabled)">ReplaceWindow($INFO[System.StartupWindow])</onfocus>
            <onfocus condition="!IsEmpty(Window(startup).Property(Skin.Initialization)) + System.GetBool(pvrmanager.enabled)">SetFocus(11)</onfocus>
        </control>
        <control type="button" id="11">
            <onfocus>ClearProperty(Skin.Initialization)</onfocus>
            <onfocus>ReplaceWindow(Home)</onfocus>
            <animation effect="fade" start="0" end="100" time="0" delay="3000">Focus</animation>
        </control>
        <control type="group" id="12">
            <visible>!IsEmpty(Window(startup).Property(Skin.Initialization)) + System.GetBool(pvrmanager.enabled)</visible>
            <animation effect="fade" start="0" end="100" time="300" tween="sine" easing="inout">WindowOpen</animation>
            <include>visiblehidefadeinfo</include>
            <control type="image">
                <description>Loading Back</description>
                <posx>886</posx>
                <posy>466</posy>
                <width>148</width>
                <height>148</height>
                <texture>windows/home/loading-back.png</texture>
            </control>
            <control type="image">
                <description>Loading</description>
                <posx>886</posx>
                <posy>466</posy>
                <width>148</width>
                <height>148</height>
                <texture>windows/home/loading.png</texture>
                <animation effect="rotate" center="auto" start="360" end="0" time="1500" loop="true" condition="Control.IsVisible(12)">Conditional</animation>
            </control>
            <control type="label">
                <description>Loading label</description>
                <posx>660</posx>
                <posy>635</posy>
                <height>64</height>
                <width>600</width>
                <font>Font-Condensed-S36-B</font>
                <align>center</align>
                <aligny>center</aligny>
                <textcolor>99FFFFFF</textcolor>
                <label>$LOCALIZE[41601]...</label>
                <scroll>false</scroll>
            </control>
        </control>
    </controls>
</window>

This dont work for me !!!
But maybe you have something in "include" which I can see...
I can see "condition="Pvr.HasTVChannels" or "condition="!Pvr.HasTVChannels"
Where is loop to wait this loading of channels in PVR,If you set condition "pvrmanager.enabled",you must wait for loading all (Channels and EPG) then start home.xml.
If you have few channels it fast but if you have more then 1000 it very slow.
Condition pvrmanager.enabled is not good for loop .
XBoxMediaCenter (Kodi Matrix ) 19.3 , AndroidBox -Matrix Skin AeonMQ6
Reply
#58
Correct me if I'm wrong, but doesn't System.GetBool(pvrmanager.enabled) get info whether pvr has been enabled in the settings or not?

I use it in button 10 to send startup.xml directly to the home screen if pvr is not enabled. If pvr is enabled, startup.xml will get sent to the 2 loop buttons (11 and 12).

My complete startup.xml is above: http://forum.kodi.tv/showthread.php?tid=...pid1916017
Reply
#59
(2015-02-05, 16:29)Gade Wrote: Correct me if I'm wrong, but doesn't System.GetBool(pvrmanager.enabled) get info whether pvr has been enabled in the settings or not?
This is true (Who use PVR This is always enable in settings),but when pvr is loading this is first thing that kodi load,you must wait to load all channels.
(2015-02-05, 16:29)Gade Wrote: I use it in button 10 to send startup.xml directly to the home screen if pvr is not enabled. If pvr is enabled, startup.xml will get sent to the 2 loop buttons (11 and 12).

My complete startup.xml is above: http://forum.kodi.tv/showthread.php?tid=...pid1916017

If you say it works, I believe ...this is just my comments, if somebody read this and try to include in his skin.
My post is not direct to your startup....write to Piers He doesent have loop....

@Gade
Have you try to load group as sub list or just epg as popup ??
(2015-02-05, 16:29)Gade Wrote: I load all tv channels in a widget in the home screen. This seems to work properly.
Not All just one group
XBoxMediaCenter (Kodi Matrix ) 19.3 , AndroidBox -Matrix Skin AeonMQ6
Reply
#60
I load all tv channels in a widget in the home screen. This seems to work properly.
Reply

Logout Mark Read Team Forum Stats Members Help
Loading Dynamic List Content at start0