X-Git-Url: http://git.kaliko.me/?a=blobdiff_plain;f=sima%2Fplugins%2Finternal%2Flastfm.py;h=c5a772f5b763552961854bda1787a90a9aad0867;hb=2d4111ef3e3eb3811df95b139aac66b61c3ad5bf;hp=b28d34e679482da4e2bccd37cd688b61310fdbba;hpb=7854938788e0af521edd7199e40db796d3256351;p=mpd-sima.git diff --git a/sima/plugins/internal/lastfm.py b/sima/plugins/internal/lastfm.py index b28d34e..c5a772f 100644 --- a/sima/plugins/internal/lastfm.py +++ b/sima/plugins/internal/lastfm.py @@ -142,6 +142,13 @@ class Lastfm(Plugin): if self.sdb.get_bl_album(trk, add_not=True): self.log.info('Blacklisted album: {0}: '.format(trk)) continue + # Should use albumartist heuristic as well + if self.plugin_conf.getboolean('single_album'): + if (trk.album == self.player.current.album or + trk.album in [trk.alb for trk in self.to_add]): + self.log.debug('Found unplayed track ' + + 'but from an album already queued: %s' % (trk)) + continue candidate.append(trk) if not candidate: self.log.debug('Unable to find title to add' + @@ -387,6 +394,8 @@ class Lastfm(Plugin): self.queue_mode() candidates = self.to_add self.to_add = list() + if self.plugin_conf.get('queue_mode') != 'album': + random.shuffle(candidates) return candidates def callback_player_database(self):