update indexedDb
This commit is contained in:
parent
42b4b03703
commit
5492e34c6d
|
@ -57,6 +57,7 @@
|
||||||
<Compile Include="GDI\UnplayedCountIndicator.cs" />
|
<Compile Include="GDI\UnplayedCountIndicator.cs" />
|
||||||
<Compile Include="IImageEncoder.cs" />
|
<Compile Include="IImageEncoder.cs" />
|
||||||
<Compile Include="Common\ImageHeader.cs" />
|
<Compile Include="Common\ImageHeader.cs" />
|
||||||
|
<Compile Include="ImageHelpers.cs" />
|
||||||
<Compile Include="ImageMagick\ImageMagickEncoder.cs" />
|
<Compile Include="ImageMagick\ImageMagickEncoder.cs" />
|
||||||
<Compile Include="ImageMagick\StripCollageBuilder.cs" />
|
<Compile Include="ImageMagick\StripCollageBuilder.cs" />
|
||||||
<Compile Include="ImageProcessor.cs" />
|
<Compile Include="ImageProcessor.cs" />
|
||||||
|
|
|
@ -1,11 +1,9 @@
|
||||||
using Emby.Drawing.ImageMagick;
|
using MediaBrowser.Common.IO;
|
||||||
using MediaBrowser.Common.IO;
|
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Drawing;
|
using System.Drawing;
|
||||||
using System.Drawing.Drawing2D;
|
using System.Drawing.Drawing2D;
|
||||||
using System.Drawing.Imaging;
|
using System.Drawing.Imaging;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Linq;
|
|
||||||
|
|
||||||
namespace Emby.Drawing.GDI
|
namespace Emby.Drawing.GDI
|
||||||
{
|
{
|
||||||
|
@ -18,10 +16,10 @@ namespace Emby.Drawing.GDI
|
||||||
int height)
|
int height)
|
||||||
{
|
{
|
||||||
const int numStrips = 4;
|
const int numStrips = 4;
|
||||||
files = StripCollageBuilder.ProjectPaths(files, numStrips).ToList();
|
files = ImageHelpers.ProjectPaths(files, numStrips);
|
||||||
|
|
||||||
const int rows = 1;
|
const int rows = 1;
|
||||||
int cols = numStrips;
|
int cols = numStrips;
|
||||||
|
|
||||||
int cellWidth = 2 * (width / 3);
|
int cellWidth = 2 * (width / 3);
|
||||||
int cellHeight = height;
|
int cellHeight = height;
|
||||||
|
@ -76,8 +74,8 @@ namespace Emby.Drawing.GDI
|
||||||
int width,
|
int width,
|
||||||
int height)
|
int height)
|
||||||
{
|
{
|
||||||
files = StripCollageBuilder.ProjectPaths(files, 4).ToList();
|
files = ImageHelpers.ProjectPaths(files, 4);
|
||||||
|
|
||||||
const int rows = 2;
|
const int rows = 2;
|
||||||
const int cols = 2;
|
const int cols = 2;
|
||||||
|
|
||||||
|
|
43
Emby.Drawing/ImageHelpers.cs
Normal file
43
Emby.Drawing/ImageHelpers.cs
Normal file
|
@ -0,0 +1,43 @@
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
|
||||||
|
namespace Emby.Drawing
|
||||||
|
{
|
||||||
|
internal static class ImageHelpers
|
||||||
|
{
|
||||||
|
internal static List<string> ProjectPaths(List<string> paths, int count)
|
||||||
|
{
|
||||||
|
if (count <= 0)
|
||||||
|
{
|
||||||
|
throw new ArgumentOutOfRangeException("count");
|
||||||
|
}
|
||||||
|
if (paths.Count == 0)
|
||||||
|
{
|
||||||
|
throw new ArgumentOutOfRangeException("paths");
|
||||||
|
}
|
||||||
|
|
||||||
|
var list = new List<string>();
|
||||||
|
|
||||||
|
AddToList(list, paths, count);
|
||||||
|
|
||||||
|
return list.Take(count).ToList();
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void AddToList(List<string> list, List<string> paths, int count)
|
||||||
|
{
|
||||||
|
while (list.Count < count)
|
||||||
|
{
|
||||||
|
foreach (var path in paths)
|
||||||
|
{
|
||||||
|
list.Add(path);
|
||||||
|
|
||||||
|
if (list.Count >= count)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,4 +1,5 @@
|
||||||
using ImageMagickSharp;
|
using System.Linq;
|
||||||
|
using ImageMagickSharp;
|
||||||
using MediaBrowser.Common.Configuration;
|
using MediaBrowser.Common.Configuration;
|
||||||
using MediaBrowser.Controller.Drawing;
|
using MediaBrowser.Controller.Drawing;
|
||||||
using MediaBrowser.Model.Drawing;
|
using MediaBrowser.Model.Drawing;
|
||||||
|
@ -195,15 +196,15 @@ namespace Emby.Drawing.ImageMagick
|
||||||
|
|
||||||
if (ratio >= 1.4)
|
if (ratio >= 1.4)
|
||||||
{
|
{
|
||||||
new StripCollageBuilder(_appPaths).BuildThumbCollage(options.InputPaths, options.OutputPath, options.Width, options.Height, options.Text);
|
new StripCollageBuilder(_appPaths).BuildThumbCollage(options.InputPaths.ToList(), options.OutputPath, options.Width, options.Height, options.Text);
|
||||||
}
|
}
|
||||||
else if (ratio >= .9)
|
else if (ratio >= .9)
|
||||||
{
|
{
|
||||||
new StripCollageBuilder(_appPaths).BuildSquareCollage(options.InputPaths, options.OutputPath, options.Width, options.Height, options.Text);
|
new StripCollageBuilder(_appPaths).BuildSquareCollage(options.InputPaths.ToList(), options.OutputPath, options.Width, options.Height, options.Text);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
new StripCollageBuilder(_appPaths).BuildPosterCollage(options.InputPaths, options.OutputPath, options.Width, options.Height, options.Text);
|
new StripCollageBuilder(_appPaths).BuildPosterCollage(options.InputPaths.ToList(), options.OutputPath, options.Width, options.Height, options.Text);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,6 @@
|
||||||
using MediaBrowser.Common.Configuration;
|
using MediaBrowser.Common.Configuration;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
|
||||||
|
|
||||||
namespace Emby.Drawing.ImageMagick
|
namespace Emby.Drawing.ImageMagick
|
||||||
{
|
{
|
||||||
|
@ -15,7 +14,7 @@ namespace Emby.Drawing.ImageMagick
|
||||||
_appPaths = appPaths;
|
_appPaths = appPaths;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void BuildPosterCollage(IEnumerable<string> paths, string outputPath, int width, int height, string text)
|
public void BuildPosterCollage(List<string> paths, string outputPath, int width, int height, string text)
|
||||||
{
|
{
|
||||||
if (!string.IsNullOrWhiteSpace(text))
|
if (!string.IsNullOrWhiteSpace(text))
|
||||||
{
|
{
|
||||||
|
@ -33,7 +32,7 @@ namespace Emby.Drawing.ImageMagick
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void BuildSquareCollage(IEnumerable<string> paths, string outputPath, int width, int height, string text)
|
public void BuildSquareCollage(List<string> paths, string outputPath, int width, int height, string text)
|
||||||
{
|
{
|
||||||
if (!string.IsNullOrWhiteSpace(text))
|
if (!string.IsNullOrWhiteSpace(text))
|
||||||
{
|
{
|
||||||
|
@ -51,7 +50,7 @@ namespace Emby.Drawing.ImageMagick
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void BuildThumbCollage(IEnumerable<string> paths, string outputPath, int width, int height, string text)
|
public void BuildThumbCollage(List<string> paths, string outputPath, int width, int height, string text)
|
||||||
{
|
{
|
||||||
if (!string.IsNullOrWhiteSpace(text))
|
if (!string.IsNullOrWhiteSpace(text))
|
||||||
{
|
{
|
||||||
|
@ -69,31 +68,10 @@ namespace Emby.Drawing.ImageMagick
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
internal static string[] ProjectPaths(IEnumerable<string> paths, int count)
|
private MagickWand BuildThumbCollageWandWithText(List<string> paths, string text, int width, int height)
|
||||||
{
|
{
|
||||||
var clone = paths.ToList();
|
var inputPaths = ImageHelpers.ProjectPaths(paths, 8);
|
||||||
var list = new List<string>();
|
using (var wandImages = new MagickWand(inputPaths.ToArray()))
|
||||||
|
|
||||||
while (list.Count < count)
|
|
||||||
{
|
|
||||||
foreach (var path in clone)
|
|
||||||
{
|
|
||||||
list.Add(path);
|
|
||||||
|
|
||||||
if (list.Count >= count)
|
|
||||||
{
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return list.Take(count).ToArray();
|
|
||||||
}
|
|
||||||
|
|
||||||
private MagickWand BuildThumbCollageWandWithText(IEnumerable<string> paths, string text, int width, int height)
|
|
||||||
{
|
|
||||||
var inputPaths = ProjectPaths(paths, 8);
|
|
||||||
using (var wandImages = new MagickWand(inputPaths))
|
|
||||||
{
|
{
|
||||||
var wand = new MagickWand(width, height);
|
var wand = new MagickWand(width, height);
|
||||||
wand.OpenImage("gradient:#111111-#111111");
|
wand.OpenImage("gradient:#111111-#111111");
|
||||||
|
@ -165,10 +143,10 @@ namespace Emby.Drawing.ImageMagick
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private MagickWand BuildPosterCollageWand(IEnumerable<string> paths, int width, int height)
|
private MagickWand BuildPosterCollageWand(List<string> paths, int width, int height)
|
||||||
{
|
{
|
||||||
var inputPaths = ProjectPaths(paths, 4);
|
var inputPaths = ImageHelpers.ProjectPaths(paths, 4);
|
||||||
using (var wandImages = new MagickWand(inputPaths))
|
using (var wandImages = new MagickWand(inputPaths.ToArray()))
|
||||||
{
|
{
|
||||||
var wand = new MagickWand(width, height);
|
var wand = new MagickWand(width, height);
|
||||||
wand.OpenImage("gradient:#111111-#111111");
|
wand.OpenImage("gradient:#111111-#111111");
|
||||||
|
@ -230,10 +208,10 @@ namespace Emby.Drawing.ImageMagick
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private MagickWand BuildPosterCollageWandWithText(IEnumerable<string> paths, string label, int width, int height)
|
private MagickWand BuildPosterCollageWandWithText(List<string> paths, string label, int width, int height)
|
||||||
{
|
{
|
||||||
var inputPaths = ProjectPaths(paths, 4);
|
var inputPaths = ImageHelpers.ProjectPaths(paths, 4);
|
||||||
using (var wandImages = new MagickWand(inputPaths))
|
using (var wandImages = new MagickWand(inputPaths.ToArray()))
|
||||||
{
|
{
|
||||||
var wand = new MagickWand(width, height);
|
var wand = new MagickWand(width, height);
|
||||||
wand.OpenImage("gradient:#111111-#111111");
|
wand.OpenImage("gradient:#111111-#111111");
|
||||||
|
@ -305,10 +283,10 @@ namespace Emby.Drawing.ImageMagick
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private MagickWand BuildThumbCollageWand(IEnumerable<string> paths, int width, int height)
|
private MagickWand BuildThumbCollageWand(List<string> paths, int width, int height)
|
||||||
{
|
{
|
||||||
var inputPaths = ProjectPaths(paths, 8);
|
var inputPaths = ImageHelpers.ProjectPaths(paths, 8);
|
||||||
using (var wandImages = new MagickWand(inputPaths))
|
using (var wandImages = new MagickWand(inputPaths.ToArray()))
|
||||||
{
|
{
|
||||||
var wand = new MagickWand(width, height);
|
var wand = new MagickWand(width, height);
|
||||||
wand.OpenImage("gradient:#111111-#111111");
|
wand.OpenImage("gradient:#111111-#111111");
|
||||||
|
@ -370,10 +348,10 @@ namespace Emby.Drawing.ImageMagick
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private MagickWand BuildSquareCollageWand(IEnumerable<string> paths, int width, int height)
|
private MagickWand BuildSquareCollageWand(List<string> paths, int width, int height)
|
||||||
{
|
{
|
||||||
var inputPaths = ProjectPaths(paths, 4);
|
var inputPaths = ImageHelpers.ProjectPaths(paths, 4);
|
||||||
using (var wandImages = new MagickWand(inputPaths))
|
using (var wandImages = new MagickWand(inputPaths.ToArray()))
|
||||||
{
|
{
|
||||||
var wand = new MagickWand(width, height);
|
var wand = new MagickWand(width, height);
|
||||||
wand.OpenImage("gradient:#111111-#111111");
|
wand.OpenImage("gradient:#111111-#111111");
|
||||||
|
@ -435,10 +413,10 @@ namespace Emby.Drawing.ImageMagick
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private MagickWand BuildSquareCollageWandWithText(IEnumerable<string> paths, string label, int width, int height)
|
private MagickWand BuildSquareCollageWandWithText(List<string> paths, string label, int width, int height)
|
||||||
{
|
{
|
||||||
var inputPaths = ProjectPaths(paths, 4);
|
var inputPaths = ImageHelpers.ProjectPaths(paths, 4);
|
||||||
using (var wandImages = new MagickWand(inputPaths))
|
using (var wandImages = new MagickWand(inputPaths.ToArray()))
|
||||||
{
|
{
|
||||||
var wand = new MagickWand(width, height);
|
var wand = new MagickWand(width, height);
|
||||||
wand.OpenImage("gradient:#111111-#111111");
|
wand.OpenImage("gradient:#111111-#111111");
|
||||||
|
|
|
@ -764,7 +764,11 @@ namespace Emby.Drawing
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
_logger.Debug("Creating image collage and saving to {0}", options.OutputPath);
|
||||||
|
|
||||||
_imageEncoder.CreateImageCollage(options);
|
_imageEncoder.CreateImageCollage(options);
|
||||||
|
|
||||||
|
_logger.Debug("Completed creation of image collage and saved to {0}", options.OutputPath);
|
||||||
}
|
}
|
||||||
finally
|
finally
|
||||||
{
|
{
|
||||||
|
|
|
@ -346,7 +346,7 @@ namespace MediaBrowser.Api
|
||||||
// We can really reduce the timeout for apps that are using the newer api
|
// We can really reduce the timeout for apps that are using the newer api
|
||||||
if (!string.IsNullOrWhiteSpace(job.PlaySessionId) && job.Type != TranscodingJobType.Progressive)
|
if (!string.IsNullOrWhiteSpace(job.PlaySessionId) && job.Type != TranscodingJobType.Progressive)
|
||||||
{
|
{
|
||||||
timerDuration = 60000;
|
timerDuration = 50000;
|
||||||
}
|
}
|
||||||
|
|
||||||
job.PingTimeout = timerDuration;
|
job.PingTimeout = timerDuration;
|
||||||
|
|
|
@ -17,7 +17,7 @@ namespace MediaBrowser.Model.Configuration
|
||||||
DownMixAudioBoost = 2;
|
DownMixAudioBoost = 2;
|
||||||
EncodingQuality = EncodingQuality.Auto;
|
EncodingQuality = EncodingQuality.Auto;
|
||||||
EnableThrottling = true;
|
EnableThrottling = true;
|
||||||
ThrottleThresholdSeconds = 120;
|
ThrottleThresholdSeconds = 110;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -52,7 +52,7 @@ namespace MediaBrowser.Providers.TV
|
||||||
target.Status = source.Status;
|
target.Status = source.Status;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (replaceData || target.AirDays.Count == 0)
|
if (replaceData || target.AirDays == null || target.AirDays.Count == 0)
|
||||||
{
|
{
|
||||||
target.AirDays = source.AirDays;
|
target.AirDays = source.AirDays;
|
||||||
}
|
}
|
||||||
|
|
|
@ -252,6 +252,9 @@ namespace MediaBrowser.Server.Implementations.Localization
|
||||||
throw new ArgumentNullException("rating");
|
throw new ArgumentNullException("rating");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Fairly common for some users to have "Rated R" in their rating field
|
||||||
|
rating = rating.Replace("Rated ", string.Empty, StringComparison.OrdinalIgnoreCase);
|
||||||
|
|
||||||
var ratingsDictionary = GetParentalRatingsDictionary();
|
var ratingsDictionary = GetParentalRatingsDictionary();
|
||||||
|
|
||||||
ParentalRating value;
|
ParentalRating value;
|
||||||
|
|
|
@ -103,7 +103,7 @@ namespace MediaBrowser.Server.Implementations.Photos
|
||||||
return parts.GetMD5().ToString("N");
|
return parts.GetMD5().ToString("N");
|
||||||
}
|
}
|
||||||
|
|
||||||
protected Task CreateThumbCollage(IHasImages primaryItem, List<BaseItem> items, string outputPath, bool drawText)
|
protected Task<bool> CreateThumbCollage(IHasImages primaryItem, List<BaseItem> items, string outputPath, bool drawText)
|
||||||
{
|
{
|
||||||
return CreateCollage(primaryItem, items, outputPath, 960, 540, drawText, primaryItem.Name);
|
return CreateCollage(primaryItem, items, outputPath, 960, 540, drawText, primaryItem.Name);
|
||||||
}
|
}
|
||||||
|
@ -115,22 +115,22 @@ namespace MediaBrowser.Server.Implementations.Photos
|
||||||
.Where(i => !string.IsNullOrWhiteSpace(i));
|
.Where(i => !string.IsNullOrWhiteSpace(i));
|
||||||
}
|
}
|
||||||
|
|
||||||
protected Task CreatePosterCollage(IHasImages primaryItem, List<BaseItem> items, string outputPath)
|
protected Task<bool> CreatePosterCollage(IHasImages primaryItem, List<BaseItem> items, string outputPath)
|
||||||
{
|
{
|
||||||
return CreateCollage(primaryItem, items, outputPath, 600, 900, true, primaryItem.Name);
|
return CreateCollage(primaryItem, items, outputPath, 600, 900, true, primaryItem.Name);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected Task CreateSquareCollage(IHasImages primaryItem, List<BaseItem> items, string outputPath, bool drawText)
|
protected Task<bool> CreateSquareCollage(IHasImages primaryItem, List<BaseItem> items, string outputPath, bool drawText)
|
||||||
{
|
{
|
||||||
return CreateCollage(primaryItem, items, outputPath, 800, 800, drawText, primaryItem.Name);
|
return CreateCollage(primaryItem, items, outputPath, 800, 800, drawText, primaryItem.Name);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected Task CreateThumbCollage(IHasImages primaryItem, List<BaseItem> items, string outputPath, int width, int height, bool drawText, string text)
|
protected Task<bool> CreateThumbCollage(IHasImages primaryItem, List<BaseItem> items, string outputPath, int width, int height, bool drawText, string text)
|
||||||
{
|
{
|
||||||
return CreateCollage(primaryItem, items, outputPath, width, height, drawText, text);
|
return CreateCollage(primaryItem, items, outputPath, width, height, drawText, text);
|
||||||
}
|
}
|
||||||
|
|
||||||
private Task CreateCollage(IHasImages primaryItem, List<BaseItem> items, string outputPath, int width, int height, bool drawText, string text)
|
private Task<bool> CreateCollage(IHasImages primaryItem, List<BaseItem> items, string outputPath, int width, int height, bool drawText, string text)
|
||||||
{
|
{
|
||||||
Directory.CreateDirectory(Path.GetDirectoryName(outputPath));
|
Directory.CreateDirectory(Path.GetDirectoryName(outputPath));
|
||||||
|
|
||||||
|
@ -143,7 +143,13 @@ namespace MediaBrowser.Server.Implementations.Photos
|
||||||
InputPaths = GetStripCollageImagePaths(primaryItem, items).ToArray()
|
InputPaths = GetStripCollageImagePaths(primaryItem, items).ToArray()
|
||||||
};
|
};
|
||||||
|
|
||||||
return ImageProcessor.CreateImageCollage(options);
|
if (options.InputPaths.Length == 0)
|
||||||
|
{
|
||||||
|
return Task.FromResult(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
ImageProcessor.CreateImageCollage(options);
|
||||||
|
return Task.FromResult(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
public string Name
|
public string Name
|
||||||
|
@ -166,26 +172,23 @@ namespace MediaBrowser.Server.Implementations.Photos
|
||||||
|
|
||||||
if (imageType == ImageType.Thumb)
|
if (imageType == ImageType.Thumb)
|
||||||
{
|
{
|
||||||
await CreateThumbCollage(item, itemsWithImages, outputPath, drawText).ConfigureAwait(false);
|
return await CreateThumbCollage(item, itemsWithImages, outputPath, drawText).ConfigureAwait(false);
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (imageType == ImageType.Primary)
|
if (imageType == ImageType.Primary)
|
||||||
{
|
{
|
||||||
if (item is UserView)
|
if (item is UserView)
|
||||||
{
|
{
|
||||||
await CreateSquareCollage(item, itemsWithImages, outputPath, drawText).ConfigureAwait(false);
|
return await CreateSquareCollage(item, itemsWithImages, outputPath, drawText).ConfigureAwait(false);
|
||||||
}
|
}
|
||||||
else if (item is PhotoAlbum || item is Playlist)
|
else if (item is PhotoAlbum || item is Playlist)
|
||||||
{
|
{
|
||||||
await CreateSquareCollage(item, itemsWithImages, outputPath, drawText).ConfigureAwait(false);
|
return await CreateSquareCollage(item, itemsWithImages, outputPath, drawText).ConfigureAwait(false);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
await CreatePosterCollage(item, itemsWithImages, outputPath).ConfigureAwait(false);
|
return await CreatePosterCollage(item, itemsWithImages, outputPath).ConfigureAwait(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
throw new ArgumentException("Unexpected image type");
|
throw new ArgumentException("Unexpected image type");
|
||||||
|
|
|
@ -224,8 +224,7 @@ namespace MediaBrowser.Server.Implementations.UserViews
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
await CreateThumbCollage(item, itemsWithImages, outputPath, 960, 540, false, item.Name).ConfigureAwait(false);
|
return await CreateThumbCollage(item, itemsWithImages, outputPath, 960, 540, false, item.Name).ConfigureAwait(false);
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return await base.CreateImage(item, itemsWithImages, outputPath, imageType, imageIndex).ConfigureAwait(false);
|
return await base.CreateImage(item, itemsWithImages, outputPath, imageType, imageIndex).ConfigureAwait(false);
|
||||||
|
|
Loading…
Reference in New Issue
Block a user