Add video preview, source crop, find-videos, and render toasts
Bring the Video tab closer to Shorts with 4K preview stills and crop modes (none, auto, center, plus the visual editor). Settings store a default source folder so Find videos can collect output.avi sequences. Cap the FFmpeg log with auto-scroll, hide repeat spam, and show a Windows notification when a video or short finishes or fails.
This commit is contained in:
@@ -21,6 +21,12 @@ public sealed record AppSettings
|
||||
public required string EndCardHoldSeconds { get; init; }
|
||||
public required string ThumbnailInterval { get; init; }
|
||||
public bool? MoveSourcesToOriginals { get; init; }
|
||||
public string SourceSearchFolder { get; init; } = "";
|
||||
public string VideoSourceCropMode { get; init; } = "Auto";
|
||||
public string VideoCropLeft { get; init; } = "0";
|
||||
public string VideoCropRight { get; init; } = "0";
|
||||
public string VideoCropTop { get; init; } = "0";
|
||||
public string VideoCropBottom { get; init; } = "0";
|
||||
|
||||
// Shorts tab defaults (sticky across launches, same as the fields above).
|
||||
public string ShortsStyle { get; init; } = "Brand";
|
||||
@@ -57,6 +63,12 @@ public sealed record AppSettings
|
||||
EndCardHoldSeconds = "4",
|
||||
ThumbnailInterval = "10",
|
||||
MoveSourcesToOriginals = true,
|
||||
SourceSearchFolder = "",
|
||||
VideoSourceCropMode = "Auto",
|
||||
VideoCropLeft = "0",
|
||||
VideoCropRight = "0",
|
||||
VideoCropTop = "0",
|
||||
VideoCropBottom = "0",
|
||||
};
|
||||
|
||||
public AppSettings Normalize(string fallbackOutputFolder) => this with
|
||||
@@ -73,6 +85,12 @@ public sealed record AppSettings
|
||||
EndCardHoldSeconds = string.IsNullOrWhiteSpace(EndCardHoldSeconds) ? "4" : EndCardHoldSeconds,
|
||||
ThumbnailInterval = string.IsNullOrWhiteSpace(ThumbnailInterval) ? "10" : ThumbnailInterval,
|
||||
MoveSourcesToOriginals = MoveSourcesToOriginals ?? true,
|
||||
SourceSearchFolder = SourceSearchFolder ?? "",
|
||||
VideoSourceCropMode = string.IsNullOrWhiteSpace(VideoSourceCropMode) ? "Auto" : VideoSourceCropMode,
|
||||
VideoCropLeft = string.IsNullOrWhiteSpace(VideoCropLeft) ? "0" : VideoCropLeft,
|
||||
VideoCropRight = string.IsNullOrWhiteSpace(VideoCropRight) ? "0" : VideoCropRight,
|
||||
VideoCropTop = string.IsNullOrWhiteSpace(VideoCropTop) ? "0" : VideoCropTop,
|
||||
VideoCropBottom = string.IsNullOrWhiteSpace(VideoCropBottom) ? "0" : VideoCropBottom,
|
||||
ShortsStyle = string.IsNullOrWhiteSpace(ShortsStyle) ? "Brand" : ShortsStyle,
|
||||
ShortsHook = ShortsHook ?? "THIS RAN ON AN AMIGA",
|
||||
ShortsWebsite = ShortsWebsite ?? "AMIGADB.NET",
|
||||
|
||||
Reference in New Issue
Block a user