Modding Ace's bottom panel
#16
(2013-05-07, 08:13)schumi2004 Wrote: 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.

For Ace skin?
I thought currently playing already exists?
Play a movie, press esc twice and it will bring you to the home screen,
in Ace the bottom panel shows the currently playing movie...

Or probably you meant something else?
Reply
#17
(2013-05-07, 08:27)denywinarto Wrote:
(2013-05-07, 08:13)schumi2004 Wrote: 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.

For Ace skin?
I thought currently playing already exists?
Play a movie, press esc twice and it will bring you to the home screen,
in Ace the bottom panel shows the currently playing movie...

Or probably you meant something else?
Yeah but not for SMART PLAYLIST menu items.

I'm wondering if it's even supported by script? Progress Window i mean.
Reply
#18
(2013-05-07, 08:29)schumi2004 Wrote:
(2013-05-07, 08:27)denywinarto Wrote:
(2013-05-07, 08:13)schumi2004 Wrote: 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.

For Ace skin?
I thought currently playing already exists?
Play a movie, press esc twice and it will bring you to the home screen,
in Ace the bottom panel shows the currently playing movie...

Or probably you meant something else?
Yeah but not for SMART PLAYLIST menu items.

I'm wondering if it's even supported by script? Progress Window i mean.

Image
That one?

All the menu on the left are smart playlist menu / Video Playlist
Reply
#19
No that's what your currently watching i mean this one

Image

I cheked code and support is there (i think) but only recently (last 2 commits)

https://github.com/XBMC-Addons/script.ra...its/master
Reply
#20
@schumi2004 : you'd better ask mike the one who created the script, i think your problem is different, it's in the script,
mine is just the matter of displaying the script -_-

I'm trying a different way now,
I created vpl7, the sixth menu "called recommended barat" for experiment

Image

I figured out when you switch random / latest button on top, the content randomizes
This is the related code:
PHP Code:
    <include name="RecentRandomSelector">
    <
onfocus>SetFocus(5100)</onfocus>
    <
onfocus condition="Container(9000).HasFocus(1) + SubString(skin.string(mfmovies_list),latest)">Skin.SetString(mfmovies_list,random)</onfocus>
    <
onfocus condition="Container(9000).HasFocus(1) + SubString(skin.string(mfmovies_list),random)">Skin.SetString(mfmovies_list,inprogress)</onfocus>
    <
onfocus condition="Container(9000).HasFocus(1) + SubString(skin.string(mfmovies_list),inprogress)">Skin.SetString(mfmovies_list,latest)</onfocus>
    <
onfocus condition="Container(9000).HasFocus(2) + SubString(skin.string(mftvshows_list),latest)">Skin.SetString(mftvshows_list,random)</onfocus>
    <
onfocus condition="Container(9000).HasFocus(2) + SubString(skin.string(mftvshows_list),random)">Skin.SetString(mftvshows_list,inprogress)</onfocus>
    <
onfocus condition="Container(9000).HasFocus(2) + SubString(skin.string(mftvshows_list),inprogress)">Skin.SetString(mftvshows_list,latest)</onfocus>
    <
onfocus condition="Container(9000).HasFocus(3) + SubString(skin.string(mfconcerts_list),latest)">Skin.SetString(mfconcerts_list,random)</onfocus>
    <
onfocus condition="Container(9000).HasFocus(3) + SubString(skin.string(mfconcerts_list),random)">Skin.SetString(mfconcerts_list,inprogress)</onfocus>
    <
onfocus condition="Container(9000).HasFocus(3) + SubString(skin.string(mfconcerts_list),inprogress)">Skin.SetString(mfconcerts_list,latest)</onfocus>
    <
onfocus condition="Container(9000).HasFocus(4) + SubString(skin.string(mfmusic_list),latestsong)">Skin.SetString(mfmusic_list,latestalbum)</onfocus>
    <
onfocus condition="Container(9000).HasFocus(4) + SubString(skin.string(mfmusic_list),latestalbum)">Skin.SetString(mfmusic_list,randomsong)</onfocus>
    <
onfocus condition="Container(9000).HasFocus(4) + SubString(skin.string(mfmusic_list),randomsong)">Skin.SetString(mfmusic_list,randomalbum)</onfocus>
    <
