No, I don't have service add-on either:
In my case I have a container with main menu items:
movies, documentaries, tv shows, tv documentaries, hd clips, concerts, music, etc which are in fact various library sections on a server, each with unique ID
Each of those sections have recently added items that I would like to show when appropriate section is highlighted in main menu - recent movies for movies, recent documentaries for documentaries and so on. Contents of this list can change if a movie has been watched or a new one added at a server side. Thus, list needs to be updated from time to time when URI has been changed. Still, if I have 10 sections on a server it will be inefficient to call a script again each time highlighted section changes in main menu (very much similar to your main menu and subitems) in order to fetch recently added.
Instead, I was going to populate all recently added to single pile but then StringCompare (or some other visibility check) is needed to be supplied by the script itself on per recently added item basis. You can use StringCompare or other check in a skin only if you have static content. When list is filled by a plugin, it's content is empty in a skin and thus there's no place to put visibility checks in a skin code.
What I would like to achieve is:
Quote:liz=xbmcgui.ListItem(item_title, thumbnailImage=thumbPath, visibility="StringCompare(MAIN_MENU_STRING, PLUGIN_ITEM_STRING)")
or some such.