From ba1c36411301c9003382a6a9d7c8779b6c9fdbfe Mon Sep 17 00:00:00 2001 From: Stu Leak Date: Sat, 20 Dec 2025 14:29:56 -0500 Subject: [PATCH] Default target aspect to Source unless user-set --- DONE.md | 1 + TODO.md | 1 + main.go | 8 +++++--- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/DONE.md b/DONE.md index 6d6044c..756d341 100644 --- a/DONE.md +++ b/DONE.md @@ -772,6 +772,7 @@ This file tracks completed features, fixes, and milestones. - ✅ History sidebar refreshes when jobs complete (snippet entries now appear) - ✅ Benchmark errors now show non-blocking notifications instead of OK popups - ✅ Fixed stats bar updates to run on the UI thread to avoid Fyne warnings +- ✅ Defaulted Target Aspect Ratio back to Source unless user explicitly sets it - ✅ Stabilized video seeking and embedded rendering - ✅ Improved player window positioning - ✅ Fixed clear video functionality diff --git a/TODO.md b/TODO.md index 783bb86..70f1054 100644 --- a/TODO.md +++ b/TODO.md @@ -46,6 +46,7 @@ This file tracks upcoming features, improvements, and known issues. - Snippet history updates in sidebar - Non-blocking benchmark error notifications - Stats bar updates run on the UI thread + - Target aspect default enforced as Source unless user changes it ## Priority Features for dev20+ diff --git a/main.go b/main.go index cdc1bea..df4aba8 100644 --- a/main.go +++ b/main.go @@ -531,11 +531,13 @@ func loadPersistedConvertConfig() (convertConfig, error) { if err := json.Unmarshal(data, &cfg); err != nil { return cfg, err } - if cfg.OutputAspect == "" { + if cfg.OutputAspect == "" || strings.EqualFold(cfg.OutputAspect, "Source") { + cfg.OutputAspect = "Source" + cfg.AspectUserSet = false + } else if !cfg.AspectUserSet { + // Treat legacy saved aspects (like 16:9 defaults) as unset cfg.OutputAspect = "Source" cfg.AspectUserSet = false - } else if !strings.EqualFold(cfg.OutputAspect, "Source") { - cfg.AspectUserSet = true } // Always default FrameRate to Source if not set to avoid unwanted conversions if cfg.FrameRate == "" {