Customize Upnp Media Library Tree, How can i achieve this? |
![]() ![]() |
Customize Upnp Media Library Tree, How can i achieve this? |
Oct 8 2010, 11:01
Post
#1
|
|
|
Group: Members Posts: 4 Joined: 8-October 10 Member No.: 84434 |
Hi guys,
i'm currently trying to improve my home media network where foobar (v 1.1) with foo_upnp (0.99.29) is my upnp music server. The problem is that the media library tree doesn't really fit my needs. i want to achieve the following structure displayed in the connected media players (nokia hd-1): - "Media Library" - "Album" - "A" - %album% //all albums beginning with "a" - "B" - %album% //all albums beginning with "b" ... - "Album Artist" - "A" - %album artist% // first beginning with "a" - %album% - %album% - %album artist% // second beginning with "a" - %album% ... - "Genre" - "Alternative" - %album% - %album% - "Rock" - %album% ... - "Audiobooks" // %genre%=="audiobook" or "speech" - %album artist% - %album% - %album% - %album artist% - %album% ... - %folders% - "Playlists" So, is it possible to achieve this or at least something similar, or am i trying to get to much. This post has been edited by vanMiez: Oct 8 2010, 11:23 |
|
|
|
Oct 8 2010, 23:56
Post
#2
|
|
|
Group: Developer Posts: 1074 Joined: 13-November 05 Member No.: 25748 |
The Media Library tree is defined in file foo_upnp_ml_tree.xml found in your foobar2000 profile directory. This directory
can be in different location depending on the version of Windows an type of installation (let me know if you need instructions on how to find it). Just create (or replace) file foo_upnp_ml_tree.xml with the following content: CODE <MediaLibraryTree> <SubTree label="Albums"> <spec type="object.container.album.musicAlbum">%album%[ '['%album artist%']']</spec> </SubTree> <SubTree label="Album Artists"> <spec type="object.container.person.musicArtist">%album artist%</spec> <spec type="object.container.album.musicAlbum">%album%</spec> </SubTree> <SubTree label="Genres"> <spec type="object.container.genre.musicGenre">%<genre>%</spec> <spec type="object.container.album.musicAlbum">[%album artist% - ]%album%</spec> </SubTree> <SubTree label="Audiobooks" query="genre IS audiobook OR genre IS speech"> <spec type="object.container.person.musicArtist">%album artist%</spec> <spec type="object.container.album.musicAlbum">%album%</spec> </SubTree> <SubTree label="Folders" type="filesystem"/> </MediaLibraryTree> To enable A-Z splitting you'll need to enable "Split nodes by first letter if more tha 0 items" in File>Preferences>Tools>UPnP>Server>Content. You may also want to uncheck "Show Playback Stream Capture" if you do not want this in the root node. After those modifications restart the server (or foobar2000). This post has been edited by bubbleguuum: Oct 8 2010, 23:58 |
|
|
|
Oct 9 2010, 13:49
Post
#3
|
|
|
Group: Members Posts: 4 Joined: 8-October 10 Member No.: 84434 |
GREAT!!!
thank you very much... is it somehow possible to make the "split nodes" not global but for all subtrees except the audiobook subtree? problem is that the "split nodes" in the audiobook subtree would put all episodes of a series together in a folder "0-9" if the episodes are called eg: "01: the beginning", "02:sequel". Or is it at least possible to define an entry point to the filesystem node, because that would make it possible to jump directly to the audiobooks folder wich is (in my case) structured very well and i could achieve it that way. thx |
|
|
|
Oct 9 2010, 14:11
Post
#4
|
|
|
Group: Developer Posts: 1074 Joined: 13-November 05 Member No.: 25748 |
GREAT!!! thank you very much... is it somehow possible to make the "split nodes" not global but for all subtrees except the audiobook subtree? problem is that the "split nodes" in the audiobook subtree would put all episodes of a series together in a folder "0-9" if the episodes are called eg: "01: the beginning", "02:sequel". Or is it at least possible to define an entry point to the filesystem node, because that would make it possible to jump directly to the audiobooks folder wich is (in my case) structured very well and i could achieve it that way. thx I'll make the split node option overridable per node, in the XML. Initially this option was a global toggle intended for use with the PS3 that is limited in the number of nodes it will list. Btw 0 is not a valid value for the "Split nodes by first letter if more ..." option. You must set a value of 1 or greater. |
|
|
|
Oct 9 2010, 18:50
Post
#5
|
|
|
Group: Members Posts: 4 Joined: 8-October 10 Member No.: 84434 |
QUOTE I'll make the split node option overridable per node, in the XML. that sounds great and i can't wait to give it a try. thank you for this. Am i right that media added new to the library won't show up on upnp devices until foobar is restarted? Is there a list containing all commands usable with foo_upnp and explaining them or a How-To? This post has been edited by vanMiez: Oct 9 2010, 18:59 |
|
|
|
Oct 11 2010, 18:32
Post
#6
|
|
|
Group: Members Posts: 4 Joined: 8-October 10 Member No.: 84434 |
cause i'm from germany i would rather use 'Hörbuch' instead of 'Audiobook' but i couldn't manage to get this to work.
it is definetly a problem with the 'ö' cause everything else is working fine. how can i get this to work? please help me... again |
|
|
|
Oct 11 2010, 21:18
Post
#7
|
|
|
Group: Developer Posts: 1074 Joined: 13-November 05 Member No.: 25748 |
cause i'm from germany i would rather use 'Hörbuch' instead of 'Audiobook' but i couldn't manage to get this to work. it is definetly a problem with the 'ö' cause everything else is working fine. how can i get this to work? please help me... again You can use this table to map chararcters > 127 to xml codes: in your case, ö is coded by & #246; (remove the space between & and #) This post has been edited by bubbleguuum: Oct 11 2010, 21:22 |
|
|
|
May 24 2012, 20:56
Post
#8
|
|
![]() Group: Members Posts: 224 Joined: 6-January 04 Member No.: 11006 |
This is a very old thread, but I think it's better than creating a new one.
My question: I'd like to add a node that shows the %added% / $if2($cut(%added%,10)) value. But I can't manage to create it. Does anyone know how to achieve that? Thank you very much. JD |
|
|
|
May 26 2012, 10:55
Post
#9
|
|
![]() Group: Members Posts: 224 Joined: 6-January 04 Member No.: 11006 |
Ok I managed myself. The problem was that for some reason the add-on did not update the xml file or used another one from my computer.
Well I reinstalled the add-on, deleted the old xml and added this line to the new xml file: CODE <SubTree label="Added"> <spec>$if2($cut(%added%,4),old|)</spec> <spec>$if2($cut(%added%,7),old|)</spec> <spec>[%album artist% - ]%album%</spec> </SubTree> And that works well on my PS3. Thanks for foo_upnp. JD This post has been edited by John Doe: May 26 2012, 10:56 |
|
|
|
Jan 11 2013, 02:21
Post
#10
|
|
|
Group: Members Posts: 5 Joined: 17-August 12 Member No.: 102418 |
I have a request and I don't know whether to start a new post or just ask here since it's very close to being the right place. Using the Media Server function of foobar, I want to be able to select "genre", then select the one I want and then like artists already do after you've selected one, select "All Tracks" so that all the tracks in the library with that genre will play regardless of artist, album, etc. It works fine on the PC itself using the foobar program but I am trying to do this over the server function from my receiver. When I select the Foobar media server, it gives me all the "normal" options, album, artist, album artist, yeah, genre, etc. I want to be able to select a certain genre and play them all. It seems like an easy thing to re-write the code for seeing that when you clikc on artist, and pick one it gives you the option "All tracks." However after looking at the "customize media library tree..." in the advanced settings in the content tab, there isn't anything that says "all tracks."
I ended up starting a new post so if you want me to delete this post please tell me to do so. Please help and thanks Ben This post has been edited by bmcelvan: Jan 11 2013, 02:38 |
|
|
|
![]() ![]() |
|
Lo-Fi Version | Time is now: 21st May 2013 - 20:07 |