• 1
  • 2
  • 3(current)
  • 4
  • 5
  • 140
Release script.skinshortcuts
#31
Can anyone help with some testing of an update to this script?

Long story short, I've never been able to get performance when using Gothams new method of filling a list to be great on lower-powered devices such as the rPi, so I went back to basics, and added the ability for the script to generate an xml file containing the menus, which can then be included in the skin.

The advantage of this method is that, once the file has been generated, the menu acts exactly as any traditional skin-provided menu, because that is now what it is. And it only has to be generated on skin first run, and after the user updates a menu.

The disadvantages? Well, skins can only load files from their own directory, so the script has to write a file to the skin directory. And skins can only pick up on changes to files when they're reloaded, so it has to reload the skin after building the includes file.

Once the file is generated though, performance is absolutely equal to any traditional menu.

If you'd like to test you'll need the development branch of skin shortcuts - https://github.com/unfledged/script.skin...evelopment

And here's a copy of Confluence (based on uNiversaI's updates) with the new method built in to provide the main menu, the sub-menu and the favourites below the menu - https://github.com/unfledged/skin.confluence

If I can tempt you to test further, it should be pretty easy to add to a skin...

1. In the includes.xml file add the line

Code:
<include file="script-skinshortcuts-includes.xml"/>

2. In Home.xml - in an <onload> tag, and in SkinSettings.xml - in an <onunload> tag:

Code:
RunScript(script.skinshortcuts,type=buildxml&amp;mainmenuID=9000&amp;levels=0)

Where mainmenuID is the id of the list containing your main menu and levels is the number of additional submenus (so for the Confluence skin above, which has an additional submenu for the favourites below the menu, it would be 1)

And when just providing submenus, add...

Code:
&amp;group=[group1],[group2],[group3]...

... a comma-separated list of the groupnames.

3. And in the lists where the items are to appear

Code:
<content>
    <include>skinshortcuts-mainmenu</include>
</content

Where the include can be

skinshortcuts-mainmenu
skinshortcuts-submenu
skinshortcuts-[groupname]

With the latter two appendable by -[level number] for additional menus.

Thanks for all your help.
Reply
#32
I'd love to try this out, but I may be a little too early in the development. I'm kinda' new to XBMC and modern computers, so making changes to working programming is a little daunting for me. My question is this: are all the code changes mentioned on page 1 necessary? Will this addon run without them?
Reply
#33
(2014-02-19, 00:21)blasty Wrote: I'd love to try this out, but I may be a little too early in the development. I'm kinda' new to XBMC and modern computers, so making changes to working programming is a little daunting for me. My question is this: are all the code changes mentioned on page 1 necessary? Will this addon run without them?

Depends exactly what you're wanting to do. To add it to an existing skin then yes, you need to make the changed to the skin as described on the first page (and described in detail in the readme included with the script.)

If you just want to try a skin with it, then either download the development version of the script and the modified version of Confluence from my previous post, or try Aeon Nox 5, which uses the script for custom submenus.
Reply
#34
I'm trying to run the script with buildxml, but it only builds the first group. This is my code in Home.xml:
Code:
<onload>RunScript(script.skinshortcuts,type=buildxml&amp;mainmenuID=9000&amp;group=X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X13,X101,X202,X303,X404,X50​5,X606)</onload>
and in skinsettings.xml:
Code:
<onunload>RunScript(script.skinshortcuts,type=buildxml&amp;mainmenuID=9000&amp;group=X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X13,X101,X202,X303,X404,X50​5,X606)</onunload>

Am I doing something wrong or is the script not working correctly in this regard?

EDIT: nvm had an old version of the script. Is working fine with "|" separator.
Reply
#35
It's the script not working correctly. It passed sanity checks, but I didn't take into account that the comma has a special usage in the load/unload tags. It's already fixed on github, with the comma in the groups replaced with a pipe.

Code:
<onload>RunScript(script.skinshortcuts,type=buildxml&amp;mainmenuID=9000&amp;group=X1|X2|X3|X4|X5|X6|X7|X8|X9|X10|X11|X12|X13|X101|X202|X303|X404|X50​5|X606)</onload>

