Post Reply 
 
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
thank you and some questions...
27-01-2012, 04:30
Post: #1
thank you and some questions...
Great to see a UPnP AV server oriented for music playback! Smile

I read all the doc and have a rough idea of the whole thing. Just some comment...

Currently I'm using foobar2000 upnp server. Since foobar supports album art in multiple filenames, I have around 2/3 album art named cover.jpg and 1/3 in folder.jpg (and very few in embedded cover art). It should be great if minimserver can use cover.jpg too.

The idea of user customized tag name is great. In my setup, most of the album are of course from CD, and there are some from SACD, DVD-Audio, Studio Master and even some Vinyl rip. Hence I create a tag name "AUDIOFORMAT", with the string of "Super Audio CD", "DVD Audio", "Studio Master", "USB Audio" (there is an album disturbed on USB flashdrive! quality is 48k/24bit I think), "Vinyl rip" etc. And I modified foobar upnp server browser tree xml to add a tree with this "AUDIOFORMAT" tag. I guess that will work in minimServer too!

IMO, I'm thinking my ideal music playback system... I want a music server which can read any user defined tag, which minimServer already does. Then a controller will list all the tag for the user to browse and search. This new music server may solve half of the problem...

Random ranting, a artist usually has multiple albums, when browsing by artist, I want the list of album to order in release date (sort by the "YEAR" tag), from the newest album to the oldest. But that is impossible, all the controller can do is simply list the list by the server, which is in album name order! For this annoying issue, I spent a few days studying foobar internal expression syntax and appended the release date in front of the album name (when browsing under "Artist" tree). So I can finally have albums under artist listed in release date, BUT, only in ascending order! Listing in descending order is still not possible...
Find all posts by this user
Quote this message in a reply
28-01-2012, 09:10
Post: #2
RE: thank you and some questions...
(27-01-2012 04:30)psme Wrote:  Great to see a UPnP AV server oriented for music playback! Smile

I read all the doc and have a rough idea of the whole thing. Just some comment...

Currently I'm using foobar2000 upnp server. Since foobar supports album art in multiple filenames, I have around 2/3 album art named cover.jpg and 1/3 in folder.jpg (and very few in embedded cover art). It should be great if minimserver can use cover.jpg too.

I could add that. My only concern is how many other naming conventions for this file might be out there. I saw a post on another forum saying that J River Media Center will use any .jpg file as the cover art, as long as it is the only .jpg file in the folder. This seems like a more attractive solution, as it doesn't require hard-coding a list of possible filenames. Do your folders have a single .jpg file named cover.jpg?

Quote:The idea of user customized tag name is great. In my setup, most of the album are of course from CD, and there are some from SACD, DVD-Audio, Studio Master and even some Vinyl rip. Hence I create a tag name "AUDIOFORMAT", with the string of "Super Audio CD", "DVD Audio", "Studio Master", "USB Audio" (there is an album disturbed on USB flashdrive! quality is 48k/24bit I think), "Vinyl rip" etc. And I modified foobar upnp server browser tree xml to add a tree with this "AUDIOFORMAT" tag. I guess that will work in minimServer too!

Yes, that would work in MinimServer. The only thing you'd need to do is set the userTags property to include the AudioFormat tag. I've put this in mixed case because the values in userTags are the values that are shown when the user is browsing. When reading tags from audio files, the upper-case form (e.g., AUDIOFORMAT) will be used.

Quote:IMO, I'm thinking my ideal music playback system... I want a music server which can read any user defined tag, which minimServer already does. Then a controller will list all the tag for the user to browse and search. This new music server may solve half of the problem...

Actually, it will solve all of the problem, because the controller just displays what the server sends it. So if you add a new tag to MinimServer and to your audio files, all controllers will display the new tag without any change needed at the controller end.

Quote:Random ranting, a artist usually has multiple albums, when browsing by artist, I want the list of album to order in release date (sort by the "YEAR" tag), from the newest album to the oldest. But that is impossible, all the controller can do is simply list the list by the server, which is in album name order! For this annoying issue, I spent a few days studying foobar internal expression syntax and appended the release date in front of the album name (when browsing under "Artist" tree). So I can finally have albums under artist listed in release date, BUT, only in ascending order! Listing in descending order is still not possible...

I've already had another request on the Linn forum for this. I'm interested in adding support for this, but in a more general fashion so that people can apply a custom sort order to any sorted list. I'll start thinking about the best way to provide this capability.

Thanks for all the comments and questions!
Find all posts by this user
Quote this message in a reply
30-01-2012, 03:19 (This post was last modified: 30-01-2012 04:16 by psme.)
Post: #3
RE: thank you and some questions...
(28-01-2012 09:10)simoncn Wrote:  I could add that. My only concern is how many other naming conventions for this file might be out there. I saw a post on another forum saying that J River Media Center will use any .jpg file as the cover art, as long as it is the only .jpg file in the folder. This seems like a more attractive solution, as it doesn't require hard-coding a list of possible filenames. Do your folders have a single .jpg file named cover.jpg?

