diff --git a/mcg/client.py b/mcg/client.py index 35826e3..6ae6b20 100644 --- a/mcg/client.py +++ b/mcg/client.py @@ -603,10 +603,7 @@ class Client(Base): def _play_album(self, album): - if self._playlist and album == self._playlist[-1]._id: - track_ids = [self._playlist[-1].get_tracks()[0].get_id()] - else: - track_ids = self._queue_album(album) + track_ids = self._queue_album(album) if track_ids: self._logger.info("play track %d", track_ids[0]) self._call('playid', track_ids[0]) @@ -614,6 +611,10 @@ class Client(Base): def _queue_album(self, album): track_ids = [] + # check whether the album to queue is already the last in the playlist + if self._playlist and self._playlist[-1] == self._albums[album]: + # return the first song in the album + return [self._playlist[-1].get_tracks()[0].get_id()] if album in self._albums: self._logger.info("add album %s", album) for track in self._albums[album].get_tracks():