Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

allowing new sort tags (e.g., composersort for composer) #1795

Closed
pfps opened this issue Jan 19, 2016 · 8 comments
Closed

allowing new sort tags (e.g., composersort for composer) #1795

pfps opened this issue Jan 19, 2016 · 8 comments

Comments

@pfps
Copy link
Contributor

pfps commented Jan 19, 2016

The current list of tags that have associated sort tags is rather small (artist, album, and a couple of others). It would be nice to have this be larger. In particular I would like to have a composersort tag for classical music.

Would it be easier to just expand the set of sort tags or to have a way for users to add new sort tags?

@declension
Copy link
Member

Adding composersort is a quick-win here.

To me, more prefs and configuration to customise behaviour for certain tags doesn't feel sufficiently useful / right here, but it might be worth seeing what cases users have. genresort doesn't feel that useful, for example, but originalartistsort maybe (essentially, people-based ones only)...

@pfps
Copy link
Contributor Author

pfps commented Jan 26, 2016

Adding composersort is a one-character change to tags.py.
I agree that genresort isn't useful.
I guess the question is where to stop, if there isn't some way for users to set things up their own way.

@lazka
Copy link
Member

lazka commented Jan 26, 2016

There are two things the defined sort tags are currently used for:

  1. Show the sort variants in tag completion; Indicate the we support the sort tag and will try to write it in a "standard" way depending on the tagging format.
  2. Use the tag for actual sorting.

We could decouple those and just use all sort tags for sorting even if not supported by us (endswith("sort")). If that is a performance issue we could blacklist common tags where sort tags don't make much sense like genre/title/tracknumber etc..

@zsau
Copy link
Contributor

zsau commented Jan 26, 2016

Sort tags always struck me as a hacky solution to the problem. Could there be a better way? Some general means of specifying how a pattern should be sorted, which could use whatever tags the user wants (including -sort tags, if the user wants; QL just wouldn't have to know or care about them specifically).

It would also be useful in places like the paned browser, where I would love to have the ability to do things like sort albums by release date without including the date in the display pattern.

@lazka
Copy link
Member

lazka commented Jan 26, 2016

Sort tags always struck me as a hacky solution to the problem. Could there be a better way? Some general means of specifying how a pattern should be sorted, which could use whatever tags the user wants (including -sort tags, if the user wants; QL just wouldn't have to know or care about them specifically).

Using common sort tags makes interop with other players easier. Your suggestion sounds good as an addition to sort tags, but you should file a new issue for this.

@pfps
Copy link
Contributor Author

pfps commented Jan 26, 2016

I agree that sort tags are a less-than-ideal general solution. But what is the best solution? For English phrases there is a normal thing to do (move initial The and A to the end), but what counts as an English phrase in music titles? For names there is a normal thing to do (sort on the family name), but finding the family name in a name is not always easy. Sort tags are what is currently used elsewhere so it seems that they have to handled in quodlibet. Given that, let's handle them as best possible.

@urielz
Copy link
Contributor

urielz commented Jan 26, 2016

@zsau I really like that idea. I second that idea as an additional feature.

@declension
Copy link
Member

Re-open if necessary, or maybe open specific feature requests for any of the ideas above.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants