On Dec 14, 2008, at 4:23 PM, Christopher Wright wrote:
I've been running into what seems like a basic problem - I need to
take an input list of images, modify them, and output the result as
a new list.
Everything I've seen so far uses a rather hackish chunk of
JavaScript to perform that function when reading images from a
directory, but I can't seem to make it work without the image
downloader.
I then tied "outputCurrentImage" to "inputPreviousImage" through a
"Image Transform" patch.
Unfortunately, It doesn't seem to work, and I don't understand why.
To understand why it doesn't work: The image transform will only
operate on one image per frame (unless inside an iterator, then
it'll operate on as many images as there are iterations). You don't
have any iterators, so we'll ignore that case for now.
I tried doing this with an iterator first - but for some reason,
QuartzComposer wouldn't let me publish any outputs from within the
iterator. I guess I don't really understand that limitation either.
You're expecting the JavaScript patch to pass each image through the
transform, and then rebuild the list, outputting a nice modified
structure. But it works a bit differently:
The javascript patch will execute exactly once per frame, and only
when inputs change -- if you add an outputIndex to your JS patch,
(and set it to _index), you'll see that it's not doing anything --
that's the beginning of the problem. You can add a __number doStuff
input, and attach an LFO, and that'll force it to execute each
frame, but it still won't do what you're wanting -- this is because
the Image transform patch is set to scale the X dimension by 0 --
that means the image is gone. You'll want to change that to 1.
I had expected that changing outputCurrentImage would cause a change
on inputPreviousImage - this doesn't seem to be the case, and is at
the root of what I'm trying to understand.
Here's a cooked version that gives output:<Doesn't Work.qtz>
Currently, this will do basically what you're wanting -- however, it
actually takes 1 frame per image, so if you're working on large
groups of images, there will be a noticeable delay between starting
the composition and having all the processed images available.
Note that this will endlessly rebuild the structure, which probably
isn't what you want (add a check if index is at the end, and if so,
do nothing), and since you're moving images through the javascript
patch, it might start leaking memory like a sieve (or maybe that
bug's been fixed recently ... no idea).
--
[ christopher wright ]
[email protected]
http://kineme.net/
This is all kind of a science project for me now - I've decided for
performance reasons that I need to build my modified image list
outside of the quartz composition - Unless I'm missing something, it
just doesn't seem that Quartz compositions have the kind of tools I
need for this particular problem.
Best Regards,
Ron Aldrich
Software Architects, Inc.
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Quartzcomposer-dev mailing list ([email protected])
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/quartzcomposer-dev/archive%40mail-archive.com
This email sent to [email protected]