From d4df16bb87aac5b667bed8b5ecdd9f6afd52f20b Mon Sep 17 00:00:00 2001 From: Allan Ihsan Date: Fri, 17 Jun 2022 08:08:05 +0300 Subject: [PATCH 01/22] Test resolution values against settings --- .../maya/plugins/publish/extract_playblast.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/openpype/hosts/maya/plugins/publish/extract_playblast.py b/openpype/hosts/maya/plugins/publish/extract_playblast.py index bb1ecf279d..ce1bb8ae83 100644 --- a/openpype/hosts/maya/plugins/publish/extract_playblast.py +++ b/openpype/hosts/maya/plugins/publish/extract_playblast.py @@ -51,7 +51,21 @@ class ExtractPlayblast(openpype.api.Extractor): ) preset = lib.load_capture_preset(data=self.capture_preset) + capture_presets = openpype.api.get_current_project_settings()["maya"]["publish"]["ExtractPlayblast"]["capture_preset"] # noqa + width_preset = capture_presets["Resolution"]["width"] + height_preset = capture_presets["Resolution"]["height"] preset['camera'] = camera + + if width_preset == 0: + preset['width'] = instance.data.get("resolutionWidth") + else: + preset["width"] = width_preset + + if height_preset == 0: + preset['width'] = instance.data.get("resolutionHeight") + else: + preset['height'] = height_preset + preset['start_frame'] = start preset['end_frame'] = end camera_option = preset.get("camera_option", {}) From 0dfe3b69745fc9d9fb94143aa0cc3039640ab669 Mon Sep 17 00:00:00 2001 From: "Allan I. A" <76656700+Allan-I@users.noreply.github.com> Date: Fri, 17 Jun 2022 15:04:46 +0300 Subject: [PATCH 02/22] Update openpype/hosts/maya/plugins/publish/extract_playblast.py Simplify settings capture statement. Co-authored-by: Jakub Trllo <43494761+iLLiCiTiT@users.noreply.github.com> --- openpype/hosts/maya/plugins/publish/extract_playblast.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openpype/hosts/maya/plugins/publish/extract_playblast.py b/openpype/hosts/maya/plugins/publish/extract_playblast.py index ce1bb8ae83..9e1970780b 100644 --- a/openpype/hosts/maya/plugins/publish/extract_playblast.py +++ b/openpype/hosts/maya/plugins/publish/extract_playblast.py @@ -51,7 +51,7 @@ class ExtractPlayblast(openpype.api.Extractor): ) preset = lib.load_capture_preset(data=self.capture_preset) - capture_presets = openpype.api.get_current_project_settings()["maya"]["publish"]["ExtractPlayblast"]["capture_preset"] # noqa + capture_presets = self.capture_preset width_preset = capture_presets["Resolution"]["width"] height_preset = capture_presets["Resolution"]["height"] preset['camera'] = camera From d1b0c37c93c5a8c8dfd105d6cae8bc61e074be15 Mon Sep 17 00:00:00 2001 From: Allan Ihsan Date: Fri, 17 Jun 2022 18:48:08 +0300 Subject: [PATCH 03/22] Add resolution overrides to creator. --- openpype/hosts/maya/plugins/create/create_review.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/openpype/hosts/maya/plugins/create/create_review.py b/openpype/hosts/maya/plugins/create/create_review.py index fbf3399f61..331f0818eb 100644 --- a/openpype/hosts/maya/plugins/create/create_review.py +++ b/openpype/hosts/maya/plugins/create/create_review.py @@ -15,6 +15,8 @@ class CreateReview(plugin.Creator): keepImages = False isolate = False imagePlane = True + resolutionWidth = 0 + resolutionHeight = 0 transparency = [ "preset", "simple", @@ -33,6 +35,8 @@ class CreateReview(plugin.Creator): for key, value in animation_data.items(): data[key] = value + data["resolutionWidth"] = self.resolutionWidth + data["resolutionHeight"] = self.resolutionHeight data["isolate"] = self.isolate data["keepImages"] = self.keepImages data["imagePlane"] = self.imagePlane From eb3afe63c53df0969b2717a353f8320c9d69aa0a Mon Sep 17 00:00:00 2001 From: Allan Ihsan Date: Fri, 17 Jun 2022 18:48:23 +0300 Subject: [PATCH 04/22] Add resolution overrides to collector. --- openpype/hosts/maya/plugins/publish/collect_review.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/openpype/hosts/maya/plugins/publish/collect_review.py b/openpype/hosts/maya/plugins/publish/collect_review.py index e9e0d74c03..ded549a849 100644 --- a/openpype/hosts/maya/plugins/publish/collect_review.py +++ b/openpype/hosts/maya/plugins/publish/collect_review.py @@ -70,6 +70,8 @@ class CollectReview(pyblish.api.InstancePlugin): data['handles'] = instance.data.get('handles', None) data['step'] = instance.data['step'] data['fps'] = instance.data['fps'] + data['resolutionWidth'] = instance.data['resolutionWidth'] + data['resolutionHeight'] = instance.data['resolutionHeight'] data["isolate"] = instance.data["isolate"] cmds.setAttr(str(instance) + '.active', 1) self.log.debug('data {}'.format(instance.context[i].data)) From 491e356bc654352f11feb4609f97071e4a651645 Mon Sep 17 00:00:00 2001 From: Allan Ihsan Date: Fri, 17 Jun 2022 18:48:39 +0300 Subject: [PATCH 05/22] Correct resolution overrides in extractor --- openpype/hosts/maya/plugins/publish/extract_playblast.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/openpype/hosts/maya/plugins/publish/extract_playblast.py b/openpype/hosts/maya/plugins/publish/extract_playblast.py index 9e1970780b..9e6363502e 100644 --- a/openpype/hosts/maya/plugins/publish/extract_playblast.py +++ b/openpype/hosts/maya/plugins/publish/extract_playblast.py @@ -54,15 +54,17 @@ class ExtractPlayblast(openpype.api.Extractor): capture_presets = self.capture_preset width_preset = capture_presets["Resolution"]["width"] height_preset = capture_presets["Resolution"]["height"] + instance_width = instance.data.get("resolutionWidth") + instance_height = instance.data.get("resolutionHeight") preset['camera'] = camera - if width_preset == 0: + if instance_width != 0: preset['width'] = instance.data.get("resolutionWidth") else: preset["width"] = width_preset - if height_preset == 0: - preset['width'] = instance.data.get("resolutionHeight") + if instance_height != 0: + preset['height'] = instance.data.get("resolutionHeight") else: preset['height'] = height_preset From 594707f8340ea3b9cbc9ac4df6193a1e3dc95a76 Mon Sep 17 00:00:00 2001 From: Allan Ihsan Date: Sat, 18 Jun 2022 00:34:25 +0300 Subject: [PATCH 06/22] Add comments --- openpype/hosts/maya/plugins/publish/extract_playblast.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/openpype/hosts/maya/plugins/publish/extract_playblast.py b/openpype/hosts/maya/plugins/publish/extract_playblast.py index 9e6363502e..32cbeed81b 100644 --- a/openpype/hosts/maya/plugins/publish/extract_playblast.py +++ b/openpype/hosts/maya/plugins/publish/extract_playblast.py @@ -50,14 +50,20 @@ class ExtractPlayblast(openpype.api.Extractor): ['override_viewport_options'] ) preset = lib.load_capture_preset(data=self.capture_preset) - + # Grab capture presets from the project settings capture_presets = self.capture_preset + # Set resolution variables from capture presets width_preset = capture_presets["Resolution"]["width"] height_preset = capture_presets["Resolution"]["height"] + # Set resolution variables from instance values instance_width = instance.data.get("resolutionWidth") instance_height = instance.data.get("resolutionHeight") preset['camera'] = camera + # Tests if instance resolution width is set, + # if it is a value other than zero, that value is + # used, if not then the project settings resolution is + # used if instance_width != 0: preset['width'] = instance.data.get("resolutionWidth") else: From 0c1688eaa5d64de6935b8fbcbe43ea8074d5b443 Mon Sep 17 00:00:00 2001 From: Allan Ihsan Date: Fri, 24 Jun 2022 11:06:57 +0300 Subject: [PATCH 07/22] Fix comparison statements. --- .../maya/plugins/publish/extract_playblast.py | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/openpype/hosts/maya/plugins/publish/extract_playblast.py b/openpype/hosts/maya/plugins/publish/extract_playblast.py index 32cbeed81b..4ba8bd5976 100644 --- a/openpype/hosts/maya/plugins/publish/extract_playblast.py +++ b/openpype/hosts/maya/plugins/publish/extract_playblast.py @@ -56,23 +56,23 @@ class ExtractPlayblast(openpype.api.Extractor): width_preset = capture_presets["Resolution"]["width"] height_preset = capture_presets["Resolution"]["height"] # Set resolution variables from instance values - instance_width = instance.data.get("resolutionWidth") - instance_height = instance.data.get("resolutionHeight") + instance_width = instance.context.data.get("resolutionWidth") + instance_height = instance.context.data.get("resolutionHeight") preset['camera'] = camera # Tests if instance resolution width is set, # if it is a value other than zero, that value is # used, if not then the project settings resolution is # used - if instance_width != 0: - preset['width'] = instance.data.get("resolutionWidth") - else: + if width_preset != 0: preset["width"] = width_preset - - if instance_height != 0: - preset['height'] = instance.data.get("resolutionHeight") else: + preset['width'] = instance_width + + if height_preset != 0: preset['height'] = height_preset + else: + preset['height'] = instance_height preset['start_frame'] = start preset['end_frame'] = end From c6d473f6b0354ebc7beffd0641eef3d8ea6a79b1 Mon Sep 17 00:00:00 2001 From: Allan Ihsan Date: Fri, 24 Jun 2022 11:08:11 +0300 Subject: [PATCH 08/22] Fix comments. --- openpype/hosts/maya/plugins/publish/extract_playblast.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/openpype/hosts/maya/plugins/publish/extract_playblast.py b/openpype/hosts/maya/plugins/publish/extract_playblast.py index 4ba8bd5976..8378b5c22a 100644 --- a/openpype/hosts/maya/plugins/publish/extract_playblast.py +++ b/openpype/hosts/maya/plugins/publish/extract_playblast.py @@ -55,14 +55,14 @@ class ExtractPlayblast(openpype.api.Extractor): # Set resolution variables from capture presets width_preset = capture_presets["Resolution"]["width"] height_preset = capture_presets["Resolution"]["height"] - # Set resolution variables from instance values + # Set resolution variables from asset values instance_width = instance.context.data.get("resolutionWidth") instance_height = instance.context.data.get("resolutionHeight") preset['camera'] = camera - # Tests if instance resolution width is set, + # Tests if project resolution is set, # if it is a value other than zero, that value is - # used, if not then the project settings resolution is + # used, if not then the asset resolution is # used if width_preset != 0: preset["width"] = width_preset From 3968e1607e4c08e31c16d731c8e3d7fdafcd01d6 Mon Sep 17 00:00:00 2001 From: Allan Ihsan Date: Fri, 24 Jun 2022 14:10:29 +0300 Subject: [PATCH 09/22] Change logic into correct setting. --- openpype/hosts/maya/plugins/publish/extract_playblast.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/openpype/hosts/maya/plugins/publish/extract_playblast.py b/openpype/hosts/maya/plugins/publish/extract_playblast.py index 8378b5c22a..ff15546033 100644 --- a/openpype/hosts/maya/plugins/publish/extract_playblast.py +++ b/openpype/hosts/maya/plugins/publish/extract_playblast.py @@ -65,14 +65,14 @@ class ExtractPlayblast(openpype.api.Extractor): # used, if not then the asset resolution is # used if width_preset != 0: - preset["width"] = width_preset + preset["width"] = instance_width else: - preset['width'] = instance_width + preset['width'] = width_preset if height_preset != 0: - preset['height'] = height_preset - else: preset['height'] = instance_height + else: + preset['height'] = height_preset preset['start_frame'] = start preset['end_frame'] = end From 9778d2747b8a09754778d50cf1d1af6af643dd14 Mon Sep 17 00:00:00 2001 From: Allan Ihsan Date: Fri, 24 Jun 2022 14:30:32 +0300 Subject: [PATCH 10/22] Revert "Change logic into correct setting." This reverts commit 3968e1607e4c08e31c16d731c8e3d7fdafcd01d6. --- openpype/hosts/maya/plugins/publish/extract_playblast.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/openpype/hosts/maya/plugins/publish/extract_playblast.py b/openpype/hosts/maya/plugins/publish/extract_playblast.py index ff15546033..8378b5c22a 100644 --- a/openpype/hosts/maya/plugins/publish/extract_playblast.py +++ b/openpype/hosts/maya/plugins/publish/extract_playblast.py @@ -65,14 +65,14 @@ class ExtractPlayblast(openpype.api.Extractor): # used, if not then the asset resolution is # used if width_preset != 0: - preset["width"] = instance_width + preset["width"] = width_preset else: - preset['width'] = width_preset + preset['width'] = instance_width if height_preset != 0: - preset['height'] = instance_height - else: preset['height'] = height_preset + else: + preset['height'] = instance_height preset['start_frame'] = start preset['end_frame'] = end From 46bfbd28506be577532cb68f319a3051e63957ee Mon Sep 17 00:00:00 2001 From: Allan Ihsan Date: Mon, 27 Jun 2022 06:13:35 +0300 Subject: [PATCH 11/22] Make appropriate feature fixes. --- .../maya/plugins/create/create_review.py | 8 +++--- .../maya/plugins/publish/collect_review.py | 4 +-- .../maya/plugins/publish/extract_playblast.py | 26 ++++++++++++------- 3 files changed, 23 insertions(+), 15 deletions(-) diff --git a/openpype/hosts/maya/plugins/create/create_review.py b/openpype/hosts/maya/plugins/create/create_review.py index 331f0818eb..83b7f34d82 100644 --- a/openpype/hosts/maya/plugins/create/create_review.py +++ b/openpype/hosts/maya/plugins/create/create_review.py @@ -15,8 +15,8 @@ class CreateReview(plugin.Creator): keepImages = False isolate = False imagePlane = True - resolutionWidth = 0 - resolutionHeight = 0 + attrWidth = 0 + attrHeight = 0 transparency = [ "preset", "simple", @@ -35,8 +35,8 @@ class CreateReview(plugin.Creator): for key, value in animation_data.items(): data[key] = value - data["resolutionWidth"] = self.resolutionWidth - data["resolutionHeight"] = self.resolutionHeight + data["attrWidth"] = self.attrWidth + data["attrHeight"] = self.attrHeight data["isolate"] = self.isolate data["keepImages"] = self.keepImages data["imagePlane"] = self.imagePlane diff --git a/openpype/hosts/maya/plugins/publish/collect_review.py b/openpype/hosts/maya/plugins/publish/collect_review.py index 0769747205..83c4760535 100644 --- a/openpype/hosts/maya/plugins/publish/collect_review.py +++ b/openpype/hosts/maya/plugins/publish/collect_review.py @@ -71,8 +71,8 @@ class CollectReview(pyblish.api.InstancePlugin): data['handles'] = instance.data.get('handles', None) data['step'] = instance.data['step'] data['fps'] = instance.data['fps'] - data['resolutionWidth'] = instance.data['resolutionWidth'] - data['resolutionHeight'] = instance.data['resolutionHeight'] + data['attrWidth'] = instance.data['attrWidth'] + data['attrHeight'] = instance.data['attrHeight'] data["isolate"] = instance.data["isolate"] cmds.setAttr(str(instance) + '.active', 1) self.log.debug('data {}'.format(instance.context[i].data)) diff --git a/openpype/hosts/maya/plugins/publish/extract_playblast.py b/openpype/hosts/maya/plugins/publish/extract_playblast.py index 7cd829dafb..6f7dd5e16a 100644 --- a/openpype/hosts/maya/plugins/publish/extract_playblast.py +++ b/openpype/hosts/maya/plugins/publish/extract_playblast.py @@ -1,6 +1,7 @@ import os import glob import contextlib + import clique import capture @@ -56,23 +57,30 @@ class ExtractPlayblast(openpype.api.Extractor): width_preset = capture_presets["Resolution"]["width"] height_preset = capture_presets["Resolution"]["height"] # Set resolution variables from asset values - instance_width = instance.context.data.get("resolutionWidth") - instance_height = instance.context.data.get("resolutionHeight") + asset_width = instance.data.get("resolutionWidth") + asset_height = instance.data.get("resolutionHeight") + review_instance_width = instance.data.get("attrWidth") + review_instance_height = instance.data.get("attrHeight") preset['camera'] = camera # Tests if project resolution is set, # if it is a value other than zero, that value is # used, if not then the asset resolution is # used - if width_preset != 0: - preset["width"] = width_preset - else: - preset['width'] = instance_width - if height_preset != 0: + if review_instance_width != 0: + preset['width'] = review_instance_width + elif width_preset == 0: + preset['width'] = asset_width + elif width_preset != 0: + preset['width'] = width_preset + + if review_instance_height != 0: + preset['height'] = review_instance_height + elif height_preset == 0: + preset['height'] = asset_height + elif height_preset != 0: preset['height'] = height_preset - else: - preset['height'] = instance_height preset['start_frame'] = start preset['end_frame'] = end From 409bf1b6e51c9ea6ab1fe6be1aca58dda8aa0bb4 Mon Sep 17 00:00:00 2001 From: Allan Ihsan Date: Tue, 28 Jun 2022 05:24:42 +0300 Subject: [PATCH 12/22] Rename `attr` into `instance` refactor. --- openpype/hosts/maya/plugins/create/create_review.py | 4 ++-- openpype/hosts/maya/plugins/publish/collect_review.py | 4 ++-- openpype/hosts/maya/plugins/publish/extract_playblast.py | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/openpype/hosts/maya/plugins/create/create_review.py b/openpype/hosts/maya/plugins/create/create_review.py index 83b7f34d82..44dc8a3158 100644 --- a/openpype/hosts/maya/plugins/create/create_review.py +++ b/openpype/hosts/maya/plugins/create/create_review.py @@ -35,8 +35,8 @@ class CreateReview(plugin.Creator): for key, value in animation_data.items(): data[key] = value - data["attrWidth"] = self.attrWidth - data["attrHeight"] = self.attrHeight + data["instanceHeight"] = self.attrWidth + data["instanceWidth"] = self.attrHeight data["isolate"] = self.isolate data["keepImages"] = self.keepImages data["imagePlane"] = self.imagePlane diff --git a/openpype/hosts/maya/plugins/publish/collect_review.py b/openpype/hosts/maya/plugins/publish/collect_review.py index 83c4760535..fec1fbfa11 100644 --- a/openpype/hosts/maya/plugins/publish/collect_review.py +++ b/openpype/hosts/maya/plugins/publish/collect_review.py @@ -71,8 +71,8 @@ class CollectReview(pyblish.api.InstancePlugin): data['handles'] = instance.data.get('handles', None) data['step'] = instance.data['step'] data['fps'] = instance.data['fps'] - data['attrWidth'] = instance.data['attrWidth'] - data['attrHeight'] = instance.data['attrHeight'] + data['instanceHeight'] = instance.data['instanceHeight'] + data['instanceHeight'] = instance.data['instanceHeight'] data["isolate"] = instance.data["isolate"] cmds.setAttr(str(instance) + '.active', 1) self.log.debug('data {}'.format(instance.context[i].data)) diff --git a/openpype/hosts/maya/plugins/publish/extract_playblast.py b/openpype/hosts/maya/plugins/publish/extract_playblast.py index 6f7dd5e16a..7f9875f564 100644 --- a/openpype/hosts/maya/plugins/publish/extract_playblast.py +++ b/openpype/hosts/maya/plugins/publish/extract_playblast.py @@ -59,8 +59,8 @@ class ExtractPlayblast(openpype.api.Extractor): # Set resolution variables from asset values asset_width = instance.data.get("resolutionWidth") asset_height = instance.data.get("resolutionHeight") - review_instance_width = instance.data.get("attrWidth") - review_instance_height = instance.data.get("attrHeight") + review_instance_width = instance.data.get("instanceWidth") + review_instance_height = instance.data.get("instanceHeight") preset['camera'] = camera # Tests if project resolution is set, From aca0c2a52b652f013922d71d27b55314c361ebe6 Mon Sep 17 00:00:00 2001 From: Allan Ihsan Date: Tue, 28 Jun 2022 05:25:54 +0300 Subject: [PATCH 13/22] Fix thumbnail extractor to match playblast resolution. --- .../maya/plugins/publish/extract_thumbnail.py | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/openpype/hosts/maya/plugins/publish/extract_thumbnail.py b/openpype/hosts/maya/plugins/publish/extract_thumbnail.py index c2cefc56f1..119ad10496 100644 --- a/openpype/hosts/maya/plugins/publish/extract_thumbnail.py +++ b/openpype/hosts/maya/plugins/publish/extract_thumbnail.py @@ -60,7 +60,32 @@ class ExtractThumbnail(openpype.api.Extractor): "overscan": 1.0, "depthOfField": cmds.getAttr("{0}.depthOfField".format(camera)), } + capture_presets = capture_preset + # Set resolution variables from capture presets + width_preset = capture_presets["Resolution"]["width"] + height_preset = capture_presets["Resolution"]["height"] + # Set resolution variables from asset values + asset_width = instance.data.get("resolutionWidth") + asset_height = instance.data.get("resolutionHeight") + review_instance_width = instance.data.get("instanceWidth") + review_instance_height = instance.data.get("instanceHeight") + # Tests if project resolution is set, + # if it is a value other than zero, that value is + # used, if not then the asset resolution is + # used + if review_instance_width != 0: + preset['width'] = review_instance_width + elif width_preset == 0: + preset['width'] = asset_width + elif width_preset != 0: + preset['width'] = width_preset + if review_instance_height != 0: + preset['height'] = review_instance_height + elif height_preset == 0: + preset['height'] = asset_height + elif height_preset != 0: + preset['height'] = height_preset stagingDir = self.staging_dir(instance) filename = "{0}".format(instance.name) path = os.path.join(stagingDir, filename) From e9edb1cb68bc65c161a5dfa1e4b4eeda322a0b23 Mon Sep 17 00:00:00 2001 From: "Allan I. A" <76656700+Allan-I@users.noreply.github.com> Date: Tue, 28 Jun 2022 18:20:57 +0300 Subject: [PATCH 14/22] Adjust dimensions to grab correct values from asset. Co-authored-by: Jakub Trllo <43494761+iLLiCiTiT@users.noreply.github.com> --- openpype/hosts/maya/plugins/publish/extract_playblast.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/openpype/hosts/maya/plugins/publish/extract_playblast.py b/openpype/hosts/maya/plugins/publish/extract_playblast.py index 7f9875f564..8d1c62d64c 100644 --- a/openpype/hosts/maya/plugins/publish/extract_playblast.py +++ b/openpype/hosts/maya/plugins/publish/extract_playblast.py @@ -57,8 +57,9 @@ class ExtractPlayblast(openpype.api.Extractor): width_preset = capture_presets["Resolution"]["width"] height_preset = capture_presets["Resolution"]["height"] # Set resolution variables from asset values - asset_width = instance.data.get("resolutionWidth") - asset_height = instance.data.get("resolutionHeight") + asset_data = instance.data["assetEntity"]["data"] + asset_width = asset_data.get("width") + asset_height = asset_data.get("height") review_instance_width = instance.data.get("instanceWidth") review_instance_height = instance.data.get("instanceHeight") preset['camera'] = camera From be2f9a06aa611f1abb94c416416f5c5ad48c0ae6 Mon Sep 17 00:00:00 2001 From: "Allan I. A" <76656700+Allan-I@users.noreply.github.com> Date: Tue, 28 Jun 2022 18:42:44 +0300 Subject: [PATCH 15/22] Simplify testing of cases for resolution Co-authored-by: Jakub Trllo <43494761+iLLiCiTiT@users.noreply.github.com> --- .../maya/plugins/publish/extract_playblast.py | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/openpype/hosts/maya/plugins/publish/extract_playblast.py b/openpype/hosts/maya/plugins/publish/extract_playblast.py index 8d1c62d64c..0852053b8b 100644 --- a/openpype/hosts/maya/plugins/publish/extract_playblast.py +++ b/openpype/hosts/maya/plugins/publish/extract_playblast.py @@ -69,18 +69,14 @@ class ExtractPlayblast(openpype.api.Extractor): # used, if not then the asset resolution is # used - if review_instance_width != 0: + if review_instance_width and review_instance_height: preset['width'] = review_instance_width - elif width_preset == 0: - preset['width'] = asset_width - elif width_preset != 0: - preset['width'] = width_preset - - if review_instance_height != 0: preset['height'] = review_instance_height - elif height_preset == 0: + elif asset_width and asset_height: + preset['width'] = asset_width preset['height'] = asset_height - elif height_preset != 0: + elif width_preset and height_preset: + preset['width'] = width_preset preset['height'] = height_preset preset['start_frame'] = start From c67308d03223656465525647c7254e65d61922f6 Mon Sep 17 00:00:00 2001 From: Allan Ihsan Date: Tue, 28 Jun 2022 18:48:59 +0300 Subject: [PATCH 16/22] Variable rename. --- openpype/hosts/maya/plugins/create/create_review.py | 4 ++-- openpype/hosts/maya/plugins/publish/collect_review.py | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/openpype/hosts/maya/plugins/create/create_review.py b/openpype/hosts/maya/plugins/create/create_review.py index 44dc8a3158..bafc62e82c 100644 --- a/openpype/hosts/maya/plugins/create/create_review.py +++ b/openpype/hosts/maya/plugins/create/create_review.py @@ -35,8 +35,8 @@ class CreateReview(plugin.Creator): for key, value in animation_data.items(): data[key] = value - data["instanceHeight"] = self.attrWidth - data["instanceWidth"] = self.attrHeight + data["Width"] = self.attrWidth + data["Height"] = self.attrHeight data["isolate"] = self.isolate data["keepImages"] = self.keepImages data["imagePlane"] = self.imagePlane diff --git a/openpype/hosts/maya/plugins/publish/collect_review.py b/openpype/hosts/maya/plugins/publish/collect_review.py index fec1fbfa11..b0b5ef37e8 100644 --- a/openpype/hosts/maya/plugins/publish/collect_review.py +++ b/openpype/hosts/maya/plugins/publish/collect_review.py @@ -71,8 +71,8 @@ class CollectReview(pyblish.api.InstancePlugin): data['handles'] = instance.data.get('handles', None) data['step'] = instance.data['step'] data['fps'] = instance.data['fps'] - data['instanceHeight'] = instance.data['instanceHeight'] - data['instanceHeight'] = instance.data['instanceHeight'] + data['Width'] = instance.data['Width'] + data['Height'] = instance.data['Height'] data["isolate"] = instance.data["isolate"] cmds.setAttr(str(instance) + '.active', 1) self.log.debug('data {}'.format(instance.context[i].data)) From bc18f8f755a771c27fcc9de452ba514d8039d555 Mon Sep 17 00:00:00 2001 From: Allan Ihsan Date: Tue, 28 Jun 2022 19:04:10 +0300 Subject: [PATCH 17/22] Simplify logic in thumbnail extractor. --- .../maya/plugins/publish/extract_thumbnail.py | 23 ++++++++----------- 1 file changed, 10 insertions(+), 13 deletions(-) diff --git a/openpype/hosts/maya/plugins/publish/extract_thumbnail.py b/openpype/hosts/maya/plugins/publish/extract_thumbnail.py index 119ad10496..bc15327aa7 100644 --- a/openpype/hosts/maya/plugins/publish/extract_thumbnail.py +++ b/openpype/hosts/maya/plugins/publish/extract_thumbnail.py @@ -65,26 +65,23 @@ class ExtractThumbnail(openpype.api.Extractor): width_preset = capture_presets["Resolution"]["width"] height_preset = capture_presets["Resolution"]["height"] # Set resolution variables from asset values - asset_width = instance.data.get("resolutionWidth") - asset_height = instance.data.get("resolutionHeight") - review_instance_width = instance.data.get("instanceWidth") - review_instance_height = instance.data.get("instanceHeight") + asset_data = instance.data["assetEntity"]["data"] + asset_width = asset_data.get("width") + asset_height = asset_data.get("height") + review_instance_width = instance.data.get("Width") + review_instance_height = instance.data.get("Height") # Tests if project resolution is set, # if it is a value other than zero, that value is # used, if not then the asset resolution is # used - if review_instance_width != 0: + if review_instance_width and review_instance_height: preset['width'] = review_instance_width - elif width_preset == 0: - preset['width'] = asset_width - elif width_preset != 0: - preset['width'] = width_preset - - if review_instance_height != 0: preset['height'] = review_instance_height - elif height_preset == 0: + elif asset_width and asset_height: + preset['width'] = asset_width preset['height'] = asset_height - elif height_preset != 0: + elif width_preset and height_preset: + preset['width'] = width_preset preset['height'] = height_preset stagingDir = self.staging_dir(instance) filename = "{0}".format(instance.name) From 4514ed8e18abf6dae25310d4f8acb86d3870b5f3 Mon Sep 17 00:00:00 2001 From: Allan Ihsan Date: Tue, 28 Jun 2022 19:04:26 +0300 Subject: [PATCH 18/22] Change naming in interface. --- openpype/hosts/maya/plugins/create/create_review.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/openpype/hosts/maya/plugins/create/create_review.py b/openpype/hosts/maya/plugins/create/create_review.py index bafc62e82c..9f6721762b 100644 --- a/openpype/hosts/maya/plugins/create/create_review.py +++ b/openpype/hosts/maya/plugins/create/create_review.py @@ -15,8 +15,8 @@ class CreateReview(plugin.Creator): keepImages = False isolate = False imagePlane = True - attrWidth = 0 - attrHeight = 0 + Width = 0 + Height = 0 transparency = [ "preset", "simple", @@ -35,8 +35,8 @@ class CreateReview(plugin.Creator): for key, value in animation_data.items(): data[key] = value - data["Width"] = self.attrWidth - data["Height"] = self.attrHeight + data["Width"] = self.Width + data["Height"] = self.Height data["isolate"] = self.isolate data["keepImages"] = self.keepImages data["imagePlane"] = self.imagePlane From 92bf597224cba29ff532ff1b63015f1346639e28 Mon Sep 17 00:00:00 2001 From: Allan Ihsan Date: Tue, 28 Jun 2022 19:15:36 +0300 Subject: [PATCH 19/22] Fix instance variable name. --- openpype/hosts/maya/plugins/publish/extract_playblast.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/openpype/hosts/maya/plugins/publish/extract_playblast.py b/openpype/hosts/maya/plugins/publish/extract_playblast.py index 0852053b8b..fbf4035505 100644 --- a/openpype/hosts/maya/plugins/publish/extract_playblast.py +++ b/openpype/hosts/maya/plugins/publish/extract_playblast.py @@ -60,8 +60,8 @@ class ExtractPlayblast(openpype.api.Extractor): asset_data = instance.data["assetEntity"]["data"] asset_width = asset_data.get("width") asset_height = asset_data.get("height") - review_instance_width = instance.data.get("instanceWidth") - review_instance_height = instance.data.get("instanceHeight") + review_instance_width = instance.data.get("Width") + review_instance_height = instance.data.get("Height") preset['camera'] = camera # Tests if project resolution is set, From 9bfff7a2cc67e704045e31a5f041677ea89d2514 Mon Sep 17 00:00:00 2001 From: Allan Ihsan Date: Fri, 1 Jul 2022 15:23:25 +0300 Subject: [PATCH 20/22] Fix asset data key. --- openpype/hosts/maya/plugins/publish/extract_playblast.py | 5 ++--- openpype/hosts/maya/plugins/publish/extract_thumbnail.py | 4 ++-- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/openpype/hosts/maya/plugins/publish/extract_playblast.py b/openpype/hosts/maya/plugins/publish/extract_playblast.py index fbf4035505..4c3224e1b4 100644 --- a/openpype/hosts/maya/plugins/publish/extract_playblast.py +++ b/openpype/hosts/maya/plugins/publish/extract_playblast.py @@ -58,8 +58,8 @@ class ExtractPlayblast(openpype.api.Extractor): height_preset = capture_presets["Resolution"]["height"] # Set resolution variables from asset values asset_data = instance.data["assetEntity"]["data"] - asset_width = asset_data.get("width") - asset_height = asset_data.get("height") + asset_width = asset_data.get("resolutionWidth") + asset_height = asset_data.get("resolutionHeight") review_instance_width = instance.data.get("Width") review_instance_height = instance.data.get("Height") preset['camera'] = camera @@ -68,7 +68,6 @@ class ExtractPlayblast(openpype.api.Extractor): # if it is a value other than zero, that value is # used, if not then the asset resolution is # used - if review_instance_width and review_instance_height: preset['width'] = review_instance_width preset['height'] = review_instance_height diff --git a/openpype/hosts/maya/plugins/publish/extract_thumbnail.py b/openpype/hosts/maya/plugins/publish/extract_thumbnail.py index bc15327aa7..c7d7cf150d 100644 --- a/openpype/hosts/maya/plugins/publish/extract_thumbnail.py +++ b/openpype/hosts/maya/plugins/publish/extract_thumbnail.py @@ -66,8 +66,8 @@ class ExtractThumbnail(openpype.api.Extractor): height_preset = capture_presets["Resolution"]["height"] # Set resolution variables from asset values asset_data = instance.data["assetEntity"]["data"] - asset_width = asset_data.get("width") - asset_height = asset_data.get("height") + asset_width = asset_data.get("resolutionWidth") + asset_height = asset_data.get("resolutionHeight") review_instance_width = instance.data.get("Width") review_instance_height = instance.data.get("Height") # Tests if project resolution is set, From ad9b01c0c7fb1c40b6d56b889a6a7d766390502d Mon Sep 17 00:00:00 2001 From: Allan Ihsan Date: Mon, 4 Jul 2022 02:45:58 +0300 Subject: [PATCH 21/22] Alter final logic and change attribute naming to more pythonic convention. --- openpype/hosts/maya/plugins/create/create_review.py | 4 ++-- .../hosts/maya/plugins/publish/collect_review.py | 4 ++-- .../hosts/maya/plugins/publish/extract_playblast.py | 13 +++++++------ .../hosts/maya/plugins/publish/extract_thumbnail.py | 10 +++++----- 4 files changed, 16 insertions(+), 15 deletions(-) diff --git a/openpype/hosts/maya/plugins/create/create_review.py b/openpype/hosts/maya/plugins/create/create_review.py index 9f6721762b..ba51ffa009 100644 --- a/openpype/hosts/maya/plugins/create/create_review.py +++ b/openpype/hosts/maya/plugins/create/create_review.py @@ -35,8 +35,8 @@ class CreateReview(plugin.Creator): for key, value in animation_data.items(): data[key] = value - data["Width"] = self.Width - data["Height"] = self.Height + data["review_width"] = self.Width + data["review_height"] = self.Height data["isolate"] = self.isolate data["keepImages"] = self.keepImages data["imagePlane"] = self.imagePlane diff --git a/openpype/hosts/maya/plugins/publish/collect_review.py b/openpype/hosts/maya/plugins/publish/collect_review.py index b0b5ef37e8..eb872c2935 100644 --- a/openpype/hosts/maya/plugins/publish/collect_review.py +++ b/openpype/hosts/maya/plugins/publish/collect_review.py @@ -71,8 +71,8 @@ class CollectReview(pyblish.api.InstancePlugin): data['handles'] = instance.data.get('handles', None) data['step'] = instance.data['step'] data['fps'] = instance.data['fps'] - data['Width'] = instance.data['Width'] - data['Height'] = instance.data['Height'] + data['review_width'] = instance.data['review_width'] + data['review_height'] = instance.data['review_height'] data["isolate"] = instance.data["isolate"] cmds.setAttr(str(instance) + '.active', 1) self.log.debug('data {}'.format(instance.context[i].data)) diff --git a/openpype/hosts/maya/plugins/publish/extract_playblast.py b/openpype/hosts/maya/plugins/publish/extract_playblast.py index 4c3224e1b4..0b60e01e45 100644 --- a/openpype/hosts/maya/plugins/publish/extract_playblast.py +++ b/openpype/hosts/maya/plugins/publish/extract_playblast.py @@ -60,8 +60,8 @@ class ExtractPlayblast(openpype.api.Extractor): asset_data = instance.data["assetEntity"]["data"] asset_width = asset_data.get("resolutionWidth") asset_height = asset_data.get("resolutionHeight") - review_instance_width = instance.data.get("Width") - review_instance_height = instance.data.get("Height") + review_instance_width = instance.data.get("review_width") + review_instance_height = instance.data.get("review_height") preset['camera'] = camera # Tests if project resolution is set, @@ -71,13 +71,14 @@ class ExtractPlayblast(openpype.api.Extractor): if review_instance_width and review_instance_height: preset['width'] = review_instance_width preset['height'] = review_instance_height - elif asset_width and asset_height: - preset['width'] = asset_width - preset['height'] = asset_height elif width_preset and height_preset: preset['width'] = width_preset preset['height'] = height_preset - + elif asset_width and asset_height: + preset['width'] = asset_width + preset['height'] = asset_height + + preset['start_frame'] = start preset['end_frame'] = end camera_option = preset.get("camera_option", {}) diff --git a/openpype/hosts/maya/plugins/publish/extract_thumbnail.py b/openpype/hosts/maya/plugins/publish/extract_thumbnail.py index c7d7cf150d..2f7e6c5e05 100644 --- a/openpype/hosts/maya/plugins/publish/extract_thumbnail.py +++ b/openpype/hosts/maya/plugins/publish/extract_thumbnail.py @@ -68,8 +68,8 @@ class ExtractThumbnail(openpype.api.Extractor): asset_data = instance.data["assetEntity"]["data"] asset_width = asset_data.get("resolutionWidth") asset_height = asset_data.get("resolutionHeight") - review_instance_width = instance.data.get("Width") - review_instance_height = instance.data.get("Height") + review_instance_width = instance.data.get("review_width") + review_instance_height = instance.data.get("review_height") # Tests if project resolution is set, # if it is a value other than zero, that value is # used, if not then the asset resolution is @@ -77,12 +77,12 @@ class ExtractThumbnail(openpype.api.Extractor): if review_instance_width and review_instance_height: preset['width'] = review_instance_width preset['height'] = review_instance_height - elif asset_width and asset_height: - preset['width'] = asset_width - preset['height'] = asset_height elif width_preset and height_preset: preset['width'] = width_preset preset['height'] = height_preset + elif asset_width and asset_height: + preset['width'] = asset_width + preset['height'] = asset_height stagingDir = self.staging_dir(instance) filename = "{0}".format(instance.name) path = os.path.join(stagingDir, filename) From 8307ea8ea204f30937589a6f7f8bc493081861ab Mon Sep 17 00:00:00 2001 From: Allan Ihsan Date: Mon, 4 Jul 2022 02:47:10 +0300 Subject: [PATCH 22/22] Style fix. --- openpype/hosts/maya/plugins/publish/extract_playblast.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/openpype/hosts/maya/plugins/publish/extract_playblast.py b/openpype/hosts/maya/plugins/publish/extract_playblast.py index 0b60e01e45..2c6e76e5ad 100644 --- a/openpype/hosts/maya/plugins/publish/extract_playblast.py +++ b/openpype/hosts/maya/plugins/publish/extract_playblast.py @@ -77,8 +77,6 @@ class ExtractPlayblast(openpype.api.Extractor): elif asset_width and asset_height: preset['width'] = asset_width preset['height'] = asset_height - - preset['start_frame'] = start preset['end_frame'] = end camera_option = preset.get("camera_option", {})