Play shuffled playlist, fixes #302
This commit is contained in:
@ -246,10 +246,11 @@ export function enqueueURIsBatchDone(){
|
||||
}
|
||||
}
|
||||
|
||||
export function playPlaylist(uri){
|
||||
export function playPlaylist(uri, shuffle = false){
|
||||
return {
|
||||
type: 'MOPIDY_PLAY_PLAYLIST',
|
||||
uri: uri
|
||||
uri: uri,
|
||||
shuffle: shuffle
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -546,14 +546,14 @@ const MopidyMiddleware = (function(){
|
||||
// make sure we didn't get this playlist from Mopidy-Spotify
|
||||
// if we did, we'd have a cached version on server so no need to fetch
|
||||
if (!store.getState().core.playlists[action.uri].is_mopidy){
|
||||
store.dispatch(spotifyActions.getPlaylistTracksAndPlay(action.uri))
|
||||
store.dispatch(spotifyActions.getPlaylistTracksAndPlay(action.uri, action.shuffle))
|
||||
break
|
||||
}
|
||||
|
||||
// it's a spotify playlist that we haven't loaded
|
||||
// we need to fetch via HTTP API to avoid timeout
|
||||
} else if (helpers.uriSource(action.uri) == 'spotify' && store.getState().spotify.enabled){
|
||||
store.dispatch(spotifyActions.getPlaylistTracksAndPlay(action.uri))
|
||||
store.dispatch(spotifyActions.getPlaylistTracksAndPlay(action.uri, action.shuffle))
|
||||
break
|
||||
|
||||
// Not in index, and Spotify HTTP not enabled, so just play it as-is
|
||||
@ -567,7 +567,10 @@ const MopidyMiddleware = (function(){
|
||||
if (response.tracks === undefined){
|
||||
store.dispatch(uiActions.createNotification({content: 'Failed to load playlist tracks', type: 'bad'}));
|
||||
} else {
|
||||
var tracks_uris = helpers.arrayOf('uri',response.tracks)
|
||||
var tracks_uris = helpers.arrayOf('uri',response.tracks);
|
||||
if (action.shuffle){
|
||||
tracks_uris = helpers.shuffle(tracks_uris);
|
||||
}
|
||||
store.dispatch(mopidyActions.playURIs(tracks_uris, action.uri))
|
||||
}
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user