Post Reply 
Tags used as Sort Order Only ( Feature Request? )
05-01-2013, 09:38 (This post was last modified: 05-01-2013 09:52 by simoncn.)
Post: #2
RE: Tags used as Sort Order Only ( Feature Request? )
(05-01-2013 08:47)sidepipe Wrote:  Firstly, thanks Simon for giving us the almost perfect media server - but more than that for being so responsive to users... certain other authors could learn a thing or two Wink

Wasn't sure where to post this, so it ended up in "General", feel free to move it!

There have been various threads about sort order etc, and I see that there has now been a kludge implemented to ignore "the" for example. I like artists ordered by surname where appropriate.. my current "solution" is to use the album artist tag to create my sort field, so I'd tag "Amos, Tori" for example. This isn't ideal though, because I don't like them showing up in the list that way.

It seems to me that the simple answer to all this would be to introduce a list of tags used to sort albums/artists which is just that - a sort list which does not get displayed itself but is just used for an ORDERBY or some such. We can already index custom tags and so I'm supposing that it wouldn't be that tricky to implement.

Unfortunately the best example here is iTunes, much as I dislike it Smile It already has "Sort Artist" and "Sort Album Artist" tags ( which I think are actually soar and soaa ) which do this very thing... it even auto creates Sort Artist without the "The" if appropriate. So, in this example, you would add soaa and soar to the list of custom tags to index, and then specify the album sort order as something like "soaa,soar". If both are empty or not present, then Minim should fall back to using its previous fields.

It seems to me that this would give a generic and fairly easy to implement way of sorting based on user preferences, without resorting to separate files etc. You would not need the kludge for "The" any more either.

Apologies if this has been suggested before - even more so if its implemented and I didn't know Smile. I'm very new to Minimserver, coming here because I gave up trying to get Twonky to sort stuff as I wanted, and this is actually the final piece in the jigsaw.

Thanks for this suggestion. There has been quite a bit of discussion about this on the Linn forums, and this is a good opportunity for me to give a summary on this forum of how things stand.

I'm aware of the "separate sort tag" approach uses by iTunes and some other servers. This provides a lot of flexibility, but it requires all the tags to be entered twice. Doing this initially and then maintaining it could be quite a bit of extra work.

I've chosen a different approach for MinimServer. This isn't yet fully implemented, though I've already done quite a lot of work in the codebase to provide the necessary underpinnings to make this work efficiently.

The chosen approach is for any tag to have:
  • an index value, which is shown in the MinimServer index for browsing
  • a sort value, which is used by the MinimServer index for sorting
  • a display value, which is sent by MinimServer to the control point for displaying in the playlist, Now Playing screen, etc.
By default, all these values are the same. MinimServer will provide various customizations to allow any one of these to be different from the other two. This means you'll be able to have:

index value == sort value, different display value
index value == display value, different sort value
display value == sort value, different index value

One of the customizations supported will be "lastNameFirst". This means you'll be able to tag an artist as "Amos, Tori" and have this used as the sort value. For the index value and/or the display value, you can apply the "lastNameFirst" transformation, and MinimServer will automatically transform this to "Tori Amos".

Another customization will be "ignoreThe". The means you'll be able to tag an artist as "The Beatles" and have that used as the display value and index value. For the sort value, you can apply the "ignoreThe" transformation, and MinimServer will automatically transform this to "Beatles, The".

Edit: updated the previous paragraph.

Note: As you'll see from this, the current treatment of "ignoreThe" isn't a kludge, but a first step towards a much more general solution to the sort order problem.

It will also be possible to use an explicit tag to set the sort value. For example, a FLAC file could contain the tags
ARTIST=Tori Amos
ARTISTSORT=Amos, Tori
which would set the sort value to "Amos, Tori" and the display value and index value to "Tori Amos". For mp4 and ALAC files, the corresponding iTunes tags would be used.

One problem with the explicit tagging approach is that it's possible to have different files with the same ARTIST tags but with different ARTISTSORT tags. I haven't decided yet how MinimServer should handle this. My feeling is that this would be an oversight by the user, rather than a deliberate intention. MinimServer could either report the conflict and ignore both ARTISTSORT tags, or could choose the first one it sees and ignore the other(s).

Is it possible for this conflict situation to arise in iTunes? If so, how does iTunes handle it?
Find all posts by this user
Quote this message in a reply
Post Reply 


Messages In This Thread
RE: Tags used as Sort Order Only ( Feature Request? ) - simoncn - 05-01-2013 09:38

Forum Jump:


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