private async void NowPlayingOnNowPlayingItemChanged(object sender, NowPlayingChangedEventArgs e) { await Dispatcher.RunAsync(CoreDispatcherPriority.High, async() => { _nowPlayingViewModel.UpdateNowPlaying(e.NewItem); await LrcAutoSearch(); }); }
private async void OnNowPlayingChanged(object sender, NowPlayingChangedEventArgs e) { await Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () => { CheckUpcomingVisibility(); ViewModel.UpdateBindings(); }); }
private async void OnNowPlayingChanged(object sender, NowPlayingChangedEventArgs e) { await Dispatcher.RunAsync(CoreDispatcherPriority.High, () => { HomeViewLoadProgress.IsActive = false; ShowNowPlaying(); ViewModel.UpdateBindings(e.NewItem); }); }
private async void NowPlayingChanged(object sender, NowPlayingChangedEventArgs e) { await _dispatcher.RunAsync(CoreDispatcherPriority.High, () => { try { var newIndex = PlaybackControl.Instance.Items.IndexOf(e.NewItem); if (Math.Abs(newIndex - _lastKnownIndex) < 20) { if (newIndex > _lastKnownIndex) { var remove = Math.Min(Count, newIndex - _lastKnownIndex); _lastKnownIndex = newIndex; for (int i = 0; i < remove; i++) { RemoveItem(0); } AddInsufficientItems(); } else if (newIndex < _lastKnownIndex) { var addedItems = Subset(newIndex, _lastKnownIndex, PlaybackControl.Instance.Items).ToList(); _lastKnownIndex = newIndex; for (int i = addedItems.Count - 1; i >= 0; i--) { InsertItem(0, addedItems[i]); } RemoveExceededItems(); } } else { Clear(); _lastKnownIndex = newIndex; foreach (var item in Subset(_lastKnownIndex, Math.Min(_lastKnownIndex + _limit, PlaybackControl.Instance.Items.Count - 1), PlaybackControl.Instance.Items)) { Add(item); } } } catch { } }); }
private async void OnNowPlayingItemChanged(object sender, NowPlayingChangedEventArgs e) { await _dispatcher.RunAsync(CoreDispatcherPriority.Normal, async() => { var metadata = e.NewItem?.File; if (metadata == null) { return; } NowPlayingItem = e.NewItem; CheckFavorite(); NowPlayingTitle = metadata.Title; NowPlayingArtist = metadata.Artist; NowPlayingAlbum = metadata.Album; NowPlayingTotalTime = metadata.Duration; // Update cover, if available CoverImage = new ThumbnailTag { Fallback = "Album,AlbumPlaceholder", AlbumName = metadata.Album, ArtistName = metadata.Artist, ThumbnailPath = metadata.Path, }; if (!string.IsNullOrWhiteSpace(NowPlayingTitle)) { DesktopTitleViewConfiguration.SetTitleBarText( string.Format(CommonSharedStrings.NowPlayingTitle, NowPlayingTitle)); } else { DesktopTitleViewConfiguration.SetTitleBarText(CommonSharedStrings.NowPlayingEmptyTitle); } //Call LrcAutoSearch on playlist item changed await LrcAutoSearch(); }); }
private async void OnNowPlayingChanged(object sender, NowPlayingChangedEventArgs e) { await Dispatcher.RunAsync(CoreDispatcherPriority.High, () => { if (!IsControlAvailable) { IsControlAvailable = true; } if (e.NewItem == null) { return; } // Update item NowPlayingItem = e.NewItem; CheckFavorite(); // Update duration ItemDuration = NowPlayingItem.File.Duration.TotalMilliseconds; Position = 0; Remaining = ItemDuration; var metadata = Core.PlaybackControl.Instance.Current?.File; if (metadata != null) { Title = metadata.Title; Artist = metadata.Artist; Album = metadata.Album; // Update cover, if available CoverImageTag = new ThumbnailTag { Fallback = "Album,AlbumPlaceholder", AlbumName = metadata.Album, ArtistName = metadata.Artist, ThumbnailPath = metadata.Path, }; } }); }