onfocus condition="Container(9000).HasFocus(4) + SubString(skin.string(mfmusic_list),randomalbum)">Skin.SetString(mfmusic_list,randomartist)</onfocus>
    <
onfocus condition="Container(9000).HasFocus(4) + SubString(skin.string(mfmusic_list),randomartist)">Skin.SetString(mfmusic_list,inprogress)</onfocus>
    <
onfocus condition="Container(9000).HasFocus(4) + SubString(skin.string(mfmusic_list),inprogress)">Skin.SetString(mfmusic_list,latestsong)</onfocus>
    <
onfocus condition="Container(9000).HasFocus(31) + SubString(skin.string(mfvpl1_list),latest)">Skin.SetString(mfvpl1_list,random)</onfocus>
    <
onfocus condition="Container(9000).HasFocus(31) + SubString(skin.string(mfvpl1_list),random)">Skin.SetString(mfvpl1_list,latest)</onfocus>
    <
onfocus condition="Container(9000).HasFocus(31) + SubString(skin.string(mfvpl1_list),latest)">RunScript(script.randomandlastitems,limit=12,method=Random,playlist=$INFO[Skin.String(vpl1.path)],menu=Menu31)</onfocus>
    <
onfocus condition="Container(9000).HasFocus(31) + SubString(skin.string(mfvpl1_list),random)">RunScript(script.randomandlastitems,limit=12,method=Last,playlist=$INFO[Skin.String(vpl1.path)],menu=Menu31)</onfocus>
    <
onfocus condition="Container(9000).HasFocus(32) + SubString(skin.string(mfvpl2_list),latest)">Skin.SetString(mfvpl2_list,random)</onfocus>
    <
onfocus condition="Container(9000).HasFocus(32) + SubString(skin.string(mfvpl2_list),random)">Skin.SetString(mfvpl2_list,latest)</onfocus>
    <
onfocus condition="Container(9000).HasFocus(32) + SubString(skin.string(mfvpl2_list),latest)">RunScript(script.randomandlastitems,limit=12,method=Random,playlist=$INFO[Skin.String(vpl2.path)],menu=Menu32)</onfocus>
    <
onfocus condition="Container(9000).HasFocus(32) + SubString(skin.string(mfvpl2_list),random)">RunScript(script.randomandlastitems,limit=12,method=Last,playlist=$INFO[Skin.String(vpl2.path)],menu=Menu32)</onfocus>
    <
onfocus condition="Container(9000).HasFocus(33) + SubString(skin.string(mfvpl3_list),latest)">Skin.SetString(mfvpl3_list,random)</onfocus>
    <
onfocus condition="Container(9000).HasFocus(33) + SubString(skin.string(mfvpl3_list),random)">Skin.SetString(mfvpl3_list,latest)</onfocus>
    <
onfocus condition="Container(9000).HasFocus(33) + SubString(skin.string(mfvpl3_list),latest)">RunScript(script.randomandlastitems,limit=12,method=Random,playlist=$INFO[Skin.String(vpl3.path)],menu=Menu33)</onfocus>
    <
onfocus condition="Container(9000).HasFocus(33) + SubString(skin.string(mfvpl3_list),random)">RunScript(script.randomandlastitems,limit=12,method=Last,playlist=$INFO[Skin.String(vpl3.path)],menu=Menu33)</onfocus>
    <
onfocus condition="Container(9000).HasFocus(34) + SubString(skin.string(mfvpl4_list),latest)">Skin.SetString(mfvpl4_list,random)</onfocus>
    <
onfocus condition="Container(9000).HasFocus(34) + SubString(skin.string(mfvpl4_list),random)">Skin.SetString(mfvpl4_list,latest)</onfocus>
    <
onfocus condition="Container(9000).HasFocus(34) + SubString(skin.string(mfvpl4_list),latest)">RunScript(script.randomandlastitems,limit=12,method=Random,playlist=$INFO[Skin.String(vpl4.path)],menu=Menu34)</onfocus>
    <
