Anyone have some killer script-fu for gimp for gif making?

seen from United States
seen from Israel
seen from China
seen from United States
seen from United States

seen from Australia

seen from Norway
seen from United States

seen from Germany

seen from United States
seen from United States
seen from Israel

seen from Israel
seen from China
seen from Israel
seen from United States
seen from Israel
seen from France
seen from United States
seen from Israel
Anyone have some killer script-fu for gimp for gif making?
Isn't it strange when you get productive to be lazy? :P Toyed around with the HDR-ish filter described here on some screenshots already, but if you want to do more than 2 or 3, all that clicking gets annoying.
So I read up on something similar to macros in GIMP and actually learned how to write script-fu from scratch xD
The linked zip file contains the filter script as an .scm file (you can open it with any text editor if you want to know what I did there), just extract and copy it to your GIMP script folder (under Windows, the default path is C:\Users\username\ .gimp-2.8\scripts) and restart GIMP or use filters -> script-fu -> reload.
The filter adds itself to filters -> HDR.
Just to mention it, this filter tinkers with the base layer and merges all layers, so better not use it on your precious multi-layer creations ;)
And I only tested it with GIMP 2.8 under Windows 7. Should work on other platforms, but it probably won't work on older GIMP versions since the API commands changed at some point.
GIMP scripting with Script-Fu: namespaces
A popular open-source image editor GIMP can be scripted using several programming languages, usually Scheme or Python. Scheme interpreter is called Script-Fu and is based on Tinyscheme dialect which implements a subset of R5RS standard, as well as some extensions (like macros).
GIMP docs have a decent tutorial to get started, and the library of GIMP-specific functions is well documented via Procedure Browser (pdb). However many things about the language itself are shrouded in mystery. Tinyscheme documentation is rather sparse and there exist hidden features that aren't obvious. This is the first post in the series of posts exploring these hidden features.
Namespaces
When you write a script it is natural to create a bunch of helper functions. At the time I was writing Animstack, I didn't realize, but functions defined at toplevel are shared between all scripts. This isn't as nice as you might think, because an independent script might totally overwrite your function leading to bugs. When I was writing my second script, BgMask, I took this into account and started giving prefixes to all my helper functions (their names mostly start with "bgmask-"). However this too is a suboptimal solution. What I really wanted was namespaces. And suprisingly, Tinyscheme actually does have them!
(define my-namespace (make-environment ;;; define your functions here (define (my-function arg) ...) (define (blah-blah img drw ....) ... (my-function ...)) )) (define script-fu-blah-blah my-namespace::blah-blah) ;;; register your script here
Inside make-environment you can define as many functions as you want and they will not clash with similarly named functions in other scripts (as long as the namespaces are named differently!) Outside of it, use double-colon syntax to access symbols defined in the environment. Pretty cool, huh? Why doesn't Javascript have something like this?
Future topics
This is my programming blog. I am the author of Animstack and other less interesting stuff. As you can guess from the blog's title, I like Lisp and interactive programming. For my day job I program in Python. By the way, I am for hire ;)
web scraping in Common Lisp
programming Script-Fu scripts for GIMP
other stuff, but mostly Lisp
Today you will learn how to install the Script-Fu plugin for Gimp. These are some basic steps in learning to use Gimp. If you enjoyed this video don't forget to hit the like button. Enjoy Script-Fu Download Twitter: https://twitter.com/_Maannuuell -Maannuuell
SLIB に含まれている printf.scm の require ~ の箇所をコメントアウトして Script-Fu のフォルダに入れておくと printf, fprintf, sprintf が動くことを確認しました