Modding Ace's bottom panel
#1
I'm trying to mod Ace's bottom panel, as shown on the pic

Image

currently by default it has 2 functions :
- Showing details of recently added items, visible when a recent item is focused
- Showing Currently playing movies, visible and override the first function if there's any movies playing

Now, i want to add Recommended Movies function to the panel..
It basically shows Random Movies with rating above 6.0
And the visibility is based on which left menu is on focus.
e.g :
Focus on Film Asia, the panel will randomly show Asian Movies with rating above 6.0
Focus on Anime, the panel will randomly show Anime with rating above 6.0

I've created 5 playlists for recommended movies & tv shows for this purpose

- Recommended Film Barat
- Recommended Film Asia
- Recommended Anime
- Recommended Serial Asia
- Recommended Serial Barat

Each already set to show items with rating above 6

Now it's just a matter implementing them to the skin..

I've figured this part of the code in IncludeMenuV.xml is used for the panel :

PHP Code:
<control type="group" id="601"><!-- Painel Em Progresso/Painel de detalhes -->
    <
posx>326</posx>
    <
posy>300</posy>
    <
animation effect="zoom" start="0" end="100" center="auto" time="300" delay="1000" easing="out" tween="sine">WindowOpen</animation>
    <
animation effect="zoom" start="0" end="100" center="auto" time="300" delay="1000" easing="out" tween="sine">Visible</animation>
    <
animation effect="zoom" start="100" end="0" center="auto" time="200" easing="in" tween="sine">Hidden</animation>
    <
animation effect="zoom" start="100" end="0" center="auto" time="200" easing="out" tween="sine" condition="Skin.HasSetting(homemenuclean) + ![Control.HasFocus(4200) | Player.HasMedia | Control.HasFocus(510) | Control.HasFocus(5100)]">Conditional</animation>
    <
visible>[[Container(9000).HasFocus(1) + !IsEmpty(Window.Property(RecommendedMovie.1.Title)) | Container(9000).HasFocus(2) + !IsEmpty(Window.Property(RecommendedEpisode.1.Title)) | Container(9000).HasFocus(3) + !IsEmpty(Window.Property(RecommendedMusicVideo.1.Title)) | Container(9000).HasFocus(4) + !IsEmpty(Window.Property(RecommendedAlbum.1.Title))] + ![Skin.HasSetting(noprogresspanel) | Player.HasMedia]  | Player.HasMedia + !Skin.HasSetting(nonowplayingpanel) | Control.HasFocus(510) | Control.HasFocus(5100)] + ![Container(9000).HasFocus(8) | Container(9000).HasFocus(10) | Container(9000).HasFocus(11) | Container(9000).HasFocus(12) | Skin.HasSetting(submode) | Window.IsActive(5099)]</visible>
    <
control type="image">
    <
posx>462</posx>
    <
posy>158</posy>
    <
width>459</width>
    <
height>23</height>
    <
align>left</align>
    <
texture>whitebar.png</texture>
    <
colordiffuse>C6FFFAF0</colordiffuse>
    </
control>
    <
control type="label"><!-- Contador da reproducao -->
    <
posx>462</posx>
    <
posy>149</posy>
    <
width>459</width>
    <include>
HomeFlagLabel</include>
    <
label>$VAR[value_playerduration]</label>
    <
visible>Player.HasMedia + ![Control.HasFocus(510) | Control.HasFocus(5100)]</visible>
    </
control>
    <
control type="image"><!-- Fundo -->
    <
posx>-26</posx>
    <
posy>90</posy>
    <
width>980</width>
    <
height>300</height>
    <
texture>homewidget2.png</texture>
    <
colordiffuse>$VAR[value_texturecolor]</colordiffuse>
    <include>
Animation_HomeGlass</include>
    </
control>
    <
control type="image"><!-- Fundo -->
    <
posx>-10</posx>
    <
posy>101</posy>
    <
width>475</width>
    <
height>278</height>
    <
texture>fanartframe.png</texture>
    </
control>
    <
control type="multiimage">
    <
posx>5</posx>
    <
posy>115</posy>
    <
width>444</width>
    <
height>250</height>
    <
timeperimage>5000</timeperimage>
    <
randomize>true</randomize>
    <
aspectratio>stretch</aspectratio>
    <
imagepath fallback="hive_back.png" background="true">$VAR[value_mffanart]</imagepath>
    <
fadetime>FanartCrossFadeTime</fadetime>
    </
control>
    <
control type="multiimage">
    <
posx>5</posx>
    <
posy>115</posy>
    <
width>444</width>
    <
height>250</height>
    <
timeperimage>5000</timeperimage>
    <
randomize>true</randomize>
    <
aspectratio>keep</aspectratio>
    <
imagepath background="true">$INFO[Window(Visualisation).Property(ArtistSlideshow)]</imagepath>
    <
fadetime>FanartCrossFadeTime</fadetime>
    <
visible>Player.HasAudio + ![Control.HasFocus(510) | Control.HasFocus(5100)]</visible>
    </
control>
    <
control type="image"><!-- Logo -->
    <
posx>5</posx>
    <
posy>122</posy>
    <
width>110</width>
    <
height>60</height>
    <
aspectratio align="left" aligny="top">keep</aspectratio>
    <
texture background="true">$INFO[Skin.String(CustomMusicLogoPath)]$INFO[MusicPlayer.Artist,,/logo.png]</texture>
    <
fadetime>FanartCrossFadeTime</fadetime>
    <
visible>Player.HasAudio + ![Control.HasFocus(510) | Control.HasFocus(5100)]</visible>
    </
control>
    <
control type="videowindow" id="8">
    <
posx>5</posx>
    <
posy>115</posy>
    <
width>444</width>
    <
height>250</height>
    <
aspectratio>stretch</aspectratio>
    <
animation effect="slide" start="0,0" end="-2000,0" time="0">WindowClose</animation>
    <
visible>![Control.HasFocus(510) | Control.HasFocus(5100)]</visible>
    </
control>
    <
control type="button" id="4200"><!-- Play/Pause/Resume -->
    <
posx>5</posx>
    <
posy>115</posy>
    <
width>444</width>
    <
height>250</height>
    <
aligny>center</aligny>
    <
label>-</label>
    <
onclick condition="Container(9000).HasFocus(1) + !Player.HasMedia">$INFO[Window(0).Property(RecommendedMovie.1.Play)]</onclick>
    <
onclick condition="Player.HasMedia">PlayerControl(Play)</onclick>
    <
onclick condition="Container(9000).HasFocus(2) + !Player.HasMedia">$INFO[Window(0).Property(RecommendedEpisode.1.Play)]</onclick>
    <
onclick condition="Container(9000).HasFocus(3) + !Player.HasMedia">$INFO[Window(0).Property(RecommendedMusicVideo.1.Play)]</onclick>
    <
onclick condition="Container(9000).HasFocus(4) + !Player.HasMedia">$INFO[Window(0).Property(RecommendedAlbum.1.Play)]</onclick>
    <
onup condition="Control.IsVisible(603)">603</onup>
    <
onup condition="!Control.IsVisible(603)">510</onup>
    <
ondown condition="!Player.HasMedia">9000</ondown>
    <
ondown condition="Player.HasMedia">600</ondown>
    <
onleft>9000</onleft>
    <
onright condition="Control.IsVisible(603)">603</onright>
    <
onright condition="!Control.IsVisible(603)">510</onright>
    <
texturefocus>-</texturefocus>
    <
texturenofocus>-</texturenofocus>
    <
aspectratio>stretch</aspectratio>
    <
