Add DVD authoring placeholder and adjust snippet defaults
This commit is contained in:
parent
762403b770
commit
91d38a1b3f
1
DONE.md
1
DONE.md
|
|
@ -833,6 +833,7 @@ This file tracks completed features, fixes, and milestones.
|
||||||
- ✅ Hide quality presets when bitrate mode is not CRF
|
- ✅ Hide quality presets when bitrate mode is not CRF
|
||||||
- ✅ Snippet UI now shows Convert Snippet + batch + options with context-sensitive controls
|
- ✅ Snippet UI now shows Convert Snippet + batch + options with context-sensitive controls
|
||||||
- ✅ Reduced module video pane minimum sizes to allow GNOME window snapping
|
- ✅ 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
|
- ✅ Stabilized video seeking and embedded rendering
|
||||||
- ✅ Improved player window positioning
|
- ✅ Improved player window positioning
|
||||||
- ✅ Fixed clear video functionality
|
- ✅ Fixed clear video functionality
|
||||||
|
|
|
||||||
7
TODO.md
7
TODO.md
|
|
@ -109,6 +109,13 @@ This file tracks upcoming features, improvements, and known issues.
|
||||||
- Creative effects (grayscale, vignette)
|
- Creative effects (grayscale, vignette)
|
||||||
- Real-time preview system
|
- 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
|
### Quality & Compression Improvements
|
||||||
- [x] **Automatic black bar detection and cropping** (v0.1.0-dev13 - COMPLETED)
|
- [x] **Automatic black bar detection and cropping** (v0.1.0-dev13 - COMPLETED)
|
||||||
- Implement ffmpeg cropdetect analysis pass
|
- Implement ffmpeg cropdetect analysis pass
|
||||||
|
|
|
||||||
|
|
@ -44,6 +44,12 @@ func HandleAudio(files []string) {
|
||||||
fmt.Println("audio", files)
|
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)
|
// HandleSubtitles handles the subtitles module (placeholder)
|
||||||
func HandleSubtitles(files []string) {
|
func HandleSubtitles(files []string) {
|
||||||
logging.Debug(logging.CatModule, "subtitles handler invoked with %v", files)
|
logging.Debug(logging.CatModule, "subtitles handler invoked with %v", files)
|
||||||
|
|
|
||||||
7
main.go
7
main.go
|
|
@ -88,6 +88,7 @@ var (
|
||||||
{"filters", "Filters", utils.MustHex("#44FF88"), "Convert", modules.HandleFilters}, // Green
|
{"filters", "Filters", utils.MustHex("#44FF88"), "Convert", modules.HandleFilters}, // Green
|
||||||
{"upscale", "Upscale", utils.MustHex("#AAFF44"), "Advanced", modules.HandleUpscale}, // Yellow-Green
|
{"upscale", "Upscale", utils.MustHex("#AAFF44"), "Advanced", modules.HandleUpscale}, // Yellow-Green
|
||||||
{"audio", "Audio", utils.MustHex("#FFD744"), "Convert", modules.HandleAudio}, // Yellow
|
{"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
|
{"subtitles", "Subtitles", utils.MustHex("#44A6FF"), "Convert", modules.HandleSubtitles}, // Azure
|
||||||
{"thumb", "Thumb", utils.MustHex("#FF8844"), "Screenshots", modules.HandleThumb}, // Orange
|
{"thumb", "Thumb", utils.MustHex("#FF8844"), "Screenshots", modules.HandleThumb}, // Orange
|
||||||
{"compare", "Compare", utils.MustHex("#FF44AA"), "Inspect", modules.HandleCompare}, // Pink
|
{"compare", "Compare", utils.MustHex("#FF44AA"), "Inspect", modules.HandleCompare}, // Pink
|
||||||
|
|
@ -1410,7 +1411,7 @@ func (s *appState) showMainMenu() {
|
||||||
Label: m.Label,
|
Label: m.Label,
|
||||||
Color: m.Color,
|
Color: m.Color,
|
||||||
Category: m.Category,
|
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 {
|
if state.snippetLength == 0 {
|
||||||
state.snippetLength = 20 // Default to 20 seconds
|
state.snippetLength = 20 // Default to 20 seconds
|
||||||
}
|
}
|
||||||
// Default to source format if not set
|
|
||||||
if !state.snippetSourceFormat {
|
|
||||||
state.snippetSourceFormat = true
|
|
||||||
}
|
|
||||||
|
|
||||||
// Snippet length configuration
|
// Snippet length configuration
|
||||||
snippetLengthLabel := widget.NewLabel(fmt.Sprintf("Snippet Length: %d seconds", state.snippetLength))
|
snippetLengthLabel := widget.NewLabel(fmt.Sprintf("Snippet Length: %d seconds", state.snippetLength))
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user