hehe, you beat me to it. Just bear in mind the pipe only works with the git version atm Smile
Reply
#36
Thx anyway for the fast reply. From my test it works great with the includes. Even migration from previous method works flawless with all custom submenus intact. Great Smile
Reply
#37
Thats great to know Smile
Reply
#38
Hi.. i'm using aeon nox 5 that use this script to create submenus.
I started to use custom nodes to split my library in separate categories (i also wrote a guide here: http://forum.xbmc.org/showthread.php?tid=190526) but now i don't know how to link submenus to the various parts. What custom path should i use to (for example) link the sets in anime section of a library like this?
Image

With aeon nox 4 i can navigate into the library and manually pick the node i want, but with your script there is only the default nodes and not the custom nodes. Is it possible to add them?
Reply
#39
It's based on the filename of your custom node to add it manually - In Progress TV Shows, for example:

Code:
ActivateWindow(Videos,library://video/inprogressshows.xml,return)

From your link I'm guessing you're into anime, so yours are likely to be of the order of library://video/anime/filename.xml

Custom nodes have been a pain to code for. Technically they're already supported by the script, but they obviously haven't been able to be processed for you. If you can post a debug log I'll look to see if I can track down the problem.
Reply
#40
(2014-03-31, 17:04)Unfledged Wrote: It's based on the filename of your custom node to add it manually - In Progress TV Shows, for example:

Code:
ActivateWindow(Videos,library://video/inprogressshows.xml,return)

From your link I'm guessing you're into anime, so yours are likely to be of the order of library://video/anime/filename.xml

Custom nodes have been a pain to code for. Technically they're already supported by the script, but they obviously haven't been able to be processed for you. If you can post a debug log I'll look to see if I can track down the problem.

something like this works:
Code:
ActivateWindow(Videos,library://video/anime/sets.xml,return)
or
Code:
ActivateWindow(Videos,library://video/anime/,return)
for the root section.
Of course there are no bugs related your script about it. The problem is to add them one by one.
Actually you add by default all the 30 default video nodes of the video library. Instead of leaving that fixed can't your script parse the library and get all the nodes? so if the library doesn't have custom node the result is the same (and even better if the user doesn't have for example music videos or tv shows or both the buttons will not show up) and if someone has custom nodes they will have them easily accessible.
Of course a library picker like aeon nox 4 would solve the problem but i don't think it fits in the script..

Also same thing for the playlists.. Before discovering custom nodes i had a playlist instead of a custom node linked in submenu. To order the playlist folder (i had 20 playlists in it) i moved the playlists into subfolders but your script shows only the playlists in root so it is hard to link the subfolder ones.. is it possible to add playlists in subfolders?
Reply
#41
The script hasn't just added the default video nodes for quite some time (in the Video Library group, at least) - if you're seeing that in the code, you're looking at an old version (the latest version on the repo is 0.2.4).

Current versions load all video nodes except PVR from the nodes files, first trying to load the nodes from the userdata folder, and falling back to XBMC's inbuilt nodes if that fails.

I didn't know playlists could be in folders. I'll add support in the next couple of days to git.
Reply
#42
(2014-03-31, 18:33)Unfledged Wrote: The script hasn't just added the default video nodes for quite some time (in the Video Library group, at least) - if you're seeing that in the code, you're looking at an old version (the latest version on the repo is 0.2.4).

Current versions load all video nodes except PVR from the nodes files, first trying to load the nodes from the userdata folder, and falling back to XBMC's inbuilt nodes if that fails.
I have 0.2.4 but still no custom nodes. I think the problem is i'm using a profile. If someone use a profile you don't have to check in the userdata/library folder but the userdata/profiles/profilename/library folder...
here's the log:
http://xbmclogs.com/show.php?id=163057

(2014-03-31, 18:33)Unfledged Wrote: I didn't know playlists could be in folders. I'll add support in the next couple of days to git.
Great, thanks!
Reply
#43
You're right, it's looking in the wrong place. Hopefully the fix is as simple as the update i've just pushed to github.
Reply
#44
Tried the git version and now it loads well all custom nodes.. Thanks!
Reply
#45
You're welcome, and playlists in subfolders should be working on git now too (though the code isn't unicode safe yet.)
Reply
  • 1
  • 2
  • 3(current)
  • 4
  • 5
  • 140

Logout Mark Read Team Forum Stats Members Help
script.skinshortcuts8