From 6f9d55ce30d2ef4763ad1ea53596e637534731bc Mon Sep 17 00:00:00 2001 From: Jakub Jezek Date: Fri, 30 Nov 2018 17:11:03 +0100 Subject: [PATCH 1/2] updating create write still --- pype/nuke/lib.py | 2 ++ pype/plugins/nuke/create/create_write.py | 20 ++++++++++---------- 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/pype/nuke/lib.py b/pype/nuke/lib.py index 9db0280b5e..7e2539d073 100644 --- a/pype/nuke/lib.py +++ b/pype/nuke/lib.py @@ -73,6 +73,8 @@ def create_write_node(name, data): log.debug(_data) + _data["frame_range"] = data.get("frame_range", None) + instance = avalon.nuke.lib.add_write_node( name, **_data diff --git a/pype/plugins/nuke/create/create_write.py b/pype/plugins/nuke/create/create_write.py index c42e3262e8..673d75911d 100644 --- a/pype/plugins/nuke/create/create_write.py +++ b/pype/plugins/nuke/create/create_write.py @@ -47,14 +47,13 @@ class CrateWriteRender(avalon.nuke.Creator): instance = super(CrateWriteRender, self).process() if not instance: - data_templates = { + write_data = { "class": self.families, - # only one is required "preset": self.family, "avalon": self.data } - create_write_node(self.name, data_templates) + create_write_node(self.name, write_data) return @@ -90,14 +89,13 @@ class CrateWritePrerender(avalon.nuke.Creator): instance = super(CrateWritePrerender, self).process() if not instance: - data_templates = { + write_data = { "class": self.families, - # only one is required "preset": self.family, "avalon": self.data } - create_write_node(self.name, data_templates) + create_write_node(self.name, write_data) return @@ -130,16 +128,18 @@ class CrateWriteStill(avalon.nuke.Creator): self.data = data def process(self): + import nuke instance = super(CrateWriteStill, self).process() if not instance: - data_templates = { + write_data = { "class": self.families, - # only one is required "preset": self.family, - "avalon": self.data + "avalon": self.data, + "frame_range": [nuke.frame(), nuke.frame()] } - create_write_node(self.name, data_templates) + nuke.createNode("FrameHold", "first_frame {}".format(nuke.frame())) + create_write_node(self.name, write_data) return From c1321aeb3696f60f057f4b77f1e67861c58d181a Mon Sep 17 00:00:00 2001 From: Jakub Jezek Date: Sat, 1 Dec 2018 01:54:22 +0100 Subject: [PATCH 2/2] adding render, render_farm knobs to nuke_write_create --- pype/nuke/lib.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/pype/nuke/lib.py b/pype/nuke/lib.py index 7e2539d073..061ab5e2c0 100644 --- a/pype/nuke/lib.py +++ b/pype/nuke/lib.py @@ -80,9 +80,23 @@ def create_write_node(name, data): **_data ) instance = avalon.nuke.lib.imprint(instance, data["avalon"]) + add_rendering_knobs(instance) return instance +def add_rendering_knobs(node): + if "render" not in node.knobs(): + knob = nuke.Boolean_Knob("render", "Render") + knob.setFlag(0x1000) + knob.setValue(False) + node.addKnob(knob) + if "render_farm" not in node.knobs(): + knob = nuke.Boolean_Knob("render_farm", "Render on Farm") + knob.setValue(False) + node.addKnob(knob) + return node + + def update_frame_range(start, end, root=None): """Set Nuke script start and end frame range