Skip to content

Smartify the Artists View #57

@aquagoose

Description

@aquagoose

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:
Image

It also doesn't handle case sensitivity:
Image

And whatever the heck this is:
Image

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??? Image
  • 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.

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions