And have you verified that the gizmo itself is actually valid and complete?



From: Nathan Rusch 
Sent: Tuesday, March 13, 2012 8:16 AM
To: Nuke Python discussion 
Subject: Re: [Nuke-python] Problem with onKnobChanged event

Does this still happen if you use a createNode call and set your gizmo input 
after it has been created?

-Nathan

On Mar 13, 2012, at 7:25 AM, "Francois Lord" <li...@francoislord.com> wrote:


  Hi.

  I'm having problems with an onKnobChanged event. I'm trying to add a node 
under a Read node whenever the user sets the input colorspace to AlexaV3LogC. 
The node I'm trying to add is a gizmo, and when the event is fired, the node 
appears in the graph but it is unconnected and this error appears: 
  Traceback (most recent call last): 
  File "[...]/Nuke/Nuke6.3v5_win64/plugins\nuke\callbacks.py", line 127, in 
knobChanged

  _doCallbacks(knobChangeds)

  File "[...]/Nuke/Nuke6.3v5_win64/plugins\nuke\callbacks.py", line 46, in 
_doCallbacks

  f[0](*f[1],**f[2])

  File "[...]\nukePlugins\src/init.py", line 199, in 
onKnobChanged_Read_Colorspace

  oObqAC = nuke.nodes.ObqAlexaCorrect(inputs=[nuke.thisNode()])

  RuntimeError: [...]\nukePlugins\src/ObqAlexaCorrect.gizmo:

  Missing end_group command(s)



  It all works well when I add a normal node instead (when I replace 
"ObqAlexaCorrect" by "Grade"), but it fails with any gizmo.  Is this something 
known? 
  Here is my event code. 



      def onKnobChanged_Read_Colorspace():
          if nuke.thisKnob().name() == "colorspace" and nuke.thisKnob().value() 
== "AlexaV3LogC":
              lDependentNodes = 
nuke.overrides.dependentNodes(nodes=[nuke.thisNode()], what=nuke.INPUTS)

              # Find ObqAlexaCorrect node in dependentNodes.
              found = False
              for node in lDependentNodes:
                  if node.Class() == "ObqAlexaCorrect":
                      found = True
                      break
              if not found:
                  oObqAC = nuke.nodes.ObqAlexaCorrect(inputs=[nuke.thisNode()])

              # Reconnect dependentNodes to ObqAlexaCorrect.
              for node in lDependentNodes:
                  iNbInputs = node.inputs()
                  for i in range(0, iNbInputs):
                      if node.input(i) == nuke.thisNode():
                          node.setInput(i, oObqAC)


  _______________________________________________
  Nuke-python mailing list
  Nuke-python@support.thefoundry.co.uk, http://forums.thefoundry.co.uk/
  http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python



--------------------------------------------------------------------------------
_______________________________________________
Nuke-python mailing list
Nuke-python@support.thefoundry.co.uk, http://forums.thefoundry.co.uk/
http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python
_______________________________________________
Nuke-python mailing list
Nuke-python@support.thefoundry.co.uk, http://forums.thefoundry.co.uk/
http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python

Reply via email to