aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Server.Implementations/Library
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2013-04-28 12:25:14 -0400
committerLuke Pulverenti <luke.pulverenti@gmail.com>2013-04-28 12:25:14 -0400
commitf09902c6a7b279e08eb74adcb654276ad50fb442 (patch)
treea77e46ed591e80b80a0827d0967abfe45bf72695 /MediaBrowser.Server.Implementations/Library
parent08e4f959a215911e98c5f90c36e407e7fd2b4ed6 (diff)
added api methods for video backdrops
Diffstat (limited to 'MediaBrowser.Server.Implementations/Library')
-rw-r--r--MediaBrowser.Server.Implementations/Library/CoreResolutionIgnoreRule.cs11
-rw-r--r--MediaBrowser.Server.Implementations/Library/LibraryManager.cs17
-rw-r--r--MediaBrowser.Server.Implementations/Library/Resolvers/Audio/MusicArtistResolver.cs3
3 files changed, 24 insertions, 7 deletions
diff --git a/MediaBrowser.Server.Implementations/Library/CoreResolutionIgnoreRule.cs b/MediaBrowser.Server.Implementations/Library/CoreResolutionIgnoreRule.cs
index cb49dd1e6..c6beef957 100644
--- a/MediaBrowser.Server.Implementations/Library/CoreResolutionIgnoreRule.cs
+++ b/MediaBrowser.Server.Implementations/Library/CoreResolutionIgnoreRule.cs
@@ -39,10 +39,12 @@ namespace MediaBrowser.Server.Implementations.Library
{
var parentFolderName = Path.GetFileName(Path.GetDirectoryName(args.Path));
- if (!string.Equals(parentFolderName, BaseItem.ThemeSongsFolderName, StringComparison.OrdinalIgnoreCase))
+ if (string.Equals(parentFolderName, BaseItem.ThemeSongsFolderName, StringComparison.OrdinalIgnoreCase) || string.Equals(parentFolderName, BaseItem.VideoBackdropsFolderName, StringComparison.OrdinalIgnoreCase))
{
- return true;
+ return false;
}
+
+ return true;
}
if (args.IsDirectory)
@@ -60,6 +62,11 @@ namespace MediaBrowser.Server.Implementations.Library
return true;
}
+ if (string.Equals(filename, BaseItem.VideoBackdropsFolderName, StringComparison.OrdinalIgnoreCase))
+ {
+ return true;
+ }
+
if (string.Equals(filename, BaseItem.ThemeSongsFolderName, StringComparison.OrdinalIgnoreCase))
{
return true;
diff --git a/MediaBrowser.Server.Implementations/Library/LibraryManager.cs b/MediaBrowser.Server.Implementations/Library/LibraryManager.cs
index ceb4f90cf..4323c3467 100644
--- a/MediaBrowser.Server.Implementations/Library/LibraryManager.cs
+++ b/MediaBrowser.Server.Implementations/Library/LibraryManager.cs
@@ -275,10 +275,12 @@ namespace MediaBrowser.Server.Implementations.Library
var specialFeatures = items.OfType<Movie>().SelectMany(i => i.SpecialFeatures).ToList();
var localTrailers = items.SelectMany(i => i.LocalTrailers).ToList();
var themeSongs = items.SelectMany(i => i.ThemeSongs).ToList();
+ var videoBackdrops = items.SelectMany(i => i.ThemeSongs).ToList();
items.AddRange(specialFeatures);
items.AddRange(localTrailers);
items.AddRange(themeSongs);
+ items.AddRange(videoBackdrops);
// Need to use DistinctBy Id because there could be multiple instances with the same id
// due to sharing the default library
@@ -330,15 +332,22 @@ namespace MediaBrowser.Server.Implementations.Library
foreach (var subItem in item.LocalTrailers)
{
// Prevent access to foreach variable in closure
- var trailer1 = subItem;
- LibraryItemsCache.AddOrUpdate(subItem.Id, subItem, delegate { return trailer1; });
+ var copy = subItem;
+ LibraryItemsCache.AddOrUpdate(subItem.Id, subItem, delegate { return copy; });
}
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 copy = subItem;
+ LibraryItemsCache.AddOrUpdate(subItem.Id, subItem, delegate { return copy; });
+ }
+
+ foreach (var subItem in item.VideoBackdrops)
+ {
+ // Prevent access to foreach variable in closure
+ var copy = subItem;
+ LibraryItemsCache.AddOrUpdate(subItem.Id, subItem, delegate { return copy; });
}
var movie = item as Movie;
diff --git a/MediaBrowser.Server.Implementations/Library/Resolvers/Audio/MusicArtistResolver.cs b/MediaBrowser.Server.Implementations/Library/Resolvers/Audio/MusicArtistResolver.cs
index ffb967fc1..8a7f596af 100644
--- a/MediaBrowser.Server.Implementations/Library/Resolvers/Audio/MusicArtistResolver.cs
+++ b/MediaBrowser.Server.Implementations/Library/Resolvers/Audio/MusicArtistResolver.cs
@@ -1,6 +1,7 @@
using MediaBrowser.Controller.Entities.Audio;
using MediaBrowser.Controller.Library;
using MediaBrowser.Controller.Resolvers;
+using System.IO;
using System.Linq;
namespace MediaBrowser.Server.Implementations.Library.Resolvers.Audio
@@ -33,7 +34,7 @@ namespace MediaBrowser.Server.Implementations.Library.Resolvers.Audio
if (args.Parent.IsRoot) return null;
// If we contain an album assume we are an artist folder
- return args.FileSystemChildren.Any(i => MusicAlbumResolver.IsMusicAlbum(i.FullName)) ? new MusicArtist() : null;
+ return args.FileSystemChildren.Where(i => i.Attributes.HasFlag(FileAttributes.Directory)).Any(i => MusicAlbumResolver.IsMusicAlbum(i.FullName)) ? new MusicArtist() : null;
}
}