public async Task LoadTitleAsync(bool artistFallbackLarge = false) { _backendArtist = await _itemId.GetArtistByIdAsync(); if (_backendArtist == null) { return; } ArtistBio = !string.IsNullOrEmpty(_backendArtist.Intro) ? _backendArtist.Intro : string.Empty; ArtistName = _backendArtist.Name; BackgroundImageTag = new ThumbnailTag { Fallback = artistFallbackLarge ? "Artist,DefaultArtistLarge" : "Artist,ArtistPlaceholder", ArtistName = _backendArtist.Name, }; }
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, }; } }); }
public async Task LoadTitleAsync() { _backendAlbum = await EntityRetrievalExtensions.GetAlbumByIdAsync(_itemId); if (_backendAlbum != null) { CoverImageTag = new ThumbnailTag { Fallback = "Album,AlbumPlaceholder", ArtistName = _backendAlbum.Artist, AlbumName = _backendAlbum.Title, ThumbnailPath = _backendAlbum.FirstFileInAlbum, }; // Get album detailed information Title = _backendAlbum.Title; Artist = _backendAlbum.Artist; Year = DateTimeHelper.GetItemDateYearString(_backendAlbum.Date); Intro = _backendAlbum.Intro; Genre = _backendAlbum.Genre; DesktopTitleViewConfiguration.SetTitleBarText(Title); } }
public void RegisterEvents() { PlaylistManager.Instance.FavoriteChanged += OnFavoriteChanged; PlaybackControl.Instance.NowPlayingChanged += OnNowPlayingItemChanged; var metadata = PlaybackControl.Instance.Current?.File; if (metadata != null) { NowPlayingItem = PlaybackControl.Instance.Current; 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); } }
/// <summary> /// Load data from database. /// </summary> /// <returns>An awaitable task.</returns> public async Task LoadDataAsync() { var elem = await EntityRetrievalExtensions.GetAlbumByIdAsync(_itemId); if (elem != null) { _backendAlbum = elem; CoverImageTag = new ThumbnailTag { Fallback = "Album,AlbumPlaceholder", ArtistName = _backendAlbum.Artist, AlbumName = _backendAlbum.Title, ThumbnailPath = _backendAlbum.FirstFileInAlbum, }; #region Basic Info // Get album detailed information Title = elem.Title; Artist = elem.Artist; Year = DateTimeHelper.GetItemDateYearString(elem.Date); Intro = elem.Intro; Genre = elem.Genre; DesktopTitleViewConfiguration.SetTitleBarText(Title); #endregion #region Items var tempOrderedItem = new List <Tuple <int, int, DbMediaFile> >(); var dbFileAsyncEnumerator = elem.MediaFiles.ToAsyncEnumerable().GetEnumerator(); if (dbFileAsyncEnumerator != null) { while (await dbFileAsyncEnumerator.MoveNext()) { var item = dbFileAsyncEnumerator.Current; int discNum = 0, trackNum = 0; int.TryParse(item.DiscNumber, out discNum); int.TryParse(item.TrackNumber, out trackNum); tempOrderedItem.Add(new Tuple <int, int, DbMediaFile>(discNum, trackNum, item)); } } // Disk and Track var sortedItem = tempOrderedItem.OrderBy(i => i.Item1) .ThenBy(i => i.Item2); // Add subitems to the ListView data entity set foreach (var s in sortedItem) { if (s == null) { continue; } ViewItems.Add(s.Item3); } #endregion } // Mark complete IsLoading = false; }