/// <summary> /// Gets called when the player state changes /// </summary> /// <param name="playbackSource">The current state</param> private void SetCurrentlyVisiblePlaylist(PlaybackSources playbackSource) { switch (playbackSource) { case PlaybackSources.SEARCH_RESULTS: SelectedPlaylist = null; CurrentlyVisiblePlaylist = SearchResults; break; case PlaybackSources.FAVORITES: SelectedPlaylist = null; CurrentlyVisiblePlaylist = Favorites; LoadFavorites(); break; case PlaybackSources.QUEUE: SelectedPlaylist = null; CurrentlyVisiblePlaylist = Queue; break; case PlaybackSources.PLAYLIST: CurrentlyVisiblePlaylist = SelectedPlaylist; break; } foreach (var t in CurrentlyVisiblePlaylist.Tracks) { new Thread(() => { if (t.bitrate != 0) return; t.bitrate = BitrateChecker.CheckBitrate(t); }).Start(); } }
private async void LoadFavorites() { IsLoading = true; var favoriteTracks = await vkAPI.GetTracks(null, APIConstants.TRUE, 0, 9999); Favorites.Tracks = new ObservableCollection<Track>(favoriteTracks); foreach (var t in CurrentlyVisiblePlaylist.Tracks) { new Thread(() => { if (t.bitrate != 0) return; t.bitrate = BitrateChecker.CheckBitrate(t); }).Start(); } IsLoading = false; }