Preliminary documentation:
This allows you to customize the video library nodes as you see fit. Don't want your screaming kids stuff in your main movie node... exclude it.
Want documentaries in a separate node, create it. Don't like how recently added is presented, change it. Hate the library? Hide it.
The standard library layout can be found under system/library
video - simulating the old unflattened library structure
video_flat - simulating the old flattened library structure
To get your custom library nodes going, simply copy the existing structure to /userdata/Database and modify to your heart's desire. (Note that there is no library folder there, only video and video_flat), so
'/userdata/Database/video' and/or '/userdata/Database/video_flat'
Also note that if you only want to modify the flattened structure, only video_flat needs to be created. (and vice versa).
There are two basic types of nodes that can be created, virtual folders and normal nodes.
Let's begin with virtual folders.
You start out by creating a subfolder that must contain an index.xml. It shares node characteristics that are explained below but must at minimum contain a node and label tag.
Inside this virtual folder you can dump as many regular nodes as you see fit, which are explained below
In essence a library node is simply a smart playlist with a twist.
If you explore the existing ones you will see that they differ, but at the same time they share a lot of common attributes.
Going though the tags, one at a time:
<node order="2" type="filter" visible="Library.HasContent(Movies)">
node tag, may contain order (the ordering of items in the structure) type (valid options "folder" or "filter") and HasContent similar to skins. Valid content can be found here:
http://wiki.xbmc.org/index.php?title=Lis...onditions.
<label>, this can point to an ID in the strings.xml file (for translation) or include any name you want.
<icon> you can have the node have any icon found in the skin
https://github.com/xbmc/xbmc/tree/master...ence/media
Then come the juice parts, I will not claim to be an expert here, but I will do my best and from this just about anything currently possible in XBMC should be deducible.
<content> any valid content (movies, episodes etc)
<match> How many of the rules should match? (one, all)
<limit> Limits the number of returned results
<path> can be an actual path? At least any XBMC special: path such as videodb://1/2 and sources://video
<rule> just lift this from an actual smart playlist to get any filtering XBMC is currently capable of, such as:
<rule field="path" operator="doesnotcontain">C:\Media\Mediatst\Kidstest\</rule>
<rule field="genre" operator="is">Animation</rule>