From d78c378452df2ce75c7208fe7ba919ab54455448 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Wed, 24 Apr 2013 12:03:10 -0400 Subject: added theme song support --- .../Library/LibraryManager.cs | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) (limited to 'MediaBrowser.Server.Implementations/Library/LibraryManager.cs') diff --git a/MediaBrowser.Server.Implementations/Library/LibraryManager.cs b/MediaBrowser.Server.Implementations/Library/LibraryManager.cs index 132dca4e2..5f07e0d87 100644 --- a/MediaBrowser.Server.Implementations/Library/LibraryManager.cs +++ b/MediaBrowser.Server.Implementations/Library/LibraryManager.cs @@ -274,9 +274,11 @@ namespace MediaBrowser.Server.Implementations.Library var specialFeatures = items.OfType().SelectMany(i => i.SpecialFeatures).ToList(); var localTrailers = items.SelectMany(i => i.LocalTrailers).ToList(); + var themeSongs = items.SelectMany(i => i.ThemeSongs).ToList(); items.AddRange(specialFeatures); items.AddRange(localTrailers); + items.AddRange(themeSongs); // Need to use DistinctBy Id because there could be multiple instances with the same id // due to sharing the default library @@ -325,22 +327,29 @@ namespace MediaBrowser.Server.Implementations.Library { LibraryItemsCache.AddOrUpdate(item.Id, item, delegate { return item; }); - foreach (var trailer in item.LocalTrailers) + foreach (var subItem in item.LocalTrailers) { // Prevent access to foreach variable in closure - var trailer1 = trailer; - LibraryItemsCache.AddOrUpdate(trailer.Id, trailer, delegate { return trailer1; }); + var trailer1 = subItem; + LibraryItemsCache.AddOrUpdate(subItem.Id, subItem, delegate { return trailer1; }); + } + + foreach (var subItem in item.ThemeSongs) + { + // Prevent access to foreach variable in closure + var trailer1 = subItem; + LibraryItemsCache.AddOrUpdate(subItem.Id, subItem, delegate { return trailer1; }); } var movie = item as Movie; if (movie != null) { - foreach (var special in movie.SpecialFeatures) + foreach (var subItem in movie.SpecialFeatures) { // Prevent access to foreach variable in closure - var special1 = special; - LibraryItemsCache.AddOrUpdate(special.Id, special, delegate { return special1; }); + var special1 = subItem; + LibraryItemsCache.AddOrUpdate(subItem.Id, subItem, delegate { return special1; }); } } } -- cgit v1.2.3