Page 1 of 1

New Navtree files are not listed in First Steps

Posted: Sat Nov 26, 2011 4:45 pm
by Louv
I added some new view.xml files to the folder resources/views, but none of them appears in the drop down list on the First Steps screen.
I am sure I copied them to the right directory, because the existing entries in the drop down box dissapear when I delete the corresponding view files.
I use Twonkyserver 6.0.34 on a Qnap Ts419P+
What is my mistake? :?:

Re: New Navtree files are not listed in First Steps

Posted: Sat Nov 26, 2011 5:03 pm
by phibertron
Did you also add them to the view-definitions.xml

This is the first line of that file

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

You'll have to add the name= used in a view to the above list

above there is simpledefault listed, and from that view that is also its name=

<view name='simpledefault' path='simple.view'>

Re: New Navtree files are not listed in First Steps

Posted: Sat Nov 26, 2011 6:39 pm
by Louv
Thanks for your answer, but it won't work yet.

I added the new view (musica) as follows:
<view name='base' viewlist='advanced,folder,ipodlike,simple,classified,playlists,mobile,musica' guilist='advanceddefault,ipodlike,simpledefault,byfolder,mobile,musica'>
the result is, that Twonkyserver hangs and the whole NAS has to be restarted.

Maybe I have to add another statement, but I cannot interprete this part of your answer:
above there is simpledefault listed, and from that view that is also its name=<view name='simpledefault' path='simple.view'
Could you be more specific?
I checked the View Configuration Update (Version 5.1.8) but did not find the solution.
thanks in advance!

Re: New Navtree files are not listed in First Steps

Posted: Sat Nov 26, 2011 7:36 pm
by phibertron
Is the view name musica.view.xml?

and is the first line in the musica.view.xmllike this?

<view name='musica' path=musica.view'>

I havent played around with the custom views in a while,
I usually just edit the one I wantas my default
but kind of remembering that I had to name the guilist name different for it to work

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

not sure why I had to do that back then, or if its still the case

Re: New Navtree files are not listed in First Steps

Posted: Sat Nov 26, 2011 7:56 pm
by Louv
No, this won't work eiter. The musica view does not appear in the drop down list.

Basically, I want a navtree element based on composer/album. I didn't find any tree based on this.
Would you have a coding example that I could insert in the view-definitions.xml in order to get that?

Re: New Navtree files are not listed in First Steps

Posted: Sat Nov 26, 2011 7:59 pm
by phibertron
Are you restarting twonky after making changes?

If yes, is it still hanging?

Re: New Navtree files are not listed in First Steps

Posted: Sat Nov 26, 2011 8:05 pm
by Louv
Yes, I restart and it does not hang, but does not show the new view.

Re: New Navtree files are not listed in First Steps

Posted: Sat Nov 26, 2011 8:10 pm
by phibertron
Here is what you could do to edit the built in views

view-definitions.xml

in the music section <container name='music'
add the following code

Code: Select all

<container name='Composer/Album' groupid='music/composeralbum' class='object.container' createClass='object.item.audioItem.musicTrack'>
	<container buildon='upnp:author@role' createClass='object.item.audioItem.musicTrack' class='object.container.person.musicArtist' />
		<container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
	</container>
</container>

yourdefault.view.xml

In the music section <container id='music'>
add the following link

Code: Select all

<link groupid='music/composeralbum' />

Re: New Navtree files are not listed in First Steps

Posted: Sat Nov 26, 2011 8:38 pm
by Louv
Thanks. I added the code you provided as below. Twonky starts, but does not build any tree. I suspect there might be a syntax error or something like that.

<view name='base' viewlist='advanced,folder,ipodlike,simple,classified,playlists,mobile,musica' guilist='advanceddefault,ipodlike,simpledefault,byfolder,mobile,mymusica'>
<navtree sortcriteria='+upnp:originalTrackNumber'>
<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>
<container name='Composer/Album' groupid='music/composeralbum' class='object.container' createClass='object.item.audioItem.musicTrack'>
<container buildon='upnp:author@role' createClass='object.item.audioItem.musicTrack' class='object.container.person.musicArtist' />
<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: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>

Re: New Navtree files are not listed in First Steps

Posted: Sat Nov 26, 2011 8:42 pm
by phibertron
It could be the groupid

try

<container name='Composer/Album' groupid='custom/composeralbum'

and

<link groupid='custom/composeralbum' />

also change

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

to

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

Re: New Navtree files are not listed in First Steps

Posted: Sat Nov 26, 2011 8:50 pm
by Louv
No, it doesn't work either.
Could it be that the number of times the 'container' attribute is listen does not match?

</container>
<container name='Composer/Album' groupid='custom/composeralbum' class='object.container' createClass='object.item.audioItem.musicTrack'>
<container buildon='upnp:author@role' createClass='object.item.audioItem.musicTrack' class='object.container.person.musicArtist' />
<container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
</container>
</container>

Re: New Navtree files are not listed in First Steps

Posted: Sat Nov 26, 2011 8:57 pm
by phibertron
that would be it
when there is a />
at the end, it doesnt need a closing </container>

Code: Select all

<container name='Composer/Album' groupid='custom/composeralbum' class='object.container' createClass='object.item.audioItem.musicTrack'>
	<container buildon='upnp:author@role' createClass='object.item.audioItem.musicTrack' class='object.container.person.musicArtist' >
		<container buildon='upnp:album' albumart='1' sortcriteria='+pv:numberOfThisDisc,+upnp:originalTrackNumber' createClass='object.item.audioItem.musicTrack' class='object.container.album.musicAlbum' />
	</container>
</container>

Re: New Navtree files are not listed in First Steps

Posted: Sat Nov 26, 2011 9:34 pm
by Louv
It works. Thanks very much!!! :D

Re: New Navtree files are not listed in First Steps

Posted: Sat Nov 26, 2011 9:44 pm
by phibertron
Sweet!

Your Welcome