Merged in feature/PYPE-687-nk-loader-reads-colorspace-pres (pull request #461)

Feature/PYPE-687 nk loader reads colorspace pres

Approved-by: Milan Kolar <milan@orbi.tools>
This commit is contained in:
Jakub Ježek 2020-01-31 23:11:07 +00:00 committed by Milan Kolar
commit d1523ea709
3 changed files with 53 additions and 21 deletions

View file

@ -1013,7 +1013,8 @@ class BuildWorkfile(WorkfileSettings):
def process(self, def process(self,
regex_filter=None, regex_filter=None,
version=None, version=None,
representations=["exr", "dpx", "lutJson", "mov", "preview"]): representations=["exr", "dpx", "lutJson", "mov",
"preview", "png"]):
""" """
A short description. A short description.
@ -1054,9 +1055,10 @@ class BuildWorkfile(WorkfileSettings):
wn["render"].setValue(True) wn["render"].setValue(True)
vn.setInput(0, wn) vn.setInput(0, wn)
bdn = self.create_backdrop(label="Render write \n\n\n\nOUTPUT", # adding backdrop under write
color='0xcc1102ff', layer=-1, self.create_backdrop(label="Render write \n\n\n\nOUTPUT",
nodes=[wn]) color='0xcc1102ff', layer=-1,
nodes=[wn])
# move position # move position
self.position_up(4) self.position_up(4)
@ -1070,10 +1072,12 @@ class BuildWorkfile(WorkfileSettings):
version=version, version=version,
representations=representations) representations=representations)
log.info("__ subsets: `{}`".format(subsets)) for name, subset in subsets.items():
log.debug("___________________")
log.debug(name)
log.debug(subset["version"])
nodes_backdrop = list() nodes_backdrop = list()
for name, subset in subsets.items(): for name, subset in subsets.items():
if "lut" in name: if "lut" in name:
continue continue
@ -1103,9 +1107,10 @@ class BuildWorkfile(WorkfileSettings):
# move position # move position
self.position_right() self.position_right()
bdn = self.create_backdrop(label="Loaded Reads", # adding backdrop under all read nodes
color='0x2d7702ff', layer=-1, self.create_backdrop(label="Loaded Reads",
nodes=nodes_backdrop) color='0x2d7702ff', layer=-1,
nodes=nodes_backdrop)
def read_loader(self, representation): def read_loader(self, representation):
""" """

View file

