Thats correct. Currently all the patches are single instances and
don't share memory. Also an input of a patch can only be connected to
one certain source at a time, so an "Input Splitter" can only get its
value from one single source. That is because QuartzComposer don't run
a "program" sequential, but calculates everything from bottom up. It
starts at the render patches and asks for their inputs like "Where is
my input coming from?". Then it recursively walks up the wires to find
the next inputs of that patches. Also an "Iterator Patch" can't have
an output, because any patch which have its input connected to an
"output of an iterator" couldn't decide which output value of the 10
iterations it has to take.
The big advantage of this recursive bottom to top technique is that
you can have quite complex QuartzComposer documents with thousands of
patches but if they are not in the recursive queue to be calculated
(because a renderer might be disabled) then it can run pretty fast.
Achim Breidenbach
Boinx Software
On 09.04.2010, at 01:38, George Toledo wrote:
Your scenario makes sense, but if you are feeding your iterator
setup with a structure from a higher level (that would be
establishing your heights for example), and use the iterator to
render, you would already have all of those values available, and
wouldn't need to retrieve them from inside the iterator. That will
likely require a different ordering/conceptualization than your
current setup.
Best,
George Toledo
On Thu, Apr 8, 2010 at 1:52 PM, James Butler <[email protected]>
wrote:
Hi Achim,
Thanks for the response. I have been able to set global variables
that act more like a constant through the method you described.
What I have been unable to do is set the root variable from inside
a sub patch.
For example while I am iterating through heights of different string
to image sprites, I would like to keep track of their heights so I
can offset the next y position.
Or, based on some information in an iterative loop, set a image
field at a higher level.
Does that make sense?
Thanks,
James
*****************************
Hello James,
you can do a ctrl-click on any patch to get a context menu for it. In
this context menu you can select "Publish Inputs". Once you select one
of your desired inputs to be published you have to give it a name.
- If you do this in the root of your document this published input
becomes a "Input Parameter" accessible from outside your composition.
(e.g. as "Input Parameter" in the View window)
- If you do this inside of a macro this input will become a new input
of that macro.
You can edit all your global parameters in the Viewer window by
clicking on the "Input Parameters" toolbar button. Unfortunately if
you want to access this input parameter somewhere else in your
composition you have to put in an input splitter (also cntrl-click on
that patch with the published input -> Inster Input Splitter...) and
connect from this new input splitter patch to every where you need
this parameter.
Is this what you are looking for?
Achim Breidenbach
Boinx Software
_______________________________________________
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/gtoledo3%40gmail.com
This email sent to [email protected]
_______________________________________________
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/achim%40boinx.com
This email sent to [email protected]
_______________________________________________
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]