Thanks for the thoughts Rich, but I don't think its a solution.

Sleeping is one of the first things I tried, but it blocks Nuke so the 
functions don't actually happen.  Nuke races to try and do them all at once 
after the sleep and just drops most of them.

As for using a conditional, i'm not sure how I would set that up, but i'm 
fairly certain it isn't an option because these keys need to be set, so that 
Ocula can do its thing BEFORE rendering begins.

Unless I misunderstood you?

- John Vanderbeck
- Prime Focus World, Vancouver
- 2D Pipeline / Comp TD



On Oct 25, 2013, at 1:29 PM, Richard Bobo <richb...@mac.com> wrote:

> John,
> 
> This may be to simplistic, but didi you try making a condition for the 
> execute to be something similar to nuke.frame() == firstFrame ?
> Maybe use a try: statement with some number of tries or with a sleep time 
> in-between…? Just thinking….
> 
> Rich
> 
> 
> 
> On Oct 25, 2013, at 1:41 PM, John Vanderbeck 
> <john.vanderb...@primefocusworld.com> wrote:
> 
>> Hey all,
>> 
>> Been going out of my mind the last few days and hoping one of you geniuses 
>> might be able to help ease my pain.
>> 
>> Basically I need to script the use of O_Solver to set three keyframes.
>> 
>> I'm running into issues though because of the way Nuke handles threads.  If 
>> I do something like this all in the main thread:
>> 
>> solverNode = nuke.toNode("O_Solver1")
>> addKeyKnob = solverNode.knob("addAnalysisKey")
>> print "Jumping to frame %d" % firstFrame
>> nuke.frame(firstFrame)
>> print "Setting Key"
>> addKeyKnob.execute()
>> 
>> Then what happens is the key gets set, but NOT on the proper frame.  Nuke 
>> doesn't seem to have finished setting the frame before the next call, so the 
>> key ends up being set on whatever frame the playhead happened to be on.
>> 
>> So I then reworked things to do it all in a subthread.  This worked 
>> perfectly, but then I had the problem of knowing when it was done.  If I 
>> tried to block the main thread while waiting on the subthread, then Nuke 
>> again wouldn't properly set the keyframes.  Unfortunately it is vital that I 
>> be able to wait and not return until all keyframes are set :(
>> 
>> Any thoughts?
>> 
>> -- 
>> - John Vanderbeck
>> - Prime Focus World, Vancouver
>> - 2D Pipeline TD
>> 
>> _______________________________________________
>> 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