mirror of
https://github.com/ynput/ayon-core.git
synced 2026-01-01 08:24:53 +01:00
clean up code for review families
This commit is contained in:
parent
5874b85146
commit
151881e1b3
5 changed files with 37 additions and 69 deletions
|
|
@ -35,8 +35,8 @@ class CollectReview(pyblish.api.InstancePlugin,
|
|||
"frameStart": instance.context.data["frameStart"],
|
||||
"frameEnd": instance.context.data["frameEnd"],
|
||||
"fps": instance.context.data["fps"],
|
||||
"resolution": (creator_attrs["review_width"],
|
||||
creator_attrs["review_height"])
|
||||
"review_width": creator_attrs["review_width"],
|
||||
"review_height": creator_attrs["review_height"],
|
||||
}
|
||||
|
||||
if int(get_max_version()) >= 2024:
|
||||
|
|
@ -67,9 +67,6 @@ class CollectReview(pyblish.api.InstancePlugin,
|
|||
"dspFrameNums": attr_values.get("dspFrameNums")
|
||||
}
|
||||
else:
|
||||
preview_data = {}
|
||||
preview_data.update({
|
||||
"percentSize": creator_attrs["percentSize"]})
|
||||
general_viewport = {
|
||||
"dspBkg": attr_values.get("dspBkg"),
|
||||
"dspGrid": attr_values.get("dspGrid")
|
||||
|
|
@ -79,10 +76,11 @@ class CollectReview(pyblish.api.InstancePlugin,
|
|||
"ViewportPreset": creator_attrs["viewportPreset"],
|
||||
"UseTextureEnabled": creator_attrs["vpTexture"]
|
||||
}
|
||||
preview_data["general_viewport"] = general_viewport
|
||||
preview_data["nitrous_viewport"] = nitrous_viewport
|
||||
preview_data["vp_btn_mgr"] = {
|
||||
"EnableButtons": False
|
||||
preview_data = {
|
||||
"percentSize": creator_attrs["percentSize"],
|
||||
"general_viewport": general_viewport,
|
||||
"nitrous_viewport": nitrous_viewport,
|
||||
"vp_btn_mgr": {"EnableButtons": False}
|
||||
}
|
||||
|
||||
# Enable ftrack functionality
|
||||
|
|
|
|||
|
|
@ -19,27 +19,22 @@ class ExtractReviewAnimation(publish.Extractor):
|
|||
def process(self, instance):
|
||||
staging_dir = self.staging_dir(instance)
|
||||
ext = instance.data.get("imageFormat")
|
||||
filename = "{0}..{1}".format(instance.name, ext)
|
||||
start = int(instance.data["frameStart"])
|
||||
end = int(instance.data["frameEnd"])
|
||||
filepath = os.path.join(staging_dir, filename)
|
||||
filepath = filepath.replace("\\", "/")
|
||||
|
||||
filepath = os.path.join(staging_dir, instance.name)
|
||||
self.log.debug(
|
||||
"Writing Review Animation to"
|
||||
" '%s' to '%s'" % (filename, staging_dir))
|
||||
"Writing Review Animation to '{}'".format(filepath))
|
||||
|
||||
review_camera = instance.data["review_camera"]
|
||||
viewport_options = instance.data.get("viewport_options", {})
|
||||
resolution = instance.data.get("resolution", ())
|
||||
files = render_preview_animation(
|
||||
os.path.join(staging_dir, instance.name),
|
||||
filepath,
|
||||
ext,
|
||||
review_camera,
|
||||
start,
|
||||
end,
|
||||
width=resolution[0],
|
||||
height=resolution[1],
|
||||
width=instance.data["review_width"],
|
||||
height=instance.data["review_height"],
|
||||
viewport_options=viewport_options)
|
||||
|
||||
filenames = [os.path.basename(path) for path in files]
|
||||
|
|
|
|||
|
|
@ -1,20 +1,12 @@
|
|||
import os
|
||||
import tempfile
|
||||
import pyblish.api
|
||||
from pymxs import runtime as rt
|
||||
from openpype.pipeline import publish
|
||||
from openpype.hosts.max.api.lib import (
|
||||
viewport_setup_updated,
|
||||
viewport_setup,
|
||||
get_max_version,
|
||||
set_preview_arg
|
||||
)
|
||||
|
||||
from openpype.hosts.max.api.preview_animation import render_preview_animation
|
||||
|
||||
|
||||
class ExtractThumbnail(publish.Extractor):
|
||||
"""
|
||||
Extract Thumbnail for Review
|
||||
"""Extract Thumbnail for Review
|
||||
"""
|
||||
|
||||
order = pyblish.api.ExtractorOrder
|
||||
|
|
@ -29,36 +21,26 @@ class ExtractThumbnail(publish.Extractor):
|
|||
self.log.debug(
|
||||
f"Create temp directory {tmp_staging} for thumbnail"
|
||||
)
|
||||
fps = float(instance.data["fps"])
|
||||
ext = instance.data.get("imageFormat")
|
||||
frame = int(instance.data["frameStart"])
|
||||
instance.context.data["cleanupFullPaths"].append(tmp_staging)
|
||||
filename = "{name}_thumbnail..png".format(**instance.data)
|
||||
filepath = os.path.join(tmp_staging, filename)
|
||||
filepath = filepath.replace("\\", "/")
|
||||
thumbnail = self.get_filename(instance.name, frame)
|
||||
filepath = os.path.join(tmp_staging, instance.name)
|
||||
|
||||
self.log.debug("Writing Thumbnail to '{}'".format(filepath))
|
||||
|
||||
self.log.debug(
|
||||
"Writing Thumbnail to"
|
||||
" '%s' to '%s'" % (filename, tmp_staging))
|
||||
review_camera = instance.data["review_camera"]
|
||||
if int(get_max_version()) >= 2024:
|
||||
with viewport_setup_updated(review_camera):
|
||||
preview_arg = set_preview_arg(
|
||||
instance, filepath, frame, frame, fps)
|
||||
rt.execute(preview_arg)
|
||||
else:
|
||||
visual_style_preset = instance.data.get("visualStyleMode")
|
||||
nitrousGraphicMgr = rt.NitrousGraphicsManager
|
||||
viewport_setting = nitrousGraphicMgr.GetActiveViewportSetting()
|
||||
with viewport_setup(
|
||||
viewport_setting,
|
||||
visual_style_preset,
|
||||
review_camera):
|
||||
viewport_setting.VisualStyleMode = rt.Name(
|
||||
visual_style_preset)
|
||||
preview_arg = set_preview_arg(
|
||||
instance, filepath, frame, frame, fps)
|
||||
rt.execute(preview_arg)
|
||||
viewport_options = instance.data.get("viewport_options", {})
|
||||
files = render_preview_animation(
|
||||
filepath,
|
||||
ext,
|
||||
review_camera,
|
||||
frame,
|
||||
frame,
|
||||
width=instance.data["review_width"],
|
||||
height=instance.data["review_height"],
|
||||
viewport_options=viewport_options)
|
||||
|
||||
thumbnail = next(os.path.basename(path) for path in files)
|
||||
|
||||
representation = {
|
||||
"name": "thumbnail",
|
||||
|
|
@ -73,9 +55,3 @@ class ExtractThumbnail(publish.Extractor):
|
|||
if "representations" not in instance.data:
|
||||
instance.data["representations"] = []
|
||||
instance.data["representations"].append(representation)
|
||||
|
||||
def get_filename(self, filename, target_frame):
|
||||
thumbnail_name = "{}_thumbnail.{:04}.png".format(
|
||||
filename, target_frame
|
||||
)
|
||||
return thumbnail_name
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ class ValidateResolutionSetting(pyblish.api.InstancePlugin,
|
|||
"""Validate the resolution setting aligned with DB"""
|
||||
|
||||
order = pyblish.api.ValidatorOrder - 0.01
|
||||
families = ["maxrender", "review"]
|
||||
families = ["maxrender"]
|
||||
hosts = ["max"]
|
||||
label = "Validate Resolution Setting"
|
||||
optional = True
|
||||
|
|
@ -21,7 +21,7 @@ class ValidateResolutionSetting(pyblish.api.InstancePlugin,
|
|||
if not self.is_active(instance.data):
|
||||
return
|
||||
width, height = self.get_db_resolution(instance)
|
||||
current_width = rt.renderwidth
|
||||
current_width = rt.renderWidth
|
||||
current_height = rt.renderHeight
|
||||
if current_width != width and current_height != height:
|
||||
raise PublishValidationError("Resolution Setting "
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue