Add S-expression based video effects pipeline with modular effect definitions, constructs, and recipe files. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
66 lines
2.5 KiB
Common Lisp
66 lines
2.5 KiB
Common Lisp
;; All 42 Effects Preset
|
|
;; Flat format - params are direct keys, not nested under :params
|
|
;; Binding format: {:bind "analyzer-name" :range [min max]}
|
|
|
|
(def all-42-preset
|
|
(list
|
|
;; Color effects 0-9
|
|
{:effect "invert"}
|
|
{:effect "grayscale"}
|
|
{:effect "sepia"}
|
|
{:effect "brightness" :amount {:bind "bass" :range [-80 80]}}
|
|
{:effect "contrast" :amount {:bind "energy" :range [0.5 2.5]}}
|
|
{:effect "saturation" :amount {:bind "bass" :range [0.2 3.0]}}
|
|
{:effect "hue_shift" :degrees {:bind "energy" :range [0 360]}}
|
|
{:effect "color_cycle" :speed 2}
|
|
{:effect "threshold" :level 128}
|
|
{:effect "posterize" :levels 6}
|
|
|
|
;; Blur/sharpen 10-13
|
|
{:effect "blur" :radius {:bind "bass" :range [1 30]}}
|
|
{:effect "sharpen" :amount {:bind "energy" :range [0.5 4]}}
|
|
{:effect "bloom" :intensity 0.6 :radius 20}
|
|
{:effect "color-adjust" :brightness 20 :contrast 1.2}
|
|
|
|
;; Distortion 14-21
|
|
{:effect "swirl" :strength {:bind "bass" :range [-6 6]}}
|
|
{:effect "fisheye" :strength {:bind "bass" :range [-0.5 0.8]}}
|
|
{:effect "wave" :amplitude {:bind "bass" :range [10 60]} :wavelength 60}
|
|
{:effect "ripple" :amplitude {:bind "bass" :range [10 40]} :frequency 6}
|
|
{:effect "kaleidoscope" :segments 6 :rotation_speed 30}
|
|
{:effect "zoom" :factor {:bind "bass" :range [0.8 1.5]}}
|
|
{:effect "rotate" :angle {:bind "energy" :range [-30 30]}}
|
|
{:effect "mirror" :direction "horizontal"}
|
|
|
|
;; Stylization 22-28
|
|
{:effect "pixelate" :block_size {:bind "bass" :range [4 32]}}
|
|
{:effect "ascii_art" :char_size 8 :color_mode "color"}
|
|
{:effect "ascii_zones" :char_size 10}
|
|
{:effect "edge_detect" :low 50 :high 150}
|
|
{:effect "emboss" :strength 1.5}
|
|
{:effect "outline" :thickness 2}
|
|
{:effect "neon_glow" :glow_radius 20 :glow_intensity 2}
|
|
|
|
;; Retro/film 29-33
|
|
{:effect "crt" :line_spacing 3 :vignette_amount 0.3}
|
|
{:effect "scanlines" :spacing 3 :intensity 0.4}
|
|
{:effect "film_grain" :intensity 0.25}
|
|
{:effect "vignette" :strength 0.6}
|
|
{:effect "noise" :amount {:bind "bass" :range [10 80]}}
|
|
|
|
;; Chromatic 34
|
|
{:effect "rgb_split" :offset_x {:bind "bass" :range [5 40]}}
|
|
|
|
;; Temporal 35-37
|
|
{:effect "echo" :num_echoes 4 :decay 0.5}
|
|
{:effect "trails" :persistence 0.7}
|
|
{:effect "strobe" :frequency 4}
|
|
|
|
;; Geometric 38-39
|
|
{:effect "flip" :direction "horizontal"}
|
|
{:effect "tile_grid" :rows 2 :cols 2}
|
|
|
|
;; Glitch 40-41
|
|
{:effect "pixelsort" :threshold_low 30 :threshold_high 220}
|
|
{:effect "datamosh" :corruption {:bind "bass" :range [0.2 0.8]} :block_size 24}))
|