- New streaming/ module for real-time video processing: - compositor.py: Main streaming compositor with cycle-crossfade - sexp_executor.py: Executes compiled sexp recipes in real-time - sexp_interp.py: Full S-expression interpreter for SLICE_ON Lambda - recipe_adapter.py: Bridges recipes to streaming compositor - sources.py: Video source with ffmpeg streaming - audio.py: Real-time audio analysis (energy, beats) - output.py: Preview (mpv) and file output with audio muxing - New templates/: - cycle-crossfade.sexp: Smooth zoom-based video cycling - process-pair.sexp: Dual-clip processing with effects - Key features: - Videos cycle in input-videos order (not definition order) - Cumulative whole-spin rotation - Zero-weight sources skip processing - Live audio-reactive effects - New effects: blend_multi for weighted layer compositing - Updated primitives and interpreter for streaming compatibility Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
10 lines
327 B
Common Lisp
10 lines
327 B
Common Lisp
;; Invert effect - inverts all colors
|
|
;; Uses vectorized invert-img primitive for fast processing
|
|
;; amount param: 0 = no invert, 1 = full invert (threshold at 0.5)
|
|
|
|
(require-primitives "color_ops")
|
|
|
|
(define-effect invert
|
|
:params ((amount :type float :default 1 :range [0 1]))
|
|
(if (> amount 0.5) (invert-img frame) frame))
|