;; Kaleidoscope effect - radial mirror segments ;; Usage: python3 plan.py effects/kaleidoscope.sexp -p segments=6 -p rotation_speed=30 | python3 execute.py - -d . -o output.mp4 ;; ;; Parameters: ;; segments: number of mirror segments (2 to 16, default: 6) ;; rotation_speed: rotation in degrees per second (0 to 180, default: 30) (recipe "kaleidoscope" :version "1.0" :encoding (:codec "libx264" :crf 20 :preset "medium" :audio-codec "aac" :fps 30) (effect kaleidoscope :path "sexp_effects/effects/kaleidoscope.sexp") ;; Default parameters (overridden by -p segments=N -p rotation_speed=N) (def segments 6) (def rotation_speed 30) (def video (source :path "monday.webm")) (def clip (-> video (segment :start 0 :duration 10))) (def result (-> clip (effect kaleidoscope :segments segments :rotation_speed rotation_speed))) result)