mirror of https://github.com/ErsatzTV/ErsatzTV.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
22 lines
783 B
22 lines
783 B
using System.Globalization; |
|
|
|
namespace ErsatzTV.Core.FFmpeg; |
|
|
|
public abstract record FadePoint(TimeSpan Time, string InOut) |
|
{ |
|
public TimeSpan EnableStart { get; set; } |
|
public TimeSpan EnableFinish { get; set; } |
|
|
|
public string ToFilter() |
|
{ |
|
var startTime = Time.TotalSeconds.ToString(NumberFormatInfo.InvariantInfo); |
|
var enableStart = EnableStart.TotalSeconds.ToString(NumberFormatInfo.InvariantInfo); |
|
var enableFinish = EnableFinish.TotalSeconds.ToString(NumberFormatInfo.InvariantInfo); |
|
|
|
return $"fade={InOut}:st={startTime}:d=1:alpha=1:enable='between(t,{enableStart},{enableFinish})'"; |
|
} |
|
} |
|
|
|
public record FadeInPoint(TimeSpan Time) : FadePoint(Time, "in"); |
|
|
|
public record FadeOutPoint(TimeSpan Time) : FadePoint(Time, "out");
|
|
|