jmshrv / finamp

A Jellyfin music client for mobile
Mozilla Public License 2.0
1.88k stars 124 forks source link

Show Artists in addition to album artists #162

Open basings opened 2 years ago

basings commented 2 years ago

The artist tab shows album artists and not single artists. The official jellyfin app can distinguish between the two, so I guess it should be supported by the jellyfin API

Chaphasilor commented 2 years ago

Do I assume correctly that "single artists" would be artists who had a song in an album (maybe as a feature) but don't have a whole album on their own?
In that case I think "single artists" should definitely be the default source of artists, otherwise there could be some artists missing...

jmshrv commented 2 years ago

"Artists" also includes individuals who worked on an album but don't have their own album. For example, Haley Reinhart shows in the artists tab but not album artists because she only featured in this album

Album Artists and Artists buttons in Jellyfin Web

Screenshot of Something Strange by Vicetone, featuring Haley Reinhart

I'm pretty sure Finamp supports this under the hood, and I removed it to avoid confusion.

basings commented 2 years ago

I am not sure anymore what my exact use case was why I was missing the single artist. Maybe there was no album artist tag and hence the artist was missing. I haven't used finamp a lot lately (because I haven't listened to music lately). I think we can close this if it can lead to confusion?

Chaphasilor commented 2 years ago

I'm against closing it, instead I'd prefer if the "Artists" tab would show single artists instead of album artists. Usually album artists should be a subset of single artists, and you should be able to find any artist you're looking for in that tab!

lukaslindnermusic commented 7 months ago

I think it is a good idea to also include a Tab for all Artists but PLEASE keep the tab that displays only the album artists.

Depending on the use case and the type of music, this totally makes sense. As previously mentioned, this is the case with featured artists, but there are also a few other cases. I have a lot of film scores, where there might be artists/interprets like a Session Orchestra + a Solist or something like that. But with film scores, you typically are looking for the composer of the music (which technically in the case of recorded orchestral scores is not the actual interpret of the tracks), therefore I add the Composer as album artist. When I am browsing my artists to find film scores, I would also just look for the composers name and not for the orchestra name. However, it might sometimes be interesting to see which orchestra contributed to which scores etc., therefore separate "Album Artists" and "Artists" Views like Jellyfin Web does it make perfectly sense.

Another example: I have a lot of albums from Musicals and Broadway shows. Some of them list each singer in addition to the "Ensemble" (aka the cast of the musical as a whole group) and the Orchestra as separate artists, but when I am browsing for my music in the artists view, I don't want to see the full amount of people contributed to the Musical. Therefore, I just add the Ensemble and the Composer of the Musical (which actually technically is not even an interpret on the songs at all) as album artists.

Chaphasilor commented 4 months ago

Okay, and what about on the player screen? Should just one of the two artist types be shown? Should there be a menu with additional info?

lukaslindnermusic commented 4 months ago

Oh, I totally forgot about this thread and didnt find it in my search before creating the issue https://github.com/jmshrv/finamp/issues/723, sorry about that! Should we close the other issue and only discuss here? 😊

Okay, and what about on the player screen? Should just one of the two artist types be shown? Should there be a menu with additional info?

I think, because the player screen shows the currently playing track, it would be best to display the artists/performers of that specific track, not the album artists. In the album screen at the top, there should be the album artists instead. But it already is that way with Finamp 😊👍 And all other apps that I know of do it that way as well 🙌🏻 😊

I think it really is just a matter of the artists list view / tab.

In the other issue you asked: I'd like to try thinking outside the box. Can we somehow bring both types together? Would some kind of filter make sense? Do both types have the same properties? How are other apps handling this, both good and bad?

I don't know how the Jellyfin API returns album artists and artists specifically, but I have just checked a few other platforms: First: Jellyfin Web itself has two tabs, one is called "Artists" which holds the individual track artists/performers and the other one is called "Album Artists" which holds the artists that actually released the albums. So if we want to stick to the way Jellyfin itself does it, two separate tabs would be the way to go.

So, a lot of confusion and different names for the same things... 😅 sorry for that whole gibberish and rambling...

I personally think the best would be a single "Artists" list tab with a filter option (that gets remembered). That way, the Tabs are not cluttered but clean and organized, so there is no confusion when navigating. Also, most of the time the album artist is also the performer artist so it makes sense for them to be in the same place. And with that filter everyone can set it up the way they want to use it. If someone only cares about album artists, they would turn on the filter and only have a dedicated album artists list. If someone wants to browse performers, you can leave the filter off.

I kind of like the approach of Tidal to be honest, but I think for this to work, the Jellyfin Server needs to be re-designed, too, at least for the Engineers, Songwriters and Producers. Unfortunately, I'm not familiar with the Finamp codebase yet (currently working on my bachelor thesis in film composition, I will start learning the language and codebase afterwards because I really want to help <3 ), but I can imagine that it would be possible to just call Artists "Performers" and Album Artists "Artists". But then again, it would be different from the way Jellyfin and Jellyfin Web handles it and that might lead to confusion, right?

lukaslindnermusic commented 4 months ago

I made a few mockups of how I could imagine it 😊

First, we could add a filter that toggles between all artists and only album artists. finamp_mockup_artists_filter_off finamp_mockup_artists_filter_on

We could also add a dropdown or something similar: finamp_mockup_artists_dropdown

And of course, we could add separate tabs: finamp_mockup_artists_additional_tab

erikbucik commented 4 months ago

There are quite a few solutions for filtering content ;)

Finamp-Tabs.png

erikbucik commented 4 months ago

Also, the ALBUMARTIST is not necessarily a person an artist; well there's two options, but that's more important for the Jellyfin's metadata scanner...

Chaphasilor commented 4 months ago

Finely differentiating between different roles (e.g. album artists that aren't actual artist, or songwriters) requires a diligently organized library, otherwise you run into trouble. Since this is up to the users, I wouldn't go over board with the filtering.

Thanks Erik for the overview. I've seen the "one active" chip used in Spotify and could see that being useful for search.
For the regular library, I think regular chips (where some are enabled by default, e.g. album artists and artists, and you can toggle them on or off) would work best.
I'm planning to move away from the tab-based library layout anyway, so that shouldn't be to complicated layout- and interaction-wise.

If you're curious, you can take a look at what I've experimented with so far: https://www.figma.com/design/wVizekpm9YchvHFP6l508r/Fimamp?node-id=1251-15047&t=yO6q1ftYS6Wz3H1m-4 Maybe you have more ideas?