onfocus condition="Container(9000).HasFocus(34) + SubString(skin.string(mfvpl4_list),random)">RunScript(script.randomandlastitems,limit=12,method=Last,playlist=$INFO[Skin.String(vpl4.path)],menu=Menu34)</onfocus>
    <
onfocus condition="Container(9000).HasFocus(35) + SubString(skin.string(mfvpl5_list),latest)">Skin.SetString(mfvpl5_list,random)</onfocus>
    <
onfocus condition="Container(9000).HasFocus(35) + SubString(skin.string(mfvpl5_list),random)">Skin.SetString(mfvpl5_list,latest)</onfocus>
    <
onfocus condition="Container(9000).HasFocus(35) + SubString(skin.string(mfvpl5_list),latest)">RunScript(script.randomandlastitems,limit=12,method=Random,playlist=$INFO[Skin.String(vpl5.path)],menu=Menu35)</onfocus>
    <
onfocus condition="Container(9000).HasFocus(35) + SubString(skin.string(mfvpl5_list),random)">RunScript(script.randomandlastitems,limit=12,method=Last,playlist=$INFO[Skin.String(vpl5.path)],menu=Menu35)</onfocus>
    <
onfocus condition="Container(9000).HasFocus(37) + SubString(skin.string(mfvpl7_list),latest)">Skin.SetString(mfvpl7_list,random)</onfocus>
    <
onfocus condition="Container(9000).HasFocus(37) + SubString(skin.string(mfvpl7_list),random)">Skin.SetString(mfvpl7_list,latest)</onfocus>
    <
onfocus condition="Container(9000).HasFocus(37) + SubString(skin.string(mfvpl7_list),latest)">RunScript(script.randomandlastitems,limit=1,method=Random,playlist=$INFO[Skin.String(vpl7.path)],menu=Menu37)</onfocus>    
    <
onfocus condition="Container(9000).HasFocus(37) + SubString(skin.string(mfvpl7_list),random)">RunScript(script.randomandlastitems,limit=12,method=Last,playlist=$INFO[Skin.String(vpl7.path)],menu=Menu37)</onfocus>    
    <
onfocus condition="Container(9000).HasFocus(41) + SubString(skin.string(mfapl1_list),latest)">Skin.SetString(mfapl1_list,random)</onfocus>
    <
onfocus condition="Container(9000).HasFocus(41) + SubString(skin.string(mfapl1_list),random)">Skin.SetString(mfapl1_list,latest)</onfocus>
    <
onfocus condition="Container(9000).HasFocus(41) + SubString(skin.string(mfapl1_list),latest)">RunScript(script.randomandlastitems,limit=12,method=Random,playlist=$INFO[Skin.String(apl1.path)],menu=Menu41)</onfocus>
    <
onfocus condition="Container(9000).HasFocus(41) + SubString(skin.string(mfapl1_list),random)">RunScript(script.randomandlastitems,limit=12,method=Last,playlist=$INFO[Skin.String(apl1.path)],menu=Menu41)</onfocus>
    <
onfocus condition="Container(9000).HasFocus(42) + SubString(skin.string(mfapl2_list),latest)">Skin.SetString(mfapl2_list,random)</onfocus>
    <
onfocus condition="Container(9000).HasFocus(42) + SubString(skin.string(mfapl2_list),random)">Skin.SetString(mfapl2_list,latest)</onfocus>
    <
onfocus condition="Container(9000).HasFocus(42) + SubString(skin.string(mfapl2_list),latest)">RunScript(script.randomandlastitems,limit=12,method=Random,playlist=$INFO[Skin.String(apl2.path)],menu=Menu42)</onfocus>
    <
onfocus condition="Container(9000).HasFocus(42) + SubString(skin.string(mfapl2_list),random)">RunScript(script.randomandlastitems,limit=12,method=Last,playlist=$INFO[Skin.String(apl2.path)],menu=Menu42)</onfocus>
    <
onfocus condition="Container(9000).HasFocus(43) + SubString(skin.string(mfapl3_list),latest)">Skin.SetString(mfapl3_list,random)</onfocus>
    <
onfocus condition="Container(9000).HasFocus(43) + SubString(skin.string(mfapl3_list),random)">Skin.SetString(mfapl3_list,latest)</onfocus>
    <
