aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Server.Implementations/Photos/DynamicImageProvider.cs
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2015-03-13 16:09:07 -0400
committerLuke Pulverenti <luke.pulverenti@gmail.com>2015-03-13 16:09:07 -0400
commit7c99b0a14a276fbf604c5ce2ce4e392222523f43 (patch)
treeb7ea2461bd1bd66f4f4fa74f103ef18fb31701e1 /MediaBrowser.Server.Implementations/Photos/DynamicImageProvider.cs
parent63fb306916294366884e28589361eb59c5b7b051 (diff)
stub out dynamic images
Diffstat (limited to 'MediaBrowser.Server.Implementations/Photos/DynamicImageProvider.cs')
-rw-r--r--MediaBrowser.Server.Implementations/Photos/DynamicImageProvider.cs20
1 files changed, 20 insertions, 0 deletions
diff --git a/MediaBrowser.Server.Implementations/Photos/DynamicImageProvider.cs b/MediaBrowser.Server.Implementations/Photos/DynamicImageProvider.cs
index d4d9a9f14..6f20631ac 100644
--- a/MediaBrowser.Server.Implementations/Photos/DynamicImageProvider.cs
+++ b/MediaBrowser.Server.Implementations/Photos/DynamicImageProvider.cs
@@ -9,6 +9,7 @@ using MediaBrowser.Model.Entities;
using MoreLinq;
using System;
using System.Collections.Generic;
+using System.IO;
using System.Linq;
using System.Threading.Tasks;
@@ -194,5 +195,24 @@ namespace MediaBrowser.Server.Implementations.Photos
{
return _collectionStripViewTypes.Contains(view.ViewType ?? string.Empty);
}
+
+ protected override Task<Stream> CreateImageAsync(IHasImages item, List<BaseItem> itemsWithImages, ImageType imageType, int imageIndex)
+ {
+ var view = (UserView)item;
+ if (imageType == ImageType.Primary && IsUsingCollectionStrip(view))
+ {
+ var stream = new StripCollageBuilder(ApplicationPaths).BuildThumbCollage(GetStripCollageImagePaths(itemsWithImages), item.Name, 960, 540);
+ return Task.FromResult(stream);
+ }
+
+ return base.CreateImageAsync(item, itemsWithImages, imageType, imageIndex);
+ }
+
+ private IEnumerable<String> GetStripCollageImagePaths(IEnumerable<BaseItem> items)
+ {
+ return items
+ .Select(i => i.GetImagePath(ImageType.Primary) ?? i.GetImagePath(ImageType.Thumb))
+ .Where(i => !string.IsNullOrWhiteSpace(i));
+ }
}
}