A long time ago I ran help(nuke.allNodes) :P
My advice is to trust what Python says over any documentation you find.
-Nathan
From: Brogan Ross
Sent: Wednesday, September 21, 2011 12:12 AM
To: Nuke Python discussion
Subject: Re: [Nuke-python] Gizmo onCreate callback going inside gizmo
Hey thanks. I figured the callback was saying: "Oh so I'm in here now",
but hadn't run into that in any of my other callbacks that dealt with gizmos,
so was a little confused.
Can you tell me where you found out about the adding (group=WhatHaveYou)
argument, I don't remember seeing anything like that in the regular
documentation. I've been trying to learn as much as possible but sometimes the
arguments listed in the documentation seem limited, or undefined.
Thanks again,
Brogan
On Tue, Sep 20, 2011 at 7:50 PM, Nathan Rusch <[email protected]> wrote:
Well, callback functions are always run in the context of the node they are
attached to, so from the callback’s point of view, the Gizmo is the correct
context to run code in.
It’s sort of similar to a namespace in programming; in order to see things
that aren’t children of the namespace, you need to make explicit references to
them, otherwise many of the functions in Nuke that run in the active context
(nuke.selectedNode, nuke.selectedNodes, nuke.allNodes, nuke.toNode, etc.) will
only know to look downward from (or relative to) the current 'namespace' when
operating on nodes or finding nodes.
-Nathan
From: Brogan Ross
Sent: Tuesday, September 20, 2011 7:08 PM
To: Nuke Python discussion
Subject: Re: [Nuke-python] Gizmo onCreate callback going inside gizmo
Thanks Nathan that worked like a charm. I wonder why Nuke would think that I
wanted to look through the gizmo by default, instead of the root(). Oh well,
thanks a lot for the help.
Brogan
On Tue, Sep 20, 2011 at 6:42 PM, Nathan Rusch <[email protected]>
wrote:
You can pass nuke.allNodes a node to use as an execution context. If you
know you always want to look at the top-level of your comp, just use:
nuke.allNodes(group=nuke.root())
If you want to look at the container context of the new gizmo regardless of
whether it’s the root node or not, use:
nuke.allNodes(group=nuke.thisParent())
Obviously if the given 'parent' gizmo you’re looking for could be anywhere,
you’ll need to walk from nuke.root() into every Group node.
-Nathan
From: Brogan Ross
Sent: Tuesday, September 20, 2011 6:34 PM
To: Nuke Python discussion
Subject: [Nuke-python] Gizmo onCreate callback going inside gizmo
So I found this interesting little tidbit that I didn't want to happen.
Basically, I have an onUserCreate callback to expression the values of a
given "parent" gizmo to the newly created gizmo. But when I'm doing a search
for the "parent" gizmo with nuke.allNodes() the callback is looking at the
innards of the newly created gizmo.
def gizmoCallback():
newgizmo = nuke.thisNode()
for node in nuke.allNodes():
if node.Class() in ["list", "of", "possible", "matches"]:
if node.name().split()[0].lower() == "searchTag":
newgizmo.setExpressions()
nuke.onUserCreate(gizmoCallback, nodeClass='NewGizmo')
That's basically what I'm running, but if I have it print out the nodes in
nuke.allNodes() it prints the names of the nodes inside the gizmo.
Anyone else run it this before? Any work arounds?
Thanks,
Brogan
----------------------------------------------------------------------------
_______________________________________________
Nuke-python mailing list
[email protected], http://forums.thefoundry.co.uk/
http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python
_______________________________________________
Nuke-python mailing list
[email protected], http://forums.thefoundry.co.uk/
http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python
------------------------------------------------------------------------------
_______________________________________________
Nuke-python mailing list
[email protected], http://forums.thefoundry.co.uk/
http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python
_______________________________________________
Nuke-python mailing list
[email protected], http://forums.thefoundry.co.uk/
http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python
--------------------------------------------------------------------------------
_______________________________________________
Nuke-python mailing list
[email protected], http://forums.thefoundry.co.uk/
http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python
_______________________________________________
Nuke-python mailing list
[email protected], http://forums.thefoundry.co.uk/
http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python