onfocus condition="Container(9000).HasFocus(43) + SubString(skin.string(mfapl3_list),latest)">RunScript(script.randomandlastitems,limit=12,method=Random,playlist=$INFO[Skin.String(apl3.path)],menu=Menu43)</onfocus>
    <
onfocus condition="Container(9000).HasFocus(43) + SubString(skin.string(mfapl3_list),random)">RunScript(script.randomandlastitems,limit=12,method=Last,playlist=$INFO[Skin.String(apl3.path)],menu=Menu43)</onfocus>
    <
onfocus condition="Container(9000).HasFocus(44) + SubString(skin.string(mfapl4_list),latest)">Skin.SetString(mfapl4_list,random)</onfocus>
    <
onfocus condition="Container(9000).HasFocus(44) + SubString(skin.string(mfapl4_list),random)">Skin.SetString(mfapl4_list,latest)</onfocus>
    <
onfocus condition="Container(9000).HasFocus(44) + SubString(skin.string(mfapl4_list),latest)">RunScript(script.randomandlastitems,limit=12,method=Random,playlist=$INFO[Skin.String(apl4.path)],menu=Menu44)</onfocus>
    <
onfocus condition="Container(9000).HasFocus(44) + SubString(skin.string(mfapl4_list),random)">RunScript(script.randomandlastitems,limit=12,method=Last,playlist=$INFO[Skin.String(apl4.path)],menu=Menu44)</onfocus>
    <
onfocus condition="Container(9000).HasFocus(45) + SubString(skin.string(mfapl5_list),latest)">Skin.SetString(mfapl5_list,random)</onfocus>
    <
onfocus condition="Container(9000).HasFocus(45) + SubString(skin.string(mfapl5_list),random)">Skin.SetString(mfapl5_list,latest)</onfocus>
    <
onfocus condition="Container(9000).HasFocus(45) + SubString(skin.string(mfapl5_list),latest)">RunScript(script.randomandlastitems,limit=12,method=Random,playlist=$INFO[Skin.String(apl5.path)],menu=Menu45)</onfocus>
    <
onfocus condition="Container(9000).HasFocus(45) + SubString(skin.string(mfapl5_list),random)">RunScript(script.randomandlastitems,limit=12,method=Last,playlist=$INFO[Skin.String(apl5.path)],menu=Menu45)</onfocus>
    </include> 

vpl7.path uses the > 6 movies playlist,

So i'm trying to import this method
so when the "recommended barat" menu (vpl7) is on focus,
the script runs and randomizes the content..

PHP Code:
    <item id="37"><!-- Vpl 7 -->
    <
label fallback="31072">$INFO[skin.string(vpl7.label)]</label>
    <
label2 fallback="31107">$VAR[value_libraryvpl7]</label2>
    <
icon fallback="special://skin/backgrounds/vplaylist.jpg">$VAR[value_mainmenubg_vpl7]</icon>
    <
onclick>Skin.SetBool(playlists)</onclick>
    <
onclick>Skin.SetString(playlist,7)</onclick>
    <
onclick>ActivateWindow(videolibrary,$INFO[skin.string(vpl7.path)],return)</onclick>
    <
onfocus>RunScript(script.randomandlastitems,limit=1,method=Random,playlist=$INFO[Skin.String(vpl7.path)],menu=Menu37)</onfocus>    
    <
visible>!IsEmpty(skin.string(vpl7.path))</visible>
    </
item

But it won't work, any idea why?

Basically i want something like <onfocus>runscript</onfocus>

Edit :

Ok i'm confused now,
PHP Code:
    <onclick>RunScript(script.randomandlastitems,limit=1,method=Random,playlist=$INFO[Skin.String(vpl7.path)],menu=Menu37)</onclick


Onclick works, when i click the menu the item randomizes,
but how come it doesn't work with onfocus?
Reply
#21
http://wiki.xbmc.org/?title=Static_List_Content
Image [RELEASE] Metroid
Image [RELEASE] IrcChat
Reply
#22
(2013-05-07, 19:59)MassIV Wrote: http://wiki.xbmc.org/?title=Static_List_Content

I see, so <onfocus>runscript</onfocus> is not possible cause it's not a static content?..
Then how do i achieve this for menu item MassIV?

