;; Datamosh effect - glitch block corruption ;; @param block_size int [8, 128] default 32 ;; @param corruption float [0, 1] default 0.3 ;; @param max_offset int [0, 200] default 50 ;; @param color_corrupt bool default true (define-effect datamosh ((block_size 32) (corruption 0.3) (max_offset 50) (color_corrupt 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))))