package wh40k

import (
	"log"
	"os/exec"
)

func (w *WH40K) PlayVideo(name string, skippable bool) {
	filename := w.Config.DataFile("SMK/" + name + ".smk")

	if len(w.Config.VideoPlayer) == 0 {
		log.Printf("Video player not configured, skipping video %v", filename)
		return
	}

	argc := w.Config.VideoPlayer[0]
	argv := append(w.Config.VideoPlayer[1:])
	if skippable {
		argv = append(argv, "--input-conf=skippable.mpv.conf")
	}

	argv = append(argv, filename)

	if err := exec.Command(argc, argv...).Run(); err != nil {
		log.Printf("Error playing video %v: %v", filename, err)
	}
}

func (w *WH40K) PlayUnskippableVideo(name string) {
	w.PlayVideo(name, false)
}

func (w *WH40K) PlaySkippableVideo(name string) {
	w.PlayVideo(name, true)
}
