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

Reply via email to