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:
@@ -81,6 +81,55 @@ public class AppSettingsTests
|
||||
Assert.AreEqual("3", normalized.FadeSeconds);
|
||||
Assert.AreEqual("4", normalized.EndCardHoldSeconds);
|
||||
Assert.AreEqual("10", normalized.ThumbnailInterval);
|
||||
Assert.AreEqual("", normalized.SourceSearchFolder);
|
||||
Assert.AreEqual("Auto", normalized.VideoSourceCropMode);
|
||||
Assert.AreEqual("0", normalized.VideoCropLeft);
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
public void Normalize_WithBlankVideoSourceSettings_RestoresDefaults()
|
||||
{
|
||||
// Arrange
|
||||
AppSettings settings = AppSettings.Default(@"C:\Videos") with
|
||||
{
|
||||
SourceSearchFolder = null!,
|
||||
VideoSourceCropMode = "",
|
||||
VideoCropLeft = " ",
|
||||
VideoCropRight = "",
|
||||
VideoCropTop = "",
|
||||
VideoCropBottom = "",
|
||||
};
|
||||
|
||||
// Act
|
||||
AppSettings normalized = settings.Normalize(@"C:\Videos");
|
||||
|
||||
// Assert
|
||||
Assert.AreEqual("", normalized.SourceSearchFolder);
|
||||
Assert.AreEqual("Auto", normalized.VideoSourceCropMode);
|
||||
Assert.AreEqual("0", normalized.VideoCropLeft);
|
||||
Assert.AreEqual("0", normalized.VideoCropRight);
|
||||
Assert.AreEqual("0", normalized.VideoCropTop);
|
||||
Assert.AreEqual("0", normalized.VideoCropBottom);
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
public void Normalize_WithSourceSearchFolder_KeepsItUnchanged()
|
||||
{
|
||||
// Arrange
|
||||
AppSettings settings = AppSettings.Default(@"C:\Videos") with
|
||||
{
|
||||
SourceSearchFolder = @"D:\AmigaIntrosVideos",
|
||||
VideoSourceCropMode = "Center",
|
||||
VideoCropLeft = "12",
|
||||
};
|
||||
|
||||
// Act
|
||||
AppSettings normalized = settings.Normalize(@"C:\Videos");
|
||||
|
||||
// Assert
|
||||
Assert.AreEqual(@"D:\AmigaIntrosVideos", normalized.SourceSearchFolder);
|
||||
Assert.AreEqual("Center", normalized.VideoSourceCropMode);
|
||||
Assert.AreEqual("12", normalized.VideoCropLeft);
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
|
||||
Reference in New Issue
Block a user