;; 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))))