diff --git a/ChangeLog b/ChangeLog index b38951fa4..d38bd3021 100644 --- a/ChangeLog +++ b/ChangeLog @@ -78,6 +78,8 @@ separator. When reading back entry, revert this process. 43. Fix tag editing, track re-organisation, and playback of non-MPD files via HTTP server on windows. +44. Dont treat albums that have artists such as 'Abc' and 'Abc with xyz' as + multiple artist albums. 1.1.3 ----- diff --git a/models/musiclibraryitemalbum.cpp b/models/musiclibraryitemalbum.cpp index d9730ae50..4e028da3d 100644 --- a/models/musiclibraryitemalbum.cpp +++ b/models/musiclibraryitemalbum.cpp @@ -424,11 +424,17 @@ bool MusicLibraryItemAlbum::detectIfIsMultipleArtists() } if (Song::Standard==m_type) { - QString a; + QString artist; + QString albumArtist; foreach (MusicLibraryItem *track, m_childItems) { - if (a.isEmpty()) { - a=static_cast(track)->song().artist; - } else if (static_cast(track)->song().artist!=a) { + if (artist.isEmpty()) { + artist=static_cast(track)->song().artist; + albumArtist=static_cast(track)->song().albumArtist(); + if (artist==albumArtist) { + albumArtist=QString(); + } + } else if (static_cast(track)->song().artist!=artist && + (albumArtist.isEmpty() || !static_cast(track)->song().artist.startsWith(albumArtist))) { m_type=Song::MultipleArtists; break; }