-
-
Notifications
You must be signed in to change notification settings - Fork 0
Description
Problem
Currently (as of 0.0.8) the artists view just sorts each song artist as a whole. This means that if, for example an album has one artist, but multiple collaborations, each song will get sorted into its own artist.
For example in my library I have multiple Gorillaz with other artists:

It also doesn't handle case sensitivity:

And whatever the heck this is:

Obviously the last 2 issues should be sorted fairly easily, however the first issue is not so easy to fix.
Many players will work exactly how Glimpse currently works, but I personally hate this. If I want to play Gorillaz, I want to play all Gorillaz songs, not just the ones that don't have any collabs.
Proposal
So I propose the following. Pretend that each bullet point is the album view:
- alt-J
- Basement Jaxx
- David Guetta
- Faithless
- Gorillaz ▽
- Gorillaz
- Gorillaz & Lou Reed
- Gorillaz & Mark E. Smith
- etc
If you click on the top level section, it shows you all songs by that artist, including collaborations. But if you click on the arrow, it drops down a list which shows all categories, which works like it does currently. If you click on just Gorillaz it shows all songs by only that artist, etc.
Difficulties
- I'd ideally like to have the songs show up under different artists name as well, so for example under "Lou Reed" there would also be a "Gorillaz & Lou Reed" section. But that may be confusing to implement.
- How do you determine the difference between "Gorillaz & Lou Reed" (2 different artists) with "KC & The Sunshine Band" (name of artist)? You can't. Not without specific clauses in the code to handle this, which isn't really feasible.
- How many different combinations are there to determine different artists? So far I know of:
- X & Y
- X, Y
- X vs. Y (with and without period)
- X versus Y
- X featuring Y
- X feat. Y (with and without period)
- This is just from my library, which is reasonably sanitized, so who knows what other combinations there are out there
- How do you deal with this???

- There is also the slight problem of supporting multiple languages.
I'd be interested to hear feedback and ideas on how best to do this, and what people would want. Parts of this may be rather complicated to resolve.