nuke: split write node features

This commit is contained in:
Jakub Jezek 2023-08-02 15:46:26 +02:00
parent a161a5113f
commit 1ddc9f2fd6
No known key found for this signature in database
GPG key ID: 730D7C02726179A7
5 changed files with 23 additions and 16 deletions

View file

@ -256,6 +256,17 @@ class NukeWriteCreator(NukeCreator):
family = "write"
icon = "sign-out"
def get_linked_knobs(self):
linked_knobs = []
if "channels" in self.instance_attributes:
linked_knobs.append("channels")
if "ordered" in self.instance_attributes:
linked_knobs.append("render_order")
if "use_range_limit" in self.instance_attributes:
linked_knobs.extend(["___", "first", "last", "use_limit"])
return linked_knobs
def integrate_links(self, node, outputs=True):
# skip if no selection
if not self.selected_node:

View file

@ -64,9 +64,6 @@ class CreateWriteImage(napi.NukeWriteCreator):
)
def create_instance_node(self, subset_name, instance_data):
linked_knobs_ = []
if "use_range_limit" in self.instance_attributes:
linked_knobs_ = ["channels", "___", "first", "last", "use_limit"]
# add fpath_template
write_data = {
@ -81,7 +78,7 @@ class CreateWriteImage(napi.NukeWriteCreator):
write_data,
input=self.selected_node,
prenodes=self.prenodes,
linked_knobs=linked_knobs_,
linked_knobs=self.get_linked_knobs(),
**{
"frame": nuke.frame()
}

View file

@ -45,12 +45,6 @@ class CreateWritePrerender(napi.NukeWriteCreator):
return attr_defs
def create_instance_node(self, subset_name, instance_data):
linked_knobs_ = []
if "use_range_limit" in self.instance_attributes:
linked_knobs_ = ["channels", "___", "first", "last", "use_limit"]
linked_knobs_.append("render_order")
# add fpath_template
write_data = {
"creator": self.__class__.__name__,
@ -73,7 +67,7 @@ class CreateWritePrerender(napi.NukeWriteCreator):
write_data,
input=self.selected_node,
prenodes=self.prenodes,
linked_knobs=linked_knobs_,
linked_knobs=self.get_linked_knobs(),
**{
"width": width,
"height": height

View file

@ -39,10 +39,6 @@ class CreateWriteRender(napi.NukeWriteCreator):
return attr_defs
def create_instance_node(self, subset_name, instance_data):
linked_knobs_ = [
"channels", "___", "first", "last", "use_limit", "render_order"
]
# add fpath_template
write_data = {
"creator": self.__class__.__name__,
@ -60,12 +56,15 @@ class CreateWriteRender(napi.NukeWriteCreator):
actual_format = nuke.root().knob('format').value()
width, height = (actual_format.width(), actual_format.height())
self.log.debug(">>>>>>> : {}".format(self.instance_attributes))
self.log.debug(">>>>>>> : {}".format(self.get_linked_knobs()))
created_node = napi.create_write_node(
subset_name,
write_data,
input=self.selected_node,
prenodes=self.prenodes,
linked_knobs=linked_knobs_,
linked_knobs=self.get_linked_knobs(),
**{
"width": width,
"height": height

View file

@ -13,6 +13,12 @@
},
{
"use_range_limit": "Use range limit"
},
{
"ordered": "Defined order"
},
{
"channels": "Channels override"
}
]
}