GIMP Script-fu

Hex Artifact Content
Login

Artifact 2bb3a63f656fc08a0d92c015da528eee3833c44f:


0000: 3b 20 42 6c 65 6e 64 69 6e 67 20 28 6c 61 79 65  ; Blending (laye
0010: 72 29 20 6f 70 65 72 61 74 69 6f 6e 73 20 66 6f  r) operations fo
0020: 72 20 63 68 61 6e 6e 65 6c 73 0a 0a 3b 20 54 68  r channels..; Th
0030: 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 66 72  is program is fr
0040: 65 65 20 73 6f 66 74 77 61 72 65 3b 20 79 6f 75  ee software; you
0050: 20 63 61 6e 20 72 65 64 69 73 74 72 69 62 75 74   can redistribut
0060: 65 20 69 74 20 61 6e 64 2f 6f 72 20 6d 6f 64 69  e it and/or modi
0070: 66 79 0a 3b 20 69 74 20 75 6e 64 65 72 20 74 68  fy.; it under th
0080: 65 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 47  e terms of the G
0090: 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69  NU General Publi
00a0: 63 20 4c 69 63 65 6e 73 65 20 61 73 20 70 75 62  c License as pub
00b0: 6c 69 73 68 65 64 20 62 79 0a 3b 20 74 68 65 20  lished by.; the 
00c0: 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f  Free Software Fo
00d0: 75 6e 64 61 74 69 6f 6e 3b 20 65 69 74 68 65 72  undation; either
00e0: 20 76 65 72 73 69 6f 6e 20 32 20 6f 66 20 74 68   version 2 of th
00f0: 65 20 4c 69 63 65 6e 73 65 2c 20 6f 72 0a 3b 20  e License, or.; 
0100: 28 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 29  (at your option)
0110: 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69   any later versi
0120: 6f 6e 2e 0a 3b 0a 3b 20 54 68 69 73 20 70 72 6f  on..;.; This pro
0130: 67 72 61 6d 20 69 73 20 64 69 73 74 72 69 62 75  gram is distribu
0140: 74 65 64 20 69 6e 20 74 68 65 20 68 6f 70 65 20  ted in the hope 
0150: 74 68 61 74 20 69 74 20 77 69 6c 6c 20 62 65 20  that it will be 
0160: 75 73 65 66 75 6c 2c 0a 3b 20 62 75 74 20 57 49  useful,.; but WI
0170: 54 48 4f 55 54 20 41 4e 59 20 57 41 52 52 41 4e  THOUT ANY WARRAN
0180: 54 59 3b 20 77 69 74 68 6f 75 74 20 65 76 65 6e  TY; without even
0190: 20 74 68 65 20 69 6d 70 6c 69 65 64 20 77 61 72   the implied war
01a0: 72 61 6e 74 79 20 6f 66 0a 3b 20 4d 45 52 43 48  ranty of.; MERCH
01b0: 41 4e 54 41 42 49 4c 49 54 59 20 6f 72 20 46 49  ANTABILITY or FI
01c0: 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54  TNESS FOR A PART
01d0: 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 20  ICULAR PURPOSE. 
01e0: 20 53 65 65 20 74 68 65 0a 3b 20 47 4e 55 20 47   See the.; GNU G
01f0: 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69  eneral Public Li
0200: 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 65 20 64  cense for more d
0210: 65 74 61 69 6c 73 2e 0a 0a 0a 3b 20 47 49 4d 50  etails....; GIMP
0220: 20 32 2e 36 20 63 6f 6d 70 61 74 69 62 69 6c 69   2.6 compatibili
0230: 74 79 20 70 72 6f 63 65 64 75 72 65 73 0a 3b 0a  ty procedures.;.
0240: 28 75 6e 6c 65 73 73 20 28 64 65 66 69 6e 65 64  (unless (defined
0250: 3f 20 27 67 69 6d 70 2d 69 74 65 6d 2d 69 73 2d  ? 'gimp-item-is-
0260: 67 72 6f 75 70 29 0a 20 20 28 64 65 66 69 6e 65  group).  (define
0270: 20 67 69 6d 70 2d 69 74 65 6d 2d 69 73 2d 6c 61   gimp-item-is-la
0280: 79 65 72 20 67 69 6d 70 2d 64 72 61 77 61 62 6c  yer gimp-drawabl
0290: 65 2d 69 73 2d 6c 61 79 65 72 29 0a 20 20 28 64  e-is-layer).  (d
02a0: 65 66 69 6e 65 20 67 69 6d 70 2d 69 74 65 6d 2d  efine gimp-item-
02b0: 67 65 74 2d 6e 61 6d 65 20 67 69 6d 70 2d 64 72  get-name gimp-dr
02c0: 61 77 61 62 6c 65 2d 67 65 74 2d 6e 61 6d 65 29  awable-get-name)
02d0: 0a 20 20 28 64 65 66 69 6e 65 20 67 69 6d 70 2d  .  (define gimp-
02e0: 69 74 65 6d 2d 73 65 74 2d 6e 61 6d 65 20 67 69  item-set-name gi
02f0: 6d 70 2d 64 72 61 77 61 62 6c 65 2d 73 65 74 2d  mp-drawable-set-
0300: 6e 61 6d 65 29 0a 20 20 28 64 65 66 69 6e 65 20  name).  (define 
0310: 67 69 6d 70 2d 69 74 65 6d 2d 67 65 74 2d 76 69  gimp-item-get-vi
0320: 73 69 62 6c 65 20 67 69 6d 70 2d 64 72 61 77 61  sible gimp-drawa
0330: 62 6c 65 2d 67 65 74 2d 76 69 73 69 62 6c 65 29  ble-get-visible)
0340: 0a 20 20 28 64 65 66 69 6e 65 20 67 69 6d 70 2d  .  (define gimp-
0350: 69 74 65 6d 2d 73 65 74 2d 76 69 73 69 62 6c 65  item-set-visible
0360: 20 67 69 6d 70 2d 64 72 61 77 61 62 6c 65 2d 73   gimp-drawable-s
0370: 65 74 2d 76 69 73 69 62 6c 65 29 0a 20 20 28 64  et-visible).  (d
0380: 65 66 69 6e 65 20 67 69 6d 70 2d 69 74 65 6d 2d  efine gimp-item-
0390: 69 73 2d 6c 61 79 65 72 2d 6d 61 73 6b 20 67 69  is-layer-mask gi
03a0: 6d 70 2d 64 72 61 77 61 62 6c 65 2d 69 73 2d 6c  mp-drawable-is-l
03b0: 61 79 65 72 2d 6d 61 73 6b 29 0a 20 20 28 64 65  ayer-mask).  (de
03c0: 66 69 6e 65 20 67 69 6d 70 2d 69 74 65 6d 2d 69  fine gimp-item-i
03d0: 73 2d 63 68 61 6e 6e 65 6c 20 67 69 6d 70 2d 64  s-channel gimp-d
03e0: 72 61 77 61 62 6c 65 2d 69 73 2d 63 68 61 6e 6e  rawable-is-chann
03f0: 65 6c 29 0a 20 20 28 64 65 66 69 6e 65 20 28 67  el).  (define (g
0400: 69 6d 70 2d 69 74 65 6d 2d 69 73 2d 67 72 6f 75  imp-item-is-grou
0410: 70 20 69 74 65 6d 29 20 27 28 30 29 29 0a 20 20  p item) '(0)).  
0420: 28 64 65 66 69 6e 65 20 28 67 69 6d 70 2d 69 74  (define (gimp-it
0430: 65 6d 2d 67 65 74 2d 70 61 72 65 6e 74 20 69 74  em-get-parent it
0440: 65 6d 29 20 27 28 2d 31 29 29 0a 20 20 28 64 65  em) '(-1)).  (de
0450: 66 69 6e 65 20 28 67 69 6d 70 2d 69 74 65 6d 2d  fine (gimp-item-
0460: 67 65 74 2d 63 68 69 6c 64 72 65 6e 20 69 74 65  get-children ite
0470: 6d 29 20 28 6c 69 73 74 20 30 20 23 28 30 29 29  m) (list 0 #(0))
0480: 29 0a 20 20 29 0a 0a 28 64 65 66 69 6e 65 20 28  ).  )..(define (
0490: 73 63 72 69 70 74 2d 66 75 2d 73 67 2d 63 68 61  script-fu-sg-cha
04a0: 6e 6e 65 6c 2d 62 6c 65 6e 64 2d 64 6f 77 6e 20  nnel-blend-down 
04b0: 69 6d 61 67 65 20 63 68 61 6e 6e 65 6c 20 6d 6f  image channel mo
04c0: 64 65 20 6f 70 61 63 69 74 79 20 75 73 65 2d 68  de opacity use-h
04d0: 69 64 64 65 6e 3f 29 0a 20 20 28 73 65 74 21 20  idden?).  (set! 
04e0: 75 73 65 2d 68 69 64 64 65 6e 3f 20 28 6e 6f 74  use-hidden? (not
04f0: 20 28 7a 65 72 6f 3f 20 75 73 65 2d 68 69 64 64   (zero? use-hidd
0500: 65 6e 3f 29 29 29 0a 20 20 28 6c 65 74 2a 20 28  en?))).  (let* (
0510: 28 63 68 61 6e 6e 65 6c 73 20 28 76 65 63 74 6f  (channels (vecto
0520: 72 2d 3e 6c 69 73 74 20 28 63 61 64 72 20 28 67  r->list (cadr (g
0530: 69 6d 70 2d 69 6d 61 67 65 2d 67 65 74 2d 63 68  imp-image-get-ch
0540: 61 6e 6e 65 6c 73 20 69 6d 61 67 65 29 29 29 29  annels image))))
0550: 0a 20 20 20 20 20 20 20 20 20 28 62 61 73 65 2d  .         (base-
0560: 63 68 61 6e 6e 65 6c 20 23 66 29 0a 20 20 20 20  channel #f).    
0570: 20 20 20 20 20 28 6d 6f 64 65 2d 6c 75 74 20 27       (mode-lut '
0580: 23 28 20 30 20 31 20 31 30 20 34 20 31 36 20 37  #( 0 1 10 4 16 7
0590: 20 39 20 33 20 31 37 20 35 20 31 39 20 31 38 20   9 3 17 5 19 18 
05a0: 36 20 38 20 32 30 20 32 31 20 31 35 29 29 0a 20  6 8 20 21 15)). 
05b0: 20 20 20 20 20 20 20 20 28 63 68 61 6e 6e 65 6c          (channel
05c0: 2d 6e 61 6d 65 20 28 63 61 72 20 28 67 69 6d 70  -name (car (gimp
05d0: 2d 64 72 61 77 61 62 6c 65 2d 67 65 74 2d 6e 61  -drawable-get-na
05e0: 6d 65 20 63 68 61 6e 6e 65 6c 29 29 29 20 29 0a  me channel))) ).
05f0: 20 20 20 20 28 67 69 6d 70 2d 69 6d 61 67 65 2d      (gimp-image-
0600: 75 6e 64 6f 2d 67 72 6f 75 70 2d 73 74 61 72 74  undo-group-start
0610: 20 69 6d 61 67 65 29 0a 20 20 20 20 28 75 6e 6c   image).    (unl
0620: 65 73 73 20 28 6f 72 20 28 3d 20 28 63 61 72 20  ess (or (= (car 
0630: 28 67 69 6d 70 2d 69 74 65 6d 2d 69 73 2d 6c 61  (gimp-item-is-la
0640: 79 65 72 20 63 68 61 6e 6e 65 6c 29 29 20 54 52  yer channel)) TR
0650: 55 45 29 0a 20 20 20 20 20 20 20 20 20 20 20 20  UE).            
0660: 20 20 20 20 28 3d 20 28 63 61 72 20 28 67 69 6d      (= (car (gim
0670: 70 2d 69 74 65 6d 2d 69 73 2d 6c 61 79 65 72 2d  p-item-is-layer-
0680: 6d 61 73 6b 20 63 68 61 6e 6e 65 6c 29 29 20 54  mask channel)) T
0690: 52 55 45 29 0a 20 20 20 20 20 20 20 20 20 20 20  RUE).           
06a0: 20 20 20 20 20 28 6e 6f 74 20 28 6d 65 6d 62 65       (not (membe
06b0: 72 20 63 68 61 6e 6e 65 6c 20 63 68 61 6e 6e 65  r channel channe
06c0: 6c 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20  ls)).           
06d0: 20 20 20 20 20 28 61 6e 64 20 28 6e 6f 74 20 75       (and (not u
06e0: 73 65 2d 68 69 64 64 65 6e 3f 29 0a 20 20 20 20  se-hidden?).    
06f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0700: 20 28 7a 65 72 6f 3f 20 28 63 61 72 20 28 67 69   (zero? (car (gi
0710: 6d 70 2d 69 74 65 6d 2d 67 65 74 2d 76 69 73 69  mp-item-get-visi
0720: 62 6c 65 20 63 68 61 6e 6e 65 6c 29 29 29 20 29  ble channel))) )
0730: 29 0a 20 20 20 20 20 20 28 73 65 74 21 20 62 61  ).      (set! ba
0740: 73 65 2d 63 68 61 6e 6e 65 6c 0a 20 20 20 20 20  se-channel.     
0750: 20 20 20 20 20 20 20 28 6c 65 74 20 6c 6f 6f 70         (let loop
0760: 20 28 28 63 68 61 6e 6e 65 6c 73 20 28 63 64 72   ((channels (cdr
0770: 20 28 6d 65 6d 62 65 72 20 63 68 61 6e 6e 65 6c   (member channel
0780: 20 63 68 61 6e 6e 65 6c 73 29 29 29 0a 20 20 20   channels))).   
0790: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
07a0: 20 20 20 20 28 62 61 73 65 2d 63 68 61 6e 6e 65      (base-channe
07b0: 6c 20 23 66 29 20 29 0a 20 20 20 20 20 20 20 20  l #f) ).        
07c0: 20 20 20 20 20 20 28 69 66 20 28 6e 75 6c 6c 3f        (if (null?
07d0: 20 63 68 61 6e 6e 65 6c 73 29 0a 20 20 20 20 20   channels).     
07e0: 20 20 20 20 20 20 20 20 20 20 20 62 61 73 65 2d             base-
07f0: 63 68 61 6e 6e 65 6c 0a 20 20 20 20 20 20 20 20  channel.        
0800: 20 20 20 20 20 20 20 20 28 69 66 20 28 6f 72 20          (if (or 
0810: 75 73 65 2d 68 69 64 64 65 6e 3f 20 28 6e 6f 74  use-hidden? (not
0820: 20 28 7a 65 72 6f 3f 20 28 63 61 72 20 28 67 69   (zero? (car (gi
0830: 6d 70 2d 69 74 65 6d 2d 67 65 74 2d 76 69 73 69  mp-item-get-visi
0840: 62 6c 65 20 28 63 61 72 20 63 68 61 6e 6e 65 6c  ble (car channel
0850: 73 29 29 29 29 29 29 0a 20 20 20 20 20 20 20 20  s)))))).        
0860: 20 20 20 20 20 20 20 20 20 20 28 6c 6f 6f 70 20            (loop 
0870: 27 28 29 20 28 63 61 72 20 63 68 61 6e 6e 65 6c  '() (car channel
0880: 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20  s)).            
0890: 20 20 20 20 20 20 28 6c 6f 6f 70 20 28 63 64 72        (loop (cdr
08a0: 20 63 68 61 6e 6e 65 6c 73 29 20 62 61 73 65 2d   channels) base-
08b0: 63 68 61 6e 6e 65 6c 29 20 29 29 29 29 0a 20 20  channel) )))).  
08c0: 20 20 20 20 28 77 68 65 6e 20 62 61 73 65 2d 63      (when base-c
08d0: 68 61 6e 6e 65 6c 0a 20 20 20 20 20 20 20 20 28  hannel.        (
08e0: 6c 65 74 20 28 28 6f 72 69 67 2d 73 65 6c 20 28  let ((orig-sel (
08f0: 63 61 72 20 28 67 69 6d 70 2d 73 65 6c 65 63 74  car (gimp-select
0900: 69 6f 6e 2d 73 61 76 65 20 69 6d 61 67 65 29 29  ion-save image))
0910: 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 67 69  )).          (gi
0920: 6d 70 2d 73 65 6c 65 63 74 69 6f 6e 2d 6e 6f 6e  mp-selection-non
0930: 65 20 69 6d 61 67 65 29 0a 20 20 20 20 20 20 20  e image).       
0940: 20 20 20 28 6c 65 74 2a 20 28 28 62 75 66 66 65     (let* ((buffe
0950: 72 20 28 63 61 72 20 28 67 69 6d 70 2d 65 64 69  r (car (gimp-edi
0960: 74 2d 6e 61 6d 65 64 2d 63 6f 70 79 20 62 61 73  t-named-copy bas
0970: 65 2d 63 68 61 6e 6e 65 6c 20 22 54 65 6d 70 22  e-channel "Temp"
0980: 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20  ))).            
0990: 20 20 20 20 20 28 74 6d 70 2d 69 6d 61 67 65 20       (tmp-image 
09a0: 28 63 61 72 20 28 67 69 6d 70 2d 65 64 69 74 2d  (car (gimp-edit-
09b0: 6e 61 6d 65 64 2d 70 61 73 74 65 2d 61 73 2d 6e  named-paste-as-n
09c0: 65 77 20 62 75 66 66 65 72 29 29 29 0a 20 20 20  ew buffer))).   
09d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 62                (b
09e0: 6f 74 2d 6c 61 79 65 72 20 28 63 61 72 20 28 67  ot-layer (car (g
09f0: 69 6d 70 2d 69 6d 61 67 65 2d 67 65 74 2d 61 63  imp-image-get-ac
0a00: 74 69 76 65 2d 6c 61 79 65 72 20 74 6d 70 2d 69  tive-layer tmp-i
0a10: 6d 61 67 65 29 29 29 0a 20 20 20 20 20 20 20 20  mage))).        
0a20: 20 20 20 20 20 20 20 20 20 28 74 6f 70 2d 6c 61           (top-la
0a30: 79 65 72 20 28 63 61 72 20 28 67 69 6d 70 2d 6c  yer (car (gimp-l
0a40: 61 79 65 72 2d 6e 65 77 2d 66 72 6f 6d 2d 64 72  ayer-new-from-dr
0a50: 61 77 61 62 6c 65 20 63 68 61 6e 6e 65 6c 20 74  awable channel t
0a60: 6d 70 2d 69 6d 61 67 65 29 29 29 20 29 0a 20 20  mp-image))) ).  
0a70: 20 20 20 20 20 20 20 20 20 20 28 67 69 6d 70 2d            (gimp-
0a80: 69 6d 61 67 65 2d 75 6e 64 6f 2d 64 69 73 61 62  image-undo-disab
0a90: 6c 65 20 74 6d 70 2d 69 6d 61 67 65 29 0a 20 20  le tmp-image).  
0aa0: 20 20 20 20 20 20 20 20 20 20 28 67 69 6d 70 2d            (gimp-
0ab0: 69 74 65 6d 2d 73 65 74 2d 76 69 73 69 62 6c 65  item-set-visible
0ac0: 20 62 6f 74 2d 6c 61 79 65 72 20 54 52 55 45 29   bot-layer TRUE)
0ad0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 67 69  .            (gi
0ae0: 6d 70 2d 69 74 65 6d 2d 73 65 74 2d 76 69 73 69  mp-item-set-visi
0af0: 62 6c 65 20 62 6f 74 2d 6c 61 79 65 72 20 54 52  ble bot-layer TR
0b00: 55 45 29 0a 20 20 20 20 20 20 20 20 20 20 20 20  UE).            
0b10: 28 67 69 6d 70 2d 69 6d 61 67 65 2d 61 64 64 2d  (gimp-image-add-
0b20: 6c 61 79 65 72 20 74 6d 70 2d 69 6d 61 67 65 20  layer tmp-image 
0b30: 74 6f 70 2d 6c 61 79 65 72 20 30 29 0a 20 20 20  top-layer 0).   
0b40: 20 20 20 20 20 20 20 20 20 28 67 69 6d 70 2d 69           (gimp-i
0b50: 74 65 6d 2d 73 65 74 2d 76 69 73 69 62 6c 65 20  tem-set-visible 
0b60: 74 6f 70 2d 6c 61 79 65 72 20 54 52 55 45 29 0a  top-layer TRUE).
0b70: 20 20 20 20 20 20 20 20 20 20 20 20 28 67 69 6d              (gim
0b80: 70 2d 6c 61 79 65 72 2d 73 65 74 2d 6f 70 61 63  p-layer-set-opac
0b90: 69 74 79 20 74 6f 70 2d 6c 61 79 65 72 20 6f 70  ity top-layer op
0ba0: 61 63 69 74 79 29 0a 20 20 20 20 20 20 20 20 20  acity).         
0bb0: 20 20 20 28 67 69 6d 70 2d 6c 61 79 65 72 2d 73     (gimp-layer-s
0bc0: 65 74 2d 6d 6f 64 65 20 74 6f 70 2d 6c 61 79 65  et-mode top-laye
0bd0: 72 20 28 76 65 63 74 6f 72 2d 72 65 66 20 6d 6f  r (vector-ref mo
0be0: 64 65 2d 6c 75 74 20 6d 6f 64 65 29 29 0a 20 20  de-lut mode)).  
0bf0: 20 20 20 20 20 20 20 20 20 20 28 73 65 74 21 20            (set! 
0c00: 62 6f 74 2d 6c 61 79 65 72 20 28 63 61 72 20 28  bot-layer (car (
0c10: 67 69 6d 70 2d 69 6d 61 67 65 2d 6d 65 72 67 65  gimp-image-merge
0c20: 2d 64 6f 77 6e 20 74 6d 70 2d 69 6d 61 67 65 20  -down tmp-image 
0c30: 74 6f 70 2d 6c 61 79 65 72 20 43 4c 49 50 2d 54  top-layer CLIP-T
0c40: 4f 2d 49 4d 41 47 45 29 29 29 0a 20 20 20 20 20  O-IMAGE))).     
0c50: 20 20 20 20 20 20 20 28 67 69 6d 70 2d 62 75 66         (gimp-buf
0c60: 66 65 72 2d 64 65 6c 65 74 65 20 62 75 66 66 65  fer-delete buffe
0c70: 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28  r).            (
0c80: 73 65 74 21 20 62 75 66 66 65 72 20 28 63 61 72  set! buffer (car
0c90: 20 28 67 69 6d 70 2d 65 64 69 74 2d 6e 61 6d 65   (gimp-edit-name
0ca0: 64 2d 63 6f 70 79 20 62 6f 74 2d 6c 61 79 65 72  d-copy bot-layer
0cb0: 20 22 54 65 6d 70 22 29 29 29 0a 20 20 20 20 20   "Temp"))).     
0cc0: 20 20 20 20 20 20 20 28 67 69 6d 70 2d 69 6d 61         (gimp-ima
0cd0: 67 65 2d 72 65 6d 6f 76 65 2d 63 68 61 6e 6e 65  ge-remove-channe
0ce0: 6c 20 69 6d 61 67 65 20 63 68 61 6e 6e 65 6c 29  l image channel)
0cf0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 67 69  .            (gi
0d00: 6d 70 2d 66 6c 6f 61 74 69 6e 67 2d 73 65 6c 2d  mp-floating-sel-
0d10: 61 6e 63 68 6f 72 20 28 63 61 72 20 28 67 69 6d  anchor (car (gim
0d20: 70 2d 65 64 69 74 2d 6e 61 6d 65 64 2d 70 61 73  p-edit-named-pas
0d30: 74 65 20 62 61 73 65 2d 63 68 61 6e 6e 65 6c 20  te base-channel 
0d40: 62 75 66 66 65 72 20 54 52 55 45 29 29 29 0a 20  buffer TRUE))). 
0d50: 20 20 20 20 20 20 20 20 20 20 20 28 67 69 6d 70             (gimp
0d60: 2d 62 75 66 66 65 72 2d 64 65 6c 65 74 65 20 62  -buffer-delete b
0d70: 75 66 66 65 72 29 0a 20 20 20 20 20 20 20 20 20  uffer).         
0d80: 20 20 20 28 77 68 65 6e 20 28 73 74 72 69 6e 67     (when (string
0d90: 3d 3f 20 22 51 6d 61 73 6b 22 20 63 68 61 6e 6e  =? "Qmask" chann
0da0: 65 6c 2d 6e 61 6d 65 29 0a 20 20 20 20 20 20 20  el-name).       
0db0: 20 20 20 20 20 20 20 28 67 69 6d 70 2d 69 74 65         (gimp-ite
0dc0: 6d 2d 73 65 74 2d 6e 61 6d 65 20 62 61 73 65 2d  m-set-name base-
0dd0: 63 68 61 6e 6e 65 6c 20 22 51 6d 61 73 6b 22 29  channel "Qmask")
0de0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28  .              (
0df0: 67 69 6d 70 2d 69 74 65 6d 2d 73 65 74 2d 76 69  gimp-item-set-vi
0e00: 73 69 62 6c 65 20 62 61 73 65 2d 63 68 61 6e 6e  sible base-chann
0e10: 65 6c 20 54 52 55 45 29 20 29 0a 20 20 20 20 20  el TRUE) ).     
0e20: 20 20 20 20 20 20 20 28 67 69 6d 70 2d 69 6d 61         (gimp-ima
0e30: 67 65 2d 64 65 6c 65 74 65 20 74 6d 70 2d 69 6d  ge-delete tmp-im
0e40: 61 67 65 29 20 29 0a 20 20 20 20 20 20 20 20 20  age) ).         
0e50: 20 28 67 69 6d 70 2d 73 65 6c 65 63 74 69 6f 6e   (gimp-selection
0e60: 2d 6c 6f 61 64 20 6f 72 69 67 2d 73 65 6c 29 0a  -load orig-sel).
0e70: 20 20 20 20 20 20 20 20 20 20 28 67 69 6d 70 2d            (gimp-
0e80: 69 6d 61 67 65 2d 72 65 6d 6f 76 65 2d 63 68 61  image-remove-cha
0e90: 6e 6e 65 6c 20 69 6d 61 67 65 20 6f 72 69 67 2d  nnel image orig-
0ea0: 73 65 6c 29 20 29 29 29 0a 20 20 20 20 28 67 69  sel) ))).    (gi
0eb0: 6d 70 2d 69 6d 61 67 65 2d 75 6e 64 6f 2d 67 72  mp-image-undo-gr
0ec0: 6f 75 70 2d 65 6e 64 20 69 6d 61 67 65 29 0a 20  oup-end image). 
0ed0: 20 20 20 28 67 69 6d 70 2d 64 69 73 70 6c 61 79     (gimp-display
0ee0: 73 2d 66 6c 75 73 68 29 0a 20 20 20 20 29 0a 20  s-flush).    ). 
0ef0: 20 29 0a 0a 28 73 63 72 69 70 74 2d 66 75 2d 72   )..(script-fu-r
0f00: 65 67 69 73 74 65 72 20 22 73 63 72 69 70 74 2d  egister "script-
0f10: 66 75 2d 73 67 2d 63 68 61 6e 6e 65 6c 2d 62 6c  fu-sg-channel-bl
0f20: 65 6e 64 2d 64 6f 77 6e 22 0a 20 20 20 20 20 20  end-down".      
0f30: 20 20 20 22 42 6c 65 6e 64 20 44 6f 77 6e 2e 2e     "Blend Down..
0f40: 2e 22 0a 20 20 20 20 20 20 20 20 20 22 42 6c 65  .".         "Ble
0f50: 6e 64 20 63 68 61 6e 6e 65 6c 20 77 69 74 68 20  nd channel with 
0f60: 74 68 65 20 63 68 61 6e 6e 65 6c 20 62 65 6e 65  the channel bene
0f70: 61 74 68 20 69 74 2e 22 0a 20 20 20 20 20 20 20  ath it.".       
0f80: 20 20 22 53 61 75 6c 20 47 6f 6f 64 65 22 0a 20    "Saul Goode". 
0f90: 20 20 20 20 20 20 20 20 22 53 61 75 6c 20 47 6f          "Saul Go
0fa0: 6f 64 65 22 0a 20 20 20 20 20 20 20 20 20 22 4e  ode".         "N
0fb0: 6f 76 65 6d 62 65 72 22 0a 20 20 20 20 20 20 20  ovember".       
0fc0: 20 20 22 47 52 41 59 22 0a 20 20 20 20 20 20 20    "GRAY".       
0fd0: 20 20 53 46 2d 49 4d 41 47 45 20 22 49 6d 61 67    SF-IMAGE "Imag
0fe0: 65 22 20 30 0a 20 20 20 20 20 20 20 20 20 53 46  e" 0.         SF
0ff0: 2d 43 48 41 4e 4e 45 4c 20 22 43 68 61 6e 6e 65  -CHANNEL "Channe
1000: 6c 22 20 30 0a 20 20 20 20 20 20 20 20 20 53 46  l" 0.         SF
1010: 2d 4f 50 54 49 4f 4e 20 22 42 6c 65 6e 64 20 4d  -OPTION "Blend M
1020: 6f 64 65 22 20 27 28 20 22 4e 6f 72 6d 61 6c 22  ode" '( "Normal"
1030: 20 20 20 20 20 3b 20 30 0a 20 20 20 20 20 20 20       ; 0.       
1040: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1050: 20 20 20 20 20 20 20 20 20 20 20 20 22 44 69 73              "Dis
1060: 73 6f 6c 76 65 22 20 20 20 3b 20 31 0a 20 20 20  solve"   ; 1.   
1070: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1080: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1090: 22 4c 69 67 68 74 65 6e 20 6f 6e 6c 79 20 28 55  "Lighten only (U
10a0: 6e 69 6f 6e 29 22 20 3b 20 31 30 0a 20 20 20 20  nion)" ; 10.    
10b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
10c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22                 "
10d0: 53 63 72 65 65 6e 22 20 20 20 20 20 3b 20 34 0a  Screen"     ; 4.
10e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
10f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1100: 20 20 20 22 44 6f 64 67 65 22 20 20 20 20 20 20     "Dodge"      
1110: 3b 20 31 36 0a 20 20 20 20 20 20 20 20 20 20 20  ; 16.           
1120: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1130: 20 20 20 20 20 20 20 20 22 41 64 64 69 74 69 6f          "Additio
1140: 6e 22 20 20 20 3b 20 37 0a 20 20 20 20 20 20 20  n"   ; 7.       
1150: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1160: 20 20 20 20 20 20 20 20 20 20 20 20 22 44 61 72              "Dar
1170: 6b 65 6e 20 6f 6e 6c 79 20 28 49 6e 74 65 72 73  ken only (Inters
1180: 65 63 74 29 22 20 3b 20 39 0a 20 20 20 20 20 20  ect)" ; 9.      
1190: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
11a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 22 4d 75               "Mu
11b0: 6c 74 69 70 6c 79 22 20 20 20 3b 20 33 0a 20 20  ltiply"   ; 3.  
11c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
11d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
11e0: 20 22 42 75 72 6e 22 20 20 20 20 20 20 20 3b 20   "Burn"       ; 
11f0: 31 37 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  17.             
1200: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1210: 20 20 20 20 20 20 22 4f 76 65 72 6c 61 79 22 20        "Overlay" 
1220: 20 20 20 3b 20 35 0a 20 20 20 20 20 20 20 20 20     ; 5.         
1230: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1240: 20 20 20 20 20 20 20 20 20 20 22 53 6f 66 74 20            "Soft 
1250: 6c 69 67 68 74 22 20 3b 20 31 39 0a 20 20 20 20  light" ; 19.    
1260: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1270: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22                 "
1280: 48 61 72 64 20 6c 69 67 68 74 22 20 3b 20 31 38  Hard light" ; 18
1290: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
12a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
12b0: 20 20 20 20 22 44 69 66 66 65 72 65 6e 63 65 22      "Difference"
12c0: 20 3b 20 36 0a 20 20 20 20 20 20 20 20 20 20 20   ; 6.           
12d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
12e0: 20 20 20 20 20 20 20 20 22 53 75 62 74 72 61 63          "Subtrac
12f0: 74 22 20 20 3b 20 38 0a 20 20 20 20 20 20 20 20  t"  ; 8.        
1300: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1310: 20 20 20 20 20 20 20 20 20 20 20 22 47 72 61 69             "Grai
1320: 6e 20 65 78 74 72 61 63 74 22 20 3b 20 32 30 0a  n extract" ; 20.
1330: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1340: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1350: 20 20 20 22 47 72 61 69 6e 20 6d 65 72 67 65 22     "Grain merge"
1360: 20 3b 20 32 31 0a 20 20 20 20 20 20 20 20 20 20   ; 21.          
1370: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1380: 20 20 20 20 20 20 20 20 20 22 44 69 76 69 64 65           "Divide
1390: 22 20 20 20 20 20 3b 20 31 35 0a 20 20 20 20 20  "     ; 15.     
13a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
13b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 29 0a                ).
13c0: 20 20 20 20 20 20 20 20 20 20 53 46 2d 41 44 4a            SF-ADJ
13d0: 55 53 54 4d 45 4e 54 20 22 4f 70 61 63 69 74 79  USTMENT "Opacity
13e0: 22 20 20 27 28 20 31 30 30 20 30 20 31 30 30 20  "  '( 100 0 100 
13f0: 31 20 31 30 20 30 20 30 29 0a 20 20 20 20 20 20  1 10 0 0).      
1400: 20 20 20 20 53 46 2d 54 4f 47 47 4c 45 20 22 55      SF-TOGGLE "U
1410: 73 65 20 68 69 64 64 65 6e 20 63 68 61 6e 6e 65  se hidden channe
1420: 6c 73 22 20 54 52 55 45 0a 20 20 20 20 20 20 20  ls" TRUE.       
1430: 20 20 20 29 0a 0a 28 73 63 72 69 70 74 2d 66 75     )..(script-fu
1440: 2d 6d 65 6e 75 2d 72 65 67 69 73 74 65 72 20 22  -menu-register "
1450: 73 63 72 69 70 74 2d 66 75 2d 73 67 2d 63 68 61  script-fu-sg-cha
1460: 6e 6e 65 6c 2d 62 6c 65 6e 64 2d 64 6f 77 6e 22  nnel-blend-down"
1470: 0a 20 20 22 3c 43 68 61 6e 6e 65 6c 73 3e 2f 22  .  "<Channels>/"
1480: 0a 20 20 29 0a 0a 28 64 65 66 69 6e 65 20 28 73  .  )..(define (s
1490: 63 72 69 70 74 2d 66 75 2d 73 67 2d 64 72 61 77  cript-fu-sg-draw
14a0: 61 62 6c 65 2d 73 68 6f 77 2d 6f 6e 6c 79 20 69  able-show-only i
14b0: 6d 61 67 65 20 64 72 61 77 61 62 6c 65 29 0a 20  mage drawable). 
14c0: 20 28 67 69 6d 70 2d 69 6d 61 67 65 2d 75 6e 64   (gimp-image-und
14d0: 6f 2d 67 72 6f 75 70 2d 73 74 61 72 74 20 69 6d  o-group-start im
14e0: 61 67 65 29 0a 20 20 28 6d 61 70 20 28 6c 61 6d  age).  (map (lam
14f0: 62 64 61 20 28 78 29 20 28 67 69 6d 70 2d 69 74  bda (x) (gimp-it
1500: 65 6d 2d 73 65 74 2d 76 69 73 69 62 6c 65 20 78  em-set-visible x
1510: 20 46 41 4c 53 45 29 29 0a 20 20 20 20 20 20 20   FALSE)).       
1520: 28 76 65 63 74 6f 72 2d 3e 6c 69 73 74 20 28 63  (vector->list (c
1530: 61 64 72 20 28 67 69 6d 70 2d 69 6d 61 67 65 2d  adr (gimp-image-
1540: 67 65 74 2d 6c 61 79 65 72 73 20 69 6d 61 67 65  get-layers image
1550: 29 29 29 20 29 0a 20 20 28 6d 61 70 20 28 6c 61  ))) ).  (map (la
1560: 6d 62 64 61 20 28 78 29 20 28 67 69 6d 70 2d 69  mbda (x) (gimp-i
1570: 74 65 6d 2d 73 65 74 2d 76 69 73 69 62 6c 65 20  tem-set-visible 
1580: 78 20 46 41 4c 53 45 29 29 0a 20 20 20 20 20 20  x FALSE)).      
1590: 20 28 76 65 63 74 6f 72 2d 3e 6c 69 73 74 20 28   (vector->list (
15a0: 63 61 64 72 20 28 67 69 6d 70 2d 69 6d 61 67 65  cadr (gimp-image
15b0: 2d 67 65 74 2d 63 68 61 6e 6e 65 6c 73 20 69 6d  -get-channels im
15c0: 61 67 65 29 29 29 20 29 0a 20 20 28 69 66 20 28  age))) ).  (if (
15d0: 3d 20 28 63 61 72 20 28 67 69 6d 70 2d 69 74 65  = (car (gimp-ite
15e0: 6d 2d 69 73 2d 6c 61 79 65 72 2d 6d 61 73 6b 20  m-is-layer-mask 
15f0: 64 72 61 77 61 62 6c 65 29 29 20 54 52 55 45 29  drawable)) TRUE)
1600: 0a 20 20 20 20 28 6c 65 74 20 28 28 6c 61 79 65  .    (let ((laye
1610: 72 20 28 63 61 72 20 28 67 69 6d 70 2d 6c 61 79  r (car (gimp-lay
1620: 65 72 2d 66 72 6f 6d 2d 6d 61 73 6b 20 64 72 61  er-from-mask dra
1630: 77 61 62 6c 65 29 29 29 29 0a 20 20 20 20 20 20  wable)))).      
1640: 28 67 69 6d 70 2d 69 74 65 6d 2d 73 65 74 2d 76  (gimp-item-set-v
1650: 69 73 69 62 6c 65 20 6c 61 79 65 72 20 54 52 55  isible layer TRU
1660: 45 29 0a 20 20 20 20 20 20 28 67 69 6d 70 2d 6c  E).      (gimp-l
1670: 61 79 65 72 2d 73 65 74 2d 73 68 6f 77 2d 6d 61  ayer-set-show-ma
1680: 73 6b 20 6c 61 79 65 72 20 54 52 55 45 29 20 29  sk layer TRUE) )
1690: 0a 20 20 20 20 28 67 69 6d 70 2d 69 74 65 6d 2d  .    (gimp-item-
16a0: 73 65 74 2d 76 69 73 69 62 6c 65 20 64 72 61 77  set-visible draw
16b0: 61 62 6c 65 20 54 52 55 45 29 20 29 0a 20 20 28  able TRUE) ).  (
16c0: 69 66 20 28 3d 20 28 63 61 72 20 28 67 69 6d 70  if (= (car (gimp
16d0: 2d 69 74 65 6d 2d 69 73 2d 6c 61 79 65 72 20 64  -item-is-layer d
16e0: 72 61 77 61 62 6c 65 29 29 20 54 52 55 45 29 0a  rawable)) TRUE).
16f0: 20 20 20 20 28 6c 65 74 20 6c 6f 6f 70 20 28 28      (let loop ((
1700: 69 74 65 6d 20 64 72 61 77 61 62 6c 65 29 29 0a  item drawable)).
1710: 20 20 20 20 20 20 28 6c 65 74 20 28 28 70 61 72        (let ((par
1720: 65 6e 74 20 28 63 61 72 20 28 67 69 6d 70 2d 69  ent (car (gimp-i
1730: 74 65 6d 2d 67 65 74 2d 70 61 72 65 6e 74 20 69  tem-get-parent i
1740: 74 65 6d 29 29 29 29 0a 20 20 20 20 20 20 20 20  tem)))).        
1750: 28 75 6e 6c 65 73 73 20 28 3d 20 70 61 72 65 6e  (unless (= paren
1760: 74 20 2d 31 29 0a 20 20 20 20 20 20 20 20 20 20  t -1).          
1770: 28 6d 61 70 20 28 6c 61 6d 62 64 61 20 28 78 29  (map (lambda (x)
1780: 20 28 67 69 6d 70 2d 69 74 65 6d 2d 73 65 74 2d   (gimp-item-set-
1790: 76 69 73 69 62 6c 65 20 78 20 46 41 4c 53 45 29  visible x FALSE)
17a0: 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ).              
17b0: 20 28 76 65 63 74 6f 72 2d 3e 6c 69 73 74 20 28   (vector->list (
17c0: 63 61 64 72 20 28 67 69 6d 70 2d 69 74 65 6d 2d  cadr (gimp-item-
17d0: 67 65 74 2d 63 68 69 6c 64 72 65 6e 20 70 61 72  get-children par
17e0: 65 6e 74 29 29 29 20 29 0a 20 20 20 20 20 20 20  ent))) ).       
17f0: 20 20 20 28 67 69 6d 70 2d 69 74 65 6d 2d 73 65     (gimp-item-se
1800: 74 2d 76 69 73 69 62 6c 65 20 69 74 65 6d 20 54  t-visible item T
1810: 52 55 45 29 0a 20 20 20 20 20 20 20 20 20 20 28  RUE).          (
1820: 67 69 6d 70 2d 69 74 65 6d 2d 73 65 74 2d 76 69  gimp-item-set-vi
1830: 73 69 62 6c 65 20 70 61 72 65 6e 74 20 54 52 55  sible parent TRU
1840: 45 29 0a 20 20 20 20 20 20 20 20 20 20 28 6c 6f  E).          (lo
1850: 6f 70 20 70 61 72 65 6e 74 29 20 29 29 29 29 0a  op parent) )))).
1860: 20 20 28 69 66 20 28 3d 20 28 63 61 72 20 28 67    (if (= (car (g
1870: 69 6d 70 2d 69 74 65 6d 2d 69 73 2d 63 68 61 6e  imp-item-is-chan
1880: 6e 65 6c 20 64 72 61 77 61 62 6c 65 29 29 20 54  nel drawable)) T
1890: 52 55 45 29 0a 20 20 20 20 28 67 69 6d 70 2d 69  RUE).    (gimp-i
18a0: 74 65 6d 2d 73 65 74 2d 76 69 73 69 62 6c 65 20  tem-set-visible 
18b0: 64 72 61 77 61 62 6c 65 20 54 52 55 45 29 20 29  drawable TRUE) )
18c0: 0a 20 20 28 67 69 6d 70 2d 69 6d 61 67 65 2d 75  .  (gimp-image-u
18d0: 6e 64 6f 2d 67 72 6f 75 70 2d 65 6e 64 20 69 6d  ndo-group-end im
18e0: 61 67 65 29 0a 20 20 28 67 69 6d 70 2d 64 69 73  age).  (gimp-dis
18f0: 70 6c 61 79 73 2d 66 6c 75 73 68 29 20 29 0a 0a  plays-flush) )..
1900: 3b 3b 20 52 65 2d 75 73 65 20 6c 61 79 65 72 2d  ;; Re-use layer-
1910: 73 68 6f 77 2d 6f 6e 6c 79 2c 20 62 75 74 20 77  show-only, but w
1920: 69 74 68 20 61 20 63 68 61 6e 6e 65 6c 0a 28 64  ith a channel.(d
1930: 65 66 69 6e 65 20 73 63 72 69 70 74 2d 66 75 2d  efine script-fu-
1940: 73 67 2d 63 68 61 6e 6e 65 6c 2d 73 68 6f 77 2d  sg-channel-show-
1950: 6f 6e 6c 79 20 73 63 72 69 70 74 2d 66 75 2d 73  only script-fu-s
1960: 67 2d 64 72 61 77 61 62 6c 65 2d 73 68 6f 77 2d  g-drawable-show-
1970: 6f 6e 6c 79 29 0a 0a 3b 3b 20 52 65 67 69 73 74  only)..;; Regist
1980: 65 72 20 74 6f 20 43 68 61 6e 6e 65 6c 73 20 6d  er to Channels m
1990: 65 6e 75 0a 0a 28 73 63 72 69 70 74 2d 66 75 2d  enu..(script-fu-
19a0: 72 65 67 69 73 74 65 72 20 22 73 63 72 69 70 74  register "script
19b0: 2d 66 75 2d 73 67 2d 63 68 61 6e 6e 65 6c 2d 73  -fu-sg-channel-s
19c0: 68 6f 77 2d 6f 6e 6c 79 22 0a 20 20 20 20 20 20  how-only".      
19d0: 20 20 20 22 53 68 6f 77 20 6f 6e 6c 79 22 0a 20     "Show only". 
19e0: 20 20 20 20 20 20 20 20 22 53 68 6f 77 20 6f 6e          "Show on
19f0: 6c 79 20 63 75 72 72 65 6e 74 20 63 68 61 6e 6e  ly current chann
1a00: 65 6c 2e 22 0a 20 20 20 20 20 20 20 20 20 22 53  el.".         "S
1a10: 61 75 6c 20 47 6f 6f 64 65 22 0a 20 20 20 20 20  aul Goode".     
1a20: 20 20 20 20 22 53 61 75 6c 20 47 6f 6f 64 65 22      "Saul Goode"
1a30: 0a 20 20 20 20 20 20 20 20 20 22 4e 6f 76 65 6d  .         "Novem
1a40: 62 65 72 20 32 30 31 31 22 0a 20 20 20 20 20 20  ber 2011".      
1a50: 20 20 20 22 47 52 41 59 22 0a 20 20 20 20 20 20     "GRAY".      
1a60: 20 20 20 53 46 2d 49 4d 41 47 45 20 22 49 6d 61     SF-IMAGE "Ima
1a70: 67 65 22 20 30 0a 20 20 20 20 20 20 20 20 20 53  ge" 0.         S
1a80: 46 2d 43 48 41 4e 4e 45 4c 20 22 43 68 61 6e 6e  F-CHANNEL "Chann
1a90: 65 6c 22 20 30 0a 20 20 20 20 20 20 20 20 20 29  el" 0.         )
1aa0: 0a 0a 28 73 63 72 69 70 74 2d 66 75 2d 6d 65 6e  ..(script-fu-men
1ab0: 75 2d 72 65 67 69 73 74 65 72 20 22 73 63 72 69  u-register "scri
1ac0: 70 74 2d 66 75 2d 73 67 2d 63 68 61 6e 6e 65 6c  pt-fu-sg-channel
1ad0: 2d 73 68 6f 77 2d 6f 6e 6c 79 22 0a 20 20 22 3c  -show-only".  "<
1ae0: 43 68 61 6e 6e 65 6c 73 3e 2f 22 0a 20 20 29 0a  Channels>/".  ).
1af0: 0a 28 73 63 72 69 70 74 2d 66 75 2d 72 65 67 69  .(script-fu-regi
1b00: 73 74 65 72 20 22 73 63 72 69 70 74 2d 66 75 2d  ster "script-fu-
1b10: 73 67 2d 64 72 61 77 61 62 6c 65 2d 73 68 6f 77  sg-drawable-show
1b20: 2d 6f 6e 6c 79 22 0a 20 20 20 20 20 20 20 20 20  -only".         
1b30: 22 53 68 6f 77 20 6f 6e 6c 79 22 0a 20 20 20 20  "Show only".    
1b40: 20 20 20 20 20 22 53 68 6f 77 20 6f 6e 6c 79 20       "Show only 
1b50: 63 75 72 72 65 6e 74 20 6c 61 79 65 72 2e 22 0a  current layer.".
1b60: 20 20 20 20 20 20 20 20 20 22 53 61 75 6c 20 47           "Saul G
1b70: 6f 6f 64 65 22 0a 20 20 20 20 20 20 20 20 20 22  oode".         "
1b80: 53 61 75 6c 20 47 6f 6f 64 65 22 0a 20 20 20 20  Saul Goode".    
1b90: 20 20 20 20 20 22 4e 6f 76 65 6d 62 65 72 20 32       "November 2
1ba0: 30 31 31 22 0a 20 20 20 20 20 20 20 20 20 22 2a  011".         "*
1bb0: 22 0a 20 20 20 20 20 20 20 20 20 53 46 2d 49 4d  ".         SF-IM
1bc0: 41 47 45 20 22 49 6d 61 67 65 22 20 30 0a 20 20  AGE "Image" 0.  
1bd0: 20 20 20 20 20 20 20 53 46 2d 44 52 41 57 41 42         SF-DRAWAB
1be0: 4c 45 20 22 44 72 61 77 61 62 6c 65 22 20 30 0a  LE "Drawable" 0.
1bf0: 20 20 20 20 20 20 20 20 20 29 0a 0a 28 73 63 72           )..(scr
1c00: 69 70 74 2d 66 75 2d 6d 65 6e 75 2d 72 65 67 69  ipt-fu-menu-regi
1c10: 73 74 65 72 20 22 73 63 72 69 70 74 2d 66 75 2d  ster "script-fu-
1c20: 73 67 2d 64 72 61 77 61 62 6c 65 2d 73 68 6f 77  sg-drawable-show
1c30: 2d 6f 6e 6c 79 22 0a 20 20 22 3c 4c 61 79 65 72  -only".  "<Layer
1c40: 73 3e 2f 22 0a 20 20 29 0a                       s>/".  ).