X-Git-Url: http://git.kaliko.me/?a=blobdiff_plain;f=sima%2Flib%2Fplugin.py;fp=sima%2Flib%2Fplugin.py;h=2cc284ff1eb043e1a6a0e58b74bb940ffee14d88;hb=af5f8a1cbde1e61ec1b44da676fae89c4358d184;hp=47e21f2fae9ec52b566e587781cbe74e5dee31b7;hpb=28caa80fbddaca9c7bb83a9d72dfba8130f16e44;p=mpd-sima.git diff --git a/sima/lib/plugin.py b/sima/lib/plugin.py index 47e21f2..2cc284f 100644 --- a/sima/lib/plugin.py +++ b/sima/lib/plugin.py @@ -204,11 +204,17 @@ class AdvancedPlugin(Plugin): self.__class__.__name__, artist, album_to_queue) return album_to_queue - def filter_track(self, tracks, unplayed=False): + def filter_track(self, tracks, chosen=None, unplayed=False): """ Extract one unplayed track from a Track object list. * not in history * not already in the queue + + :param list(Track) tracks: List of tracks to chose from + :param list(Track) chosen: List of tracks previously chosen + :param bool unplayed: chose only unplayed (honoring history duration setting) + :return: A Track + :rtype: Track """ artist = tracks[0].Artist # In random play mode use complete playlist to filter @@ -227,7 +233,7 @@ class AdvancedPlugin(Plugin): # Should use albumartist heuristic as well if self.plugin_conf.getboolean('single_album', False): # pylint: disable=no-member albums = [tr.Album for tr in deny_list] - albums += [tr.Album for tr in self.to_add] + albums += [tr.Album for tr in chosen] if (trk.Album == self.player.current.Album or trk.Album in albums): self.log.debug('Found unplayed track ' +