@ -1,8 +1,9 @@
import re
import nuke
import contextlib import contextlib
from avalon import api, io from avalon import api, io
from pype.nuke import presets
import nuke
from pype.api import Logger from pype.api import Logger
log = Logger().get_logger(__name__, "nuke") log = Logger().get_logger(__name__, "nuke")
@ -24,7 +25,7 @@ def preserve_trim(node):
offset_frame = None offset_frame = None
if node['frame_mode'].value() == "start at": if node['frame_mode'].value() == "start at":
start_at_frame = node['frame'].value() start_at_frame = node['frame'].value()
if node['frame_mode'].value() is "offset": if node['frame_mode'].value() == "offset":
offset_frame = node['frame'].value() offset_frame = node['frame'].value()
try: try:
@ -122,7 +123,6 @@ class LoadMov(api.Loader):
repr_cont["subset"], repr_cont["subset"],
repr_cont["representation"]) repr_cont["representation"])
# Create the Loader with the filename path set # Create the Loader with the filename path set
with viewer_update_and_undo_stop(): with viewer_update_and_undo_stop():
# TODO: it might be universal read to img/geo/camera # TODO: it might be universal read to img/geo/camera
@ -139,7 +139,20 @@ class LoadMov(api.Loader):
read_node["last"].setValue(last) read_node["last"].setValue(last)
read_node["frame_mode"].setValue("start at") read_node["frame_mode"].setValue("start at")
read_node["frame"].setValue(str(offset_frame)) read_node["frame"].setValue(str(offset_frame))
# add additional metadata from the version to imprint to Avalon knob
# load nuke presets for Read's colorspace
read_clrs_presets = presets.get_colorspace_preset().get(
"nuke", {}).get("read", {})
# check if any colorspace presets for read is mathing
preset_clrsp = next((read_clrs_presets[k]
for k in read_clrs_presets
if bool(re.search(k, file))),
None)
if preset_clrsp is not None:
read_node["colorspace"].setValue(str(preset_clrsp))
# add additional metadata from the version to imprint Avalon knob
add_keys = [ add_keys = [
"frameStart", "frameEnd", "handles", "source", "author", "frameStart", "frameEnd", "handles", "source", "author",
"fps", "version", "handleStart", "handleEnd" "fps", "version", "handleStart", "handleEnd"
@ -147,7 +160,7 @@ class LoadMov(api.Loader):
data_imprint = {} data_imprint = {}
for key in add_keys: for key in add_keys:
if key is 'version': if key == 'version':
data_imprint.update({ data_imprint.update({
key: context["version"]['name'] key: context["version"]['name']
}) })

View file

@ -1,10 +1,12 @@
import re
import nuke
import contextlib import contextlib
from avalon import api, io from avalon import api, io
from pype.nuke import presets
import nuke
from pype.api import Logger from pype.api import Logger
log = Logger().get_logger(__name__, "nuke") log = Logger().get_logger(__name__, "nuke")
@ -24,7 +26,7 @@ def preserve_trim(node):
offset_frame = None offset_frame = None
if node['frame_mode'].value() == "start at": if node['frame_mode'].value() == "start at":
start_at_frame = node['frame'].value() start_at_frame = node['frame'].value()
if node['frame_mode'].value() is "offset": if node['frame_mode'].value() == "offset":
offset_frame = node['frame'].value() offset_frame = node['frame'].value()
try: try:
@ -134,20 +136,32 @@ class LoadSequence(api.Loader):
if colorspace is not None: if colorspace is not None:
r["colorspace"].setValue(str(colorspace)) r["colorspace"].setValue(str(colorspace))
# load nuke presets for Read's colorspace
read_clrs_presets = presets.get_colorspace_preset().get(
"nuke", {}).get("read", {})
# check if any colorspace presets for read is mathing
preset_clrsp = next((read_clrs_presets[k]
for k in read_clrs_presets
if bool(re.search(k, file))),
None)
if preset_clrsp is not None:
r["colorspace"].setValue(str(preset_clrsp))
loader_shift(r, first, relative=True) loader_shift(r, first, relative=True)
r["origfirst"].setValue(int(first)) r["origfirst"].setValue(int(first))
r["first"].setValue(int(first)) r["first"].setValue(int(first))
r["origlast"].setValue(int(last)) r["origlast"].setValue(int(last))
r["last"].setValue(int(last)) r["last"].setValue(int(last))
# add additional metadata from the version to imprint to Avalon knob # add additional metadata from the version to imprint Avalon knob
add_keys = ["frameStart", "frameEnd", add_keys = ["frameStart", "frameEnd",
"source", "colorspace", "author", "fps", "version", "source", "colorspace", "author", "fps", "version",
"handleStart", "handleEnd"] "handleStart", "handleEnd"]
data_imprint = {} data_imprint = {}
for k in add_keys: for k in add_keys:
if k is 'version': if k == 'version':
data_imprint.update({k: context["version"]['name']}) data_imprint.update({k: context["version"]['name']})
else: else:
data_imprint.update( data_imprint.update(
@ -179,7 +193,7 @@ class LoadSequence(api.Loader):
rtn["after"].setValue("continue") rtn["after"].setValue("continue")
rtn["input.first_lock"].setValue(True) rtn["input.first_lock"].setValue(True)
rtn["input.first"].setValue( rtn["input.first"].setValue(
self.handle_start + self.first_frame self.handle_start + self.first_frame
) )
if time_warp_nodes != []: if time_warp_nodes != []: