Pastim writes

Much of my music is in minimserver Groups, broadly corresponding to Classical Works.

Many individual tracks (movements) are rated with a Rating tag which is also a minimserver Index tag.

Using minimserver, I select Rating 90, then xyz Items and select random play by tracks. However, I don’t get only tracks at rating 90, but a mix of Ratings. I think what I see is random tracks from Works (Groups) that have an track within them that is rated at 90.

That isn’t what I would expect, or want. I expect to see only tracks that have rating 90.

If I had selected random play by groups that would be different, and then I’d expect to play groups that have within them one or more tracks rated at 90.

I have a feeling that this may be more of a minimserver issue than a upplay one. Drilling down from xxx items I seem find whole groups, not just tracks with Rating 90.

Does that make sense?

medoc92 writes

If you see groups under Rating 90, then upplay sees the same thing, so I’m not surprised that it plays the whole groups. Upplay mostly does the exact same browsing that you can do "by hand".

At some point, the only approach to avoid these issues would be to download the whole tags db, organize it locally in an SQL database, and let you use arbitrary SELECT … ORDER BY statements to make your selection…

Why not, by the way, this would be an interesting feature, although probably with a small demographic target :)

Pastim writes

I don’t think that’s very practical for me, not least because the database changes frequently with new music.

However, as a matter of interest, how would I get hold of the tags database (I’m familiar with SQL)?

Pastim writes

I found a solution in minimserver.

I can run two copies on linux. One has the Group tag aliased to something else, so minimserver doesn’t use groups at all. I can use that copy for random tracks.

A bit of a bodge, but a working bodge none the less.

medoc92 writes

About the track ratings subtree containing whole groups, I think that the best approach would be to have an option in MiminServer to determine if this should occur.

Another approach would be that upplay selectively prunes part of the subtree, dependant on where it is rooted. This would be quite specific to minimserver though, the more primitive servers don’t show such branchy trees. And also a moving target probably, one sometimes get the feeling that the MinimServer view of tracks is more like a living rainforest than an ordinary computer object…

About the SQL approach: I’d have to do what a number of renderers do: first extract the whole tags information from the Media Server. This would be hard to do with MinimServer, but I guess that, with enough effort, I could end up determining a specific way to partially walk the tree which would yield all the information without taking forever.

The information would then be inserted into a local SQLite db, which could deliver sets of tracks resulting from SQL queries. This last part should not be particularly difficult.

This is quite a lot of effort, and quite specific to MinimServer.

I think that it would be quite a better approach to check with Simon if the MinimServer search feature would have a way to do what you want, or if Simon would be willing to extend it appropriately.

It has seemed to me that search was his preferred interface for Control Points to perform automatic selections of tracks (rather than walking the tree). The current Upplay search interface could be easily extended to accept freeform text from the user (this would be another entry in the album/title/artist multiple choice, "free text").

You could then just enter something like "xxx:rating > 90" in the search entry, and get what you want.

Pastim writes

I now have 2 copies of minimserver running, one with Groups, and one without (by setting an Alias for the Group tag), so I can do 95% of what I want. About the only thing I can’t do is search for ratings > n, rather than = n (as per your suggestion).

I don’t understand the interface between CPs and UPnP servers, so it’s hard for me to know what question to ask of Simon, or to understand the answer well enough. Is the search feature part of the UPnP specification, or special to minimserver?

medoc92 writes

Search is part of the UPnP specification, it is an alternate way to fetch track descriptors, besides browsing the container/item tree presented by the server.

Did you open a discussion about your issue with ratings and groups on the MinimServer forum ?

Maybe I could participate to bring my more low level/technical approach of the problem

Pastim writes