colordiffuse>C3FFFFFF</colordiffuse>
    <
visible>[Container(9000).HasFocus(1) + !IsEmpty(Window.Property(RecommendedMovie.1.Title)) | Container(9000).HasFocus(2) + !IsEmpty(Window.Property(RecommendedEpisode.1.Title)) | Container(9000).HasFocus(3) + !IsEmpty(Window.Property(RecommendedMusicVideo.1.Title)) | Container(9000).HasFocus(4) + !IsEmpty(Window.Property(RecommendedAlbum.1.Title)) | Player.HasMedia] + ![Skin.HasSetting(submode) | Window.IsActive(5099)]</visible>
    </
control>
    <
control type="image">
    <
posx>5</posx>
    <
posy>115</posy>
    <
width>444</width>
    <
height>250</height>
    <
align>center</align>
    <
aspectratio>stretch</aspectratio>
    <
texture>black.png</texture>
    <
colordiffuse>C3FFFFFF</colordiffuse>
    <
animation effect="fade" time="300">Hidden</animation>
    <
visible>Control.HasFocus(4200)</visible>
    </
control>
    <
control type="image">
    <
posx>180</posx>
    <
posy>180</posy>
    <
width>100</width>
    <
height>100</height>
    <
align>center</align>
    <
aspectratio>stretch</aspectratio>
    <
texture>$VAR[value_button_playpause]</texture>
    <include>
Animation_Fade</include>
    <
visible>Control.HasFocus(4200)</visible>
    </
control>
    <
control type="label">
    <
posx>20</posx>
    <
posy>285</posy>
    <
width>418</width>
    <
height>30</height>
    <
align>center</align>
    <
font>Font_20</font>
    <
textcolor>FFFFFAF0</textcolor>
    <
label>$VAR[value_title_resume]</label>
    <
scroll>true</scroll>
    <
scrollout>false</scrollout>
    <
visible>Control.HasFocus(4200)</visible>
    </
control>
    <
control type="label"><!-- Titulo do Filme -->
    <
posx>462</posx>
    <
posy>110</posy>
    <
width>459</width>
    <
height>30</height>
    <
align>left</align>
    <
font>Font_19</font>
    <
textcolor>$VAR[value_headercolor]</textcolor>
    <
label>$VAR[value_mftitle]</label>
    <
scroll>true</scroll>
    <
scrollout>false</scrollout>
    </
control>
    <
control type="label"><!-- Subtitulo -->
    <
posx>462</posx>
    <
posy>133</posy>
    <
width>459</width>
    <
height>20</height>
    <
align>left</align>
    <
font>Font_16</font>
    <
textcolor>FFFFFAF0</textcolor>
    <
label>$VAR[value_mfsubtitle]</label>
    <
scroll>true</scroll>
    <
scrollout>false</scrollout>
    </
control>
    <
control type="grouplist"><!-- Etiquetas -->
    <
posx>472</posx>
    <
posy>150</posy>
    <
orientation>horizontal</orientation>
    <
itemgap>2</itemgap>
    <
visible>Control.HasFocus(510) | Control.HasFocus(5100)</visible>
    <
control type="image"><!-- Mpaa -->
    <
width>50</width>
    <
height>40</height>
    <
align>center</align>
    <
aligny>center</aligny>
    <
aspectratio>keep</aspectratio>
    <
texture fallback="flags/rating/MPAA_NR_Certificate_US.png">$VAR[value_mfmpaa]</texture>
    <
colordiffuse>E4101010</colordiffuse>
    <
fadetime>FanartCrossFadeTime</fadetime>
    <
visible>Container(9000).HasFocus(1) | Container(9000).HasFocus(2) | Container(9000).HasFocus(3) | Container(9000).HasFocus(31) | Container(9000).HasFocus(32) | Container(9000).HasFocus(33) | Container(9000).HasFocus(34) | Container(9000).HasFocus(35)</visible>
    </
control>
    <
control type="label">
    <include>
HomeFlagSeparator</include>
    <
visible>Container(9000).HasFocus(1) | Container(9000).HasFocus(2) | Container(9000).HasFocus(3) | Container(9000).HasFocus(31) | Container(9000).HasFocus(32) | Container(9000).HasFocus(33) | Container(9000).HasFocus(34) | Container(9000).HasFocus(35)</visible>
    </
control>
    <
control type="image"><!-- Video Star -->
    <
width>80</width>
    <
height>40</height>
    <
align>center</align>
    <
aligny>center</aligny>
    <
aspectratio>keep</aspectratio>
    <
texture fallback="rating0.png">$VAR[value_mfvideostarrating]</texture>
    <
colordiffuse>$VAR[value_headercolor]</colordiffuse>
    <
fadetime>FanartCrossFadeTime</fadetime>
    <
visible>Container(9000).HasFocus(1) | Container(9000).HasFocus(2) | Container(9000).HasFocus(3)</visible>
    </
control>
    <
control type="image"><!-- Music Star -->
    <
width>80</width>
    <
height>40</height>
    <
align>center</align>
    <
aligny>center</aligny>
    <
aspectratio>keep</aspectratio>
    <
texture fallback="rating0.png">$VAR[value_mfmusicstarrating]</texture>
    <
colordiffuse>$VAR[value_headercolor]</colordiffuse>
    <
fadetime>FanartCrossFadeTime</fadetime>
    <
visible>Container(9000).HasFocus(4)</visible>
    </
control>
    <
control type="label"><!-- Rating -->
    <
width>40</width>
    <include>
HomeFlagLabel</include>
    <
label>$VAR[value_mfrating]</label>
    <
scroll>true</scroll>
    <
visible>!IsEmpty(Container(510).ListItem.Property(Rating))</visible>
    </
control>
    <
control type="label">
    <include>
HomeFlagSeparator</include>
    <
visible>Container(9000).HasFocus(1) | Container(9000).HasFocus(2) | Container(9000).HasFocus(3) | Container(9000).HasFocus(4)</visible>
    </
control>
    <
control type="label"><!-- Ano -->
    <
width>100</width>
    <include>
HomeFlagLabel</include>
    <
label>$VAR[value_mfryear]</label>
    <
scroll>true</scroll>
    <
visible>!IsEmpty(Container(510).ListItem.Property(Year))</visible>
    </
control>
    <
control type="label">
    <include>
HomeFlagSeparator</include>
    <
visible>!IsEmpty(Container(510).ListItem.Property(Year))</visible>
    </
control>
    <
control type="label"><!-- Studio -->
    <
width>200</width>
    <include>
HomeFlagLabel</include>
    <
label>$INFO[Container(510).ListItem.Property(Studio)]</label>
    <
scroll>true</scroll>
    <
visible>!IsEmpty(Container(510).ListItem.Property(Studio))</visible>
    </
control>
    <
control type="label"><!-- Duracao -->
    <
width>120</width>
    <include>
HomeFlagLabel</include>
    <
label>$VAR[value_runtime]</label>
    <
scroll>true</scroll>
    <
visible>Container(9000).HasFocus(1) | Container(9000).HasFocus(2) | Container(9000).HasFocus(3)</visible>
    </
control>
    </
control>
    <
control type="label"><!-- Palavra Em Progresso/Tocando agora/Detalhes -->
    <
posx>472</posx>
    <
posy>149</posy>
    <
width>440</width>
    <
height>41</height>
    <
align>left</align>
    <
aligny>center</aligny>
    <
font>Font_16</font>
    <
textcolor>FF101010</textcolor>
    <
label>$VAR[value_mflabel]</label>
    <
