From 540b35e7cb920e1abcded6f54e52810bf2389aff Mon Sep 17 00:00:00 2001 From: Sophist Date: Sat, 21 Sep 2013 15:52:51 +0100 Subject: [PATCH] Track featured artists don't indicate compilation This fix only uses primary track artist to determine whether an album is a compilation. Featured artists no longer influence this. --- picard/album.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/picard/album.py b/picard/album.py index c5db98e16..f87a0325f 100644 --- a/picard/album.py +++ b/picard/album.py @@ -215,7 +215,12 @@ class Album(DataObject, Item): track._customize_metadata() self._new_metadata.length += tm.length - artists.add(tm["musicbrainz_artistid"]) + # adding track featured artists incorrectly identifies compilation albums + # artists.add(tm["musicbrainz_artistid"]) + artistid = tm["musicbrainz_artistid"] + if artistid.count(u';') > 0: + artistid = artistid[0 : artistid.index(u';')] + artists.add(artistid) # Run track metadata plugins try: @@ -229,6 +234,8 @@ class Album(DataObject, Item): track.metadata["~totalalbumtracks"] = totalalbumtracks if len(artists) > 1: track.metadata["compilation"] = "1" + else: + track.metadata["compilation"] = "0" del self._release_node self._tracks_loaded = True