/usr/share/gimp/2.0/scripts/goode-animation-settings.scm is in gimp-plugin-registry 5.20120621.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 | ;
; The GIMP -- an image manipulation program
; Copyright (C) 1995 Spencer Kimball and Peter Mattis
;
; Animation settings script for GIMP 2.4
; Created by Saul Goode
;
; Tags: animation, tool
;
; Author statement:
;
;
; --------------------------------------------------------------------
; Distributed by Gimp FX Foundry project
; --------------------------------------------------------------------
; - Changelog -
;
; --------------------------------------------------------------------
;
; This program is free software: you can redistribute it and/or modify
; it under the terms of the GNU General Public License as published by
; the Free Software Foundation, either version 3 of the License, or
; (at your option) any later version.
;
; This program is distributed in the hope that it will be useful,
; but WITHOUT ANY WARRANTY; without even the implied warranty of
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
; GNU General Public License for more details.
;
; You should have received a copy of the GNU General Public License
; along with this program. If not, see <http://www.gnu.org/licenses/>.
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(define (script-fu-anim-settings image drawable req-delay req-mode)
(define (visible-layers img)
;; This routine returns a list of visible layers in an image
(let* (
(all-layers (gimp-image-get-layers img))
(i (car all-layers))
(viewable ())
(tmp FALSE)
)
(set! all-layers (cadr all-layers))
(while (> i 0)
(set! tmp (car (gimp-drawable-get-visible (aref all-layers (- i 1)))))
(if (= tmp TRUE)
(set! viewable (append viewable (cons (aref all-layers (- i 1)) 'byte))) ;; append
)
(set! i (- i 1))
)
viewable
)
)
(gimp-image-undo-group-start image)
(let* (
(layers 0)
(full-name 0)
(par-name 0)
(layer-name 0)
(mode 0)
(delay "")
)
(set! layers (visible-layers image))
(while (pair? (car layers))
(cond
( (or (= req-mode 0) (= req-mode 3))
(set! mode "")
)
( (= req-mode 1)
(set! mode "(combine)")
)
( (= req-mode 2)
(set! mode "(replace)")
)
)
(set! full-name (strbreakup (car (gimp-drawable-get-name (car layers))) "("))
(set! layer-name (car full-name))
(set! full-name (cdr full-name))
(while (pair? full-name) ;; for each parenthetical, see if it is a delay or a mode (it might be a delay)
(set! par-name (string-trim (car full-name)))
(cond
( (= 0 (strcmp "combine)" (string-downcase par-name)))
(if (= req-mode 0) ;; Keep
(set! mode "(combine)")
)
)
( (= 0 (strcmp "replace)" (string-downcase par-name)))
(if (= req-mode 0) ;; Keep
(set! mode "(replace)")
)
)
( (< (strcspn "0123456789" (substring par-name 0 1)) 10)
(if (= req-delay 0)
(set! delay (string-append "(" par-name))
(set! delay "") ;; clear delay for -1 or for positive request
)
)
)
(set! full-name (cdr full-name))
)
(if (> req-delay 0)
(set! delay (string-append "(" (number->string req-delay 10) "ms) "))
)
(gimp-drawable-set-name (car layers) (string-append layer-name delay mode))
(set! layers (cdr layers))
)
)
(gimp-image-undo-group-end image)
(gimp-displays-flush)
)
(script-fu-register "script-fu-anim-settings"
_"_Change Settings..." ;; might like to keep it separate from the standard plugins
_"Sets the Frame delay and mode of GIF animations by renaming visible layers."
"Saul Goode"
"Saul Goode"
"3/11/2006"
""
SF-IMAGE "Image" 0
SF-DRAWABLE "Drawable" 0
SF-ADJUSTMENT _"Delay: (1-10000 mS, 0=Keep, -1=Clear)" '( 100 -1 10000 1 10 0 1 )
SF-OPTION _"Mode:" '( _"Keep" _"(combine)" _"(replace)" _"Clear")
)
(script-fu-menu-register "script-fu-anim-settings"
"<Image>/FX-Foundry/Animation")
|