Thanks Ivan, this did fix the specific issue I was having, though I
agree a straight forward method would be useful :)

 

From: [email protected]
[mailto:[email protected]] On Behalf Of Ivan
Busquets
Sent: Tuesday, November 29, 2011 1:15 PM
To: Nuke Python discussion
Subject: Re: [Nuke-python] OnKnobChanged and 'driven' knobs

 

For the case of knobs that are set from other callbacks, you can play
with setting/clearing the KNOB_CHANGED_RECURSIVE flag as needed.


When the flag is set, a knobChanged callback on your know should be
triggered when the knob is changed from other callbacks.

However, I think it would be very useful to have a knob method just as
you describe. There is a feature request for a <knob>.changed() method
logged as Request ID# 20176.

Feel free to add your voice to that. Every vote counts :)

Cheers,
Ivan



On Tue, Nov 29, 2011 at 9:55 AM, John Vanderbeck
<[email protected]> wrote:

So I realized today that if I have a node that responds to its knobs
changing with an knobChanged callback, all is well UNLESS one of its
knobs is changed by script or driven by a link.  In that case the
knobChanged function is never called.  Essentially it appears that the
callback only occurs if the user directly modified the knob.

Is there a way I can trigger the knobChanged via script?  If I know the
function that is hooked, I could of course call it directly, but let's
assume I don't know.  From script I am changing NodeA's knobs for some
reason, and NodeA may or may not have a knobChanged callback registered.
If I change NodeA's knobFoo, is there some way I can say
NodeA['knobFood'].triggerKnobChanged() or something?


_______________________________________________
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