Hey everyone,
About two weeks ago, I fell in love with Python-Fu, the much more beautiful wrapper around Script-Fu, possibly the best-named piece of code I've ever seen!
I've never been able to draw, but this is art that I "get" and can do. Best of all, just like everything else in software, oh so much of the heavy lifting is already done. I'm now on a downloading and translating spree, as I seek to build an arsenal of all the effects (ALL THE EFFECTS!!!11!!1) (<- that's how you know I'm serious)
It's gonna be fun, and I can't wait to see where this all takes me. I feel like a higher-level wrapper around the pdb object's standard function calls, is certainly called for and a good place to start. I'll call it Scott-Fu, and it will be glorious! (and has a way better ring to it than Inversus-Fu lol)
Amongst my wild promises are: nice and sensible default named parameters; fill out the missing constants (to a reasonable extent

); keeping all the "gimp" and "pdb" stuff available (moar functionality is better functionality!!); and a higher level of abstraction around things on a more conceptual level, thereby adding to the amount of fun you and I both experience. After all, why should I have to:
image = pdb.gimp_image_new(600, 400, RGB) # create a new image,
layer = pdb.gimp_layer_new(image, 600, 400, RGBA_IMAGE, "Layer", 100, NORMAL_MODE) # create a new layer,
pdb.gimp_image_insert_layer(image, layer, NO_LAYER_GROUP, TOP_LAYER) # attach to image,
pdb.gimp_display_new(image) # create a display for the image,
# and
pdb.gimp_displays_flush() # flush the displays (not technically necessary, but if I had a nickel for every bug that had to do with some accursed buffer not being flushed...)
?
??
???!!!!!?!?!?????
Ridiculous! Obscene!! Horrifying!!! Who even does something like that!? It's crazy! I want to do that in less characters than it took me to type this sentence, let alone the code above. So, in my "sus" class/object, I have this function:
def img_new(width=600, height=400, layer_name="Layer")
... #literally the stuff above with the parameter names subbed in
return (image, layer)
that, due to the beauty of python's default parameters (so fun), and tuples (possibly even moar fun), it can be called thusly,
(image, layer) = sus.img_new(600, 400, "Layer")
or even thusly:
(image, layer) = sus.img_new()
and will faithfully complete those 5 steps, creating a new image for which you could specify size and layer name, or not.
...and beauty was restored
And then, just for the sake of wretched excess, I present:
def n():
# lol
return sus.img_new(1920, 1080, "Your Personal Defaults")
Which can, unsurprisingly, be called thusly:
OOOOOOooooooooooommmmmmmmmmmmmmmm