; ; the idea here being that if you can make it though this ; script after one of your changes to gimp-core, at least ; you probabaly didnt completely break GIMP (define (for-each fun lst) (if (not (null? lst)) (begin (fun (car lst)) (for-each fun (cdr lst))) #t)) (define (gimp-display-delete-list l) (print "barrrrrrrrr") (for-each gimp-display-delete l)) (define (gimp-image-delete-list l) (for-each gimp-image-delete l)) (define (script-fu-bogo text font-size font times) (while (> times 0) (gimp-bogogimps text font-size font) (set! times (- times 1)))) (define (lut-me-harder img layer) ; this wont work on images smaller than 256x256, sorry... ; just does a variety of stuff (gimp-message "gimp-blend img layer 0 0 0 80 0 2 FALSE 0 0 0 0 256 256") (gimp-blend img layer 0 0 0 80 0 2 FALSE 0 0 0 0 256 256) (gimp-message "gimp-brightness-contrast img layer 50 -10") (gimp-brightness-contrast img layer 50 -10) (gimp-message "gimp-bucket-fill img layer 0 0 100 30 FALSE 128 64") (gimp-bucket-fill img layer 0 0 100 30 FALSE 128 64) (gimp-message "gimp-bucket-fill img layer 0 0 100 30 FALSE 200 200") (gimp-bucket-fill img layer 0 0 100 30 FALSE 200 200) (gimp-message "gimp-color-balance img layer 1 TRUE -80 80 34") (gimp-color-balance img layer 1 TRUE -80 80 34) (gimp-message "gimp-threshold img layer 30 230") (gimp-threshold img layer 30 230) (gimp-message "gimp-hue-saturation img layer 0 -120 84 67") (gimp-hue-saturation img layer 0 -120 84 67) (gimp-message "gimp-invert img layer") (gimp-invert img layer) (gimp-message "gimp-levels img layer 0 30 234 2.1 0 255") (gimp-levels img layer 0 30 234 2.1 0 255) (gimp-message "gimp-posterize img layer 6") (gimp-posterize img layer 6) (gimp-message "done with lut me harder") ) (define (fold-spindle-mutilate img layer) ; this wont work on images smaller than 256x256, sorry... (gimp-message "folding, and such...") (gimp-message "gimp-flip img layer 0") (gimp-flip img layer 0) (gimp-message "gimp-perspective img layer FALSE 0 0 200 0 0 256 234 212") (gimp-perspective img layer FALSE 0 0 200 0 0 256 234 212) (gimp-message "gimp-scale img layer FALSE 0 0 (car (gimp-image-width img)) (car (gimp-image-height img))") (gimp-scale img layer FALSE 0 0 (car (gimp-image-width img)) (car (gimp-image-height img))) (gimp-message "gimp-rotate img layer TRUE 90") (gimp-rotate img layer TRUE 90) (gimp-message "gimp-rotate img layer TRUE 43.5 oooouch!") (gimp-rotate img layer TRUE 43.5) ;ouch! (set! width (car (gimp-image-width img))) (set! height (car (gimp-image-height img))) (gimp-message "gimp-crop img (/ width 2) (/ height 2) (/ width 4) (/ height 4)") (gimp-crop img (/ width 2) (/ height 2) (/ width 4) (/ height 4)) ) ;(define (paint-like-mad img layer) ; (let* ( ; (height (car (gimp-drawable-height layer))) ; (width (car (gimp-drawable-width layer))) ; (up-strokes (/ height 16)) ; (cross-strokes (/ width 16)) ; (points-to-paint (define (open-new-image-rgb width height) (let* ( (img (car (gimp-image-new width height RGB))) (layer (car (gimp-layer-new img width height 0 "sloth" 100 NORMAL))) ) (gimp-image-add-layer img layer 0) img) ) (define (open-new-image-rgba width height) (let* ( (img (car (gimp-image-new width height RGB))) (layer (car (gimp-layer-new img width height 1 "sloth" 100 NORMAL))) ) (gimp-image-add-layer img layer 0) img) ) (define (open-new-image-gray width height) (let* ( (img (car (gimp-image-new width height GRAY))) (layer (car (gimp-layer-new img width height 2 "sloth" 100 NORMAL))) ) (gimp-image-add-layer img layer 0) img) ) (define (open-new-image-graya width height) (let* ( (img (car (gimp-image-new width height GRAY))) (layer (car (gimp-layer-new img width height 3 "sloth" 100 NORMAL))) ) (gimp-image-add-layer img layer 0) img) ) (define (all-that-logo-stuff text font-size font) (set! disp-list (list (car (script-fu-alien-glow-logo text font-size font '(63 252 0))) (car (script-fu-alien-glow-bullet 16 '(63 252 0) '(0 0 0) TRUE)) (car (script-fu-alien-glow-button text 22 "*" font "*" "*" "*" "*" '(0 0 0) '(63 252 0) '(0 0 0) 6 10 TRUE)) (car (script-fu-alien-glow-horizontal-ruler 480 16 '(63 252 0) '(0 0 0) TRUE)) (car (script-fu-alien-glow-right-arrow 32 'right '(63 252 0) '(0 0 0) TRUE)) (car (script-fu-basic1-logo text font-size font '(255 255 255) '(6 6 206))) (car (script-fu-basic2-logo text font-size font '(255 255 255) '(206 6 50))) (car (script-fu-beveled-pattern-arrow 32 'right "Wood")) (car (script-fu-beveled-pattern-bullet 16 "Wood" FALSE)) (car (script-fu-beveled-pattern-button text 32 "*" "courier" "*" "*" "*" "*" '(0 0 0) "Wood" FALSE)) (car (script-fu-beveled-pattern-heading text font-size "*" "courier" "*" "*" "*" "*" "Wood" FALSE)) (car (script-fu-beveled-pattern-hrule 480 16 "Wood")) (car (script-fu-big-header-gimp-org text font 50 '(82 108 159) '(190 220 250) '(46 74 92) '(0 0 0) TRUE TRUE TRUE 15)) (car (script-fu-labels-gimp-org text font 18 "medium" "r" "normal" '(82 108 159) '(0 0 0) '(255 255 255) TRUE TRUE 15 1 8 0 30)) (car (script-fu-blended-logo FG-BG-RGB text font-size font '(255 255 255) '(124 174 255) '(22 9 129) '(129 9 82))) (car (script-fu-button00 text 16 "*" font"*" "*" "*" "*" '(0 255 127) '(0 127 255) '(0 0 0) 2 4 FALSE)) (car (script-fu-chalk-logo text font-size font '(0 0 0) '(255 255 255))) (car (script-fu-chrome-logo text font-size font '(191 191 191))) (car (script-fu-cool-metal-logo text font-size font '(255 255 255) FALSE)) (car (script-fu-sota-chrome-logo -80 -47 0.75 text font-size font (string-append gimp-data-dir "/scripts/beavis.jpg") '(211 95 0) '(0 0 0))) (car (script-fu-crystal-logo 1.0 text font-size font (string-append gimp-data-dir "/scripts/texture1.jpg") (string-append gimp-data-dir "/scripts/beavis.jpg"))) (car (script-fu-flatland 256 256 80 3.0 4 4)) (car (script-fu-frosty-logo text font-size font '(255 255 255))) (car (script-fu-glowing-logo text font-size font '(0 0 0))) (car (script-fu-gradient-example 800 128)) (car (script-fu-starburst-logo text font-size font '(60 196 33) '(255 255 255))) (car (script-fu-starburst-logo text font-size font '(60 196 33) '(255 255 255))) (car (script-fu-starscape-logo text font-size font '(28 65 188))) (car (script-fu-swirly-pattern 20 90 4)) (car (script-fu-t-o-p-logo text font-size font 0.2 2 0 '(0 0 0) '(255 255 255))) (car (script-fu-textured-logo "Fibers" 0 text font-size font '(255 255 255) '(32 106 0) '(0 0 106))) (car (script-fu-title-header text font-size "*" font "*" "*" "*" "*")) (car(script-fu-truchet 20 2 '(255 255 255) '(0 0 0) 24 24)) (car (script-fu-3dtruchet 96 24 '(255 255 255) '(0 0 0) '(255 255 255) TRUE 5 5)) (car (script-fu-bovinated-logo text font-size font)) )) disp-list ) (define (gimp-bogogimps text font-size font) ;uh, this is like really ugly and stuff, but i'm not writing sicp here, so deal with it... ; need to do this so i can keep track of all the gdisplay and delete them occasionally (set! disp-list2 (all-that-logo-stuff text font-size font)) (gimp-display-delete-list disp-list2) ; ; Thats it for the scripts...now for some weight lifting... ; (gimp-message-handler-set 1) ; with cow, this is cake... (set! rgb-image-list (list (open-new-image-rgb 32 32) (open-new-image-rgb 64 64) (open-new-image-rgb 128 128) (open-new-image-rgb 256 256) (open-new-image-rgb 512 512) (open-new-image-rgb 640 480) (open-new-image-rgb 800 600) (open-new-image-rgb 1024 768) (open-new-image-rgb 1200 1024) (open-new-image-rgb 1600 1200) (open-new-image-rgb 2000 2000) (open-new-image-rgb 3000 3000) (open-new-image-rgb 1000 10) (open-new-image-rgb 10 1000) (open-new-image-rgb 1 1) (open-new-image-rgb 2000 2) )) (gimp-image-delete-list rgb-image-list) ; one more verse, jsut like first... (set! rgba-image-list (list (open-new-image-rgba 32 32) (open-new-image-rgba 64 64) (open-new-image-rgba 128 128) (open-new-image-rgba 256 256) (open-new-image-rgba 512 512) (open-new-image-rgba 640 480) (open-new-image-rgba 800 600) (open-new-image-rgba 1024 768) (open-new-image-rgba 1200 1024) (open-new-image-rgba 1600 1200) (open-new-image-rgba 2000 2000) (open-new-image-rgba 3000 3000) (open-new-image-rgba 1000 10) (open-new-image-rgba 10 1000) (open-new-image-rgba 1 1) (open-new-image-rgba 2000 2) )) (gimp-image-delete-list rgba-image-list) ; this song sounds familar... (set! gray-image-list (list (open-new-image-gray 32 32) (open-new-image-gray 64 64) (open-new-image-gray 128 128) (open-new-image-gray 256 256) (open-new-image-gray 512 512) (open-new-image-gray 640 480) (open-new-image-gray 800 600) (open-new-image-gray 1024 768) (open-new-image-gray 1200 1024) (open-new-image-gray 1600 1200) (open-new-image-gray 2000 2000) (open-new-image-gray 3000 3000) (open-new-image-gray 1000 10) (open-new-image-gray 10 1000) (open-new-image-gray 1 1) (open-new-image-gray 2000 2) )) (gimp-image-delete-list gray-image-list) ; one more verse, jsut like first... (set! graya-image-list (list (open-new-image-graya 32 32) (open-new-image-graya 64 64) (open-new-image-graya 128 128) (open-new-image-graya 256 256) (open-new-image-graya 512 512) (open-new-image-graya 640 480) (open-new-image-graya 800 600) (open-new-image-graya 1024 768) (open-new-image-graya 1200 1024) (open-new-image-graya 1600 1200) (open-new-image-graya 2000 2000) (open-new-image-graya 3000 3000) (open-new-image-graya 1000 10) (open-new-image-graya 10 1000) (open-new-image-graya 1 1) (open-new-image-graya 2000 2) )) (gimp-image-delete-list graya-image-list) ; ; Do weird core stuff to a random image The scripts are better at ; selections and crap ; has to be at least 256x256... yeah yeah, get over it (set! victim-image (open-new-image-rgba 512 512)) (set! victim-layer (car (gimp-image-get-active-layer victim-image))) (gimp-message "lut me harder 512 512\n") (lut-me-harder victim-image victim-layer) (fold-spindle-mutilate victim-image victim-layer) (gimp-image-delete victim-image) (set! victim-image (open-new-image-rgba 1024 1024)) (set! victim-layer (car (gimp-image-get-active-layer victim-image))) (lut-me-harder victim-image victim-layer) (fold-spindle-mutilate victim-image victim-layer) (gimp-image-delete victim-image) ; spank me harder! (set! victim-image (open-new-image-rgba 2048 2048)) (set! victim-layer (car (gimp-image-get-active-layer victim-image))) (gimp-message "lut me harder 2048 2048\n") (lut-me-harder victim-image victim-layer) (fold-spindle-mutilate victim-image victim-layer) (gimp-message "done with lut-me-harder 2048 2048") (gimp-message "gimp-image-delete") (gimp-image-delete victim-image) (gimp-message " ready to quit") ;(delete-all-them-displays disp-list) ; (gimp-quit 1) ) ;(script-fu-register "script-fu-bogogimps" ; "/Xtns/Script-Fu/BogoGIMPS" ; "Runs through all the logo scripts" ; "Adrian Likins " ; "Adrian Likins" ; "11/1/97" ; "" ; SF-VALUE "Text String" "\" This is a test\"" ; SF-VALUE "Font size" "60" ; SF-VALUE "Font" "\"Courier\"") (script-fu-register "script-fu-bogo" "/Xtns/Script-Fu/BogoGIMPS_Loop" "Runs through the logo scripts FOO times" "Adrian Likins" "Adrian Likins" "1998" "" SF-VALUE "Text String" "\" This is a test\"" SF-VALUE "Font size" "60" SF-VALUE "Font" "\"Courier\"" SF-VALUE "Loop" "100")