Skip to content
Prev Previous commit
Next Next commit
shuffle for playlist search
  • Loading branch information
BKitor committed Mar 16, 2020
commit 392db76007dfb9d753de1868f917c0fbee247e18
32 changes: 31 additions & 1 deletion src/handlers/track_table.rs
Original file line number Diff line number Diff line change
Expand Up @@ -198,7 +198,37 @@ fn play_random_song(app: &mut App) {
}
}
TrackTableContext::AlbumSearch => {}
TrackTableContext::PlaylistSearch => {}
TrackTableContext::PlaylistSearch => {
let (context_uri, playlist_track_json) = match (
Comment thread
Rigellute marked this conversation as resolved.
&app.search_results.selected_playlists_index,
&app.search_results.playlists,
) {
(Some(selected_playlist_index), Some(playlist_result)) => {
if let Some(selected_playlist) = playlist_result
.playlists
.items
.get(selected_playlist_index.to_owned())
{
(
Some(selected_playlist.uri.to_owned()),
selected_playlist.tracks.get("total"),
)
} else {
(None, None)
}
}
_ => (None, None),
};
if let Some(val) = playlist_track_json {
let num_tracks: usize = from_value(val.clone()).unwrap();
app.dispatch(IoEvent::StartPlayback(
context_uri,
None,
Some(thread_rng().gen_range(0, num_tracks)),
))
}
// let rand_playlist_idx = thread_rng().gen_range(0, )
}
TrackTableContext::MadeForYou => {}
},
None => {}
Expand Down