Allow customisation of preview generation (#673)

* Add generate-specific options
* Include no-cache in preview response
This commit is contained in:
WithoutPants
2020-07-23 12:51:35 +10:00
committed by GitHub
parent 37be146a9d
commit a2341f0819
18 changed files with 509 additions and 53 deletions

View File

@@ -10,10 +10,12 @@ import (
)
type GeneratePreviewTask struct {
Scene models.Scene
ImagePreview bool
PreviewPreset string
Overwrite bool
Scene models.Scene
ImagePreview bool
Options models.GeneratePreviewOptionsInput
Overwrite bool
}
func (t *GeneratePreviewTask) Start(wg *sync.WaitGroup) {
@@ -32,13 +34,19 @@ func (t *GeneratePreviewTask) Start(wg *sync.WaitGroup) {
return
}
generator, err := NewPreviewGenerator(*videoFile, videoFilename, imageFilename, instance.Paths.Generated.Screenshots, true, t.ImagePreview, t.PreviewPreset)
generator, err := NewPreviewGenerator(*videoFile, videoFilename, imageFilename, instance.Paths.Generated.Screenshots, true, t.ImagePreview, t.Options.PreviewPreset.String())
if err != nil {
logger.Errorf("error creating preview generator: %s", err.Error())
return
}
generator.Overwrite = t.Overwrite
// set the preview generation configuration from the global config
generator.Info.ChunkCount = *t.Options.PreviewSegments
generator.Info.ChunkDuration = *t.Options.PreviewSegmentDuration
generator.Info.ExcludeStart = *t.Options.PreviewExcludeStart
generator.Info.ExcludeEnd = *t.Options.PreviewExcludeEnd
if err := generator.Generate(); err != nil {
logger.Errorf("error generating preview: %s", err.Error())
return