namespace AmiReel.Models; /// Visual style applied to a YouTube Short. Mirrors the --style values of amigadb-short.sh. public enum ShortStyle { Brand, Pixel, Mirror, Crop, Workbench, Blur, Crt, Copper, Stars, Grid, Tiles, Scan, Starfield, Plasma, Rasterbars, Vhs, Monitor, Split, Spectrum, } /// One YouTube Shorts render job's parameters (port of amigadb-short.sh's arguments). public sealed record ShortSettings { public required string InputFile { get; init; } public required string OutputPath { get; init; } public required string Title { get; init; } public string Group { get; init; } = ""; public string Year { get; init; } = ""; public string Type { get; init; } = ""; public required string Hook { get; init; } public required string Website { get; init; } public required string Start { get; init; } public required double DurationSeconds { get; init; } public required ShortStyle Style { get; init; } public string BackgroundImage { get; init; } = ""; public required string FontFile { get; init; } public required string FfmpegPath { get; init; } public required string FfprobePath { get; init; } public int Crf { get; init; } = 16; public string Preset { get; init; } = "slow"; }