ActivateWindow() - passing dir/path to custom window
#1
Hi

I'm trying to add a new window to my custom skin (copied from Estuary) that will display a smart playlist items in a list depending on what button is clicked on the previous window I want to display a different playlist.

Question: How do I pas the playlist path in to the new window?

It looks like this works with MyVideoNav.xml and I've half worked out that the window needs to have a list control and somehow it figures out which control to fill/provide with the list items. Tried making my control have id=50 and setting <views>50</views><defaultcontrol always="true">50</defaultcontrol>

I'm calling the window with...

<onclick>ActivateWindow(1152,special://skin/playlists/recent_unwatched_movies.xsp,return)</onclick>

But my list never gets any items - it does show the controls if I manually give it a <content> element with the playlist.

Anyone got any ideas? Have I got the wrong end of the stick? I'd be happy to just use the one playlist if I could then pass in the field values to filter on - is this possible?

Thanks for any help given.

Cheers

Dave
Reply
#2
For a custom window try using window properties to hold the content path.

e.g. In your list control in your custom window 1152:
Code:
<content target="videos">$INFO[Window(Home).Property(1152_Content)]</content>

Then call your window like so:
Code:
<onclick>SetProperty(1152_Content,special://skin/playlists/recent_unwatched_movies.xsp,Home)</onclick>
<onclick>ActivateWindow(1152)</onclick>

If you are using the window for both music and videos, then you can also set the content target property in a similar way.


FYI - Library windows like MyVideoNav work differently to Custom windows. Library windows have their current active view container (defined in <views>) autofilled by the current library path. Custom windows don't use <views> tags and so don't have autofilled content paths - so you need to do it manually for those instead.
Arctic Fuse - Alpha now available. Support me on Ko-fi.
Reply
#3
Hey

Thanks for the reply, I'll give it a try later today. I had tried something like this with the SetString type functions but couldn't get it to work. Window Properties is what I need and now making me think I can improve my functionality.

Do you know if there is a way to pass the values in to the playlist? Maybe with URL encoding?
Code:
special://skin/playlists/recent_unwatched_movies.xsp?set="Series Name"

Ideally I want to change the playlist field values based on toggle buttons clicked on the previous page - so a rough/simple filter logic, genre=Kids, tag=Animation sort of thing. I have 5 genres and 6 tags so creating a playlist for every combination is a pain but still doable if it comes to it.

Cheers

Dave
Reply
#4
Why not simply open them in the videos window?

xml:
<onclick>ActivateWindow(Videos,special://skin/playlists/recent_unwatched_movies.xsp,return)</onclick>
Reply
#5
Hey

We are trying to create a skin that has a very simple layout and minimal UI to drive.

* First Page - Welcome Message (click anywhere to go to second)
* Second Page - Display 3 buttons - Category1, Category2, Category3
* Third Page - Display 11 filter buttons - each button represents a tag value of genre value
* Forth Page - horizontal list of thumbs, playlist/content based on Category, Genre and Tag chosen on previous pages

Admin and setup will be via the original skin. This skin will be assigned to another user and once that user logs in there will be no return - kiosk mode.

It's for a kids hospital, so the kids can watch videos while waiting and during minor procedures. The age range will be wide and so trying to keep it ultra simple. We've removed and the menus, settings, exit buttons etc.

I'm not sure how using the videos window would allow me to apply the filtering required, although I see that customising (simplifying) it would avoid the need for Window Properties - it is/was just unknown to me how much of it's structure is required so I chose the custom window route.

I'm new to Kodi skinning and only picking this up because the original proposed provider failed to deliver, they also consumed all the budget too - apologies for being wet behind the ears and thanks for helping.

Cheers

Dave
Reply

Logout Mark Read Team Forum Stats Members Help
ActivateWindow() - passing dir/path to custom window0