From bce86c502206b016cc448afc1934101b852a1994 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Tue, 19 Nov 2013 22:15:48 -0500 Subject: pull person sort order from tvdb/tmdb data --- MediaBrowser.Api/LibraryService.cs | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) (limited to 'MediaBrowser.Api/LibraryService.cs') diff --git a/MediaBrowser.Api/LibraryService.cs b/MediaBrowser.Api/LibraryService.cs index 582eb6f49..06b90b32c 100644 --- a/MediaBrowser.Api/LibraryService.cs +++ b/MediaBrowser.Api/LibraryService.cs @@ -681,6 +681,11 @@ namespace MediaBrowser.Api { var album = originalItem as MusicAlbum; + if (album == null) + { + album = originalItem.Parents.OfType().FirstOrDefault(); + } + if (album != null) { var linkedItemWithThemes = album.SoundtrackIds @@ -744,17 +749,12 @@ namespace MediaBrowser.Api : (Folder)_libraryManager.RootFolder) : _dtoService.GetItemByDtoId(id, userId); - while (GetSoundtrackSongIds(item).Count == 0 && inheritFromParent && item.Parent != null) - { - item = item.Parent; - } - // Get everything var fields = Enum.GetNames(typeof(ItemFields)) .Select(i => (ItemFields)Enum.Parse(typeof(ItemFields), i, true)) .ToList(); - var dtos = GetSoundtrackSongIds(item) + var dtos = GetSoundtrackSongIds(item, inheritFromParent) .Select(_libraryManager.GetItemById) .OfType() .SelectMany(i => i.RecursiveChildren) @@ -772,7 +772,7 @@ namespace MediaBrowser.Api }; } - private List GetSoundtrackSongIds(BaseItem item) + private IEnumerable GetSoundtrackSongIds(BaseItem item, bool inherit) { var hasSoundtracks = item as IHasSoundtracks; @@ -781,7 +781,14 @@ namespace MediaBrowser.Api return hasSoundtracks.SoundtrackIds; } - return new List(); + if (!inherit) + { + return null; + } + + hasSoundtracks = item.Parents.OfType().FirstOrDefault(); + + return hasSoundtracks != null ? hasSoundtracks.SoundtrackIds : new List(); } } } -- cgit v1.2.3 From 17bacee0890cb03a579f9469e435d922bbdfdd50 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Thu, 21 Nov 2013 15:48:26 -0500 Subject: consolidate Artist & MusicArtist --- MediaBrowser.Api/BaseApiService.cs | 18 +--- .../DefaultTheme/DefaultThemeService.cs | 15 +--- MediaBrowser.Api/ItemRefreshService.cs | 14 ++-- MediaBrowser.Api/ItemUpdateService.cs | 9 -- MediaBrowser.Api/LibraryService.cs | 16 +--- MediaBrowser.Api/SearchService.cs | 6 +- MediaBrowser.Api/UserLibrary/ArtistsService.cs | 21 +---- MediaBrowser.Controller/Entities/Audio/Artist.cs | 86 ------------------- .../Entities/Audio/MusicArtist.cs | 69 +++++++++++++++- MediaBrowser.Controller/Entities/BaseItem.cs | 5 ++ MediaBrowser.Controller/Entities/Folder.cs | 20 ++--- MediaBrowser.Controller/Entities/IItemByName.cs | 5 ++ MediaBrowser.Controller/Library/ILibraryManager.cs | 15 +++- .../MediaBrowser.Controller.csproj | 1 - MediaBrowser.Providers/FolderProviderFromXml.cs | 2 +- .../MediaBrowser.Providers.csproj | 2 - .../MediaInfo/BaseFFProbeProvider.cs | 4 +- .../Music/ArtistInfoFromSongProvider.cs | 42 ++++++---- .../Music/ArtistProviderFromXml.cs | 13 +-- .../Music/FanArtArtistByNameProvider.cs | 47 ----------- .../Music/LastFmImageProvider.cs | 2 +- .../Music/LastfmArtistByNameProvider.cs | 89 -------------------- .../Music/LastfmArtistProvider.cs | 11 --- MediaBrowser.Providers/Music/LastfmHelper.cs | 20 +---- .../Music/ManualFanartArtistProvider.cs | 2 +- .../Music/ManualLastFmImageProvider.cs | 9 +- MediaBrowser.Providers/Savers/ArtistXmlSaver.cs | 3 +- MediaBrowser.Providers/Savers/FolderXmlSaver.cs | 2 +- .../Dto/DtoService.cs | 4 +- .../Library/LibraryManager.cs | 96 ++++++++++++++++++---- .../Library/LuceneSearchEngine.cs | 16 +--- .../Library/Validators/ArtistsValidator.cs | 73 ++-------------- .../Providers/ImageSaver.cs | 2 +- MediaBrowser.WebDashboard/Api/DashboardService.cs | 1 + .../MediaBrowser.WebDashboard.csproj | 6 ++ 35 files changed, 246 insertions(+), 500 deletions(-) delete mode 100644 MediaBrowser.Controller/Entities/Audio/Artist.cs delete mode 100644 MediaBrowser.Providers/Music/FanArtArtistByNameProvider.cs delete mode 100644 MediaBrowser.Providers/Music/LastfmArtistByNameProvider.cs (limited to 'MediaBrowser.Api/LibraryService.cs') diff --git a/MediaBrowser.Api/BaseApiService.cs b/MediaBrowser.Api/BaseApiService.cs index d01e96a5a..ee0721d5e 100644 --- a/MediaBrowser.Api/BaseApiService.cs +++ b/MediaBrowser.Api/BaseApiService.cs @@ -92,7 +92,7 @@ namespace MediaBrowser.Api private readonly char[] _dashReplaceChars = new[] { '?', '/' }; private const char SlugChar = '-'; - protected Artist GetArtist(string name, ILibraryManager libraryManager) + protected MusicArtist GetArtist(string name, ILibraryManager libraryManager) { return libraryManager.GetArtist(DeSlugArtistName(name, libraryManager)); } @@ -147,21 +147,7 @@ namespace MediaBrowser.Api return name; } - return libraryManager.RootFolder.GetRecursiveChildren() - .OfType