While trying to remove traces of stop calls in core to get gapless working I found we had no way to switch to switch tracks without triggering a play. This change fixes this by changing the backends playback provider API. - play() now _only_ starts playback and does not take any arguments. - prepare_change() has been added, this could have been avoided with a kwarg to change_track(track), but that would break more backends. - core has been updated to call prepare_change+change_track+play as needed. - tests have been updated to handle this change. Longer term I hope to completely rework the playback API in backends, as 99% of our backends only use change_track(track) to translate URIs. So we should make simple case simple, and handle mopidy-spotify / appsrc in some other way. Cherry picked from the WIP gapless branch. |
||
|---|---|---|
| .. | ||
| __init__.py | ||
| test_json.py | ||
| test_library.py | ||
| test_playback.py | ||
| test_playlists.py | ||
| test_search.py | ||
| test_tracklist.py | ||
| test_translator.py | ||