Fusion: Add Launch Hook to start "AYON menu" on Fusion start

This commit is contained in:
Roy Nieterau 2024-03-20 17:30:34 +01:00
parent 1456989577
commit 85dc52a2c1

View file

@ -0,0 +1,34 @@
import os
from ayon_core.lib import PreLaunchHook
from ayon_core.hosts.fusion import FUSION_HOST_DIR
class FusionLaunchMenuHook(PreLaunchHook):
"""Launch OpenPype menu on start of Fusion"""
app_groups = ["fusion"]
order = 9
def execute(self):
# TODO: Make this optional via project settings
variant = self.application.name
if variant.isnumeric():
version = int(variant)
if version < 18:
print("Skipping launch of OpenPype menu on Fusion start "
"because Fusion version below 18.0 does not support "
"/execute argument on launch. "
f"Version detected: {version}")
return
else:
print(f"Application variant is not numeric: {variant}. "
"Validation for Fusion version 18+ for /execute "
"prelaunch argument skipped.")
path = os.path.join(FUSION_HOST_DIR,
"deploy",
"MenuScripts",
"launch_menu.py").replace("\\", "/")
script = f"fusion:RunScript('{path}')"
self.launch_context.launch_args.extend(["/execute", script])