From 2f3ff799b1b0944f4b054929d7a97d8c59591f53 Mon Sep 17 00:00:00 2001 From: Petr Kalis Date: Wed, 2 Feb 2022 13:23:27 +0100 Subject: [PATCH 1/4] OP-2551 - cleaned up wrong settings Added multiprocess setting for AE2022 --- .../project_settings/aftereffects.json | 7 ---- .../defaults/project_settings/deadline.json | 3 +- .../schema_project_aftereffects.json | 33 ------------------- .../schema_project_deadline.json | 5 +++ 4 files changed, 7 insertions(+), 41 deletions(-) diff --git a/openpype/settings/defaults/project_settings/aftereffects.json b/openpype/settings/defaults/project_settings/aftereffects.json index 698b3b35a9..6a9a399069 100644 --- a/openpype/settings/defaults/project_settings/aftereffects.json +++ b/openpype/settings/defaults/project_settings/aftereffects.json @@ -10,13 +10,6 @@ "skip_timelines_check": [ ".*" ] - }, - "AfterEffectsSubmitDeadline": { - "use_published": true, - "priority": 50, - "primary_pool": "", - "secondary_pool": "", - "chunk_size": 1000000 } }, "workfile_builder": { diff --git a/openpype/settings/defaults/project_settings/deadline.json b/openpype/settings/defaults/project_settings/deadline.json index 9fb964b494..1a3d273021 100644 --- a/openpype/settings/defaults/project_settings/deadline.json +++ b/openpype/settings/defaults/project_settings/deadline.json @@ -87,7 +87,8 @@ "primary_pool": "", "secondary_pool": "", "group": "", - "department": "" + "department": "", + "multiprocess": true } } } \ No newline at end of file diff --git a/openpype/settings/entities/schemas/projects_schema/schema_project_aftereffects.json b/openpype/settings/entities/schemas/projects_schema/schema_project_aftereffects.json index 8024de6d45..4c4cd225ab 100644 --- a/openpype/settings/entities/schemas/projects_schema/schema_project_aftereffects.json +++ b/openpype/settings/entities/schemas/projects_schema/schema_project_aftereffects.json @@ -50,39 +50,6 @@ "label": "Skip Timeline Check for Tasks" } ] - }, - { - "type": "dict", - "collapsible": true, - "key": "AfterEffectsSubmitDeadline", - "label": "AfterEffects Submit to Deadline", - "children": [ - { - "type": "boolean", - "key": "use_published", - "label": "Use Published scene" - }, - { - "type": "number", - "key": "priority", - "label": "Priority" - }, - { - "type": "text", - "key": "primary_pool", - "label": "Primary Pool" - }, - { - "type": "text", - "key": "secondary_pool", - "label": "Secondary Pool" - }, - { - "type": "number", - "key": "chunk_size", - "label": "Frames Per Task" - } - ] } ] }, diff --git a/openpype/settings/entities/schemas/projects_schema/schema_project_deadline.json b/openpype/settings/entities/schemas/projects_schema/schema_project_deadline.json index eb9eeb5448..f8b3e521c1 100644 --- a/openpype/settings/entities/schemas/projects_schema/schema_project_deadline.json +++ b/openpype/settings/entities/schemas/projects_schema/schema_project_deadline.json @@ -449,6 +449,11 @@ "type": "text", "key": "department", "label": "Department" + }, + { + "type": "boolean", + "key": "multiprocess", + "label": "Multiprocess" } ] } From 1760ae892f90766a87b24f15ec6b78727e98e906 Mon Sep 17 00:00:00 2001 From: Petr Kalis Date: Wed, 2 Feb 2022 13:25:24 +0100 Subject: [PATCH 2/4] OP-2551 - added properties from Settings --- .../publish/submit_aftereffects_deadline.py | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/openpype/modules/default_modules/deadline/plugins/publish/submit_aftereffects_deadline.py b/openpype/modules/default_modules/deadline/plugins/publish/submit_aftereffects_deadline.py index 69159fda1a..d5346ad9b3 100644 --- a/openpype/modules/default_modules/deadline/plugins/publish/submit_aftereffects_deadline.py +++ b/openpype/modules/default_modules/deadline/plugins/publish/submit_aftereffects_deadline.py @@ -29,7 +29,13 @@ class AfterEffectsSubmitDeadline(abstract_submit_deadline.AbstractSubmitDeadline families = ["render.farm"] # cannot be "render' as that is integrated use_published = True + priority = 50 chunk_size = 1000000 + primary_pool = None + secondary_pool = None + group = None + department = None + multiprocess = True def get_job_info(self): dln_job_info = DeadlineJobInfo(Plugin="AfterEffects") @@ -49,6 +55,11 @@ class AfterEffectsSubmitDeadline(abstract_submit_deadline.AbstractSubmitDeadline int(round(self._instance.data["frameEnd"]))) dln_job_info.Frames = frame_range + dln_job_info.Priority = self.priority + dln_job_info.Pool = self.primary_pool + dln_job_info.SecondaryPool = self.secondary_pool + dln_job_info.Group = self.group + dln_job_info.Department = self.department dln_job_info.ChunkSize = self.chunk_size dln_job_info.OutputFilename = \ os.path.basename(self._instance.data["expectedFiles"][0]) @@ -102,9 +113,10 @@ class AfterEffectsSubmitDeadline(abstract_submit_deadline.AbstractSubmitDeadline '{}.{}.{}'.format(arr[0], hashed, arr[2])) - deadline_plugin_info.MultiProcess = True deadline_plugin_info.Comp = self._instance.data["comp_name"] - deadline_plugin_info.Version = "17.5" + deadline_plugin_info.Version = self._instance.data["app_version"] + # must be here because of DL AE plugin + deadline_plugin_info.MultiProcess = self.multiprocess deadline_plugin_info.SceneFile = self.scene_path deadline_plugin_info.Output = render_path.replace("\\", "/") From 986a83c93d651784ea3eda1141562d504d188316 Mon Sep 17 00:00:00 2001 From: Petr Kalis Date: Wed, 2 Feb 2022 13:28:44 +0100 Subject: [PATCH 3/4] OP-2551 - added app version method Used to properly propagate major.minor version from the app to allow DL configure proper executables --- openpype/hosts/aftereffects/api/extension.zxp | Bin 100915 -> 100982 bytes .../api/extension/CSXS/manifest.xml | 2 +- .../aftereffects/api/extension/js/main.js | 9 +++++++++ .../api/extension/jsx/hostscript.jsx | 9 ++++++++- openpype/hosts/aftereffects/api/ws_stub.py | 7 +++++++ .../plugins/publish/collect_render.py | 7 ++++++- 6 files changed, 31 insertions(+), 3 deletions(-) diff --git a/openpype/hosts/aftereffects/api/extension.zxp b/openpype/hosts/aftereffects/api/extension.zxp index 35b0c0fc42a731150521187312ef21243882f300..389d74505dfc45ecba6313435056634a64b27c20 100644 GIT binary patch delta 12141 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 SmFVYt`==7qI{@_a+y4W51~sby delta 12102 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 diff --git a/openpype/hosts/aftereffects/api/extension/CSXS/manifest.xml b/openpype/hosts/aftereffects/api/extension/CSXS/manifest.xml index 2480089825..668cb3fc24 100644 --- a/openpype/hosts/aftereffects/api/extension/CSXS/manifest.xml +++ b/openpype/hosts/aftereffects/api/extension/CSXS/manifest.xml @@ -1,5 +1,5 @@ - diff --git a/openpype/hosts/aftereffects/api/extension/js/main.js b/openpype/hosts/aftereffects/api/extension/js/main.js index 7736a07a5e..2105ea82dc 100644 --- a/openpype/hosts/aftereffects/api/extension/js/main.js +++ b/openpype/hosts/aftereffects/api/extension/js/main.js @@ -301,6 +301,15 @@ function main(websocket_url){ return get_extension_version(); }); + RPC.addRoute('AfterEffects.get_app_version', function (data) { + log.warn('Server called client route "get_app_version":', data); + return runEvalScript("getAppVersion()") + .then(function(result){ + log.warn("get_app_version: " + result); + return result; + }); + }); + RPC.addRoute('AfterEffects.close', function (data) { log.warn('Server called client route "close":', data); return runEvalScript("close()"); diff --git a/openpype/hosts/aftereffects/api/extension/jsx/hostscript.jsx b/openpype/hosts/aftereffects/api/extension/jsx/hostscript.jsx index d3b5700920..8f82c9709d 100644 --- a/openpype/hosts/aftereffects/api/extension/jsx/hostscript.jsx +++ b/openpype/hosts/aftereffects/api/extension/jsx/hostscript.jsx @@ -438,7 +438,10 @@ function getAudioUrlForComp(comp_id){ for (i = 1; i <= item.numLayers; ++i){ var layer = item.layers[i]; if (layer instanceof AVLayer){ - return layer.source.file.fsName.toString(); + if (layer.hasAudio){ + source_url = layer.source.file.fsName.toString() + return _prepareSingleValue(source_url); + } } } @@ -715,6 +718,10 @@ function close(){ app.quit(); } +function getAppVersion(){ + return _prepareSingleValue(app.version); +} + function _prepareSingleValue(value){ return JSON.stringify({"result": value}) } diff --git a/openpype/hosts/aftereffects/api/ws_stub.py b/openpype/hosts/aftereffects/api/ws_stub.py index 48f31f1f4e..5a0600e92e 100644 --- a/openpype/hosts/aftereffects/api/ws_stub.py +++ b/openpype/hosts/aftereffects/api/ws_stub.py @@ -537,6 +537,13 @@ class AfterEffectsServerStub(): return self._handle_return(res) + def get_app_version(self): + """Returns version number of installed application (17.5...).""" + res = self.websocketserver.call(self.client.call( + 'AfterEffects.get_app_version')) + + return self._handle_return(res) + def close(self): res = self.websocketserver.call(self.client.call('AfterEffects.close')) diff --git a/openpype/hosts/aftereffects/plugins/publish/collect_render.py b/openpype/hosts/aftereffects/plugins/publish/collect_render.py index 74d38751e1..02b95be138 100644 --- a/openpype/hosts/aftereffects/plugins/publish/collect_render.py +++ b/openpype/hosts/aftereffects/plugins/publish/collect_render.py @@ -20,6 +20,7 @@ class AERenderInstance(RenderInstance): fps = attr.ib(default=None) projectEntity = attr.ib(default=None) stagingDir = attr.ib(default=None) + app_version = attr.ib(default=None) class CollectAERender(abstract_collect_render.AbstractCollectRender): @@ -41,6 +42,9 @@ class CollectAERender(abstract_collect_render.AbstractCollectRender): def get_instances(self, context): instances = [] + app_version = self.stub.get_app_version() + app_version = app_version[0:4] + current_file = context.data["currentFile"] version = context.data["version"] asset_entity = context.data["assetEntity"] @@ -105,7 +109,8 @@ class CollectAERender(abstract_collect_render.AbstractCollectRender): frameEnd=frameEnd, frameStep=1, toBeRenderedOn='deadline', - fps=fps + fps=fps, + app_version=app_version ) comp = compositions_by_id.get(int(item_id)) From 21ac7b25eaf3cf853292c1f4985db20dcde1a873 Mon Sep 17 00:00:00 2001 From: Petr Kalis Date: Thu, 17 Feb 2022 10:45:29 +0100 Subject: [PATCH 4/4] OP-2551 - added multiprocess override by env var In case of multiple variants of AE, project setting might not be enough. Add MULTIPROCESS env var to specific app variant. --- .../publish/submit_aftereffects_deadline.py | 14 ++++++++++---- .../defaults/system_settings/applications.json | 4 +++- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/openpype/modules/default_modules/deadline/plugins/publish/submit_aftereffects_deadline.py b/openpype/modules/default_modules/deadline/plugins/publish/submit_aftereffects_deadline.py index d5346ad9b3..0c0ba47e6f 100644 --- a/openpype/modules/default_modules/deadline/plugins/publish/submit_aftereffects_deadline.py +++ b/openpype/modules/default_modules/deadline/plugins/publish/submit_aftereffects_deadline.py @@ -1,11 +1,14 @@ -from openpype.lib import abstract_submit_deadline -from openpype.lib.abstract_submit_deadline import DeadlineJobInfo -import pyblish.api import os import attr import getpass +import pyblish.api + from avalon import api +from openpype.lib import abstract_submit_deadline +from openpype.lib.abstract_submit_deadline import DeadlineJobInfo +from openpype.lib import env_value_to_bool + @attr.s class DeadlinePluginInfo(): @@ -116,7 +119,10 @@ class AfterEffectsSubmitDeadline(abstract_submit_deadline.AbstractSubmitDeadline deadline_plugin_info.Comp = self._instance.data["comp_name"] deadline_plugin_info.Version = self._instance.data["app_version"] # must be here because of DL AE plugin - deadline_plugin_info.MultiProcess = self.multiprocess + # added override of multiprocess by env var, if shouldn't be used for + # some app variant use MULTIPROCESS:false in Settings, default is True + env_multi = env_value_to_bool("MULTIPROCESS", default=True) + deadline_plugin_info.MultiProcess = env_multi and self.multiprocess deadline_plugin_info.SceneFile = self.scene_path deadline_plugin_info.Output = render_path.replace("\\", "/") diff --git a/openpype/settings/defaults/system_settings/applications.json b/openpype/settings/defaults/system_settings/applications.json index 4a8b6d82a2..a9ab70cd28 100644 --- a/openpype/settings/defaults/system_settings/applications.json +++ b/openpype/settings/defaults/system_settings/applications.json @@ -1127,7 +1127,9 @@ "darwin": [], "linux": [] }, - "environment": {} + "environment": { + "MULTIPROCESS": "No" + } } } },