gimp batchmode script

Nikolaus Gradwohl2009-04-24T04:25:00+02:00

for my monstergallery and my pencil drawings i needed a tool that generates the preview icons for me. so i made a gimp script that can be run in batchmode.

The following scheme script defines a function named imagescale which takes a file pattern (like '' or '.png') and a width as paramter. the function iterates over the file list, opens each file fetches the original width and height and calculates the new image height so that the image proportions are preserved. than the image is scaled and saved as a new file by adding "icon-" as a prefix to the filename.

the function can be called in gimp batch mode with the following command

gimp -b '(imagescale "*" 100)' -b '(gimp-quit 0)'

put the script in your ~/.gimp-2.6/scripts folder

(define (imagescale pattern width)
  (let* ((filelist (cadr (file-glob pattern 1))))
    (while (not (null? filelist))
           (let* ((filename (car filelist))
                  (image (car (gimp-file-load RUN-NONINTERACTIVE filename filename)))
                  (drawable (car (gimp-image-get-active-layer image)))
                  (original-w (car (gimp-image-width image )))
                  (original-h (car (gimp-image-height image )))
                  (height (* original-h ( / width original-w ))) )
             (gimp-image-scale image width height)
             (gimp-file-save RUN-NONINTERACTIVE image drawable 
                (string-append "icon-" filename) (string-append "icon-" filename))
             (gimp-image-delete image))
           (set! filelist (cdr filelist)))))
read more ...

Happy Birthday Gameboy

Nikolaus Gradwohl2009-04-21T04:47:00+02:00

counting sheep in processing

Nikolaus Gradwohl2009-04-21T04:23:00+02:00

Computer are very well suited for boring and repetitive work. I can't imagine anything more repetetive and boring than counting sheep. so i made a processing sketch that does it for me.

click here if you want to let your computer count some sheep for you.

of course the sheep counter is a long int

sheep counter

read more ...

pencil drawings

Nikolaus Gradwohl2009-04-19T19:03:00+02:00

I also made another gallery showing some pencil drawings i made.

read more ...

monster gallery

Nikolaus Gradwohl2009-04-19T18:55:00+02:00

I just made a gallery of all the monster images i have collected so far. click here to have a look or use the link in the menu. I will add new monsters as i find them

i used the really nice lightbox2 javascript framework for the gallery

read more ...

sispmctl on macos (aka tale of a ikea lamp)

Nikolaus Gradwohl2009-04-19T10:32:00+02:00

i just installed a little ikea lamp on my wife's desk. no problem so far, the only thing that's really wierd is that the switch of the lamp is next to the power supply. to use it she would have to crawl under the desk and use the switch :-( - NSF


therefore i installed a sis-pm silvershield from gembird (which has 4 sockets that are switchabel via usb) and sispmctl and wrote a simple applescript program. now she can simply click on the script in the menu to turn the litght on/off :-)

read more ...

cocoa osc app

Nikolaus Gradwohl2009-04-14T05:14:00+02:00

i just wrote a cocoa frontend for my ruby osc sequencer using vvosc.

vvosc test

this is a simple tutorial to show how i got my vvosc app running. i'm neither a xcode nor objective-c expert - so be gentle if there are some mistakes, or there is a simpler more xcody way to do it :-)

read more ...

processing bubbles

Nikolaus Gradwohl2009-04-13T21:44:00+02:00

here comes another completly useless processing sketch by me this time starring bubbles

ok, it's not that useless i changed the transparency of the bubbles according to the speed so slower bubbles seem to be more distant from the viewer than faster ones.

this generates a nice and simple parallax effect.


read more ...

ruby osc seqencer version2

Nikolaus Gradwohl2009-04-13T14:57:00+02:00

i updated my osc sequencer in ruby. now it doesn't just send osc events but also react to it. i made a small processing sketch that sends osc play,pause,stop events for each track in the sequencer. i also refactored the ruby code a bit, to use classes. next steps i plan are to separate the sequencer code from the sequences and allow sequences to be added or deleted at runtime via osc messages.

the code isn't very reusable now, so i still considere this more as a prove of concept, but i like the idea of separating the frontend and the backend via osc events and having sequences that can run independently.

that should enable some nice osc controlled audio/video installations.

write me a comment or mail if you have some ideas for improvement or if you use the code in one of your projects

read more ...

rotated text in reportlabs

Nikolaus Gradwohl2009-04-09T10:09:00+02:00

if you want to make a great chart like the one below in reportlab, you need rotated text. it isn't very complicated - its just a bit hard to find som examples on the net.

the canvas in reportlab has a saveState and a restoreState method, and supports rotate and translate similar to openGL or processing. see the code example below who it is done.

chart with rotated lables

read more ...