Files
ersatztv/ErsatzTV.Core/Interfaces/Streaming/GraphicsEngineContext.cs
T
Jason DoveandGitHub 07a55da76e process graphics element yaml files with scriban (#2410)
* add content rating to media item template

* process graphics element yaml files with scriban
2025-09-13 03:04:46 +00:00

44 lines
1.3 KiB
C#

using ErsatzTV.Core.Domain;
using ErsatzTV.Core.FFmpeg;
using ErsatzTV.Core.Graphics;
namespace ErsatzTV.Core.Interfaces.Streaming;
public record GraphicsEngineContext(
string ChannelNumber,
MediaItem MediaItem,
List<GraphicsElementContext> Elements,
List<PlayoutItemGraphicsElement> ElementReferences,
Resolution SquarePixelFrameSize,
Resolution FrameSize,
int FrameRate,
DateTimeOffset ChannelStartTime,
DateTimeOffset ContentStartTime,
TimeSpan Seek,
TimeSpan Duration);
public abstract record GraphicsElementContext;
public record WatermarkElementContext(WatermarkOptions Options) : GraphicsElementContext;
public record TextElementDataContext(TextGraphicsElement TextElement, Dictionary<string, string> Variables)
: GraphicsElementContext, ITemplateDataContext
{
public int EpgEntries => TextElement.EpgEntries;
}
public record ImageElementContext(ImageGraphicsElement ImageElement) : GraphicsElementContext;
public record SubtitleElementDataContext(
SubtitlesGraphicsElement SubtitlesElement,
Dictionary<string, string> Variables)
: GraphicsElementContext, ITemplateDataContext
{
public int EpgEntries => SubtitlesElement.EpgEntries;
}
public interface ITemplateDataContext
{
int EpgEntries { get; }
}