Thanks Hugo. I'll report it to the Foundry. In the meantime, artists will have to do it by hand.... and mistakes will happen.

@Nathan: yes and I get the same error. I first began with createNode() and changed it later to see if it worked any better.

On 13/03/2012 14:18, Hugo Léveillé wrote:
I get the exact same error, with a valid gizmo. I also tried with a "grizmo" and still get the error
On Tue, Mar 13, 2012, at 09:28, Nathan Rusch wrote:
And have you verified that the gizmo itself is actually valid and complete?
From: Nathan Rusch <mailto:nathan_ru...@hotmail.com>
Sent: Tuesday, March 13, 2012 8:16 AM
To: Nuke Python discussion <mailto:nuke-python@support.thefoundry.co.uk>
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 <mailto: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 <mailto: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

--
Hugo Léveillé
TD Compositing, Vision Globale
hu...@fastmail.net <mailto:hu...@fastmail.net>


_______________________________________________
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