picture home | art | events | music | rack extensions | downloads | pixel blog

omino pixel blog

pixels, motion, and scripting
david van brink // Sat 2012.09.22 00:10 // {after effects}

AE: omino_python Updated!

Omino Plug-in Suite has been updated!

Most importantly… it installs correctly for AE CS6. (*yawn*. Sorry for the delay.)

Put most excitingly, scripts for omino_python now let you name the parameters. Earlier versions just named parameters like “float 0” and “color 2”. Now, each script can define the names of the parameters it uses.


Which is a bit overwhelming. Most of those parameters don’t do anything.

But now, by including a second callback ompy_params(d), you can show only the parameters you use, named as you like:

def ompy_main(c):
    ctx = c.layer_out_context
    ctx.set_source_rgb(c.colors[0].r, c.colors[0].g, c.colors[0].b)
    ctx.move_to(c.points[0].x, c.points[0].y)
    ctx.rotate(c.floats[1] / 57.29577951)

def ompy_params(d):
    d.floatDescs[0].name = "font size"
    d.floatDescs[1].name = "rotation"
    d.floatDescs[2].name = "value to print"
    d.pointDescs[0].name = "print position"
    d.colorDescs[0].name = "print color"


Download the Omino Plug-in Suite (for Mac OS X only, alas) absolutely free at Omino.

oh, i dont know. what do you think?

david van brink // Wed 2011.12.28 19:16 // {after effects}

AE: Omino Python, All Free

The Mac OS X version of Omino Python has been updated. An installer for it — and all my other After Effects plug-ins are in the downloads section here.

For anyone just tuning in, Omino Python is an After Effects plug-in that lets you write scripts to draw into a layer of an After Effects composition. It’s a lot like writing BASIC on your old Apple ][.

Changes to the plug-in are primarily:

  • Fixed a sporadic crash that could happen during text rendering.
  • No longer install any files in /opt/local or /usr/local. All gone.
  • Completely unlocked (no license needed for full use). Enjoy!

Here’s a frame from one of the example animations. This is a couple of for-loops in action.

And here’s the animation it came from.

And here’s the python source code.

ChrisG // Sun 2012.01.29 19:327:32 pm

Hi. Been a long time since I started messing around with this plugin (and then left it alone because I had other things to deal with). Well, now I’m back on it. And I have found some really interesting things. However, I’m wondering if you are ever going to be able to add the feature of getting something OUT of the plugin — a property that can be used in an expression but goes in the opposite direction of what exists now. In other words, something that changes by the py script, but is updated by the script as a property (as opposed to the other way around, which is how all the props work now). Is this possible? Just putting one “out” integer property would be AWESOME. Thanks in advance for any response (and thanks again for the cool plugin).

david van brink // Sun 2012.01.29 20:018:01 pm

Hi Chris —
There is a way! It’s a bit strange but will work. Render out a square of some color made of values R, G, B, say at (0,0,10,10). Then in an expression, use layer.sampleImage, to read it back. Something like sampleImage([5,5], radius = [.5, .5], postEffect=true, t=time).

You can use as many color-regions as desired to pass more value triplets out. (And probably want to clip your work so these “utility areas” aren’t on the final tape…)

ChrisG // Sun 2012.01.29 20:068:06 pm

Haha. I’ve already done that. I’d like less of a kludge.

ChrisG // Sun 2012.01.29 20:158:15 pm

Sorry. Should’ve made mention of that in my original comment. But is it possible to add that to the plugin?

ChrisG // Sun 2012.01.29 20:168:16 pm

Oh, and while I’m here … what is the correct syntax to set_hint_metrics?

oh, i dont know. what do you think?

david van brink // Wed 2011.02.16 09:19 // {after effects}

AE & Python

I was going to provide another example or two of Python scripting, today, but was sidetracked by a little bit of historical research on Python in After Effects. The examples will wait a little longer…

Useful Things

Yes, indeed, everything old is new again. Just about the time I started using After Effects, I had heard of “Useful Things”, but didn’t really know what it was. Turns out it was… Python Scripting for After Effects! It appears to have been quite well-regarded in the AE community, too. Alas, for whatever reasons, that product seems to have faded, been reabsorbed in the various business permutations that are a fact of life.

Omino Python for After Effects, by coincidence and parallel evolution, seems to resemble that fine product in some aspiring ways.

Grant Munsey

Going back even a tiny bit further, to 2001, we find that Adobe computer scientist Grant Munsey created open source Python bindings for Photoshop and After Effects, as well!

Reading about him, he was a great proponent of open source development, and was a driving force for establishing http://opensource.adobe.com/.

He passed away in 2005; I did not know him. But reading about his long illness, I was touched by this part of his wife’s account:

We’ve been using the mouth stick. It’s a 16-inch rod with a rubber tip on one end and on the other end a U-shaped plastic thing he bites on. He can then trace patterns and point to letters on the letter board — very slowly. I asked him what UNIX command you’d use for getting regular expressions from a text file, and he spelled “GREP”.

And forgive me if I find in this a dark justification for the oft-maligned brevity of UNIX commands.

Rich Young // Sun 2011.02.27 17:395:39 pm

I think Grant also did an early plug-in set, Cognicon TILT. Later sold to Digieffects, TILT was an 3D system that did 3D displacement and imported 3D models using Quickdraw 3D from Apple.

oh, i dont know. what do you think?

(c) 2003-2023 omino.com / contact poly@omino.com