Enhances screenshot module with comprehensive technical metadata display including audio bitrate, adds 8px padding between thumbnails for professional contact sheets. Implements new Player module for video playback access. Adds complete Filters and Upscale modules with traditional FFmpeg scaling methods (Lanczos, Bicubic, Spline, Bilinear) and resolution presets (720p-8K). Introduces configurable snippet length (5-60s, default 20s) with batch generation capability for all loaded videos. Fixes snippet duration precision by re-encoding instead of stream copy to ensure frame-accurate cutting at configured length. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
70 lines
2.0 KiB
Go
70 lines
2.0 KiB
Go
package modules
|
|
|
|
import (
|
|
"fmt"
|
|
|
|
"git.leaktechnologies.dev/stu/VideoTools/internal/logging"
|
|
)
|
|
|
|
// Module handlers - each handles the logic for a specific module
|
|
|
|
// HandleConvert handles the convert module
|
|
func HandleConvert(files []string) {
|
|
logging.Debug(logging.CatFFMPEG, "convert handler invoked with %v", files)
|
|
fmt.Println("convert", files)
|
|
}
|
|
|
|
// HandleMerge handles the merge module
|
|
func HandleMerge(files []string) {
|
|
logging.Debug(logging.CatFFMPEG, "merge handler invoked with %v", files)
|
|
fmt.Println("merge", files)
|
|
}
|
|
|
|
// HandleTrim handles the trim module
|
|
func HandleTrim(files []string) {
|
|
logging.Debug(logging.CatModule, "trim handler invoked with %v", files)
|
|
fmt.Println("trim", files)
|
|
}
|
|
|
|
// HandleFilters handles the filters module
|
|
func HandleFilters(files []string) {
|
|
logging.Debug(logging.CatModule, "filters handler invoked with %v", files)
|
|
fmt.Println("filters", files)
|
|
}
|
|
|
|
// HandleUpscale handles the upscale module
|
|
func HandleUpscale(files []string) {
|
|
logging.Debug(logging.CatModule, "upscale handler invoked with %v", files)
|
|
fmt.Println("upscale", files)
|
|
}
|
|
|
|
// HandleAudio handles the audio module
|
|
func HandleAudio(files []string) {
|
|
logging.Debug(logging.CatModule, "audio handler invoked with %v", files)
|
|
fmt.Println("audio", files)
|
|
}
|
|
|
|
// HandleThumb handles the thumb module
|
|
func HandleThumb(files []string) {
|
|
logging.Debug(logging.CatModule, "thumb handler invoked with %v", files)
|
|
fmt.Println("thumb", files)
|
|
}
|
|
|
|
// HandleInspect handles the inspect module
|
|
func HandleInspect(files []string) {
|
|
logging.Debug(logging.CatModule, "inspect handler invoked with %v", files)
|
|
fmt.Println("inspect", files)
|
|
}
|
|
|
|
// HandleCompare handles the compare module (side-by-side comparison of two videos)
|
|
func HandleCompare(files []string) {
|
|
logging.Debug(logging.CatModule, "compare handler invoked with %v", files)
|
|
fmt.Println("compare", files)
|
|
}
|
|
|
|
// HandlePlayer handles the player module
|
|
func HandlePlayer(files []string) {
|
|
logging.Debug(logging.CatModule, "player handler invoked with %v", files)
|
|
fmt.Println("player", files)
|
|
}
|