From 73677b94c6d2768bc541d74d0cd45b3ad38335d4 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Thu, 6 Feb 2014 18:54:33 -0500 Subject: [PATCH] add bottom up music refresh --- .../Entities/Audio/MusicArtist.cs | 97 ++++++++++++++++++- MediaBrowser.Controller/Entities/Folder.cs | 6 +- .../MediaInfo/AudioImageProvider.cs | 34 ++++--- 3 files changed, 115 insertions(+), 22 deletions(-) diff --git a/MediaBrowser.Controller/Entities/Audio/MusicArtist.cs b/MediaBrowser.Controller/Entities/Audio/MusicArtist.cs index 7a67c0aa62..f7dbb43c01 100644 --- a/MediaBrowser.Controller/Entities/Audio/MusicArtist.cs +++ b/MediaBrowser.Controller/Entities/Audio/MusicArtist.cs @@ -1,9 +1,11 @@ -using MediaBrowser.Controller.Providers; +using MediaBrowser.Common.Progress; +using MediaBrowser.Controller.Providers; using MediaBrowser.Model.Configuration; using MediaBrowser.Model.Dto; using MediaBrowser.Model.Entities; using System; using System.Collections.Generic; +using System.Linq; using System.Runtime.Serialization; using System.Threading; using System.Threading.Tasks; @@ -13,7 +15,7 @@ namespace MediaBrowser.Controller.Entities.Audio /// /// Class MusicArtist /// - public class MusicArtist : Folder, IItemByName, IHasMusicGenres, IHasDualAccess, IHasTags, IHasProductionLocations + public class MusicArtist : Folder, IMetadataContainer, IItemByName, IHasMusicGenres, IHasDualAccess, IHasTags, IHasProductionLocations { [IgnoreDataMember] public List UserItemCountList { get; set; } @@ -108,5 +110,96 @@ namespace MediaBrowser.Controller.Entities.Audio { return config.BlockUnratedMusic; } + + public async Task RefreshAllMetadata(MetadataRefreshOptions refreshOptions, IProgress progress, CancellationToken cancellationToken) + { + var items = RecursiveChildren.ToList(); + + var songs = items.OfType