Use a more generic maybePlay throughout playBrowsedTracks.

This commit is contained in:
Nick Steel 2015-11-09 21:18:11 +00:00
parent aa7b0a59da
commit c6feaeb048

View File

@ -8,9 +8,6 @@ function playBrowsedTracks(action, trackIndex) {
if (typeof trackIndex === 'undefined') { if (typeof trackIndex === 'undefined') {
trackIndex = $('#popupBrowse').data("tlid"); trackIndex = $('#popupBrowse').data("tlid");
} }
if (action == PLAY_ALL) {
mopidy.tracklist.clear();
}
var trackUris = []; var trackUris = [];
switch (action) { switch (action) {
case PLAY_NOW: case PLAY_NOW:
@ -18,13 +15,21 @@ function playBrowsedTracks(action, trackIndex) {
case ADD_THIS_BOTTOM: case ADD_THIS_BOTTOM:
trackUris.push(browseTracks[trackIndex].uri); trackUris.push(browseTracks[trackIndex].uri);
break; break;
case ADD_ALL_BOTTOM:
case PLAY_ALL: case PLAY_ALL:
mopidy.tracklist.clear();
// Don't break, fall through.
case ADD_ALL_BOTTOM:
trackUris = getUris(browseTracks); trackUris = getUris(browseTracks);
break; break;
default: default:
break; break;
} }
var maybePlay = function(tlTracks) {
if (action === PLAY_NOW || action === PLAY_ALL) {
var playIndex = (action === PLAY_ALL) ? 0 trackIndex : 0;
mopidy.playback.play(tlTracks[playIndex]);
}
};
// For radio streams we just add the selected URI. // For radio streams we just add the selected URI.
// TODO: Why? // TODO: Why?
@ -36,24 +41,14 @@ function playBrowsedTracks(action, trackIndex) {
switch (action) { switch (action) {
case PLAY_NOW: case PLAY_NOW:
case PLAY_NEXT: case PLAY_NEXT:
var maybePlay = function(tlTracks) { mopidy.tracklist.index().then(function (currentIndex) {
if (action === PLAY_NOW) { mopidy.tracklist.add(null, currentIndex + 1, null, trackUris).then(maybePlay);
mopidy.playback.play(tlTracks[0]);
}
};
mopidy.tracklist.index().then(function (currentTrack) {
mopidy.tracklist.add(null, currentTrack + 1, null, trackUris).then(maybePlay);
}); });
break; break;
case ADD_THIS_BOTTOM: case ADD_THIS_BOTTOM:
case ADD_ALL_BOTTOM: case ADD_ALL_BOTTOM:
case PLAY_ALL: case PLAY_ALL:
var addFunc = mopidy.tracklist.add(null, null, null, trackUris); mopidy.tracklist.add(null, null, null, trackUris).then(maybePlay);
if (action == PLAY_ALL) {
addFunc.then(function(tlTracks) {
mopidy.playback.play(tlTracks[trackIndex]);
});
}
break; break;
default: default:
break; break;