scroll>true</scroll>
    <
scrollout>false</scrollout>
    </
control>
    <
control type="label"><!-- Genero -->
    <
posx>462</posx>
    <
posy>185</posy>
    <
width>463</width>
    <
height>20</height>
    <
align>left</align>
    <
textcolor>FFFFFAF0</textcolor>
    <
font>Font_16</font>
    <
label>$VAR[value_mfgenre]</label>
    <
scroll>true</scroll>
    <
scrollout>false</scrollout>
    </
control>
    <
control type="image">
    <
posx>462</posx>
    <
posy>209</posy>
    <
width>459</width>
    <
height>2</height>
    <
align>left</align>
    <
texture flipx="true">divider.png</texture>
    <
visible>!Player.HasMedia Control.HasFocus(510) | Control.HasFocus(5100)</visible>
    </
control>
    <
control type="progress">
    <
posx>463</posx>
    <
posy>209</posy>
    <
width>457</width>
    <
height>3</height>
    <
aspectratio>stretch</aspectratio>
    <
info>Player.Progress</info>
    <include>
Animation_Fade</include>
    <
visible>Player.HasMedia + ![Control.HasFocus(510) | Control.HasFocus(5100)]</visible>
    </
control>
    <
control type="textbox"><!-- Plot -->
    <
posx>462</posx>
    <
posy>220</posy>
    <
width>459</width>
    <
height>140</height>
    <
align>justify</align>
    <
label>$VAR[value_mfplot]</label>
    <
textcolor>FFFFFAF0</textcolor>
    <
font>Font_16</font>
    <
autoscroll delay="20000" time="3000" repeat="20000">!Skin.HasSetting(noallowscroll)</autoscroll>
    </
control>
    <
control type="image"><!-- Barra de Titulo -->
    <
posx>5</posx>
    <
posy>339</posy>
    <
width>444</width>
    <
height>27</height>
    <
texture>black.png</texture>
    <
colordiffuse>D5FFFFFF</colordiffuse>
    <include>
Animation_Fade</include>
    <
visible>Player.HasMedia+ ![System.IdleTime(5) | Control.HasFocus(510) | Control.HasFocus(5100)]</visible>
    </
control>
    <
control type="group">
    <include>
Animation_Fade</include>
    <
visible>Player.HasMedia+ ![System.IdleTime(5) | Control.HasFocus(510) | Control.HasFocus(5100)]</visible>
    <
control type="label">
    <
posx>436</posx>
    <
posy>344</posy>
    <
width>408</width>
    <
height>20</height>
    <
align>right</align>
    <
font>Font_15</font>
    <
textcolor>$VAR[value_headercolor]</textcolor>
    <
label>$VAR[value_playercontrols]</label>
    <
scroll>true</scroll>
    <
scrollout>false</scrollout>
    </
control>
    <
control type="list" id="600">
    <
posx>10</posx>
    <
posy>342</posy>
    <
width>300</width>
    <
height>40</height>
    <
ondown>9000</ondown>
    <
onup>4200</onup>
    <
onleft>600</onleft>
    <
onright>600</onright>
    <
viewtype>list</viewtype>
    <
orientation>horizontal</orientation>
    <
scrolltime>200</scrolltime>
    <
focusposition>0</focusposition>
    <
itemlayout width="28" height="28">
    <
control type="image">
    <
posx>0</posx>
    <
posy>0</posy>
    <
width>22</width>
    <
height>22</height>
    <
info>ListItem.Icon</info>
    <
colordiffuse>60DCDCDC</colordiffuse>
    <include>
Animation_Fade</include>
    </
control>
    </
itemlayout>
    <
focusedlayout width="28" height="28">
    <
control type="image">
    <
posx>0</posx>
    <
posy>0</posy>
    <
width>22</width>
    <
height>22</height>
    <
info>ListItem.Icon</info>
    <
colordiffuse>60DCDCDC</colordiffuse>
    <include>
Animation_Fade</include>
    <
visible>!Control.HasFocus(600)</visible>
    </
control>
    <
control type="image">
    <
posx>0</posx>
    <
posy>0</posy>
    <
width>22</width>
    <
height>22</height>
    <
info>ListItem.Icon</info>
    <
colordiffuse>DCFFFFFF</colordiffuse>
    <include>
Animation_Fade</include>
    <
visible>Control.HasFocus(600)</visible>
    </
control>
    </
focusedlayout>
    <
content>
    <
item id="1"><!-- play DVD -->
    <
label>-</label>
    <
icon>osd_menu_play_square.png</icon>
    <
onclick>PlayDVD</onclick>
    <
visible>System.HasMediaDVD + ![Player.Playing Player.Paused Player.Forwarding Player.Rewinding]</visible>
    </
item>
    <
item id="4"><!-- playlist -->
    <
label>-</label>
    <
icon>osd_menu_plyalist_square.png</icon>
    <
onclick>ActivateWindow(musicplaylist)</onclick>
    <
visible>Player.HasAudio + !IsEmpty(MusicPlayer.offset(1).Artist)</visible>
    </
item>
    <
item id="5"><!-- stop -->
    <
label>-</label>
    <
icon>osd_menu_stop_square.png</icon>
    <
onclick>PlayerControl(Stop)</onclick>
    <
onclick>SetFocus(9000)</onclick>
    </
item>
    <
item id="6"><!-- skipbwd -->
    <
label>-</label>
    <
icon>osd_menu_skipbwd_square.png</icon>
    <
onclick>PlayerControl(Previous)</onclick>
    <
visible>!VideoPlayer.Content(LiveTV)</visible>
    </
item>
    <
item id="6"><!-- - canal -->
    <
label>-</label>
    <
icon>osd_menu_skipbwd_channeldown.png</icon>
    <
onclick>PlayerControl(Previous)</onclick>
    <
visible>VideoPlayer.Content(LiveTV)</visible>
    </
item>
    <
item id="7"><!-- rew -->
    <
label>-</label>
    <
icon>osd_menu_rew_square.png</icon>
    <
onclick>PlayerControl(Rewind)</onclick>
    </
item>
    <
item id="8"><!-- ff -->
    <
label>-</label>
    <
icon>osd_menu_ff_square.png</icon>
    <
onclick>PlayerControl(Forward)</onclick>
    </
item>
    <
item id="9"><!-- skipfwd -->
    <
label>-</label>
    <
icon>osd_menu_skipfwd_square.png</icon>
    <
onclick>PlayerControl(Next)</onclick>
    <
visible>!VideoPlayer.Content(LiveTV)</visible>
    </
item>
    <
item id="9"><!-- + canal -->
    <
label>-</label>
    <
icon>osd_menu_skipfwd_channelup.png</icon>
    <
onclick>PlayerControl(Next)</onclick>
    <
visible>VideoPlayer.Content(LiveTV)</visible>
    </
item>
    <
item id="10"><!-- repeat -->
    <
label>-</label>
    <
icon>$VAR[value_playericon_repeat]</icon>
    <
onclick>PlayerControl(Repeat)</onclick>
    <
visible>!VideoPlayer.Content(LiveTV)</visible>
    </
item>
    <
item id="11"><!-- random -->
    <
label>-</label>
    <
icon>$VAR[value_playericon_random]</icon>
    <
onclick>PlayerControl(Random)</onclick>
    <
visible>!VideoPlayer.Content(LiveTV)</visible>
    </
item>
    <
item id="12"><!-- go to fullscreen -->
    <
label>-</label>
    <
icon>osd_menu_fullscreen_square.png</icon>
    <
