Only shuffle first time with random unless repeat is on

This commit is contained in:
Thomas Adamcik 2010-03-07 21:32:40 +01:00
parent 92598a963e
commit 17e3e457c8

View File

@ -102,6 +102,7 @@ class BasePlaybackController(object):
self.backend = backend
self.current_track = None
self._shuffled = []
self._first_shuffle = True
def play(self, id=None, position=None):
raise NotImplementedError
@ -149,8 +150,10 @@ class BasePlaybackController(object):
return None
if self.random and not self._shuffled:
self._shuffled = playlist.tracks
random.shuffle(self._shuffled)
if self.repeat or self._first_shuffle:
self._shuffled = playlist.tracks
random.shuffle(self._shuffled)
self._first_shuffle = self.repeat
if self._shuffled:
return self._shuffled[0]