Some albums I do have other jpg under the folder for other info, such as the back cover, liner note image etc.

I think maybe let user to input their cover art filename, just like foobar2000. For example:

search for folder.jpg, then cover.jpg:
folder.jpg, cover.jpg

search for the first jpg:
*.jpg

btw, forgot to ask, does minimServer supports "search" request from a UPnP controller? That is because iPad controller app SongBook 11' HD does not work (can't show any item/album) with minimServer. I heard SongBook use "search" to find album on UPnP server.
well, I might as well ask all I wanted! Smile

I tried almost all major UPnP AV server out there, most are rubbish (including J.RiverMC as it down-scale album art)!

The only usable are Asset UPnP and foobar2000 upnp. The 1 good point for Asset UPnP is it supports "search" so it works with SongBook 11' HD iPad app, which is the must beautiful looking controller app, but very very slow in operation even on a iPad2.

But foobar2000 upnp is my primary server due to 1 unique feature: remote streaming. In foobar2000 upnp there is a Internet streaming setting with a username and password. On the controller side, it seems only PlugPlayer can work with it. In PlugPlayer there is a "manually add a server" option, and I input the remote server URL as:
http://username:password@mymusic.server.com:port/DeviceDescription.xml

Then I can access all my song anywhere!

Just something to think about! Smile
Find all posts by this user
Quote this message in a reply
30-01-2012, 08:06
Post: #4
RE: thank you and some questions...
(30-01-2012 03:19)psme Wrote:  Some albums I do have other jpg under the folder for other info, such as the back cover, liner note image etc.

I think maybe let user to input their cover art filename, just like foobar2000. For example:

search for folder.jpg, then cover.jpg:
folder.jpg, cover.jpg

search for the first jpg:
*.jpg

I could do something like that, but it adds complexity because the option has to be added to the properties dialog, documented and explained. The syntax is tricky as well, because it's legal to have filenames containing blanks and commas. The folder.jpg convention is widely used by most other UPnP servers (maybe all except foobar2000?), so perhaps it makes more sense to use something like this free tool to quickly rename all the cover.jpg files to folder.jpg.

Quote:
btw, forgot to ask, does minimServer supports "search" request from a UPnP controller? That is because iPad controller app SongBook 11' HD does not work (can't show any item/album) with minimServer. I heard SongBook use "search" to find album on UPnP server.
well, I might as well ask all I wanted! Smile

The current beta version of MinimServer doesn't support UPnP Search requests. I'm planning to add that in a future release.

Quote:I tried almost all major UPnP AV server out there, most are rubbish (including J.RiverMC as it down-scale album art)!

The only usable are Asset UPnP and foobar2000 upnp. The 1 good point for Asset UPnP is it supports "search" so it works with SongBook 11' HD iPad app, which is the must beautiful looking controller app, but very very slow in operation even on a iPad2.

But foobar2000 upnp is my primary server due to 1 unique feature: remote streaming. In foobar2000 upnp there is a Internet streaming setting with a username and password. On the controller side, it seems only PlugPlayer can work with it. In PlugPlayer there is a "manually add a server" option, and I input the remote server URL as:
http://username:password@mymusic.server.com:port/DeviceDescription.xml

Then I can access all my song anywhere!

Just something to think about! Smile

That's an interesting suggestion. It seems similar to "cloud" streaming, which appears to be getting quite popular at the moment. I'll think about the possibility of providing something like this as a future add-on to MinimServer.

Simon
Find all posts by this user
Quote this message in a reply
30-01-2012, 08:58
Post: #5
RE: thank you and some questions...
(30-01-2012 08:06)simoncn Wrote:  I could do something like that, but it adds complexity because the option has to be added to the properties dialog, documented and explained. The syntax is tricky as well, because it's legal to have filenames containing blanks and commas. The folder.jpg convention is widely used by most other UPnP servers (maybe all except foobar2000?), so perhaps it makes more sense to use something like this free tool to quickly rename all the cover.jpg files to folder.jpg.

Ok, how about this? Keep the folder.jpg as the default album art filename. And add a properties option for the user to specific an alternative filename. So when folder.jpg is not found, it will look for the alternative filename. Since there is only 1 alternative filename, there is no "syntax" issue. User can use whatever valid filename or use wildcard to find the first matched file.
Find all posts by this user
Quote this message in a reply
30-01-2012, 10:53
Post: #6
RE: thank you and some questions...
(30-01-2012 08:58)psme Wrote:  Ok, how about this? Keep the folder.jpg as the default album art filename. And add a properties option for the user to specific an alternative filename. So when folder.jpg is not found, it will look for the alternative filename. Since there is only 1 alternative filename, there is no "syntax" issue. User can use whatever valid filename or use wildcard to find the first matched file.

I've been doing some web searching and it seems there are a few other naming conventions for album/cover art files:

Winamp: [album].jpg
dbPoweramp: [filename].jpg, [album].jpg
Android: AlbumArt*.jpg
some MP3 players: [filename].jpg