onclick>fullscreen</onclick>
    </
item>
    </
content>
    </
control>
    <
control type="image">
    <
posx>5</posx>
    <
posy>339</posy>
    <
width>414</width>
    <
height>27</height>
    <
texture>gradient_small.png</texture>
    <
colordiffuse>C3FFFFFF</colordiffuse>
    <include>
Animation_Fade</include>
    <
visible>Player.HasMedia+ ![System.IdleTime(5) | Control.HasFocus(510) | Control.HasFocus(5100)]</visible>
    </
control>
    </
control>
    </
control

So.. i'm trying to break down what i have to do.. i hope i can get some help..

1. Running randomandlastitem script, where should the script run and what else should be done?

I noticed on Home.xml the script is implemented like this :

PHP Code:
    <onload condition="System.HasAddon(script.randomandlastitems) + !IsEmpty(skin.string(vpl1.path)) + SubString(skin.string(mfvpl1_list),latest)">RunScript(script.randomandlastitems,limit=12,method=Last,playlist=$INFO[Skin.String(vpl1.path)],menu=Menu31)</onload>
    <
onload condition="System.HasAddon(script.randomandlastitems) + !IsEmpty(skin.string(vpl1.path)) + SubString(skin.string(mfvpl1_list),random)">RunScript(script.randomandlastitems,limit=12,method=Random,playlist=$INFO[Skin.String(vpl1.path)],menu=Menu31)</onload>
    <
onload condition="System.HasAddon(script.randomandlastitems) + !IsEmpty(skin.string(vpl2.path)) + SubString(skin.string(mfvpl2_list),latest)">RunScript(script.randomandlastitems,limit=12,method=Last,playlist=$INFO[Skin.String(vpl2.path)],menu=Menu32)</onload>
    <
onload condition="System.HasAddon(script.randomandlastitems) + !IsEmpty(skin.string(vpl2.path)) + SubString(skin.string(mfvpl2_list),random)">RunScript(script.randomandlastitems,limit=12,method=Random,playlist=$INFO[Skin.String(vpl2.path)],menu=Menu32)</onload>
    <
onload condition="System.HasAddon(script.randomandlastitems) + !IsEmpty(skin.string(vpl3.path)) + SubString(skin.string(mfvpl3_list),latest)">RunScript(script.randomandlastitems,limit=12,method=Last,playlist=$INFO[Skin.String(vpl3.path)],menu=Menu33)</onload>
    <
onload condition="System.HasAddon(script.randomandlastitems) + !IsEmpty(skin.string(vpl3.path)) + SubString(skin.string(mfvpl3_list),random)">RunScript(script.randomandlastitems,limit=12,method=Random,playlist=$INFO[Skin.String(vpl3.path)],menu=Menu33)</onload>
    <
onload condition="System.HasAddon(script.randomandlastitems) + !IsEmpty(skin.string(vpl4.path)) + SubString(skin.string(mfvpl4_list),latest)">RunScript(script.randomandlastitems,limit=12,method=Last,playlist=$INFO[Skin.String(vpl4.path)],menu=Menu34)</onload>
    <
onload condition="System.HasAddon(script.randomandlastitems) + !IsEmpty(skin.string(vpl4.path)) + SubString(skin.string(mfvpl4_list),random)">RunScript(script.randomandlastitems,limit=12,method=Random,playlist=$INFO[Skin.String(vpl4.path)],menu=Menu34)</onload>
    <
onload condition="System.HasAddon(script.randomandlastitems) + !IsEmpty(skin.string(vpl5.path)) + SubString(skin.string(mfvpl5_list),latest)">RunScript(script.randomandlastitems,limit=12,method=Last,playlist=$INFO[Skin.String(vpl5.path)],menu=Menu35)</onload>
    <
onload condition="System.HasAddon(script.randomandlastitems) + !IsEmpty(skin.string(vpl5.path)) + SubString(skin.string(mfvpl5_list),random)">RunScript(script.randomandlastitems,limit=12,method=Random,playlist=$INFO[Skin.String(vpl5.path)],menu=Menu35)</onload>
    <
onload condition="System.HasAddon(script.randomandlastitems) + !IsEmpty(skin.string(apl1.path)) + SubString(skin.string(mfapl1_list),latest)">RunScript(script.randomandlastitems,limit=12,method=Last,playlist=$INFO[Skin.String(apl1.path)],menu=Menu41)</onload>
    <
onload condition="System.HasAddon(script.randomandlastitems) + !IsEmpty(skin.string(apl1.path)) + SubString(skin.string(mfapl1_list),random)">RunScript(script.randomandlastitems,limit=12,method=Random,playlist=$INFO[Skin.String(apl1.path)],menu=Menu41)</onload>
    <
onload condition="System.HasAddon(script.randomandlastitems) + !IsEmpty(skin.string(apl2.path)) + SubString(skin.string(mfapl2_list),latest)">RunScript(script.randomandlastitems,limit=12,method=Last,playlist=$INFO[Skin.String(apl2.path)],menu=Menu42)</onload>
    <
onload condition="System.HasAddon(script.randomandlastitems) + !IsEmpty(skin.string(apl2.path)) + SubString(skin.string(mfapl2_list),random)">RunScript(script.randomandlastitems,limit=12,method=Random,playlist=$INFO[Skin.String(apl2.path)],menu=Menu42)</onload>
    <
onload condition="System.HasAddon(script.randomandlastitems) + !IsEmpty(skin.string(apl3.path)) + SubString(skin.string(mfapl3_list),latest)">RunScript(script.randomandlastitems,limit=12,method=Last,playlist=$INFO[Skin.String(apl3.path)],menu=Menu43)</onload>
    <
onload condition="System.HasAddon(script.randomandlastitems) + !IsEmpty(skin.string(apl3.path)) + SubString(skin.string(mfapl3_list),random)">RunScript(script.randomandlastitems,limit=12,method=Random,playlist=$INFO[Skin.String(apl3.path)],menu=Menu43)</onload>
    <
onload condition="System.HasAddon(script.randomandlastitems) + !IsEmpty(skin.string(apl4.path)) + SubString(skin.string(mfapl4_list),latest)">RunScript(script.randomandlastitems,limit=12,method=Last,playlist=$INFO[Skin.String(apl4.path)],menu=Menu44)</onload>
    <
onload condition="System.HasAddon(script.randomandlastitems) + !IsEmpty(skin.string(apl4.path)) + SubString(skin.string(mfapl4_list),random)">RunScript(script.randomandlastitems,limit=12,method=Random,playlist=$INFO[Skin.String(apl4.path)],menu=Menu44)</onload>
    <
onload condition="System.HasAddon(script.randomandlastitems) + !IsEmpty(skin.string(apl5.path)) + SubString(skin.string(mfapl5_list),latest)">RunScript(script.randomandlastitems,limit=12,method=Last,playlist=$INFO[Skin.String(apl5.path)],menu=Menu45)</onload>
    <
onload condition="System.HasAddon(script.randomandlastitems) + !IsEmpty(skin.string(apl5.path)) + SubString(skin.string(mfapl5_list),random)">RunScript(script.randomandlastitems,limit=12,method=Random,playlist=$INFO[Skin.String(apl5.path)],menu=Menu45)</onload>
    <
onload condition="Player.HasAudio + System.HasAddon(script.artistslideshow)">RunScript(script.artistslideshow)</onload>
    <
onload condition="System.HasAddon(script.favourites) + SubString(skin.string(favourites.menu),on)">RunScript(script.favourites)</onload>
    <
