AWS Thinkbox Discussion Forums

Feature Idea: Nuke In-Node

I just came up with a clever idea. You should be able to submit a dependent Nuke job that lets you pair a read node with the output path from the parent job. I’m trying to think how this would work so if anyone has any ideas on implementation I’m all ears. But maybe you would replace a read node with a token like $Path01 $Path02. I’m imagining this is an alternative to Draft for those instances where you need way more than Draft can offer through Nuke’s feature set. Let Draft handle transcoding and light comping but maybe you want the latest nuke script for a shot rendered along with a finished render?

If you need to use Nuke, then isn’t it best to actually use Nuke in it’s own environment where all The Foundry tools are present and submit where necessary for batch processing to Deadline?
I would rather turn this on it’s head and position Deadline into a custom Nuke panel for iDrop style processing. At NAB this year, The Foundry demostrated Nuke inside of Heiro. How about Deadline inside of Nuke or Maya or any other QT based application?
Here’s a web browser running as a custom panel inside of Nuke to demonstrate the principle:

[code]import nuke
import nukescripts
from nukescripts import panels

from PySide.QtGui import *
from PySide.QtCore import *
from PySide.QtWebKit import *

class WebBrowserWidget(QWidget):
def changeLocation(self):
url = self.locationEdit.text()
if not url.startswith( ‘http://’ ):
url = ‘http://’ + url
self.webView.load( QUrl(url) )

def urlChanged(self, url):
self.locationEdit.setText( url.toString() )

def init(self):
QWidget.init(self)
self.webView = QWebView()

self.setLayout( QVBoxLayout() )  

self.locationEdit = QLineEdit( 'http://www.google.com' )
self.locationEdit.setSizePolicy( QSizePolicy.Expanding, self.locationEdit.sizePolicy().verticalPolicy() )

QObject.connect( self.locationEdit, SIGNAL('returnPressed()'),  self.changeLocation )
QObject.connect( self.webView,   SIGNAL('urlChanged(QUrl)'),     self.urlChanged )

self.layout().addWidget( self.locationEdit )

bar = QToolBar()
bar.addAction( self.webView.pageAction(QWebPage.Back))
bar.addAction( self.webView.pageAction(QWebPage.Forward))
bar.addAction( self.webView.pageAction(QWebPage.Stop))
bar.addAction( self.webView.pageAction(QWebPage.Reload))
bar.addSeparator()

self.layout().addWidget( bar )
self.layout().addWidget( self.webView )

url = 'http://www.thefoundry.co.uk/' 
self.webView.load( QUrl( url ) )
self.locationEdit.setText( url ) 
self.setSizePolicy( QSizePolicy( QSizePolicy.Expanding,  QSizePolicy.Expanding))

make this work in a .py file and in ‘copy and paste’ into the script editor

moduleName = name
if moduleName == ‘main’:
moduleName = ‘’
else:
moduleName = moduleName + ‘.’

panels.registerWidgetAsPanel( moduleName + ‘WebBrowserWidget’, ‘Web Browser’,‘uk.co.thefoundry.WebBrowserWidget’)[/code]

One word: Mono.

Personally, I don’t really see this type of thing as something Thinkbox should try to implement (due to what I imagine would be difficulties in coming up with a “one-size” solution), but if they did, I would pictures it as more of a generic path-token replacement component of the Nuke job plugin. However, as an end user, it would feel somewhat silly having to set invalid path tokens on your read nodes and save a script in that state just to get that functionality working.

-Nathan

Privacy | Site terms | Cookie preferences