IrosTheBeggar / mStream

The easiest music streaming server available
http://mstream.io
GNU General Public License v3.0
2.22k stars 188 forks source link

Clickable currently playing song info to quick filter artist/album/year #333

Open flagg19 opened 3 years ago

flagg19 commented 3 years ago

image

To be clearer, I mean that by clicking on the name of the album, the left panel should switch to Albums (if it wasn't already there) with that album already filtered. I think it would help navigating big libraries.

Also, on other apps I frequently filter by year, I see that the year is the only main attribute saved but not usable for search/filter. Is there a particular reason?

IrosTheBeggar commented 3 years ago

I made the artist and album clickable in the latest commit

What kind of behavior do you expect when sorting by year?

flagg19 commented 3 years ago

M... good question. On my main PC I use a music program called "MusicBee" which handles years like this:

(Anno = Year in Italian) image

When sorting by year, there's a timeline above that let you quickly jump to the first song of the list for that year (how it decides how to sort songs inside each year group, I don't know). So it's not actually filtering, it's sorting + a shortcut to get to the desired year.

Now, back to mStream, there's no way to explicitly sort songs AFAIK, so this approach would require too many changes. Maybe something like this:

image

And clicking on an year would get you to... m... Let's see, now:

Three options:

Honestly, I'm not sure, when I asked I thought it was obvious but now that I think of it, it's not. My use case is, a decent part of my library is made of artists/albums/songs in languages that do not use standard ASCII characters, so remembering exact names, and even if I do, actually typing them, is very difficult. One of the best way to find things is by year (and cover arts).

I think adding the Years menu options that works like this:

would be helpful, and since it behaves like Albums it shouldn't be to difficult to implement. But in the end, I understand that it's probably a niche case that only I would use.