onload condition="Skin.HasSetting(rcbgames)">RunScript(script.games.rom.collection.browser,limit=12)</onload>
    <
onload condition="Skin.HasSetting(rcbgames)">Skin.Reset(rcbgames)</onload

My best guess is i have to make 5 of this :

<onload condition="System.HasAddon(script.randomandlastitems) + !IsEmpty(skin.string(vpl1.path)))">RunScript(script.randomandlastitems,limit=1,method=Random,playlist=special://masterprofile/playlists/video/Recommended_Barat.xsp.path)],menu=Menu51)</onload>

Something like this?
Menu is supposed to be a new value (51) or should i refer it to another menu?
Because i think the other values don't refer to the bottom panel..


2. How should i add the visibility rule ?
PHP Code:
<visible>[[Container(9000).HasFocus(1) + !IsEmpty(Window.Property(RecommendedMovie.1.Title)) | Container(9000).HasFocus(2) + !IsEmpty(Window.Property(RecommendedEpisode.1.Title)) | Container(9000).HasFocus(3) + !IsEmpty(Window.Property(RecommendedMusicVideo.1.Title)) | Container(9000).HasFocus(4) + !IsEmpty(Window.Property(RecommendedAlbum.1.Title))] + ![Skin.HasSetting(noprogresspanel) | Player.HasMedia]  | Player.HasMedia + !Skin.HasSetting(nonowplayingpanel) | Control.HasFocus(510) | Control.HasFocus(5100)] + ![Container(9000).HasFocus(8) | Container(9000).HasFocus(10) | Container(9000).HasFocus(11) | Container(9000).HasFocus(12) | Skin.HasSetting(submode) | Window.IsActive(5099)]</visible


| + Container(9000).HasFocus(?)

I have no idea for this one...
Reply
#2
Ok so i added this to Home.xml to call the script and the parameter i want

PHP Code:
    <onload condition="System.HasAddon(script.randomandlastitems) + !IsEmpty(skin.string(vpl1.path))">RunScript(script.randomandlastitems,limit=1,method=Random,playlist=special://masterprofile/playlists/video/Recommended_Barat.xsp,menu=Menu51)</onload> 

It should work... cos the log didn't show any error..

And i added this to includemenuplaylists.xml to set the properties of the first recommended Movie (visible by focusing on "Film Barat")
(The first menu is referred by menu31)

PHP Code:
    <include name="rec_contentvpl1">
    <
control type="panel" id="510"><!--- Playlist de Video 1 Recommended -->
    <include 
condition="SubString(skin.string(menu),vertical)">panel_video_v</include>
    <include 
condition="SubString(skin.string(menu),horizontal)">panel_video_h</include>
    <
visible>Container(9000).HasFocus(31)</visible>
    <include>
panel_videolayout</include>
    <
content>
    <
item>
    <
label>$INFO[Window(0).Property(PlaylistLastMovieMenu51.1.Title)]</label>
    <
label2>$INFO[Window(0).Property(PlaylistLastMovieMenu51.1.Tagline)]</label2>
    <
icon>$INFO[Window(0).Property(PlaylistLastMovieMenu51.1.Art(poster))]</icon>
    <
property name="Fanart">$INFO[Window(0).Property(PlaylistLastMovieMenu51.1.Art(fanart))]</property>
    <
property name="Genre">$INFO[Window(0).Property(PlaylistLastMovieMenu51.1.Genre)]</property>
    <
property name="Runtime">$INFO[Window(0).Property(PlaylistLastMovieMenu51.1.Runtime)]</property>
    <
property name="Rating">$INFO[Window(0).Property(PlaylistLastMovieMenu51.1.Rating)]</property>
    <
property name="Plot">$INFO[Window(0).Property(PlaylistLastMovieMenu51.1.Plot)]</property>
    <
property name="Year">$INFO[Window(0).Property(PlaylistLastMovieMenu51.1.Year)]</property>
    <
property name="Mpaa">$INFO[Window(0).Property(PlaylistLastMovieMenu51.1.MPAA)]</property>
    <
onclick>Skin.SetString(custom_play,$INFO[Window(0).Property(PlaylistLastMovieMenu51.1.Play)])</onclick>
    <
onclick>Skin.SetString(custom_trailer,$INFO[Window(0).Property(PlaylistLastMovieMenu51.1.Trailer)])</onclick>
    <
onclick condition="!IsEmpty(Window(0).Property(PlaylistLastMovieMenu51.1.Trailer))">ActivateWindow(623)</onclick>
    <
onclick condition="IsEmpty(Window(0).Property(PlaylistLastMovieMenu51.1.Trailer))">$INFO[Window(0).Property(PlaylistLastMovieMenu51.1.Play)]</onclick>
    <
visible>!IsEmpty(Window(0).Property(PlaylistLastMovieMenu51.1.Title))</visible>
    </
item>
    </
content>
    </
control>
    </include> 

Lastly i put this to IncludesMenuV.xml to call it (together with Menu_Content)

PHP Code:
    <content>
    <include 
condition="System.HasAddon(script.randomandlastitems) + ![IsEmpty(skin.string(vpl1.path)) | Skin.HasSetting(novpl1widget)]">rec_contentvpl1</include> 
    <include>
Menu_Content</include>
    </
content


Correction from last post, i added the visibility to the wrong control :

PHP Code:
Container(9000).HasFocus(31

is supposed to go to <control type="group" id="601"><!-- Painel Em Progresso/Painel de detalhes -->

PHP Code:
    <visible>[[Container(9000).HasFocus(1) + !IsEmpty(Window.Property(RecommendedMovie.1.Title)) | Container(9000).HasFocus(31) | Container(9000).HasFocus(2) + !IsEmpty(Window.Property(RecommendedEpisode.1.Title)) | Container(9000).HasFocus(3) + !IsEmpty(Window.Property(RecommendedMusicVideo.1.Title)) | Container(9000).HasFocus(4) + !IsEmpty(Window.Property(RecommendedAlbum.1.Title))] + ![Skin.HasSetting(noprogresspanel) | Player.HasMedia]  | Player.HasMedia + !Skin.HasSetting(nonowplayingpanel) | Control.HasFocus(510) | Control.HasFocus(5100)] + ![Container(9000).HasFocus(8) | Container(9000).HasFocus(10) | Container(9000).HasFocus(11) | Container(9000).HasFocus(12) | Skin.HasSetting(submode) | Window.IsActive(5099)]</visible

It is now showing the bottom panel when the focus is on first menu..
But it's blank, so it still refuses to call the script..

Image

Any idea why?
Reply
#3
try with Window(Home)
Reply
#4
(2013-05-06, 10:03)fmronan Wrote: try with Window(Home)

You mean home.xml?

I've put the <onload> script </script> on home.xml
It becomes like this :


PHP Code:
    <!-- Ace -->

    <
window id="0">
    <
defaultcontrol always="true">9000</defaultcontrol>
    <
allowoverlay>no</allowoverlay>
    <include 
condition="!Skin.HasSetting(welcomedone5)">Startup</include>
    <include 
condition="!Skin.HasSetting(fix5)">Quickfix</include>
    <
onunload condition="Skin.HasSetting(submode)">Close</onunload>
    <
onload condition="System.HasAddon(script.randomandlastitems) + !IsEmpty(skin.string(vpl1.path)) + SubString(skin.string(mfvpl1_list),latest)">RunScript(script.randomandlastitems,limit=12,method=Last,playlist=$INFO[Skin.String(vpl1.path)],menu=Menu31)</onload>
    <
onload condition="System.HasAddon(script.randomandlastitems) + !IsEmpty(skin.string(vpl1.path)) + SubString(skin.string(mfvpl1_list),random)">RunScript(script.randomandlastitems,limit=12,method=Random,playlist=$INFO[Skin.String(vpl1.path)],menu=Menu31)</onload>
    <
onload condition="System.HasAddon(script.randomandlastitems) + !IsEmpty(skin.string(vpl2.path)) + SubString(skin.string(mfvpl2_list),latest)">RunScript(script.randomandlastitems,limit=12,method=Last,playlist=$INFO[Skin.String(vpl2.path)],menu=Menu32)</onload>
    <
onload condition="System.HasAddon(script.randomandlastitems) + !IsEmpty(skin.string(vpl2.path)) + SubString(skin.string(mfvpl2_list),random)">RunScript(script.randomandlastitems,limit=12,method=Random,playlist=$INFO[Skin.String(vpl2.path)],menu=Menu32)</onload>
    <
onload condition="System.HasAddon(script.randomandlastitems) + !IsEmpty(skin.string(vpl3.path)) + SubString(skin.string(mfvpl3_list),latest)">RunScript(script.randomandlastitems,limit=12,method=Last,playlist=$INFO[Skin.String(vpl3.path)],menu=Menu33)</onload>
    <
onload condition="System.HasAddon(script.randomandlastitems) + !IsEmpty(skin.string(vpl3.path)) + SubString(skin.string(mfvpl3_list),random)">RunScript(script.randomandlastitems,limit=12,method=Random,playlist=$INFO[Skin.String(vpl3.path)],menu=Menu33)</onload>
    <
onload condition="System.HasAddon(script.randomandlastitems) + !IsEmpty(skin.string(vpl4.path)) + SubString(skin.string(mfvpl4_list),latest)">RunScript(script.randomandlastitems,limit=12,method=Last,playlist=$INFO[Skin.String(vpl4.path)],menu=Menu34)</onload>
    <
onload condition="System.HasAddon(script.randomandlastitems) + !IsEmpty(skin.string(vpl4.path)) + SubString(skin.string(mfvpl4_list),random)">RunScript(script.randomandlastitems,limit=12,method=Random,playlist=$INFO[Skin.String(vpl4.path)],menu=Menu34)</onload>
    <
onload condition="System.HasAddon(script.randomandlastitems) + !IsEmpty(skin.string(vpl5.path)) + SubString(skin.string(mfvpl5_list),latest)">RunScript(script.randomandlastitems,limit=12,method=Last,playlist=$INFO[Skin.String(vpl5.path)],menu=Menu35)</onload>
    <
onload condition="System.HasAddon(script.randomandlastitems) + !IsEmpty(skin.string(vpl5.path)) + SubString(skin.string(mfvpl5_list),random)">RunScript(script.randomandlastitems,limit=12,method=Random,playlist=$INFO[Skin.String(vpl5.path)],menu=Menu35)</onload>
    <
onload condition="System.HasAddon(script.randomandlastitems) + !IsEmpty(skin.string(apl1.path)) + SubString(skin.string(mfapl1_list),latest)">RunScript(script.randomandlastitems,limit=12,method=Last,playlist=$INFO[Skin.String(apl1.path)],menu=Menu41)</onload>
    <
onload condition="System.HasAddon(script.randomandlastitems) + !IsEmpty(skin.string(apl1.path)) + SubString(skin.string(mfapl1_list),random)">RunScript(script.randomandlastitems,limit=12,method=Random,playlist=$INFO[Skin.String(apl1.path)],menu=Menu41)</onload>
    <
onload condition="System.HasAddon(script.randomandlastitems) + !IsEmpty(skin.string(apl2.path)) + SubString(skin.string(mfapl2_list),latest)">RunScript(script.randomandlastitems,limit=12,method=Last,playlist=$INFO[Skin.String(apl2.path)],menu=Menu42)</onload>
    <
onload condition="System.HasAddon(script.randomandlastitems) + !IsEmpty(skin.string(apl2.path)) + SubString(skin.string(mfapl2_list),random)">RunScript(script.randomandlastitems,limit=12,method=Random,playlist=$INFO[Skin.String(apl2.path)],menu=Menu42)</onload>
    <
onload condition="System.HasAddon(script.randomandlastitems) + !IsEmpty(skin.string(apl3.path)) + SubString(skin.string(mfapl3_list),latest)">RunScript(script.randomandlastitems,limit=12,method=Last,playlist=$INFO[Skin.String(apl3.path)],menu=Menu43)</onload>
    <
onload condition="System.HasAddon(script.randomandlastitems) + !IsEmpty(skin.string(apl3.path)) + SubString(skin.string(mfapl3_list),random)">RunScript(script.randomandlastitems,limit=12,method=Random,playlist=$INFO[Skin.String(apl3.path)],menu=Menu43)</onload>
    <
onload condition="System.HasAddon(script.randomandlastitems) + !IsEmpty(skin.string(apl4.path)) + SubString(skin.string(mfapl4_list),latest)">RunScript(script.randomandlastitems,limit=12,method=Last,playlist=$INFO[Skin.String(apl4.path)],menu=Menu44)</onload>
    <
onload condition="System.HasAddon(script.randomandlastitems) + !IsEmpty(skin.string(apl4.path)) + SubString(skin.string(mfapl4_list),random)">RunScript(script.randomandlastitems,limit=12,method=Random,playlist=$INFO[Skin.String(apl4.path)],menu=Menu44)</onload>
    <
onload condition="System.HasAddon(script.randomandlastitems) + !IsEmpty(skin.string(apl5.path)) + SubString(skin.string(mfapl5_list),latest)">RunScript(script.randomandlastitems,limit=12,method=Last,playlist=$INFO[Skin.String(apl5.path)],menu=Menu45)</onload>
    <
onload condition="System.HasAddon(script.randomandlastitems) + !IsEmpty(skin.string(apl5.path)) + SubString(skin.string(mfapl5_list),random)">RunScript(script.randomandlastitems,limit=12,method=Random,playlist=$INFO[Skin.String(apl5.path)],menu=Menu45)</onload>
    <
onload condition="System.HasAddon(script.randomandlastitems) + !IsEmpty(skin.string(vpl1.path)))">RunScript(script.randomandlastitems,limit=1,method=Random,playlist=$INFO[Skin.String(recvpl1.path)],menu=Menu51)</onload>
    <
onload condition="Player.HasAudio + System.HasAddon(script.artistslideshow)">RunScript(script.artistslideshow)</onload>
    <
onload condition="System.HasAddon(script.favourites) + SubString(skin.string(favourites.menu),on)">RunScript(script.favourites)</onload>
    <
onload condition="Skin.HasSetting(rcbgames)">RunScript(script.games.rom.collection.browser,limit=12)</onload>
    <
onload condition="Skin.HasSetting(rcbgames)">Skin.Reset(rcbgames)</onload>
    <
controls>
    <
control type="multiimage" id="5043"><!-- Extra Fanart Song -->
    <include>
InvisibleButton</include>
    <
imagepath background="true">$INFO[Player.FolderPath,,../extrafanart/]</imagepath>
    <
visible>Player.HasAudio</visible>
    </
control>
    <
control type="multiimage" id="5044"><!-- Extra Fanart Artist -->
    <include>
InvisibleButton</include>
    <
imagepath background="true">$INFO[Skin.String(CustomMusicLogoPath)]$INFO[MusicPlayer.Artist,,/extrafanart/]</imagepath>
    <
visible>Player.HasAudio IsEmpty(Control.GetLabel(5043))</visible>
    </
control>
    <
control type="multiimage">
    <include>
HomeBG</include>
    <
imagepath background="true">$INFO[Container(9000).ListItem.Icon]</imagepath>
    </
control>
    <include>
LiveBG</include>
    <
control type="group"><!-- default group -->
    <include>
Animation_Window</include>
    <include 
condition="SubString(skin.string(menu),vertical)">MenuV</include>
    <include 
condition="SubString(skin.string(menu),horizontal)">MenuH</include>
    <include>
BGBlack</include>
    </
control>
    </
controls>
    </
window

Is there anything else that should be done?

...the idea is when the focus is on "MenuV" the script will run and bottom panel will show the >6 random movies
MenuV is in IncludeMenuV.xml but i've been tweaking it for 2 days now with no luck
Reply
#5
sorry for my english

INFO(window(Home).Property(...
Reply
#6
(2013-05-06, 10:14)fmronan Wrote: sorry for my english

INFO(window(Home).Property(...

I see,
done that,

PHP Code:
    <include name="rec_contentvpl1">
    <
posx>0</posx>
    <
posy>60</posy>
    <
control type="panel" id="510"><!--- Playlist de Video 1 Recommended -->
    <include 
condition="SubString(skin.string(menu),vertical)">panel_video_v</include>
    <include 
condition="SubString(skin.string(menu),horizontal)">panel_video_h</include>
    <
visible>Container(9000).HasFocus(31) </visible>
    <include>
panel_videolayout</include>
    <
content>
    <
item>
    <
label>$INFO[Window(Home).Property(PlaylistLastMovieMenu51.1.Title)]</label>
    <
label2>$INFO[Window(Home).Property(PlaylistLastMovieMenu51.1.Tagline)]</label2>
    <
icon>$INFO[Window(Home).Property(PlaylistLastMovieMenu51.1.Art(poster))]</icon>
    <
property name="Fanart">$INFO[Window(Home).Property(PlaylistLastMovieMenu51.1.Art(fanart))]</property>
    <
property name="Genre">$INFO[Window(Home).Property(PlaylistLastMovieMenu51.1.Genre)]</property>
    <
property name="Runtime">$INFO[Window(Home).Property(PlaylistLastMovieMenu51.1.Runtime)]</property>
    <
property name="Rating">$INFO[Window(Home).Property(PlaylistLastMovieMenu51.1.Rating)]</property>
    <
property name="Plot">$INFO[Window(Home).Property(PlaylistLastMovieMenu51.1.Plot)]</property>
    <
property name="Year">$INFO[Window(Home).Property(PlaylistLastMovieMenu51.1.Year)]</property>
    <
property name="Mpaa">$INFO[Window(Home).Property(PlaylistLastMovieMenu51.1.MPAA)]</property>
    <
onclick>Skin.SetString(custom_play,$INFO[Window(Home).Property(PlaylistLastMovieMenu51.1.Play)])</onclick>
    <
onclick>Skin.SetString(custom_trailer,$INFO[Window(Home).Property(PlaylistLastMovieMenu51.1.Trailer)])</onclick>
    <
onclick condition="!IsEmpty(Window(Home).Property(PlaylistLastMovieMenu51.1.Trailer))">ActivateWindow(623)</onclick>
    <
onclick condition="IsEmpty(Window(Home).Property(PlaylistLastMovieMenu51.1.Trailer))">$INFO[Window(Home).Property(PlaylistLastMovieMenu51.1.Play)]</onclick>
    <
visible>!IsEmpty(Window(0).Property(PlaylistLastMovieMenu51.1.Title))</visible>
    </
item>
    </
content>
    </
control>
    </include> 

but it's still blank



So the problem is either in here

Quote: <content>
<include condition="System.HasAddon(script.randomandlastitems) + ![IsEmpty(skin.string(vpl1.path)) | Skin.HasSetting(novpl1widget)]">rec_contentvpl1</include>
<include>Menu_Content</include>
</content>

Or the visibility

Quote:<visible>[[Container(9000).HasFocus(1) + !IsEmpty(Window.Property(RecommendedMovie.1.Title)) | Container(9000).HasFocus(31) + ![Skin.HasSetting(noprogresspanel) | Player.HasMedia]| Container(9000).HasFocus(2) + !IsEmpty(Window.Property(RecommendedEpisode.1.Title)) | Container(9000).HasFocus(3) + !IsEmpty(Window.Property(RecommendedMusicVideo.1.Title)) | Container(9000).HasFocus(4) + !IsEmpty(Window.Property(RecommendedAlbum.1.Title))] + ![Skin.HasSetting(noprogresspanel) | Player.HasMedia] | Player.HasMedia + !Skin.HasSetting(nonowplayingpanel) | Control.HasFocus(510) | Control.HasFocus(5100)] + ![Container(9000).HasFocus(8) | Container(9000).HasFocus(10) | Container(9000).HasFocus(11) | Container(9000).HasFocus(12) | Skin.HasSetting(submode) | Window.IsActive(5099)]</visible>

(The bold part is what i added)
Reply
#7
For me that's good

IsEmpty(Window(0).property([/php]
Reply
#8
(2013-05-06, 10:39)fmronan Wrote: For me that's good

IsEmpty(Window(0).property([/php]

Fixed it.. still blank though

From my understanding, Ace's structure is like this :

Home.xml >Call MenuV from IncludesMenuV.xml >Call Menu_Content from IncludesVIPMenu.xml

Ace's bottom panel is in includesMenuV.xml <control type="group" id="601">

Did i put this one correctly?

PHP Code:
<include condition="System.HasAddon(script.randomandlastitems) + ![IsEmpty(skin.string(vpl1.path)) | Skin.HasSetting(novpl1widget)]">rec_contentvpl1</include> 

together with Menu_Content?
Reply
#9
remove condition with your include, if that's good , add after
Reply
#10
(2013-05-06, 12:27)fmronan Wrote: remove condition with your include, if that's good , add after

Done, still no luck though...

Quote: <control type="list" id="9000">
<viewtype>list</viewtype>
<posx>0</posx>
<posy>65</posy>
<width>300</width>
<height>583</height>
<onleft>Skin.SetBool(submode)</onleft>
<onleft>ActivateWindow($VAR[Sub_GoTo])</onleft>
<onright condition="Control.IsVisible(601) + !Container(9000).HasFocus(65)">4200</onright>
<onright condition="![Control.IsVisible(601) | Control.IsVisible(603) | Container(9000).HasFocus(8) | Container(9000).HasFocus(65)]">510</onright>
<onright condition="Control.IsVisible(603)">603</onright>
<onright condition="Container(9000).HasFocus(8)">520</onright>
<onright condition="Container(9000).HasFocus(65)">ActivateWindow(111)</onright>
<orientation>vertical</orientation>
<scrolltime>450</scrolltime>
<preloaditems>2</preloaditems>
<focusposition>0</focusposition>
<itemlayout width="300" height="40">
<control type="image">
<posx>0</posx>
<posy>0</posy>
<width>298</width>
<height>3</height>
<texture flipx="true">divider.png</texture>
<colordiffuse>90FFFFFF</colordiffuse>
</control>
<control type="label">
<posx>20</posx>
<posy>1</posy>
<width>260</width>
<height>40</height>
<font>Font_26</font>
<label>$INFO[ListItem.Label]</label>
<align>left</align>
<aligny>center</aligny>
<textcolor>E4101010</textcolor>
</control>
</itemlayout>
<focusedlayout width="300" height="60">
<control type="image">
<posx>0</posx>
<posy>0</posy>
<width>299</width>
<height>60</height>
<texture>settings_button_large.png</texture>
<colordiffuse>$VAR[value_texturecolor]</colordiffuse>
<include>Animation_DefaultGlass</include>
<include>rec_contentvpl1</include>
<animation effect="fade" start="100" end="75" time="0" condition="!Control.Hasfocus(9000)">conditional</animation>
</control>
<control type="label">
<posx>20</posx>
<posy>-8</posy>
<width>260</width>
<height>60</height>
<font>Font_30</font>
<label>$INFO[ListItem.Label]</label>
<align>left</align>
<aligny>center</aligny>
<textcolor>FFFFFAF0</textcolor>
<animation effect="fade" start="100" end="90" time="0" condition="!Control.Hasfocus(9000)">conditional</animation>
</control>
<control type="label">
<posx>40</posx>
<posy>35</posy>
<width>240</width>
<height>20</height>
<font>Font_16</font>
<label>$INFO[ListItem.Label2]</label>
<align>left</align>
<aligny>center</aligny>
<textcolor>FFFFFAF0</textcolor>
<animation effect="slide" end="-20" time="200" condition="!Control.Hasfocus(9000)">conditional</animation>
<animation effect="fade" start="100" end="90" time="0" condition="!Control.Hasfocus(9000)">conditional</animation>
</control>
<control type="image">
<posx>19</posx>
<posy>38</posy>
<width>14</width>
<height>14</height>
<texture>led.png</texture>
<colordiffuse>$VAR[value_headercolor]</colordiffuse>
<include>Animation_Fade</include>
<visible>Control.Hasfocus(9000)</visible>
</control>
</focusedlayout>
<content>
<include>Menu_Content</include>
<include>rec_contentvpl1</include>

</content>
</control>
<include>Glass</include>
</control>

(I also changed the properties to PlaylistRandomMovieMenu51. as suggested on other thread..)
Reply
#11
Yes that's the answer, but better to add
property=(your playlistname) when you run the script

like that you can choose the property name
Reply
#12
(2013-05-06, 13:23)fmronan Wrote: Yes that's the answer, but better to add
property=(your playlistname) when you run the script

like that you can choose the property name

Sorry you mean like this ?

PHP Code:
<include name="rec_contentvpl1">
    <
posx>0</posx>
    <
posy>60</posy>
    <
control type="panel" id="510"><!--- Playlist de Video 1 Recommended -->
    <include 
condition="SubString(skin.string(menu),vertical)">panel_video_v</include>
    <include 
condition="SubString(skin.string(menu),horizontal)">panel_video_h</include>
    <
visible>Container(9000).HasFocus(31) </visible>
    <include>
panel_videolayout</include>
    <
content>
    <
item>
    <
label>$INFO[Window(Home).Property(Recommended_Barat.1.Title)]</label>
    <
label2>$INFO[Window(Home).Property(Recommended_Barat.1.Tagline)]</label2>
    <
icon>$INFO[Window(Home).Property(Recommended_Barat.1.Art(poster))]</icon>
    <
property name="Fanart">$INFO[Window(Home).Property(Recommended_Barat.1.Art(fanart))]</property>
    <
property name="Genre">$INFO[Window(Home).Property(Recommended_Barat.1.Genre)]</property>
    <
property name="Runtime">$INFO[Window(Home).Property(Recommended_Barat.1.Runtime)]</property>
    <
property name="Rating">$INFO[Window(Home).Property(Recommended_Barat.1.Rating)]</property>
    <
property name="Plot">$INFO[Window(Home).Property(Recommended_Barat.1.Plot)]</property>
    <
property name="Year">$INFO[Window(Home).Property(Recommended_Barat.1.Year)]</property>
    <
property name="Mpaa">$INFO[Window(Home).Property(Recommended_Barat.1.MPAA)]</property>
    <
onclick>Skin.SetString(custom_play,$INFO[Window(Home).Property(Recommended_Barat.1.Play)])</onclick>
    <
onclick>Skin.SetString(custom_trailer,$INFO[Window(Home).Property(Recommended_Barat.1.Trailer)])</onclick>
    <
onclick condition="!IsEmpty(Window(Home).Property(Recommended_Barat.1.Trailer))">ActivateWindow(623)</onclick>
    <
onclick condition="IsEmpty(Window(Home).Property(Recommended_Barat.1.Trailer))">$INFO[Window(Home).Property(Recommended_Barat.1.Play)]</onclick>
    <
visible>!IsEmpty(Window(0).Property(Recommended_Barat.1.Title))</visible>
    </
item>
    </
content>
    </
control>
    </include> 
Recommended_Barat is the playlist name..
Still won't work. It shouldn't affect the result right?
Sorry if i'm a bit slow,
programming is not my background so this is more like trial and error for me lol...
Reply
#13
Since visibility could be the problem, i'll try breaking down each visibility conditions, please correct me if i'm wrong
No 1 (bold) is the part i added

Current bottom panel visibility conditions :

Quote:<visible>

1. Container(9000).HasFocus(31) |
2. [[Container(9000).HasFocus(1) + !IsEmpty(Window.Property(RecommendedMovie.1.Title))
3. | Player.HasMedia]
4. | Container(9000).HasFocus(2) + !IsEmpty(Window.Property(RecommendedEpisode.1.Title))
5. | Container(9000).HasFocus(3) + !IsEmpty(Window.Property(RecommendedMusicVideo.1.Title))
6. | Container(9000).HasFocus(4) + !IsEmpty(Window.Property(RecommendedAlbum.1.Title))] + ![Skin.HasSetting(noprogresspanel) | Player.HasMedia]
7. | Player.HasMedia + !Skin.HasSetting(nonowplayingpanel)
8. | Control.HasFocus(510)
9. | Control.HasFocus(5100)] + ![Container(9000).HasFocus(8) | Container(9000).HasFocus(10) | Container(9000).HasFocus(11) | Container(9000).HasFocus(12) | Skin.HasSetting(submode) | Window.IsActive(5099)]

</visible>

1. Visible if focus is on the first Menu (Film Barat in this case)
2. Visible if focus is on the "Movies" Menu AND at least 1 movie title exists
3. Visible if there's a movie playing?
4. Visible if focus is on the "TV shows" Menu AND at least 1 episode title exists
5. Visible if focus is on the "Concert" Menu AND at least 1 music video title exists
6. Visible if focus is on the "Music" Menu AND at least 1 album title exists AND no progress panel is set
7. Visible if a movie is playing AND setting has panel now playing
8. Visible if the focus is on Recent items panel (Upper panel)
9. Visible if the focus is on Recently Added / Random switch on top AND the focus is not on Weather / Disco / My Menu 1 / My Menu 2 / submode is activated on setting / Smart menu is active

Given the visibility conditions above, did i give the correct condition?

* i just noticed item id = 51 already used, guess i'll change it to 90 just in case
Reply
#14
Anyone?
I really have no idea why the script won't run

Edit :

I mod the upper panel to run the rating > 6 playlist instead..
and limit the number to 1,
it works, even though it only randomizes when i go in and out a menu
so there should be no problem with the script.

Image

So it's either the visibility or the way i call the script that's incorrect..
Reply
#15
I'm trying to achieve the same thing but then for Currently playing movies (or how you want to name it) like you have in standard menu's (Movies/Series).
It doesn't seem to work now for vplaylists.

When i successfully added it (or fixed it) i'll post here.
Reply

Logout Mark Read Team Forum Stats Members Help
Modding Ace's bottom panel0