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

View file

@ -1,8 +1,9 @@
import re
import nuke
import contextlib
from avalon import api, io
import nuke
from pype.nuke import presets
from pype.api import Logger
log = Logger().get_logger(__name__, "nuke")
@ -24,7 +25,7 @@ def preserve_trim(node):
offset_frame = None
if node['frame_mode'].value() == "start at":
start_at_frame = node['frame'].value()
if node['frame_mode'].value() is "offset":
if node['frame_mode'].value() == "offset":
offset_frame = node['frame'].value()
try:
@ -122,7 +123,6 @@ class LoadMov(api.Loader):
repr_cont["subset"],
repr_cont["representation"])
# Create the Loader with the filename path set
with viewer_update_and_undo_stop():
# 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["frame_mode"].setValue("start at")
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 = [
"frameStart", "frameEnd", "handles", "source", "author",
"fps", "version", "handleStart", "handleEnd"
@ -147,7 +160,7 @@ class LoadMov(api.Loader):
data_imprint = {}
for key in add_keys:
if key is 'version':
if key == 'version':
data_imprint.update({
key: context["version"]['name']
})

View file

@ -1,10 +1,12 @@
import re
import nuke
import contextlib
from avalon import api, io
import nuke
from pype.nuke import presets
from pype.api import Logger
log = Logger().get_logger(__name__, "nuke")
@ -24,7 +26,7 @@ def preserve_trim(node):
offset_frame = None
if node['frame_mode'].value() == "start at":
start_at_frame = node['frame'].value()
if node['frame_mode'].value() is "offset":
if node['frame_mode'].value() == "offset":
offset_frame = node['frame'].value()
try:
@ -134,20 +136,32 @@ class LoadSequence(api.Loader):
if colorspace is not None:
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)
r["origfirst"].setValue(int(first))
r["first"].setValue(int(first))
r["origlast"].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",
"source", "colorspace", "author", "fps", "version",
"handleStart", "handleEnd"]
data_imprint = {}
for k in add_keys:
if k is 'version':
if k == 'version':
data_imprint.update({k: context["version"]['name']})
else:
data_imprint.update(
@ -179,7 +193,7 @@ class LoadSequence(api.Loader):
rtn["after"].setValue("continue")
rtn["input.first_lock"].setValue(True)
rtn["input.first"].setValue(
self.handle_start + self.first_frame
self.handle_start + self.first_frame
)
if time_warp_nodes != []: