Kodi Community Forum
plugin.library.node.editor an easy way for programmable widgets - Printable Version

+- Kodi Community Forum (https://forum.kodi.tv)
+-- Forum: Development (https://forum.kodi.tv/forumdisplay.php?fid=32)
+--- Forum: Skinning (https://forum.kodi.tv/forumdisplay.php?fid=12)
+--- Thread: plugin.library.node.editor an easy way for programmable widgets (/showthread.php?tid=345943)



plugin.library.node.editor an easy way for programmable widgets - the_other_guy - 2019-08-03

plugin.library.node.editor makes it easy  to make  programmable widgets
AppData\Roaming\Kodi\userdata\library\video is the file path
you can make a folder with nodes

node.name will give you Categories type view 
node.name.xml will give you Poster Square Episodes view

xml:

   <!-- ROW1 -->
              
                            
                            <include content="WidgetListSquare" condition="!Skin.HasSetting(movies-row1) + Skin.HasSetting(movies-WidgetList-row1)+ !Skin.HasSetting(movieswidget_1_Categories_Square)">
                            <param name="content_path" value="library://video/widgets/movies/row1/"/>
                            <param name="widget_header" value="row1"/>
                            <param name="widget_target" value="videos"/>
                            <param name="list_id" value="5100"/>
                            <visible>!Skin.HasSetting(movies-row1)</visible>
                            </include>    
                            
                            <include content="WidgetListPoster" condition="!Skin.HasSetting(movies-row1) + !Skin.HasSetting(movies-WidgetList-row1) + !Skin.HasSetting(movieswidget1_Poster)">
                            <param name="content_path" value="library://video/widgets/movies/row1/row1.xml"/>
                            <param name="widget_header" value="row1"/>
                            <param name="widget_target" value="videos"/>
                            <param name="list_id" value="5100"/>
                            <visible>!Skin.HasSetting(movies-row1)</visible>
                            </include>


Image


RE: plugin.library.node.editor an easy way for programmable widgets - mardukL - 2019-08-03

that plugin writes nodes to the video section.
unsure if you really like use it everywhere.
simpler would be call a smart playlist, to keep your library nodes clean.

e.g.

<content>special://skin/playlist/smartplalistname.xsp</content>

or another great thing

https://forum.kodi.tv/showthread.php?tid=341640

and using embuary helper

https://github.com/sualfred/script.embuary.helper/wiki/Widgets:-Special-content#parse-own-json-calls-to-the-script


RE: plugin.library.node.editor an easy way for programmable widgets - olympus - 2019-08-03

(2019-08-03, 12:19)mardukL Wrote: that plugin writes nodes to the video section.
unsure if you really like use it everywhere.
simpler would be call a smart playlist, to keep your library nodes clean.

You can keep your nodes clean and still use nodes as widgets instead of playlists.
You can make the parent node of them not visible while navigating the video section.
I prefer them instead of playlists because they are not "limited" to media content like a playlist is.
An example of the index.xml of a parent node with them

Code:

<?xml version='1.0' encoding='UTF-8'?>
<node order="1000" visible="!Window.IsVisible(Videos)">
    <label>mywidgets</label>
</node>



RE: plugin.library.node.editor an easy way for programmable widgets - mardukL - 2019-08-03

(2019-08-03, 17:33)olympus Wrote:
(2019-08-03, 12:19)mardukL Wrote: that plugin writes nodes to the video section.
unsure if you really like use it everywhere.
simpler would be call a smart playlist, to keep your library nodes clean.

You can keep your nodes clean and still use nodes as widgets instead of playlists.
You can make the parent node of them not visible while navigating the video section.
I prefer them instead of playlists because they are not "limited" to media content like a playlist is.
An example of the index.xml of a parent node with them

Code:

<?xml version='1.0' encoding='UTF-8'?>
<node order="1000" visible="!Window.IsVisible(Videos)">
    <label>mywidgets</label>
</node>
 

Ok, thanks to bring that up.
But since Leia multiple content is no longer an issue,
so you can use multiple content, just sharing same layout.
Contra is that the content is loaded in order the content tags are set.


Or did i miss some benefits using plugin.library.node.editor ?


https://github.com/xbmc/xbmc/pull/10730

So this will work... show 20 items with mixed content...

xml:

....
<content>foo.xsp</content> <!-- "5" items definded in xsp -->
<content target="music" sortby="artist" sortorder="ascending" limit="10">musicdb://recentlyaddedalbums/</content> <!-- 10 recently added albums -->
<content limit="5">plugin://plugin.test.me?arg1=foo</content> <!-- fill other with plugin -->
....


here's a ugly pic with mixed content in 1 container using
Image
xml:

<content limit="2">special://skin/playlists/video/ImdbTop250.xsp</content>
                    <content limit="2">special://skin/playlists/video/SpotlightTVshows.xsp</content>
                    <content limit="2">special://skin/playlists/audio/Artists.xsp</content>
                    <content limit="2">special://skin/playlists/audio/Albums.xsp</content>



RE: plugin.library.node.editor an easy way for programmable widgets - olympus - 2019-08-03

(2019-08-03, 18:30)mardukL Wrote:
(2019-08-03, 17:33)olympus Wrote:
(2019-08-03, 12:19)mardukL Wrote: that plugin writes nodes to the video section.
unsure if you really like use it everywhere.
simpler would be call a smart playlist, to keep your library nodes clean.

You can keep your nodes clean and still use nodes as widgets instead of playlists.
You can make the parent node of them not visible while navigating the video section.
I prefer them instead of playlists because they are not "limited" to media content like a playlist is.
An example of the index.xml of a parent node with them

Code:

<?xml version='1.0' encoding='UTF-8'?>
<node order="1000" visible="!Window.IsVisible(Videos)">
    <label>mywidgets</label>
</node>
 

Ok, thanks to bring that up.
But since Leia multiple content is no longer an issue,
so you can use multiple content, just sharing same layout.
Contra is that the content is loaded in order the content tags are set.


Or did i miss some benefits using plugin.library.node.editor ?


https://github.com/xbmc/xbmc/pull/10730

So this will work... show 20 items with mixed content...

xml:

....
<content>foo.xsp</content> <!-- "5" items definded in xsp -->
<content target="music" sortby="artist" sortorder="ascending" limit="10">musicdb://recentlyaddedalbums/</content> <!-- 10 recently added albums -->
<content limit="5">plugin://plugin.test.me?arg1=foo</content> <!-- fill other with plugin -->
....


here's a ugly pic with mixed content in 1 container using
Image
xml:

<content limit="2">special://skin/playlists/video/ImdbTop250.xsp</content>
                    <content limit="2">special://skin/playlists/video/SpotlightTVshows.xsp</content>
                    <content limit="2">special://skin/playlists/audio/Artists.xsp</content>
                    <content limit="2">special://skin/playlists/audio/Albums.xsp</content>
 

You are right in everything you wrote.
The power of Kodi, you can do so many things in various ways  Smile
I meant that nodes have other possibilities too.
For example I have a widget of my favourite youtube channels, this can be done with a node only.
I am using nodes only because I would use nodes anyway and instead of using nodes and playlists, I use nodes only.
It's easier to just use nodes for everything in my case.
And I use this visibility option to hide the widget nodes from my library.
I do agree that you have a point that having my widget nodes visible could bring clutter to my library.


RE: plugin.library.node.editor an easy way for programmable widgets - the_other_guy - 2019-08-04

SETTING UP IN A FOLDER WILL KEEP IT CLEAN *i used a folder named widgets
ImageImage





















8