Navtree 6 (How to show folders at the root solved and more)

General discussion about the media server. Feature requests. Hints, tips and tricks.
User avatar
phibertron
Posts: 1566
Joined: Sun Jan 30, 2011 5:52 pm
AV Hardware: Hardware
========
WHS - HP Ex495
PS3
XBOX 360
iTouch - Gen 2 and Gen 3
PSP - 3000

Encoders
========
Handbrake
x264
ffmpeg
mencoder

Tagging
======
mp3tag

Navtree 6 (How to show folders at the root solved and more)

Postby phibertron » Tue Feb 22, 2011 9:00 pm

Here is a little background information gleened from reading, and from first hand experience, and lots of headache!

(if you have ever used mezzmo, all of the below would be a moot point!, but I sill like twonky)

Note:
There have been some changes in Twonky 7
http://www.twonkyforum.com/viewtopic.php?f=2&t=10627

How to Create Your Own Custom Navigation Trees
http://twonkyforum.com/viewtopic.php?f=24&t=6219

TMS-View-Configuration.zip
http://twonkyforum.com/download/file.php?id=78

TMS-View-Configuration addendum.zip
http://twonkyforum.com/download/file.php?id=404

By default the view-definitions.xml contains 3 major sections that MUST exist "music,picture,video"
By default the view-definitions.xml contains predfined containers base off of "fixed id strings" ex: video/folders
If for some reason you dont have all of the above conidtions met, bets are that a navtree wont be displayed

However, Twonky has given us a feature to create custom views, which are nice, but...
These custom views are only links to predefined id's from the view-definitions.xml
So in order to really tweak the navtree, one has to edit the view-definitions.xml to include additional id's
These additional id's MUST be denoted with the groupid , NOT id. for ex: groupid='myvideo'

The mechanics of the navtree post 5.0.68 changed and since then its taken me this long to figure out
how to do things we used to be able to back then, yeah I know!

One of the biggest questions I see asked here in the forums is how to create a folder only view, not the 'By Folder' view,
but rather have all the folders displayed at the root of video or the root of the navtree

Well Im going to you show you how to do both of those seemingly impossible taks with the current 6.x version
Note: In theory this should work for 5.1.x versions also, as I havent tested that far back version wise

I initially wrote a bigger post here, I edited it, trying to keep it simple by the use the scenario posts
But before you go and use them, there are a few things you should know

What makes everyone one of the scenario examples work is I had to edit this line in the view-definitions.xml

Code: Select all

<view name='base' viewlist='advanced,folder,ipodlike,simple,classified,playlists,mobile' guilist='advanceddefault,ipodlike,simpledefault,byfolder,mobile'>


and removed the references to the other views, as the effect of them being linked made it a nightmare!
plus if they are there, my examples wont work as expected

Code: Select all

<view name='base' viewlist='advanced' guilist='advanceddefault'>


In the following scenarios, they show examples of how to display folders on nodes

Scenario 1 show folders at the root of the video container
Scenario 2 show folders at the root of the photo container
Scenario 3 show folders at the root of the music container
Scenario 4 show folders at the root of each section

In the following sceanrios, they show examples of how to display folders on the root

Scenario 5 show only video folders at the root of the navtree
Scenario 6 show only picture folders at the root of the navtree
Scenario 7 show only music folders at the root of the navtree
Scenario 8 show all folders at the root of the navtree
Scenario 9 show all folders at the root of the navtree for all media types

In the following scenarios, they show you how to display custom nodes on the root

Scenario 10 show the default video containers at the root
Scenario 11 show the default music containers at the root
Scenario 12 show the default picture containers at the root
Scenario 13 show all the default sub-containers at the root
Scenario 14 This one is the inverse of Scenario 13

In the following scenario, it shows you how to use buildon twice

Scenario 15 This is the current custom navtree that I use

You can either use them as is, or you try and change some things, and the changes might not work
I made some very specific changes in them to make them work, and some are mandatory
For ex: In some places I used name='' and in some places I used name='Vidoes ' or used no name=
These were done on purpose, so you were warned
But the good news is there are a lot of things you can change or add, just what I did as reference

I hope these examples help the people out there, you know who you are, finally be able to make some real changes to the navtree

Custom Navtree Scenarios.zip
(37.57 KiB) Downloaded 549 times
Last edited by phibertron on Wed Mar 02, 2011 3:08 pm, edited 9 times in total.
viewtopic.php?f=2&t=10627
viewtopic.php?f=2&t=9353
viewtopic.php?f=2&t=9408
viewtopic.php?f=2&t=9416
viewtopic.php?f=2&t=9424
viewtopic.php?f=2&t=9364
viewtopic.php?f=2&t=9497

User avatar
phibertron
Posts: 1566
Joined: Sun Jan 30, 2011 5:52 pm
AV Hardware: Hardware
========
WHS - HP Ex495
PS3
XBOX 360
iTouch - Gen 2 and Gen 3
PSP - 3000

Encoders
========
Handbrake
x264
ffmpeg
mencoder

Tagging
======
mp3tag

Scenario 1

Postby phibertron » Tue Feb 22, 2011 10:45 pm

You want to have the video section just show folders at the root of the video container

advanced.view.xml

Code: Select all

<view name='advanceddefault' path='advanced.view'>
   <navtree>

      <container id='music'>
         <link id='music/all' />
         <link id='music/artists' />
         <link id='music/artistindex' />
         <link id='music/artistalbum' />
         <link id='music/genre' />
         <link id='music/genrealbum' />
         <link id='music/genreartistalbum' />
         <link id='music/rating' />
         <link id='music/albums' />
         <link id='music/folders' />
         <link id='music/playlists' />
         <link groupid='music/onlineservices' />
      </container>

      <container id='picture' >
         <link id='picture/all' />   
         <link id='picture/folders' />
         <link id='picture/year' />
         <link id='picture/date' />
         <link id='picture/keywords' />
         <link id='picture/albums' />
         <link id='picture/rating' />
         <link id='picture/playlists' />
         <link groupid='picture/onlineservices' />
      </container>

      <container id='video' />

   </navtree>
</view>


view-definitions.xml

Code: Select all

<view name='base' viewlist='advanced' guilist='advanceddefault'>

   <navtree sortcriteria='+upnp:originalTrackNumber'>

         <container name='allvideos' id='video/all' createClass='object.item.videoItem.movie' class='object.container'/>

         <container name='byfolder' id='video/folders' class='object.container.storageFolder' restricted='0' createClass='object.item.videoItem.movie'>
            <container buildon='res' createClass='object.item.videoItem.movie' class='object.container.storageFolder'/>
         </container>

         <container name='title' id='video/titleindex' class='object.container' createClass='object.item.videoItem.movie'>
            <container buildon='dc:title[3]' class='object.container' createClass='object.item.videoItem.movie'>
               <container buildon='dc:title' class='object.container' createClass='object.item.videoItem.movie'/>
            </container>
         </container>

         <container name='byyear' id='video/year' createClass='object.item.videoItem.movie' class='object.container'>
            <container buildon='pv:year' createClass='object.item.videoItem.movie' class='object.container' />
         </container>

         <container name='bydate' id='video/date' createClass='object.item.videoItem.movie' class='object.container'>
            <container buildon='pv:year' createClass='object.item.videoItem.movie' class='object.container'>
               <container buildon='pv:month' createClass='object.item.videoItem.movie' class='object.container'/>
            </container>
         </container>

         <container name='album' id='video/albums' createClass='object.item.videoItem.movie' class='object.container' >
            <container buildon='upnp:album' createClass='object.item.videoItem.movie' class='object.container' />
         </container>

         <container name='rating' id='video/rating' createClass='object.item.videoItem.movie' class='object.container' >
            <container buildon='pv:rating' createClass='object.item.videoItem.movie' class='object.container' />
         </container>

         <container name='playlists' id='video/playlists' class='object.container' createClass='object.item.videoItem.movie,object.item.videoItem.online.movie' sortcriteria='+upnp:originalTrackNumber,+dc:title' restricted='0' flags='pv:playlistRoot=Video' >
            <container name='playlistrecentlyadded' filteron='pv:addedLast60' sortcriteria='-pv:addedTime' createClass='object.item.videoItem.movie' maxitems='500' upnp:originalTrackNumber='3' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlistmostviewed' filteron='pv:playcount' sortcriteria='-pv:playcount' createClass='object.item.videoItem.movie' maxitems='500' upnp:originalTrackNumber='1' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1'  />
            <container name='playlistlastviewed' filteron='pv:lastPlayedTime' sortcriteria='-pv:lastPlayedTime' createClass='object.item.videoItem.movie' maxitems='500' upnp:originalTrackNumber='2' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlisthighlyrated' filteron='pv:highrated' sortcriteria='-pv:rating' createClass='object.item.videoItem.movie' maxitems='500' upnp:originalTrackNumber='4' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container buildon='upnp:playlist' sortcriteria='+upnp:originalTrackNumber' createClass='object.item.videoItem.movie,object.item.videoItem.online.movie' upnp:originalTrackNumber='5' class='object.container.playlistContainer'  />
         </container>

                   <container name='classifiedvideos' id='video/classified' class='object.container'  createClass='object.item.videoItem.classified.movie'/>
     
         <container buildon='pv:onlineServiceName' groupid='video/onlineservices' createClass='object.item.videoItem.online.movie' class='object.container'>
            <container buildon='pv:onlineServiceTitle' createClass='object.item.videoItem.online.movie' class='object.container'/>
         </container>

      <container name='music' id='music' upnp:originalTrackNumber='3' createClass='object.item.audioItem.musicTrack,object.item.audioItem.online.musicTrack'>

         <container name='alltracks' id='music/all' createClass='object.item.audioItem.musicTrack' class='object.container'/>

         <container name='artist' id='music/artists' class='object.container.person.musicArtist' createClass='object.item.audioItem.musicTrack'>
            <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
            <container buildon='upnp:artist' class='object.container.person.musicArtist' createClass='object.item.audioItem.musicTrack'/>
         </container>

         <container name='artistindex' id='music/artistindex' class='object.container' createClass='object.item.audioItem.musicTrack'>
            <container buildon='upnp:artist[3]' class='object.container' createClass='object.item.audioItem.musicTrack'>
               <container buildon='upnp:artist' class='object.container.person.musicArtist' createClass='object.item.audioItem.musicTrack'>
                  <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
                  <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
               </container>
            </container>
         </container>

         <container name='composer' id='music/composers' createClass='object.item.audioItem.musicTrack' class='object.container' >
            <container buildon='upnp:author@role' createClass='object.item.audioItem.musicTrack' class='object.container.person.musicArtist' />
         </container>

         <container name='rating' id='music/rating' createClass='object.item.audioItem.musicTrack' class='object.container' >
            <container buildon='pv:rating' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
         </container>

         <container name='artistalbum' id='music/artistalbum' class='object.container.person.musicArtist' createClass='object.item.audioItem.musicTrack'>
            <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' >
               <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
            </container>
            <container buildon='upnp:artist' class='object.container.person.musicArtist' createClass='object.item.audioItem.musicTrack'>
               <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
               <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
            </container>
         </container>

         <container name='genre' id='music/genre' class='object.container' createClass='object.item.audioItem.musicTrack'>
            <container buildon='upnp:genre' class='object.container.genre.musicGenre' createClass='object.item.audioItem.musicTrack' />
         </container>

         <container name='genrealbum' id='music/genrealbum' class='object.container' createClass='object.item.audioItem.musicTrack'>
            <container buildon='upnp:genre' class='object.container.genre.musicGenre' createClass='object.item.audioItem.musicTrack' >
               <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
            </container>
         </container>

         <container name='genreartist' id='music/genreartistalbum' class='object.container' createClass='object.item.audioItem.musicTrack'>
            <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' >
               <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' >
                  <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
                  <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
               </container>
               <container buildon='upnp:artist' class='object.container' createClass='object.item.audioItem.musicTrack'>
                  <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
                  <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
               </container>
            </container>
            <container buildon='upnp:genre' class='object.container.genre.musicGenre' createClass='object.item.audioItem.musicTrack'>
               <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' >
                  <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
                  <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
               </container>
               <container buildon='upnp:artist' class='object.container' createClass='object.item.audioItem.musicTrack'>
                  <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
                  <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
               </container>
            </container>
         </container>

         <container name='album' id='music/albums' createClass='object.item.audioItem.musicTrack' class='object.container' >
            <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
         </container>

         <container name='byfolder' id='music/folders' class='object.container.storageFolder' createClass='object.item.audioItem.musicTrack'>
            <container buildon='res' createClass='object.item.audioItem.musicTrack' class='object.container.storageFolder' />
         </container>

         <container name='playlists' id='music/playlists' class='object.container' createClass='object.item.audioItem.musicTrack,object.item.audioItem.online.musicTrack' sortcriteria='+upnp:originalTrackNumber,+dc:title'   restricted='0' flags='pv:playlistRoot=Music' >
            <container name='playlistrecentlyadded' filteron='pv:addedLast60' sortcriteria='-pv:addedTime' createClass='object.item.audioItem.musicTrack' maxitems='500' upnp:originalTrackNumber='3' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlistmostplayed' filteron='pv:playcount' sortcriteria='-pv:playcount' createClass='object.item.audioItem.musicTrack' maxitems='500' upnp:originalTrackNumber='1'  restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlistlastplayed' filteron='pv:lastPlayedTime' sortcriteria='-pv:lastPlayedTime' createClass='object.item.audioItem.musicTrack' maxitems='500' upnp:originalTrackNumber='2' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlisthighlyrated' filteron='pv:highrated' sortcriteria='-pv:rating' createClass='object.item.audioItem.musicTrack' maxitems='500' upnp:originalTrackNumber='4' class='object.container.playlistContainer' restricted='1'  flags='pv:smartplaylist=1' />
            <container buildon='upnp:playlist' sortcriteria='+upnp:originalTrackNumber' upnp:originalTrackNumber='5' createClass='object.item.audioItem.musicTrack,object.item.audioItem.online.musicTrack' class='object.container.playlistContainer' />
         </container>

         <container buildon='pv:onlineServiceTitle'  groupid='music/onlineservices' createClass='object.item.audioItem.online.musicTrack' class='object.container'>
            <container name='allstations' createClass='object.item.audioItem.online.musicTrack' class='object.container' />
            <container name='genrestation' class='object.container' createClass='object.item.audioItem.online.musicTrack'>
               <container buildon='upnp:genre' class='object.container.genre.musicGenre' createClass='object.item.audioItem.online.musicTrack' />
            </container>
            <container name='stationindex' class='object.container' createClass='object.item.audioItem.online.musicTrack'>
               <container buildon='dc:title[3]' class='object.container' createClass='object.item.audioItem.online.musicTrack'>
                  <container buildon='dc:title' class='object.container' createClass='object.item.audioItem.online.musicTrack'/>
               </container>
            </container>
         </container>

      </container>

      <container name='pictures' id='picture' upnp:originalTrackNumber='2' createClass='object.item.imageItem.photo,object.item.imageItem.online.photo' class='object.container'>

         <container name='allpictures' id='picture/all' createClass='object.item.imageItem.photo' class='object.container'/>

         <container name='byfolder' id='picture/folders' class='object.container.storageFolder' restricted='0' createClass='object.item.imageItem.photo'>
            <container buildon='res' createClass='object.item.imageItem.photo' class='object.container.storageFolder'/>
         </container>

         <container name='byyear' id='picture/year' createClass='object.item.imageItem.photo' class='object.container'>
            <container buildon='pv:year' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
         </container>

         <container name='bydate' id='picture/date' createClass='object.item.imageItem.photo' class='object.container'>
            <container name='allname' createClass='object.item.imageItem.photo' class='object.container'>
               <container name='allname' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
               <container buildon='pv:month' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
            </container>
            <container buildon='pv:year' createClass='object.item.imageItem.photo' class='object.container'>
               <container name='allname' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
               <container buildon='pv:month' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
            </container>
         </container>

         <container name='keywords' id='picture/keywords' createClass='object.item.imageItem.photo'  class='object.container' >
            <container buildon='pv:avKeywords' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
         </container>

         <container name='album' id='picture/albums' createClass='object.item.imageItem.photo'  class='object.container' >
            <container buildon='upnp:album' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
         </container>

         <container name='rating' id='picture/rating' createClass='object.item.imageItem.photo' class='object.container' >
            <container buildon='pv:rating' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
         </container>

         <container name='slideshows' id='picture/playlists' class='object.container' createClass='object.item.imageItem.photo,object.item.imageItem.online.photo' sortcriteria='+upnp:originalTrackNumber,+dc:title' restricted='0' flags='pv:playlistRoot=Picture' >
            <container name='playlistrecentlyadded' filteron='pv:addedLast60' sortcriteria='-pv:addedTime' createClass='object.item.imageItem.photo' maxitems='500' upnp:originalTrackNumber='3' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlistmostviewed' filteron='pv:playcount' sortcriteria='-pv:playcount' createClass='object.item.imageItem.photo' maxitems='500' upnp:originalTrackNumber='1' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlistlastviewed' filteron='pv:lastPlayedTime' sortcriteria='-pv:lastPlayedTime' createClass='object.item.imageItem.photo' maxitems='500' upnp:originalTrackNumber='2' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlisthighlyrated' filteron='pv:highrated' sortcriteria='-pv:rating' createClass='object.item.imageItem.photo' maxitems='500' upnp:originalTrackNumber='4' class='object.container.playlistContainer' restricted='1' flags='pv:smartplaylist=1' />
            <container buildon='upnp:playlist' sortcriteria='+upnp:originalTrackNumber' createClass='object.item.imageItem.photo,object.item.imageItem.online.photo' upnp:originalTrackNumber='5' class='object.container.playlistContainer' />
         </container>

         <container buildon='pv:onlineServiceName'  groupid='picture/onlineservices' createClass='object.item.imageItem.online.photo' class='object.container'>
            <container name='allname' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
            <container buildon='pv:onlineServiceTitle' createClass='object.item.imageItem.online.photo' class='object.container'>
               <container name='allname' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
               <container name='keywords' createClass='object.item.imageItem.online.photo'  class='object.container' >
                  <container buildon='pv:avKeywords' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
               </container>
               <container name='album' createClass='object.item.imageItem.online.photo'  class='object.container' >
                  <container buildon='upnp:album' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
               </container>
               <container name='date' createClass='object.item.imageItem.online.photo' class='object.container'>
                  <container buildon='pv:year' createClass='object.item.imageItem.online.photo' class='object.container'>
                     <container name='allname' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
                     <container buildon='pv:month' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum'/>
                  </container>
               </container>
               <container name='author' createClass='object.item.imageItem.online.photo' class='object.container' >
                  <container buildon='upnp:author' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
               </container>
            </container>
         </container>

      </container>

      <container name='videos' id='video' upnp:originalTrackNumber='1' sortcriteria='+upnp:originalTrackNumber' createClass='object.item.videoItem.movie,object.item.videoItem.classified.movie,object.item.videoItem.online.movie' class='object.container'>

         <container buildon='res' createClass='object.item.videoItem.movie' class='object.container.storageFolder'/>

      </container>

   </navtree>
</view>


Custom Navtree Scenario 1.zip
(2.32 KiB) Downloaded 620 times
Last edited by phibertron on Tue Mar 01, 2011 11:02 pm, edited 10 times in total.
viewtopic.php?f=2&t=10627
viewtopic.php?f=2&t=9353
viewtopic.php?f=2&t=9408
viewtopic.php?f=2&t=9416
viewtopic.php?f=2&t=9424
viewtopic.php?f=2&t=9364
viewtopic.php?f=2&t=9497

User avatar
phibertron
Posts: 1566
Joined: Sun Jan 30, 2011 5:52 pm
AV Hardware: Hardware
========
WHS - HP Ex495
PS3
XBOX 360
iTouch - Gen 2 and Gen 3
PSP - 3000

Encoders
========
Handbrake
x264
ffmpeg
mencoder

Tagging
======
mp3tag

Scenario 2

Postby phibertron » Tue Feb 22, 2011 10:49 pm

You want to have the photo section just show folders at the root of the photo container

advanced.view.xml

Code: Select all

<view name='advanceddefault' path='advanced.view'>
   <navtree>

      <container id='music'>
         <link id='music/all' />
         <link id='music/artists' />
         <link id='music/artistindex' />
         <link id='music/artistalbum' />
         <link id='music/genre' />
         <link id='music/genrealbum' />
         <link id='music/genreartistalbum' />
         <link id='music/rating' />
         <link id='music/albums' />
         <link id='music/folders' />
         <link id='music/playlists' />
         <link groupid='music/onlineservices' />
      </container>

      <container id='picture' />

      <container id='video' >
         <link id='video/all' />
         <link id='video/albums' />
         <link id='video/folders' />
         <link id='video/year' />
         <link id='video/date' />
         <link id='video/rating' />
         <link id='video/playlists' />
         <link groupid='video/onlineservices' />
      </container>

   </navtree>
</view>


view-definitions.xml

Code: Select all

<view name='base' viewlist='advanced' guilist='advanceddefault'>

   <navtree sortcriteria='+upnp:originalTrackNumber'>

         <container name='allpictures' id='picture/all' createClass='object.item.imageItem.photo' class='object.container'/>

         <container name='byfolder' id='picture/folders' class='object.container.storageFolder' restricted='0' createClass='object.item.imageItem.photo'>
            <container buildon='res' createClass='object.item.imageItem.photo' class='object.container.storageFolder'/>
         </container>

         <container name='byyear' id='picture/year' createClass='object.item.imageItem.photo' class='object.container'>
            <container buildon='pv:year' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
         </container>

         <container name='bydate' id='picture/date' createClass='object.item.imageItem.photo' class='object.container'>
            <container name='allname' createClass='object.item.imageItem.photo' class='object.container'>
               <container name='allname' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
               <container buildon='pv:month' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
            </container>
            <container buildon='pv:year' createClass='object.item.imageItem.photo' class='object.container'>
               <container name='allname' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
               <container buildon='pv:month' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
            </container>
         </container>

         <container name='keywords' id='picture/keywords' createClass='object.item.imageItem.photo'  class='object.container' >
            <container buildon='pv:avKeywords' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
         </container>

         <container name='album' id='picture/albums' createClass='object.item.imageItem.photo'  class='object.container' >
            <container buildon='upnp:album' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
         </container>

         <container name='rating' id='picture/rating' createClass='object.item.imageItem.photo' class='object.container' >
            <container buildon='pv:rating' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
         </container>

         <container name='slideshows' id='picture/playlists' class='object.container' createClass='object.item.imageItem.photo,object.item.imageItem.online.photo' sortcriteria='+upnp:originalTrackNumber,+dc:title' restricted='0' flags='pv:playlistRoot=Picture' >
            <container name='playlistrecentlyadded' filteron='pv:addedLast60' sortcriteria='-pv:addedTime' createClass='object.item.imageItem.photo' maxitems='500' upnp:originalTrackNumber='3' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlistmostviewed' filteron='pv:playcount' sortcriteria='-pv:playcount' createClass='object.item.imageItem.photo' maxitems='500' upnp:originalTrackNumber='1' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlistlastviewed' filteron='pv:lastPlayedTime' sortcriteria='-pv:lastPlayedTime' createClass='object.item.imageItem.photo' maxitems='500' upnp:originalTrackNumber='2' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlisthighlyrated' filteron='pv:highrated' sortcriteria='-pv:rating' createClass='object.item.imageItem.photo' maxitems='500' upnp:originalTrackNumber='4' class='object.container.playlistContainer' restricted='1' flags='pv:smartplaylist=1' />
            <container buildon='upnp:playlist' sortcriteria='+upnp:originalTrackNumber' createClass='object.item.imageItem.photo,object.item.imageItem.online.photo' upnp:originalTrackNumber='5' class='object.container.playlistContainer' />
         </container>

         <container buildon='pv:onlineServiceName'  groupid='picture/onlineservices' createClass='object.item.imageItem.online.photo' class='object.container'>
            <container name='allname' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
            <container buildon='pv:onlineServiceTitle' createClass='object.item.imageItem.online.photo' class='object.container'>
               <container name='allname' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
               <container name='keywords' createClass='object.item.imageItem.online.photo'  class='object.container' >
                  <container buildon='pv:avKeywords' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
               </container>
               <container name='album' createClass='object.item.imageItem.online.photo'  class='object.container' >
                  <container buildon='upnp:album' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
               </container>
               <container name='date' createClass='object.item.imageItem.online.photo' class='object.container'>
                  <container buildon='pv:year' createClass='object.item.imageItem.online.photo' class='object.container'>
                     <container name='allname' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
                     <container buildon='pv:month' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum'/>
                  </container>
               </container>
               <container name='author' createClass='object.item.imageItem.online.photo' class='object.container' >
                  <container buildon='upnp:author' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
               </container>
            </container>
         </container>

      <container name='music' id='music' upnp:originalTrackNumber='1' createClass='object.item.audioItem.musicTrack,object.item.audioItem.online.musicTrack'>

         <container name='alltracks' id='music/all' createClass='object.item.audioItem.musicTrack' class='object.container'/>

         <container name='artist' id='music/artists' class='object.container.person.musicArtist' createClass='object.item.audioItem.musicTrack'>
            <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
            <container buildon='upnp:artist' class='object.container.person.musicArtist' createClass='object.item.audioItem.musicTrack'/>
         </container>

         <container name='artistindex' id='music/artistindex' class='object.container' createClass='object.item.audioItem.musicTrack'>
            <container buildon='upnp:artist[3]' class='object.container' createClass='object.item.audioItem.musicTrack'>
               <container buildon='upnp:artist' class='object.container.person.musicArtist' createClass='object.item.audioItem.musicTrack'>
                  <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
                  <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
               </container>
            </container>
         </container>

         <container name='composer' id='music/composers' createClass='object.item.audioItem.musicTrack' class='object.container' >
            <container buildon='upnp:author@role' createClass='object.item.audioItem.musicTrack' class='object.container.person.musicArtist' />
         </container>

         <container name='rating' id='music/rating' createClass='object.item.audioItem.musicTrack' class='object.container' >
            <container buildon='pv:rating' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
         </container>

         <container name='artistalbum' id='music/artistalbum' class='object.container.person.musicArtist' createClass='object.item.audioItem.musicTrack'>
            <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' >
               <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
            </container>
            <container buildon='upnp:artist' class='object.container.person.musicArtist' createClass='object.item.audioItem.musicTrack'>
               <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
               <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
            </container>
         </container>

         <container name='genre' id='music/genre' class='object.container' createClass='object.item.audioItem.musicTrack'>
            <container buildon='upnp:genre' class='object.container.genre.musicGenre' createClass='object.item.audioItem.musicTrack' />
         </container>

         <container name='genrealbum' id='music/genrealbum' class='object.container' createClass='object.item.audioItem.musicTrack'>
            <container buildon='upnp:genre' class='object.container.genre.musicGenre' createClass='object.item.audioItem.musicTrack' >
               <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
            </container>
         </container>

         <container name='genreartist' id='music/genreartistalbum' class='object.container' createClass='object.item.audioItem.musicTrack'>
            <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' >
               <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' >
                  <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
                  <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
               </container>
               <container buildon='upnp:artist' class='object.container' createClass='object.item.audioItem.musicTrack'>
                  <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
                  <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
               </container>
            </container>
            <container buildon='upnp:genre' class='object.container.genre.musicGenre' createClass='object.item.audioItem.musicTrack'>
               <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' >
                  <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
                  <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
               </container>
               <container buildon='upnp:artist' class='object.container' createClass='object.item.audioItem.musicTrack'>
                  <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
                  <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
               </container>
            </container>
         </container>

         <container name='album' id='music/albums' createClass='object.item.audioItem.musicTrack' class='object.container' >
            <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
         </container>

         <container name='byfolder' id='music/folders' class='object.container.storageFolder' createClass='object.item.audioItem.musicTrack'>
            <container buildon='res' createClass='object.item.audioItem.musicTrack' class='object.container.storageFolder' />
         </container>

         <container name='playlists' id='music/playlists' class='object.container' createClass='object.item.audioItem.musicTrack,object.item.audioItem.online.musicTrack' sortcriteria='+upnp:originalTrackNumber,+dc:title'   restricted='0' flags='pv:playlistRoot=Music' >
            <container name='playlistrecentlyadded' filteron='pv:addedLast60' sortcriteria='-pv:addedTime' createClass='object.item.audioItem.musicTrack' maxitems='500' upnp:originalTrackNumber='3' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlistmostplayed' filteron='pv:playcount' sortcriteria='-pv:playcount' createClass='object.item.audioItem.musicTrack' maxitems='500' upnp:originalTrackNumber='1'  restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlistlastplayed' filteron='pv:lastPlayedTime' sortcriteria='-pv:lastPlayedTime' createClass='object.item.audioItem.musicTrack' maxitems='500' upnp:originalTrackNumber='2' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlisthighlyrated' filteron='pv:highrated' sortcriteria='-pv:rating' createClass='object.item.audioItem.musicTrack' maxitems='500' upnp:originalTrackNumber='4' class='object.container.playlistContainer' restricted='1'  flags='pv:smartplaylist=1' />
            <container buildon='upnp:playlist' sortcriteria='+upnp:originalTrackNumber' upnp:originalTrackNumber='5' createClass='object.item.audioItem.musicTrack,object.item.audioItem.online.musicTrack' class='object.container.playlistContainer' />
         </container>

         <container buildon='pv:onlineServiceTitle'  groupid='music/onlineservices' createClass='object.item.audioItem.online.musicTrack' class='object.container'>
            <container name='allstations' createClass='object.item.audioItem.online.musicTrack' class='object.container' />
            <container name='genrestation' class='object.container' createClass='object.item.audioItem.online.musicTrack'>
               <container buildon='upnp:genre' class='object.container.genre.musicGenre' createClass='object.item.audioItem.online.musicTrack' />
            </container>
            <container name='stationindex' class='object.container' createClass='object.item.audioItem.online.musicTrack'>
               <container buildon='dc:title[3]' class='object.container' createClass='object.item.audioItem.online.musicTrack'>
                  <container buildon='dc:title' class='object.container' createClass='object.item.audioItem.online.musicTrack'/>
               </container>
            </container>
         </container>

      </container>

      <container name='pictures' id='picture' upnp:originalTrackNumber='2' createClass='object.item.imageItem.photo,object.item.imageItem.online.photo' class='object.container'>

         <container buildon='res' createClass='object.item.imageItem.photo' class='object.container.storageFolder'/>

      </container>

      <container name='videos' id='video' upnp:originalTrackNumber='3' sortcriteria='+upnp:originalTrackNumber' createClass='object.item.videoItem.movie,object.item.videoItem.classified.movie,object.item.videoItem.online.movie' class='object.container'>

         <container name='allvideos' id='video/all' createClass='object.item.videoItem.movie' class='object.container'/>

         <container name='byfolder' id='video/folders' class='object.container.storageFolder' restricted='0' createClass='object.item.videoItem.movie'>
            <container buildon='res' createClass='object.item.videoItem.movie' class='object.container.storageFolder'/>
         </container>

         <container name='title' id='video/titleindex' class='object.container' createClass='object.item.videoItem.movie'>
            <container buildon='dc:title[3]' class='object.container' createClass='object.item.videoItem.movie'>
               <container buildon='dc:title' class='object.container' createClass='object.item.videoItem.movie'/>
            </container>
         </container>

         <container name='byyear' id='video/year' createClass='object.item.videoItem.movie' class='object.container'>
            <container buildon='pv:year' createClass='object.item.videoItem.movie' class='object.container' />
         </container>

         <container name='bydate' id='video/date' createClass='object.item.videoItem.movie' class='object.container'>
            <container buildon='pv:year' createClass='object.item.videoItem.movie' class='object.container'>
               <container buildon='pv:month' createClass='object.item.videoItem.movie' class='object.container'/>
            </container>
         </container>

         <container name='album' id='video/albums' createClass='object.item.videoItem.movie' class='object.container' >
            <container buildon='upnp:album' createClass='object.item.videoItem.movie' class='object.container' />
         </container>

         <container name='rating' id='video/rating' createClass='object.item.videoItem.movie' class='object.container' >
            <container buildon='pv:rating' createClass='object.item.videoItem.movie' class='object.container' />
         </container>

         <container name='playlists' id='video/playlists' class='object.container' createClass='object.item.videoItem.movie,object.item.videoItem.online.movie' sortcriteria='+upnp:originalTrackNumber,+dc:title' restricted='0' flags='pv:playlistRoot=Video' >
            <container name='playlistrecentlyadded' filteron='pv:addedLast60' sortcriteria='-pv:addedTime' createClass='object.item.videoItem.movie' maxitems='500' upnp:originalTrackNumber='3' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlistmostviewed' filteron='pv:playcount' sortcriteria='-pv:playcount' createClass='object.item.videoItem.movie' maxitems='500' upnp:originalTrackNumber='1' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1'  />
            <container name='playlistlastviewed' filteron='pv:lastPlayedTime' sortcriteria='-pv:lastPlayedTime' createClass='object.item.videoItem.movie' maxitems='500' upnp:originalTrackNumber='2' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlisthighlyrated' filteron='pv:highrated' sortcriteria='-pv:rating' createClass='object.item.videoItem.movie' maxitems='500' upnp:originalTrackNumber='4' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container buildon='upnp:playlist' sortcriteria='+upnp:originalTrackNumber' createClass='object.item.videoItem.movie,object.item.videoItem.online.movie' upnp:originalTrackNumber='5' class='object.container.playlistContainer'  />
         </container>

                   <container name='classifiedvideos' id='video/classified' class='object.container'  createClass='object.item.videoItem.classified.movie'/>
     
         <container buildon='pv:onlineServiceName' groupid='video/onlineservices' createClass='object.item.videoItem.online.movie' class='object.container'>
            <container buildon='pv:onlineServiceTitle' createClass='object.item.videoItem.online.movie' class='object.container'/>
         </container>

      </container>

   </navtree>
</view>


Custom Navtree Scenario 2.zip
(2.29 KiB) Downloaded 403 times
Last edited by phibertron on Tue Mar 01, 2011 11:03 pm, edited 3 times in total.
viewtopic.php?f=2&t=10627
viewtopic.php?f=2&t=9353
viewtopic.php?f=2&t=9408
viewtopic.php?f=2&t=9416
viewtopic.php?f=2&t=9424
viewtopic.php?f=2&t=9364
viewtopic.php?f=2&t=9497

User avatar
phibertron
Posts: 1566
Joined: Sun Jan 30, 2011 5:52 pm
AV Hardware: Hardware
========
WHS - HP Ex495
PS3
XBOX 360
iTouch - Gen 2 and Gen 3
PSP - 3000

Encoders
========
Handbrake
x264
ffmpeg
mencoder

Tagging
======
mp3tag

Scenario 3

Postby phibertron » Tue Feb 22, 2011 10:55 pm

You want to have the music section just show folders at the root of the music container

advanced.view.xml

Code: Select all

<view name='advanceddefault' path='advanced.view'>
   <navtree>

      <container id='music' />

      <container id='picture' >
         <link id='picture/all' />   
         <link id='picture/folders' />
         <link id='picture/year' />
         <link id='picture/date' />
         <link id='picture/keywords' />
         <link id='picture/albums' />
         <link id='picture/rating' />
         <link id='picture/playlists' />
         <link groupid='picture/onlineservices' />
      </container>

      <container id='video' >
         <link id='video/all' />
         <link id='video/albums' />
         <link id='video/folders' />
         <link id='video/year' />
         <link id='video/date' />
         <link id='video/rating' />
         <link id='video/playlists' />
         <link groupid='video/onlineservices' />
      </container>

   </navtree>
</view>


view-definitions.xml

Code: Select all

<view name='base' viewlist='advanced' guilist='advanceddefault'>

   <navtree sortcriteria='+upnp:originalTrackNumber'>

         <container name='alltracks' id='music/all' createClass='object.item.audioItem.musicTrack' class='object.container'/>

         <container name='artist' id='music/artists' class='object.container.person.musicArtist' createClass='object.item.audioItem.musicTrack'>
            <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
            <container buildon='upnp:artist' class='object.container.person.musicArtist' createClass='object.item.audioItem.musicTrack'/>
         </container>

         <container name='artistindex' id='music/artistindex' class='object.container' createClass='object.item.audioItem.musicTrack'>
            <container buildon='upnp:artist[3]' class='object.container' createClass='object.item.audioItem.musicTrack'>
               <container buildon='upnp:artist' class='object.container.person.musicArtist' createClass='object.item.audioItem.musicTrack'>
                  <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
                  <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
               </container>
            </container>
         </container>

         <container name='composer' id='music/composers' createClass='object.item.audioItem.musicTrack' class='object.container' >
            <container buildon='upnp:author@role' createClass='object.item.audioItem.musicTrack' class='object.container.person.musicArtist' />
         </container>

         <container name='rating' id='music/rating' createClass='object.item.audioItem.musicTrack' class='object.container' >
            <container buildon='pv:rating' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
         </container>

         <container name='artistalbum' id='music/artistalbum' class='object.container.person.musicArtist' createClass='object.item.audioItem.musicTrack'>
            <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' >
               <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
            </container>
            <container buildon='upnp:artist' class='object.container.person.musicArtist' createClass='object.item.audioItem.musicTrack'>
               <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
               <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
            </container>
         </container>

         <container name='genre' id='music/genre' class='object.container' createClass='object.item.audioItem.musicTrack'>
            <container buildon='upnp:genre' class='object.container.genre.musicGenre' createClass='object.item.audioItem.musicTrack' />
         </container>

         <container name='genrealbum' id='music/genrealbum' class='object.container' createClass='object.item.audioItem.musicTrack'>
            <container buildon='upnp:genre' class='object.container.genre.musicGenre' createClass='object.item.audioItem.musicTrack' >
               <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
            </container>
         </container>

         <container name='genreartist' id='music/genreartistalbum' class='object.container' createClass='object.item.audioItem.musicTrack'>
            <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' >
               <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' >
                  <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
                  <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
               </container>
               <container buildon='upnp:artist' class='object.container' createClass='object.item.audioItem.musicTrack'>
                  <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
                  <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
               </container>
            </container>
            <container buildon='upnp:genre' class='object.container.genre.musicGenre' createClass='object.item.audioItem.musicTrack'>
               <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' >
                  <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
                  <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
               </container>
               <container buildon='upnp:artist' class='object.container' createClass='object.item.audioItem.musicTrack'>
                  <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
                  <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
               </container>
            </container>
         </container>

         <container name='album' id='music/albums' createClass='object.item.audioItem.musicTrack' class='object.container' >
            <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
         </container>

         <container name='byfolder' id='music/folders' class='object.container.storageFolder' createClass='object.item.audioItem.musicTrack'>
            <container buildon='res' createClass='object.item.audioItem.musicTrack' class='object.container.storageFolder' />
         </container>

         <container name='playlists' id='music/playlists' class='object.container' createClass='object.item.audioItem.musicTrack,object.item.audioItem.online.musicTrack' sortcriteria='+upnp:originalTrackNumber,+dc:title'   restricted='0' flags='pv:playlistRoot=Music' >
            <container name='playlistrecentlyadded' filteron='pv:addedLast60' sortcriteria='-pv:addedTime' createClass='object.item.audioItem.musicTrack' maxitems='500' upnp:originalTrackNumber='3' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlistmostplayed' filteron='pv:playcount' sortcriteria='-pv:playcount' createClass='object.item.audioItem.musicTrack' maxitems='500' upnp:originalTrackNumber='1'  restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlistlastplayed' filteron='pv:lastPlayedTime' sortcriteria='-pv:lastPlayedTime' createClass='object.item.audioItem.musicTrack' maxitems='500' upnp:originalTrackNumber='2' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlisthighlyrated' filteron='pv:highrated' sortcriteria='-pv:rating' createClass='object.item.audioItem.musicTrack' maxitems='500' upnp:originalTrackNumber='4' class='object.container.playlistContainer' restricted='1'  flags='pv:smartplaylist=1' />
            <container buildon='upnp:playlist' sortcriteria='+upnp:originalTrackNumber' upnp:originalTrackNumber='5' createClass='object.item.audioItem.musicTrack,object.item.audioItem.online.musicTrack' class='object.container.playlistContainer' />
         </container>

         <container buildon='pv:onlineServiceTitle'  groupid='music/onlineservices' createClass='object.item.audioItem.online.musicTrack' class='object.container'>
            <container name='allstations' createClass='object.item.audioItem.online.musicTrack' class='object.container' />
            <container name='genrestation' class='object.container' createClass='object.item.audioItem.online.musicTrack'>
               <container buildon='upnp:genre' class='object.container.genre.musicGenre' createClass='object.item.audioItem.online.musicTrack' />
            </container>
            <container name='stationindex' class='object.container' createClass='object.item.audioItem.online.musicTrack'>
               <container buildon='dc:title[3]' class='object.container' createClass='object.item.audioItem.online.musicTrack'>
                  <container buildon='dc:title' class='object.container' createClass='object.item.audioItem.online.musicTrack'/>
               </container>
            </container>
         </container>

      <container name='music' id='music' upnp:originalTrackNumber='1' createClass='object.item.audioItem.musicTrack,object.item.audioItem.online.musicTrack'>

         <container buildon='res' createClass='object.item.audioItem.musicTrack' class='object.container.storageFolder' />

      </container>

      <container name='pictures' id='picture' upnp:originalTrackNumber='2' createClass='object.item.imageItem.photo,object.item.imageItem.online.photo' class='object.container'>

         <container name='allpictures' id='picture/all' createClass='object.item.imageItem.photo' class='object.container'/>

         <container name='byfolder' id='picture/folders' class='object.container.storageFolder' restricted='0' createClass='object.item.imageItem.photo'>
            <container buildon='res' createClass='object.item.imageItem.photo' class='object.container.storageFolder'/>
         </container>

         <container name='byyear' id='picture/year' createClass='object.item.imageItem.photo' class='object.container'>
            <container buildon='pv:year' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
         </container>

         <container name='bydate' id='picture/date' createClass='object.item.imageItem.photo' class='object.container'>
            <container name='allname' createClass='object.item.imageItem.photo' class='object.container'>
               <container name='allname' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
               <container buildon='pv:month' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
            </container>
            <container buildon='pv:year' createClass='object.item.imageItem.photo' class='object.container'>
               <container name='allname' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
               <container buildon='pv:month' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
            </container>
         </container>

         <container name='keywords' id='picture/keywords' createClass='object.item.imageItem.photo'  class='object.container' >
            <container buildon='pv:avKeywords' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
         </container>

         <container name='album' id='picture/albums' createClass='object.item.imageItem.photo'  class='object.container' >
            <container buildon='upnp:album' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
         </container>

         <container name='rating' id='picture/rating' createClass='object.item.imageItem.photo' class='object.container' >
            <container buildon='pv:rating' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
         </container>

         <container name='slideshows' id='picture/playlists' class='object.container' createClass='object.item.imageItem.photo,object.item.imageItem.online.photo' sortcriteria='+upnp:originalTrackNumber,+dc:title' restricted='0' flags='pv:playlistRoot=Picture' >
            <container name='playlistrecentlyadded' filteron='pv:addedLast60' sortcriteria='-pv:addedTime' createClass='object.item.imageItem.photo' maxitems='500' upnp:originalTrackNumber='3' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlistmostviewed' filteron='pv:playcount' sortcriteria='-pv:playcount' createClass='object.item.imageItem.photo' maxitems='500' upnp:originalTrackNumber='1' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlistlastviewed' filteron='pv:lastPlayedTime' sortcriteria='-pv:lastPlayedTime' createClass='object.item.imageItem.photo' maxitems='500' upnp:originalTrackNumber='2' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlisthighlyrated' filteron='pv:highrated' sortcriteria='-pv:rating' createClass='object.item.imageItem.photo' maxitems='500' upnp:originalTrackNumber='4' class='object.container.playlistContainer' restricted='1' flags='pv:smartplaylist=1' />
            <container buildon='upnp:playlist' sortcriteria='+upnp:originalTrackNumber' createClass='object.item.imageItem.photo,object.item.imageItem.online.photo' upnp:originalTrackNumber='5' class='object.container.playlistContainer' />
         </container>

         <container buildon='pv:onlineServiceName'  groupid='picture/onlineservices' createClass='object.item.imageItem.online.photo' class='object.container'>
            <container name='allname' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
            <container buildon='pv:onlineServiceTitle' createClass='object.item.imageItem.online.photo' class='object.container'>
               <container name='allname' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
               <container name='keywords' createClass='object.item.imageItem.online.photo'  class='object.container' >
                  <container buildon='pv:avKeywords' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
               </container>
               <container name='album' createClass='object.item.imageItem.online.photo'  class='object.container' >
                  <container buildon='upnp:album' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
               </container>
               <container name='date' createClass='object.item.imageItem.online.photo' class='object.container'>
                  <container buildon='pv:year' createClass='object.item.imageItem.online.photo' class='object.container'>
                     <container name='allname' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
                     <container buildon='pv:month' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum'/>
                  </container>
               </container>
               <container name='author' createClass='object.item.imageItem.online.photo' class='object.container' >
                  <container buildon='upnp:author' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
               </container>
            </container>
         </container>

      </container>

      <container name='videos' id='video' upnp:originalTrackNumber='3' sortcriteria='+upnp:originalTrackNumber' createClass='object.item.videoItem.movie,object.item.videoItem.classified.movie,object.item.videoItem.online.movie' class='object.container'>

         <container name='allvideos' id='video/all' createClass='object.item.videoItem.movie' class='object.container'/>

         <container name='byfolder' id='video/folders' class='object.container.storageFolder' restricted='0' createClass='object.item.videoItem.movie'>
            <container buildon='res' createClass='object.item.videoItem.movie' class='object.container.storageFolder'/>
         </container>

         <container name='title' id='video/titleindex' class='object.container' createClass='object.item.videoItem.movie'>
            <container buildon='dc:title[3]' class='object.container' createClass='object.item.videoItem.movie'>
               <container buildon='dc:title' class='object.container' createClass='object.item.videoItem.movie'/>
            </container>
         </container>

         <container name='byyear' id='video/year' createClass='object.item.videoItem.movie' class='object.container'>
            <container buildon='pv:year' createClass='object.item.videoItem.movie' class='object.container' />
         </container>

         <container name='bydate' id='video/date' createClass='object.item.videoItem.movie' class='object.container'>
            <container buildon='pv:year' createClass='object.item.videoItem.movie' class='object.container'>
               <container buildon='pv:month' createClass='object.item.videoItem.movie' class='object.container'/>
            </container>
         </container>

         <container name='album' id='video/albums' createClass='object.item.videoItem.movie' class='object.container' >
            <container buildon='upnp:album' createClass='object.item.videoItem.movie' class='object.container' />
         </container>

         <container name='rating' id='video/rating' createClass='object.item.videoItem.movie' class='object.container' >
            <container buildon='pv:rating' createClass='object.item.videoItem.movie' class='object.container' />
         </container>

         <container name='playlists' id='video/playlists' class='object.container' createClass='object.item.videoItem.movie,object.item.videoItem.online.movie' sortcriteria='+upnp:originalTrackNumber,+dc:title' restricted='0' flags='pv:playlistRoot=Video' >
            <container name='playlistrecentlyadded' filteron='pv:addedLast60' sortcriteria='-pv:addedTime' createClass='object.item.videoItem.movie' maxitems='500' upnp:originalTrackNumber='3' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlistmostviewed' filteron='pv:playcount' sortcriteria='-pv:playcount' createClass='object.item.videoItem.movie' maxitems='500' upnp:originalTrackNumber='1' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1'  />
            <container name='playlistlastviewed' filteron='pv:lastPlayedTime' sortcriteria='-pv:lastPlayedTime' createClass='object.item.videoItem.movie' maxitems='500' upnp:originalTrackNumber='2' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlisthighlyrated' filteron='pv:highrated' sortcriteria='-pv:rating' createClass='object.item.videoItem.movie' maxitems='500' upnp:originalTrackNumber='4' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container buildon='upnp:playlist' sortcriteria='+upnp:originalTrackNumber' createClass='object.item.videoItem.movie,object.item.videoItem.online.movie' upnp:originalTrackNumber='5' class='object.container.playlistContainer'  />
         </container>

                   <container name='classifiedvideos' id='video/classified' class='object.container'  createClass='object.item.videoItem.classified.movie'/>
     
         <container buildon='pv:onlineServiceName' groupid='video/onlineservices' createClass='object.item.videoItem.online.movie' class='object.container'>
            <container buildon='pv:onlineServiceTitle' createClass='object.item.videoItem.online.movie' class='object.container'/>
         </container>

      </container>

   </navtree>
</view>


Custom Navtree Scenario 3.zip
(2.27 KiB) Downloaded 427 times
Last edited by phibertron on Tue Mar 01, 2011 11:04 pm, edited 3 times in total.
viewtopic.php?f=2&t=10627
viewtopic.php?f=2&t=9353
viewtopic.php?f=2&t=9408
viewtopic.php?f=2&t=9416
viewtopic.php?f=2&t=9424
viewtopic.php?f=2&t=9364
viewtopic.php?f=2&t=9497

User avatar
phibertron
Posts: 1566
Joined: Sun Jan 30, 2011 5:52 pm
AV Hardware: Hardware
========
WHS - HP Ex495
PS3
XBOX 360
iTouch - Gen 2 and Gen 3
PSP - 3000

Encoders
========
Handbrake
x264
ffmpeg
mencoder

Tagging
======
mp3tag

Scenario 4

Postby phibertron » Tue Feb 22, 2011 10:59 pm

You want to show only folders at the root of each section container Muisc, Pictures, Video

advanced.view.xml

Code: Select all

<view name='advanceddefault' path='advanced.view'>
   <navtree>

      <container id='music' />

      <container id='picture' />

      <container id='video' />

   </navtree>
</view>


view-definitions.xml

Code: Select all

<view name='base' viewlist='advanced' guilist='advanceddefault'>

   <navtree sortcriteria='+upnp:originalTrackNumber'>

         <container name='alltracks' id='music/all' createClass='object.item.audioItem.musicTrack' class='object.container'/>

         <container name='artist' id='music/artists' class='object.container.person.musicArtist' createClass='object.item.audioItem.musicTrack'>
            <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
            <container buildon='upnp:artist' class='object.container.person.musicArtist' createClass='object.item.audioItem.musicTrack'/>
         </container>

         <container name='artistindex' id='music/artistindex' class='object.container' createClass='object.item.audioItem.musicTrack'>
            <container buildon='upnp:artist[3]' class='object.container' createClass='object.item.audioItem.musicTrack'>
               <container buildon='upnp:artist' class='object.container.person.musicArtist' createClass='object.item.audioItem.musicTrack'>
                  <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
                  <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
               </container>
            </container>
         </container>

         <container name='composer' id='music/composers' createClass='object.item.audioItem.musicTrack' class='object.container' >
            <container buildon='upnp:author@role' createClass='object.item.audioItem.musicTrack' class='object.container.person.musicArtist' />
         </container>

         <container name='rating' id='music/rating' createClass='object.item.audioItem.musicTrack' class='object.container' >
            <container buildon='pv:rating' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
         </container>

         <container name='artistalbum' id='music/artistalbum' class='object.container.person.musicArtist' createClass='object.item.audioItem.musicTrack'>
            <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' >
               <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
            </container>
            <container buildon='upnp:artist' class='object.container.person.musicArtist' createClass='object.item.audioItem.musicTrack'>
               <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
               <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
            </container>
         </container>

         <container name='genre' id='music/genre' class='object.container' createClass='object.item.audioItem.musicTrack'>
            <container buildon='upnp:genre' class='object.container.genre.musicGenre' createClass='object.item.audioItem.musicTrack' />
         </container>

         <container name='genrealbum' id='music/genrealbum' class='object.container' createClass='object.item.audioItem.musicTrack'>
            <container buildon='upnp:genre' class='object.container.genre.musicGenre' createClass='object.item.audioItem.musicTrack' >
               <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
            </container>
         </container>

         <container name='genreartist' id='music/genreartistalbum' class='object.container' createClass='object.item.audioItem.musicTrack'>
            <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' >
               <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' >
                  <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
                  <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
               </container>
               <container buildon='upnp:artist' class='object.container' createClass='object.item.audioItem.musicTrack'>
                  <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
                  <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
               </container>
            </container>
            <container buildon='upnp:genre' class='object.container.genre.musicGenre' createClass='object.item.audioItem.musicTrack'>
               <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' >
                  <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
                  <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
               </container>
               <container buildon='upnp:artist' class='object.container' createClass='object.item.audioItem.musicTrack'>
                  <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
                  <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
               </container>
            </container>
         </container>

         <container name='album' id='music/albums' createClass='object.item.audioItem.musicTrack' class='object.container' >
            <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
         </container>

         <container name='byfolder' id='music/folders' class='object.container.storageFolder' createClass='object.item.audioItem.musicTrack'>
            <container buildon='res' createClass='object.item.audioItem.musicTrack' class='object.container.storageFolder' />
         </container>

         <container name='playlists' id='music/playlists' class='object.container' createClass='object.item.audioItem.musicTrack,object.item.audioItem.online.musicTrack' sortcriteria='+upnp:originalTrackNumber,+dc:title'   restricted='0' flags='pv:playlistRoot=Music' >
            <container name='playlistrecentlyadded' filteron='pv:addedLast60' sortcriteria='-pv:addedTime' createClass='object.item.audioItem.musicTrack' maxitems='500' upnp:originalTrackNumber='3' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlistmostplayed' filteron='pv:playcount' sortcriteria='-pv:playcount' createClass='object.item.audioItem.musicTrack' maxitems='500' upnp:originalTrackNumber='1'  restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlistlastplayed' filteron='pv:lastPlayedTime' sortcriteria='-pv:lastPlayedTime' createClass='object.item.audioItem.musicTrack' maxitems='500' upnp:originalTrackNumber='2' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlisthighlyrated' filteron='pv:highrated' sortcriteria='-pv:rating' createClass='object.item.audioItem.musicTrack' maxitems='500' upnp:originalTrackNumber='4' class='object.container.playlistContainer' restricted='1'  flags='pv:smartplaylist=1' />
            <container buildon='upnp:playlist' sortcriteria='+upnp:originalTrackNumber' upnp:originalTrackNumber='5' createClass='object.item.audioItem.musicTrack,object.item.audioItem.online.musicTrack' class='object.container.playlistContainer' />
         </container>

         <container buildon='pv:onlineServiceTitle'  groupid='music/onlineservices' createClass='object.item.audioItem.online.musicTrack' class='object.container'>
            <container name='allstations' createClass='object.item.audioItem.online.musicTrack' class='object.container' />
            <container name='genrestation' class='object.container' createClass='object.item.audioItem.online.musicTrack'>
               <container buildon='upnp:genre' class='object.container.genre.musicGenre' createClass='object.item.audioItem.online.musicTrack' />
            </container>
            <container name='stationindex' class='object.container' createClass='object.item.audioItem.online.musicTrack'>
               <container buildon='dc:title[3]' class='object.container' createClass='object.item.audioItem.online.musicTrack'>
                  <container buildon='dc:title' class='object.container' createClass='object.item.audioItem.online.musicTrack'/>
               </container>
            </container>
         </container>

         <container name='allpictures' id='picture/all' createClass='object.item.imageItem.photo' class='object.container'/>

         <container name='byfolder' id='picture/folders' class='object.container.storageFolder' restricted='0' createClass='object.item.imageItem.photo'>
            <container buildon='res' createClass='object.item.imageItem.photo' class='object.container.storageFolder'/>
         </container>

         <container name='byyear' id='picture/year' createClass='object.item.imageItem.photo' class='object.container'>
            <container buildon='pv:year' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
         </container>

         <container name='bydate' id='picture/date' createClass='object.item.imageItem.photo' class='object.container'>
            <container name='allname' createClass='object.item.imageItem.photo' class='object.container'>
               <container name='allname' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
               <container buildon='pv:month' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
            </container>
            <container buildon='pv:year' createClass='object.item.imageItem.photo' class='object.container'>
               <container name='allname' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
               <container buildon='pv:month' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
            </container>
         </container>

         <container name='keywords' id='picture/keywords' createClass='object.item.imageItem.photo'  class='object.container' >
            <container buildon='pv:avKeywords' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
         </container>

         <container name='album' id='picture/albums' createClass='object.item.imageItem.photo'  class='object.container' >
            <container buildon='upnp:album' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
         </container>

         <container name='rating' id='picture/rating' createClass='object.item.imageItem.photo' class='object.container' >
            <container buildon='pv:rating' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
         </container>

         <container name='slideshows' id='picture/playlists' class='object.container' createClass='object.item.imageItem.photo,object.item.imageItem.online.photo' sortcriteria='+upnp:originalTrackNumber,+dc:title' restricted='0' flags='pv:playlistRoot=Picture' >
            <container name='playlistrecentlyadded' filteron='pv:addedLast60' sortcriteria='-pv:addedTime' createClass='object.item.imageItem.photo' maxitems='500' upnp:originalTrackNumber='3' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlistmostviewed' filteron='pv:playcount' sortcriteria='-pv:playcount' createClass='object.item.imageItem.photo' maxitems='500' upnp:originalTrackNumber='1' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlistlastviewed' filteron='pv:lastPlayedTime' sortcriteria='-pv:lastPlayedTime' createClass='object.item.imageItem.photo' maxitems='500' upnp:originalTrackNumber='2' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlisthighlyrated' filteron='pv:highrated' sortcriteria='-pv:rating' createClass='object.item.imageItem.photo' maxitems='500' upnp:originalTrackNumber='4' class='object.container.playlistContainer' restricted='1' flags='pv:smartplaylist=1' />
            <container buildon='upnp:playlist' sortcriteria='+upnp:originalTrackNumber' createClass='object.item.imageItem.photo,object.item.imageItem.online.photo' upnp:originalTrackNumber='5' class='object.container.playlistContainer' />
         </container>

         <container buildon='pv:onlineServiceName'  groupid='picture/onlineservices' createClass='object.item.imageItem.online.photo' class='object.container'>
            <container name='allname' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
            <container buildon='pv:onlineServiceTitle' createClass='object.item.imageItem.online.photo' class='object.container'>
               <container name='allname' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
               <container name='keywords' createClass='object.item.imageItem.online.photo'  class='object.container' >
                  <container buildon='pv:avKeywords' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
               </container>
               <container name='album' createClass='object.item.imageItem.online.photo'  class='object.container' >
                  <container buildon='upnp:album' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
               </container>
               <container name='date' createClass='object.item.imageItem.online.photo' class='object.container'>
                  <container buildon='pv:year' createClass='object.item.imageItem.online.photo' class='object.container'>
                     <container name='allname' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
                     <container buildon='pv:month' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum'/>
                  </container>
               </container>
               <container name='author' createClass='object.item.imageItem.online.photo' class='object.container' >
                  <container buildon='upnp:author' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
               </container>
            </container>
         </container>

         <container name='allvideos' id='video/all' createClass='object.item.videoItem.movie' class='object.container'/>

         <container name='byfolder' id='video/folders' class='object.container.storageFolder' restricted='0' createClass='object.item.videoItem.movie'>
            <container buildon='res' createClass='object.item.videoItem.movie' class='object.container.storageFolder'/>
         </container>

         <container name='title' id='video/titleindex' class='object.container' createClass='object.item.videoItem.movie'>
            <container buildon='dc:title[3]' class='object.container' createClass='object.item.videoItem.movie'>
               <container buildon='dc:title' class='object.container' createClass='object.item.videoItem.movie'/>
            </container>
         </container>

         <container name='byyear' id='video/year' createClass='object.item.videoItem.movie' class='object.container'>
            <container buildon='pv:year' createClass='object.item.videoItem.movie' class='object.container' />
         </container>

         <container name='bydate' id='video/date' createClass='object.item.videoItem.movie' class='object.container'>
            <container buildon='pv:year' createClass='object.item.videoItem.movie' class='object.container'>
               <container buildon='pv:month' createClass='object.item.videoItem.movie' class='object.container'/>
            </container>
         </container>

         <container name='album' id='video/albums' createClass='object.item.videoItem.movie' class='object.container' >
            <container buildon='upnp:album' createClass='object.item.videoItem.movie' class='object.container' />
         </container>

         <container name='rating' id='video/rating' createClass='object.item.videoItem.movie' class='object.container' >
            <container buildon='pv:rating' createClass='object.item.videoItem.movie' class='object.container' />
         </container>

         <container name='playlists' id='video/playlists' class='object.container' createClass='object.item.videoItem.movie,object.item.videoItem.online.movie' sortcriteria='+upnp:originalTrackNumber,+dc:title' restricted='0' flags='pv:playlistRoot=Video' >
            <container name='playlistrecentlyadded' filteron='pv:addedLast60' sortcriteria='-pv:addedTime' createClass='object.item.videoItem.movie' maxitems='500' upnp:originalTrackNumber='3' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlistmostviewed' filteron='pv:playcount' sortcriteria='-pv:playcount' createClass='object.item.videoItem.movie' maxitems='500' upnp:originalTrackNumber='1' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1'  />
            <container name='playlistlastviewed' filteron='pv:lastPlayedTime' sortcriteria='-pv:lastPlayedTime' createClass='object.item.videoItem.movie' maxitems='500' upnp:originalTrackNumber='2' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlisthighlyrated' filteron='pv:highrated' sortcriteria='-pv:rating' createClass='object.item.videoItem.movie' maxitems='500' upnp:originalTrackNumber='4' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container buildon='upnp:playlist' sortcriteria='+upnp:originalTrackNumber' createClass='object.item.videoItem.movie,object.item.videoItem.online.movie' upnp:originalTrackNumber='5' class='object.container.playlistContainer'  />
         </container>

                   <container name='classifiedvideos' id='video/classified' class='object.container'  createClass='object.item.videoItem.classified.movie'/>
     
         <container buildon='pv:onlineServiceName' groupid='video/onlineservices' createClass='object.item.videoItem.online.movie' class='object.container'>
            <container buildon='pv:onlineServiceTitle' createClass='object.item.videoItem.online.movie' class='object.container'/>
         </container>

      <container name='music' id='music' upnp:originalTrackNumber='1' createClass='object.item.audioItem.musicTrack,object.item.audioItem.online.musicTrack'>

         <container buildon='res' createClass='object.item.audioItem.musicTrack' class='object.container.storageFolder' />

      </container>

      <container name='pictures' id='picture' upnp:originalTrackNumber='2' createClass='object.item.imageItem.photo,object.item.imageItem.online.photo' class='object.container'>

         <container buildon='res' createClass='object.item.imageItem.photo' class='object.container.storageFolder'/>

      </container>

      <container name='videos' id='video' upnp:originalTrackNumber='3' sortcriteria='+upnp:originalTrackNumber' createClass='object.item.videoItem.movie,object.item.videoItem.classified.movie,object.item.videoItem.online.movie' class='object.container'>

         <container buildon='res' createClass='object.item.videoItem.movie' class='object.container.storageFolder'/>

      </container>

   </navtree>
</view>



Custom Navtree Scenario 4.zip
(2.17 KiB) Downloaded 449 times
Last edited by phibertron on Tue Mar 01, 2011 11:05 pm, edited 4 times in total.
viewtopic.php?f=2&t=10627
viewtopic.php?f=2&t=9353
viewtopic.php?f=2&t=9408
viewtopic.php?f=2&t=9416
viewtopic.php?f=2&t=9424
viewtopic.php?f=2&t=9364
viewtopic.php?f=2&t=9497

User avatar
phibertron
Posts: 1566
Joined: Sun Jan 30, 2011 5:52 pm
AV Hardware: Hardware
========
WHS - HP Ex495
PS3
XBOX 360
iTouch - Gen 2 and Gen 3
PSP - 3000

Encoders
========
Handbrake
x264
ffmpeg
mencoder

Tagging
======
mp3tag

Scenario 5

Postby phibertron » Tue Feb 22, 2011 11:06 pm

You want to show only video folders at the root of the navtree

advanced.view.xml

Code: Select all

<view name='advanceddefault' path='advanced.view'>
   <navtree>

      <link groupid='myvideo' />

   </navtree>
</view>


view-definitions.xml

Code: Select all

<view name='base' viewlist='advanced' guilist='advanceddefault'>

   <navtree sortcriteria='+upnp:originalTrackNumber'>

         <container name='allvideos' id='video/all' createClass='object.item.videoItem.movie' class='object.container'/>

         <container name='byfolder' id='video/folders' class='object.container.storageFolder' restricted='0' createClass='object.item.videoItem.movie'>
            <container buildon='res' createClass='object.item.videoItem.movie' class='object.container.storageFolder'/>
         </container>

         <container name='title' id='video/titleindex' class='object.container' createClass='object.item.videoItem.movie'>
            <container buildon='dc:title[3]' class='object.container' createClass='object.item.videoItem.movie'>
               <container buildon='dc:title' class='object.container' createClass='object.item.videoItem.movie'/>
            </container>
         </container>

         <container name='byyear' id='video/year' createClass='object.item.videoItem.movie' class='object.container'>
            <container buildon='pv:year' createClass='object.item.videoItem.movie' class='object.container' />
         </container>

         <container name='bydate' id='video/date' createClass='object.item.videoItem.movie' class='object.container'>
            <container buildon='pv:year' createClass='object.item.videoItem.movie' class='object.container'>
               <container buildon='pv:month' createClass='object.item.videoItem.movie' class='object.container'/>
            </container>
         </container>

         <container name='album' id='video/albums' createClass='object.item.videoItem.movie' class='object.container' >
            <container buildon='upnp:album' createClass='object.item.videoItem.movie' class='object.container' />
         </container>

         <container name='rating' id='video/rating' createClass='object.item.videoItem.movie' class='object.container' >
            <container buildon='pv:rating' createClass='object.item.videoItem.movie' class='object.container' />
         </container>

         <container name='playlists' id='video/playlists' class='object.container' createClass='object.item.videoItem.movie,object.item.videoItem.online.movie' sortcriteria='+upnp:originalTrackNumber,+dc:title' restricted='0' flags='pv:playlistRoot=Video' >
            <container name='playlistrecentlyadded' filteron='pv:addedLast60' sortcriteria='-pv:addedTime' createClass='object.item.videoItem.movie' maxitems='500' upnp:originalTrackNumber='3' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlistmostviewed' filteron='pv:playcount' sortcriteria='-pv:playcount' createClass='object.item.videoItem.movie' maxitems='500' upnp:originalTrackNumber='1' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1'  />
            <container name='playlistlastviewed' filteron='pv:lastPlayedTime' sortcriteria='-pv:lastPlayedTime' createClass='object.item.videoItem.movie' maxitems='500' upnp:originalTrackNumber='2' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlisthighlyrated' filteron='pv:highrated' sortcriteria='-pv:rating' createClass='object.item.videoItem.movie' maxitems='500' upnp:originalTrackNumber='4' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container buildon='upnp:playlist' sortcriteria='+upnp:originalTrackNumber' createClass='object.item.videoItem.movie,object.item.videoItem.online.movie' upnp:originalTrackNumber='5' class='object.container.playlistContainer'  />
         </container>

                   <container name='classifiedvideos' id='video/classified' class='object.container'  createClass='object.item.videoItem.classified.movie'/>
     
         <container buildon='pv:onlineServiceName' groupid='video/onlineservices' createClass='object.item.videoItem.online.movie' class='object.container'>
            <container buildon='pv:onlineServiceTitle' createClass='object.item.videoItem.online.movie' class='object.container'/>
         </container>

      <container name='music' id='music' upnp:originalTrackNumber='1' createClass='object.item.audioItem.musicTrack,object.item.audioItem.online.musicTrack'>

         <container name='alltracks' id='music/all' createClass='object.item.audioItem.musicTrack' class='object.container'/>

         <container name='artist' id='music/artists' class='object.container.person.musicArtist' createClass='object.item.audioItem.musicTrack'>
            <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
            <container buildon='upnp:artist' class='object.container.person.musicArtist' createClass='object.item.audioItem.musicTrack'/>
         </container>

         <container name='artistindex' id='music/artistindex' class='object.container' createClass='object.item.audioItem.musicTrack'>
            <container buildon='upnp:artist[3]' class='object.container' createClass='object.item.audioItem.musicTrack'>
               <container buildon='upnp:artist' class='object.container.person.musicArtist' createClass='object.item.audioItem.musicTrack'>
                  <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
                  <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
               </container>
            </container>
         </container>

         <container name='composer' id='music/composers' createClass='object.item.audioItem.musicTrack' class='object.container' >
            <container buildon='upnp:author@role' createClass='object.item.audioItem.musicTrack' class='object.container.person.musicArtist' />
         </container>

         <container name='rating' id='music/rating' createClass='object.item.audioItem.musicTrack' class='object.container' >
            <container buildon='pv:rating' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
         </container>

         <container name='artistalbum' id='music/artistalbum' class='object.container.person.musicArtist' createClass='object.item.audioItem.musicTrack'>
            <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' >
               <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
            </container>
            <container buildon='upnp:artist' class='object.container.person.musicArtist' createClass='object.item.audioItem.musicTrack'>
               <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
               <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
            </container>
         </container>

         <container name='genre' id='music/genre' class='object.container' createClass='object.item.audioItem.musicTrack'>
            <container buildon='upnp:genre' class='object.container.genre.musicGenre' createClass='object.item.audioItem.musicTrack' />
         </container>

         <container name='genrealbum' id='music/genrealbum' class='object.container' createClass='object.item.audioItem.musicTrack'>
            <container buildon='upnp:genre' class='object.container.genre.musicGenre' createClass='object.item.audioItem.musicTrack' >
               <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
            </container>
         </container>

         <container name='genreartist' id='music/genreartistalbum' class='object.container' createClass='object.item.audioItem.musicTrack'>
            <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' >
               <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' >
                  <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
                  <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
               </container>
               <container buildon='upnp:artist' class='object.container' createClass='object.item.audioItem.musicTrack'>
                  <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
                  <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
               </container>
            </container>
            <container buildon='upnp:genre' class='object.container.genre.musicGenre' createClass='object.item.audioItem.musicTrack'>
               <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' >
                  <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
                  <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
               </container>
               <container buildon='upnp:artist' class='object.container' createClass='object.item.audioItem.musicTrack'>
                  <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
                  <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
               </container>
            </container>
         </container>

         <container name='album' id='music/albums' createClass='object.item.audioItem.musicTrack' class='object.container' >
            <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
         </container>

         <container name='byfolder' id='music/folders' class='object.container.storageFolder' createClass='object.item.audioItem.musicTrack'>
            <container buildon='res' createClass='object.item.audioItem.musicTrack' class='object.container.storageFolder' />
         </container>

         <container name='playlists' id='music/playlists' class='object.container' createClass='object.item.audioItem.musicTrack,object.item.audioItem.online.musicTrack' sortcriteria='+upnp:originalTrackNumber,+dc:title'   restricted='0' flags='pv:playlistRoot=Music' >
            <container name='playlistrecentlyadded' filteron='pv:addedLast60' sortcriteria='-pv:addedTime' createClass='object.item.audioItem.musicTrack' maxitems='500' upnp:originalTrackNumber='3' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlistmostplayed' filteron='pv:playcount' sortcriteria='-pv:playcount' createClass='object.item.audioItem.musicTrack' maxitems='500' upnp:originalTrackNumber='1'  restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlistlastplayed' filteron='pv:lastPlayedTime' sortcriteria='-pv:lastPlayedTime' createClass='object.item.audioItem.musicTrack' maxitems='500' upnp:originalTrackNumber='2' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlisthighlyrated' filteron='pv:highrated' sortcriteria='-pv:rating' createClass='object.item.audioItem.musicTrack' maxitems='500' upnp:originalTrackNumber='4' class='object.container.playlistContainer' restricted='1'  flags='pv:smartplaylist=1' />
            <container buildon='upnp:playlist' sortcriteria='+upnp:originalTrackNumber' upnp:originalTrackNumber='5' createClass='object.item.audioItem.musicTrack,object.item.audioItem.online.musicTrack' class='object.container.playlistContainer' />
         </container>

         <container buildon='pv:onlineServiceTitle'  groupid='music/onlineservices' createClass='object.item.audioItem.online.musicTrack' class='object.container'>
            <container name='allstations' createClass='object.item.audioItem.online.musicTrack' class='object.container' />
            <container name='genrestation' class='object.container' createClass='object.item.audioItem.online.musicTrack'>
               <container buildon='upnp:genre' class='object.container.genre.musicGenre' createClass='object.item.audioItem.online.musicTrack' />
            </container>
            <container name='stationindex' class='object.container' createClass='object.item.audioItem.online.musicTrack'>
               <container buildon='dc:title[3]' class='object.container' createClass='object.item.audioItem.online.musicTrack'>
                  <container buildon='dc:title' class='object.container' createClass='object.item.audioItem.online.musicTrack'/>
               </container>
            </container>
         </container>

      </container>

      <container name='pictures' id='picture' upnp:originalTrackNumber='2' createClass='object.item.imageItem.photo,object.item.imageItem.online.photo' class='object.container'>

         <container name='allpictures' id='picture/all' createClass='object.item.imageItem.photo' class='object.container'/>

         <container name='byfolder' id='picture/folders' class='object.container.storageFolder' restricted='0' createClass='object.item.imageItem.photo'>
            <container buildon='res' createClass='object.item.imageItem.photo' class='object.container.storageFolder'/>
         </container>

         <container name='byyear' id='picture/year' createClass='object.item.imageItem.photo' class='object.container'>
            <container buildon='pv:year' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
         </container>

         <container name='bydate' id='picture/date' createClass='object.item.imageItem.photo' class='object.container'>
            <container name='allname' createClass='object.item.imageItem.photo' class='object.container'>
               <container name='allname' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
               <container buildon='pv:month' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
            </container>
            <container buildon='pv:year' createClass='object.item.imageItem.photo' class='object.container'>
               <container name='allname' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
               <container buildon='pv:month' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
            </container>
         </container>

         <container name='keywords' id='picture/keywords' createClass='object.item.imageItem.photo'  class='object.container' >
            <container buildon='pv:avKeywords' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
         </container>

         <container name='album' id='picture/albums' createClass='object.item.imageItem.photo'  class='object.container' >
            <container buildon='upnp:album' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
         </container>

         <container name='rating' id='picture/rating' createClass='object.item.imageItem.photo' class='object.container' >
            <container buildon='pv:rating' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
         </container>

         <container name='slideshows' id='picture/playlists' class='object.container' createClass='object.item.imageItem.photo,object.item.imageItem.online.photo' sortcriteria='+upnp:originalTrackNumber,+dc:title' restricted='0' flags='pv:playlistRoot=Picture' >
            <container name='playlistrecentlyadded' filteron='pv:addedLast60' sortcriteria='-pv:addedTime' createClass='object.item.imageItem.photo' maxitems='500' upnp:originalTrackNumber='3' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlistmostviewed' filteron='pv:playcount' sortcriteria='-pv:playcount' createClass='object.item.imageItem.photo' maxitems='500' upnp:originalTrackNumber='1' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlistlastviewed' filteron='pv:lastPlayedTime' sortcriteria='-pv:lastPlayedTime' createClass='object.item.imageItem.photo' maxitems='500' upnp:originalTrackNumber='2' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlisthighlyrated' filteron='pv:highrated' sortcriteria='-pv:rating' createClass='object.item.imageItem.photo' maxitems='500' upnp:originalTrackNumber='4' class='object.container.playlistContainer' restricted='1' flags='pv:smartplaylist=1' />
            <container buildon='upnp:playlist' sortcriteria='+upnp:originalTrackNumber' createClass='object.item.imageItem.photo,object.item.imageItem.online.photo' upnp:originalTrackNumber='5' class='object.container.playlistContainer' />
         </container>

         <container buildon='pv:onlineServiceName'  groupid='picture/onlineservices' createClass='object.item.imageItem.online.photo' class='object.container'>
            <container name='allname' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
            <container buildon='pv:onlineServiceTitle' createClass='object.item.imageItem.online.photo' class='object.container'>
               <container name='allname' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
               <container name='keywords' createClass='object.item.imageItem.online.photo'  class='object.container' >
                  <container buildon='pv:avKeywords' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
               </container>
               <container name='album' createClass='object.item.imageItem.online.photo'  class='object.container' >
                  <container buildon='upnp:album' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
               </container>
               <container name='date' createClass='object.item.imageItem.online.photo' class='object.container'>
                  <container buildon='pv:year' createClass='object.item.imageItem.online.photo' class='object.container'>
                     <container name='allname' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
                     <container buildon='pv:month' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum'/>
                  </container>
               </container>
               <container name='author' createClass='object.item.imageItem.online.photo' class='object.container' >
                  <container buildon='upnp:author' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
               </container>
            </container>
         </container>

      </container>

      <container name='videos' id='video' upnp:originalTrackNumber='3' sortcriteria='+upnp:originalTrackNumber' createClass='object.item.videoItem.movie,object.item.videoItem.classified.movie,object.item.videoItem.online.movie' class='object.container'>

         <container buildon='res' createClass='object.item.videoItem.movie' class='object.container.storageFolder'/>

      </container>

      <container buildon='res' groupid='myvideo' createClass='object.item.videoItem.movie' class='object.container' >

         <container name='' buildon='res' createClass='object.item.videoItem.movie' class='object.container />

      </container>

   </navtree>
</view>


Custom Navtree Scenario 5.zip
(2.21 KiB) Downloaded 405 times
Last edited by phibertron on Tue Mar 01, 2011 11:06 pm, edited 6 times in total.
viewtopic.php?f=2&t=10627
viewtopic.php?f=2&t=9353
viewtopic.php?f=2&t=9408
viewtopic.php?f=2&t=9416
viewtopic.php?f=2&t=9424
viewtopic.php?f=2&t=9364
viewtopic.php?f=2&t=9497

User avatar
phibertron
Posts: 1566
Joined: Sun Jan 30, 2011 5:52 pm
AV Hardware: Hardware
========
WHS - HP Ex495
PS3
XBOX 360
iTouch - Gen 2 and Gen 3
PSP - 3000

Encoders
========
Handbrake
x264
ffmpeg
mencoder

Tagging
======
mp3tag

Scenario 6

Postby phibertron » Tue Feb 22, 2011 11:26 pm

You want to show only picture folders at the root of the navtree

advanced.view.xml

Code: Select all

<view name='advanceddefault' path='advanced.view'>
   <navtree>

      <link groupid='mypicture' />

   </navtree>
</view>


view-definitions.xml

Code: Select all

<view name='base' viewlist='advanced' guilist='advanceddefault'>

   <navtree sortcriteria='+upnp:originalTrackNumber'>

         <container name='allpictures' id='picture/all' createClass='object.item.imageItem.photo' class='object.container'/>

         <container name='byfolder' id='picture/folders' class='object.container.storageFolder' restricted='0' createClass='object.item.imageItem.photo'>
            <container buildon='res' createClass='object.item.imageItem.photo' class='object.container.storageFolder'/>
         </container>

         <container name='byyear' id='picture/year' createClass='object.item.imageItem.photo' class='object.container'>
            <container buildon='pv:year' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
         </container>

         <container name='bydate' id='picture/date' createClass='object.item.imageItem.photo' class='object.container'>
            <container name='allname' createClass='object.item.imageItem.photo' class='object.container'>
               <container name='allname' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
               <container buildon='pv:month' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
            </container>
            <container buildon='pv:year' createClass='object.item.imageItem.photo' class='object.container'>
               <container name='allname' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
               <container buildon='pv:month' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
            </container>
         </container>

         <container name='keywords' id='picture/keywords' createClass='object.item.imageItem.photo'  class='object.container' >
            <container buildon='pv:avKeywords' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
         </container>

         <container name='album' id='picture/albums' createClass='object.item.imageItem.photo'  class='object.container' >
            <container buildon='upnp:album' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
         </container>

         <container name='rating' id='picture/rating' createClass='object.item.imageItem.photo' class='object.container' >
            <container buildon='pv:rating' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
         </container>

         <container name='slideshows' id='picture/playlists' class='object.container' createClass='object.item.imageItem.photo,object.item.imageItem.online.photo' sortcriteria='+upnp:originalTrackNumber,+dc:title' restricted='0' flags='pv:playlistRoot=Picture' >
            <container name='playlistrecentlyadded' filteron='pv:addedLast60' sortcriteria='-pv:addedTime' createClass='object.item.imageItem.photo' maxitems='500' upnp:originalTrackNumber='3' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlistmostviewed' filteron='pv:playcount' sortcriteria='-pv:playcount' createClass='object.item.imageItem.photo' maxitems='500' upnp:originalTrackNumber='1' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlistlastviewed' filteron='pv:lastPlayedTime' sortcriteria='-pv:lastPlayedTime' createClass='object.item.imageItem.photo' maxitems='500' upnp:originalTrackNumber='2' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlisthighlyrated' filteron='pv:highrated' sortcriteria='-pv:rating' createClass='object.item.imageItem.photo' maxitems='500' upnp:originalTrackNumber='4' class='object.container.playlistContainer' restricted='1' flags='pv:smartplaylist=1' />
            <container buildon='upnp:playlist' sortcriteria='+upnp:originalTrackNumber' createClass='object.item.imageItem.photo,object.item.imageItem.online.photo' upnp:originalTrackNumber='5' class='object.container.playlistContainer' />
         </container>

         <container buildon='pv:onlineServiceName'  groupid='picture/onlineservices' createClass='object.item.imageItem.online.photo' class='object.container'>
            <container name='allname' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
            <container buildon='pv:onlineServiceTitle' createClass='object.item.imageItem.online.photo' class='object.container'>
               <container name='allname' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
               <container name='keywords' createClass='object.item.imageItem.online.photo'  class='object.container' >
                  <container buildon='pv:avKeywords' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
               </container>
               <container name='album' createClass='object.item.imageItem.online.photo'  class='object.container' >
                  <container buildon='upnp:album' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
               </container>
               <container name='date' createClass='object.item.imageItem.online.photo' class='object.container'>
                  <container buildon='pv:year' createClass='object.item.imageItem.online.photo' class='object.container'>
                     <container name='allname' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
                     <container buildon='pv:month' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum'/>
                  </container>
               </container>
               <container name='author' createClass='object.item.imageItem.online.photo' class='object.container' >
                  <container buildon='upnp:author' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
               </container>
            </container>
         </container>

      <container name='music' id='music' upnp:originalTrackNumber='1' createClass='object.item.audioItem.musicTrack,object.item.audioItem.online.musicTrack'>

         <container name='alltracks' id='music/all' createClass='object.item.audioItem.musicTrack' class='object.container'/>

         <container name='artist' id='music/artists' class='object.container.person.musicArtist' createClass='object.item.audioItem.musicTrack'>
            <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
            <container buildon='upnp:artist' class='object.container.person.musicArtist' createClass='object.item.audioItem.musicTrack'/>
         </container>

         <container name='artistindex' id='music/artistindex' class='object.container' createClass='object.item.audioItem.musicTrack'>
            <container buildon='upnp:artist[3]' class='object.container' createClass='object.item.audioItem.musicTrack'>
               <container buildon='upnp:artist' class='object.container.person.musicArtist' createClass='object.item.audioItem.musicTrack'>
                  <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
                  <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
               </container>
            </container>
         </container>

         <container name='composer' id='music/composers' createClass='object.item.audioItem.musicTrack' class='object.container' >
            <container buildon='upnp:author@role' createClass='object.item.audioItem.musicTrack' class='object.container.person.musicArtist' />
         </container>

         <container name='rating' id='music/rating' createClass='object.item.audioItem.musicTrack' class='object.container' >
            <container buildon='pv:rating' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
         </container>

         <container name='artistalbum' id='music/artistalbum' class='object.container.person.musicArtist' createClass='object.item.audioItem.musicTrack'>
            <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' >
               <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
            </container>
            <container buildon='upnp:artist' class='object.container.person.musicArtist' createClass='object.item.audioItem.musicTrack'>
               <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
               <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
            </container>
         </container>

         <container name='genre' id='music/genre' class='object.container' createClass='object.item.audioItem.musicTrack'>
            <container buildon='upnp:genre' class='object.container.genre.musicGenre' createClass='object.item.audioItem.musicTrack' />
         </container>

         <container name='genrealbum' id='music/genrealbum' class='object.container' createClass='object.item.audioItem.musicTrack'>
            <container buildon='upnp:genre' class='object.container.genre.musicGenre' createClass='object.item.audioItem.musicTrack' >
               <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
            </container>
         </container>

         <container name='genreartist' id='music/genreartistalbum' class='object.container' createClass='object.item.audioItem.musicTrack'>
            <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' >
               <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' >
                  <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
                  <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
               </container>
               <container buildon='upnp:artist' class='object.container' createClass='object.item.audioItem.musicTrack'>
                  <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
                  <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
               </container>
            </container>
            <container buildon='upnp:genre' class='object.container.genre.musicGenre' createClass='object.item.audioItem.musicTrack'>
               <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' >
                  <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
                  <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
               </container>
               <container buildon='upnp:artist' class='object.container' createClass='object.item.audioItem.musicTrack'>
                  <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
                  <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
               </container>
            </container>
         </container>

         <container name='album' id='music/albums' createClass='object.item.audioItem.musicTrack' class='object.container' >
            <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
         </container>

         <container name='byfolder' id='music/folders' class='object.container.storageFolder' createClass='object.item.audioItem.musicTrack'>
            <container buildon='res' createClass='object.item.audioItem.musicTrack' class='object.container.storageFolder' />
         </container>

         <container name='playlists' id='music/playlists' class='object.container' createClass='object.item.audioItem.musicTrack,object.item.audioItem.online.musicTrack' sortcriteria='+upnp:originalTrackNumber,+dc:title'   restricted='0' flags='pv:playlistRoot=Music' >
            <container name='playlistrecentlyadded' filteron='pv:addedLast60' sortcriteria='-pv:addedTime' createClass='object.item.audioItem.musicTrack' maxitems='500' upnp:originalTrackNumber='3' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlistmostplayed' filteron='pv:playcount' sortcriteria='-pv:playcount' createClass='object.item.audioItem.musicTrack' maxitems='500' upnp:originalTrackNumber='1'  restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlistlastplayed' filteron='pv:lastPlayedTime' sortcriteria='-pv:lastPlayedTime' createClass='object.item.audioItem.musicTrack' maxitems='500' upnp:originalTrackNumber='2' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlisthighlyrated' filteron='pv:highrated' sortcriteria='-pv:rating' createClass='object.item.audioItem.musicTrack' maxitems='500' upnp:originalTrackNumber='4' class='object.container.playlistContainer' restricted='1'  flags='pv:smartplaylist=1' />
            <container buildon='upnp:playlist' sortcriteria='+upnp:originalTrackNumber' upnp:originalTrackNumber='5' createClass='object.item.audioItem.musicTrack,object.item.audioItem.online.musicTrack' class='object.container.playlistContainer' />
         </container>

         <container buildon='pv:onlineServiceTitle'  groupid='music/onlineservices' createClass='object.item.audioItem.online.musicTrack' class='object.container'>
            <container name='allstations' createClass='object.item.audioItem.online.musicTrack' class='object.container' />
            <container name='genrestation' class='object.container' createClass='object.item.audioItem.online.musicTrack'>
               <container buildon='upnp:genre' class='object.container.genre.musicGenre' createClass='object.item.audioItem.online.musicTrack' />
            </container>
            <container name='stationindex' class='object.container' createClass='object.item.audioItem.online.musicTrack'>
               <container buildon='dc:title[3]' class='object.container' createClass='object.item.audioItem.online.musicTrack'>
                  <container buildon='dc:title' class='object.container' createClass='object.item.audioItem.online.musicTrack'/>
               </container>
            </container>
         </container>

      </container>

      <container name='pictures' id='picture' upnp:originalTrackNumber='2' createClass='object.item.imageItem.photo,object.item.imageItem.online.photo' class='object.container'>

         <container buildon='res' createClass='object.item.imageItem.photo' class='object.container.storageFolder'/>

      </container>

      <container name='videos' id='video' upnp:originalTrackNumber='3' sortcriteria='+upnp:originalTrackNumber' createClass='object.item.videoItem.movie,object.item.videoItem.classified.movie,object.item.videoItem.online.movie' class='object.container'>

         <container name='allvideos' id='video/all' createClass='object.item.videoItem.movie' class='object.container'/>

         <container name='byfolder' id='video/folders' class='object.container.storageFolder' restricted='0' createClass='object.item.videoItem.movie'>
            <container buildon='res' createClass='object.item.videoItem.movie' class='object.container.storageFolder'/>
         </container>

         <container name='title' id='video/titleindex' class='object.container' createClass='object.item.videoItem.movie'>
            <container buildon='dc:title[3]' class='object.container' createClass='object.item.videoItem.movie'>
               <container buildon='dc:title' class='object.container' createClass='object.item.videoItem.movie'/>
            </container>
         </container>

         <container name='byyear' id='video/year' createClass='object.item.videoItem.movie' class='object.container'>
            <container buildon='pv:year' createClass='object.item.videoItem.movie' class='object.container' />
         </container>

         <container name='bydate' id='video/date' createClass='object.item.videoItem.movie' class='object.container'>
            <container buildon='pv:year' createClass='object.item.videoItem.movie' class='object.container'>
               <container buildon='pv:month' createClass='object.item.videoItem.movie' class='object.container'/>
            </container>
         </container>

         <container name='album' id='video/albums' createClass='object.item.videoItem.movie' class='object.container' >
            <container buildon='upnp:album' createClass='object.item.videoItem.movie' class='object.container' />
         </container>

         <container name='rating' id='video/rating' createClass='object.item.videoItem.movie' class='object.container' >
            <container buildon='pv:rating' createClass='object.item.videoItem.movie' class='object.container' />
         </container>

         <container name='playlists' id='video/playlists' class='object.container' createClass='object.item.videoItem.movie,object.item.videoItem.online.movie' sortcriteria='+upnp:originalTrackNumber,+dc:title' restricted='0' flags='pv:playlistRoot=Video' >
            <container name='playlistrecentlyadded' filteron='pv:addedLast60' sortcriteria='-pv:addedTime' createClass='object.item.videoItem.movie' maxitems='500' upnp:originalTrackNumber='3' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlistmostviewed' filteron='pv:playcount' sortcriteria='-pv:playcount' createClass='object.item.videoItem.movie' maxitems='500' upnp:originalTrackNumber='1' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1'  />
            <container name='playlistlastviewed' filteron='pv:lastPlayedTime' sortcriteria='-pv:lastPlayedTime' createClass='object.item.videoItem.movie' maxitems='500' upnp:originalTrackNumber='2' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlisthighlyrated' filteron='pv:highrated' sortcriteria='-pv:rating' createClass='object.item.videoItem.movie' maxitems='500' upnp:originalTrackNumber='4' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container buildon='upnp:playlist' sortcriteria='+upnp:originalTrackNumber' createClass='object.item.videoItem.movie,object.item.videoItem.online.movie' upnp:originalTrackNumber='5' class='object.container.playlistContainer'  />
         </container>

                   <container name='classifiedvideos' id='video/classified' class='object.container'  createClass='object.item.videoItem.classified.movie'/>
     
         <container buildon='pv:onlineServiceName' groupid='video/onlineservices' createClass='object.item.videoItem.online.movie' class='object.container'>
            <container buildon='pv:onlineServiceTitle' createClass='object.item.videoItem.online.movie' class='object.container'/>
         </container>

      </container>

      <container buildon='res' groupid='mypicture' createClass='object.item.imageItem.photo' class='object.container' >

         <container name='' buildon='res' createClass='object.item.imageItem.photo' class='object.container />

      </container>

   </navtree>
</view>


Custom Navtree Scenario 6.zip
(2.19 KiB) Downloaded 332 times
Last edited by phibertron on Tue Mar 01, 2011 11:07 pm, edited 4 times in total.
viewtopic.php?f=2&t=10627
viewtopic.php?f=2&t=9353
viewtopic.php?f=2&t=9408
viewtopic.php?f=2&t=9416
viewtopic.php?f=2&t=9424
viewtopic.php?f=2&t=9364
viewtopic.php?f=2&t=9497

User avatar
phibertron
Posts: 1566
Joined: Sun Jan 30, 2011 5:52 pm
AV Hardware: Hardware
========
WHS - HP Ex495
PS3
XBOX 360
iTouch - Gen 2 and Gen 3
PSP - 3000

Encoders
========
Handbrake
x264
ffmpeg
mencoder

Tagging
======
mp3tag

Scenario 7

Postby phibertron » Tue Feb 22, 2011 11:34 pm

You want to show only music folders at the root of the navtree

advanced.view.xml

Code: Select all

<view name='advanceddefault' path='advanced.view'>
   <navtree>

      <link groupid='mymusic' />

   </navtree>
</view>


view-definitions.xml

Code: Select all

<view name='base' viewlist='advanced' guilist='advanceddefault'>

   <navtree sortcriteria='+upnp:originalTrackNumber'>

         <container name='alltracks' id='music/all' createClass='object.item.audioItem.musicTrack' class='object.container'/>

         <container name='artist' id='music/artists' class='object.container.person.musicArtist' createClass='object.item.audioItem.musicTrack'>
            <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
            <container buildon='upnp:artist' class='object.container.person.musicArtist' createClass='object.item.audioItem.musicTrack'/>
         </container>

         <container name='artistindex' id='music/artistindex' class='object.container' createClass='object.item.audioItem.musicTrack'>
            <container buildon='upnp:artist[3]' class='object.container' createClass='object.item.audioItem.musicTrack'>
               <container buildon='upnp:artist' class='object.container.person.musicArtist' createClass='object.item.audioItem.musicTrack'>
                  <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
                  <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
               </container>
            </container>
         </container>

         <container name='composer' id='music/composers' createClass='object.item.audioItem.musicTrack' class='object.container' >
            <container buildon='upnp:author@role' createClass='object.item.audioItem.musicTrack' class='object.container.person.musicArtist' />
         </container>

         <container name='rating' id='music/rating' createClass='object.item.audioItem.musicTrack' class='object.container' >
            <container buildon='pv:rating' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
         </container>

         <container name='artistalbum' id='music/artistalbum' class='object.container.person.musicArtist' createClass='object.item.audioItem.musicTrack'>
            <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' >
               <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
            </container>
            <container buildon='upnp:artist' class='object.container.person.musicArtist' createClass='object.item.audioItem.musicTrack'>
               <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
               <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
            </container>
         </container>

         <container name='genre' id='music/genre' class='object.container' createClass='object.item.audioItem.musicTrack'>
            <container buildon='upnp:genre' class='object.container.genre.musicGenre' createClass='object.item.audioItem.musicTrack' />
         </container>

         <container name='genrealbum' id='music/genrealbum' class='object.container' createClass='object.item.audioItem.musicTrack'>
            <container buildon='upnp:genre' class='object.container.genre.musicGenre' createClass='object.item.audioItem.musicTrack' >
               <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
            </container>
         </container>

         <container name='genreartist' id='music/genreartistalbum' class='object.container' createClass='object.item.audioItem.musicTrack'>
            <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' >
               <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' >
                  <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
                  <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
               </container>
               <container buildon='upnp:artist' class='object.container' createClass='object.item.audioItem.musicTrack'>
                  <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
                  <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
               </container>
            </container>
            <container buildon='upnp:genre' class='object.container.genre.musicGenre' createClass='object.item.audioItem.musicTrack'>
               <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' >
                  <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
                  <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
               </container>
               <container buildon='upnp:artist' class='object.container' createClass='object.item.audioItem.musicTrack'>
                  <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
                  <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
               </container>
            </container>
         </container>

         <container name='album' id='music/albums' createClass='object.item.audioItem.musicTrack' class='object.container' >
            <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
         </container>

         <container name='byfolder' id='music/folders' class='object.container.storageFolder' createClass='object.item.audioItem.musicTrack'>
            <container buildon='res' createClass='object.item.audioItem.musicTrack' class='object.container.storageFolder' />
         </container>

         <container name='playlists' id='music/playlists' class='object.container' createClass='object.item.audioItem.musicTrack,object.item.audioItem.online.musicTrack' sortcriteria='+upnp:originalTrackNumber,+dc:title'   restricted='0' flags='pv:playlistRoot=Music' >
            <container name='playlistrecentlyadded' filteron='pv:addedLast60' sortcriteria='-pv:addedTime' createClass='object.item.audioItem.musicTrack' maxitems='500' upnp:originalTrackNumber='3' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlistmostplayed' filteron='pv:playcount' sortcriteria='-pv:playcount' createClass='object.item.audioItem.musicTrack' maxitems='500' upnp:originalTrackNumber='1'  restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlistlastplayed' filteron='pv:lastPlayedTime' sortcriteria='-pv:lastPlayedTime' createClass='object.item.audioItem.musicTrack' maxitems='500' upnp:originalTrackNumber='2' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlisthighlyrated' filteron='pv:highrated' sortcriteria='-pv:rating' createClass='object.item.audioItem.musicTrack' maxitems='500' upnp:originalTrackNumber='4' class='object.container.playlistContainer' restricted='1'  flags='pv:smartplaylist=1' />
            <container buildon='upnp:playlist' sortcriteria='+upnp:originalTrackNumber' upnp:originalTrackNumber='5' createClass='object.item.audioItem.musicTrack,object.item.audioItem.online.musicTrack' class='object.container.playlistContainer' />
         </container>

         <container buildon='pv:onlineServiceTitle'  groupid='music/onlineservices' createClass='object.item.audioItem.online.musicTrack' class='object.container'>
            <container name='allstations' createClass='object.item.audioItem.online.musicTrack' class='object.container' />
            <container name='genrestation' class='object.container' createClass='object.item.audioItem.online.musicTrack'>
               <container buildon='upnp:genre' class='object.container.genre.musicGenre' createClass='object.item.audioItem.online.musicTrack' />
            </container>
            <container name='stationindex' class='object.container' createClass='object.item.audioItem.online.musicTrack'>
               <container buildon='dc:title[3]' class='object.container' createClass='object.item.audioItem.online.musicTrack'>
                  <container buildon='dc:title' class='object.container' createClass='object.item.audioItem.online.musicTrack'/>
               </container>
            </container>
         </container>

      <container name='music' id='music' upnp:originalTrackNumber='1' createClass='object.item.audioItem.musicTrack,object.item.audioItem.online.musicTrack'>

         <container buildon='res' createClass='object.item.audioItem.musicTrack' class='object.container.storageFolder' />

      </container>

      <container name='pictures' id='picture' upnp:originalTrackNumber='2' createClass='object.item.imageItem.photo,object.item.imageItem.online.photo' class='object.container'>

         <container name='allpictures' id='picture/all' createClass='object.item.imageItem.photo' class='object.container'/>

         <container name='byfolder' id='picture/folders' class='object.container.storageFolder' restricted='0' createClass='object.item.imageItem.photo'>
            <container buildon='res' createClass='object.item.imageItem.photo' class='object.container.storageFolder'/>
         </container>

         <container name='byyear' id='picture/year' createClass='object.item.imageItem.photo' class='object.container'>
            <container buildon='pv:year' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
         </container>

         <container name='bydate' id='picture/date' createClass='object.item.imageItem.photo' class='object.container'>
            <container name='allname' createClass='object.item.imageItem.photo' class='object.container'>
               <container name='allname' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
               <container buildon='pv:month' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
            </container>
            <container buildon='pv:year' createClass='object.item.imageItem.photo' class='object.container'>
               <container name='allname' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
               <container buildon='pv:month' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
            </container>
         </container>

         <container name='keywords' id='picture/keywords' createClass='object.item.imageItem.photo'  class='object.container' >
            <container buildon='pv:avKeywords' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
         </container>

         <container name='album' id='picture/albums' createClass='object.item.imageItem.photo'  class='object.container' >
            <container buildon='upnp:album' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
         </container>

         <container name='rating' id='picture/rating' createClass='object.item.imageItem.photo' class='object.container' >
            <container buildon='pv:rating' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
         </container>

         <container name='slideshows' id='picture/playlists' class='object.container' createClass='object.item.imageItem.photo,object.item.imageItem.online.photo' sortcriteria='+upnp:originalTrackNumber,+dc:title' restricted='0' flags='pv:playlistRoot=Picture' >
            <container name='playlistrecentlyadded' filteron='pv:addedLast60' sortcriteria='-pv:addedTime' createClass='object.item.imageItem.photo' maxitems='500' upnp:originalTrackNumber='3' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlistmostviewed' filteron='pv:playcount' sortcriteria='-pv:playcount' createClass='object.item.imageItem.photo' maxitems='500' upnp:originalTrackNumber='1' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlistlastviewed' filteron='pv:lastPlayedTime' sortcriteria='-pv:lastPlayedTime' createClass='object.item.imageItem.photo' maxitems='500' upnp:originalTrackNumber='2' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlisthighlyrated' filteron='pv:highrated' sortcriteria='-pv:rating' createClass='object.item.imageItem.photo' maxitems='500' upnp:originalTrackNumber='4' class='object.container.playlistContainer' restricted='1' flags='pv:smartplaylist=1' />
            <container buildon='upnp:playlist' sortcriteria='+upnp:originalTrackNumber' createClass='object.item.imageItem.photo,object.item.imageItem.online.photo' upnp:originalTrackNumber='5' class='object.container.playlistContainer' />
         </container>

         <container buildon='pv:onlineServiceName'  groupid='picture/onlineservices' createClass='object.item.imageItem.online.photo' class='object.container'>
            <container name='allname' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
            <container buildon='pv:onlineServiceTitle' createClass='object.item.imageItem.online.photo' class='object.container'>
               <container name='allname' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
               <container name='keywords' createClass='object.item.imageItem.online.photo'  class='object.container' >
                  <container buildon='pv:avKeywords' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
               </container>
               <container name='album' createClass='object.item.imageItem.online.photo'  class='object.container' >
                  <container buildon='upnp:album' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
               </container>
               <container name='date' createClass='object.item.imageItem.online.photo' class='object.container'>
                  <container buildon='pv:year' createClass='object.item.imageItem.online.photo' class='object.container'>
                     <container name='allname' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
                     <container buildon='pv:month' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum'/>
                  </container>
               </container>
               <container name='author' createClass='object.item.imageItem.online.photo' class='object.container' >
                  <container buildon='upnp:author' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
               </container>
            </container>
         </container>

      </container>

      <container name='videos' id='video' upnp:originalTrackNumber='3' sortcriteria='+upnp:originalTrackNumber' createClass='object.item.videoItem.movie,object.item.videoItem.classified.movie,object.item.videoItem.online.movie' class='object.container'>

         <container name='allvideos' id='video/all' createClass='object.item.videoItem.movie' class='object.container'/>

         <container name='byfolder' id='video/folders' class='object.container.storageFolder' restricted='0' createClass='object.item.videoItem.movie'>
            <container buildon='res' createClass='object.item.videoItem.movie' class='object.container.storageFolder'/>
         </container>

         <container name='title' id='video/titleindex' class='object.container' createClass='object.item.videoItem.movie'>
            <container buildon='dc:title[3]' class='object.container' createClass='object.item.videoItem.movie'>
               <container buildon='dc:title' class='object.container' createClass='object.item.videoItem.movie'/>
            </container>
         </container>

         <container name='byyear' id='video/year' createClass='object.item.videoItem.movie' class='object.container'>
            <container buildon='pv:year' createClass='object.item.videoItem.movie' class='object.container' />
         </container>

         <container name='bydate' id='video/date' createClass='object.item.videoItem.movie' class='object.container'>
            <container buildon='pv:year' createClass='object.item.videoItem.movie' class='object.container'>
               <container buildon='pv:month' createClass='object.item.videoItem.movie' class='object.container'/>
            </container>
         </container>

         <container name='album' id='video/albums' createClass='object.item.videoItem.movie' class='object.container' >
            <container buildon='upnp:album' createClass='object.item.videoItem.movie' class='object.container' />
         </container>

         <container name='rating' id='video/rating' createClass='object.item.videoItem.movie' class='object.container' >
            <container buildon='pv:rating' createClass='object.item.videoItem.movie' class='object.container' />
         </container>

         <container name='playlists' id='video/playlists' class='object.container' createClass='object.item.videoItem.movie,object.item.videoItem.online.movie' sortcriteria='+upnp:originalTrackNumber,+dc:title' restricted='0' flags='pv:playlistRoot=Video' >
            <container name='playlistrecentlyadded' filteron='pv:addedLast60' sortcriteria='-pv:addedTime' createClass='object.item.videoItem.movie' maxitems='500' upnp:originalTrackNumber='3' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlistmostviewed' filteron='pv:playcount' sortcriteria='-pv:playcount' createClass='object.item.videoItem.movie' maxitems='500' upnp:originalTrackNumber='1' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1'  />
            <container name='playlistlastviewed' filteron='pv:lastPlayedTime' sortcriteria='-pv:lastPlayedTime' createClass='object.item.videoItem.movie' maxitems='500' upnp:originalTrackNumber='2' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlisthighlyrated' filteron='pv:highrated' sortcriteria='-pv:rating' createClass='object.item.videoItem.movie' maxitems='500' upnp:originalTrackNumber='4' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container buildon='upnp:playlist' sortcriteria='+upnp:originalTrackNumber' createClass='object.item.videoItem.movie,object.item.videoItem.online.movie' upnp:originalTrackNumber='5' class='object.container.playlistContainer'  />
         </container>

                   <container name='classifiedvideos' id='video/classified' class='object.container'  createClass='object.item.videoItem.classified.movie'/>
     
         <container buildon='pv:onlineServiceName' groupid='video/onlineservices' createClass='object.item.videoItem.online.movie' class='object.container'>
            <container buildon='pv:onlineServiceTitle' createClass='object.item.videoItem.online.movie' class='object.container'/>
         </container>

      </container>

      <container buildon='res' groupid='mymusic' createClass='object.item.audioItem.musicTrack' class='object.container' >

         <container name='' buildon='res' createClass='object.item.audioItem.musicTrack' class='object.container />

      </container>

   </navtree>
</view>


Custom Navtree Scenario 7.zip
(2.17 KiB) Downloaded 303 times
Last edited by phibertron on Tue Mar 01, 2011 11:08 pm, edited 5 times in total.
viewtopic.php?f=2&t=10627
viewtopic.php?f=2&t=9353
viewtopic.php?f=2&t=9408
viewtopic.php?f=2&t=9416
viewtopic.php?f=2&t=9424
viewtopic.php?f=2&t=9364
viewtopic.php?f=2&t=9497

User avatar
phibertron
Posts: 1566
Joined: Sun Jan 30, 2011 5:52 pm
AV Hardware: Hardware
========
WHS - HP Ex495
PS3
XBOX 360
iTouch - Gen 2 and Gen 3
PSP - 3000

Encoders
========
Handbrake
x264
ffmpeg
mencoder

Tagging
======
mp3tag

Scenario 8

Postby phibertron » Tue Feb 22, 2011 11:37 pm

You want to show all folders at the root of the navtree

advanced.view.xml

Code: Select all

<view name='advanceddefault' path='advanced.view'>
   <navtree>

      <link groupid='myfolders' />

   </navtree>
</view>


view-definitions.xml

Code: Select all

<view name='base' viewlist='advanced' guilist='advanceddefault'>

   <navtree sortcriteria='+upnp:originalTrackNumber'>

         <container name='alltracks' id='music/all' createClass='object.item.audioItem.musicTrack' class='object.container'/>

         <container name='artist' id='music/artists' class='object.container.person.musicArtist' createClass='object.item.audioItem.musicTrack'>
            <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
            <container buildon='upnp:artist' class='object.container.person.musicArtist' createClass='object.item.audioItem.musicTrack'/>
         </container>

         <container name='artistindex' id='music/artistindex' class='object.container' createClass='object.item.audioItem.musicTrack'>
            <container buildon='upnp:artist[3]' class='object.container' createClass='object.item.audioItem.musicTrack'>
               <container buildon='upnp:artist' class='object.container.person.musicArtist' createClass='object.item.audioItem.musicTrack'>
                  <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
                  <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
               </container>
            </container>
         </container>

         <container name='composer' id='music/composers' createClass='object.item.audioItem.musicTrack' class='object.container' >
            <container buildon='upnp:author@role' createClass='object.item.audioItem.musicTrack' class='object.container.person.musicArtist' />
         </container>

         <container name='rating' id='music/rating' createClass='object.item.audioItem.musicTrack' class='object.container' >
            <container buildon='pv:rating' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
         </container>

         <container name='artistalbum' id='music/artistalbum' class='object.container.person.musicArtist' createClass='object.item.audioItem.musicTrack'>
            <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' >
               <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
            </container>
            <container buildon='upnp:artist' class='object.container.person.musicArtist' createClass='object.item.audioItem.musicTrack'>
               <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
               <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
            </container>
         </container>

         <container name='genre' id='music/genre' class='object.container' createClass='object.item.audioItem.musicTrack'>
            <container buildon='upnp:genre' class='object.container.genre.musicGenre' createClass='object.item.audioItem.musicTrack' />
         </container>

         <container name='genrealbum' id='music/genrealbum' class='object.container' createClass='object.item.audioItem.musicTrack'>
            <container buildon='upnp:genre' class='object.container.genre.musicGenre' createClass='object.item.audioItem.musicTrack' >
               <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
            </container>
         </container>

         <container name='genreartist' id='music/genreartistalbum' class='object.container' createClass='object.item.audioItem.musicTrack'>
            <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' >
               <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' >
                  <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
                  <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
               </container>
               <container buildon='upnp:artist' class='object.container' createClass='object.item.audioItem.musicTrack'>
                  <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
                  <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
               </container>
            </container>
            <container buildon='upnp:genre' class='object.container.genre.musicGenre' createClass='object.item.audioItem.musicTrack'>
               <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' >
                  <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
                  <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
               </container>
               <container buildon='upnp:artist' class='object.container' createClass='object.item.audioItem.musicTrack'>
                  <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
                  <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
               </container>
            </container>
         </container>

         <container name='album' id='music/albums' createClass='object.item.audioItem.musicTrack' class='object.container' >
            <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
         </container>

         <container name='byfolder' id='music/folders' class='object.container.storageFolder' createClass='object.item.audioItem.musicTrack'>
            <container buildon='res' createClass='object.item.audioItem.musicTrack' class='object.container.storageFolder' />
         </container>

         <container name='playlists' id='music/playlists' class='object.container' createClass='object.item.audioItem.musicTrack,object.item.audioItem.online.musicTrack' sortcriteria='+upnp:originalTrackNumber,+dc:title'   restricted='0' flags='pv:playlistRoot=Music' >
            <container name='playlistrecentlyadded' filteron='pv:addedLast60' sortcriteria='-pv:addedTime' createClass='object.item.audioItem.musicTrack' maxitems='500' upnp:originalTrackNumber='3' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlistmostplayed' filteron='pv:playcount' sortcriteria='-pv:playcount' createClass='object.item.audioItem.musicTrack' maxitems='500' upnp:originalTrackNumber='1'  restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlistlastplayed' filteron='pv:lastPlayedTime' sortcriteria='-pv:lastPlayedTime' createClass='object.item.audioItem.musicTrack' maxitems='500' upnp:originalTrackNumber='2' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlisthighlyrated' filteron='pv:highrated' sortcriteria='-pv:rating' createClass='object.item.audioItem.musicTrack' maxitems='500' upnp:originalTrackNumber='4' class='object.container.playlistContainer' restricted='1'  flags='pv:smartplaylist=1' />
            <container buildon='upnp:playlist' sortcriteria='+upnp:originalTrackNumber' upnp:originalTrackNumber='5' createClass='object.item.audioItem.musicTrack,object.item.audioItem.online.musicTrack' class='object.container.playlistContainer' />
         </container>

         <container buildon='pv:onlineServiceTitle'  groupid='music/onlineservices' createClass='object.item.audioItem.online.musicTrack' class='object.container'>
            <container name='allstations' createClass='object.item.audioItem.online.musicTrack' class='object.container' />
            <container name='genrestation' class='object.container' createClass='object.item.audioItem.online.musicTrack'>
               <container buildon='upnp:genre' class='object.container.genre.musicGenre' createClass='object.item.audioItem.online.musicTrack' />
            </container>
            <container name='stationindex' class='object.container' createClass='object.item.audioItem.online.musicTrack'>
               <container buildon='dc:title[3]' class='object.container' createClass='object.item.audioItem.online.musicTrack'>
                  <container buildon='dc:title' class='object.container' createClass='object.item.audioItem.online.musicTrack'/>
               </container>
            </container>
         </container>

         <container name='allpictures' id='picture/all' createClass='object.item.imageItem.photo' class='object.container'/>

         <container name='byfolder' id='picture/folders' class='object.container.storageFolder' restricted='0' createClass='object.item.imageItem.photo'>
            <container buildon='res' createClass='object.item.imageItem.photo' class='object.container.storageFolder'/>
         </container>

         <container name='byyear' id='picture/year' createClass='object.item.imageItem.photo' class='object.container'>
            <container buildon='pv:year' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
         </container>

         <container name='bydate' id='picture/date' createClass='object.item.imageItem.photo' class='object.container'>
            <container name='allname' createClass='object.item.imageItem.photo' class='object.container'>
               <container name='allname' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
               <container buildon='pv:month' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
            </container>
            <container buildon='pv:year' createClass='object.item.imageItem.photo' class='object.container'>
               <container name='allname' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
               <container buildon='pv:month' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
            </container>
         </container>

         <container name='keywords' id='picture/keywords' createClass='object.item.imageItem.photo'  class='object.container' >
            <container buildon='pv:avKeywords' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
         </container>

         <container name='album' id='picture/albums' createClass='object.item.imageItem.photo'  class='object.container' >
            <container buildon='upnp:album' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
         </container>

         <container name='rating' id='picture/rating' createClass='object.item.imageItem.photo' class='object.container' >
            <container buildon='pv:rating' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
         </container>

         <container name='slideshows' id='picture/playlists' class='object.container' createClass='object.item.imageItem.photo,object.item.imageItem.online.photo' sortcriteria='+upnp:originalTrackNumber,+dc:title' restricted='0' flags='pv:playlistRoot=Picture' >
            <container name='playlistrecentlyadded' filteron='pv:addedLast60' sortcriteria='-pv:addedTime' createClass='object.item.imageItem.photo' maxitems='500' upnp:originalTrackNumber='3' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlistmostviewed' filteron='pv:playcount' sortcriteria='-pv:playcount' createClass='object.item.imageItem.photo' maxitems='500' upnp:originalTrackNumber='1' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlistlastviewed' filteron='pv:lastPlayedTime' sortcriteria='-pv:lastPlayedTime' createClass='object.item.imageItem.photo' maxitems='500' upnp:originalTrackNumber='2' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlisthighlyrated' filteron='pv:highrated' sortcriteria='-pv:rating' createClass='object.item.imageItem.photo' maxitems='500' upnp:originalTrackNumber='4' class='object.container.playlistContainer' restricted='1' flags='pv:smartplaylist=1' />
            <container buildon='upnp:playlist' sortcriteria='+upnp:originalTrackNumber' createClass='object.item.imageItem.photo,object.item.imageItem.online.photo' upnp:originalTrackNumber='5' class='object.container.playlistContainer' />
         </container>

         <container buildon='pv:onlineServiceName'  groupid='picture/onlineservices' createClass='object.item.imageItem.online.photo' class='object.container'>
            <container name='allname' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
            <container buildon='pv:onlineServiceTitle' createClass='object.item.imageItem.online.photo' class='object.container'>
               <container name='allname' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
               <container name='keywords' createClass='object.item.imageItem.online.photo'  class='object.container' >
                  <container buildon='pv:avKeywords' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
               </container>
               <container name='album' createClass='object.item.imageItem.online.photo'  class='object.container' >
                  <container buildon='upnp:album' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
               </container>
               <container name='date' createClass='object.item.imageItem.online.photo' class='object.container'>
                  <container buildon='pv:year' createClass='object.item.imageItem.online.photo' class='object.container'>
                     <container name='allname' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
                     <container buildon='pv:month' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum'/>
                  </container>
               </container>
               <container name='author' createClass='object.item.imageItem.online.photo' class='object.container' >
                  <container buildon='upnp:author' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
               </container>
            </container>
         </container>

         <container name='allvideos' id='video/all' createClass='object.item.videoItem.movie' class='object.container'/>

         <container name='byfolder' id='video/folders' class='object.container.storageFolder' restricted='0' createClass='object.item.videoItem.movie'>
            <container buildon='res' createClass='object.item.videoItem.movie' class='object.container.storageFolder'/>
         </container>

         <container name='title' id='video/titleindex' class='object.container' createClass='object.item.videoItem.movie'>
            <container buildon='dc:title[3]' class='object.container' createClass='object.item.videoItem.movie'>
               <container buildon='dc:title' class='object.container' createClass='object.item.videoItem.movie'/>
            </container>
         </container>

         <container name='byyear' id='video/year' createClass='object.item.videoItem.movie' class='object.container'>
            <container buildon='pv:year' createClass='object.item.videoItem.movie' class='object.container' />
         </container>

         <container name='bydate' id='video/date' createClass='object.item.videoItem.movie' class='object.container'>
            <container buildon='pv:year' createClass='object.item.videoItem.movie' class='object.container'>
               <container buildon='pv:month' createClass='object.item.videoItem.movie' class='object.container'/>
            </container>
         </container>

         <container name='album' id='video/albums' createClass='object.item.videoItem.movie' class='object.container' >
            <container buildon='upnp:album' createClass='object.item.videoItem.movie' class='object.container' />
         </container>

         <container name='rating' id='video/rating' createClass='object.item.videoItem.movie' class='object.container' >
            <container buildon='pv:rating' createClass='object.item.videoItem.movie' class='object.container' />
         </container>

         <container name='playlists' id='video/playlists' class='object.container' createClass='object.item.videoItem.movie,object.item.videoItem.online.movie' sortcriteria='+upnp:originalTrackNumber,+dc:title' restricted='0' flags='pv:playlistRoot=Video' >
            <container name='playlistrecentlyadded' filteron='pv:addedLast60' sortcriteria='-pv:addedTime' createClass='object.item.videoItem.movie' maxitems='500' upnp:originalTrackNumber='3' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlistmostviewed' filteron='pv:playcount' sortcriteria='-pv:playcount' createClass='object.item.videoItem.movie' maxitems='500' upnp:originalTrackNumber='1' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1'  />
            <container name='playlistlastviewed' filteron='pv:lastPlayedTime' sortcriteria='-pv:lastPlayedTime' createClass='object.item.videoItem.movie' maxitems='500' upnp:originalTrackNumber='2' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlisthighlyrated' filteron='pv:highrated' sortcriteria='-pv:rating' createClass='object.item.videoItem.movie' maxitems='500' upnp:originalTrackNumber='4' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container buildon='upnp:playlist' sortcriteria='+upnp:originalTrackNumber' createClass='object.item.videoItem.movie,object.item.videoItem.online.movie' upnp:originalTrackNumber='5' class='object.container.playlistContainer'  />
         </container>

                   <container name='classifiedvideos' id='video/classified' class='object.container'  createClass='object.item.videoItem.classified.movie'/>
     
         <container buildon='pv:onlineServiceName' groupid='video/onlineservices' createClass='object.item.videoItem.online.movie' class='object.container'>
            <container buildon='pv:onlineServiceTitle' createClass='object.item.videoItem.online.movie' class='object.container'/>
         </container>

      <container name='music' id='music' upnp:originalTrackNumber='1' createClass='object.item.audioItem.musicTrack,object.item.audioItem.online.musicTrack'>

         <container buildon='res' createClass='object.item.audioItem.musicTrack' class='object.container.storageFolder' />

      </container>

      <container name='pictures' id='picture' upnp:originalTrackNumber='2' createClass='object.item.imageItem.photo,object.item.imageItem.online.photo' class='object.container'>

         <container buildon='res' createClass='object.item.imageItem.photo' class='object.container.storageFolder'/>

      </container>

      <container name='videos' id='video' upnp:originalTrackNumber='3' sortcriteria='+upnp:originalTrackNumber' createClass='object.item.videoItem.movie,object.item.videoItem.classified.movie,object.item.videoItem.online.movie' class='object.container'>

         <container buildon='res' createClass='object.item.videoItem.movie' class='object.container.storageFolder'/>

      </container>

      <container buildon='res' groupid='myfolders' createClass='object.item.audioItem.musicTrack,object.item.imageItem.photo,object.item.videoItem.movie' class='object.container' >

         <container name='' buildon='res' createClass='object.item.audioItem.musicTrack,object.item.imageItem.photo,object.item.videoItem.movie' class='object.container />

      </container>

   </navtree>
</view>


Custom Navtree Scenario 8.zip
(2.19 KiB) Downloaded 334 times
Last edited by phibertron on Tue Mar 01, 2011 11:08 pm, edited 4 times in total.
viewtopic.php?f=2&t=10627
viewtopic.php?f=2&t=9353
viewtopic.php?f=2&t=9408
viewtopic.php?f=2&t=9416
viewtopic.php?f=2&t=9424
viewtopic.php?f=2&t=9364
viewtopic.php?f=2&t=9497

User avatar
phibertron
Posts: 1566
Joined: Sun Jan 30, 2011 5:52 pm
AV Hardware: Hardware
========
WHS - HP Ex495
PS3
XBOX 360
iTouch - Gen 2 and Gen 3
PSP - 3000

Encoders
========
Handbrake
x264
ffmpeg
mencoder

Tagging
======
mp3tag

Scenario 9

Postby phibertron » Tue Feb 22, 2011 11:41 pm

You want to show all folders at the root of the navtree for all media types

Note:
This is useful if connecting from a PS3 for example
When browseing from the XMB it could and would see anything that branch was able to see
meaning if I went into the xmb video menu and I selected the twonky server
you would see all folders at the root, which would also include, photo and video folders at the root
so if you had a video in a share that was actually a photo share
it would show up the xmb menu when one was in video, even though the file was in a photo folder

Either edit the ini like below or change it from the gui to "All Content Types" for each share
+A means All file types
+M means music file types
+P means photo file types
+V means video file types

twonkymedia-server.ini

Code: Select all

# CSV list of all shares, prepended by the type (A,M,P,V) and a '+' or '-' sign to flag enabled or disabled shares
contentdir=+A|C:\Documents and Settings\ADMIN\My Documents\My Music,+A|C:\Documents and Settings\ADMIN\My Documents\My Pictures,+A|C:\Documents and Settings\ADMIN\My Documents\My Videos


advanced.view.xml

Code: Select all

<view name='advanceddefault' path='advanced.view'>
   <navtree>

      <link groupid='myfolders' />

   </navtree>
</view>


view-definitions.xml

Code: Select all

<view name='base' viewlist='advanced' guilist='advanceddefault'>

   <navtree sortcriteria='+upnp:originalTrackNumber'>

         <container name='alltracks' id='music/all' createClass='object.item.audioItem.musicTrack' class='object.container'/>

         <container name='artist' id='music/artists' class='object.container.person.musicArtist' createClass='object.item.audioItem.musicTrack'>
            <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
            <container buildon='upnp:artist' class='object.container.person.musicArtist' createClass='object.item.audioItem.musicTrack'/>
         </container>

         <container name='artistindex' id='music/artistindex' class='object.container' createClass='object.item.audioItem.musicTrack'>
            <container buildon='upnp:artist[3]' class='object.container' createClass='object.item.audioItem.musicTrack'>
               <container buildon='upnp:artist' class='object.container.person.musicArtist' createClass='object.item.audioItem.musicTrack'>
                  <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
                  <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
               </container>
            </container>
         </container>

         <container name='composer' id='music/composers' createClass='object.item.audioItem.musicTrack' class='object.container' >
            <container buildon='upnp:author@role' createClass='object.item.audioItem.musicTrack' class='object.container.person.musicArtist' />
         </container>

         <container name='rating' id='music/rating' createClass='object.item.audioItem.musicTrack' class='object.container' >
            <container buildon='pv:rating' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
         </container>

         <container name='artistalbum' id='music/artistalbum' class='object.container.person.musicArtist' createClass='object.item.audioItem.musicTrack'>
            <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' >
               <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
            </container>
            <container buildon='upnp:artist' class='object.container.person.musicArtist' createClass='object.item.audioItem.musicTrack'>
               <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
               <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
            </container>
         </container>

         <container name='genre' id='music/genre' class='object.container' createClass='object.item.audioItem.musicTrack'>
            <container buildon='upnp:genre' class='object.container.genre.musicGenre' createClass='object.item.audioItem.musicTrack' />
         </container>

         <container name='genrealbum' id='music/genrealbum' class='object.container' createClass='object.item.audioItem.musicTrack'>
            <container buildon='upnp:genre' class='object.container.genre.musicGenre' createClass='object.item.audioItem.musicTrack' >
               <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
            </container>
         </container>

         <container name='genreartist' id='music/genreartistalbum' class='object.container' createClass='object.item.audioItem.musicTrack'>
            <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' >
               <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' >
                  <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
                  <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
               </container>
               <container buildon='upnp:artist' class='object.container' createClass='object.item.audioItem.musicTrack'>
                  <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
                  <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
               </container>
            </container>
            <container buildon='upnp:genre' class='object.container.genre.musicGenre' createClass='object.item.audioItem.musicTrack'>
               <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' >
                  <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
                  <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
               </container>
               <container buildon='upnp:artist' class='object.container' createClass='object.item.audioItem.musicTrack'>
                  <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
                  <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
               </container>
            </container>
         </container>

         <container name='album' id='music/albums' createClass='object.item.audioItem.musicTrack' class='object.container' >
            <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
         </container>

         <container name='byfolder' id='music/folders' class='object.container.storageFolder' createClass='object.item.audioItem.musicTrack'>
            <container buildon='res' createClass='object.item.audioItem.musicTrack' class='object.container.storageFolder' />
         </container>

         <container name='playlists' id='music/playlists' class='object.container' createClass='object.item.audioItem.musicTrack,object.item.audioItem.online.musicTrack' sortcriteria='+upnp:originalTrackNumber,+dc:title'   restricted='0' flags='pv:playlistRoot=Music' >
            <container name='playlistrecentlyadded' filteron='pv:addedLast60' sortcriteria='-pv:addedTime' createClass='object.item.audioItem.musicTrack' maxitems='500' upnp:originalTrackNumber='3' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlistmostplayed' filteron='pv:playcount' sortcriteria='-pv:playcount' createClass='object.item.audioItem.musicTrack' maxitems='500' upnp:originalTrackNumber='1'  restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlistlastplayed' filteron='pv:lastPlayedTime' sortcriteria='-pv:lastPlayedTime' createClass='object.item.audioItem.musicTrack' maxitems='500' upnp:originalTrackNumber='2' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlisthighlyrated' filteron='pv:highrated' sortcriteria='-pv:rating' createClass='object.item.audioItem.musicTrack' maxitems='500' upnp:originalTrackNumber='4' class='object.container.playlistContainer' restricted='1'  flags='pv:smartplaylist=1' />
            <container buildon='upnp:playlist' sortcriteria='+upnp:originalTrackNumber' upnp:originalTrackNumber='5' createClass='object.item.audioItem.musicTrack,object.item.audioItem.online.musicTrack' class='object.container.playlistContainer' />
         </container>

         <container buildon='pv:onlineServiceTitle'  groupid='music/onlineservices' createClass='object.item.audioItem.online.musicTrack' class='object.container'>
            <container name='allstations' createClass='object.item.audioItem.online.musicTrack' class='object.container' />
            <container name='genrestation' class='object.container' createClass='object.item.audioItem.online.musicTrack'>
               <container buildon='upnp:genre' class='object.container.genre.musicGenre' createClass='object.item.audioItem.online.musicTrack' />
            </container>
            <container name='stationindex' class='object.container' createClass='object.item.audioItem.online.musicTrack'>
               <container buildon='dc:title[3]' class='object.container' createClass='object.item.audioItem.online.musicTrack'>
                  <container buildon='dc:title' class='object.container' createClass='object.item.audioItem.online.musicTrack'/>
               </container>
            </container>
         </container>

         <container name='allpictures' id='picture/all' createClass='object.item.imageItem.photo' class='object.container'/>

         <container name='byfolder' id='picture/folders' class='object.container.storageFolder' restricted='0' createClass='object.item.imageItem.photo'>
            <container buildon='res' createClass='object.item.imageItem.photo' class='object.container.storageFolder'/>
         </container>

         <container name='byyear' id='picture/year' createClass='object.item.imageItem.photo' class='object.container'>
            <container buildon='pv:year' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
         </container>

         <container name='bydate' id='picture/date' createClass='object.item.imageItem.photo' class='object.container'>
            <container name='allname' createClass='object.item.imageItem.photo' class='object.container'>
               <container name='allname' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
               <container buildon='pv:month' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
            </container>
            <container buildon='pv:year' createClass='object.item.imageItem.photo' class='object.container'>
               <container name='allname' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
               <container buildon='pv:month' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
            </container>
         </container>

         <container name='keywords' id='picture/keywords' createClass='object.item.imageItem.photo'  class='object.container' >
            <container buildon='pv:avKeywords' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
         </container>

         <container name='album' id='picture/albums' createClass='object.item.imageItem.photo'  class='object.container' >
            <container buildon='upnp:album' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
         </container>

         <container name='rating' id='picture/rating' createClass='object.item.imageItem.photo' class='object.container' >
            <container buildon='pv:rating' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
         </container>

         <container name='slideshows' id='picture/playlists' class='object.container' createClass='object.item.imageItem.photo,object.item.imageItem.online.photo' sortcriteria='+upnp:originalTrackNumber,+dc:title' restricted='0' flags='pv:playlistRoot=Picture' >
            <container name='playlistrecentlyadded' filteron='pv:addedLast60' sortcriteria='-pv:addedTime' createClass='object.item.imageItem.photo' maxitems='500' upnp:originalTrackNumber='3' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlistmostviewed' filteron='pv:playcount' sortcriteria='-pv:playcount' createClass='object.item.imageItem.photo' maxitems='500' upnp:originalTrackNumber='1' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlistlastviewed' filteron='pv:lastPlayedTime' sortcriteria='-pv:lastPlayedTime' createClass='object.item.imageItem.photo' maxitems='500' upnp:originalTrackNumber='2' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlisthighlyrated' filteron='pv:highrated' sortcriteria='-pv:rating' createClass='object.item.imageItem.photo' maxitems='500' upnp:originalTrackNumber='4' class='object.container.playlistContainer' restricted='1' flags='pv:smartplaylist=1' />
            <container buildon='upnp:playlist' sortcriteria='+upnp:originalTrackNumber' createClass='object.item.imageItem.photo,object.item.imageItem.online.photo' upnp:originalTrackNumber='5' class='object.container.playlistContainer' />
         </container>

         <container buildon='pv:onlineServiceName'  groupid='picture/onlineservices' createClass='object.item.imageItem.online.photo' class='object.container'>
            <container name='allname' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
            <container buildon='pv:onlineServiceTitle' createClass='object.item.imageItem.online.photo' class='object.container'>
               <container name='allname' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
               <container name='keywords' createClass='object.item.imageItem.online.photo'  class='object.container' >
                  <container buildon='pv:avKeywords' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
               </container>
               <container name='album' createClass='object.item.imageItem.online.photo'  class='object.container' >
                  <container buildon='upnp:album' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
               </container>
               <container name='date' createClass='object.item.imageItem.online.photo' class='object.container'>
                  <container buildon='pv:year' createClass='object.item.imageItem.online.photo' class='object.container'>
                     <container name='allname' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
                     <container buildon='pv:month' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum'/>
                  </container>
               </container>
               <container name='author' createClass='object.item.imageItem.online.photo' class='object.container' >
                  <container buildon='upnp:author' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
               </container>
            </container>
         </container>

         <container name='allvideos' id='video/all' createClass='object.item.videoItem.movie' class='object.container'/>

         <container name='byfolder' id='video/folders' class='object.container.storageFolder' restricted='0' createClass='object.item.videoItem.movie'>
            <container buildon='res' createClass='object.item.videoItem.movie' class='object.container.storageFolder'/>
         </container>

         <container name='title' id='video/titleindex' class='object.container' createClass='object.item.videoItem.movie'>
            <container buildon='dc:title[3]' class='object.container' createClass='object.item.videoItem.movie'>
               <container buildon='dc:title' class='object.container' createClass='object.item.videoItem.movie'/>
            </container>
         </container>

         <container name='byyear' id='video/year' createClass='object.item.videoItem.movie' class='object.container'>
            <container buildon='pv:year' createClass='object.item.videoItem.movie' class='object.container' />
         </container>

         <container name='bydate' id='video/date' createClass='object.item.videoItem.movie' class='object.container'>
            <container buildon='pv:year' createClass='object.item.videoItem.movie' class='object.container'>
               <container buildon='pv:month' createClass='object.item.videoItem.movie' class='object.container'/>
            </container>
         </container>

         <container name='album' id='video/albums' createClass='object.item.videoItem.movie' class='object.container' >
            <container buildon='upnp:album' createClass='object.item.videoItem.movie' class='object.container' />
         </container>

         <container name='rating' id='video/rating' createClass='object.item.videoItem.movie' class='object.container' >
            <container buildon='pv:rating' createClass='object.item.videoItem.movie' class='object.container' />
         </container>

         <container name='playlists' id='video/playlists' class='object.container' createClass='object.item.videoItem.movie,object.item.videoItem.online.movie' sortcriteria='+upnp:originalTrackNumber,+dc:title' restricted='0' flags='pv:playlistRoot=Video' >
            <container name='playlistrecentlyadded' filteron='pv:addedLast60' sortcriteria='-pv:addedTime' createClass='object.item.videoItem.movie' maxitems='500' upnp:originalTrackNumber='3' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlistmostviewed' filteron='pv:playcount' sortcriteria='-pv:playcount' createClass='object.item.videoItem.movie' maxitems='500' upnp:originalTrackNumber='1' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1'  />
            <container name='playlistlastviewed' filteron='pv:lastPlayedTime' sortcriteria='-pv:lastPlayedTime' createClass='object.item.videoItem.movie' maxitems='500' upnp:originalTrackNumber='2' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlisthighlyrated' filteron='pv:highrated' sortcriteria='-pv:rating' createClass='object.item.videoItem.movie' maxitems='500' upnp:originalTrackNumber='4' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container buildon='upnp:playlist' sortcriteria='+upnp:originalTrackNumber' createClass='object.item.videoItem.movie,object.item.videoItem.online.movie' upnp:originalTrackNumber='5' class='object.container.playlistContainer'  />
         </container>

                   <container name='classifiedvideos' id='video/classified' class='object.container'  createClass='object.item.videoItem.classified.movie'/>
     
         <container buildon='pv:onlineServiceName' groupid='video/onlineservices' createClass='object.item.videoItem.online.movie' class='object.container'>
            <container buildon='pv:onlineServiceTitle' createClass='object.item.videoItem.online.movie' class='object.container'/>
         </container>

      <container name='music' id='music' upnp:originalTrackNumber='1' createClass='object.item.audioItem.musicTrack,object.item.audioItem.online.musicTrack'>

         <container buildon='res' createClass='object.item.audioItem.musicTrack' class='object.container.storageFolder' />

      </container>

      <container name='pictures' id='picture' upnp:originalTrackNumber='2' createClass='object.item.imageItem.photo,object.item.imageItem.online.photo' class='object.container'>

         <container buildon='res' createClass='object.item.imageItem.photo' class='object.container.storageFolder'/>

      </container>

      <container name='videos' id='video' upnp:originalTrackNumber='3' sortcriteria='+upnp:originalTrackNumber' createClass='object.item.videoItem.movie,object.item.videoItem.classified.movie,object.item.videoItem.online.movie' class='object.container'>

         <container buildon='res' createClass='object.item.videoItem.movie' class='object.container.storageFolder'/>

      </container>

      <container buildon='res' groupid='myfolders' createClass='object.item.audioItem.musicTrack,object.item.imageItem.photo,object.item.videoItem.movie' class='object.container' />

         <container name='' buildon='res' createClass='object.item.audioItem.musicTrack,object.item.imageItem.photo,object.item.videoItem.movie' class='object.container />

      </container>

   </navtree>
</view>


Custom Navtree Scenario 9.zip
(2.18 KiB) Downloaded 284 times
Last edited by phibertron on Tue Mar 01, 2011 11:09 pm, edited 6 times in total.
viewtopic.php?f=2&t=10627
viewtopic.php?f=2&t=9353
viewtopic.php?f=2&t=9408
viewtopic.php?f=2&t=9416
viewtopic.php?f=2&t=9424
viewtopic.php?f=2&t=9364
viewtopic.php?f=2&t=9497

User avatar
phibertron
Posts: 1566
Joined: Sun Jan 30, 2011 5:52 pm
AV Hardware: Hardware
========
WHS - HP Ex495
PS3
XBOX 360
iTouch - Gen 2 and Gen 3
PSP - 3000

Encoders
========
Handbrake
x264
ffmpeg
mencoder

Tagging
======
mp3tag

Scenario 10

Postby phibertron » Tue Feb 22, 2011 11:45 pm

You want to show the default video containers at the root of the navtree

Note:
Normally there would be 3 root containers, and each root container had its sub-containers
like by folder, by genre, etc
The below changes replaces the 3 root containers
with the default sub-containers of video so that they are now at the root of the navtree

this is for people who are only using twonky for video, and dont care about anything else
when using a ps3 or other, the video tree from the device goes to video containers for real =)

You dont have to use all of the <links> in below, I just added them all to show you

advanced.view.xml

Code: Select all

<view name='advanceddefault' path='advanced.view'>
   <navtree>

      <container id='video/all' />
      <link id='video/folders' />
      <link id='video/titleindex' />
      <link id='video/genre' />
      <link id='video/year' />
      <link id='video/date' />
      <link id='video/albums' />
      <link id='video/rating' />
      <link id='video/playlists' />
      <link id='video/classified' />
      <link groupid='video/onlineservices' />

   </navtree>
</view>


view-definitions.xml

Code: Select all

<view name='base' viewlist='advanced' guilist='advanceddefault'>

   <navtree sortcriteria='+upnp:originalTrackNumber'>

         <container name='Music By All' id='music/all' createClass='object.item.audioItem.musicTrack' class='object.container'/>

         <container name='Music By Artist' id='music/artists' class='object.container.person.musicArtist' createClass='object.item.audioItem.musicTrack'>
            <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
            <container buildon='upnp:artist' class='object.container.person.musicArtist' createClass='object.item.audioItem.musicTrack'/>
         </container>

         <container name='Music By Artist/Index' id='music/artistindex' class='object.container' createClass='object.item.audioItem.musicTrack'>
            <container buildon='upnp:artist[3]' class='object.container' createClass='object.item.audioItem.musicTrack'>
               <container buildon='upnp:artist' class='object.container.person.musicArtist' createClass='object.item.audioItem.musicTrack'>
                  <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
                  <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
               </container>
            </container>
         </container>

         <container name='Music By Composer' id='music/composers' createClass='object.item.audioItem.musicTrack' class='object.container' >
            <container buildon='upnp:author@role' createClass='object.item.audioItem.musicTrack' class='object.container.person.musicArtist' />
         </container>

         <container name='Music By Rating' id='music/rating' createClass='object.item.audioItem.musicTrack' class='object.container' >
            <container buildon='pv:rating' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
         </container>

         <container name='Music By Artist/Album' id='music/artistalbum' class='object.container.person.musicArtist' createClass='object.item.audioItem.musicTrack'>
            <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' >
               <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
            </container>
            <container buildon='upnp:artist' class='object.container.person.musicArtist' createClass='object.item.audioItem.musicTrack'>
               <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
               <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
            </container>
         </container>

         <container name='Music By Genre' id='music/genre' class='object.container' createClass='object.item.audioItem.musicTrack'>
            <container buildon='upnp:genre' class='object.container.genre.musicGenre' createClass='object.item.audioItem.musicTrack' />
         </container>

         <container name='Music By Genre/Album' id='music/genrealbum' class='object.container' createClass='object.item.audioItem.musicTrack'>
            <container buildon='upnp:genre' class='object.container.genre.musicGenre' createClass='object.item.audioItem.musicTrack' >
               <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
            </container>
         </container>

         <container name='Music By Genre/Artist' id='music/genreartistalbum' class='object.container' createClass='object.item.audioItem.musicTrack'>
            <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' >
               <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' >
                  <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
                  <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
               </container>
               <container buildon='upnp:artist' class='object.container' createClass='object.item.audioItem.musicTrack'>
                  <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
                  <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
               </container>
            </container>
            <container buildon='upnp:genre' class='object.container.genre.musicGenre' createClass='object.item.audioItem.musicTrack'>
               <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' >
                  <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
                  <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
               </container>
               <container buildon='upnp:artist' class='object.container' createClass='object.item.audioItem.musicTrack'>
                  <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
                  <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
               </container>
            </container>
         </container>

         <container name='Music By Album' id='music/albums' createClass='object.item.audioItem.musicTrack' class='object.container' >
            <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
         </container>

         <container name='Music By Folder' id='music/folders' class='object.container.storageFolder' createClass='object.item.audioItem.musicTrack'>
            <container buildon='res' createClass='object.item.audioItem.musicTrack' class='object.container.storageFolder' />
         </container>

         <container name='Music By Playlists' id='music/playlists' class='object.container' createClass='object.item.audioItem.musicTrack,object.item.audioItem.online.musicTrack' sortcriteria='+upnp:originalTrackNumber,+dc:title'   restricted='0' flags='pv:playlistRoot=Music' >
            <container name='playlistrecentlyadded' filteron='pv:addedLast60' sortcriteria='-pv:addedTime' createClass='object.item.audioItem.musicTrack' maxitems='500' upnp:originalTrackNumber='3' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlistmostplayed' filteron='pv:playcount' sortcriteria='-pv:playcount' createClass='object.item.audioItem.musicTrack' maxitems='500' upnp:originalTrackNumber='1'  restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlistlastplayed' filteron='pv:lastPlayedTime' sortcriteria='-pv:lastPlayedTime' createClass='object.item.audioItem.musicTrack' maxitems='500' upnp:originalTrackNumber='2' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlisthighlyrated' filteron='pv:highrated' sortcriteria='-pv:rating' createClass='object.item.audioItem.musicTrack' maxitems='500' upnp:originalTrackNumber='4' class='object.container.playlistContainer' restricted='1'  flags='pv:smartplaylist=1' />
            <container buildon='upnp:playlist' sortcriteria='+upnp:originalTrackNumber' upnp:originalTrackNumber='5' createClass='object.item.audioItem.musicTrack,object.item.audioItem.online.musicTrack' class='object.container.playlistContainer' />
         </container>

         <container name='Music By Services' groupid='music/onlineservices' createClass='object.item.audioItem.online.musicTrack' class='object.container'>
         <container buildon='pv:onlineServiceTitle'  createClass='object.item.audioItem.online.musicTrack' class='object.container'>
            <container name='allstations' createClass='object.item.audioItem.online.musicTrack' class='object.container' />
            <container name='genrestation' class='object.container' createClass='object.item.audioItem.online.musicTrack'>
               <container buildon='upnp:genre' class='object.container.genre.musicGenre' createClass='object.item.audioItem.online.musicTrack' />
            </container>
            <container name='stationindex' class='object.container' createClass='object.item.audioItem.online.musicTrack'>
               <container buildon='dc:title[3]' class='object.container' createClass='object.item.audioItem.online.musicTrack'>
                  <container buildon='dc:title' class='object.container' createClass='object.item.audioItem.online.musicTrack'/>
               </container>
            </container>
         </container>
         </container>

         <container name='Photo By All' id='picture/all' createClass='object.item.imageItem.photo' class='object.container'/>

         <container name='Photo By Folder' id='picture/folders' class='object.container.storageFolder' restricted='0' createClass='object.item.imageItem.photo'>
            <container buildon='res' createClass='object.item.imageItem.photo' class='object.container.storageFolder'/>
         </container>

         <container name='Photo By Year' id='picture/year' createClass='object.item.imageItem.photo' class='object.container'>
            <container buildon='pv:year' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
         </container>

         <container name='Photo By Date' id='picture/date' createClass='object.item.imageItem.photo' class='object.container'>
            <container name='allname' createClass='object.item.imageItem.photo' class='object.container'>
               <container name='allname' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
               <container buildon='pv:month' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
            </container>
            <container buildon='pv:year' createClass='object.item.imageItem.photo' class='object.container'>
               <container name='allname' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
               <container buildon='pv:month' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
            </container>
         </container>

         <container name='Photo By Keyword' id='picture/keywords' createClass='object.item.imageItem.photo'  class='object.container' >
            <container buildon='pv:avKeywords' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
         </container>

         <container name='Photo By Album' id='picture/albums' createClass='object.item.imageItem.photo'  class='object.container' >
            <container buildon='upnp:album' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
         </container>

         <container name='Photo By Rating' id='picture/rating' createClass='object.item.imageItem.photo' class='object.container' >
            <container buildon='pv:rating' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
         </container>

         <container name='Photo By Playlists' id='picture/playlists' class='object.container' createClass='object.item.imageItem.photo,object.item.imageItem.online.photo' sortcriteria='+upnp:originalTrackNumber,+dc:title' restricted='0' flags='pv:playlistRoot=Picture' >
            <container name='playlistrecentlyadded' filteron='pv:addedLast60' sortcriteria='-pv:addedTime' createClass='object.item.imageItem.photo' maxitems='500' upnp:originalTrackNumber='3' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlistmostviewed' filteron='pv:playcount' sortcriteria='-pv:playcount' createClass='object.item.imageItem.photo' maxitems='500' upnp:originalTrackNumber='1' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlistlastviewed' filteron='pv:lastPlayedTime' sortcriteria='-pv:lastPlayedTime' createClass='object.item.imageItem.photo' maxitems='500' upnp:originalTrackNumber='2' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlisthighlyrated' filteron='pv:highrated' sortcriteria='-pv:rating' createClass='object.item.imageItem.photo' maxitems='500' upnp:originalTrackNumber='4' class='object.container.playlistContainer' restricted='1' flags='pv:smartplaylist=1' />
            <container buildon='upnp:playlist' sortcriteria='+upnp:originalTrackNumber' createClass='object.item.imageItem.photo,object.item.imageItem.online.photo' upnp:originalTrackNumber='5' class='object.container.playlistContainer' />
         </container>

         <container name='Photo By Services' groupid='picture/onlineservices' createClass='object.item.imageItem.online.photo' class='object.container'>
         <container buildon='pv:onlineServiceName'  createClass='object.item.imageItem.online.photo' class='object.container'>
            <container name='allname' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
            <container buildon='pv:onlineServiceTitle' createClass='object.item.imageItem.online.photo' class='object.container'>
               <container name='allname' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
               <container name='keywords' createClass='object.item.imageItem.online.photo'  class='object.container' >
                  <container buildon='pv:avKeywords' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
               </container>
               <container name='album' createClass='object.item.imageItem.online.photo'  class='object.container' >
                  <container buildon='upnp:album' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
               </container>
               <container name='date' createClass='object.item.imageItem.online.photo' class='object.container'>
                  <container buildon='pv:year' createClass='object.item.imageItem.online.photo' class='object.container'>
                     <container name='allname' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
                     <container buildon='pv:month' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum'/>
                  </container>
               </container>
               <container name='author' createClass='object.item.imageItem.online.photo' class='object.container' >
                  <container buildon='upnp:author' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
               </container>
            </container>
         </container>
         </container>

         <container name='Video By All' id='video/all' createClass='object.item.videoItem.movie' class='object.container'/>

         <container name='Video By Folder' id='video/folders' class='object.container.storageFolder' restricted='0' createClass='object.item.videoItem.movie'>
            <container buildon='res' createClass='object.item.videoItem.movie' class='object.container.storageFolder'/>
         </container>

         <container name='Video By Genre' id='video/genre' createClass='object.item.videoItem.movie' class='object.container'>
            <container buildon='upnp:genre' createClass='object.item.videoItem.movie' class='object.container' />
         </container>

         <container name='Video By Title' id='video/titleindex' class='object.container' createClass='object.item.videoItem.movie'>
            <container buildon='dc:title[3]' class='object.container' createClass='object.item.videoItem.movie'>
               <container buildon='dc:title' class='object.container' createClass='object.item.videoItem.movie'/>
            </container>
         </container>

         <container name='Video By Year' id='video/year' createClass='object.item.videoItem.movie' class='object.container'>
            <container buildon='pv:year' createClass='object.item.videoItem.movie' class='object.container' />
         </container>

         <container name='Video By Date' id='video/date' createClass='object.item.videoItem.movie' class='object.container'>
            <container buildon='pv:year' createClass='object.item.videoItem.movie' class='object.container'>
               <container buildon='pv:month' createClass='object.item.videoItem.movie' class='object.container'/>
            </container>
         </container>

         <container name='Video By Album' id='video/albums' createClass='object.item.videoItem.movie' class='object.container' >
            <container buildon='upnp:album' createClass='object.item.videoItem.movie' class='object.container' />
         </container>

         <container name='Video By Rating' id='video/rating' createClass='object.item.videoItem.movie' class='object.container' >
            <container buildon='pv:rating' createClass='object.item.videoItem.movie' class='object.container' />
         </container>

         <container name='Video By Playlists' id='video/playlists' class='object.container' createClass='object.item.videoItem.movie,object.item.videoItem.online.movie' sortcriteria='+upnp:originalTrackNumber,+dc:title' restricted='0' flags='pv:playlistRoot=Video' >
            <container name='playlistrecentlyadded' filteron='pv:addedLast60' sortcriteria='-pv:addedTime' createClass='object.item.videoItem.movie' maxitems='500' upnp:originalTrackNumber='3' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlistmostviewed' filteron='pv:playcount' sortcriteria='-pv:playcount' createClass='object.item.videoItem.movie' maxitems='500' upnp:originalTrackNumber='1' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1'  />
            <container name='playlistlastviewed' filteron='pv:lastPlayedTime' sortcriteria='-pv:lastPlayedTime' createClass='object.item.videoItem.movie' maxitems='500' upnp:originalTrackNumber='2' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlisthighlyrated' filteron='pv:highrated' sortcriteria='-pv:rating' createClass='object.item.videoItem.movie' maxitems='500' upnp:originalTrackNumber='4' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container buildon='upnp:playlist' sortcriteria='+upnp:originalTrackNumber' createClass='object.item.videoItem.movie,object.item.videoItem.online.movie' upnp:originalTrackNumber='5' class='object.container.playlistContainer'  />
         </container>

                   <container name='Video By Classified' id='video/classified' class='object.container'  createClass='object.item.videoItem.classified.movie'/>

         <container name='Video By Services' groupid='video/onlineservices' createClass='object.item.videoItem.online.movie' class='object.container'>
         <container buildon='pv:onlineServiceName' createClass='object.item.videoItem.online.movie' class='object.container'>
            <container buildon='pv:onlineServiceTitle' createClass='object.item.videoItem.online.movie' class='object.container'/>
         </container>
         </container>

      <container name='music' id='music' upnp:originalTrackNumber='1' createClass='object.item.audioItem.musicTrack,object.item.audioItem.online.musicTrack'>

         <container name='Music All' createClass='object.item.audioItem.musicTrack' class='object.container'/>

         <container name='Music Artist' class='object.container.person.musicArtist' createClass='object.item.audioItem.musicTrack'>
            <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
            <container buildon='upnp:artist' class='object.container.person.musicArtist' createClass='object.item.audioItem.musicTrack'/>
         </container>

         <container name='Music Artist/Index' class='object.container' createClass='object.item.audioItem.musicTrack'>
            <container buildon='upnp:artist[3]' class='object.container' createClass='object.item.audioItem.musicTrack'>
               <container buildon='upnp:artist' class='object.container.person.musicArtist' createClass='object.item.audioItem.musicTrack'>
                  <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
                  <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
               </container>
            </container>
         </container>

         <container name='Music Composer' createClass='object.item.audioItem.musicTrack' class='object.container' >
            <container buildon='upnp:author@role' createClass='object.item.audioItem.musicTrack' class='object.container.person.musicArtist' />
         </container>

         <container name='Music Rating' createClass='object.item.audioItem.musicTrack' class='object.container' >
            <container buildon='pv:rating' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
         </container>

         <container name='Music Artist/Album' class='object.container.person.musicArtist' createClass='object.item.audioItem.musicTrack'>
            <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' >
               <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
            </container>
            <container buildon='upnp:artist' class='object.container.person.musicArtist' createClass='object.item.audioItem.musicTrack'>
               <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
               <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
            </container>
         </container>

         <container name='Music Genre' class='object.container' createClass='object.item.audioItem.musicTrack'>
            <container buildon='upnp:genre' class='object.container.genre.musicGenre' createClass='object.item.audioItem.musicTrack' />
         </container>

         <container name='Music Genre/Album' class='object.container' createClass='object.item.audioItem.musicTrack'>
            <container buildon='upnp:genre' class='object.container.genre.musicGenre' createClass='object.item.audioItem.musicTrack' >
               <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
            </container>
         </container>

         <container name='Music Genre/Artist' class='object.container' createClass='object.item.audioItem.musicTrack'>
            <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' >
               <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' >
                  <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
                  <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
               </container>
               <container buildon='upnp:artist' class='object.container' createClass='object.item.audioItem.musicTrack'>
                  <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
                  <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
               </container>
            </container>
            <container buildon='upnp:genre' class='object.container.genre.musicGenre' createClass='object.item.audioItem.musicTrack'>
               <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' >
                  <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
                  <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
               </container>
               <container buildon='upnp:artist' class='object.container' createClass='object.item.audioItem.musicTrack'>
                  <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
                  <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
               </container>
            </container>
         </container>

         <container name='Music Album' createClass='object.item.audioItem.musicTrack' class='object.container' >
            <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
         </container>

         <container name='Music Folder' class='object.container.storageFolder' createClass='object.item.audioItem.musicTrack'>
            <container buildon='res' createClass='object.item.audioItem.musicTrack' class='object.container.storageFolder' />
         </container>

         <container name='Music Playlists' class='object.container' createClass='object.item.audioItem.musicTrack,object.item.audioItem.online.musicTrack' sortcriteria='+upnp:originalTrackNumber,+dc:title'   restricted='0' flags='pv:playlistRoot=Music' >
            <container name='playlistrecentlyadded' filteron='pv:addedLast60' sortcriteria='-pv:addedTime' createClass='object.item.audioItem.musicTrack' maxitems='500' upnp:originalTrackNumber='3' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlistmostplayed' filteron='pv:playcount' sortcriteria='-pv:playcount' createClass='object.item.audioItem.musicTrack' maxitems='500' upnp:originalTrackNumber='1'  restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlistlastplayed' filteron='pv:lastPlayedTime' sortcriteria='-pv:lastPlayedTime' createClass='object.item.audioItem.musicTrack' maxitems='500' upnp:originalTrackNumber='2' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlisthighlyrated' filteron='pv:highrated' sortcriteria='-pv:rating' createClass='object.item.audioItem.musicTrack' maxitems='500' upnp:originalTrackNumber='4' class='object.container.playlistContainer' restricted='1'  flags='pv:smartplaylist=1' />
            <container buildon='upnp:playlist' sortcriteria='+upnp:originalTrackNumber' upnp:originalTrackNumber='5' createClass='object.item.audioItem.musicTrack,object.item.audioItem.online.musicTrack' class='object.container.playlistContainer' />
         </container>

         <container name='Music Services'  createClass='object.item.audioItem.online.musicTrack' class='object.container'>
         <container buildon='pv:onlineServiceTitle'  createClass='object.item.audioItem.online.musicTrack' class='object.container'>
            <container name='allstations' createClass='object.item.audioItem.online.musicTrack' class='object.container' />
            <container name='genrestation' class='object.container' createClass='object.item.audioItem.online.musicTrack'>
               <container buildon='upnp:genre' class='object.container.genre.musicGenre' createClass='object.item.audioItem.online.musicTrack' />
            </container>
            <container name='stationindex' class='object.container' createClass='object.item.audioItem.online.musicTrack'>
               <container buildon='dc:title[3]' class='object.container' createClass='object.item.audioItem.online.musicTrack'>
                  <container buildon='dc:title' class='object.container' createClass='object.item.audioItem.online.musicTrack'/>
               </container>
            </container>
         </container>
         </container>

      </container>

      <container name='pictures' id='picture' upnp:originalTrackNumber='2' createClass='object.item.imageItem.photo,object.item.imageItem.online.photo' class='object.container'>

         <container name='Photo All' createClass='object.item.imageItem.photo' class='object.container'/>

         <container name='Photo Folder' class='object.container.storageFolder' restricted='0' createClass='object.item.imageItem.photo'>
            <container buildon='res' createClass='object.item.imageItem.photo' class='object.container.storageFolder'/>
         </container>

         <container name='Photo Year' createClass='object.item.imageItem.photo' class='object.container'>
            <container buildon='pv:year' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
         </container>

         <container name='Photo Date' createClass='object.item.imageItem.photo' class='object.container'>
            <container name='allname' createClass='object.item.imageItem.photo' class='object.container'>
               <container name='allname' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
               <container buildon='pv:month' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
            </container>
            <container buildon='pv:year' createClass='object.item.imageItem.photo' class='object.container'>
               <container name='allname' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
               <container buildon='pv:month' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
            </container>
         </container>

         <container name='Photo Keyword' createClass='object.item.imageItem.photo'  class='object.container' >
            <container buildon='pv:avKeywords' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
         </container>

         <container name='Photo Album' createClass='object.item.imageItem.photo'  class='object.container' >
            <container buildon='upnp:album' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
         </container>

         <container name='Photo Rating' createClass='object.item.imageItem.photo' class='object.container' >
            <container buildon='pv:rating' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
         </container>

         <container name='Photo Playlists' class='object.container' createClass='object.item.imageItem.photo,object.item.imageItem.online.photo' sortcriteria='+upnp:originalTrackNumber,+dc:title' restricted='0' flags='pv:playlistRoot=Picture' >
            <container name='playlistrecentlyadded' filteron='pv:addedLast60' sortcriteria='-pv:addedTime' createClass='object.item.imageItem.photo' maxitems='500' upnp:originalTrackNumber='3' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlistmostviewed' filteron='pv:playcount' sortcriteria='-pv:playcount' createClass='object.item.imageItem.photo' maxitems='500' upnp:originalTrackNumber='1' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlistlastviewed' filteron='pv:lastPlayedTime' sortcriteria='-pv:lastPlayedTime' createClass='object.item.imageItem.photo' maxitems='500' upnp:originalTrackNumber='2' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlisthighlyrated' filteron='pv:highrated' sortcriteria='-pv:rating' createClass='object.item.imageItem.photo' maxitems='500' upnp:originalTrackNumber='4' class='object.container.playlistContainer' restricted='1' flags='pv:smartplaylist=1' />
            <container buildon='upnp:playlist' sortcriteria='+upnp:originalTrackNumber' createClass='object.item.imageItem.photo,object.item.imageItem.online.photo' upnp:originalTrackNumber='5' class='object.container.playlistContainer' />
         </container>

         <container name='Photo Services'  createClass='object.item.imageItem.online.photo' class='object.container'>
         <container buildon='pv:onlineServiceName'  createClass='object.item.imageItem.online.photo' class='object.container'>
            <container name='allname' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
            <container buildon='pv:onlineServiceTitle' createClass='object.item.imageItem.online.photo' class='object.container'>
               <container name='allname' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
               <container name='keywords' createClass='object.item.imageItem.online.photo'  class='object.container' >
                  <container buildon='pv:avKeywords' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
               </container>
               <container name='album' createClass='object.item.imageItem.online.photo'  class='object.container' >
                  <container buildon='upnp:album' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
               </container>
               <container name='date' createClass='object.item.imageItem.online.photo' class='object.container'>
                  <container buildon='pv:year' createClass='object.item.imageItem.online.photo' class='object.container'>
                     <container name='allname' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
                     <container buildon='pv:month' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum'/>
                  </container>
               </container>
               <container name='author' createClass='object.item.imageItem.online.photo' class='object.container' >
                  <container buildon='upnp:author' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
               </container>
            </container>
         </container>
         </container>

      </container>

      <container name='videos' id='video' upnp:originalTrackNumber='3' sortcriteria='+upnp:originalTrackNumber' createClass='object.item.videoItem.movie,object.item.videoItem.classified.movie,object.item.videoItem.online.movie' class='object.container'>

         <container name='Video All' createClass='object.item.videoItem.movie' class='object.container'/>

         <container name='Video Folder' class='object.container.storageFolder' restricted='0' createClass='object.item.videoItem.movie'>
            <container buildon='res' createClass='object.item.videoItem.movie' class='object.container.storageFolder'/>
         </container>

         <container name='Video Genre' createClass='object.item.videoItem.movie' class='object.container'>
            <container buildon='upnp:genre' createClass='object.item.videoItem.movie' class='object.container' />
         </container>

         <container name='Video Title' class='object.container' createClass='object.item.videoItem.movie'>
            <container buildon='dc:title[3]' class='object.container' createClass='object.item.videoItem.movie'>
               <container buildon='dc:title' class='object.container' createClass='object.item.videoItem.movie'/>
            </container>
         </container>

         <container name='Video Year' createClass='object.item.videoItem.movie' class='object.container'>
            <container buildon='pv:year' createClass='object.item.videoItem.movie' class='object.container' />
         </container>

         <container name='Video Date' createClass='object.item.videoItem.movie' class='object.container'>
            <container buildon='pv:year' createClass='object.item.videoItem.movie' class='object.container'>
               <container buildon='pv:month' createClass='object.item.videoItem.movie' class='object.container'/>
            </container>
         </container>

         <container name='Video Album' createClass='object.item.videoItem.movie' class='object.container' >
            <container buildon='upnp:album' createClass='object.item.videoItem.movie' class='object.container' />
         </container>

         <container name='Video Rating' createClass='object.item.videoItem.movie' class='object.container' >
            <container buildon='pv:rating' createClass='object.item.videoItem.movie' class='object.container' />
         </container>

         <container name='Video Playlists' class='object.container' createClass='object.item.videoItem.movie,object.item.videoItem.online.movie' sortcriteria='+upnp:originalTrackNumber,+dc:title' restricted='0' flags='pv:playlistRoot=Video' >
            <container name='playlistrecentlyadded' filteron='pv:addedLast60' sortcriteria='-pv:addedTime' createClass='object.item.videoItem.movie' maxitems='500' upnp:originalTrackNumber='3' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlistmostviewed' filteron='pv:playcount' sortcriteria='-pv:playcount' createClass='object.item.videoItem.movie' maxitems='500' upnp:originalTrackNumber='1' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1'  />
            <container name='playlistlastviewed' filteron='pv:lastPlayedTime' sortcriteria='-pv:lastPlayedTime' createClass='object.item.videoItem.movie' maxitems='500' upnp:originalTrackNumber='2' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlisthighlyrated' filteron='pv:highrated' sortcriteria='-pv:rating' createClass='object.item.videoItem.movie' maxitems='500' upnp:originalTrackNumber='4' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container buildon='upnp:playlist' sortcriteria='+upnp:originalTrackNumber' createClass='object.item.videoItem.movie,object.item.videoItem.online.movie' upnp:originalTrackNumber='5' class='object.container.playlistContainer'  />
         </container>

                   <container name='Video Classified' id='video/classified' class='object.container'  createClass='object.item.videoItem.classified.movie'/>

         <container name='Video Servies' createClass='object.item.videoItem.online.movie' class='object.container'>
         <container buildon='pv:onlineServiceName' createClass='object.item.videoItem.online.movie' class='object.container'>
            <container buildon='pv:onlineServiceTitle' createClass='object.item.videoItem.online.movie' class='object.container'/>
         </container>
         </container>

      </container>

   </navtree>
</view>


Custom Navtree Scenario 10.zip
(2.63 KiB) Downloaded 300 times
Last edited by phibertron on Tue Mar 01, 2011 11:10 pm, edited 4 times in total.
viewtopic.php?f=2&t=10627
viewtopic.php?f=2&t=9353
viewtopic.php?f=2&t=9408
viewtopic.php?f=2&t=9416
viewtopic.php?f=2&t=9424
viewtopic.php?f=2&t=9364
viewtopic.php?f=2&t=9497

User avatar
phibertron
Posts: 1566
Joined: Sun Jan 30, 2011 5:52 pm
AV Hardware: Hardware
========
WHS - HP Ex495
PS3
XBOX 360
iTouch - Gen 2 and Gen 3
PSP - 3000

Encoders
========
Handbrake
x264
ffmpeg
mencoder

Tagging
======
mp3tag

Scenario 11

Postby phibertron » Wed Feb 23, 2011 7:53 pm

You want to show the default music containers at the root of the navtree

Note:
Normally there would be 3 root containers, and each root container had its sub-containers
like by folder, by geren, etc
The below changes replaces the 3 root containers
with the default sub-containers of video so that they are now at the root of the navtree

this is for people who are only using twonky for music, and dont care about anything else
when using a ps3 or other, the music tree from the device goes to music containers for real =)

You dont have to use all of the <links> in below, I just added them all to show you

advanced.view.xml

Code: Select all

<view name='advanceddefault' path='advanced.view'>
   <navtree>

      <container id='music/all' />
      <link id='music/artists' />
      <link id='music/artistindex' />
      <link id='music/composers' />
      <link id='music/rating' />
      <link id='music/artistalbum' />
      <link id='music/genre' />
      <link id='music/genrealbum' />
      <link id='music/genreartistalbum' />
      <link id='music/albums' />
      <link id='music/folders' />
      <link id='music/playlists' />
      <link groupid='music/onlineservices' />

   </navtree>
</view>


view-definitions.xml

Code: Select all

<view name='base' viewlist='advanced' guilist='advanceddefault'>

   <navtree sortcriteria='+upnp:originalTrackNumber'>

         <container name='Music By All' id='music/all' createClass='object.item.audioItem.musicTrack' class='object.container'/>

         <container name='Music By Artist' id='music/artists' class='object.container.person.musicArtist' createClass='object.item.audioItem.musicTrack'>
            <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
            <container buildon='upnp:artist' class='object.container.person.musicArtist' createClass='object.item.audioItem.musicTrack'/>
         </container>

         <container name='Music By Artist/Index' id='music/artistindex' class='object.container' createClass='object.item.audioItem.musicTrack'>
            <container buildon='upnp:artist[3]' class='object.container' createClass='object.item.audioItem.musicTrack'>
               <container buildon='upnp:artist' class='object.container.person.musicArtist' createClass='object.item.audioItem.musicTrack'>
                  <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
                  <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
               </container>
            </container>
         </container>

         <container name='Music By Composer' id='music/composers' createClass='object.item.audioItem.musicTrack' class='object.container' >
            <container buildon='upnp:author@role' createClass='object.item.audioItem.musicTrack' class='object.container.person.musicArtist' />
         </container>

         <container name='Music By Rating' id='music/rating' createClass='object.item.audioItem.musicTrack' class='object.container' >
            <container buildon='pv:rating' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
         </container>

         <container name='Music By Artist/Album' id='music/artistalbum' class='object.container.person.musicArtist' createClass='object.item.audioItem.musicTrack'>
            <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' >
               <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
            </container>
            <container buildon='upnp:artist' class='object.container.person.musicArtist' createClass='object.item.audioItem.musicTrack'>
               <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
               <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
            </container>
         </container>

         <container name='Music By Genre' id='music/genre' class='object.container' createClass='object.item.audioItem.musicTrack'>
            <container buildon='upnp:genre' class='object.container.genre.musicGenre' createClass='object.item.audioItem.musicTrack' />
         </container>

         <container name='Music By Genre/Album' id='music/genrealbum' class='object.container' createClass='object.item.audioItem.musicTrack'>
            <container buildon='upnp:genre' class='object.container.genre.musicGenre' createClass='object.item.audioItem.musicTrack' >
               <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
            </container>
         </container>

         <container name='Music By Genre/Artist' id='music/genreartistalbum' class='object.container' createClass='object.item.audioItem.musicTrack'>
            <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' >
               <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' >
                  <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
                  <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
               </container>
               <container buildon='upnp:artist' class='object.container' createClass='object.item.audioItem.musicTrack'>
                  <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
                  <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
               </container>
            </container>
            <container buildon='upnp:genre' class='object.container.genre.musicGenre' createClass='object.item.audioItem.musicTrack'>
               <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' >
                  <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
                  <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
               </container>
               <container buildon='upnp:artist' class='object.container' createClass='object.item.audioItem.musicTrack'>
                  <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
                  <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
               </container>
            </container>
         </container>

         <container name='Music By Album' id='music/albums' createClass='object.item.audioItem.musicTrack' class='object.container' >
            <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
         </container>

         <container name='Music By Folder' id='music/folders' class='object.container.storageFolder' createClass='object.item.audioItem.musicTrack'>
            <container buildon='res' createClass='object.item.audioItem.musicTrack' class='object.container.storageFolder' />
         </container>

         <container name='Music By Playlists' id='music/playlists' class='object.container' createClass='object.item.audioItem.musicTrack,object.item.audioItem.online.musicTrack' sortcriteria='+upnp:originalTrackNumber,+dc:title'   restricted='0' flags='pv:playlistRoot=Music' >
            <container name='playlistrecentlyadded' filteron='pv:addedLast60' sortcriteria='-pv:addedTime' createClass='object.item.audioItem.musicTrack' maxitems='500' upnp:originalTrackNumber='3' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlistmostplayed' filteron='pv:playcount' sortcriteria='-pv:playcount' createClass='object.item.audioItem.musicTrack' maxitems='500' upnp:originalTrackNumber='1'  restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlistlastplayed' filteron='pv:lastPlayedTime' sortcriteria='-pv:lastPlayedTime' createClass='object.item.audioItem.musicTrack' maxitems='500' upnp:originalTrackNumber='2' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlisthighlyrated' filteron='pv:highrated' sortcriteria='-pv:rating' createClass='object.item.audioItem.musicTrack' maxitems='500' upnp:originalTrackNumber='4' class='object.container.playlistContainer' restricted='1'  flags='pv:smartplaylist=1' />
            <container buildon='upnp:playlist' sortcriteria='+upnp:originalTrackNumber' upnp:originalTrackNumber='5' createClass='object.item.audioItem.musicTrack,object.item.audioItem.online.musicTrack' class='object.container.playlistContainer' />
         </container>

         <container name='Music By Services' groupid='music/onlineservices' createClass='object.item.audioItem.online.musicTrack' class='object.container'>
         <container buildon='pv:onlineServiceTitle'  createClass='object.item.audioItem.online.musicTrack' class='object.container'>
            <container name='allstations' createClass='object.item.audioItem.online.musicTrack' class='object.container' />
            <container name='genrestation' class='object.container' createClass='object.item.audioItem.online.musicTrack'>
               <container buildon='upnp:genre' class='object.container.genre.musicGenre' createClass='object.item.audioItem.online.musicTrack' />
            </container>
            <container name='stationindex' class='object.container' createClass='object.item.audioItem.online.musicTrack'>
               <container buildon='dc:title[3]' class='object.container' createClass='object.item.audioItem.online.musicTrack'>
                  <container buildon='dc:title' class='object.container' createClass='object.item.audioItem.online.musicTrack'/>
               </container>
            </container>
         </container>
         </container>

         <container name='Photo By All' id='picture/all' createClass='object.item.imageItem.photo' class='object.container'/>

         <container name='Photo By Folder' id='picture/folders' class='object.container.storageFolder' restricted='0' createClass='object.item.imageItem.photo'>
            <container buildon='res' createClass='object.item.imageItem.photo' class='object.container.storageFolder'/>
         </container>

         <container name='Photo By Year' id='picture/year' createClass='object.item.imageItem.photo' class='object.container'>
            <container buildon='pv:year' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
         </container>

         <container name='Photo By Date' id='picture/date' createClass='object.item.imageItem.photo' class='object.container'>
            <container name='allname' createClass='object.item.imageItem.photo' class='object.container'>
               <container name='allname' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
               <container buildon='pv:month' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
            </container>
            <container buildon='pv:year' createClass='object.item.imageItem.photo' class='object.container'>
               <container name='allname' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
               <container buildon='pv:month' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
            </container>
         </container>

         <container name='Photo By Keyword' id='picture/keywords' createClass='object.item.imageItem.photo'  class='object.container' >
            <container buildon='pv:avKeywords' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
         </container>

         <container name='Photo By Album' id='picture/albums' createClass='object.item.imageItem.photo'  class='object.container' >
            <container buildon='upnp:album' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
         </container>

         <container name='Photo By Rating' id='picture/rating' createClass='object.item.imageItem.photo' class='object.container' >
            <container buildon='pv:rating' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
         </container>

         <container name='Photo By Playlists' id='picture/playlists' class='object.container' createClass='object.item.imageItem.photo,object.item.imageItem.online.photo' sortcriteria='+upnp:originalTrackNumber,+dc:title' restricted='0' flags='pv:playlistRoot=Picture' >
            <container name='playlistrecentlyadded' filteron='pv:addedLast60' sortcriteria='-pv:addedTime' createClass='object.item.imageItem.photo' maxitems='500' upnp:originalTrackNumber='3' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlistmostviewed' filteron='pv:playcount' sortcriteria='-pv:playcount' createClass='object.item.imageItem.photo' maxitems='500' upnp:originalTrackNumber='1' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlistlastviewed' filteron='pv:lastPlayedTime' sortcriteria='-pv:lastPlayedTime' createClass='object.item.imageItem.photo' maxitems='500' upnp:originalTrackNumber='2' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlisthighlyrated' filteron='pv:highrated' sortcriteria='-pv:rating' createClass='object.item.imageItem.photo' maxitems='500' upnp:originalTrackNumber='4' class='object.container.playlistContainer' restricted='1' flags='pv:smartplaylist=1' />
            <container buildon='upnp:playlist' sortcriteria='+upnp:originalTrackNumber' createClass='object.item.imageItem.photo,object.item.imageItem.online.photo' upnp:originalTrackNumber='5' class='object.container.playlistContainer' />
         </container>

         <container name='Photo By Services' groupid='picture/onlineservices' createClass='object.item.imageItem.online.photo' class='object.container'>
         <container buildon='pv:onlineServiceName'  createClass='object.item.imageItem.online.photo' class='object.container'>
            <container name='allname' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
            <container buildon='pv:onlineServiceTitle' createClass='object.item.imageItem.online.photo' class='object.container'>
               <container name='allname' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
               <container name='keywords' createClass='object.item.imageItem.online.photo'  class='object.container' >
                  <container buildon='pv:avKeywords' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
               </container>
               <container name='album' createClass='object.item.imageItem.online.photo'  class='object.container' >
                  <container buildon='upnp:album' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
               </container>
               <container name='date' createClass='object.item.imageItem.online.photo' class='object.container'>
                  <container buildon='pv:year' createClass='object.item.imageItem.online.photo' class='object.container'>
                     <container name='allname' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
                     <container buildon='pv:month' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum'/>
                  </container>
               </container>
               <container name='author' createClass='object.item.imageItem.online.photo' class='object.container' >
                  <container buildon='upnp:author' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
               </container>
            </container>
         </container>
         </container>

         <container name='Video By All' id='video/all' createClass='object.item.videoItem.movie' class='object.container'/>

         <container name='Video By Folder' id='video/folders' class='object.container.storageFolder' restricted='0' createClass='object.item.videoItem.movie'>
            <container buildon='res' createClass='object.item.videoItem.movie' class='object.container.storageFolder'/>
         </container>

         <container name='Video By Genre' id='video/genre' createClass='object.item.videoItem.movie' class='object.container'>
            <container buildon='upnp:genre' createClass='object.item.videoItem.movie' class='object.container' />
         </container>

         <container name='Video By Title' id='video/titleindex' class='object.container' createClass='object.item.videoItem.movie'>
            <container buildon='dc:title[3]' class='object.container' createClass='object.item.videoItem.movie'>
               <container buildon='dc:title' class='object.container' createClass='object.item.videoItem.movie'/>
            </container>
         </container>

         <container name='Video By Year' id='video/year' createClass='object.item.videoItem.movie' class='object.container'>
            <container buildon='pv:year' createClass='object.item.videoItem.movie' class='object.container' />
         </container>

         <container name='Video By Date' id='video/date' createClass='object.item.videoItem.movie' class='object.container'>
            <container buildon='pv:year' createClass='object.item.videoItem.movie' class='object.container'>
               <container buildon='pv:month' createClass='object.item.videoItem.movie' class='object.container'/>
            </container>
         </container>

         <container name='Video By Album' id='video/albums' createClass='object.item.videoItem.movie' class='object.container' >
            <container buildon='upnp:album' createClass='object.item.videoItem.movie' class='object.container' />
         </container>

         <container name='Video By Rating' id='video/rating' createClass='object.item.videoItem.movie' class='object.container' >
            <container buildon='pv:rating' createClass='object.item.videoItem.movie' class='object.container' />
         </container>

         <container name='Video By Playlists' id='video/playlists' class='object.container' createClass='object.item.videoItem.movie,object.item.videoItem.online.movie' sortcriteria='+upnp:originalTrackNumber,+dc:title' restricted='0' flags='pv:playlistRoot=Video' >
            <container name='playlistrecentlyadded' filteron='pv:addedLast60' sortcriteria='-pv:addedTime' createClass='object.item.videoItem.movie' maxitems='500' upnp:originalTrackNumber='3' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlistmostviewed' filteron='pv:playcount' sortcriteria='-pv:playcount' createClass='object.item.videoItem.movie' maxitems='500' upnp:originalTrackNumber='1' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1'  />
            <container name='playlistlastviewed' filteron='pv:lastPlayedTime' sortcriteria='-pv:lastPlayedTime' createClass='object.item.videoItem.movie' maxitems='500' upnp:originalTrackNumber='2' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlisthighlyrated' filteron='pv:highrated' sortcriteria='-pv:rating' createClass='object.item.videoItem.movie' maxitems='500' upnp:originalTrackNumber='4' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container buildon='upnp:playlist' sortcriteria='+upnp:originalTrackNumber' createClass='object.item.videoItem.movie,object.item.videoItem.online.movie' upnp:originalTrackNumber='5' class='object.container.playlistContainer'  />
         </container>

                   <container name='Video By Classified' id='video/classified' class='object.container'  createClass='object.item.videoItem.classified.movie'/>

         <container name='Video By Services' groupid='video/onlineservices' createClass='object.item.videoItem.online.movie' class='object.container'>
         <container buildon='pv:onlineServiceName' createClass='object.item.videoItem.online.movie' class='object.container'>
            <container buildon='pv:onlineServiceTitle' createClass='object.item.videoItem.online.movie' class='object.container'/>
         </container>
         </container>

      <container name='music' id='music' upnp:originalTrackNumber='1' createClass='object.item.audioItem.musicTrack,object.item.audioItem.online.musicTrack'>

         <container name='Music All' createClass='object.item.audioItem.musicTrack' class='object.container'/>

         <container name='Music Artist' class='object.container.person.musicArtist' createClass='object.item.audioItem.musicTrack'>
            <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
            <container buildon='upnp:artist' class='object.container.person.musicArtist' createClass='object.item.audioItem.musicTrack'/>
         </container>

         <container name='Music Artist/Index' class='object.container' createClass='object.item.audioItem.musicTrack'>
            <container buildon='upnp:artist[3]' class='object.container' createClass='object.item.audioItem.musicTrack'>
               <container buildon='upnp:artist' class='object.container.person.musicArtist' createClass='object.item.audioItem.musicTrack'>
                  <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
                  <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
               </container>
            </container>
         </container>

         <container name='Music Composer' createClass='object.item.audioItem.musicTrack' class='object.container' >
            <container buildon='upnp:author@role' createClass='object.item.audioItem.musicTrack' class='object.container.person.musicArtist' />
         </container>

         <container name='Music Rating' createClass='object.item.audioItem.musicTrack' class='object.container' >
            <container buildon='pv:rating' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
         </container>

         <container name='Music Artist/Album' class='object.container.person.musicArtist' createClass='object.item.audioItem.musicTrack'>
            <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' >
               <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
            </container>
            <container buildon='upnp:artist' class='object.container.person.musicArtist' createClass='object.item.audioItem.musicTrack'>
               <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
               <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
            </container>
         </container>

         <container name='Music Genre' class='object.container' createClass='object.item.audioItem.musicTrack'>
            <container buildon='upnp:genre' class='object.container.genre.musicGenre' createClass='object.item.audioItem.musicTrack' />
         </container>

         <container name='Music Genre/Album' class='object.container' createClass='object.item.audioItem.musicTrack'>
            <container buildon='upnp:genre' class='object.container.genre.musicGenre' createClass='object.item.audioItem.musicTrack' >
               <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
            </container>
         </container>

         <container name='Music Genre/Artist' class='object.container' createClass='object.item.audioItem.musicTrack'>
            <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' >
               <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' >
                  <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
                  <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
               </container>
               <container buildon='upnp:artist' class='object.container' createClass='object.item.audioItem.musicTrack'>
                  <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
                  <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
               </container>
            </container>
            <container buildon='upnp:genre' class='object.container.genre.musicGenre' createClass='object.item.audioItem.musicTrack'>
               <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' >
                  <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
                  <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
               </container>
               <container buildon='upnp:artist' class='object.container' createClass='object.item.audioItem.musicTrack'>
                  <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
                  <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
               </container>
            </container>
         </container>

         <container name='Music Album' createClass='object.item.audioItem.musicTrack' class='object.container' >
            <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
         </container>

         <container name='Music Folder' class='object.container.storageFolder' createClass='object.item.audioItem.musicTrack'>
            <container buildon='res' createClass='object.item.audioItem.musicTrack' class='object.container.storageFolder' />
         </container>

         <container name='Music Playlists' class='object.container' createClass='object.item.audioItem.musicTrack,object.item.audioItem.online.musicTrack' sortcriteria='+upnp:originalTrackNumber,+dc:title'   restricted='0' flags='pv:playlistRoot=Music' >
            <container name='playlistrecentlyadded' filteron='pv:addedLast60' sortcriteria='-pv:addedTime' createClass='object.item.audioItem.musicTrack' maxitems='500' upnp:originalTrackNumber='3' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlistmostplayed' filteron='pv:playcount' sortcriteria='-pv:playcount' createClass='object.item.audioItem.musicTrack' maxitems='500' upnp:originalTrackNumber='1'  restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlistlastplayed' filteron='pv:lastPlayedTime' sortcriteria='-pv:lastPlayedTime' createClass='object.item.audioItem.musicTrack' maxitems='500' upnp:originalTrackNumber='2' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlisthighlyrated' filteron='pv:highrated' sortcriteria='-pv:rating' createClass='object.item.audioItem.musicTrack' maxitems='500' upnp:originalTrackNumber='4' class='object.container.playlistContainer' restricted='1'  flags='pv:smartplaylist=1' />
            <container buildon='upnp:playlist' sortcriteria='+upnp:originalTrackNumber' upnp:originalTrackNumber='5' createClass='object.item.audioItem.musicTrack,object.item.audioItem.online.musicTrack' class='object.container.playlistContainer' />
         </container>

         <container name='Music Services'  createClass='object.item.audioItem.online.musicTrack' class='object.container'>
         <container buildon='pv:onlineServiceTitle'  createClass='object.item.audioItem.online.musicTrack' class='object.container'>
            <container name='allstations' createClass='object.item.audioItem.online.musicTrack' class='object.container' />
            <container name='genrestation' class='object.container' createClass='object.item.audioItem.online.musicTrack'>
               <container buildon='upnp:genre' class='object.container.genre.musicGenre' createClass='object.item.audioItem.online.musicTrack' />
            </container>
            <container name='stationindex' class='object.container' createClass='object.item.audioItem.online.musicTrack'>
               <container buildon='dc:title[3]' class='object.container' createClass='object.item.audioItem.online.musicTrack'>
                  <container buildon='dc:title' class='object.container' createClass='object.item.audioItem.online.musicTrack'/>
               </container>
            </container>
         </container>
         </container>

      </container>

      <container name='pictures' id='picture' upnp:originalTrackNumber='2' createClass='object.item.imageItem.photo,object.item.imageItem.online.photo' class='object.container'>

         <container name='Photo All' createClass='object.item.imageItem.photo' class='object.container'/>

         <container name='Photo Folder' class='object.container.storageFolder' restricted='0' createClass='object.item.imageItem.photo'>
            <container buildon='res' createClass='object.item.imageItem.photo' class='object.container.storageFolder'/>
         </container>

         <container name='Photo Year' createClass='object.item.imageItem.photo' class='object.container'>
            <container buildon='pv:year' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
         </container>

         <container name='Photo Date' createClass='object.item.imageItem.photo' class='object.container'>
            <container name='allname' createClass='object.item.imageItem.photo' class='object.container'>
               <container name='allname' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
               <container buildon='pv:month' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
            </container>
            <container buildon='pv:year' createClass='object.item.imageItem.photo' class='object.container'>
               <container name='allname' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
               <container buildon='pv:month' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
            </container>
         </container>

         <container name='Photo Keyword' createClass='object.item.imageItem.photo'  class='object.container' >
            <container buildon='pv:avKeywords' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
         </container>

         <container name='Photo Album' createClass='object.item.imageItem.photo'  class='object.container' >
            <container buildon='upnp:album' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
         </container>

         <container name='Photo Rating' createClass='object.item.imageItem.photo' class='object.container' >
            <container buildon='pv:rating' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
         </container>

         <container name='Photo Playlists' class='object.container' createClass='object.item.imageItem.photo,object.item.imageItem.online.photo' sortcriteria='+upnp:originalTrackNumber,+dc:title' restricted='0' flags='pv:playlistRoot=Picture' >
            <container name='playlistrecentlyadded' filteron='pv:addedLast60' sortcriteria='-pv:addedTime' createClass='object.item.imageItem.photo' maxitems='500' upnp:originalTrackNumber='3' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlistmostviewed' filteron='pv:playcount' sortcriteria='-pv:playcount' createClass='object.item.imageItem.photo' maxitems='500' upnp:originalTrackNumber='1' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlistlastviewed' filteron='pv:lastPlayedTime' sortcriteria='-pv:lastPlayedTime' createClass='object.item.imageItem.photo' maxitems='500' upnp:originalTrackNumber='2' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlisthighlyrated' filteron='pv:highrated' sortcriteria='-pv:rating' createClass='object.item.imageItem.photo' maxitems='500' upnp:originalTrackNumber='4' class='object.container.playlistContainer' restricted='1' flags='pv:smartplaylist=1' />
            <container buildon='upnp:playlist' sortcriteria='+upnp:originalTrackNumber' createClass='object.item.imageItem.photo,object.item.imageItem.online.photo' upnp:originalTrackNumber='5' class='object.container.playlistContainer' />
         </container>

         <container name='Photo Services'  createClass='object.item.imageItem.online.photo' class='object.container'>
         <container buildon='pv:onlineServiceName'  createClass='object.item.imageItem.online.photo' class='object.container'>
            <container name='allname' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
            <container buildon='pv:onlineServiceTitle' createClass='object.item.imageItem.online.photo' class='object.container'>
               <container name='allname' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
               <container name='keywords' createClass='object.item.imageItem.online.photo'  class='object.container' >
                  <container buildon='pv:avKeywords' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
               </container>
               <container name='album' createClass='object.item.imageItem.online.photo'  class='object.container' >
                  <container buildon='upnp:album' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
               </container>
               <container name='date' createClass='object.item.imageItem.online.photo' class='object.container'>
                  <container buildon='pv:year' createClass='object.item.imageItem.online.photo' class='object.container'>
                     <container name='allname' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
                     <container buildon='pv:month' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum'/>
                  </container>
               </container>
               <container name='author' createClass='object.item.imageItem.online.photo' class='object.container' >
                  <container buildon='upnp:author' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
               </container>
            </container>
         </container>
         </container>

      </container>

      <container name='videos' id='video' upnp:originalTrackNumber='3' sortcriteria='+upnp:originalTrackNumber' createClass='object.item.videoItem.movie,object.item.videoItem.classified.movie,object.item.videoItem.online.movie' class='object.container'>

         <container name='Video All' createClass='object.item.videoItem.movie' class='object.container'/>

         <container name='Video Folder' class='object.container.storageFolder' restricted='0' createClass='object.item.videoItem.movie'>
            <container buildon='res' createClass='object.item.videoItem.movie' class='object.container.storageFolder'/>
         </container>

         <container name='Video Genre' createClass='object.item.videoItem.movie' class='object.container'>
            <container buildon='upnp:genre' createClass='object.item.videoItem.movie' class='object.container' />
         </container>

         <container name='Video Title' class='object.container' createClass='object.item.videoItem.movie'>
            <container buildon='dc:title[3]' class='object.container' createClass='object.item.videoItem.movie'>
               <container buildon='dc:title' class='object.container' createClass='object.item.videoItem.movie'/>
            </container>
         </container>

         <container name='Video Year' createClass='object.item.videoItem.movie' class='object.container'>
            <container buildon='pv:year' createClass='object.item.videoItem.movie' class='object.container' />
         </container>

         <container name='Video Date' createClass='object.item.videoItem.movie' class='object.container'>
            <container buildon='pv:year' createClass='object.item.videoItem.movie' class='object.container'>
               <container buildon='pv:month' createClass='object.item.videoItem.movie' class='object.container'/>
            </container>
         </container>

         <container name='Video Album' createClass='object.item.videoItem.movie' class='object.container' >
            <container buildon='upnp:album' createClass='object.item.videoItem.movie' class='object.container' />
         </container>

         <container name='Video Rating' createClass='object.item.videoItem.movie' class='object.container' >
            <container buildon='pv:rating' createClass='object.item.videoItem.movie' class='object.container' />
         </container>

         <container name='Video Playlists' class='object.container' createClass='object.item.videoItem.movie,object.item.videoItem.online.movie' sortcriteria='+upnp:originalTrackNumber,+dc:title' restricted='0' flags='pv:playlistRoot=Video' >
            <container name='playlistrecentlyadded' filteron='pv:addedLast60' sortcriteria='-pv:addedTime' createClass='object.item.videoItem.movie' maxitems='500' upnp:originalTrackNumber='3' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlistmostviewed' filteron='pv:playcount' sortcriteria='-pv:playcount' createClass='object.item.videoItem.movie' maxitems='500' upnp:originalTrackNumber='1' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1'  />
            <container name='playlistlastviewed' filteron='pv:lastPlayedTime' sortcriteria='-pv:lastPlayedTime' createClass='object.item.videoItem.movie' maxitems='500' upnp:originalTrackNumber='2' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlisthighlyrated' filteron='pv:highrated' sortcriteria='-pv:rating' createClass='object.item.videoItem.movie' maxitems='500' upnp:originalTrackNumber='4' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container buildon='upnp:playlist' sortcriteria='+upnp:originalTrackNumber' createClass='object.item.videoItem.movie,object.item.videoItem.online.movie' upnp:originalTrackNumber='5' class='object.container.playlistContainer'  />
         </container>

                   <container name='Video Classified' id='video/classified' class='object.container'  createClass='object.item.videoItem.classified.movie'/>

         <container name='Video Servies' createClass='object.item.videoItem.online.movie' class='object.container'>
         <container buildon='pv:onlineServiceName' createClass='object.item.videoItem.online.movie' class='object.container'>
            <container buildon='pv:onlineServiceTitle' createClass='object.item.videoItem.online.movie' class='object.container'/>
         </container>
         </container>

      </container>

   </navtree>
</view>


Custom Navtree Scenario 11.zip
(2.63 KiB) Downloaded 239 times
Last edited by phibertron on Tue Mar 01, 2011 11:11 pm, edited 3 times in total.
viewtopic.php?f=2&t=10627
viewtopic.php?f=2&t=9353
viewtopic.php?f=2&t=9408
viewtopic.php?f=2&t=9416
viewtopic.php?f=2&t=9424
viewtopic.php?f=2&t=9364
viewtopic.php?f=2&t=9497

User avatar
phibertron
Posts: 1566
Joined: Sun Jan 30, 2011 5:52 pm
AV Hardware: Hardware
========
WHS - HP Ex495
PS3
XBOX 360
iTouch - Gen 2 and Gen 3
PSP - 3000

Encoders
========
Handbrake
x264
ffmpeg
mencoder

Tagging
======
mp3tag

Scenario 12

Postby phibertron » Wed Feb 23, 2011 7:59 pm

You want to show the default picture containers at the root of the navtree

Note:
Normally there would be 3 root containers, and each root container had its sub-containers
like by folder, by geren, etc
The below changes replaces the 3 root containers
with the default sub-containers of video so that they are now at the root of the navtree

this is for people who are only using twonky for music, and dont care about anything else
when using a ps3 or other, the photo tree from the device goes to photo containers for real =)

You dont have to use all of the <links> in below, I just added them all to show you

advanced.view.xml

Code: Select all

<view name='advanceddefault' path='advanced.view'>
   <navtree>

      <container id='picture/all' />
      <link id='picture/folders' />
      <link id='picture/year' />
      <link id='picture/date' />
      <link id='picture/keywords' />
      <link id='picture/albums' />
      <link id='picture/rating' />
      <link id='picture/playlists' />
      <link groupid='picture/onlineservices' />

   </navtree>
</view>


view-definitions.xml

Code: Select all

<view name='base' viewlist='advanced' guilist='advanceddefault'>

   <navtree sortcriteria='+upnp:originalTrackNumber'>

         <container name='Music By All' id='music/all' createClass='object.item.audioItem.musicTrack' class='object.container'/>

         <container name='Music By Artist' id='music/artists' class='object.container.person.musicArtist' createClass='object.item.audioItem.musicTrack'>
            <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
            <container buildon='upnp:artist' class='object.container.person.musicArtist' createClass='object.item.audioItem.musicTrack'/>
         </container>

         <container name='Music By Artist/Index' id='music/artistindex' class='object.container' createClass='object.item.audioItem.musicTrack'>
            <container buildon='upnp:artist[3]' class='object.container' createClass='object.item.audioItem.musicTrack'>
               <container buildon='upnp:artist' class='object.container.person.musicArtist' createClass='object.item.audioItem.musicTrack'>
                  <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
                  <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
               </container>
            </container>
         </container>

         <container name='Music By Composer' id='music/composers' createClass='object.item.audioItem.musicTrack' class='object.container' >
            <container buildon='upnp:author@role' createClass='object.item.audioItem.musicTrack' class='object.container.person.musicArtist' />
         </container>

         <container name='Music By Rating' id='music/rating' createClass='object.item.audioItem.musicTrack' class='object.container' >
            <container buildon='pv:rating' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
         </container>

         <container name='Music By Artist/Album' id='music/artistalbum' class='object.container.person.musicArtist' createClass='object.item.audioItem.musicTrack'>
            <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' >
               <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
            </container>
            <container buildon='upnp:artist' class='object.container.person.musicArtist' createClass='object.item.audioItem.musicTrack'>
               <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
               <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
            </container>
         </container>

         <container name='Music By Genre' id='music/genre' class='object.container' createClass='object.item.audioItem.musicTrack'>
            <container buildon='upnp:genre' class='object.container.genre.musicGenre' createClass='object.item.audioItem.musicTrack' />
         </container>

         <container name='Music By Genre/Album' id='music/genrealbum' class='object.container' createClass='object.item.audioItem.musicTrack'>
            <container buildon='upnp:genre' class='object.container.genre.musicGenre' createClass='object.item.audioItem.musicTrack' >
               <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
            </container>
         </container>

         <container name='Music By Genre/Artist' id='music/genreartistalbum' class='object.container' createClass='object.item.audioItem.musicTrack'>
            <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' >
               <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' >
                  <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
                  <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
               </container>
               <container buildon='upnp:artist' class='object.container' createClass='object.item.audioItem.musicTrack'>
                  <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
                  <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
               </container>
            </container>
            <container buildon='upnp:genre' class='object.container.genre.musicGenre' createClass='object.item.audioItem.musicTrack'>
               <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' >
                  <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
                  <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
               </container>
               <container buildon='upnp:artist' class='object.container' createClass='object.item.audioItem.musicTrack'>
                  <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
                  <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
               </container>
            </container>
         </container>

         <container name='Music By Album' id='music/albums' createClass='object.item.audioItem.musicTrack' class='object.container' >
            <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
         </container>

         <container name='Music By Folder' id='music/folders' class='object.container.storageFolder' createClass='object.item.audioItem.musicTrack'>
            <container buildon='res' createClass='object.item.audioItem.musicTrack' class='object.container.storageFolder' />
         </container>

         <container name='Music By Playlists' id='music/playlists' class='object.container' createClass='object.item.audioItem.musicTrack,object.item.audioItem.online.musicTrack' sortcriteria='+upnp:originalTrackNumber,+dc:title'   restricted='0' flags='pv:playlistRoot=Music' >
            <container name='playlistrecentlyadded' filteron='pv:addedLast60' sortcriteria='-pv:addedTime' createClass='object.item.audioItem.musicTrack' maxitems='500' upnp:originalTrackNumber='3' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlistmostplayed' filteron='pv:playcount' sortcriteria='-pv:playcount' createClass='object.item.audioItem.musicTrack' maxitems='500' upnp:originalTrackNumber='1'  restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlistlastplayed' filteron='pv:lastPlayedTime' sortcriteria='-pv:lastPlayedTime' createClass='object.item.audioItem.musicTrack' maxitems='500' upnp:originalTrackNumber='2' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlisthighlyrated' filteron='pv:highrated' sortcriteria='-pv:rating' createClass='object.item.audioItem.musicTrack' maxitems='500' upnp:originalTrackNumber='4' class='object.container.playlistContainer' restricted='1'  flags='pv:smartplaylist=1' />
            <container buildon='upnp:playlist' sortcriteria='+upnp:originalTrackNumber' upnp:originalTrackNumber='5' createClass='object.item.audioItem.musicTrack,object.item.audioItem.online.musicTrack' class='object.container.playlistContainer' />
         </container>

         <container name='Music By Services' groupid='music/onlineservices' createClass='object.item.audioItem.online.musicTrack' class='object.container'>
         <container buildon='pv:onlineServiceTitle'  createClass='object.item.audioItem.online.musicTrack' class='object.container'>
            <container name='allstations' createClass='object.item.audioItem.online.musicTrack' class='object.container' />
            <container name='genrestation' class='object.container' createClass='object.item.audioItem.online.musicTrack'>
               <container buildon='upnp:genre' class='object.container.genre.musicGenre' createClass='object.item.audioItem.online.musicTrack' />
            </container>
            <container name='stationindex' class='object.container' createClass='object.item.audioItem.online.musicTrack'>
               <container buildon='dc:title[3]' class='object.container' createClass='object.item.audioItem.online.musicTrack'>
                  <container buildon='dc:title' class='object.container' createClass='object.item.audioItem.online.musicTrack'/>
               </container>
            </container>
         </container>
         </container>

         <container name='Photo By All' id='picture/all' createClass='object.item.imageItem.photo' class='object.container'/>

         <container name='Photo By Folder' id='picture/folders' class='object.container.storageFolder' restricted='0' createClass='object.item.imageItem.photo'>
            <container buildon='res' createClass='object.item.imageItem.photo' class='object.container.storageFolder'/>
         </container>

         <container name='Photo By Year' id='picture/year' createClass='object.item.imageItem.photo' class='object.container'>
            <container buildon='pv:year' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
         </container>

         <container name='Photo By Date' id='picture/date' createClass='object.item.imageItem.photo' class='object.container'>
            <container name='allname' createClass='object.item.imageItem.photo' class='object.container'>
               <container name='allname' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
               <container buildon='pv:month' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
            </container>
            <container buildon='pv:year' createClass='object.item.imageItem.photo' class='object.container'>
               <container name='allname' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
               <container buildon='pv:month' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
            </container>
         </container>

         <container name='Photo By Keyword' id='picture/keywords' createClass='object.item.imageItem.photo'  class='object.container' >
            <container buildon='pv:avKeywords' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
         </container>

         <container name='Photo By Album' id='picture/albums' createClass='object.item.imageItem.photo'  class='object.container' >
            <container buildon='upnp:album' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
         </container>

         <container name='Photo By Rating' id='picture/rating' createClass='object.item.imageItem.photo' class='object.container' >
            <container buildon='pv:rating' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
         </container>

         <container name='Photo By Playlists' id='picture/playlists' class='object.container' createClass='object.item.imageItem.photo,object.item.imageItem.online.photo' sortcriteria='+upnp:originalTrackNumber,+dc:title' restricted='0' flags='pv:playlistRoot=Picture' >
            <container name='playlistrecentlyadded' filteron='pv:addedLast60' sortcriteria='-pv:addedTime' createClass='object.item.imageItem.photo' maxitems='500' upnp:originalTrackNumber='3' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlistmostviewed' filteron='pv:playcount' sortcriteria='-pv:playcount' createClass='object.item.imageItem.photo' maxitems='500' upnp:originalTrackNumber='1' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlistlastviewed' filteron='pv:lastPlayedTime' sortcriteria='-pv:lastPlayedTime' createClass='object.item.imageItem.photo' maxitems='500' upnp:originalTrackNumber='2' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlisthighlyrated' filteron='pv:highrated' sortcriteria='-pv:rating' createClass='object.item.imageItem.photo' maxitems='500' upnp:originalTrackNumber='4' class='object.container.playlistContainer' restricted='1' flags='pv:smartplaylist=1' />
            <container buildon='upnp:playlist' sortcriteria='+upnp:originalTrackNumber' createClass='object.item.imageItem.photo,object.item.imageItem.online.photo' upnp:originalTrackNumber='5' class='object.container.playlistContainer' />
         </container>

         <container name='Photo By Services' groupid='picture/onlineservices' createClass='object.item.imageItem.online.photo' class='object.container'>
         <container buildon='pv:onlineServiceName'  createClass='object.item.imageItem.online.photo' class='object.container'>
            <container name='allname' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
            <container buildon='pv:onlineServiceTitle' createClass='object.item.imageItem.online.photo' class='object.container'>
               <container name='allname' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
               <container name='keywords' createClass='object.item.imageItem.online.photo'  class='object.container' >
                  <container buildon='pv:avKeywords' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
               </container>
               <container name='album' createClass='object.item.imageItem.online.photo'  class='object.container' >
                  <container buildon='upnp:album' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
               </container>
               <container name='date' createClass='object.item.imageItem.online.photo' class='object.container'>
                  <container buildon='pv:year' createClass='object.item.imageItem.online.photo' class='object.container'>
                     <container name='allname' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
                     <container buildon='pv:month' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum'/>
                  </container>
               </container>
               <container name='author' createClass='object.item.imageItem.online.photo' class='object.container' >
                  <container buildon='upnp:author' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
               </container>
            </container>
         </container>
         </container>

         <container name='Video By All' id='video/all' createClass='object.item.videoItem.movie' class='object.container'/>

         <container name='Video By Folder' id='video/folders' class='object.container.storageFolder' restricted='0' createClass='object.item.videoItem.movie'>
            <container buildon='res' createClass='object.item.videoItem.movie' class='object.container.storageFolder'/>
         </container>

         <container name='Video By Genre' id='video/genre' createClass='object.item.videoItem.movie' class='object.container'>
            <container buildon='upnp:genre' createClass='object.item.videoItem.movie' class='object.container' />
         </container>

         <container name='Video By Title' id='video/titleindex' class='object.container' createClass='object.item.videoItem.movie'>
            <container buildon='dc:title[3]' class='object.container' createClass='object.item.videoItem.movie'>
               <container buildon='dc:title' class='object.container' createClass='object.item.videoItem.movie'/>
            </container>
         </container>

         <container name='Video By Year' id='video/year' createClass='object.item.videoItem.movie' class='object.container'>
            <container buildon='pv:year' createClass='object.item.videoItem.movie' class='object.container' />
         </container>

         <container name='Video By Date' id='video/date' createClass='object.item.videoItem.movie' class='object.container'>
            <container buildon='pv:year' createClass='object.item.videoItem.movie' class='object.container'>
               <container buildon='pv:month' createClass='object.item.videoItem.movie' class='object.container'/>
            </container>
         </container>

         <container name='Video By Album' id='video/albums' createClass='object.item.videoItem.movie' class='object.container' >
            <container buildon='upnp:album' createClass='object.item.videoItem.movie' class='object.container' />
         </container>

         <container name='Video By Rating' id='video/rating' createClass='object.item.videoItem.movie' class='object.container' >
            <container buildon='pv:rating' createClass='object.item.videoItem.movie' class='object.container' />
         </container>

         <container name='Video By Playlists' id='video/playlists' class='object.container' createClass='object.item.videoItem.movie,object.item.videoItem.online.movie' sortcriteria='+upnp:originalTrackNumber,+dc:title' restricted='0' flags='pv:playlistRoot=Video' >
            <container name='playlistrecentlyadded' filteron='pv:addedLast60' sortcriteria='-pv:addedTime' createClass='object.item.videoItem.movie' maxitems='500' upnp:originalTrackNumber='3' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlistmostviewed' filteron='pv:playcount' sortcriteria='-pv:playcount' createClass='object.item.videoItem.movie' maxitems='500' upnp:originalTrackNumber='1' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1'  />
            <container name='playlistlastviewed' filteron='pv:lastPlayedTime' sortcriteria='-pv:lastPlayedTime' createClass='object.item.videoItem.movie' maxitems='500' upnp:originalTrackNumber='2' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlisthighlyrated' filteron='pv:highrated' sortcriteria='-pv:rating' createClass='object.item.videoItem.movie' maxitems='500' upnp:originalTrackNumber='4' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container buildon='upnp:playlist' sortcriteria='+upnp:originalTrackNumber' createClass='object.item.videoItem.movie,object.item.videoItem.online.movie' upnp:originalTrackNumber='5' class='object.container.playlistContainer'  />
         </container>

                   <container name='Video By Classified' id='video/classified' class='object.container'  createClass='object.item.videoItem.classified.movie'/>

         <container name='Video By Services' groupid='video/onlineservices' createClass='object.item.videoItem.online.movie' class='object.container'>
         <container buildon='pv:onlineServiceName' createClass='object.item.videoItem.online.movie' class='object.container'>
            <container buildon='pv:onlineServiceTitle' createClass='object.item.videoItem.online.movie' class='object.container'/>
         </container>
         </container>

      <container name='music' id='music' upnp:originalTrackNumber='1' createClass='object.item.audioItem.musicTrack,object.item.audioItem.online.musicTrack'>

         <container name='Music All' createClass='object.item.audioItem.musicTrack' class='object.container'/>

         <container name='Music Artist' class='object.container.person.musicArtist' createClass='object.item.audioItem.musicTrack'>
            <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
            <container buildon='upnp:artist' class='object.container.person.musicArtist' createClass='object.item.audioItem.musicTrack'/>
         </container>

         <container name='Music Artist/Index' class='object.container' createClass='object.item.audioItem.musicTrack'>
            <container buildon='upnp:artist[3]' class='object.container' createClass='object.item.audioItem.musicTrack'>
               <container buildon='upnp:artist' class='object.container.person.musicArtist' createClass='object.item.audioItem.musicTrack'>
                  <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
                  <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
               </container>
            </container>
         </container>

         <container name='Music Composer' createClass='object.item.audioItem.musicTrack' class='object.container' >
            <container buildon='upnp:author@role' createClass='object.item.audioItem.musicTrack' class='object.container.person.musicArtist' />
         </container>

         <container name='Music Rating' createClass='object.item.audioItem.musicTrack' class='object.container' >
            <container buildon='pv:rating' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
         </container>

         <container name='Music Artist/Album' class='object.container.person.musicArtist' createClass='object.item.audioItem.musicTrack'>
            <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' >
               <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
            </container>
            <container buildon='upnp:artist' class='object.container.person.musicArtist' createClass='object.item.audioItem.musicTrack'>
               <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
               <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
            </container>
         </container>

         <container name='Music Genre' class='object.container' createClass='object.item.audioItem.musicTrack'>
            <container buildon='upnp:genre' class='object.container.genre.musicGenre' createClass='object.item.audioItem.musicTrack' />
         </container>

         <container name='Music Genre/Album' class='object.container' createClass='object.item.audioItem.musicTrack'>
            <container buildon='upnp:genre' class='object.container.genre.musicGenre' createClass='object.item.audioItem.musicTrack' >
               <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
            </container>
         </container>

         <container name='Music Genre/Artist' class='object.container' createClass='object.item.audioItem.musicTrack'>
            <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' >
               <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' >
                  <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
                  <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
               </container>
               <container buildon='upnp:artist' class='object.container' createClass='object.item.audioItem.musicTrack'>
                  <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
                  <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
               </container>
            </container>
            <container buildon='upnp:genre' class='object.container.genre.musicGenre' createClass='object.item.audioItem.musicTrack'>
               <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' >
                  <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
                  <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
               </container>
               <container buildon='upnp:artist' class='object.container' createClass='object.item.audioItem.musicTrack'>
                  <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
                  <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
               </container>
            </container>
         </container>

         <container name='Music Album' createClass='object.item.audioItem.musicTrack' class='object.container' >
            <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
         </container>

         <container name='Music Folder' class='object.container.storageFolder' createClass='object.item.audioItem.musicTrack'>
            <container buildon='res' createClass='object.item.audioItem.musicTrack' class='object.container.storageFolder' />
         </container>

         <container name='Music Playlists' class='object.container' createClass='object.item.audioItem.musicTrack,object.item.audioItem.online.musicTrack' sortcriteria='+upnp:originalTrackNumber,+dc:title'   restricted='0' flags='pv:playlistRoot=Music' >
            <container name='playlistrecentlyadded' filteron='pv:addedLast60' sortcriteria='-pv:addedTime' createClass='object.item.audioItem.musicTrack' maxitems='500' upnp:originalTrackNumber='3' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlistmostplayed' filteron='pv:playcount' sortcriteria='-pv:playcount' createClass='object.item.audioItem.musicTrack' maxitems='500' upnp:originalTrackNumber='1'  restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlistlastplayed' filteron='pv:lastPlayedTime' sortcriteria='-pv:lastPlayedTime' createClass='object.item.audioItem.musicTrack' maxitems='500' upnp:originalTrackNumber='2' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlisthighlyrated' filteron='pv:highrated' sortcriteria='-pv:rating' createClass='object.item.audioItem.musicTrack' maxitems='500' upnp:originalTrackNumber='4' class='object.container.playlistContainer' restricted='1'  flags='pv:smartplaylist=1' />
            <container buildon='upnp:playlist' sortcriteria='+upnp:originalTrackNumber' upnp:originalTrackNumber='5' createClass='object.item.audioItem.musicTrack,object.item.audioItem.online.musicTrack' class='object.container.playlistContainer' />
         </container>

         <container name='Music Services'  createClass='object.item.audioItem.online.musicTrack' class='object.container'>
         <container buildon='pv:onlineServiceTitle'  createClass='object.item.audioItem.online.musicTrack' class='object.container'>
            <container name='allstations' createClass='object.item.audioItem.online.musicTrack' class='object.container' />
            <container name='genrestation' class='object.container' createClass='object.item.audioItem.online.musicTrack'>
               <container buildon='upnp:genre' class='object.container.genre.musicGenre' createClass='object.item.audioItem.online.musicTrack' />
            </container>
            <container name='stationindex' class='object.container' createClass='object.item.audioItem.online.musicTrack'>
               <container buildon='dc:title[3]' class='object.container' createClass='object.item.audioItem.online.musicTrack'>
                  <container buildon='dc:title' class='object.container' createClass='object.item.audioItem.online.musicTrack'/>
               </container>
            </container>
         </container>
         </container>

      </container>

      <container name='pictures' id='picture' upnp:originalTrackNumber='2' createClass='object.item.imageItem.photo,object.item.imageItem.online.photo' class='object.container'>

         <container name='Photo All' createClass='object.item.imageItem.photo' class='object.container'/>

         <container name='Photo Folder' class='object.container.storageFolder' restricted='0' createClass='object.item.imageItem.photo'>
            <container buildon='res' createClass='object.item.imageItem.photo' class='object.container.storageFolder'/>
         </container>

         <container name='Photo Year' createClass='object.item.imageItem.photo' class='object.container'>
            <container buildon='pv:year' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
         </container>

         <container name='Photo Date' createClass='object.item.imageItem.photo' class='object.container'>
            <container name='allname' createClass='object.item.imageItem.photo' class='object.container'>
               <container name='allname' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
               <container buildon='pv:month' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
            </container>
            <container buildon='pv:year' createClass='object.item.imageItem.photo' class='object.container'>
               <container name='allname' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
               <container buildon='pv:month' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
            </container>
         </container>

         <container name='Photo Keyword' createClass='object.item.imageItem.photo'  class='object.container' >
            <container buildon='pv:avKeywords' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
         </container>

         <container name='Photo Album' createClass='object.item.imageItem.photo'  class='object.container' >
            <container buildon='upnp:album' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
         </container>

         <container name='Photo Rating' createClass='object.item.imageItem.photo' class='object.container' >
            <container buildon='pv:rating' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
         </container>

         <container name='Photo Playlists' class='object.container' createClass='object.item.imageItem.photo,object.item.imageItem.online.photo' sortcriteria='+upnp:originalTrackNumber,+dc:title' restricted='0' flags='pv:playlistRoot=Picture' >
            <container name='playlistrecentlyadded' filteron='pv:addedLast60' sortcriteria='-pv:addedTime' createClass='object.item.imageItem.photo' maxitems='500' upnp:originalTrackNumber='3' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlistmostviewed' filteron='pv:playcount' sortcriteria='-pv:playcount' createClass='object.item.imageItem.photo' maxitems='500' upnp:originalTrackNumber='1' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlistlastviewed' filteron='pv:lastPlayedTime' sortcriteria='-pv:lastPlayedTime' createClass='object.item.imageItem.photo' maxitems='500' upnp:originalTrackNumber='2' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlisthighlyrated' filteron='pv:highrated' sortcriteria='-pv:rating' createClass='object.item.imageItem.photo' maxitems='500' upnp:originalTrackNumber='4' class='object.container.playlistContainer' restricted='1' flags='pv:smartplaylist=1' />
            <container buildon='upnp:playlist' sortcriteria='+upnp:originalTrackNumber' createClass='object.item.imageItem.photo,object.item.imageItem.online.photo' upnp:originalTrackNumber='5' class='object.container.playlistContainer' />
         </container>

         <container name='Photo Services'  createClass='object.item.imageItem.online.photo' class='object.container'>
         <container buildon='pv:onlineServiceName'  createClass='object.item.imageItem.online.photo' class='object.container'>
            <container name='allname' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
            <container buildon='pv:onlineServiceTitle' createClass='object.item.imageItem.online.photo' class='object.container'>
               <container name='allname' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
               <container name='keywords' createClass='object.item.imageItem.online.photo'  class='object.container' >
                  <container buildon='pv:avKeywords' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
               </container>
               <container name='album' createClass='object.item.imageItem.online.photo'  class='object.container' >
                  <container buildon='upnp:album' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
               </container>
               <container name='date' createClass='object.item.imageItem.online.photo' class='object.container'>
                  <container buildon='pv:year' createClass='object.item.imageItem.online.photo' class='object.container'>
                     <container name='allname' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
                     <container buildon='pv:month' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum'/>
                  </container>
               </container>
               <container name='author' createClass='object.item.imageItem.online.photo' class='object.container' >
                  <container buildon='upnp:author' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
               </container>
            </container>
         </container>
         </container>

      </container>

      <container name='videos' id='video' upnp:originalTrackNumber='3' sortcriteria='+upnp:originalTrackNumber' createClass='object.item.videoItem.movie,object.item.videoItem.classified.movie,object.item.videoItem.online.movie' class='object.container'>

         <container name='Video All' createClass='object.item.videoItem.movie' class='object.container'/>

         <container name='Video Folder' class='object.container.storageFolder' restricted='0' createClass='object.item.videoItem.movie'>
            <container buildon='res' createClass='object.item.videoItem.movie' class='object.container.storageFolder'/>
         </container>

         <container name='Video Genre' createClass='object.item.videoItem.movie' class='object.container'>
            <container buildon='upnp:genre' createClass='object.item.videoItem.movie' class='object.container' />
         </container>

         <container name='Video Title' class='object.container' createClass='object.item.videoItem.movie'>
            <container buildon='dc:title[3]' class='object.container' createClass='object.item.videoItem.movie'>
               <container buildon='dc:title' class='object.container' createClass='object.item.videoItem.movie'/>
            </container>
         </container>

         <container name='Video Year' createClass='object.item.videoItem.movie' class='object.container'>
            <container buildon='pv:year' createClass='object.item.videoItem.movie' class='object.container' />
         </container>

         <container name='Video Date' createClass='object.item.videoItem.movie' class='object.container'>
            <container buildon='pv:year' createClass='object.item.videoItem.movie' class='object.container'>
               <container buildon='pv:month' createClass='object.item.videoItem.movie' class='object.container'/>
            </container>
         </container>

         <container name='Video Album' createClass='object.item.videoItem.movie' class='object.container' >
            <container buildon='upnp:album' createClass='object.item.videoItem.movie' class='object.container' />
         </container>

         <container name='Video Rating' createClass='object.item.videoItem.movie' class='object.container' >
            <container buildon='pv:rating' createClass='object.item.videoItem.movie' class='object.container' />
         </container>

         <container name='Video Playlists' class='object.container' createClass='object.item.videoItem.movie,object.item.videoItem.online.movie' sortcriteria='+upnp:originalTrackNumber,+dc:title' restricted='0' flags='pv:playlistRoot=Video' >
            <container name='playlistrecentlyadded' filteron='pv:addedLast60' sortcriteria='-pv:addedTime' createClass='object.item.videoItem.movie' maxitems='500' upnp:originalTrackNumber='3' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlistmostviewed' filteron='pv:playcount' sortcriteria='-pv:playcount' createClass='object.item.videoItem.movie' maxitems='500' upnp:originalTrackNumber='1' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1'  />
            <container name='playlistlastviewed' filteron='pv:lastPlayedTime' sortcriteria='-pv:lastPlayedTime' createClass='object.item.videoItem.movie' maxitems='500' upnp:originalTrackNumber='2' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlisthighlyrated' filteron='pv:highrated' sortcriteria='-pv:rating' createClass='object.item.videoItem.movie' maxitems='500' upnp:originalTrackNumber='4' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container buildon='upnp:playlist' sortcriteria='+upnp:originalTrackNumber' createClass='object.item.videoItem.movie,object.item.videoItem.online.movie' upnp:originalTrackNumber='5' class='object.container.playlistContainer'  />
         </container>

                   <container name='Video Classified' id='video/classified' class='object.container'  createClass='object.item.videoItem.classified.movie'/>

         <container name='Video Servies' createClass='object.item.videoItem.online.movie' class='object.container'>
         <container buildon='pv:onlineServiceName' createClass='object.item.videoItem.online.movie' class='object.container'>
            <container buildon='pv:onlineServiceTitle' createClass='object.item.videoItem.online.movie' class='object.container'/>
         </container>
         </container>

      </container>

   </navtree>
</view>


Custom Navtree Scenario 12.zip
(2.62 KiB) Downloaded 154 times
Last edited by phibertron on Tue Mar 01, 2011 11:12 pm, edited 3 times in total.
viewtopic.php?f=2&t=10627
viewtopic.php?f=2&t=9353
viewtopic.php?f=2&t=9408
viewtopic.php?f=2&t=9416
viewtopic.php?f=2&t=9424
viewtopic.php?f=2&t=9364
viewtopic.php?f=2&t=9497

User avatar
phibertron
Posts: 1566
Joined: Sun Jan 30, 2011 5:52 pm
AV Hardware: Hardware
========
WHS - HP Ex495
PS3
XBOX 360
iTouch - Gen 2 and Gen 3
PSP - 3000

Encoders
========
Handbrake
x264
ffmpeg
mencoder

Tagging
======
mp3tag

Scenario 13

Postby phibertron » Wed Feb 23, 2011 8:02 pm

You want to show all the default sub-containers at the root of the navtree

Note:
Normally there would be 3 root containers, and each root container had its sub-containers
like by folder, by geren, etc
The below changes replaces the 3 root containers
with the default sub-containers of all 3 root containers so that they are now at the root of the navtree

You dont have to use all of the <links> in below, I just added them all to show you

advanced.view.xml

Code: Select all

<view name='advanceddefault' path='advanced.view'>
   <navtree>

      <container id='music/all' />
      <link id='music/artists' />
      <link id='music/artistindex' />
      <link id='music/composers' />
      <link id='music/rating' />
      <link id='music/artistalbum' />
      <link id='music/genre' />
      <link id='music/genrealbum' />
      <link id='music/genreartistalbum' />
      <link id='music/albums' />
      <link id='music/folders' />
      <link id='music/playlists' />
      <link groupid='music/onlineservices' />

      <container id='picture/all' />
      <link id='picture/folders' />
      <link id='picture/year' />
      <link id='picture/date' />
      <link id='picture/keywords' />
      <link id='picture/albums' />
      <link id='picture/rating' />
      <link id='picture/playlists' />
      <link groupid='picture/onlineservices' />

      <container id='video/all' />
      <link id='video/folders' />
      <link id='video/titleindex' />
      <link id='video/genre' />
      <link id='video/year' />
      <link id='video/date' />
      <link id='video/albums' />
      <link id='video/rating' />
      <link id='video/playlists' />
      <link id='video/classified' />
      <link groupid='video/onlineservices' />

   </navtree>
</view>


view-definitions.xml

Code: Select all

<view name='base' viewlist='advanced' guilist='advanceddefault'>

   <navtree sortcriteria='+upnp:originalTrackNumber'>

         <container name='Music By All' id='music/all' createClass='object.item.audioItem.musicTrack' class='object.container'/>

         <container name='Music By Artist' id='music/artists' class='object.container.person.musicArtist' createClass='object.item.audioItem.musicTrack'>
            <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
            <container buildon='upnp:artist' class='object.container.person.musicArtist' createClass='object.item.audioItem.musicTrack'/>
         </container>

         <container name='Music By Artist/Index' id='music/artistindex' class='object.container' createClass='object.item.audioItem.musicTrack'>
            <container buildon='upnp:artist[3]' class='object.container' createClass='object.item.audioItem.musicTrack'>
               <container buildon='upnp:artist' class='object.container.person.musicArtist' createClass='object.item.audioItem.musicTrack'>
                  <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
                  <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
               </container>
            </container>
         </container>

         <container name='Music By Composer' id='music/composers' createClass='object.item.audioItem.musicTrack' class='object.container' >
            <container buildon='upnp:author@role' createClass='object.item.audioItem.musicTrack' class='object.container.person.musicArtist' />
         </container>

         <container name='Music By Rating' id='music/rating' createClass='object.item.audioItem.musicTrack' class='object.container' >
            <container buildon='pv:rating' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
         </container>

         <container name='Music By Artist/Album' id='music/artistalbum' class='object.container.person.musicArtist' createClass='object.item.audioItem.musicTrack'>
            <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' >
               <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
            </container>
            <container buildon='upnp:artist' class='object.container.person.musicArtist' createClass='object.item.audioItem.musicTrack'>
               <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
               <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
            </container>
         </container>

         <container name='Music By Genre' id='music/genre' class='object.container' createClass='object.item.audioItem.musicTrack'>
            <container buildon='upnp:genre' class='object.container.genre.musicGenre' createClass='object.item.audioItem.musicTrack' />
         </container>

         <container name='Music By Genre/Album' id='music/genrealbum' class='object.container' createClass='object.item.audioItem.musicTrack'>
            <container buildon='upnp:genre' class='object.container.genre.musicGenre' createClass='object.item.audioItem.musicTrack' >
               <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
            </container>
         </container>

         <container name='Music By Genre/Artist' id='music/genreartistalbum' class='object.container' createClass='object.item.audioItem.musicTrack'>
            <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' >
               <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' >
                  <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
                  <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
               </container>
               <container buildon='upnp:artist' class='object.container' createClass='object.item.audioItem.musicTrack'>
                  <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
                  <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
               </container>
            </container>
            <container buildon='upnp:genre' class='object.container.genre.musicGenre' createClass='object.item.audioItem.musicTrack'>
               <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' >
                  <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
                  <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
               </container>
               <container buildon='upnp:artist' class='object.container' createClass='object.item.audioItem.musicTrack'>
                  <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
                  <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
               </container>
            </container>
         </container>

         <container name='Music By Album' id='music/albums' createClass='object.item.audioItem.musicTrack' class='object.container' >
            <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
         </container>

         <container name='Music By Folder' id='music/folders' class='object.container.storageFolder' createClass='object.item.audioItem.musicTrack'>
            <container buildon='res' createClass='object.item.audioItem.musicTrack' class='object.container.storageFolder' />
         </container>

         <container name='Music By Playlists' id='music/playlists' class='object.container' createClass='object.item.audioItem.musicTrack,object.item.audioItem.online.musicTrack' sortcriteria='+upnp:originalTrackNumber,+dc:title'   restricted='0' flags='pv:playlistRoot=Music' >
            <container name='playlistrecentlyadded' filteron='pv:addedLast60' sortcriteria='-pv:addedTime' createClass='object.item.audioItem.musicTrack' maxitems='500' upnp:originalTrackNumber='3' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlistmostplayed' filteron='pv:playcount' sortcriteria='-pv:playcount' createClass='object.item.audioItem.musicTrack' maxitems='500' upnp:originalTrackNumber='1'  restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlistlastplayed' filteron='pv:lastPlayedTime' sortcriteria='-pv:lastPlayedTime' createClass='object.item.audioItem.musicTrack' maxitems='500' upnp:originalTrackNumber='2' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlisthighlyrated' filteron='pv:highrated' sortcriteria='-pv:rating' createClass='object.item.audioItem.musicTrack' maxitems='500' upnp:originalTrackNumber='4' class='object.container.playlistContainer' restricted='1'  flags='pv:smartplaylist=1' />
            <container buildon='upnp:playlist' sortcriteria='+upnp:originalTrackNumber' upnp:originalTrackNumber='5' createClass='object.item.audioItem.musicTrack,object.item.audioItem.online.musicTrack' class='object.container.playlistContainer' />
         </container>

         <container name='Music By Services' groupid='music/onlineservices' createClass='object.item.audioItem.online.musicTrack' class='object.container'>
         <container buildon='pv:onlineServiceTitle'  createClass='object.item.audioItem.online.musicTrack' class='object.container'>
            <container name='allstations' createClass='object.item.audioItem.online.musicTrack' class='object.container' />
            <container name='genrestation' class='object.container' createClass='object.item.audioItem.online.musicTrack'>
               <container buildon='upnp:genre' class='object.container.genre.musicGenre' createClass='object.item.audioItem.online.musicTrack' />
            </container>
            <container name='stationindex' class='object.container' createClass='object.item.audioItem.online.musicTrack'>
               <container buildon='dc:title[3]' class='object.container' createClass='object.item.audioItem.online.musicTrack'>
                  <container buildon='dc:title' class='object.container' createClass='object.item.audioItem.online.musicTrack'/>
               </container>
            </container>
         </container>
         </container>

         <container name='Photo By All' id='picture/all' createClass='object.item.imageItem.photo' class='object.container'/>

         <container name='Photo By Folder' id='picture/folders' class='object.container.storageFolder' restricted='0' createClass='object.item.imageItem.photo'>
            <container buildon='res' createClass='object.item.imageItem.photo' class='object.container.storageFolder'/>
         </container>

         <container name='Photo By Year' id='picture/year' createClass='object.item.imageItem.photo' class='object.container'>
            <container buildon='pv:year' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
         </container>

         <container name='Photo By Date' id='picture/date' createClass='object.item.imageItem.photo' class='object.container'>
            <container name='allname' createClass='object.item.imageItem.photo' class='object.container'>
               <container name='allname' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
               <container buildon='pv:month' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
            </container>
            <container buildon='pv:year' createClass='object.item.imageItem.photo' class='object.container'>
               <container name='allname' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
               <container buildon='pv:month' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
            </container>
         </container>

         <container name='Photo By Keyword' id='picture/keywords' createClass='object.item.imageItem.photo'  class='object.container' >
            <container buildon='pv:avKeywords' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
         </container>

         <container name='Photo By Album' id='picture/albums' createClass='object.item.imageItem.photo'  class='object.container' >
            <container buildon='upnp:album' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
         </container>

         <container name='Photo By Rating' id='picture/rating' createClass='object.item.imageItem.photo' class='object.container' >
            <container buildon='pv:rating' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
         </container>

         <container name='Photo By Playlists' id='picture/playlists' class='object.container' createClass='object.item.imageItem.photo,object.item.imageItem.online.photo' sortcriteria='+upnp:originalTrackNumber,+dc:title' restricted='0' flags='pv:playlistRoot=Picture' >
            <container name='playlistrecentlyadded' filteron='pv:addedLast60' sortcriteria='-pv:addedTime' createClass='object.item.imageItem.photo' maxitems='500' upnp:originalTrackNumber='3' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlistmostviewed' filteron='pv:playcount' sortcriteria='-pv:playcount' createClass='object.item.imageItem.photo' maxitems='500' upnp:originalTrackNumber='1' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlistlastviewed' filteron='pv:lastPlayedTime' sortcriteria='-pv:lastPlayedTime' createClass='object.item.imageItem.photo' maxitems='500' upnp:originalTrackNumber='2' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlisthighlyrated' filteron='pv:highrated' sortcriteria='-pv:rating' createClass='object.item.imageItem.photo' maxitems='500' upnp:originalTrackNumber='4' class='object.container.playlistContainer' restricted='1' flags='pv:smartplaylist=1' />
            <container buildon='upnp:playlist' sortcriteria='+upnp:originalTrackNumber' createClass='object.item.imageItem.photo,object.item.imageItem.online.photo' upnp:originalTrackNumber='5' class='object.container.playlistContainer' />
         </container>

         <container name='Photo By Services' groupid='picture/onlineservices' createClass='object.item.imageItem.online.photo' class='object.container'>
         <container buildon='pv:onlineServiceName'  createClass='object.item.imageItem.online.photo' class='object.container'>
            <container name='allname' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
            <container buildon='pv:onlineServiceTitle' createClass='object.item.imageItem.online.photo' class='object.container'>
               <container name='allname' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
               <container name='keywords' createClass='object.item.imageItem.online.photo'  class='object.container' >
                  <container buildon='pv:avKeywords' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
               </container>
               <container name='album' createClass='object.item.imageItem.online.photo'  class='object.container' >
                  <container buildon='upnp:album' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
               </container>
               <container name='date' createClass='object.item.imageItem.online.photo' class='object.container'>
                  <container buildon='pv:year' createClass='object.item.imageItem.online.photo' class='object.container'>
                     <container name='allname' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
                     <container buildon='pv:month' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum'/>
                  </container>
               </container>
               <container name='author' createClass='object.item.imageItem.online.photo' class='object.container' >
                  <container buildon='upnp:author' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
               </container>
            </container>
         </container>
         </container>

         <container name='Video By All' id='video/all' createClass='object.item.videoItem.movie' class='object.container'/>

         <container name='Video By Folder' id='video/folders' class='object.container.storageFolder' restricted='0' createClass='object.item.videoItem.movie'>
            <container buildon='res' createClass='object.item.videoItem.movie' class='object.container.storageFolder'/>
         </container>

         <container name='Video By Genre' id='video/genre' createClass='object.item.videoItem.movie' class='object.container'>
            <container buildon='upnp:genre' createClass='object.item.videoItem.movie' class='object.container' />
         </container>

         <container name='Video By Title' id='video/titleindex' class='object.container' createClass='object.item.videoItem.movie'>
            <container buildon='dc:title[3]' class='object.container' createClass='object.item.videoItem.movie'>
               <container buildon='dc:title' class='object.container' createClass='object.item.videoItem.movie'/>
            </container>
         </container>

         <container name='Video By Year' id='video/year' createClass='object.item.videoItem.movie' class='object.container'>
            <container buildon='pv:year' createClass='object.item.videoItem.movie' class='object.container' />
         </container>

         <container name='Video By Date' id='video/date' createClass='object.item.videoItem.movie' class='object.container'>
            <container buildon='pv:year' createClass='object.item.videoItem.movie' class='object.container'>
               <container buildon='pv:month' createClass='object.item.videoItem.movie' class='object.container'/>
            </container>
         </container>

         <container name='Video By Album' id='video/albums' createClass='object.item.videoItem.movie' class='object.container' >
            <container buildon='upnp:album' createClass='object.item.videoItem.movie' class='object.container' />
         </container>

         <container name='Video By Rating' id='video/rating' createClass='object.item.videoItem.movie' class='object.container' >
            <container buildon='pv:rating' createClass='object.item.videoItem.movie' class='object.container' />
         </container>

         <container name='Video By Playlists' id='video/playlists' class='object.container' createClass='object.item.videoItem.movie,object.item.videoItem.online.movie' sortcriteria='+upnp:originalTrackNumber,+dc:title' restricted='0' flags='pv:playlistRoot=Video' >
            <container name='playlistrecentlyadded' filteron='pv:addedLast60' sortcriteria='-pv:addedTime' createClass='object.item.videoItem.movie' maxitems='500' upnp:originalTrackNumber='3' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlistmostviewed' filteron='pv:playcount' sortcriteria='-pv:playcount' createClass='object.item.videoItem.movie' maxitems='500' upnp:originalTrackNumber='1' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1'  />
            <container name='playlistlastviewed' filteron='pv:lastPlayedTime' sortcriteria='-pv:lastPlayedTime' createClass='object.item.videoItem.movie' maxitems='500' upnp:originalTrackNumber='2' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlisthighlyrated' filteron='pv:highrated' sortcriteria='-pv:rating' createClass='object.item.videoItem.movie' maxitems='500' upnp:originalTrackNumber='4' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container buildon='upnp:playlist' sortcriteria='+upnp:originalTrackNumber' createClass='object.item.videoItem.movie,object.item.videoItem.online.movie' upnp:originalTrackNumber='5' class='object.container.playlistContainer'  />
         </container>

                   <container name='Video By Classified' id='video/classified' class='object.container'  createClass='object.item.videoItem.classified.movie'/>

         <container name='Video By Services' groupid='video/onlineservices' createClass='object.item.videoItem.online.movie' class='object.container'>
         <container buildon='pv:onlineServiceName' createClass='object.item.videoItem.online.movie' class='object.container'>
            <container buildon='pv:onlineServiceTitle' createClass='object.item.videoItem.online.movie' class='object.container'/>
         </container>
         </container>

      <container name='music' id='music' upnp:originalTrackNumber='1' createClass='object.item.audioItem.musicTrack,object.item.audioItem.online.musicTrack'>

         <container name='Music All' createClass='object.item.audioItem.musicTrack' class='object.container'/>

         <container name='Music Artist' class='object.container.person.musicArtist' createClass='object.item.audioItem.musicTrack'>
            <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
            <container buildon='upnp:artist' class='object.container.person.musicArtist' createClass='object.item.audioItem.musicTrack'/>
         </container>

         <container name='Music Artist/Index' class='object.container' createClass='object.item.audioItem.musicTrack'>
            <container buildon='upnp:artist[3]' class='object.container' createClass='object.item.audioItem.musicTrack'>
               <container buildon='upnp:artist' class='object.container.person.musicArtist' createClass='object.item.audioItem.musicTrack'>
                  <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
                  <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
               </container>
            </container>
         </container>

         <container name='Music Composer' createClass='object.item.audioItem.musicTrack' class='object.container' >
            <container buildon='upnp:author@role' createClass='object.item.audioItem.musicTrack' class='object.container.person.musicArtist' />
         </container>

         <container name='Music Rating' createClass='object.item.audioItem.musicTrack' class='object.container' >
            <container buildon='pv:rating' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
         </container>

         <container name='Music Artist/Album' class='object.container.person.musicArtist' createClass='object.item.audioItem.musicTrack'>
            <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' >
               <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
            </container>
            <container buildon='upnp:artist' class='object.container.person.musicArtist' createClass='object.item.audioItem.musicTrack'>
               <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
               <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
            </container>
         </container>

         <container name='Music Genre' class='object.container' createClass='object.item.audioItem.musicTrack'>
            <container buildon='upnp:genre' class='object.container.genre.musicGenre' createClass='object.item.audioItem.musicTrack' />
         </container>

         <container name='Music Genre/Album' class='object.container' createClass='object.item.audioItem.musicTrack'>
            <container buildon='upnp:genre' class='object.container.genre.musicGenre' createClass='object.item.audioItem.musicTrack' >
               <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
            </container>
         </container>

         <container name='Music Genre/Artist' class='object.container' createClass='object.item.audioItem.musicTrack'>
            <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' >
               <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' >
                  <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
                  <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
               </container>
               <container buildon='upnp:artist' class='object.container' createClass='object.item.audioItem.musicTrack'>
                  <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
                  <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
               </container>
            </container>
            <container buildon='upnp:genre' class='object.container.genre.musicGenre' createClass='object.item.audioItem.musicTrack'>
               <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' >
                  <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
                  <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
               </container>
               <container buildon='upnp:artist' class='object.container' createClass='object.item.audioItem.musicTrack'>
                  <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
                  <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
               </container>
            </container>
         </container>

         <container name='Music Album' createClass='object.item.audioItem.musicTrack' class='object.container' >
            <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
         </container>

         <container name='Music Folder' class='object.container.storageFolder' createClass='object.item.audioItem.musicTrack'>
            <container buildon='res' createClass='object.item.audioItem.musicTrack' class='object.container.storageFolder' />
         </container>

         <container name='Music Playlists' class='object.container' createClass='object.item.audioItem.musicTrack,object.item.audioItem.online.musicTrack' sortcriteria='+upnp:originalTrackNumber,+dc:title'   restricted='0' flags='pv:playlistRoot=Music' >
            <container name='playlistrecentlyadded' filteron='pv:addedLast60' sortcriteria='-pv:addedTime' createClass='object.item.audioItem.musicTrack' maxitems='500' upnp:originalTrackNumber='3' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlistmostplayed' filteron='pv:playcount' sortcriteria='-pv:playcount' createClass='object.item.audioItem.musicTrack' maxitems='500' upnp:originalTrackNumber='1'  restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlistlastplayed' filteron='pv:lastPlayedTime' sortcriteria='-pv:lastPlayedTime' createClass='object.item.audioItem.musicTrack' maxitems='500' upnp:originalTrackNumber='2' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlisthighlyrated' filteron='pv:highrated' sortcriteria='-pv:rating' createClass='object.item.audioItem.musicTrack' maxitems='500' upnp:originalTrackNumber='4' class='object.container.playlistContainer' restricted='1'  flags='pv:smartplaylist=1' />
            <container buildon='upnp:playlist' sortcriteria='+upnp:originalTrackNumber' upnp:originalTrackNumber='5' createClass='object.item.audioItem.musicTrack,object.item.audioItem.online.musicTrack' class='object.container.playlistContainer' />
         </container>

         <container name='Music Services'  createClass='object.item.audioItem.online.musicTrack' class='object.container'>
         <container buildon='pv:onlineServiceTitle'  createClass='object.item.audioItem.online.musicTrack' class='object.container'>
            <container name='allstations' createClass='object.item.audioItem.online.musicTrack' class='object.container' />
            <container name='genrestation' class='object.container' createClass='object.item.audioItem.online.musicTrack'>
               <container buildon='upnp:genre' class='object.container.genre.musicGenre' createClass='object.item.audioItem.online.musicTrack' />
            </container>
            <container name='stationindex' class='object.container' createClass='object.item.audioItem.online.musicTrack'>
               <container buildon='dc:title[3]' class='object.container' createClass='object.item.audioItem.online.musicTrack'>
                  <container buildon='dc:title' class='object.container' createClass='object.item.audioItem.online.musicTrack'/>
               </container>
            </container>
         </container>
         </container>

      </container>

      <container name='pictures' id='picture' upnp:originalTrackNumber='2' createClass='object.item.imageItem.photo,object.item.imageItem.online.photo' class='object.container'>

         <container name='Photo All' createClass='object.item.imageItem.photo' class='object.container'/>

         <container name='Photo Folder' class='object.container.storageFolder' restricted='0' createClass='object.item.imageItem.photo'>
            <container buildon='res' createClass='object.item.imageItem.photo' class='object.container.storageFolder'/>
         </container>

         <container name='Photo Year' createClass='object.item.imageItem.photo' class='object.container'>
            <container buildon='pv:year' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
         </container>

         <container name='Photo Date' createClass='object.item.imageItem.photo' class='object.container'>
            <container name='allname' createClass='object.item.imageItem.photo' class='object.container'>
               <container name='allname' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
               <container buildon='pv:month' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
            </container>
            <container buildon='pv:year' createClass='object.item.imageItem.photo' class='object.container'>
               <container name='allname' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
               <container buildon='pv:month' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
            </container>
         </container>

         <container name='Photo Keyword' createClass='object.item.imageItem.photo'  class='object.container' >
            <container buildon='pv:avKeywords' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
         </container>

         <container name='Photo Album' createClass='object.item.imageItem.photo'  class='object.container' >
            <container buildon='upnp:album' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
         </container>

         <container name='Photo Rating' createClass='object.item.imageItem.photo' class='object.container' >
            <container buildon='pv:rating' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
         </container>

         <container name='Photo Playlists' class='object.container' createClass='object.item.imageItem.photo,object.item.imageItem.online.photo' sortcriteria='+upnp:originalTrackNumber,+dc:title' restricted='0' flags='pv:playlistRoot=Picture' >
            <container name='playlistrecentlyadded' filteron='pv:addedLast60' sortcriteria='-pv:addedTime' createClass='object.item.imageItem.photo' maxitems='500' upnp:originalTrackNumber='3' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlistmostviewed' filteron='pv:playcount' sortcriteria='-pv:playcount' createClass='object.item.imageItem.photo' maxitems='500' upnp:originalTrackNumber='1' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlistlastviewed' filteron='pv:lastPlayedTime' sortcriteria='-pv:lastPlayedTime' createClass='object.item.imageItem.photo' maxitems='500' upnp:originalTrackNumber='2' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlisthighlyrated' filteron='pv:highrated' sortcriteria='-pv:rating' createClass='object.item.imageItem.photo' maxitems='500' upnp:originalTrackNumber='4' class='object.container.playlistContainer' restricted='1' flags='pv:smartplaylist=1' />
            <container buildon='upnp:playlist' sortcriteria='+upnp:originalTrackNumber' createClass='object.item.imageItem.photo,object.item.imageItem.online.photo' upnp:originalTrackNumber='5' class='object.container.playlistContainer' />
         </container>

         <container name='Photo Services'  createClass='object.item.imageItem.online.photo' class='object.container'>
         <container buildon='pv:onlineServiceName'  createClass='object.item.imageItem.online.photo' class='object.container'>
            <container name='allname' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
            <container buildon='pv:onlineServiceTitle' createClass='object.item.imageItem.online.photo' class='object.container'>
               <container name='allname' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
               <container name='keywords' createClass='object.item.imageItem.online.photo'  class='object.container' >
                  <container buildon='pv:avKeywords' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
               </container>
               <container name='album' createClass='object.item.imageItem.online.photo'  class='object.container' >
                  <container buildon='upnp:album' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
               </container>
               <container name='date' createClass='object.item.imageItem.online.photo' class='object.container'>
                  <container buildon='pv:year' createClass='object.item.imageItem.online.photo' class='object.container'>
                     <container name='allname' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
                     <container buildon='pv:month' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum'/>
                  </container>
               </container>
               <container name='author' createClass='object.item.imageItem.online.photo' class='object.container' >
                  <container buildon='upnp:author' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
               </container>
            </container>
         </container>
         </container>

      </container>

      <container name='videos' id='video' upnp:originalTrackNumber='3' sortcriteria='+upnp:originalTrackNumber' createClass='object.item.videoItem.movie,object.item.videoItem.classified.movie,object.item.videoItem.online.movie' class='object.container'>

         <container name='Video All' createClass='object.item.videoItem.movie' class='object.container'/>

         <container name='Video Folder' class='object.container.storageFolder' restricted='0' createClass='object.item.videoItem.movie'>
            <container buildon='res' createClass='object.item.videoItem.movie' class='object.container.storageFolder'/>
         </container>

         <container name='Video Genre' createClass='object.item.videoItem.movie' class='object.container'>
            <container buildon='upnp:genre' createClass='object.item.videoItem.movie' class='object.container' />
         </container>

         <container name='Video Title' class='object.container' createClass='object.item.videoItem.movie'>
            <container buildon='dc:title[3]' class='object.container' createClass='object.item.videoItem.movie'>
               <container buildon='dc:title' class='object.container' createClass='object.item.videoItem.movie'/>
            </container>
         </container>

         <container name='Video Year' createClass='object.item.videoItem.movie' class='object.container'>
            <container buildon='pv:year' createClass='object.item.videoItem.movie' class='object.container' />
         </container>

         <container name='Video Date' createClass='object.item.videoItem.movie' class='object.container'>
            <container buildon='pv:year' createClass='object.item.videoItem.movie' class='object.container'>
               <container buildon='pv:month' createClass='object.item.videoItem.movie' class='object.container'/>
            </container>
         </container>

         <container name='Video Album' createClass='object.item.videoItem.movie' class='object.container' >
            <container buildon='upnp:album' createClass='object.item.videoItem.movie' class='object.container' />
         </container>

         <container name='Video Rating' createClass='object.item.videoItem.movie' class='object.container' >
            <container buildon='pv:rating' createClass='object.item.videoItem.movie' class='object.container' />
         </container>

         <container name='Video Playlists' class='object.container' createClass='object.item.videoItem.movie,object.item.videoItem.online.movie' sortcriteria='+upnp:originalTrackNumber,+dc:title' restricted='0' flags='pv:playlistRoot=Video' >
            <container name='playlistrecentlyadded' filteron='pv:addedLast60' sortcriteria='-pv:addedTime' createClass='object.item.videoItem.movie' maxitems='500' upnp:originalTrackNumber='3' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlistmostviewed' filteron='pv:playcount' sortcriteria='-pv:playcount' createClass='object.item.videoItem.movie' maxitems='500' upnp:originalTrackNumber='1' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1'  />
            <container name='playlistlastviewed' filteron='pv:lastPlayedTime' sortcriteria='-pv:lastPlayedTime' createClass='object.item.videoItem.movie' maxitems='500' upnp:originalTrackNumber='2' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlisthighlyrated' filteron='pv:highrated' sortcriteria='-pv:rating' createClass='object.item.videoItem.movie' maxitems='500' upnp:originalTrackNumber='4' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container buildon='upnp:playlist' sortcriteria='+upnp:originalTrackNumber' createClass='object.item.videoItem.movie,object.item.videoItem.online.movie' upnp:originalTrackNumber='5' class='object.container.playlistContainer'  />
         </container>

                   <container name='Video Classified' id='video/classified' class='object.container'  createClass='object.item.videoItem.classified.movie'/>

         <container name='Video Servies' createClass='object.item.videoItem.online.movie' class='object.container'>
         <container buildon='pv:onlineServiceName' createClass='object.item.videoItem.online.movie' class='object.container'>
            <container buildon='pv:onlineServiceTitle' createClass='object.item.videoItem.online.movie' class='object.container'/>
         </container>
         </container>

      </container>

   </navtree>
</view>


Custom Navtree Scenario 13.zip
(2.72 KiB) Downloaded 124 times
Last edited by phibertron on Tue Mar 01, 2011 11:12 pm, edited 4 times in total.
viewtopic.php?f=2&t=10627
viewtopic.php?f=2&t=9353
viewtopic.php?f=2&t=9408
viewtopic.php?f=2&t=9416
viewtopic.php?f=2&t=9424
viewtopic.php?f=2&t=9364
viewtopic.php?f=2&t=9497

User avatar
phibertron
Posts: 1566
Joined: Sun Jan 30, 2011 5:52 pm
AV Hardware: Hardware
========
WHS - HP Ex495
PS3
XBOX 360
iTouch - Gen 2 and Gen 3
PSP - 3000

Encoders
========
Handbrake
x264
ffmpeg
mencoder

Tagging
======
mp3tag

Scenario 14

Postby phibertron » Wed Feb 23, 2011 8:05 pm

This one is the inverse of Scenario 13

For Ex: at the root you would see By Folder
By Folder at the root will expand to 3 containers, Music Folders, Photo Folders, Video Folders
From there it would show folders for each type


advanced.view.xml

Code: Select all

<view name='advanceddefault' path='advanced.view'>
   <navtree>

      <link groupid='custom/all' />
      <link groupid='custom/album' />
      <link groupid='custom/folder' />
      <link groupid='custom/genre' />
      <link groupid='custom/rating' />
      <link groupid='custom/title' />
      <link groupid='custom/year' />
      <link groupid='custom/online1' />
      <link groupid='custom/online2' />
      <link groupid='custom/online3' />

   </navtree>
</view>


view-definitions.xml

Code: Select all

<view name='base' viewlist='advanced' guilist='advanceddefault'>

   <navtree sortcriteria='+upnp:originalTrackNumber'>

      <container name='All' groupid='custom/all' >

         <container name='Music All' createClass='object.item.audioItem.musicTrack' class='object.container'/>

         <container name='Photo All' createClass='object.item.imageItem.photo' class='object.container'/>

         <container name='Video All' createClass='object.item.videoItem.movie' class='object.container'/>

      </container>

      <container name='Album' groupid='custom/album' >

         <container name='Music Album' createClass='object.item.audioItem.musicTrack' class='object.container' >
            <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
         </container>

         <container name='Photo Album' createClass='object.item.imageItem.photo'  class='object.container' >
            <container buildon='upnp:album' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
         </container>

         <container name='Video Album' createClass='object.item.videoItem.movie' class='object.container' >
            <container buildon='upnp:album' createClass='object.item.videoItem.movie' class='object.container' />
         </container>

      </container>

      <container name='Folder' groupid='custom/folder' >

         <container name='Music Folders' class='object.container.storageFolder' createClass='object.item.audioItem.musicTrack'>
            <container buildon='res' createClass='object.item.audioItem.musicTrack' class='object.container.storageFolder' />
         </container>

         <container name='Photo Folders' class='object.container.storageFolder' restricted='0' createClass='object.item.imageItem.photo'>
            <container buildon='res' createClass='object.item.imageItem.photo' class='object.container.storageFolder'/>
         </container>

         <container name='Video Folders' class='object.container.storageFolder' restricted='0' createClass='object.item.videoItem.movie'>
            <container buildon='res' createClass='object.item.videoItem.movie' class='object.container.storageFolder'/>
         </container>
      </container>

      <container name='Genre' groupid='custom/genre' >

         <container name='Music Genre' createClass='object.item.audioItem.musicTrack' class='object.container' >
            <container buildon='upnp:genre' createClass='object.item.audioItem.musicTrack' class='object.container.genre.musicGenre' />
         </container>

         <container name='Photo Genre' createClass='object.item.imageItem.photo'  class='object.container' >
            <container buildon='upnp:genre' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
         </container>

         <container name='Video Genre' createClass='object.item.videoItem.movie' class='object.container'>
            <container buildon='upnp:genre' createClass='object.item.videoItem.movie' class='object.container' />
         </container>

      </container>

      <container name='Rating' groupid='custom/rating' >

         <container name='Music Rating' createClass='object.item.audioItem.musicTrack' class='object.container' >
            <container buildon='pv:rating' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
         </container>

         <container name='Photo Rating' createClass='object.item.imageItem.photo' class='object.container' >
            <container buildon='pv:rating' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
         </container>

         <container name='Video Rating' createClass='object.item.videoItem.movie' class='object.container' >
            <container buildon='pv:rating' createClass='object.item.videoItem.movie' class='object.container' />
         </container>

      </container>

      <container name='Title' groupid='custom/title' >

         <container name='Music Title' createClass='object.item.audioItem.musicTrack' class='object.container' >
            <container buildon='dc:title[1]' createClass='object.item.audioItem.musicTrack' class='object.container'/>
         </container>

         <container name='Photo Title' createClass='object.item.imageItem.photo'  class='object.container' >
            <container buildon='dc:title[1]' createClass='object.item.imageItem.photo'  class='object.container' />
         </container>

         <container name='Video Title' createClass='object.item.videoItem.movie' class='object.container' >
            <container buildon='dc:title[1]' createClass='object.item.videoItem.movie' class='object.container' >
               <container buildon='dc:title' createClass='object.item.videoItem.movie' class='object.container' />
            </container>
         </container>

      </container>

      <container name='Year' groupid='custom/year' >

         <container name='Music Year' createClass='object.item.audioItem.musicTrack' class='object.container' >
            <container buildon='pv:year' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
         </container>

         <container name='Photo Year' createClass='object.item.imageItem.photo' class='object.container'>
            <container buildon='pv:year' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
         </container>

         <container name='Video Year' createClass='object.item.videoItem.movie' class='object.container'>
            <container buildon='pv:year' createClass='object.item.videoItem.movie' class='object.container' />
         </container>

      </container>

      <container name='Online Music' groupid='custom/online1' createClass='object.item.audioItem.online.musicTrack' class='object.container'>
         <container buildon='pv:onlineServiceTitle'  createClass='object.item.audioItem.online.musicTrack' class='object.container'>
            <container name='allstations' createClass='object.item.audioItem.online.musicTrack' class='object.container' />
            <container name='genrestation' class='object.container' createClass='object.item.audioItem.online.musicTrack'>
               <container buildon='upnp:genre' class='object.container.genre.musicGenre' createClass='object.item.audioItem.online.musicTrack' />
            </container>
            <container name='stationindex' class='object.container' createClass='object.item.audioItem.online.musicTrack'>
               <container buildon='dc:title[3]' class='object.container' createClass='object.item.audioItem.online.musicTrack'>
                  <container buildon='dc:title' class='object.container' createClass='object.item.audioItem.online.musicTrack'/>
               </container>
            </container>
         </container>
      </container>

      <container name='Online Photo' groupid='custom/online2' createClass='object.item.imageItem.online.photo' class='object.container'>
         <container buildon='pv:onlineServiceName'  createClass='object.item.imageItem.online.photo' class='object.container'>
            <container name='allname' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
            <container buildon='pv:onlineServiceTitle' createClass='object.item.imageItem.online.photo' class='object.container'>
               <container name='allname' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
               <container name='keywords' createClass='object.item.imageItem.online.photo'  class='object.container' >
                  <container buildon='pv:avKeywords' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
               </container>
               <container name='album' createClass='object.item.imageItem.online.photo'  class='object.container' >
                  <container buildon='upnp:album' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
               </container>
               <container name='date' createClass='object.item.imageItem.online.photo' class='object.container'>
                  <container buildon='pv:year' createClass='object.item.imageItem.online.photo' class='object.container'>
                     <container name='allname' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
                     <container buildon='pv:month' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum'/>
                  </container>
               </container>
               <container name='author' createClass='object.item.imageItem.online.photo' class='object.container' >
                  <container buildon='upnp:author' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
               </container>
            </container>
         </container>
      </container>

      <container name='Online Video' groupid='custom/online3' createClass='object.item.videoItem.online.movie' class='object.container'>
         <container buildon='pv:onlineServiceName' createClass='object.item.videoItem.online.movie' class='object.container'>
            <container buildon='pv:onlineServiceTitle' createClass='object.item.videoItem.online.movie' class='object.container'/>
         </container>
      </container>

      <container name='music' id='music' upnp:originalTrackNumber='1' createClass='object.item.audioItem.musicTrack,object.item.audioItem.online.musicTrack'>

         <container name='alltracks' id='music/all' createClass='object.item.audioItem.musicTrack' class='object.container'/>

         <container name='artist' id='music/artists' class='object.container.person.musicArtist' createClass='object.item.audioItem.musicTrack'>
            <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
            <container buildon='upnp:artist' class='object.container.person.musicArtist' createClass='object.item.audioItem.musicTrack'/>
         </container>

         <container name='artistindex' id='music/artistindex' class='object.container' createClass='object.item.audioItem.musicTrack'>
            <container buildon='upnp:artist[3]' class='object.container' createClass='object.item.audioItem.musicTrack'>
               <container buildon='upnp:artist' class='object.container.person.musicArtist' createClass='object.item.audioItem.musicTrack'>
                  <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
                  <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
               </container>
            </container>
         </container>

         <container name='composer' id='music/composers' createClass='object.item.audioItem.musicTrack' class='object.container' >
            <container buildon='upnp:author@role' createClass='object.item.audioItem.musicTrack' class='object.container.person.musicArtist' />
         </container>

         <container name='rating' id='music/rating' createClass='object.item.audioItem.musicTrack' class='object.container' >
            <container buildon='pv:rating' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
         </container>

         <container name='artistalbum' id='music/artistalbum' class='object.container.person.musicArtist' createClass='object.item.audioItem.musicTrack'>
            <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' >
               <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
            </container>
            <container buildon='upnp:artist' class='object.container.person.musicArtist' createClass='object.item.audioItem.musicTrack'>
               <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
               <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
            </container>
         </container>

         <container name='genre' id='music/genre' class='object.container' createClass='object.item.audioItem.musicTrack'>
            <container buildon='upnp:genre' class='object.container.genre.musicGenre' createClass='object.item.audioItem.musicTrack' />
         </container>

         <container name='genrealbum' id='music/genrealbum' class='object.container' createClass='object.item.audioItem.musicTrack'>
            <container buildon='upnp:genre' class='object.container.genre.musicGenre' createClass='object.item.audioItem.musicTrack' >
               <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
            </container>
         </container>

         <container name='genreartist' id='music/genreartistalbum' class='object.container' createClass='object.item.audioItem.musicTrack'>
            <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' >
               <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' >
                  <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
                  <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
               </container>
               <container buildon='upnp:artist' class='object.container' createClass='object.item.audioItem.musicTrack'>
                  <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
                  <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
               </container>
            </container>
            <container buildon='upnp:genre' class='object.container.genre.musicGenre' createClass='object.item.audioItem.musicTrack'>
               <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' >
                  <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
                  <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
               </container>
               <container buildon='upnp:artist' class='object.container' createClass='object.item.audioItem.musicTrack'>
                  <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
                  <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
               </container>
            </container>
         </container>

         <container name='album' id='music/albums' createClass='object.item.audioItem.musicTrack' class='object.container' >
            <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
         </container>

         <container name='byfolder' id='music/folders' class='object.container.storageFolder' createClass='object.item.audioItem.musicTrack'>
            <container buildon='res' createClass='object.item.audioItem.musicTrack' class='object.container.storageFolder' />
         </container>

         <container name='playlists' id='music/playlists' class='object.container' createClass='object.item.audioItem.musicTrack,object.item.audioItem.online.musicTrack' sortcriteria='+upnp:originalTrackNumber,+dc:title'   restricted='0' flags='pv:playlistRoot=Music' >
            <container name='playlistrecentlyadded' filteron='pv:addedLast60' sortcriteria='-pv:addedTime' createClass='object.item.audioItem.musicTrack' maxitems='500' upnp:originalTrackNumber='3' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlistmostplayed' filteron='pv:playcount' sortcriteria='-pv:playcount' createClass='object.item.audioItem.musicTrack' maxitems='500' upnp:originalTrackNumber='1'  restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlistlastplayed' filteron='pv:lastPlayedTime' sortcriteria='-pv:lastPlayedTime' createClass='object.item.audioItem.musicTrack' maxitems='500' upnp:originalTrackNumber='2' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlisthighlyrated' filteron='pv:highrated' sortcriteria='-pv:rating' createClass='object.item.audioItem.musicTrack' maxitems='500' upnp:originalTrackNumber='4' class='object.container.playlistContainer' restricted='1'  flags='pv:smartplaylist=1' />
            <container buildon='upnp:playlist' sortcriteria='+upnp:originalTrackNumber' upnp:originalTrackNumber='5' createClass='object.item.audioItem.musicTrack,object.item.audioItem.online.musicTrack' class='object.container.playlistContainer' />
         </container>

         <container buildon='pv:onlineServiceTitle'  groupid='music/onlineservices' createClass='object.item.audioItem.online.musicTrack' class='object.container'>
            <container name='allstations' createClass='object.item.audioItem.online.musicTrack' class='object.container' />
            <container name='genrestation' class='object.container' createClass='object.item.audioItem.online.musicTrack'>
               <container buildon='upnp:genre' class='object.container.genre.musicGenre' createClass='object.item.audioItem.online.musicTrack' />
            </container>
            <container name='stationindex' class='object.container' createClass='object.item.audioItem.online.musicTrack'>
               <container buildon='dc:title[3]' class='object.container' createClass='object.item.audioItem.online.musicTrack'>
                  <container buildon='dc:title' class='object.container' createClass='object.item.audioItem.online.musicTrack'/>
               </container>
            </container>
         </container>

      </container>

      <container name='pictures' id='picture' upnp:originalTrackNumber='2' createClass='object.item.imageItem.photo,object.item.imageItem.online.photo' class='object.container'>

         <container name='allpictures' id='picture/all' createClass='object.item.imageItem.photo' class='object.container'/>

         <container name='byfolder' id='picture/folders' class='object.container.storageFolder' restricted='0' createClass='object.item.imageItem.photo'>
            <container buildon='res' createClass='object.item.imageItem.photo' class='object.container.storageFolder'/>
         </container>

         <container name='byyear' id='picture/year' createClass='object.item.imageItem.photo' class='object.container'>
            <container buildon='pv:year' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
         </container>

         <container name='bydate' id='picture/date' createClass='object.item.imageItem.photo' class='object.container'>
            <container name='allname' createClass='object.item.imageItem.photo' class='object.container'>
               <container name='allname' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
               <container buildon='pv:month' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
            </container>
            <container buildon='pv:year' createClass='object.item.imageItem.photo' class='object.container'>
               <container name='allname' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
               <container buildon='pv:month' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
            </container>
         </container>

         <container name='keywords' id='picture/keywords' createClass='object.item.imageItem.photo'  class='object.container' >
            <container buildon='pv:avKeywords' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
         </container>

         <container name='album' id='picture/albums' createClass='object.item.imageItem.photo'  class='object.container' >
            <container buildon='upnp:album' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
         </container>

         <container name='rating' id='picture/rating' createClass='object.item.imageItem.photo' class='object.container' >
            <container buildon='pv:rating' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
         </container>

         <container name='slideshows' id='picture/playlists' class='object.container' createClass='object.item.imageItem.photo,object.item.imageItem.online.photo' sortcriteria='+upnp:originalTrackNumber,+dc:title' restricted='0' flags='pv:playlistRoot=Picture' >
            <container name='playlistrecentlyadded' filteron='pv:addedLast60' sortcriteria='-pv:addedTime' createClass='object.item.imageItem.photo' maxitems='500' upnp:originalTrackNumber='3' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlistmostviewed' filteron='pv:playcount' sortcriteria='-pv:playcount' createClass='object.item.imageItem.photo' maxitems='500' upnp:originalTrackNumber='1' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlistlastviewed' filteron='pv:lastPlayedTime' sortcriteria='-pv:lastPlayedTime' createClass='object.item.imageItem.photo' maxitems='500' upnp:originalTrackNumber='2' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlisthighlyrated' filteron='pv:highrated' sortcriteria='-pv:rating' createClass='object.item.imageItem.photo' maxitems='500' upnp:originalTrackNumber='4' class='object.container.playlistContainer' restricted='1' flags='pv:smartplaylist=1' />
            <container buildon='upnp:playlist' sortcriteria='+upnp:originalTrackNumber' createClass='object.item.imageItem.photo,object.item.imageItem.online.photo' upnp:originalTrackNumber='5' class='object.container.playlistContainer' />
         </container>

         <container buildon='pv:onlineServiceName'  groupid='picture/onlineservices' createClass='object.item.imageItem.online.photo' class='object.container'>
            <container name='allname' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
            <container buildon='pv:onlineServiceTitle' createClass='object.item.imageItem.online.photo' class='object.container'>
               <container name='allname' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
               <container name='keywords' createClass='object.item.imageItem.online.photo'  class='object.container' >
                  <container buildon='pv:avKeywords' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
               </container>
               <container name='album' createClass='object.item.imageItem.online.photo'  class='object.container' >
                  <container buildon='upnp:album' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
               </container>
               <container name='date' createClass='object.item.imageItem.online.photo' class='object.container'>
                  <container buildon='pv:year' createClass='object.item.imageItem.online.photo' class='object.container'>
                     <container name='allname' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
                     <container buildon='pv:month' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum'/>
                  </container>
               </container>
               <container name='author' createClass='object.item.imageItem.online.photo' class='object.container' >
                  <container buildon='upnp:author' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
               </container>
            </container>
         </container>

      </container>

      <container name='videos' id='video' upnp:originalTrackNumber='3' sortcriteria='+upnp:originalTrackNumber' createClass='object.item.videoItem.movie,object.item.videoItem.classified.movie,object.item.videoItem.online.movie' class='object.container'>

         <container name='allvideos' id='video/all' createClass='object.item.videoItem.movie' class='object.container'/>

         <container name='byfolder' id='video/folders' class='object.container.storageFolder' restricted='0' createClass='object.item.videoItem.movie'>
            <container buildon='res' createClass='object.item.videoItem.movie' class='object.container.storageFolder'/>
         </container>

         <container name='By Genre' id='video/genre' createClass='object.item.videoItem.movie' class='object.container'>
            <container buildon='upnp:genre' createClass='object.item.videoItem.movie' class='object.container' />
         </container>

         <container name='title' id='video/titleindex' class='object.container' createClass='object.item.videoItem.movie'>
            <container buildon='dc:title[3]' class='object.container' createClass='object.item.videoItem.movie'>
               <container buildon='dc:title' class='object.container' createClass='object.item.videoItem.movie'/>
            </container>
         </container>

         <container name='byyear' id='video/year' createClass='object.item.videoItem.movie' class='object.container'>
            <container buildon='pv:year' createClass='object.item.videoItem.movie' class='object.container' />
         </container>

         <container name='bydate' id='video/date' createClass='object.item.videoItem.movie' class='object.container'>
            <container buildon='pv:year' createClass='object.item.videoItem.movie' class='object.container'>
               <container buildon='pv:month' createClass='object.item.videoItem.movie' class='object.container'/>
            </container>
         </container>

         <container name='album' id='video/albums' createClass='object.item.videoItem.movie' class='object.container' >
            <container buildon='upnp:album' createClass='object.item.videoItem.movie' class='object.container' />
         </container>

         <container name='rating' id='video/rating' createClass='object.item.videoItem.movie' class='object.container' >
            <container buildon='pv:rating' createClass='object.item.videoItem.movie' class='object.container' />
         </container>

         <container name='playlists' id='video/playlists' class='object.container' createClass='object.item.videoItem.movie,object.item.videoItem.online.movie' sortcriteria='+upnp:originalTrackNumber,+dc:title' restricted='0' flags='pv:playlistRoot=Video' >
            <container name='playlistrecentlyadded' filteron='pv:addedLast60' sortcriteria='-pv:addedTime' createClass='object.item.videoItem.movie' maxitems='500' upnp:originalTrackNumber='3' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlistmostviewed' filteron='pv:playcount' sortcriteria='-pv:playcount' createClass='object.item.videoItem.movie' maxitems='500' upnp:originalTrackNumber='1' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1'  />
            <container name='playlistlastviewed' filteron='pv:lastPlayedTime' sortcriteria='-pv:lastPlayedTime' createClass='object.item.videoItem.movie' maxitems='500' upnp:originalTrackNumber='2' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlisthighlyrated' filteron='pv:highrated' sortcriteria='-pv:rating' createClass='object.item.videoItem.movie' maxitems='500' upnp:originalTrackNumber='4' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container buildon='upnp:playlist' sortcriteria='+upnp:originalTrackNumber' createClass='object.item.videoItem.movie,object.item.videoItem.online.movie' upnp:originalTrackNumber='5' class='object.container.playlistContainer'  />
         </container>

                   <container name='classifiedvideos' id='video/classified' class='object.container'  createClass='object.item.videoItem.classified.movie'/>
     
         <container buildon='pv:onlineServiceName' groupid='video/onlineservices' createClass='object.item.videoItem.online.movie' class='object.container'>
            <container buildon='pv:onlineServiceTitle' createClass='object.item.videoItem.online.movie' class='object.container'/>
         </container>

      </container>

   </navtree>
</view>


Custom Navtree Scenario 14.zip
(2.59 KiB) Downloaded 110 times
Last edited by phibertron on Tue Mar 01, 2011 11:13 pm, edited 6 times in total.
viewtopic.php?f=2&t=10627
viewtopic.php?f=2&t=9353
viewtopic.php?f=2&t=9408
viewtopic.php?f=2&t=9416
viewtopic.php?f=2&t=9424
viewtopic.php?f=2&t=9364
viewtopic.php?f=2&t=9497

User avatar
phibertron
Posts: 1566
Joined: Sun Jan 30, 2011 5:52 pm
AV Hardware: Hardware
========
WHS - HP Ex495
PS3
XBOX 360
iTouch - Gen 2 and Gen 3
PSP - 3000

Encoders
========
Handbrake
x264
ffmpeg
mencoder

Tagging
======
mp3tag

Scenario 15

Postby phibertron » Wed Feb 23, 2011 8:08 pm

This one is the one that I currently use, on an HP MediaSmart Server wunning Windows Home Server

What is different about this one is that in the video section
I have each group with sub sections like one would expect
what is different is that I do it twice
one to add the actuall file names
and then again to add the sub containers
if it isnt done like this than only the last container would show filnames

In the By Title section, it allows me to drill down by letter
So say I pick "A" I would get all the video starting with "A",
and I could then drill down again to view all videos either by genre or year, that start with "A"

<container name='By Title' upnp:originalTrackNumber='4' class='object.container' createClass='object.item.videoItem.movie' >
<container buildon='dc:title[1]' class='object.container' createClass='object.item.videoItem.movie' />
<container buildon='dc:title[1]' class='object.container' createClass='object.item.videoItem.movie' >
<container name='- By Genre -' createClass='object.item.videoItem.movie' class='object.container' >
<container buildon='upnp:genre' createClass='object.item.videoItem.movie' class='object.container' />
</container>
<container name='- By Year -' createClass='object.item.videoItem.movie' class='object.container'>
<container buildon='pv:year' createClass='object.item.videoItem.movie' class='object.container' />
</container>
</container>
</container>


it is an interesting tactic that I have played around with, and it works very well

advanced.view.xml

Code: Select all

<view name='advanceddefault' path='advanced.view'>
   <navtree>

      <container id='music' />

      <container id='picture' />

      <container id='video' />

   </navtree>
</view>


view-definitions.xml

Code: Select all

<view name='base' viewlist='advanced' guilist='advanceddefault'>

   <navtree sortcriteria='+upnp:originalTrackNumber'>

         <container name='alltracks' id='music/all' createClass='object.item.audioItem.musicTrack' class='object.container'/>

         <container name='artist' id='music/artists' class='object.container.person.musicArtist' createClass='object.item.audioItem.musicTrack'>
            <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
            <container buildon='upnp:artist' class='object.container.person.musicArtist' createClass='object.item.audioItem.musicTrack'/>
         </container>

         <container name='artistindex' id='music/artistindex' class='object.container' createClass='object.item.audioItem.musicTrack'>
            <container buildon='upnp:artist[3]' class='object.container' createClass='object.item.audioItem.musicTrack'>
               <container buildon='upnp:artist' class='object.container.person.musicArtist' createClass='object.item.audioItem.musicTrack'>
                  <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
                  <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
               </container>
            </container>
         </container>

         <container name='composer' id='music/composers' createClass='object.item.audioItem.musicTrack' class='object.container' >
            <container buildon='upnp:author@role' createClass='object.item.audioItem.musicTrack' class='object.container.person.musicArtist' />
         </container>

         <container name='rating' id='music/rating' createClass='object.item.audioItem.musicTrack' class='object.container' >
            <container buildon='pv:rating' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
         </container>

         <container name='artistalbum' id='music/artistalbum' class='object.container.person.musicArtist' createClass='object.item.audioItem.musicTrack'>
            <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' >
               <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
            </container>
            <container buildon='upnp:artist' class='object.container.person.musicArtist' createClass='object.item.audioItem.musicTrack'>
               <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
               <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
            </container>
         </container>

         <container name='genre' id='music/genre' class='object.container' createClass='object.item.audioItem.musicTrack'>
            <container buildon='upnp:genre' class='object.container.genre.musicGenre' createClass='object.item.audioItem.musicTrack' />
         </container>

         <container name='genrealbum' id='music/genrealbum' class='object.container' createClass='object.item.audioItem.musicTrack'>
            <container buildon='upnp:genre' class='object.container.genre.musicGenre' createClass='object.item.audioItem.musicTrack' >
               <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
            </container>
         </container>

         <container name='genreartist' id='music/genreartistalbum' class='object.container' createClass='object.item.audioItem.musicTrack'>
            <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' >
               <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' >
                  <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
                  <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
               </container>
               <container buildon='upnp:artist' class='object.container' createClass='object.item.audioItem.musicTrack'>
                  <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
                  <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
               </container>
            </container>
            <container buildon='upnp:genre' class='object.container.genre.musicGenre' createClass='object.item.audioItem.musicTrack'>
               <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' >
                  <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
                  <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
               </container>
               <container buildon='upnp:artist' class='object.container' createClass='object.item.audioItem.musicTrack'>
                  <container name='allname' createClass='object.item.audioItem.musicTrack' class='object.container' />
                  <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
               </container>
            </container>
         </container>

         <container name='album' id='music/albums' createClass='object.item.audioItem.musicTrack' class='object.container' >
            <container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
         </container>

         <container name='byfolder' id='music/folders' class='object.container.storageFolder' createClass='object.item.audioItem.musicTrack'>
            <container buildon='res' createClass='object.item.audioItem.musicTrack' class='object.container.storageFolder' />
         </container>

         <container name='playlists' id='music/playlists' class='object.container' createClass='object.item.audioItem.musicTrack,object.item.audioItem.online.musicTrack' sortcriteria='+upnp:originalTrackNumber,+dc:title'   restricted='0' flags='pv:playlistRoot=Music' >
            <container name='playlistrecentlyadded' filteron='pv:addedLast60' sortcriteria='-pv:addedTime' createClass='object.item.audioItem.musicTrack' maxitems='500' upnp:originalTrackNumber='3' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlistmostplayed' filteron='pv:playcount' sortcriteria='-pv:playcount' createClass='object.item.audioItem.musicTrack' maxitems='500' upnp:originalTrackNumber='1'  restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlistlastplayed' filteron='pv:lastPlayedTime' sortcriteria='-pv:lastPlayedTime' createClass='object.item.audioItem.musicTrack' maxitems='500' upnp:originalTrackNumber='2' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlisthighlyrated' filteron='pv:highrated' sortcriteria='-pv:rating' createClass='object.item.audioItem.musicTrack' maxitems='500' upnp:originalTrackNumber='4' class='object.container.playlistContainer' restricted='1'  flags='pv:smartplaylist=1' />
            <container buildon='upnp:playlist' sortcriteria='+upnp:originalTrackNumber' upnp:originalTrackNumber='5' createClass='object.item.audioItem.musicTrack,object.item.audioItem.online.musicTrack' class='object.container.playlistContainer' />
         </container>

         <container buildon='pv:onlineServiceTitle'  groupid='music/onlineservices' createClass='object.item.audioItem.online.musicTrack' class='object.container'>
            <container name='allstations' createClass='object.item.audioItem.online.musicTrack' class='object.container' />
            <container name='genrestation' class='object.container' createClass='object.item.audioItem.online.musicTrack'>
               <container buildon='upnp:genre' class='object.container.genre.musicGenre' createClass='object.item.audioItem.online.musicTrack' />
            </container>
            <container name='stationindex' class='object.container' createClass='object.item.audioItem.online.musicTrack'>
               <container buildon='dc:title[3]' class='object.container' createClass='object.item.audioItem.online.musicTrack'>
                  <container buildon='dc:title' class='object.container' createClass='object.item.audioItem.online.musicTrack'/>
               </container>
            </container>
         </container>

         <container name='allpictures' id='picture/all' createClass='object.item.imageItem.photo' class='object.container'/>

         <container name='byfolder' id='picture/folders' class='object.container.storageFolder' restricted='0' createClass='object.item.imageItem.photo'>
            <container buildon='res' createClass='object.item.imageItem.photo' class='object.container.storageFolder'/>
         </container>

         <container name='byyear' id='picture/year' createClass='object.item.imageItem.photo' class='object.container'>
            <container buildon='pv:year' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
         </container>

         <container name='bydate' id='picture/date' createClass='object.item.imageItem.photo' class='object.container'>
            <container name='allname' createClass='object.item.imageItem.photo' class='object.container'>
               <container name='allname' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
               <container buildon='pv:month' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
            </container>
            <container buildon='pv:year' createClass='object.item.imageItem.photo' class='object.container'>
               <container name='allname' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
               <container buildon='pv:month' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
            </container>
         </container>

         <container name='keywords' id='picture/keywords' createClass='object.item.imageItem.photo'  class='object.container' >
            <container buildon='pv:avKeywords' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
         </container>

         <container name='album' id='picture/albums' createClass='object.item.imageItem.photo'  class='object.container' >
            <container buildon='upnp:album' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
         </container>

         <container name='rating' id='picture/rating' createClass='object.item.imageItem.photo' class='object.container' >
            <container buildon='pv:rating' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
         </container>

         <container name='slideshows' id='picture/playlists' class='object.container' createClass='object.item.imageItem.photo,object.item.imageItem.online.photo' sortcriteria='+upnp:originalTrackNumber,+dc:title' restricted='0' flags='pv:playlistRoot=Picture' >
            <container name='playlistrecentlyadded' filteron='pv:addedLast60' sortcriteria='-pv:addedTime' createClass='object.item.imageItem.photo' maxitems='500' upnp:originalTrackNumber='3' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlistmostviewed' filteron='pv:playcount' sortcriteria='-pv:playcount' createClass='object.item.imageItem.photo' maxitems='500' upnp:originalTrackNumber='1' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlistlastviewed' filteron='pv:lastPlayedTime' sortcriteria='-pv:lastPlayedTime' createClass='object.item.imageItem.photo' maxitems='500' upnp:originalTrackNumber='2' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlisthighlyrated' filteron='pv:highrated' sortcriteria='-pv:rating' createClass='object.item.imageItem.photo' maxitems='500' upnp:originalTrackNumber='4' class='object.container.playlistContainer' restricted='1' flags='pv:smartplaylist=1' />
            <container buildon='upnp:playlist' sortcriteria='+upnp:originalTrackNumber' createClass='object.item.imageItem.photo,object.item.imageItem.online.photo' upnp:originalTrackNumber='5' class='object.container.playlistContainer' />
         </container>

         <container buildon='pv:onlineServiceName'  groupid='picture/onlineservices' createClass='object.item.imageItem.online.photo' class='object.container'>
            <container name='allname' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
            <container buildon='pv:onlineServiceTitle' createClass='object.item.imageItem.online.photo' class='object.container'>
               <container name='allname' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
               <container name='keywords' createClass='object.item.imageItem.online.photo'  class='object.container' >
                  <container buildon='pv:avKeywords' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
               </container>
               <container name='album' createClass='object.item.imageItem.online.photo'  class='object.container' >
                  <container buildon='upnp:album' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
               </container>
               <container name='date' createClass='object.item.imageItem.online.photo' class='object.container'>
                  <container buildon='pv:year' createClass='object.item.imageItem.online.photo' class='object.container'>
                     <container name='allname' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
                     <container buildon='pv:month' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum'/>
                  </container>
               </container>
               <container name='author' createClass='object.item.imageItem.online.photo' class='object.container' >
                  <container buildon='upnp:author' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
               </container>
            </container>
         </container>

         <container name='allvideos' id='video/all' createClass='object.item.videoItem.movie' class='object.container'/>

         <container name='byfolder' id='video/folders' class='object.container.storageFolder' restricted='0' createClass='object.item.videoItem.movie'>
            <container buildon='res' createClass='object.item.videoItem.movie' class='object.container.storageFolder'/>
         </container>

         <container name='title' id='video/titleindex' class='object.container' createClass='object.item.videoItem.movie'>
            <container buildon='dc:title[3]' class='object.container' createClass='object.item.videoItem.movie'>
               <container buildon='dc:title' class='object.container' createClass='object.item.videoItem.movie'/>
            </container>
         </container>

         <container name='byyear' id='video/year' createClass='object.item.videoItem.movie' class='object.container'>
            <container buildon='pv:year' createClass='object.item.videoItem.movie' class='object.container' />
         </container>

         <container name='bydate' id='video/date' createClass='object.item.videoItem.movie' class='object.container'>
            <container buildon='pv:year' createClass='object.item.videoItem.movie' class='object.container'>
               <container buildon='pv:month' createClass='object.item.videoItem.movie' class='object.container'/>
            </container>
         </container>

         <container name='album' id='video/albums' createClass='object.item.videoItem.movie' class='object.container' >
            <container buildon='upnp:album' createClass='object.item.videoItem.movie' class='object.container' />
         </container>

         <container name='rating' id='video/rating' createClass='object.item.videoItem.movie' class='object.container' >
            <container buildon='pv:rating' createClass='object.item.videoItem.movie' class='object.container' />
         </container>

         <container name='playlists' id='video/playlists' class='object.container' createClass='object.item.videoItem.movie,object.item.videoItem.online.movie' sortcriteria='+upnp:originalTrackNumber,+dc:title' restricted='0' flags='pv:playlistRoot=Video' >
            <container name='playlistrecentlyadded' filteron='pv:addedLast60' sortcriteria='-pv:addedTime' createClass='object.item.videoItem.movie' maxitems='500' upnp:originalTrackNumber='3' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlistmostviewed' filteron='pv:playcount' sortcriteria='-pv:playcount' createClass='object.item.videoItem.movie' maxitems='500' upnp:originalTrackNumber='1' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1'  />
            <container name='playlistlastviewed' filteron='pv:lastPlayedTime' sortcriteria='-pv:lastPlayedTime' createClass='object.item.videoItem.movie' maxitems='500' upnp:originalTrackNumber='2' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlisthighlyrated' filteron='pv:highrated' sortcriteria='-pv:rating' createClass='object.item.videoItem.movie' maxitems='500' upnp:originalTrackNumber='4' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container buildon='upnp:playlist' sortcriteria='+upnp:originalTrackNumber' createClass='object.item.videoItem.movie,object.item.videoItem.online.movie' upnp:originalTrackNumber='5' class='object.container.playlistContainer'  />
         </container>

                   <container name='classifiedvideos' id='video/classified' class='object.container'  createClass='object.item.videoItem.classified.movie'/>
     
         <container buildon='pv:onlineServiceName' groupid='video/onlineservices' createClass='object.item.videoItem.online.movie' class='object.container'>
            <container buildon='pv:onlineServiceTitle' createClass='object.item.videoItem.online.movie' class='object.container'/>
         </container>

      <container name='music' id='music' upnp:originalTrackNumber='3' createClass='object.item.audioItem.musicTrack,object.item.audioItem.online.musicTrack'>

         <container buildon='res' createClass='object.item.audioItem.musicTrack' class='object.container.storageFolder' />

      </container>

      <container name='pictures' id='picture' upnp:originalTrackNumber='2' createClass='object.item.imageItem.photo,object.item.imageItem.online.photo' class='object.container'>

         <container buildon='res' createClass='object.item.imageItem.photo' class='object.container.storageFolder'/>

      </container>

      <container name='videos' id='video' upnp:originalTrackNumber='1' sortcriteria='+upnp:originalTrackNumber' createClass='object.item.videoItem.movie,object.item.videoItem.classified.movie,object.item.videoItem.online.movie' class='object.container'>

         <container buildon='upnp:playlist' upnp:originalTrackNumber='1' createClass='object.item.videoItem.movie,object.item.videoItem.online.movie' class='object.container.playlistContainer' />

         <container name='By Genre' upnp:originalTrackNumber='2' createClass='object.item.videoItem.movie' class='object.container' >
            <container buildon='upnp:genre' createClass='object.item.videoItem.movie' class='object.container' />
            <container buildon='upnp:genre' createClass='object.item.videoItem.movie' class='object.container' >
               <container name='- By Year -' createClass='object.item.videoItem.movie' class='object.container' >
                  <container buildon='pv:year' createClass='object.item.videoItem.movie' class='object.container' />
               </container>
            </container>
         </container>

         <container name='By Folder' upnp:originalTrackNumber='3' class='object.container.storageFolder' restricted='0' createClass='object.item.videoItem.movie' >
            <container buildon='res' createClass='object.item.videoItem.movie' class='object.container.storageFolder' >
               <container name='- By Year -' createClass='object.item.videoItem.movie' class='object.container' >
                  <container buildon='pv:year' createClass='object.item.videoItem.movie' class='object.container' />
               </container>
            </container>
         </container>

         <container name='By Title' upnp:originalTrackNumber='4' class='object.container' createClass='object.item.videoItem.movie' >
            <container buildon='dc:title[1]' class='object.container' createClass='object.item.videoItem.movie' />
            <container buildon='dc:title[1]' class='object.container' createClass='object.item.videoItem.movie' >
               <container name='- By Genre -' createClass='object.item.videoItem.movie' class='object.container' >
                  <container buildon='upnp:genre' createClass='object.item.videoItem.movie' class='object.container' />
               </container>
               <container name='- By Year -' createClass='object.item.videoItem.movie' class='object.container'>
                  <container buildon='pv:year' createClass='object.item.videoItem.movie' class='object.container' />
               </container>
            </container>
         </container>

         <container name='By Year' upnp:originalTrackNumber='5' createClass='object.item.videoItem.movie' class='object.container'>
            <container buildon='pv:year' createClass='object.item.videoItem.movie' class='object.container' />
            <container buildon='pv:year' createClass='object.item.videoItem.movie' class='object.container' >
               <container name='- By Genre -' createClass='object.item.videoItem.movie' class='object.container' >
                  <container buildon='upnp:genre' createClass='object.item.videoItem.movie' class='object.container' />
               </container>
            </container>
         </container>

         <container name='playlists' upnp:originalTrackNumber='6' class='object.container' createClass='object.item.videoItem.movie,object.item.videoItem.online.movie' sortcriteria='+upnp:originalTrackNumber,+dc:title' restricted='0' flags='pv:playlistRoot=Video' >
            <container name='playlistrecentlyadded' filteron='pv:addedLast60' sortcriteria='-pv:addedTime' createClass='object.item.videoItem.movie' maxitems='500' upnp:originalTrackNumber='4' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlistmostviewed' filteron='pv:playcount' sortcriteria='-pv:playcount' createClass='object.item.videoItem.movie' maxitems='500' upnp:originalTrackNumber='2' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1'  />
            <container name='playlistlastviewed' filteron='pv:lastPlayedTime' sortcriteria='-pv:lastPlayedTime' createClass='object.item.videoItem.movie' maxitems='500' upnp:originalTrackNumber='3' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container name='playlisthighlyrated' filteron='pv:highrated' sortcriteria='-pv:rating' createClass='object.item.videoItem.movie' maxitems='500' upnp:originalTrackNumber='5' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
            <container buildon='upnp:playlist' sortcriteria='+upnp:originalTrackNumber' createClass='object.item.videoItem.movie,object.item.videoItem.online.movie' upnp:originalTrackNumber='1' class='object.container.playlistContainer' />
         </container>

      </container>

   </navtree>
</view>


Custom Navtree Scenario 15.zip
(2.33 KiB) Downloaded 128 times
Last edited by phibertron on Tue Mar 01, 2011 11:14 pm, edited 7 times in total.
viewtopic.php?f=2&t=10627
viewtopic.php?f=2&t=9353
viewtopic.php?f=2&t=9408
viewtopic.php?f=2&t=9416
viewtopic.php?f=2&t=9424
viewtopic.php?f=2&t=9364
viewtopic.php?f=2&t=9497

User avatar
phibertron
Posts: 1566
Joined: Sun Jan 30, 2011 5:52 pm
AV Hardware: Hardware
========
WHS - HP Ex495
PS3
XBOX 360
iTouch - Gen 2 and Gen 3
PSP - 3000

Encoders
========
Handbrake
x264
ffmpeg
mencoder

Tagging
======
mp3tag

Notes: What I learned about filteron and buildon

Postby phibertron » Wed Feb 23, 2011 8:13 pm

UPDATE: This is not working as I had hoped, as buildon logic isnt right when building its tree

If you wanted to show recently added files and know where they were
You could do something like shown in the following examples
They will create lists based on items recently added by Album, Folder, Genre and Year

This section is for Music

Code: Select all

<container name='playlists' id='music/playlists' class='object.container' createClass='object.item.audioItem.musicTrack,object.item.audioItem.online.musicTrack' sortcriteria='+upnp:originalTrackNumber,+dc:title'   restricted='0' flags='pv:playlistRoot=Music' >

   <container name='playlistrecentlyadded' filteron='pv:addedLast60' sortcriteria='-pv:addedTime' createClass='object.item.audioItem.musicTrack' maxitems='500' upnp:originalTrackNumber='3' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
   <container name='playlistmostplayed' filteron='pv:playcount' sortcriteria='-pv:playcount' createClass='object.item.audioItem.musicTrack' maxitems='500' upnp:originalTrackNumber='1'  restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
   <container name='playlistlastplayed' filteron='pv:lastPlayedTime' sortcriteria='-pv:lastPlayedTime' createClass='object.item.audioItem.musicTrack' maxitems='500' upnp:originalTrackNumber='2' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
   <container name='playlisthighlyrated' filteron='pv:highrated' sortcriteria='-pv:rating' createClass='object.item.audioItem.musicTrack' maxitems='500' upnp:originalTrackNumber='4' class='object.container.playlistContainer' restricted='1'  flags='pv:smartplaylist=1' />
   <container buildon='upnp:playlist' sortcriteria='+upnp:originalTrackNumber' upnp:originalTrackNumber='5' createClass='object.item.audioItem.musicTrack,object.item.audioItem.online.musicTrack' class='object.container.playlistContainer' />

   <container name='Recently Added By Album' filteron='pv:addedLast60' sortcriteria='-pv:addedTime' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' >
      <container buildon='upnp:album' albumart='1' filteron='pv:addedLast60' sortcriteria='-pv:addedTime' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
   </container>

   <container name='Recently Added By Folder' filteron='pv:addedLast60' sortcriteria='-pv:addedTime' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' >
      <container buildon='res' albumart='1' filteron='pv:addedLast60' sortcriteria='-pv:addedTime' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
   </container>

   <container name='Recently Added By Genre' filteron='pv:addedLast60' sortcriteria='-pv:addedTime' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' >
      <container buildon='upnp:album' albumart='1' filteron='pv:addedLast60' sortcriteria='-pv:addedTime' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
   </container>

   <container name='Recently Added By Year' filteron='pv:addedLast60' sortcriteria='-pv:addedTime' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' >
      <container buildon='pv:year' albumart='1' filteron='pv:addedLast60' sortcriteria='-pv:addedTime' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
   </container>

</container>


This section if fo Photo

Code: Select all

<container name='slideshows' id='picture/playlists' class='object.container' createClass='object.item.imageItem.photo,object.item.imageItem.online.photo' sortcriteria='+upnp:originalTrackNumber,+dc:title' restricted='0' flags='pv:playlistRoot=Picture' >

   <container name='playlistrecentlyadded' filteron='pv:addedLast60' sortcriteria='-pv:addedTime' createClass='object.item.imageItem.photo' maxitems='500' upnp:originalTrackNumber='3' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
   <container name='playlistmostviewed' filteron='pv:playcount' sortcriteria='-pv:playcount' createClass='object.item.imageItem.photo' maxitems='500' upnp:originalTrackNumber='1' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
   <container name='playlistlastviewed' filteron='pv:lastPlayedTime' sortcriteria='-pv:lastPlayedTime' createClass='object.item.imageItem.photo' maxitems='500' upnp:originalTrackNumber='2' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
   <container name='playlisthighlyrated' filteron='pv:highrated' sortcriteria='-pv:rating' createClass='object.item.imageItem.photo' maxitems='500' upnp:originalTrackNumber='4' class='object.container.playlistContainer' restricted='1' flags='pv:smartplaylist=1' />
   <container buildon='upnp:playlist' sortcriteria='+upnp:originalTrackNumber' createClass='object.item.imageItem.photo,object.item.imageItem.online.photo' upnp:originalTrackNumber='5' class='object.container.playlistContainer' />

   <container name='Recently Added By Album' filteron='pv:addedLast60' sortcriteria='-pv:addedTime' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' >
      <container buildon='upnp:album' filteron='pv:addedLast60' sortcriteria='-pv:addedTime' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
   </container>

   <container name='Recently Added By Folder' filteron='pv:addedLast60' sortcriteria='-pv:addedTime' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' >
      <container buildon='res' filteron='pv:addedLast60' sortcriteria='-pv:addedTime' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
   </container>

   <container name='Recently Added By Genre' filteron='pv:addedLast60' sortcriteria='-pv:addedTime' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' >
      <container buildon='upnp:album' filteron='pv:addedLast60' sortcriteria='-pv:addedTime' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
   </container>

   <container name='Recently Added By Year' filteron='pv:addedLast60' sortcriteria='-pv:addedTime' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' >
      <container buildon='pv:year' filteron='pv:addedLast60' sortcriteria='-pv:addedTime' createClass='object.item.imageItem.photo' class='object.container.album.photoAlbum' />
   </container>

</container>


This section is for Video

Code: Select all

<container name='playlists' id='video/playlists' class='object.container' createClass='object.item.videoItem.movie,object.item.videoItem.online.movie' sortcriteria='+upnp:originalTrackNumber,+dc:title' restricted='0' flags='pv:playlistRoot=Video' >

   <container name='playlistrecentlyadded' filteron='pv:addedLast60' sortcriteria='-pv:addedTime' createClass='object.item.videoItem.movie' maxitems='500' upnp:originalTrackNumber='3' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
   <container name='playlistmostviewed' filteron='pv:playcount' sortcriteria='-pv:playcount' createClass='object.item.videoItem.movie' maxitems='500' upnp:originalTrackNumber='1' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1'  />
   <container name='playlistlastviewed' filteron='pv:lastPlayedTime' sortcriteria='-pv:lastPlayedTime' createClass='object.item.videoItem.movie' maxitems='500' upnp:originalTrackNumber='2' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
   <container name='playlisthighlyrated' filteron='pv:highrated' sortcriteria='-pv:rating' createClass='object.item.videoItem.movie' maxitems='500' upnp:originalTrackNumber='4' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
   <container buildon='upnp:playlist' sortcriteria='+upnp:originalTrackNumber' createClass='object.item.videoItem.movie,object.item.videoItem.online.movie' upnp:originalTrackNumber='5' class='object.container.playlistContainer'  />

   <container name='Recently Added By Album' filteron='pv:addedLast60' sortcriteria='-pv:addedTime' createClass='object.item.videoItem.movie' class='object.container' >
      <container buildon='upnp:album' filteron='pv:addedLast60' sortcriteria='-pv:addedTime' createClass='object.item.videoItem.movie' class='object.container' />
   </container>

   <container name='Recently Added By Folder' filteron='pv:addedLast60' sortcriteria='-pv:addedTime' createClass='object.item.videoItem.movie' class='object.container' >
      <container buildon='res' filteron='pv:addedLast60' sortcriteria='-pv:addedTime' createClass='object.item.videoItem.movie' class='object.container' />
   </container>

   <container name='Recently Added By Genre' filteron='pv:addedLast60' sortcriteria='-pv:addedTime' createClass='object.item.videoItem.movie' class='object.container' >
      <container buildon='upnp:album' filteron='pv:addedLast60' sortcriteria='-pv:addedTime' createClass='object.item.videoItem.movie' class='object.container' />
   </container>

   <container name='Recently Added By Year' filteron='pv:addedLast60' sortcriteria='-pv:addedTime' createClass='object.item.videoItem.movie' class='object.container' >
      <container buildon='pv:year' filteron='pv:addedLast60' sortcriteria='-pv:addedTime' createClass='object.item.videoItem.movie' class='object.container' />
   </container>

</container>
Last edited by phibertron on Thu Mar 17, 2011 3:06 pm, edited 8 times in total.
viewtopic.php?f=2&t=10627
viewtopic.php?f=2&t=9353
viewtopic.php?f=2&t=9408
viewtopic.php?f=2&t=9416
viewtopic.php?f=2&t=9424
viewtopic.php?f=2&t=9364
viewtopic.php?f=2&t=9497

User avatar
phibertron
Posts: 1566
Joined: Sun Jan 30, 2011 5:52 pm
AV Hardware: Hardware
========
WHS - HP Ex495
PS3
XBOX 360
iTouch - Gen 2 and Gen 3
PSP - 3000

Encoders
========
Handbrake
x264
ffmpeg
mencoder

Tagging
======
mp3tag

Notes: What I learned about using buildon='res'

Postby phibertron » Wed Feb 23, 2011 8:17 pm

In my efforts along the way to get folders at the root of tha navtree
I'd like to share with you the things that led me to getting something working to display folders at the root of the navtree

So say if we had the following directory folder/file structure, with D:\Videos as the root share for Video

D:\Vidoes\Filename1
D:\Vidoes\FolderA\Filename2
D:\Vidoes\FolderB\Filename3
D:\Vidoes\FolderB\SubFolder\Filename4
D:\Vidoes\FolderC\Filename5

(note: the following are just examples of cause and effect, syntax is not exact)

Code: Select all


In this example, the buildon is in a named container 'ByFolder'
which is in a named container 'vidoes'

<view>
<navtree>

<container name='videos' >
<container name='Byfolder' createClass='object.item.videoItem.movie' class='object.container' >
<container buildon='res' createClass='object.item.videoItem.movie' class='object.container'/>
</container>
</container>

</view>
</navtree>

The output of the above is returned like this
which is correct

Vidoes -> ByFolder -> FolderA
                      FolderB
                      FolderC
                      Filename1




Code: Select all


In this example, the buildon is in a named container 'ByFolder'

<view>
<navtree>
   
<container name='Byfolder' createClass='object.item.videoItem.movie' class='object.container' >
<container buildon='res' createClass='object.item.videoItem.movie' class='object.container'/>
</container>

</view>
</navtree>

The output of the above is returned like this
which is correct

ByFolder -> FolderA
            FolderB
            FolderC
            Filename1




Code: Select all


In this example, the buildon is in an unamed container
the name of the container or containers to be created
would be based on the buildon='res'
wich is also true for the previous examples
but this time it is not nested in any named container

<view>
<navtree>

<container buildon='res' createClass='object.item.videoItem.movie' class='object.container'/>

</view>
</navtree>

The output of the above is returned like this
which is incorrect

FolberB -> SubFolder -> Filename4
           Filename3

It did not return the Filename1 from the root of the share
It did not return any folders that did not have a subfolder




Code: Select all


<view>
<navtree>

In this example, the buildon is in an unamed container
But to try and force an additional nested list
I added a second buildon container to buildon from the first

<container buildon='res createClass='object.item.videoItem.movie' class='object.container' >
<container buildon='res' createClass='object.item.videoItem.movie' class='object.container'/>
</container>

</view>
</navtree>

The output of the above is returned like this
which is almost correct, it does not return any files at the root of the share
It also due to the double buildon is adding a nested loop of the parent
into the child with the name of the parent

FolderA -> FolderA   -> Filename2
           Filename2

FolderB -> FolderB   -> Filename3
           SubFolder
           Filename3

           FolderB
        -> SubFolder -> SubFolder -> Filename4
           Filename3    Filename4

FolderC -> FolderC   -> Filename5
           Filename5




Code: Select all


In this example, which is just like the above
I added a name to the secoind buildon to try and hide the nested parent child problem

<view>
<navtree>

<container buildon='res createClass='object.item.videoItem.movie' class='object.container' >
<container name='' buildon='res' createClass='object.item.videoItem.movie' class='object.container'/>
</container>

</view>
</navtree>

The output of the above is returned like this
It does mask the parent child nesting, with a blank named container
but it does not stop it from being populated
and we still dont have files from the root of the share

FolderA -> <blank>   -> Filename2
           Filename2

FolderB -> <blank>   -> Filename3
           SubFolder
           Filename3

FolderB    <blank>
        -> SubFolder -> <blank>   -> Filename4
           Filename3    Filename4

FolderC -> <blank>   -> Filename5
           Filename5




Code: Select all


In this example, like the previous two
I made one more change that should not have worked the way it did, but...
I removed the last ' from the second build where class='object.container

<view>
<navtree>

<container buildon='res createClass='object.item.videoItem.movie' class='object.container'>
<container name='' buildon='res' createClass='object.item.videoItem.movie' class='object.container />
</container>

</view>
</navtree>

The output of the above is returned like this
It also masked the parent child container name with the name base
of which I can not rename in anyway
but the good news is that it is an empty container
and there will only ever be one per child
but alas, we still do not show files from the root of the share

FolderA -> base
           Filename2

FolderB -> base
           SubFolder
           Filename3

FolderB    base
        -> SubFolder -> base
           Filename3    Filename4

FolderC -> base
           Filename5



So there you have it, that is what I have learned

If you want to have folders at the root of the navtree, you will not be able to see files at the root of the share, all else appears

Hopefully in the future we can get Twony to make code changes to the buildon='res' command to return items in unamed containers
without having to do what I did to get it to sort of work
Last edited by phibertron on Wed Mar 02, 2011 3:11 am, edited 2 times in total.
viewtopic.php?f=2&t=10627
viewtopic.php?f=2&t=9353
viewtopic.php?f=2&t=9408
viewtopic.php?f=2&t=9416
viewtopic.php?f=2&t=9424
viewtopic.php?f=2&t=9364
viewtopic.php?f=2&t=9497

User avatar
phibertron
Posts: 1566
Joined: Sun Jan 30, 2011 5:52 pm
AV Hardware: Hardware
========
WHS - HP Ex495
PS3
XBOX 360
iTouch - Gen 2 and Gen 3
PSP - 3000

Encoders
========
Handbrake
x264
ffmpeg
mencoder

Tagging
======
mp3tag

Notes: What I learned about using named containers

Postby phibertron » Wed Feb 23, 2011 8:21 pm

We know that if we used the following, that two containers would be created called "By Title" and "By Type"

Code: Select all

<container name='By Title' id='video/titleindex' createClass='object.item.videoItem.movie' class='object.container' >
   <container buildon='dc:title[1]' createClass='object.item.videoItem.movie' class='object.container' />
</container>

<container name='By Type' groupid='video/ext' createClass='object.item.videoItem.movie' class='object.container'>
   <container buildon='pv:extension' createClass='object.item.videoItem.movie' class='object.container' />
</container>


Note:
This is only for the same level of parent/child navigation
If the name= of child container is the same name of a parent
then it has not effect on any other parents named with the same name


In the code that builds the navtree to stream to clients
It uses the name= and the id= to make everything go where it is supposed to
We can take adnvantage of this, and have different id= and groupid= with the same name
to create one container that contains both sets of data

The following would create one container called "By Example" with the result from both id's

Code: Select all

<container name='By Example' id='video/titleindex' createClass='object.item.videoItem.movie' class='object.container' >
   <container buildon='dc:title[1]' createClass='object.item.videoItem.movie' class='object.container' />
</container>

<container name='By Example' groupid='video/ext' createClass='object.item.videoItem.movie' class='object.container'>
   <container buildon='pv:extension' createClass='object.item.videoItem.movie' class='object.container' />
</container>


Note:
The reverse is not exactly true, two with id= or two with groupid=
as they tend to overide each other, or they null out, or break navtree all together


There is another way we can take advantage of using named containers with the same name

In this example, the container for buildon='dc:title[1]'
only contains sub containers for buildon='pv:extension'
and those sub sub containers contain the actual items to be returned
But I want the buildon='dc:title[1]' to return items and containers

Code: Select all

<container name='By Example' id='video/titleindex' createClass='object.item.videoItem.movie' class='object.container' >
   <container buildon='dc:title[1]' createClass='object.item.videoItem.movie' class='object.container' >
      <container buildon='pv:extension' createClass='object.item.videoItem.movie' class='object.container' />
   </container>
</container>


In this example, I am leverageing the same behavior the equally named container exhibit
By using two parent containers using buildon='dc:title[1]'
One for just items, and one for sub containers
But because both parent containers are using buildon='dc:title[1]', they end up being the same
and thus get concatenated as one container

I currently use this tactic on my own custom navtree

Code: Select all

<container name='By Example' id='video/titleindex' createClass='object.item.videoItem.movie' class='object.container' >
   <container buildon='dc:title[1]' createClass='object.item.videoItem.movie' class='object.container' />
   <container buildon='dc:title[1]' createClass='object.item.videoItem.movie' class='object.container' >
      <container buildon='pv:extension' createClass='object.item.videoItem.movie' class='object.container' />
   </container>
</container>
Last edited by phibertron on Thu Mar 17, 2011 5:36 pm, edited 2 times in total.
viewtopic.php?f=2&t=10627
viewtopic.php?f=2&t=9353
viewtopic.php?f=2&t=9408
viewtopic.php?f=2&t=9416
viewtopic.php?f=2&t=9424
viewtopic.php?f=2&t=9364
viewtopic.php?f=2&t=9497

User avatar
phibertron
Posts: 1566
Joined: Sun Jan 30, 2011 5:52 pm
AV Hardware: Hardware
========
WHS - HP Ex495
PS3
XBOX 360
iTouch - Gen 2 and Gen 3
PSP - 3000

Encoders
========
Handbrake
x264
ffmpeg
mencoder

Tagging
======
mp3tag

Notes: What I learned about mediafusion

Postby phibertron » Wed Feb 23, 2011 8:24 pm

The current default way for twonky to display mediafusion content is in each media type container

Code: Select all

<container buildon='pv:onlineServiceTitle'  groupid='music/onlineservices' createClass='object.item.audioItem.online.musicTrack' class='object.container'>
   <container name='allstations' createClass='object.item.audioItem.online.musicTrack' class='object.container' />
   <container name='genrestation' class='object.container' createClass='object.item.audioItem.online.musicTrack'>
      <container buildon='upnp:genre' class='object.container.genre.musicGenre' createClass='object.item.audioItem.online.musicTrack' />
   </container>
   <container name='stationindex' class='object.container' createClass='object.item.audioItem.online.musicTrack'>
      <container buildon='dc:title[3]' class='object.container' createClass='object.item.audioItem.online.musicTrack'>
         <container buildon='dc:title' class='object.container' createClass='object.item.audioItem.online.musicTrack'/>
      </container>
   </container>
</container>

<container buildon='pv:onlineServiceName'  groupid='picture/onlineservices' createClass='object.item.imageItem.online.photo' class='object.container'>
   <container name='allname' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
   <container buildon='pv:onlineServiceTitle' createClass='object.item.imageItem.online.photo' class='object.container'>
      <container name='allname' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
      <container name='keywords' createClass='object.item.imageItem.online.photo'  class='object.container' >
         <container buildon='pv:avKeywords' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
      </container>
      <container name='album' createClass='object.item.imageItem.online.photo'  class='object.container' >
         <container buildon='upnp:album' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
      </container>
      <container name='date' createClass='object.item.imageItem.online.photo' class='object.container'>
         <container buildon='pv:year' createClass='object.item.imageItem.online.photo' class='object.container'>
         <container name='allname' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
            <container buildon='pv:month' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum'/>
         </container>
      </container>
      <container name='author' createClass='object.item.imageItem.online.photo' class='object.container' >
         <container buildon='upnp:author' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
      </container>
   </container>
</container>

<container buildon='pv:onlineServiceName' groupid='video/onlineservices' createClass='object.item.videoItem.online.movie' class='object.container'>
   <container buildon='pv:onlineServiceTitle' createClass='object.item.videoItem.online.movie' class='object.container'/>
</container>



But is possible to make a single container that contains them all

Note:
Why they use buildon='pv:onlineServiceTitle' for the music container, I dont know
But if you change it to buildon='pv:onlineServiceName'
It does work, but loses the name Handpicked Radio and becomes webRadio

Code: Select all

<container name='Online Media' groupid='onlinemedia' class='object.container' >

<container buildon='pv:onlineServiceTitle'  createClass='object.item.audioItem.online.musicTrack' class='object.container'>
   <container name='allstations' createClass='object.item.audioItem.online.musicTrack' class='object.container' />
   <container name='genrestation' class='object.container' createClass='object.item.audioItem.online.musicTrack'>
      <container buildon='upnp:genre' class='object.container.genre.musicGenre' createClass='object.item.audioItem.online.musicTrack' />
   </container>
   <container name='stationindex' class='object.container' createClass='object.item.audioItem.online.musicTrack'>
      <container buildon='dc:title[3]' class='object.container' createClass='object.item.audioItem.online.musicTrack'>
         <container buildon='dc:title' class='object.container' createClass='object.item.audioItem.online.musicTrack'/>
      </container>
   </container>
</container>

<container buildon='pv:onlineServiceName'  createClass='object.item.imageItem.online.photo' class='object.container'>
   <container name='allname' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
   <container buildon='pv:onlineServiceTitle' createClass='object.item.imageItem.online.photo' class='object.container'>
      <container name='allname' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
      <container name='keywords' createClass='object.item.imageItem.online.photo'  class='object.container' >
         <container buildon='pv:avKeywords' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
      </container>
      <container name='album' createClass='object.item.imageItem.online.photo'  class='object.container' >
         <container buildon='upnp:album' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
      </container>
      <container name='date' createClass='object.item.imageItem.online.photo' class='object.container'>
         <container buildon='pv:year' createClass='object.item.imageItem.online.photo' class='object.container'>
         <container name='allname' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
            <container buildon='pv:month' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum'/>
         </container>
      </container>
      <container name='author' createClass='object.item.imageItem.online.photo' class='object.container' >
         <container buildon='upnp:author' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
      </container>
   </container>
</container>

<container buildon='pv:onlineServiceName' createClass='object.item.videoItem.online.movie' class='object.container'>
   <container buildon='pv:onlineServiceTitle' createClass='object.item.videoItem.online.movie' class='object.container'/>
</container>

</container>


The following would be returned into one container called Online Media

Flickr
Handpicked Radio
Handpicked Video
Picasa Web
SHOUTcast Radio
YouTube


In the following you could take this a step further and put them in the root of the navtree

Code: Select all

<container buildon='pv:onlineServiceTitle'  groupid='onlinemusic' createClass='object.item.audioItem.online.musicTrack' class='object.container'>
   <container name='allstations' createClass='object.item.audioItem.online.musicTrack' class='object.container' />
   <container name='genrestation' class='object.container' createClass='object.item.audioItem.online.musicTrack'>
      <container buildon='upnp:genre' class='object.container.genre.musicGenre' createClass='object.item.audioItem.online.musicTrack' />
   </container>
   <container name='stationindex' class='object.container' createClass='object.item.audioItem.online.musicTrack'>
      <container buildon='dc:title[3]' class='object.container' createClass='object.item.audioItem.online.musicTrack'>
         <container buildon='dc:title' class='object.container' createClass='object.item.audioItem.online.musicTrack'/>
      </container>
   </container>
</container>

<container buildon='pv:onlineServiceName'  groupid='onlinephoto' createClass='object.item.imageItem.online.photo' class='object.container'>
   <container name='allname' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
   <container buildon='pv:onlineServiceTitle' createClass='object.item.imageItem.online.photo' class='object.container'>
      <container name='allname' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
      <container name='keywords' createClass='object.item.imageItem.online.photo'  class='object.container' >
         <container buildon='pv:avKeywords' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
      </container>
      <container name='album' createClass='object.item.imageItem.online.photo'  class='object.container' >
         <container buildon='upnp:album' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
      </container>
      <container name='date' createClass='object.item.imageItem.online.photo' class='object.container'>
         <container buildon='pv:year' createClass='object.item.imageItem.online.photo' class='object.container'>
         <container name='allname' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
            <container buildon='pv:month' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum'/>
         </container>
      </container>
      <container name='author' createClass='object.item.imageItem.online.photo' class='object.container' >
         <container buildon='upnp:author' createClass='object.item.imageItem.online.photo' class='object.container.album.photoAlbum' />
      </container>
   </container>
</container>

<container buildon='pv:onlineServiceName' groupid='onlinevideo' createClass='object.item.videoItem.online.movie' class='object.container'>
   <container buildon='pv:onlineServiceTitle' createClass='object.item.videoItem.online.movie' class='object.container'/>
</container>


The following would be returned into the root of the navtree

Flickr
Handpicked Radio
Handpicked Video
Picasa Web
SHOUTcast Radio
YouTube

Note:
You all have to add the appriate links in either of the above scenarios
into the view.xml that you are using

<link groupid='onlinemedia' />

<link groupid='onlinemusic' />
<link groupid='onlinephoto' />
<link groupid='onlinevideo' />
Last edited by phibertron on Thu Mar 17, 2011 6:39 pm, edited 1 time in total.
viewtopic.php?f=2&t=10627
viewtopic.php?f=2&t=9353
viewtopic.php?f=2&t=9408
viewtopic.php?f=2&t=9416
viewtopic.php?f=2&t=9424
viewtopic.php?f=2&t=9364
viewtopic.php?f=2&t=9497

User avatar
phibertron
Posts: 1566
Joined: Sun Jan 30, 2011 5:52 pm
AV Hardware: Hardware
========
WHS - HP Ex495
PS3
XBOX 360
iTouch - Gen 2 and Gen 3
PSP - 3000

Encoders
========
Handbrake
x264
ffmpeg
mencoder

Tagging
======
mp3tag

Notes: What I learned about using Playlists

Postby phibertron » Wed Feb 23, 2011 8:28 pm

The default way for twonky to utilize playlist is as follows

Code: Select all

<container name='playlists' id='music/playlists' class='object.container' createClass='object.item.audioItem.musicTrack,object.item.audioItem.online.musicTrack' sortcriteria='+upnp:originalTrackNumber,+dc:title'   restricted='0' flags='pv:playlistRoot=Music' >
   <container name='playlistrecentlyadded' filteron='pv:addedLast60' sortcriteria='-pv:addedTime' createClass='object.item.audioItem.musicTrack' maxitems='500' upnp:originalTrackNumber='3' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
   <container name='playlistmostplayed' filteron='pv:playcount' sortcriteria='-pv:playcount' createClass='object.item.audioItem.musicTrack' maxitems='500' upnp:originalTrackNumber='1'  restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
   <container name='playlistlastplayed' filteron='pv:lastPlayedTime' sortcriteria='-pv:lastPlayedTime' createClass='object.item.audioItem.musicTrack' maxitems='500' upnp:originalTrackNumber='2' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
   <container name='playlisthighlyrated' filteron='pv:highrated' sortcriteria='-pv:rating' createClass='object.item.audioItem.musicTrack' maxitems='500' upnp:originalTrackNumber='4' class='object.container.playlistContainer' restricted='1'  flags='pv:smartplaylist=1' />
   <container buildon='upnp:playlist' sortcriteria='+upnp:originalTrackNumber' upnp:originalTrackNumber='5' createClass='object.item.audioItem.musicTrack,object.item.audioItem.online.musicTrack' class='object.container.playlistContainer' />
</container>

<container name='slideshows' id='picture/playlists' class='object.container' createClass='object.item.imageItem.photo,object.item.imageItem.online.photo' sortcriteria='+upnp:originalTrackNumber,+dc:title' restricted='0' flags='pv:playlistRoot=Picture' >
   <container name='playlistrecentlyadded' filteron='pv:addedLast60' sortcriteria='-pv:addedTime' createClass='object.item.imageItem.photo' maxitems='500' upnp:originalTrackNumber='3' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
   <container name='playlistmostviewed' filteron='pv:playcount' sortcriteria='-pv:playcount' createClass='object.item.imageItem.photo' maxitems='500' upnp:originalTrackNumber='1' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
   <container name='playlistlastviewed' filteron='pv:lastPlayedTime' sortcriteria='-pv:lastPlayedTime' createClass='object.item.imageItem.photo' maxitems='500' upnp:originalTrackNumber='2' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
   <container name='playlisthighlyrated' filteron='pv:highrated' sortcriteria='-pv:rating' createClass='object.item.imageItem.photo' maxitems='500' upnp:originalTrackNumber='4' class='object.container.playlistContainer' restricted='1' flags='pv:smartplaylist=1' />
   <container buildon='upnp:playlist' sortcriteria='+upnp:originalTrackNumber' createClass='object.item.imageItem.photo,object.item.imageItem.online.photo' upnp:originalTrackNumber='5' class='object.container.playlistContainer' />
</container>

<container name='playlists' id='video/playlists' class='object.container' createClass='object.item.videoItem.movie,object.item.videoItem.online.movie' sortcriteria='+upnp:originalTrackNumber,+dc:title' restricted='0' flags='pv:playlistRoot=Video' >
   <container name='playlistrecentlyadded' filteron='pv:addedLast60' sortcriteria='-pv:addedTime' createClass='object.item.videoItem.movie' maxitems='500' upnp:originalTrackNumber='3' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
   <container name='playlistmostviewed' filteron='pv:playcount' sortcriteria='-pv:playcount' createClass='object.item.videoItem.movie' maxitems='500' upnp:originalTrackNumber='1' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1'  />
   <container name='playlistlastviewed' filteron='pv:lastPlayedTime' sortcriteria='-pv:lastPlayedTime' createClass='object.item.videoItem.movie' maxitems='500' upnp:originalTrackNumber='2' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
   <container name='playlisthighlyrated' filteron='pv:highrated' sortcriteria='-pv:rating' createClass='object.item.videoItem.movie' maxitems='500' upnp:originalTrackNumber='4' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
   <container buildon='upnp:playlist' sortcriteria='+upnp:originalTrackNumber' createClass='object.item.videoItem.movie,object.item.videoItem.online.movie' upnp:originalTrackNumber='5' class='object.container.playlistContainer'  />
</container>



If we do the following it is possible to create a root container called Playlists
This example is leverageing named containers of the same name, in this case name='Playlists'

Code: Select all

<container name='Playlists' groupid='musicplaylists' class='object.container' createClass='object.item.audioItem.musicTrack,object.item.audioItem.online.musicTrack' sortcriteria='+upnp:originalTrackNumber,+dc:title'   restricted='0' flags='pv:playlistRoot=Music' >
   <container name='playlistrecentlyadded' filteron='pv:addedLast60' sortcriteria='-pv:addedTime' createClass='object.item.audioItem.musicTrack' maxitems='500' upnp:originalTrackNumber='3' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
   <container name='playlistmostplayed' filteron='pv:playcount' sortcriteria='-pv:playcount' createClass='object.item.audioItem.musicTrack' maxitems='500' upnp:originalTrackNumber='1'  restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
   <container name='playlistlastplayed' filteron='pv:lastPlayedTime' sortcriteria='-pv:lastPlayedTime' createClass='object.item.audioItem.musicTrack' maxitems='500' upnp:originalTrackNumber='2' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
   <container name='playlisthighlyrated' filteron='pv:highrated' sortcriteria='-pv:rating' createClass='object.item.audioItem.musicTrack' maxitems='500' upnp:originalTrackNumber='4' class='object.container.playlistContainer' restricted='1'  flags='pv:smartplaylist=1' />
   <container buildon='upnp:playlist' sortcriteria='+upnp:originalTrackNumber' upnp:originalTrackNumber='5' createClass='object.item.audioItem.musicTrack,object.item.audioItem.online.musicTrack' class='object.container.playlistContainer' />
</container>

<container name='Playlists' groupid='photoplaylists' class='object.container' createClass='object.item.imageItem.photo,object.item.imageItem.online.photo' sortcriteria='+upnp:originalTrackNumber,+dc:title' restricted='0' flags='pv:playlistRoot=Picture' >
   <container name='playlistrecentlyadded' filteron='pv:addedLast60' sortcriteria='-pv:addedTime' createClass='object.item.imageItem.photo' maxitems='500' upnp:originalTrackNumber='3' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
   <container name='playlistmostviewed' filteron='pv:playcount' sortcriteria='-pv:playcount' createClass='object.item.imageItem.photo' maxitems='500' upnp:originalTrackNumber='1' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
   <container name='playlistlastviewed' filteron='pv:lastPlayedTime' sortcriteria='-pv:lastPlayedTime' createClass='object.item.imageItem.photo' maxitems='500' upnp:originalTrackNumber='2' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
   <container name='playlisthighlyrated' filteron='pv:highrated' sortcriteria='-pv:rating' createClass='object.item.imageItem.photo' maxitems='500' upnp:originalTrackNumber='4' class='object.container.playlistContainer' restricted='1' flags='pv:smartplaylist=1' />
   <container buildon='upnp:playlist' sortcriteria='+upnp:originalTrackNumber' createClass='object.item.imageItem.photo,object.item.imageItem.online.photo' upnp:originalTrackNumber='5' class='object.container.playlistContainer' />
</container>

<container name='Playlists' groupid='videoplaylists' class='object.container' createClass='object.item.videoItem.movie,object.item.videoItem.online.movie' sortcriteria='+upnp:originalTrackNumber,+dc:title' restricted='0' flags='pv:playlistRoot=Video' >
   <container name='playlistrecentlyadded' filteron='pv:addedLast60' sortcriteria='-pv:addedTime' createClass='object.item.videoItem.movie' maxitems='500' upnp:originalTrackNumber='3' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
   <container name='playlistmostviewed' filteron='pv:playcount' sortcriteria='-pv:playcount' createClass='object.item.videoItem.movie' maxitems='500' upnp:originalTrackNumber='1' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1'  />
   <container name='playlistlastviewed' filteron='pv:lastPlayedTime' sortcriteria='-pv:lastPlayedTime' createClass='object.item.videoItem.movie' maxitems='500' upnp:originalTrackNumber='2' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
   <container name='playlisthighlyrated' filteron='pv:highrated' sortcriteria='-pv:rating' createClass='object.item.videoItem.movie' maxitems='500' upnp:originalTrackNumber='4' restricted='1' class='object.container.playlistContainer' flags='pv:smartplaylist=1' />
   <container buildon='upnp:playlist' sortcriteria='+upnp:originalTrackNumber' createClass='object.item.videoItem.movie,object.item.videoItem.online.movie' upnp:originalTrackNumber='5' class='object.container.playlistContainer'  />
</container>


The root container Playlists would return the following
I created the 3 wpl playlist files, with names in the file as Music Playlist,Photo Playlist,Video Playlist

Most Played
Most Viewed
Last Played
Last Viewed
Recently Added
Music Playlist
Photo Playlist
Video Playlist

Note:
What is most interesting is due to the concatenation I'm doing
The recently added for example, will contain media for all types =)
Still need to see If I can get named playlists to concatenate

The following DOES NOT WORK
I attempeted to see If I could get things at the root of navtree
It seems it exhibits some of the limitations that buildon='res' has
But worse, as it will return nothing
I tried them individually, no luck there either
I included the below just as an example of what does not work

Code: Select all

<container buildon='upnp:playlist' groupid='musicplaylists' sortcriteria='+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack,object.item.audioItem.online.musicTrack' class='object.container.playlistContainer' />
<container buildon='upnp:playlist' groupid='photoplaylists' sortcriteria='+upnp:originalTrackNumber' createClass='object.item.imageItem.photo,object.item.imageItem.online.photo' class='object.container.playlistContainer' />
<container buildon='upnp:playlist' groupid='videoplaylists' sortcriteria='+upnp:originalTrackNumber' createClass='object.item.videoItem.movie,object.item.videoItem.online.movie' class='object.container.playlistContainer' />


Note:
Also don't touch the following, I know If I remove then, things go boom!
I have tried a bunch of different things with them
But I haven't figured out the logic of what is or is not possible yet
or the connection of when I do try to manipulate this flag

flags='pv:playlistRoot=Music'
flags='pv:playlistRoot=Picture'
flags='pv:playlistRoot=Video'
Last edited by phibertron on Thu Mar 17, 2011 8:16 pm, edited 1 time in total.
viewtopic.php?f=2&t=10627
viewtopic.php?f=2&t=9353
viewtopic.php?f=2&t=9408
viewtopic.php?f=2&t=9416
viewtopic.php?f=2&t=9424
viewtopic.php?f=2&t=9364
viewtopic.php?f=2&t=9497

User avatar
mikle_01
Posts: 208
Joined: Sat Jul 09, 2005 11:32 am
Location: Germany, Kiel

Re: Navtree (How to show folders at the root solved and more

Postby mikle_01 » Tue Mar 01, 2011 10:45 pm

Great job done!! Looking long time for that - espacilly Szenario 14 - but I've still the problem of wrong MP3 sort order (not ID3 Tag but alphabetically...*grrrrrr*) I remember, iwwas somehow like "Sortcriteria" in the view-definitions.xml. Can you help?
NAS: Synology DS211j 4TB with Twonky 6.0.31 "Kirkwood"- Clients: Philips Streamium NP2500, Sagem "My Dual 700", WD TV Live Gen.2 + Gen.3, - TV:Philips 42PFL8654

User avatar
phibertron
Posts: 1566
Joined: Sun Jan 30, 2011 5:52 pm
AV Hardware: Hardware
========
WHS - HP Ex495
PS3
XBOX 360
iTouch - Gen 2 and Gen 3
PSP - 3000

Encoders
========
Handbrake
x264
ffmpeg
mencoder

Tagging
======
mp3tag

Re: Navtree (How to show folders at the root solved and more

Postby phibertron » Tue Mar 01, 2011 11:25 pm

mikle_01 wrote:Great job done!! Looking long time for that - espacilly Szenario 14 - but I've still the problem of wrong MP3 sort order (not ID3 Tag but alphabetically...*grrrrrr*) I remember, iwwas somehow like "Sortcriteria" in the view-definitions.xml. Can you help?


Thanks man :mrgreen:

Note: I just literally updated all of the scenarios, and added zip files
all scenarios work on everything I could test them on
Still have to add some notes about folders on the root root of the navtree
The solution i have works with one exception, ill make a note of it soon

Sure, Ill try my best

What section or sections of the music node need to be sorted different for you
I do remember some people talking about that, and they changed some of the sorton stuff to fix it
All of what I did above was from default xml files, as to not make it not to complicated,
which is why you probably see the sort order regression
viewtopic.php?f=2&t=10627
viewtopic.php?f=2&t=9353
viewtopic.php?f=2&t=9408
viewtopic.php?f=2&t=9416
viewtopic.php?f=2&t=9424
viewtopic.php?f=2&t=9364
viewtopic.php?f=2&t=9497

User avatar
mikle_01
Posts: 208
Joined: Sat Jul 09, 2005 11:32 am
Location: Germany, Kiel

Re: Navtree (How to show folders at the root solved and more

Postby mikle_01 » Tue Mar 01, 2011 11:55 pm

What have you done? You changed the sections? :shock:

14 is now 7? (Only "Music / root navigation")

Section 14 was:

This is "THE ONE" that you want if...

1. You want only folders in the root of music, photo, and video
2. You want this to also be seen the same to all devices, the xbox as an example
3. You want to add more to each section and have this also be seen the same by the xbox for example


I only need Music -> "navigate by directory" directly in the root of navtree (without "All music" and so on...)

And no idea with the sort order!? Found my own reply in this thread about the view-definitions.xml http://www.twonkyforum.com/viewtopic.php?f=18&t=8316&p=33655&hilit=sort+order#p33655.

But something seems to be changed in this file...and doesnt't work.
NAS: Synology DS211j 4TB with Twonky 6.0.31 "Kirkwood"- Clients: Philips Streamium NP2500, Sagem "My Dual 700", WD TV Live Gen.2 + Gen.3, - TV:Philips 42PFL8654

User avatar
phibertron
Posts: 1566
Joined: Sun Jan 30, 2011 5:52 pm
AV Hardware: Hardware
========
WHS - HP Ex495
PS3
XBOX 360
iTouch - Gen 2 and Gen 3
PSP - 3000

Encoders
========
Handbrake
x264
ffmpeg
mencoder

Tagging
======
mp3tag

Re: Navtree (How to show folders at the root solved and more

Postby phibertron » Wed Mar 02, 2011 12:22 am

sorry for the scenario shuffle, it had to be done, better now than later

I looked at the link, and have made the addtions for you to mikle_01 zip

Code: Select all

I added sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber'
to the following sections

<container name='byfolder' id='music/folders' class='object.container.storageFolder' createClass='object.item.audioItem.musicTrack'>
   <container buildon='res' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.storageFolder' />
</container>

<container name='music' id='music' upnp:originalTrackNumber='1' createClass='object.item.audioItem.musicTrack,object.item.audioItem.online.musicTrack'>
   <container buildon='res' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.storageFolder' />
</container>

<container buildon='res' groupid='mymusic' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container' >
   <container name='' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' buildon='res' createClass='object.item.audioItem.musicTrack' class='object.container />
</container>



Let me know how this works for you
Attachments
mikle_01 Custom Navtree Scenario 7.zip
(2.23 KiB) Downloaded 102 times
viewtopic.php?f=2&t=10627
viewtopic.php?f=2&t=9353
viewtopic.php?f=2&t=9408
viewtopic.php?f=2&t=9416
viewtopic.php?f=2&t=9424
viewtopic.php?f=2&t=9364
viewtopic.php?f=2&t=9497

User avatar
mikle_01
Posts: 208
Joined: Sat Jul 09, 2005 11:32 am
Location: Germany, Kiel

Re: Navtree (How to show folders at the root solved and more

Postby mikle_01 » Wed Mar 02, 2011 10:31 am

Thanks,

made a quick test via webbrowser ( not with my streaming clients) - seems to be ok...sort order is right: Will check this later with my clients.
NAS: Synology DS211j 4TB with Twonky 6.0.31 "Kirkwood"- Clients: Philips Streamium NP2500, Sagem "My Dual 700", WD TV Live Gen.2 + Gen.3, - TV:Philips 42PFL8654

User avatar
phibertron
Posts: 1566
Joined: Sun Jan 30, 2011 5:52 pm
AV Hardware: Hardware
========
WHS - HP Ex495
PS3
XBOX 360
iTouch - Gen 2 and Gen 3
PSP - 3000

Encoders
========
Handbrake
x264
ffmpeg
mencoder

Tagging
======
mp3tag

Re: Navtree (How to show folders at the root solved and more

Postby phibertron » Wed Mar 02, 2011 6:18 pm

Your Welcome

Glad to hear the browser list is sorted the way you want
Odss are the clients will be fine based on that
Either way please let mw know what the clients see

Thanks
viewtopic.php?f=2&t=10627
viewtopic.php?f=2&t=9353
viewtopic.php?f=2&t=9408
viewtopic.php?f=2&t=9416
viewtopic.php?f=2&t=9424
viewtopic.php?f=2&t=9364
viewtopic.php?f=2&t=9497

User avatar
mikle_01
Posts: 208
Joined: Sat Jul 09, 2005 11:32 am
Location: Germany, Kiel

Re: Navtree (How to show folders at the root solved and more

Postby mikle_01 » Wed Mar 02, 2011 11:28 pm

Something goes wrong, Twonky (6.0.31-RC6 on my Synology DS211j NAS) founds all my mp3 (~10.000 in 5 min.), but the webbrowse and all of my streaming clients are showing only 5 (!) directories.
Image


The flash gui shows all and correct.

Image


Sort order is in both cases ok. What went wrong?!
NAS: Synology DS211j 4TB with Twonky 6.0.31 "Kirkwood"- Clients: Philips Streamium NP2500, Sagem "My Dual 700", WD TV Live Gen.2 + Gen.3, - TV:Philips 42PFL8654

User avatar
phibertron
Posts: 1566
Joined: Sun Jan 30, 2011 5:52 pm
AV Hardware: Hardware
========
WHS - HP Ex495
PS3
XBOX 360
iTouch - Gen 2 and Gen 3
PSP - 3000

Encoders
========
Handbrake
x264
ffmpeg
mencoder

Tagging
======
mp3tag

Re: Navtree (How to show folders at the root solved and more

Postby phibertron » Thu Mar 03, 2011 12:02 am

now that is odd

I am not as experienced with the linux/nas versions
and would expect that there shouldnt be much difference
but I know that there are some

for ex:

# follow symbolic links while scanning (Linux only)
followlinks=1

# for Linux/NAS systems this is the basedirectory used for content sharing (prepended to all shares)
contentbase=

is contentbase defined ?
is your music directory using links or symbolic links ?
are you using multple shares for you music ?
what does the admin page show as view being used for each device?

As I am not seeing this problem with the windows version
viewtopic.php?f=2&t=10627
viewtopic.php?f=2&t=9353
viewtopic.php?f=2&t=9408
viewtopic.php?f=2&t=9416
viewtopic.php?f=2&t=9424
viewtopic.php?f=2&t=9364
viewtopic.php?f=2&t=9497

User avatar
phibertron
Posts: 1566
Joined: Sun Jan 30, 2011 5:52 pm
AV Hardware: Hardware
========
WHS - HP Ex495
PS3
XBOX 360
iTouch - Gen 2 and Gen 3
PSP - 3000

Encoders
========
Handbrake
x264
ffmpeg
mencoder

Tagging
======
mp3tag

Re: Navtree (How to show folders at the root solved and more

Postby phibertron » Thu Mar 03, 2011 12:34 am

there could also be a difference in how i did something special for windows

In the view-definitions.xml I gave you
at the end there is this section

Code: Select all

      <container buildon='res' groupid='mymusic' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container' >

         <container name='' buildon='res' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container />

      </container>


change this line

Code: Select all

         <container name='' buildon='res' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container />


by adding a ' to the end of the class='object.container' to become class='object.container'

Code: Select all

         <container name='' buildon='res' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container' />
viewtopic.php?f=2&t=10627
viewtopic.php?f=2&t=9353
viewtopic.php?f=2&t=9408
viewtopic.php?f=2&t=9416
viewtopic.php?f=2&t=9424
viewtopic.php?f=2&t=9364
viewtopic.php?f=2&t=9497

User avatar
phibertron
Posts: 1566
Joined: Sun Jan 30, 2011 5:52 pm
AV Hardware: Hardware
========
WHS - HP Ex495
PS3
XBOX 360
iTouch - Gen 2 and Gen 3
PSP - 3000

Encoders
========
Handbrake
x264
ffmpeg
mencoder

Tagging
======
mp3tag

Re: Navtree (How to show folders at the root solved and more

Postby phibertron » Thu Mar 03, 2011 12:42 am

we could also try this

Code: Select all

      <container buildon='res' groupid='mymusic' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.storageFolder' >

         <container name='' buildon='res' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.storageFolder' />

      </container>


or this

Code: Select all

      <container buildon='res' groupid='mymusic' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.storageFolder' restricted='0' >

         <container name='' buildon='res' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.storageFolder' />

      </container>
viewtopic.php?f=2&t=10627
viewtopic.php?f=2&t=9353
viewtopic.php?f=2&t=9408
viewtopic.php?f=2&t=9416
viewtopic.php?f=2&t=9424
viewtopic.php?f=2&t=9364
viewtopic.php?f=2&t=9497

User avatar
phibertron
Posts: 1566
Joined: Sun Jan 30, 2011 5:52 pm
AV Hardware: Hardware
========
WHS - HP Ex495
PS3
XBOX 360
iTouch - Gen 2 and Gen 3
PSP - 3000

Encoders
========
Handbrake
x264
ffmpeg
mencoder

Tagging
======
mp3tag

Re: Navtree (How to show folders at the root solved and more

Postby phibertron » Thu Mar 03, 2011 1:04 am

If none of the above works I know one more trick that should work
As the problem is really with building containers with the buildon='res'
when is done from a container that has no parent name
which is why I came up with using twice like I do

Read this to see what I mean
http://twonkyforum.com/viewtopic.php?f=2&t=9353&p=34449#p34322

Ok here goes

In my server ini, I have this,it is pointed to D:\shares\Music

# CSV list of all shares, prepended by the type (A,M,P,V) and a '+' or '-' sign to flag enabled or disabled shares
contentdir=+M|D:\shares\Music,+P|D:\shares\Photos,+V|D:\shares\Videos

So if

I have the contents of D:\shares\Music like this

D:\shares\Music\artist1\album1
D:\shares\Music\artist1\album2
D:\shares\Music\artist1\album3
D:\shares\Music\artist2\album1
D:\shares\Music\artist3\album1

the problems with buildon='res' could arise

But if I do this (do not change the server ini, just your folder structure)

D:\shares\Music\Music\artist1\album1
D:\shares\Music\Music\artist1\album2
D:\shares\Music\Music\artist1\album3
D:\shares\Music\Music\artist2\album1
D:\shares\Music\Music\artist3\album1

It solves a lot of the issues of trying to use buildon='res'
in a container that has no parent name

and if you did move you music into a folder called music
you should be able to get away with just this

Code: Select all

<container buildon='res' groupid='mymusic' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.storageFolder' restricted='0' />


Like I said, I got things to work from windows, but there may be some differences on the linux builds in how things work, that I am unware of
different files systems to deal with etc
viewtopic.php?f=2&t=10627
viewtopic.php?f=2&t=9353
viewtopic.php?f=2&t=9408
viewtopic.php?f=2&t=9416
viewtopic.php?f=2&t=9424
viewtopic.php?f=2&t=9364
viewtopic.php?f=2&t=9497

Twonky_Rick
Posts: 3816
Joined: Wed Nov 19, 2008 1:59 am
AV Hardware: Samsung 650 Series TV (2010), 4.5TB HP MediaSmart server with 100,000 songs, 5) AT&T U-Verse STB, CE form-factor Media Center PC and 6 other networked PCs running TwonkyManager, 2 Sonos ZP80, Sonos S5 speaker, Apple TV (running XBMC), Roku Soundbridge, X-Box 360, Sony PS3, Kodak 10" Wireless Photo Frame, iPhone with PlugPlayer software, Sonos CR-100.
Location: San Diego
Contact:

Re: Navtree (How to show folders at the root solved and more

Postby Twonky_Rick » Thu Mar 03, 2011 1:23 am

Thanks for posting all of this. :D

I think others should find this to be useful as well.

- Rick
Follow me on Twitter! mostlytech1
Checkout my blog: http://mostly-tech.com/

User avatar
phibertron
Posts: 1566
Joined: Sun Jan 30, 2011 5:52 pm
AV Hardware: Hardware
========
WHS - HP Ex495
PS3
XBOX 360
iTouch - Gen 2 and Gen 3
PSP - 3000

Encoders
========
Handbrake
x264
ffmpeg
mencoder

Tagging
======
mp3tag

Re: Navtree (How to show folders at the root solved and more

Postby phibertron » Thu Mar 03, 2011 1:54 am

Your Welcome Rick
and thank you for the assist on making it easier for me to manage
viewtopic.php?f=2&t=10627
viewtopic.php?f=2&t=9353
viewtopic.php?f=2&t=9408
viewtopic.php?f=2&t=9416
viewtopic.php?f=2&t=9424
viewtopic.php?f=2&t=9364
viewtopic.php?f=2&t=9497

User avatar
mikle_01
Posts: 208
Joined: Sat Jul 09, 2005 11:32 am
Location: Germany, Kiel

Re: Navtree (How to show folders at the root solved and more

Postby mikle_01 » Thu Mar 03, 2011 8:33 am

Sorry for the late reply (guess, we got a "time lag" :D )

I'll try this today with the missing files / container with "building containers with the buildon='res'" - sounds good. I manage my files still like your example:

D:\shares\Music\artist1\album1
D:\shares\Music\artist1\album2

It look like this:

Code: Select all

M:\MP3\Alanis Morissette
                                     \Alanis Morissette - Flavors Of Entanglement
                                     \Alanis Morissette - Jagged little pill
                                     \Alanis Morissette - So Called Chaos


Another issue I detected is the missing cover in the Twonky webbrowser - with my "good old 4.4.18" on my NAS it allways works very well (I have allways "folder.jpg" in every folder and additionally have a small cover embedded inside all mp3's via ID3 tag)

Image

But the worst is, that the CD cover still not shownwith thumbs while browsing in my folders (navigate by folders) with my loved Philips Streamium NP2500. But while playing the mp3's the cover is shown filling...that's ok .

Image


It only works by "navigate by Album, Interpret" and so on... :(

What could be this issue!? It's important for me, because I accustomed to that...

PS: I made and make first test under Windows - even this problem here - no NAS / Linix System!!
Last edited by mikle_01 on Thu Mar 03, 2011 1:45 pm, edited 1 time in total.
NAS: Synology DS211j 4TB with Twonky 6.0.31 "Kirkwood"- Clients: Philips Streamium NP2500, Sagem "My Dual 700", WD TV Live Gen.2 + Gen.3, - TV:Philips 42PFL8654

User avatar
mikle_01
Posts: 208
Joined: Sat Jul 09, 2005 11:32 am
Location: Germany, Kiel

Re: Navtree (How to show folders at the root solved and more

Postby mikle_01 » Thu Mar 03, 2011 1:25 pm

Sorry - but now I'am total confused (too much code :lol: ). I'll try, to understand and changed the xml you create; but there is no section starting with "container name='' buildon.... only "container buildon='res"!! What parts (lines) have to change!?
NAS: Synology DS211j 4TB with Twonky 6.0.31 "Kirkwood"- Clients: Philips Streamium NP2500, Sagem "My Dual 700", WD TV Live Gen.2 + Gen.3, - TV:Philips 42PFL8654

User avatar
phibertron
Posts: 1566
Joined: Sun Jan 30, 2011 5:52 pm
AV Hardware: Hardware
========
WHS - HP Ex495
PS3
XBOX 360
iTouch - Gen 2 and Gen 3
PSP - 3000

Encoders
========
Handbrake
x264
ffmpeg
mencoder

Tagging
======
mp3tag

Re: Navtree (How to show folders at the root solved and more

Postby phibertron » Thu Mar 03, 2011 3:50 pm

I have attached "mikle_01 Custom Navtree test 1 zip" with some changes I mentioned for you to try

The changes I made are:
1.
I added albumart='1' to each of the <container buildon='res'

2.
I also noticed that class= was missing from the <container name='music' id='music'
line so I added it

3.
I changed class='object.container' to class='object.container.storageFolder'
for the container and sub container here <container groupid='mymusic' buildon='res'

once we see how this goes, we'll tweak it some more
Attachments
mikle_01 Custom Navtree test 1.zip
(2.06 KiB) Downloaded 97 times
viewtopic.php?f=2&t=10627
viewtopic.php?f=2&t=9353
viewtopic.php?f=2&t=9408
viewtopic.php?f=2&t=9416
viewtopic.php?f=2&t=9424
viewtopic.php?f=2&t=9364
viewtopic.php?f=2&t=9497

User avatar
mikle_01
Posts: 208
Joined: Sat Jul 09, 2005 11:32 am
Location: Germany, Kiel

Re: Navtree (How to show folders at the root solved and more

Postby mikle_01 » Thu Mar 03, 2011 8:10 pm

Thank's for you individual support, my "Sagem My Dual Radio" (verry similar to the Terratec Noxon modells) now runs directly to the root and all folders shown and the sort order is ok! That problem is solved.

But my other clients do the same as before - only a couple of folders appearing in the webbrowse gui and on my Philips Streamium (but now with coverart thumbs in root navigation!) , Xtreamer, Philips TV... What a deviant behavior :shock:

An I thougt, uPnP / DLNA is a standard ....
NAS: Synology DS211j 4TB with Twonky 6.0.31 "Kirkwood"- Clients: Philips Streamium NP2500, Sagem "My Dual 700", WD TV Live Gen.2 + Gen.3, - TV:Philips 42PFL8654

User avatar
phibertron
Posts: 1566
Joined: Sun Jan 30, 2011 5:52 pm
AV Hardware: Hardware
========
WHS - HP Ex495
PS3
XBOX 360
iTouch - Gen 2 and Gen 3
PSP - 3000

Encoders
========
Handbrake
x264
ffmpeg
mencoder

Tagging
======
mp3tag

Re: Navtree (How to show folders at the root solved and more

Postby phibertron » Thu Mar 03, 2011 9:08 pm

Your Welcome

If I had to guess the "Sagem My Dual Radio" is seeing the results of this container
<container name='music' id='music'

It appears that for some devices twonky is hard coding what to give to certain devices
and others it relies in what the web gui shows
<container buildon='res' groupid='mymusic'

with that said I have attached test 2
in this test to get some sanity back
i have added a container to the view and to the definitions xml files
<link groupid='mymusictest' />
<container name='- By Folder Test -' groupid='mymusictest'

this should show a container at the root of navtree called "'- By Folder Test -"
it is what this returns that I am interested in

please go ahead and try this test and let me know what you see

dont worry, I have a few more tricks up my sleeve...
Attachments
mikle_01 Custom Navtree test 2.zip
(2.1 KiB) Downloaded 77 times
viewtopic.php?f=2&t=10627
viewtopic.php?f=2&t=9353
viewtopic.php?f=2&t=9408
viewtopic.php?f=2&t=9416
viewtopic.php?f=2&t=9424
viewtopic.php?f=2&t=9364
viewtopic.php?f=2&t=9497

User avatar
mikle_01
Posts: 208
Joined: Sat Jul 09, 2005 11:32 am
Location: Germany, Kiel

Re: Navtree (How to show folders at the root solved and more

Postby mikle_01 » Thu Mar 03, 2011 9:51 pm

"phibertron" - you're great! It works fine and perfect!!!!! My Sagem still offers all folders (without "By Folder Test"), the others "By Folder Test" and the few folders. Try to get rid of them (rebuild of DB), but no luck. They still appears...
Hope, this last issue could be fixed. Are you Twonky staff, or is it your business?

Image
NAS: Synology DS211j 4TB with Twonky 6.0.31 "Kirkwood"- Clients: Philips Streamium NP2500, Sagem "My Dual 700", WD TV Live Gen.2 + Gen.3, - TV:Philips 42PFL8654

User avatar
phibertron
Posts: 1566
Joined: Sun Jan 30, 2011 5:52 pm
AV Hardware: Hardware
========
WHS - HP Ex495
PS3
XBOX 360
iTouch - Gen 2 and Gen 3
PSP - 3000

Encoders
========
Handbrake
x264
ffmpeg
mencoder

Tagging
======
mp3tag

Re: Navtree (How to show folders at the root solved and more

Postby phibertron » Thu Mar 03, 2011 10:24 pm

=)

No I'm just a user, but I do work as consultant doing enterprise architecture and design stuff
so it kind of rubs off on me, LOL

Ok
I have one more thing for you to let me know what it looks like
with a lot of luck we should see the 165 folders you saw in the last test

i have attached test 3 zip
Attachments
mikle_01 Custom Navtree test 3.zip
(2.07 KiB) Downloaded 90 times
viewtopic.php?f=2&t=10627
viewtopic.php?f=2&t=9353
viewtopic.php?f=2&t=9408
viewtopic.php?f=2&t=9416
viewtopic.php?f=2&t=9424
viewtopic.php?f=2&t=9364
viewtopic.php?f=2&t=9497

User avatar
mikle_01
Posts: 208
Joined: Sat Jul 09, 2005 11:32 am
Location: Germany, Kiel

Re: Navtree (How to show folders at the root solved and more

Postby mikle_01 » Thu Mar 03, 2011 10:52 pm

Now, web gui and Philips showing (still) 5 folders and nothing else :( this test3 was worst

Further test tomorow - it's late her in Germany (11 pm)
NAS: Synology DS211j 4TB with Twonky 6.0.31 "Kirkwood"- Clients: Philips Streamium NP2500, Sagem "My Dual 700", WD TV Live Gen.2 + Gen.3, - TV:Philips 42PFL8654

User avatar
phibertron
Posts: 1566
Joined: Sun Jan 30, 2011 5:52 pm
AV Hardware: Hardware
========
WHS - HP Ex495
PS3
XBOX 360
iTouch - Gen 2 and Gen 3
PSP - 3000

Encoders
========
Handbrake
x264
ffmpeg
mencoder

Tagging
======
mp3tag

Re: Navtree (How to show folders at the root solved and more

Postby phibertron » Thu Mar 03, 2011 11:22 pm

I still got time to burn its 5:15 pm here in the US east coast

I have attached test 4 zip
Based on test 2 with the By Folder working
The attached is basically scenario 3, with album art and sort order additions you wanted

Now, this is not folders at the root, but folders at the root of music
So the web gui will show a music folder, then all of the actual folders as albums

Reasons why this isnt working at the root, relate to the notes i made on buildon and folder subfolder issues

ill keep toying with it, but i think in the end this will be your best solution
until we can get some changes made to how buildon='res' works in un-named containers

either way let me know that test 4 is working for you
Attachments
mikle_01 Custom Navtree test 4.zip
(2.04 KiB) Downloaded 92 times
viewtopic.php?f=2&t=10627
viewtopic.php?f=2&t=9353
viewtopic.php?f=2&t=9408
viewtopic.php?f=2&t=9416
viewtopic.php?f=2&t=9424
viewtopic.php?f=2&t=9364
viewtopic.php?f=2&t=9497

User avatar
mikle_01
Posts: 208
Joined: Sat Jul 09, 2005 11:32 am
Location: Germany, Kiel

Re: Navtree (How to show folders at the root solved and more

Postby mikle_01 » Fri Mar 04, 2011 4:57 pm

I'am so glad! Everything now works this way I want!! The Sagem runs directly into the root and the other like the webbrowse gui (Root folder "Musik"). And the Philips runs - in spite of coverart thumbs - fast and response very quickly and flowing! This is the way, I'am realy satisfied and enthusiastic about Twonky; espacilly on my NAS!!

Thank you so much!!
NAS: Synology DS211j 4TB with Twonky 6.0.31 "Kirkwood"- Clients: Philips Streamium NP2500, Sagem "My Dual 700", WD TV Live Gen.2 + Gen.3, - TV:Philips 42PFL8654

User avatar
phibertron
Posts: 1566
Joined: Sun Jan 30, 2011 5:52 pm
AV Hardware: Hardware
========
WHS - HP Ex495
PS3
XBOX 360
iTouch - Gen 2 and Gen 3
PSP - 3000

Encoders
========
Handbrake
x264
ffmpeg
mencoder

Tagging
======
mp3tag

Re: Navtree (How to show folders at the root solved and more

Postby phibertron » Fri Mar 04, 2011 6:12 pm

Nice!

I am glad to see that we got things running across all devices and browsers
I just wish we could have made them in the root root as opposed to the music root

Your welcome, now go enjoy your music they way you want =)
viewtopic.php?f=2&t=10627
viewtopic.php?f=2&t=9353
viewtopic.php?f=2&t=9408
viewtopic.php?f=2&t=9416
viewtopic.php?f=2&t=9424
viewtopic.php?f=2&t=9364
viewtopic.php?f=2&t=9497

User avatar
mikle_01
Posts: 208
Joined: Sat Jul 09, 2005 11:32 am
Location: Germany, Kiel

Re: Navtree (How to show folders at the root solved and more

Postby mikle_01 » Sat Mar 05, 2011 9:32 am

I have still one issue - the "Playlist" container is gone :(

I have on my NAS in the root of my "music"-folder all playlist (*.m3u) and it worked ever great and simple - open the "Playlist" Folder and choose the desired playlist.

It's possible, to get it work again!? Next the "Musik" folder the "Playlist" folder which contains all playlist of the root!?

That would be (hopefully) the last :mrgreen:
NAS: Synology DS211j 4TB with Twonky 6.0.31 "Kirkwood"- Clients: Philips Streamium NP2500, Sagem "My Dual 700", WD TV Live Gen.2 + Gen.3, - TV:Philips 42PFL8654

User avatar
phibertron
Posts: 1566
Joined: Sun Jan 30, 2011 5:52 pm
AV Hardware: Hardware
========
WHS - HP Ex495
PS3
XBOX 360
iTouch - Gen 2 and Gen 3
PSP - 3000

Encoders
========
Handbrake
x264
ffmpeg
mencoder

Tagging
======
mp3tag

Re: Navtree (How to show folders at the root solved and more

Postby phibertron » Sat Mar 05, 2011 4:00 pm

Sure, we can do that

The attached zip should work for you

Since were using folders at the root of music
I made it so the container created for playlists will be the first folder in the music tree
and then the music folders would be listed below that
this way you dont have to scroll down that 150+ list of folders to get to the playlist folder
Attachments
mikle_01 Custom Navtree test 5.zip
(2.07 KiB) Downloaded 89 times
viewtopic.php?f=2&t=10627
viewtopic.php?f=2&t=9353
viewtopic.php?f=2&t=9408
viewtopic.php?f=2&t=9416
viewtopic.php?f=2&t=9424
viewtopic.php?f=2&t=9364
viewtopic.php?f=2&t=9497

User avatar
mikle_01
Posts: 208
Joined: Sat Jul 09, 2005 11:32 am
Location: Germany, Kiel

Re: Navtree (How to show folders at the root solved and more

Postby mikle_01 » Sun Mar 06, 2011 12:31 am

It works! I have indeed "Last play", "Recent play", "most play",... and I don't really need that (only the playlist) perhaps it's possible to fix that little issue? Again, thanks so much for the work and the files :wink:
NAS: Synology DS211j 4TB with Twonky 6.0.31 "Kirkwood"- Clients: Philips Streamium NP2500, Sagem "My Dual 700", WD TV Live Gen.2 + Gen.3, - TV:Philips 42PFL8654

User avatar
phibertron
Posts: 1566
Joined: Sun Jan 30, 2011 5:52 pm
AV Hardware: Hardware
========
WHS - HP Ex495
PS3
XBOX 360
iTouch - Gen 2 and Gen 3
PSP - 3000

Encoders
========
Handbrake
x264
ffmpeg
mencoder

Tagging
======
mp3tag

Re: Navtree (How to show folders at the root solved and more

Postby phibertron » Sun Mar 06, 2011 12:49 am

Here ya go :D
Attachments
mikle_01 Custom Navtree test 6.zip
(2.07 KiB) Downloaded 101 times
viewtopic.php?f=2&t=10627
viewtopic.php?f=2&t=9353
viewtopic.php?f=2&t=9408
viewtopic.php?f=2&t=9416
viewtopic.php?f=2&t=9424
viewtopic.php?f=2&t=9364
viewtopic.php?f=2&t=9497

salsaholic
Posts: 14
Joined: Tue Mar 27, 2007 9:20 am
AV Hardware: Raidsonic ICY BOX IB-NAS-1000-B / Twonky 4.3
Terratec Noxon iRadio 2
Contact:

Re: Navtree (How to show folders at the root solved and more

Postby salsaholic » Mon Mar 07, 2011 11:23 pm

Hello Phibertron,
wow, this is an impressive thread!
Do you know if the following would be possible:
Offer a few different options in root like "ChildrensMusic", "Classical", "Mainstream", which all point to different (sub-)directories. From there on I would like to see the normal navigation options (or just some of them), like "artist/album", "by year" and so on.
The core idea is to keep different music collections apart, while still being able to navigate within each of them in the known way...
I just love to listen to a mix of all of my latin music, but it's not quite the same when Children's music, comedy and other stuff get mixed in as well :lol:
I don't want to use genres for this, as my genre definitions are much more detailed.

Alternatively, I also wouldn't mind too much to have the first two menu levels merged into one, with entries such as "Children's: Artist/Album", "Children's: by year", "Classical: Artist/Album"... etc. I think I could manage to keep the list at a handleable size ;)
If you think this would be possible, I'd appreciate some hints :)


Return to “TwonkyServer”

Who is online

Users browsing this forum: Bing [Bot] and 2 guests