Add DVD authoring placeholder and adjust snippet defaults

This commit is contained in:
Stu Leak 2025-12-20 18:49:54 -05:00
parent 762403b770
commit 91d38a1b3f
4 changed files with 16 additions and 5 deletions

View File

@ -833,6 +833,7 @@ This file tracks completed features, fixes, and milestones.
- ✅ Hide quality presets when bitrate mode is not CRF
- ✅ Snippet UI now shows Convert Snippet + batch + options with context-sensitive controls
- ✅ Reduced module video pane minimum sizes to allow GNOME window snapping
- ✅ Snippet defaults now use conversion settings (not Match Source)
- ✅ Stabilized video seeking and embedded rendering
- ✅ Improved player window positioning
- ✅ Fixed clear video functionality

View File

@ -109,6 +109,13 @@ This file tracks upcoming features, improvements, and known issues.
- Creative effects (grayscale, vignette)
- Real-time preview system
- [ ] **DVD Authoring module**
- Output VIDEO_TS folder + burn-ready ISO
- Auto-detect NTSC/PAL with manual override
- Preserve all audio tracks
- Subtitle support (start with SRT)
- Chapter sources: existing, manual markers, auto scene length
### Quality & Compression Improvements
- [x] **Automatic black bar detection and cropping** (v0.1.0-dev13 - COMPLETED)
- Implement ffmpeg cropdetect analysis pass

View File

@ -44,6 +44,12 @@ func HandleAudio(files []string) {
fmt.Println("audio", files)
}
// HandleDVDAuthor handles the DVD authoring module (placeholder)
func HandleDVDAuthor(files []string) {
logging.Debug(logging.CatModule, "dvd author handler invoked with %v", files)
fmt.Println("dvd author", files)
}
// HandleSubtitles handles the subtitles module (placeholder)
func HandleSubtitles(files []string) {
logging.Debug(logging.CatModule, "subtitles handler invoked with %v", files)

View File

@ -88,6 +88,7 @@ var (
{"filters", "Filters", utils.MustHex("#44FF88"), "Convert", modules.HandleFilters}, // Green
{"upscale", "Upscale", utils.MustHex("#AAFF44"), "Advanced", modules.HandleUpscale}, // Yellow-Green
{"audio", "Audio", utils.MustHex("#FFD744"), "Convert", modules.HandleAudio}, // Yellow
{"dvd-author", "DVD Author", utils.MustHex("#FFAA44"), "Convert", modules.HandleDVDAuthor}, // Orange
{"subtitles", "Subtitles", utils.MustHex("#44A6FF"), "Convert", modules.HandleSubtitles}, // Azure
{"thumb", "Thumb", utils.MustHex("#FF8844"), "Screenshots", modules.HandleThumb}, // Orange
{"compare", "Compare", utils.MustHex("#FF44AA"), "Inspect", modules.HandleCompare}, // Pink
@ -1410,7 +1411,7 @@ func (s *appState) showMainMenu() {
Label: m.Label,
Color: m.Color,
Category: m.Category,
Enabled: m.ID == "convert" || m.ID == "compare" || m.ID == "inspect" || m.ID == "merge" || m.ID == "thumb" || m.ID == "player" || m.ID == "filters" || m.ID == "upscale", // Enabled modules (subtitles placeholder stays disabled)
Enabled: m.ID == "convert" || m.ID == "compare" || m.ID == "inspect" || m.ID == "merge" || m.ID == "thumb" || m.ID == "player" || m.ID == "filters" || m.ID == "upscale", // Enabled modules (authoring/subtitles placeholders stay disabled)
})
}
@ -7064,10 +7065,6 @@ func buildConvertView(state *appState, src *videoSource) fyne.CanvasObject {
if state.snippetLength == 0 {
state.snippetLength = 20 // Default to 20 seconds
}
// Default to source format if not set
if !state.snippetSourceFormat {
state.snippetSourceFormat = true
}
// Snippet length configuration
snippetLengthLabel := widget.NewLabel(fmt.Sprintf("Snippet Length: %d seconds", state.snippetLength))