;; Wave effect - sinusoidal distortion ;; Usage: python3 plan.py effects/wave.sexp -p amplitude=30 -p wavelength=60 | python3 execute.py - -d . -o output.mp4 ;; ;; Parameters: ;; amplitude: wave height in pixels (5 to 100, default: 30) ;; wavelength: wave period in pixels (20 to 200, default: 60) (recipe "wave" :version "1.0" :encoding (:codec "libx264" :crf 20 :preset "medium" :audio-codec "aac" :fps 30) (effect wave :path "sexp_effects/effects/wave.sexp") ;; Default parameters (overridden by -p amplitude=N -p wavelength=N) (def amplitude 30) (def wavelength 60) (def video (source :path "monday.webm")) (def clip (-> video (segment :start 0 :duration 10))) (def result (-> clip (effect wave :amplitude amplitude :wavelength wavelength))) result)