Mark track as playing and add to history if changing track while paused.
This commit is contained in:
parent
22ec9d9060
commit
2b00e83179
@ -19,6 +19,9 @@ Bug fix release.
|
|||||||
|
|
||||||
- MPD: Notify idling clients when a seek is performed. (Fixes: :issue:`1331`)
|
- MPD: Notify idling clients when a seek is performed. (Fixes: :issue:`1331`)
|
||||||
|
|
||||||
|
- Core: Fix error in :meth:`~mopidy.core.PlaybackController._change_track`
|
||||||
|
docstring. (Fixes: :issue:`1352`)
|
||||||
|
|
||||||
|
|
||||||
v1.1.1 (2015-09-14)
|
v1.1.1 (2015-09-14)
|
||||||
===================
|
===================
|
||||||
|
|||||||
@ -207,12 +207,16 @@ class PlaybackController(object):
|
|||||||
if old_state == PlaybackState.PLAYING:
|
if old_state == PlaybackState.PLAYING:
|
||||||
self._play(on_error_step=on_error_step)
|
self._play(on_error_step=on_error_step)
|
||||||
elif old_state == PlaybackState.PAUSED:
|
elif old_state == PlaybackState.PAUSED:
|
||||||
# NOTE: this is just a quick hack to fix #1177 as this code has
|
# NOTE: this is just a quick hack to fix #1177 and #1352 as this
|
||||||
# already been killed in the gapless branch.
|
# code has already been killed in the gapless branch.
|
||||||
backend = self._get_backend()
|
backend = self._get_backend()
|
||||||
if backend:
|
if backend:
|
||||||
backend.playback.prepare_change()
|
success = (
|
||||||
backend.playback.change_track(tl_track.track).get()
|
backend.playback.prepare_change().get and
|
||||||
|
backend.playback.change_track(tl_track.track).get())
|
||||||
|
if success:
|
||||||
|
self.core.tracklist._mark_playing(tl_track)
|
||||||
|
self.core.history._add_track(tl_track.track)
|
||||||
self.pause()
|
self.pause()
|
||||||
|
|
||||||
# TODO: this is not really end of track, this is on_need_next_track
|
# TODO: this is not really end of track, this is on_need_next_track
|
||||||
|
|||||||
@ -8,7 +8,7 @@ import pykka
|
|||||||
|
|
||||||
from mopidy import backend, core
|
from mopidy import backend, core
|
||||||
from mopidy.internal import deprecation
|
from mopidy.internal import deprecation
|
||||||
from mopidy.models import Track
|
from mopidy.models import TlTrack, Track
|
||||||
|
|
||||||
from tests import dummy_audio as audio
|
from tests import dummy_audio as audio
|
||||||
|
|
||||||
@ -789,3 +789,44 @@ class Bug1177RegressionTest(unittest.TestCase):
|
|||||||
c.playback.pause()
|
c.playback.pause()
|
||||||
c.playback.next()
|
c.playback.next()
|
||||||
b.playback.change_track.assert_called_once_with(track2)
|
b.playback.change_track.assert_called_once_with(track2)
|
||||||
|
|
||||||
|
|
||||||
|
class Bug1352RegressionTest(unittest.TestCase):
|
||||||
|
def test(self):
|
||||||
|
config = {
|
||||||
|
'core': {
|
||||||
|
'max_tracklist_length': 10000,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
b = mock.Mock()
|
||||||
|
b.uri_schemes.get.return_value = ['dummy']
|
||||||
|
b.playback = mock.Mock(spec=backend.PlaybackProvider)
|
||||||
|
b.playback.change_track.return_value.get.return_value = True
|
||||||
|
b.playback.play.return_value.get.return_value = True
|
||||||
|
|
||||||
|
track1 = Track(uri='dummy:a', length=40000)
|
||||||
|
track2 = Track(uri='dummy:b', length=40000)
|
||||||
|
|
||||||
|
tl_track2 = TlTrack(1, track2)
|
||||||
|
|
||||||
|
c = core.Core(config, mixer=None, backends=[b])
|
||||||
|
c.tracklist.add([track1, track2])
|
||||||
|
|
||||||
|
d = mock.Mock()
|
||||||
|
c.history._add_track = d
|
||||||
|
|
||||||
|
e = mock.Mock()
|
||||||
|
c.tracklist._mark_playing = e
|
||||||
|
|
||||||
|
c.playback.play()
|
||||||
|
b.playback.change_track.reset_mock()
|
||||||
|
d.reset_mock()
|
||||||
|
e.reset_mock()
|
||||||
|
|
||||||
|
c.playback.pause()
|
||||||
|
c.playback.next()
|
||||||
|
b.playback.change_track.assert_called_once_with(track2)
|
||||||
|
|
||||||
|
d.assert_called_once_with(track2)
|
||||||
|
e.assert_called_once_with(tl_track2)
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user