'Change to the next track.
The current playback state will be kept. If it was playing, playing
will continue. If it was paused, it will still be paused, etc.'

def next(self):

    state = self.get_state()
    current = (self._pending_tl_track or self._current_tl_track)
    count = (self.core.tracklist.get_length() * 2)
    while current:
        pending = self.core.tracklist.next_track(current)
        if self._change(pending, state):
            break
        else:
            self.core.tracklist._mark_unplayable(pending)
        current = pending
        count -= 1
        if (not count):
            logger.info(u'No    playable    track    in    the    list.')
            break
