Thanks Ivan, worked like a charm :). I've never noticed such knobs before, so your explanation will save me from going mad the next time this comes up.
------------------------------- Simon Björk Compositor/TD +46 (0)70-2859503 www.bjorkvisuals.com 2015-12-20 22:46 GMT+01:00 Ivan Busquets <[email protected]>: > I believe what you're seeing is a case where setting the default > value/state of certain nodes/knobs is deferred until the Properties panel > is open, which explains the different behaviour of your script when run > interactively in the script editor vs running it in terminal mode, or from > an external IDE. > > To validate this difference in behaviour, you can check this (from the > script editor): > > t = nuke.createNode("TimeClip", inpanel = False) > > t["last"].setValue(20) # This won't stick, just as you're seeing in your > case > > t2 = nuke.createNode("TimeClip") > > t2["last"].setValue(20) # This works > > > I've noticed this on other nodes too, and it's indeed very obscure. The > only way I've found around it is to try to find what knobs are being set > differently, and set them manually in your script. > > In the case of TimeClip, it seems like there's a invisible knob > ("origset") that seems to be driving this. So in this particular case, the > following might work both from an interactive and a non-interactive session: > > > t = nuke.createNode("TimeClip") > > t["origset"].setValue(True) > > t["last"].setValue(20) > > > Hope that helps! > > > > > On Sun, Dec 20, 2015 at 5:55 AM, Simon Björk <[email protected]> > wrote: > >> I guess I could use a Retime node instead, but it seems odd why TimeClip >> doesn't work. >> >> * external, not extranal...* >> >> >> >> >> >> ------------------------------- >> Simon Björk >> Compositor/TD >> >> +46 (0)70-2859503 >> www.bjorkvisuals.com >> >> 2015-12-20 14:41 GMT+01:00 Simon Björk <[email protected]>: >> >>> I'm having problems controlling values of a TimeClip node using the Nuke >>> module in an extranal IDE (Sublime Text). The following code works as >>> expected if I run it in the script editor, but if I run it from Sublime the >>> values don't stick (even though they're picked up when printing the value). >>> >>> Is this a bug or am I missing something? I can't see any callbacks >>> related to the TimeClip, but it looks like the root nodes first/last frame >>> are overriding my values. >>> >>> Code: >>> >>> import nuke >>> >>> t = nuke.createNode("TimeClip") >>> t["last"].setValue(20) >>> >>> to = nuke.createNode("TimeOffset") >>> to["time_offset"].setValue(500) >>> >>> nuke.scriptSave("D:/tmp.nk") >>> >>> /Simon >>> >>> >>> >>> ------------------------------- >>> Simon Björk >>> Compositor/TD >>> >>> +46 (0)70-2859503 >>> www.bjorkvisuals.com >>> >> >> >> _______________________________________________ >> 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