I tried creating button control within list container :

PHP Code:
    <control type="button" id="1">
    <
posx>0</posx>
    <
posy>0</posy>
    <
width>260</width>
    <
height>60</height>
    <
onfocus condition="Container(9000).HasFocus(37))">RunScript(script.randomandlastitems,limit=1,method=Random,playlist=$INFO[Skin.String(vpl7.path)],menu=Menu37)</onfocus>    
    </
control

The menu looks funny now but still doesn't work..
Reply
#23
Button goes in the focused layout.

Code:
<control type="button">
    <onfocus condition="!IsEmpty(Container(9000).ListItem.Property(RunScript_OnFocus)">RunScript(script.randomandlastitems, something=1</onfocus>
    <visible allowhiddenfocus="true">false</visible>
    <enable>System.HasAddon(script.randomandlastitems) + !IsEmpty(skin.string(some.path))</enable>
</control>
And a property for the item
Code:
<property name="RunScript_OnFocus">not_empty</property>

But <onfocus> for ListItems might me a good feature request.
Image [RELEASE] Metroid
Image [RELEASE] IrcChat
Reply
#24
(2013-05-08, 02:28)MassIV Wrote: Button goes in the focused layout.

Code:
<control type="button">
    <onfocus condition="!IsEmpty(Container(9000).ListItem.Property(RunScript_OnFocus)">RunScript(script.randomandlastitems, something=1</onfocus>
    <visible allowhiddenfocus="true">false</visible>
    <enable>System.HasAddon(script.randomandlastitems) + !IsEmpty(skin.string(some.path))</enable>
</control>
And a property for the item
Code:
<property name="RunScript_OnFocus">not_empty</property>

But <onfocus> for ListItems might me a good feature request.

Thanks a bunch MassIV Big Grin

It seems to do the trick,
But after trying to implement it on first menu i just realized something.
What i asked for requires 2 different script to run together..

Upper panel runs recently added items
bottom panel runs random item

Because both run while the respective menu is onfocus

Is this possible ?

something like this

PHP Code:
<include name="RecommendedFocus">
    <
onfocus condition="Container(9000).HasFocus(31) + !IsEmpty(Container(9000).ListItem.Property(RunScript_OnFocus)">RunScript(script.randomandlastitems,limit=12,method=Last,playlist=$INFO[Skin.String(vpl1.path)],menu=Menu31)</onfocus>
    <
onfocus condition="Container(9000).HasFocus(31) + !IsEmpty(Container(9000).ListItem.Property(RunScript_OnFocus)">RunScript(script.randomandlastitems,limit=1,method=Random,playlist=special://masterprofile/playlists/video/Recommended_Barat.xsp,menu=Menu31)</onfocus>
    
<visible allowhiddenfocus="true">false</visible>
    </include> 
Reply
#25
I think i found a workaround with <onunfocus>
.. Got another visibility problem though,
Assuming script A is <onfocus> and script B is <onunfocus>
how do you say this :

<visible>Container(9000).HasFocus(31) + "script A is enabled" </visible> ?

Script A is latest movies
Script B is random movies

The only different between them is
A have latest property B have random property

A :

PHP Code:
    <item>
    <
label>$INFO[Window(0).Property(PlaylistLastMovieMenu31.1.Title)]</label>
    <
label2>$INFO[Window(0).Property(PlaylistLastMovieMenu31.1.Tagline)]</label2>
    <
icon>$INFO[Window(0).Property(PlaylistLastMovieMenu31.1.Art(poster))]</icon>
    <
property name="Fanart">$INFO[Window(0).Property(PlaylistLastMovieMenu31.1.Art(fanart))]</property>
    <
property name="Genre">$INFO[Window(0).Property(PlaylistLastMovieMenu31.1.Genre)]</property>
    <
property name="Runtime">$INFO[Window(0).Property(PlaylistLastMovieMenu31.1.Runtime)]</property>
    <
property name="Rating">$INFO[Window(0).Property(PlaylistLastMovieMenu31.1.Rating)]</property>
    <
property name="Plot">$INFO[Window(0).Property(PlaylistLastMovieMenu31.1.Plot)]</property>
    <
property name="Year">$INFO[Window(0).Property(PlaylistLastMovieMenu31.1.Year)]</property>
    <
property name="Mpaa">$INFO[Window(0).Property(PlaylistLastMovieMenu31.1.MPAA)]</property>
    <
onclick>Skin.SetString(custom_play,$INFO[Window(0).Property(PlaylistLastMovieMenu31.1.Play)])</onclick>
    <
onclick>Skin.SetString(custom_trailer,$INFO[Window(0).Property(PlaylistLastMovieMenu31.1.Trailer)])</onclick>
    <
onclick condition="!IsEmpty(Window(0).Property(PlaylistLastMovieMenu31.1.Trailer))">ActivateWindow(623)</onclick>
    <
onclick condition="IsEmpty(Window(0).Property(PlaylistLastMovieMenu31.1.Trailer))">$INFO[Window(0).Property(PlaylistLastMovieMenu31.1.Play)]</onclick>
    <
visible>!IsEmpty(Window(0).Property(PlaylistLastMovieMenu31.1.Title))</visible>
    </
item

B

PHP Code:
    <item>
    <
label>$INFO[Window(0).Property(PlaylistRandomMovieMenu31.1.Title)]</label>
    <
label2>$INFO[Window(0).Property(PlaylistRandomMovieMenu31.1.Tagline)]</label2>
    <
icon>$INFO[Window(0).Property(PlaylistRandomMovieMenu31.1.Art(poster))]</icon>
    <
property name="Fanart">$INFO[Window(0).Property(PlaylistRandomMovieMenu31.1.Art(fanart))]</property>
    <
property name="Genre">$INFO[Window(0).Property(PlaylistRandomMovieMenu31.1.Genre)]</property>
    <
property name="Runtime">$INFO[Window(0).Property(PlaylistRandomMovieMenu31.1.Runtime)]</property>
    <
property name="Rating">$INFO[Window(0).Property(PlaylistRandomMovieMenu31.1.Rating)]</property>
    <
property name="Plot">$INFO[Window(0).Property(PlaylistRandomMovieMenu31.1.Plot)]</property>
    <
property name="Year">$INFO[Window(0).Property(PlaylistRandomMovieMenu31.1.Year)]</property>
    <
property name="Mpaa">$INFO[Window(0).Property(PlaylistRandomMovieMenu31.1.MPAA)]</property>
    <
onclick>Skin.SetString(custom_play,$INFO[Window(0).Property(PlaylistRandomMovieMenu31.1.Play)])</onclick>
    <
onclick>Skin.SetString(custom_trailer,$INFO[Window(0).Property(PlaylistRandomMovieMenu31.1.Trailer)])</onclick>
    <
onclick condition="!IsEmpty(Window(0).Property(PlaylistRandomMovieMenu31.1.Trailer))">ActivateWindow(623)</onclick>
    <
onclick condition="IsEmpty(Window(0).Property(PlaylistRandomMovieMenu31.1.Trailer))">$INFO[Window(0).Property(PlaylistRandomMovieMenu31.1.Play)]</onclick>
    <
visible>!IsEmpty(Window(0).Property(PlaylistRandomMovieMenu31.1.Title))</visible>
    </
item
Reply
#26
Ok, i changed i approach to prevent double script..
I added a star on the menu,
And whenever that star is clicked the bottom panel shows the random >6 movies..

Image

Can't get it to work though,

PHP Code:
    <control type="image">
    <
posx>230</posx>
    <
posy>12</posy>
    <
texture flipx="true">star-icon-focus.png</texture>
    <
onclick condition="Container(9000).HasFocus(31) + !IsEmpty(Container(9000).ListItem.Property(RunScript_OnFocus)">RunScript(script.randomandlastitems,limit=1,method=Random,playlist=special://masterprofile/playlists/video/Recommended_Barat.xsp,menu=Menu31)</onclick>
    
</control

When i click it always goes to that menu's address
it seems to be conflicting with the main menu onclick
Reply
#27
Image controls do not support <onclick>

http://wiki.xbmc.org/?title=Image_Control
Image [RELEASE] Metroid
Image [RELEASE] IrcChat
Reply

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