aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2013-05-30 14:04:33 -0400
committerLuke Pulverenti <luke.pulverenti@gmail.com>2013-05-30 14:04:33 -0400
commitefbcac6ff12164a70ba8fc6f2afe232022558b47 (patch)
treecc4ad94cb7cbb180abe7cde9483d9c95b5472b2d
parent04895889994088ace78bb4222b2b70e1336271dc (diff)
support plex/xbmc conventions for primary images and backdrops
-rw-r--r--MediaBrowser.Controller/Providers/ImageFromMediaLocationProvider.cs70
1 files changed, 50 insertions, 20 deletions
diff --git a/MediaBrowser.Controller/Providers/ImageFromMediaLocationProvider.cs b/MediaBrowser.Controller/Providers/ImageFromMediaLocationProvider.cs
index 6e14682dd..d9c97ddb1 100644
--- a/MediaBrowser.Controller/Providers/ImageFromMediaLocationProvider.cs
+++ b/MediaBrowser.Controller/Providers/ImageFromMediaLocationProvider.cs
@@ -146,7 +146,8 @@ namespace MediaBrowser.Controller.Providers
/// <returns>FileSystemInfo.</returns>
protected virtual FileSystemInfo GetImage(BaseItem item, string filenameWithoutExtension)
{
- return item.ResolveArgs.GetMetaFileByPath(Path.Combine(item.ResolveArgs.Path, filenameWithoutExtension + ".png")) ?? item.ResolveArgs.GetMetaFileByPath(Path.Combine(item.ResolveArgs.Path, filenameWithoutExtension + ".jpg"));
+ return item.ResolveArgs.GetMetaFileByPath(Path.Combine(item.ResolveArgs.Path, filenameWithoutExtension + ".png"))
+ ?? item.ResolveArgs.GetMetaFileByPath(Path.Combine(item.ResolveArgs.Path, filenameWithoutExtension + ".jpg"));
}
/// <summary>
@@ -155,11 +156,13 @@ namespace MediaBrowser.Controller.Providers
/// <param name="item">The item.</param>
private void PopulateBaseItemImages(BaseItem item)
{
- var backdropFiles = new List<string>();
var screenshotFiles = new List<string>();
// Primary Image
- var image = GetImage(item, "folder");
+ var image = GetImage(item, "folder") ??
+ GetImage(item, "poster") ??
+ GetImage(item, "cover") ??
+ GetImage(item, "default");
if (image != null)
{
@@ -223,22 +226,25 @@ namespace MediaBrowser.Controller.Providers
}
// Backdrop Image
- image = GetImage(item, "backdrop");
+ PopulateBackdrops(item);
+
+ // Screenshot Image
+ image = GetImage(item, "screenshot");
if (image != null)
{
- backdropFiles.Add(image.FullName);
+ screenshotFiles.Add(image.FullName);
}
var unfound = 0;
for (var i = 1; i <= 20; i++)
{
- // Backdrop Image
- image = GetImage(item, "backdrop" + i);
+ // Screenshot Image
+ image = GetImage(item, "screenshot" + i);
if (image != null)
{
- backdropFiles.Add(image.FullName);
+ screenshotFiles.Add(image.FullName);
}
else
{
@@ -251,28 +257,57 @@ namespace MediaBrowser.Controller.Providers
}
}
+ if (screenshotFiles.Count > 0)
+ {
+ item.ScreenshotImagePaths = screenshotFiles;
+ }
+ }
+
+ /// <summary>
+ /// Populates the backdrops.
+ /// </summary>
+ /// <param name="item">The item.</param>
+ private void PopulateBackdrops(BaseItem item)
+ {
+ var backdropFiles = new List<string>();
+
+ PopulateBackdrops(item, backdropFiles, "backdrop", "backdrop");
+
+ // Support plex/xbmc conventions
+ PopulateBackdrops(item, backdropFiles, "fanart", "fanart-");
+ PopulateBackdrops(item, backdropFiles, "background", "background-");
+
if (backdropFiles.Count > 0)
{
item.BackdropImagePaths = backdropFiles;
}
+ }
- // Screenshot Image
- image = GetImage(item, "screenshot");
+ /// <summary>
+ /// Populates the backdrops.
+ /// </summary>
+ /// <param name="item">The item.</param>
+ /// <param name="backdropFiles">The backdrop files.</param>
+ /// <param name="filename">The filename.</param>
+ /// <param name="numberedSuffix">The numbered suffix.</param>
+ private void PopulateBackdrops(BaseItem item, List<string> backdropFiles, string filename, string numberedSuffix)
+ {
+ var image = GetImage(item, filename);
if (image != null)
{
- screenshotFiles.Add(image.FullName);
+ backdropFiles.Add(image.FullName);
}
- unfound = 0;
+ var unfound = 0;
for (var i = 1; i <= 20; i++)
{
- // Screenshot Image
- image = GetImage(item, "screenshot" + i);
+ // Backdrop Image
+ image = GetImage(item, numberedSuffix + i);
if (image != null)
{
- screenshotFiles.Add(image.FullName);
+ backdropFiles.Add(image.FullName);
}
else
{
@@ -284,11 +319,6 @@ namespace MediaBrowser.Controller.Providers
}
}
}
-
- if (screenshotFiles.Count > 0)
- {
- item.ScreenshotImagePaths = screenshotFiles;
- }
}
}
}