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

UI doesn't show tracks on albums that are tagged with a different artist than the album #448

Closed
darioseidl opened this issue Dec 4, 2017 · 7 comments

Comments

@darioseidl
Copy link

Hello!

I love Volumio, works great on my Rasperry Pi and Pi-DAC+. :D

However, I have the following problem:
When an album contains songs that are credited to a different artist than the album artist, Volumio doesn't show them when selecting the album.
Let's take, for example, the soundtrack "Le Fabuleux Destin d’Amélie Poulain" by Yann Tiersen.
It contains a song by Al Bowlly and another one by Fréhel (all others by Yann Tiersen).
These two songs don't show up when I select the album in Volumio, as you can see here (track 7 and 14 are missing):
screenshot_2017-12-04_14-16-41
The same happens when there's a featured artist and the "feat. artist" is written to the song artist tag and not in the song title (which is done, for example, by the MusicBrainz Picard tagger).

This doesn't seem to be a problem for compilations though, I can select a V/A release and see all songs even when they are all by different artists.

I'm using the lastest release.

@andreas-henning
Copy link

andreas-henning commented Jan 16, 2018

This bug is specific to the Artists and Genres views only. It affects only albums which Volumio doesn't recognize as compilation albums.

@xipmix, @volumio

Volumio has made the concept of a compilation album explicit. The differences in how Volumio handles compilation vs. non-compilation albums permeates the mpd controller. It looks like fixing this specific bug would be simple. Unfortunately, I just don't understand why Volumio handles compilation albums the way it does, so I'm hesitant to modify anything.

Here is the offending code:

In:

ControllerMpd.prototype.listAlbumSongs = function (uri,index,previous)

If we're browsing from genres and select an album, Volumio searches for the album's tracks like this:

if (compilation.indexOf(albumartist)>-1) {
   var findstring = "find album \"" + albumName + "\" genre \"" + genre + "\" ";
}
else {
   var findstring = "find album \"" + albumName + "\" artist \"" + albumartist + "\" genre \"" + genre + "\" ";
}

This looks wrong to me in multiple ways:

  1. If the album is a compilation album, the query will return tracks matching the genre and the album-name. If the collection contains two compilation albums with the same name, tracks from both will be shown. In other areas Volumio considers this possibility and avoids it, but not here.
  2. If the album is not a compilation album, the query looks only for tracks where the artist = album-artist. This is what causes the bug reported by the OP. It makes no sense to me at all. If we're interested in albums, then IMHO the track artist is irrelevant. The only thing that matters is the album-artist.

This is what I think this should look like:

var findstring = "find album \"" + albumName + "\" albumartist \"" + albumartist + "\" genre \"" + genre + "\" ";

What exactly would stop working if we made this change? What exactly would stop working if we eliminated ALL the instances where the mpd controller deals with compilation albums explicitly? In other words, why does Volumio even need to know what albums are compilation albums when no other tagger/player does?

Why not do what most others do, which is assume that all tracks with the same album-name AND album-artist belong to the same album. Period. IMHO it's that simple and shouldn't be made any more complicated. As it is now it's pretty much impossible to simply sum up the rules governing how Volumio handles albums, and how that differs between views and between types of albums.

Obviously, I could have all of this completely wrong since I don't know every player/tagger under the sun, nor am I privy to the ideas/requirements that lead to this solution in the first place. Can anyone provide some insight?

UPDATE:
What makes me particularly skeptical of the existing solution, is that the Albums view doesn't deal with compilation albums the way the other views do. The Albums view is probably the most popular view, and nobody is complaining about how it displays albums. If the Album view doesn't need all of this extra compilation and artistsort logic, why do the other views need it?

@darioseidl
Copy link
Author

darioseidl commented Jan 22, 2018

Thanks for looking into this! I haven't looked at the code myself, but your description is spot on.

I usually start with the Artist view, browsing artist then album (this is bugged). Going directly to the Album view works fine.

Edit: actually, even the Album view doesn't work completely. While it shows all tracks correctly, using the large play button next to the album to play all the tracks, it only adds the tracks that match the album artist to the queue.

@andreas-henning
Copy link

andreas-henning commented Jan 23, 2018

@darioseidl
Thanks for the feedback! Always good to know. Also that last bit about volumio not adding the full album to the play queue.

I'll wait for feedback on this from somebody "in the know." If I'm not completely off and others think it's a good idea, I'd be glad to eliminate the special handling of compilation albums and attempt to make volumio handle all albums in the same way, based only on album-name and album-artist. That would solve this issue and many others as well.

@nickp1972
Copy link

Can I add a +1 to this issue? Hopefully someone will come along and let Andreas produce this fix. Personally speaking, it's the only blemish on a brilliant music system.

@robcee
Copy link

robcee commented Jul 23, 2018

is this still open?

@hiisukun
Copy link

Still an issue for me. I had a dozen or more albums where some of the 'artist' listings for tracks are different to the main albumartist. For example, Bonobo - Days To Come, has several tracks by 'Bonobo feat. Bajka', but most are just by 'Bonobo'.

This breaks:
Genre search view, once you find an album (it only lists some of the album tracks)
Artist search view (same)
Album search view, once you click the big play button, or use 'Play all' (only plays some album tracks)

I've edited this file: /app/volumio/plugins/music_service/mpd/index.js and got everything working as planned, by mostly ignoring the section that check if a compilation is being played or not.

Here's what I came up with for my current version of volumio:
https://gist.github.com/hiisukun/c5386d09e3a6a5e174ed55d9e09941fa

I'll see if I can make a pull request on the relevant repo, without posting the whole file.

@hiisukun
Copy link

Submitted pull request if anyone wants the relevant changed lines.
volumio/Volumio2#1633

@volumio volumio closed this as completed Mar 12, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants