From 10b953f8bf0a16c2f49f5d89d3f0df6030ea85c9 Mon Sep 17 00:00:00 2001 From: Jakub Jezek Date: Tue, 16 May 2023 11:34:54 +0200 Subject: [PATCH] fusion: converting frame range source to enum --- .../fusion/plugins/create/create_saver.py | 19 +++++++++++++------ .../plugins/publish/collect_instances.py | 5 +++-- 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/openpype/hosts/fusion/plugins/create/create_saver.py b/openpype/hosts/fusion/plugins/create/create_saver.py index 67b1465ec7..80f60a0c6e 100644 --- a/openpype/hosts/fusion/plugins/create/create_saver.py +++ b/openpype/hosts/fusion/plugins/create/create_saver.py @@ -199,11 +199,7 @@ class CreateSaver(NewCreator): attr_defs = [ self._get_render_target_enum(), self._get_reviewable_bool(), - BoolDef( - "viewer_render_range", - label="Viewer render in/out", - default=False, - ) + self._get_frame_range_enum() ] return attr_defs @@ -222,7 +218,6 @@ class CreateSaver(NewCreator): # These functions below should be moved to another file # so it can be used by other plugins. plugin.py ? - def _get_render_target_enum(self): rendering_targets = { "local": "Local machine rendering", @@ -235,6 +230,18 @@ class CreateSaver(NewCreator): "render_target", items=rendering_targets, label="Render target" ) + def _get_frame_range_enum(self): + frame_range_options = { + "asset_db": "From asset database", + "viewer_render_range": "From viewer render in/out" + } + + return EnumDef( + "frame_range_source", + items=frame_range_options, + label="Frame range source" + ) + def _get_reviewable_bool(self): return BoolDef( "review", diff --git a/openpype/hosts/fusion/plugins/publish/collect_instances.py b/openpype/hosts/fusion/plugins/publish/collect_instances.py index 6887f4f4e9..61ce10d32f 100644 --- a/openpype/hosts/fusion/plugins/publish/collect_instances.py +++ b/openpype/hosts/fusion/plugins/publish/collect_instances.py @@ -20,6 +20,7 @@ class CollectInstanceData(pyblish.api.InstancePlugin): # Include creator attributes directly as instance data creator_attributes = instance.data["creator_attributes"] + frame_range_source = creator_attributes.get("frame_range_source") instance.data.update(creator_attributes) # get asset frame ranges @@ -30,8 +31,8 @@ class CollectInstanceData(pyblish.api.InstancePlugin): start_handle = start - handle_start end_handle = end + handle_end - if creator_attributes.get("viewer_render_range"): - # get comp frame ranges + if frame_range_source == "viewer_render_range": + # set comp render frame ranges start = context.data["renderFrameStart"] end = context.data["renderFrameEnd"] handle_start = 0