Hello eveybody,
I recently started some customization of Kodi with the Library Node Editor. Now my issue is that when I enter a category like 'Movies' or 'Musicvideos' from the main menu, my customizations andĀ filter-rules are ignored. Only when accessing them from the video menu I get all my custom nodes and filters.
How can I edit the Estuary home menu items so they jump to my custom nodes instead of the default ones?
You while need to dig into the xml files.
The menu is create by this fixedlist
https://github.com/xbmc/xbmc/blob/master...L827-L1015
The movie menu item is created by
https://github.com/xbmc/xbmc/blob/master...#L905-L914
The issue is this value
xml:
ActivateWindow(Videos,videodb://movies/titles/,return)
As that's a
videodb:// link that simply to link to the database to return all movies stored in the database which ignores node setup.
If you've modified the Movie Titles node for example, then you need to replace that videodb link with a link that points to the node, this is done with
library:// style links, so in this case for Movie Titles it would be
xml:
library://video/movies/titles.xml
so the above line would become
xml:
ActivateWindow(Videos,library://video/movies/titles.xml,return)
OK, thank you, that sounds promising.
I do not understand the difference of the entries that are already there:
I assume the 'onclick condition' is conditional to a gui setting, but what is the difference in the line without (Skin.HasSetting) and the one with an exclamation mark (!Skin.HasSetting)?
I assume the exclamation mark is equivalent to 'is not'?
That seems to work, it jumps to my custom node, BUT when stepping up one level in the menu the following menu is the default one (genre, studios etc.) and not my modified one.
(2022-06-01, 14:24)vonson Wrote: [ -> ]I assume the 'onclick condition' is conditional to a gui setting,
The onlick line is simply defines the action to perform when an item is selected, and this can be made conditional by the skinner for a wide variety of factors.
(2022-06-01, 14:24)vonson Wrote: [ -> ]I assume the exclamation mark is equivalent to 'is not'?
Yes correct.
(2022-06-01, 14:24)vonson Wrote: [ -> ]but what is the difference in the line without (Skin.HasSetting) and the one with an exclamation mark (!Skin.HasSetting)?
So to break it down
xml:
<onclick condition="Library.HasContent(movies) + Skin.HasSetting(home_no_categories_widget)">ActivateWindow(Videos,videodb://movies/,return)</onclick>
This applies when the Library contains movies and the skin setting Enable Category Widgets is disabled, see
https://kodi.wiki/view/Add-on:Estuary/Se...ry_Widgets
So because the Categories widget won't be avaiable on Home with Titles, Genre, Year etc..etc it takes you to the Movie root to display the avaiable nodes.
xml:
<onclick condition="Library.HasContent(movies) + !Skin.HasSetting(home_no_categories_widget)">ActivateWindow(Videos,videodb://movies/titles/,return)</onclick>
This applies when the Library contains movies and the skin setting Enable Category Widgets is enabled.
So because the Categories widget is avaiable on Home with Titles, Genre, Year etc..etc it takes you direct to the Movie listing (unfiltered DB).
xml:
<onclick condition="!Library.HasContent(movies)">ActivateWindow(Videos,sources://video/,return)</onclick>
This applied when there are no movies in the Library.
Note for a functioning menu item there only needs to be a single onclick line.
So you could have a single unconditional
xml:
<onclick>ActivateWindow(Videos,library://video/movies/titles.xml,return)</onclick>
and remove the others.
that's more or less what I suspected. Thank you for the detailed explanation, code can be quite confusing...
What now I do not understand is why the link to my custom node does work, but stepping up in the menu brings me to some default instead of staying in my custom node structure.
(2022-06-01, 14:35)vonson Wrote: [ -> ]That seems to work, it jumps to my custom node, BUT when stepping up one level in the menu the following menu is the default one (genre, studios etc.) and not my modified one.
Did you restart Kodi after making the changes? If you did then that could be a bug, so please report to
https://github.com/xbmc/xbmc/issues
A possible workaround is to locate your Kodi install folder where you'll find
system -> library
This is the location of the default nodes.
The Library Node Editor will put your modified nodes in
userdata -> library
Note that anything in
userdata -> library should take priority. However it could be this is not always happening.
IMPORTANT - Make a backup of
system -> library folder and store this somewhere safe before making any changes to it.
With this done you can move the custom nodes from the
userdata -> library folder to the equivalent
system -> library folder.
So your custom nodes will sit in
system -> library and
userdata -> library will go back to being empty. With that done restart Kodi and check the navigation behaviour.
no, that's not it. Whatever change I do to \system\library\video (adding custom nodes, removing default nodes) it makes no difference. When I step up from the movie list the following menu is the unaltered default nodes.
might this have to do with what's defined in addons\script.skinshortcuts\resources\shortcuts\ ?
Which xml is the one for the movie list? I can't find it. Maybe it is the 'step up' from the movie list that causes this?