diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2015-03-13 16:09:07 -0400 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2015-03-13 16:09:07 -0400 |
| commit | 7c99b0a14a276fbf604c5ce2ce4e392222523f43 (patch) | |
| tree | b7ea2461bd1bd66f4f4fa74f103ef18fb31701e1 /MediaBrowser.Server.Implementations/Photos/DynamicImageProvider.cs | |
| parent | 63fb306916294366884e28589361eb59c5b7b051 (diff) | |
stub out dynamic images
Diffstat (limited to 'MediaBrowser.Server.Implementations/Photos/DynamicImageProvider.cs')
| -rw-r--r-- | MediaBrowser.Server.Implementations/Photos/DynamicImageProvider.cs | 20 |
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)); + } } } |
