Merge pull request #1201 from pypeclub/3.0/feature/1100-nuke-read-container-simplify-labeling

Nuke: adding preset for a Read node name to all img and mov Loaders
This commit is contained in:
Milan Kolar 2021-03-31 09:26:58 +02:00 committed by GitHub
commit b1492cfd4f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 98 additions and 38 deletions

View file

@ -12,11 +12,7 @@ from pype.hosts.nuke.api.lib import (
class LoadImage(api.Loader):
"""Load still image into Nuke"""
families = [
"render2d", "source", "plate",
"render", "prerender", "review",
"image"
]
families = ["render", "source", "plate", "review", "image"]
representations = ["exr", "dpx", "jpg", "jpeg", "png", "psd"]
label = "Load Image"
@ -24,6 +20,8 @@ class LoadImage(api.Loader):
icon = "image"
color = "white"
node_name_template = "{class_name}_{ext}"
options = [
qargparse.Integer(
"frame_number",
@ -75,10 +73,16 @@ class LoadImage(api.Loader):
frame,
format(frame_number, "0{}".format(padding)))
read_name = "Read_{0}_{1}_{2}".format(
repr_cont["asset"],
repr_cont["subset"],
repr_cont["representation"])
name_data = {
"asset": repr_cont["asset"],
"subset": repr_cont["subset"],
"representation": context["representation"]["name"],
"ext": repr_cont["representation"],
"id": context["representation"]["_id"],
"class_name": self.__class__.__name__
}
read_name = self.node_name_template.format(**name_data)
# Create the Loader with the filename path set
with viewer_update_and_undo_stop():

View file

@ -69,19 +69,8 @@ def add_review_presets_config():
class LoadMov(api.Loader):
"""Load mov file into Nuke"""
presets = add_review_presets_config()
families = [
"source",
"plate",
"render",
"prerender",
"review"] + presets["families"]
representations = [
"mov",
"preview",
"review",
"mp4"] + presets["representations"]
families = ["render", "source", "plate", "review"]
representations = ["mov", "review", "mp4"]
label = "Load mov"
order = -10
@ -90,6 +79,8 @@ class LoadMov(api.Loader):
script_start = nuke.root()["first_frame"].value()
node_name_template = "{class_name}_{ext}"
def load(self, context, name, namespace, data):
from avalon.nuke import (
containerise,
@ -133,10 +124,16 @@ class LoadMov(api.Loader):
file = file.replace("\\", "/")
read_name = "Read_{0}_{1}_{2}".format(
repr_cont["asset"],
repr_cont["subset"],
repr_cont["representation"])
name_data = {
"asset": repr_cont["asset"],
"subset": repr_cont["subset"],
"representation": context["representation"]["name"],
"ext": repr_cont["representation"],
"id": context["representation"]["_id"],
"class_name": self.__class__.__name__
}
read_name = self.node_name_template.format(**name_data)
# Create the Loader with the filename path set
with viewer_update_and_undo_stop():

View file

@ -72,14 +72,16 @@ def loader_shift(node, frame, relative=False):
class LoadSequence(api.Loader):
"""Load image sequence into Nuke"""
families = ["render2d", "source", "plate", "render", "prerender", "review"]
representations = ["exr", "dpx", "jpg", "jpeg", "png"]
families = ["render", "source", "plate", "review"]
representations = ["exr", "dpx"]
label = "Load Image Sequence"
order = -20
icon = "file-video-o"
color = "white"
node_name_template = "{class_name}_{ext}"
def load(self, context, name, namespace, data):
from avalon.nuke import (
containerise,
@ -125,10 +127,16 @@ class LoadSequence(api.Loader):
padding = len(frame)
file = file.replace(frame, "#" * padding)
read_name = "Read_{0}_{1}_{2}".format(
repr_cont["asset"],
repr_cont["subset"],
context["representation"]["name"])
name_data = {
"asset": repr_cont["asset"],
"subset": repr_cont["subset"],
"representation": context["representation"]["name"],
"ext": repr_cont["representation"],
"id": context["representation"]["_id"],
"class_name": self.__class__.__name__
}
read_name = self.node_name_template.format(**name_data)
# Create the Loader with the filename path set
with viewer_update_and_undo_stop():

View file

@ -95,20 +95,60 @@
"load": {
"LoadImage": {
"enabled": true,
"representations": []
"families": [
"render2d",
"source",
"plate",
"render",
"prerender",
"review",
"image"
],
"representations": [
"exr",
"dpx",
"jpg",
"jpeg",
"png",
"psd"
],
"node_name_template": "{class_name}_{ext}"
},
"LoadMov": {
"enabled": true,
"representations": []
"families": [
"source",
"plate",
"render",
"prerender",
"review"
],
"representations": [
"mov",
"review",
"mp4",
"h264"
],
"node_name_template": "{class_name}_{ext}"
},
"LoadSequence": {
"enabled": true,
"families": [
"render2d",
"source",
"plate",
"render",
"prerender",
"review"
],
"representations": [
"png",
"jpg",
"exr",
""
]
"dpx",
"jpg",
"jpeg",
"png"
],
"node_name_template": "{class_name}_{ext}"
}
},
"workfile_build": {

View file

@ -11,11 +11,22 @@
"key": "enabled",
"label": "Enabled"
},
{
"type": "list",
"key": "families",
"label": "Families",
"object_type": "text"
},
{
"type": "list",
"key": "representations",
"label": "Representations",
"object_type": "text"
},
{
"type": "text",
"key": "node_name_template",
"label": "Node name template"
}
]
}