All checks were successful
continuous-integration/drone/push Build is passing
37 lines
1.0 KiB
C#
37 lines
1.0 KiB
C#
using MediaBrowser.Controller.Entities;
|
|
using MediaBrowser.Controller.Providers;
|
|
using MediaBrowser.Model.Entities;
|
|
|
|
namespace Jellyfin.Plugin.Cinema;
|
|
|
|
|
|
/// <summary>
|
|
/// An image provider for Cinema icons.
|
|
/// </summary>
|
|
public class CinemaImageProvider : IDynamicImageProvider
|
|
{
|
|
/// <inheritdoc />
|
|
public string Name => "Cinema Image Provider";
|
|
|
|
/// <inheritdoc />
|
|
public IEnumerable<ImageType> GetSupportedImages(BaseItem item)
|
|
{
|
|
yield return ImageType.Thumb;
|
|
}
|
|
|
|
/// <inheritdoc />
|
|
public Task<DynamicImageResponse> GetImage(BaseItem item, ImageType type, CancellationToken cancellationToken)
|
|
{
|
|
if (item is CinemaFilterFolder filter)
|
|
return Task.FromResult(new DynamicImageResponse() { HasImage = true, Stream = typeof(CinemaImageProvider).Assembly.GetManifestResourceStream(typeof(CinemaImageProvider), filter.ImageName) });
|
|
else
|
|
return Task.FromResult(new DynamicImageResponse() { HasImage = false });
|
|
}
|
|
|
|
/// <inheritdoc />
|
|
public bool Supports(BaseItem item)
|
|
{
|
|
return item is CinemaFilterFolder;
|
|
}
|
|
}
|