15 lines
539 B
Common Lisp
15 lines
539 B
Common Lisp
;; Datamosh effect - glitch block corruption
|
|
|
|
(define-effect datamosh
|
|
:params (
|
|
(block_size :type int :default 32 :range [8 128])
|
|
(corruption :type float :default 0.3 :range [0 1])
|
|
(max_offset :type int :default 50 :range [0 200])
|
|
(color_corrupt :type bool :default true)
|
|
)
|
|
;; Get previous frame from state, or use current frame if none
|
|
(let ((prev (state-get "prev_frame" frame)))
|
|
(begin
|
|
(state-set "prev_frame" (copy frame))
|
|
(datamosh frame prev block_size corruption max_offset color_corrupt))))
|