thanks
Unfortunately, it's still not working as expected. Nuke is not hanging
anymore, but it only rendering the last frame of the requested range. So
I render 1-10 in the main write, I should be triggering 10 afterFrame
callback, rendering the frame just rendered to jpeg. But it will only
render frame 10.
Any clue why?? Here's my script now. The only difference from yours is
that I create a temp rean so that the jpeg is rendered from the dpx and
not the whole flow.
import threading
def renderAWrite(node, start, end):
nuke.executeInMainThread(nuke.execute, args=(node, start, end),
kwargs={'continueOnError': True})
def render_jpg():
f = nuke.frame()
read = nuke.createNode("Read",inpanel=False)
read['file'].setValue(nuke.thisNode()['file'].value())
read['first'].setValue(f)
read['last'].setValue(f)
w = nuke.createNode('Write', inpanel=False)
w['file'].setValue("path.%04d.jpg")
w.setInput(0, read)
t = threading.Thread(None, renderAWrite, args=(w, f, f))
t.start()
On Tue, Aug 14, 2012, at 15:20, Nathan Rusch wrote:
> I think you may have the calling sequence and locations a little switched
> around... You only use nuke.executeInMainThread from within the code
> that's
> running on the new thread.
>
>
> import threading
>
> def renderAWrite(node, start, end):
> nuke.executeInMainThread(nuke.execute, args=(node, start, end),
> kwargs={'continueOnError': True})
>
> def afterRenderFunc():
> f = nuke.frame()
> w = nuke.createNode('Write', inpanel=False)
> w['file'].setValue('/path.%04d.jpg')
> w.setInput(0, nuke.thisNode().input(0))
> t = threading.Thread(None, renderAWrite, args=(w, f, f))
> t.start()
>
>
> Hope this helps.
>
> -Nathan
>
> -----Original Message-----
> From: Hugo Léveillé
> Sent: Tuesday, August 14, 2012 11:23 AM
> To: Nuke Python discussion
> Subject: Re: [Nuke-python] afterFrameRender freezing....
>
> yeah but running nuke.execute ends in a "already executing something
> else" ?
>
> import threading
> def renderMe(node,inP,outP):
> nuke.execute( node , inP , outP )
>
> def render_jpg():
> frame = nuke.frame()
> w = nuke.createNode("Write")
> w['file'].setValue("/path.####.jpg")
> thread = threading.Thread( None , renderMe , args = ( w , frame ,
> frame ) )
> nuke.executeInMainThread( thread.start )
>
>
>
>
>
>
> On Tue, Aug 14, 2012, at 13:43, Nathan Rusch wrote:
> > You can't call nuke.executeInMainThread from the main thread or Nuke will
> > lock up.
> >
> > -Nathan
> >
> >
> > -----Original Message-----
> > From: Hugo Léveillé
> > Sent: Tuesday, August 14, 2012 10:39 AM
> > To: PYTHON (nuke) discussion
> > Subject: [Nuke-python] afterFrameRender freezing....
> >
> > I know there has been few discussions about this, but it's still failing
> > on me. Basically I just want to render a simple jpg of the frame just
> > rendered.
> >
> > the code:
> > ----------------------------
> >
> > import threading
> > def renderMe(node,inP,outP):
> > nuke.executeInMainThreadWithResult( nuke.execute , args = ( node ,
> > inP , outP ) , kwargs = { 'continueOnError' : True } )
> >
> > def render_jpg():
> > frame = nuke.frame()
> > w = nuke.createNode("Write")
> > w['file'].setValue("/path.####.jpg")
> > thread = threading.Thread( None , renderMe , args = ( w , frame ,
> > frame ) )
> > nuke.executeInMainThread( thread.start )
> >
> >
> > -------------------------------------
> >
> > I call render_jpg()
> >
> > Sometimes it works but more often than others the progress bar just
> > freeze forever. Anyone knows what the problem might be ?
> >
> >
> > --
> > Hugo Léveillé
> > TD Compositing, Vision Globale
> > [email protected]
> >
> > _______________________________________________
> > 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
>
>
> --
> Hugo Léveillé
> TD Compositing, Vision Globale
> [email protected]
>
> _______________________________________________
> 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
--
Hugo Léveillé
TD Compositing, Vision Globale
[email protected]
_______________________________________________
Nuke-python mailing list
[email protected], http://forums.thefoundry.co.uk/
http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python