Having seen all this, I think I need to add more flexibility to MinimServer, including the ability to have per-track art files as well per-album art files.

I could do this either by adding an albumArt property with a pattern-matching language (hopefully not too obscure), or by building the common patterns into MinimServer's default algorithm.

At the moment I'm inclined to do the latter because I think this will be simpler for users. So as the first step down that path, I'll add support in the next release for cover.jpg and cover.png if there's no folder.jpg or folder.png file.

Simon
Find all posts by this user
Quote this message in a reply
31-01-2012, 03:13 (This post was last modified: 31-01-2012 03:22 by psme.)
Post: #7
RE: thank you and some questions...
Thanks! As long as my cover art works! Smile

The reason I'm asking "search" function is I'm talking a friend into making a controller app which simply use the "search" to grab all the song and tag info. Then build a local database on the controller side (iPhone/iPad etc). Then the controller will let user to customized their browsing page to whatever way. After the initial data download, the controller operation will be much faster (provided the controller hardware is fast enough), and the browsing presentation is totally not limited by the server tree...

Well, kind of like SongBook 11' HD, with a much faster operation speed and much flexible user defined UI...

PS: a dumb controller simply display a static server tree is really lame...

PPS: the friend test Asset UPnP "search" function and it works. But the server only return those common tags such as Artist, Title, Genre etc, so there is no way it can return my special "AudioFormat" tag in "search" request. But minimServer has user defined tag. It'd be perfect when "search" is supported and return all user defined tag to a controller...
Find all posts by this user
Quote this message in a reply
31-01-2012, 07:21
Post: #8
RE: thank you and some questions...
I agree that search is an important capability, and I definitely want to add it. It's not top of my list at the moment because it's an optional part of the UPnP AV specification and isn't currently supported by most browsers. As you say, it would open up a lot of great possibilities for the control point to work cooperatively with the server to give the user the best possible browsing and searching experience.

Actually, what you describe can be done at the moment with the Browse operation by having the controller browse the whole tree and store the results. PlugPlayer does something like this by preloading quite a lot of the tree but not all of it, perhaps because of bandwidth or memory constraints.
Find all posts by this user
Quote this message in a reply
31-01-2012, 10:16
Post: #9
RE: thank you and some questions...
Brute force browse the whole tree is a very poor option, because usually there are tons of repeated listing under multiple branches. If the library is very big, the initial browsing may take very long, and the controller may run out of system resource trying to store the whole list in multiple copies...

That remind me about minimServer way of listing tracks of an album from a single artist, and also offer a entry of "list the whole album". It's a good feature when the user wants it. But sometimes I want to add all songs under a artist, by adding the artist "folder", which will add all songs under the artist. But in this case this "list the whole album" entry under a artist gets in the way and cause repeated entry to the playlist.

In the end, server side browsing really couldn't cut it. We need a smart controller which gets all the song and tag info from a server, then let user browses in their own customized way.
Find all posts by this user
Quote this message in a reply
31-01-2012, 11:07
Post: #10
RE: thank you and some questions...
(31-01-2012 10:16)psme Wrote:  Brute force browse the whole tree is a very poor option, because usually there are tons of repeated listing under multiple branches. If the library is very big, the initial browsing may take very long, and the controller may run out of system resource trying to store the whole list in multiple copies...

If the controller is really dumb about this (e.g., Windows Media Player) then that does happen. The controller should be able to be smart about seeing entries that it has already seen previously and not create duplicates.

Quote:That remind me about minimServer way of listing tracks of an album from a single artist, and also offer a entry of "list the whole album". It's a good feature when the user wants it. But sometimes I want to add all songs under a artist, by adding the artist "folder", which will add all songs under the artist. But in this case this "list the whole album" entry under a artist gets in the way and cause repeated entry to the playlist.

You can get repeated entries, but this isn't caused by the "Complete Album" feature, and the repeated entries shouldn't include any songs that aren't by the selected artist. I've designed the "Complete Album" feature in a way that should prevent any "other artist, same album" tracks from being selected. This is the purpose of the strange "Hide Contents" selection.

I see these duplicate entries myself, and they're created because the Artist name selection displays subcontainers for "xx items", "xx albums", and one or more tags. If the controller is dumb (see above), it creates duplicates for the contents of all these subcontainers.

I think the Search operation would allow the server to eliminate these duplicates, even if the control point is dumb. That's one of the reasons that I would like to add support for Search.

Quote:In the end, server side browsing really couldn't cut it. We need a smart controller which gets all the song and tag info from a server, then let user browses in their own customized way.

I don't quite agree with that. I think it's possible to go quite a long way with a server-side approach (and hopefully MinimServer is an example of what can be achieved), but it's true that further improvements would be possible if the controller and the server are working together. A simple example is for the controller to eliminate any duplicates sent by the server.

Simon
Find all posts by this user
Quote this message in a reply
Post Reply 


Forum Jump:


User(s) browsing this thread: 1 Guest(s)