package video import ( "mxl-pattern-generator/internal/flowdef" "github.com/qvest-digital/go-mxl/mxl" ) type Backend string const ( BackendAuto Backend = "auto" BackendGPU Backend = "gpu" BackendCPU Backend = "cpu" ) type Config struct { Definition flowdef.Video Pattern string Overlay OverlayConfig Backend Backend } type OverlayConfig struct { Text string X int Y int Position string } func (c Config) ID() string { return c.Definition.ID } func (c Config) Width() uint { return c.Definition.FrameWidth } func (c Config) Height() uint { return c.Definition.FrameHeight } func (c Config) Rate() mxl.Rational { return mxl.Rational{ Num: int64(c.Definition.GrainRate.Numerator), Den: int64(c.Definition.GrainRate.Denominator), } }