PhotoAlbumImageProvider.cs 1.3 KB

1234567891011121314151617181920212223242526272829303132333435
  1. using MediaBrowser.Common.Configuration;
  2. using MediaBrowser.Controller.Drawing;
  3. using MediaBrowser.Controller.Entities;
  4. using MediaBrowser.Controller.Providers;
  5. using System.Collections.Generic;
  6. using System.Linq;
  7. using System.Threading.Tasks;
  8. using MediaBrowser.Common.IO;
  9. using MediaBrowser.Controller.IO;
  10. using MediaBrowser.Model.IO;
  11. using MediaBrowser.Model.Entities;
  12. namespace MediaBrowser.Server.Implementations.Photos
  13. {
  14. public class PhotoAlbumImageProvider : BaseDynamicImageProvider<PhotoAlbum>
  15. {
  16. public PhotoAlbumImageProvider(IFileSystem fileSystem, IProviderManager providerManager, IApplicationPaths applicationPaths, IImageProcessor imageProcessor)
  17. : base(fileSystem, providerManager, applicationPaths, imageProcessor)
  18. {
  19. }
  20. protected override Task<List<BaseItem>> GetItemsWithImages(IHasImages item)
  21. {
  22. var photoAlbum = (PhotoAlbum)item;
  23. var items = GetFinalItems(photoAlbum.Children.ToList());
  24. return Task.FromResult(items);
  25. }
  26. protected override Task<string> CreateImage(IHasImages item, List<BaseItem> itemsWithImages, string outputPathWithoutExtension, ImageType imageType, int imageIndex)
  27. {
  28. return CreateSingleImage(itemsWithImages, outputPathWithoutExtension, ImageType.Primary);
  29. }
  30. }
  31. }