diff --git a/client/ayon_core/addon/base.py b/client/ayon_core/addon/base.py index d60da05f44..01f80267d8 100644 --- a/client/ayon_core/addon/base.py +++ b/client/ayon_core/addon/base.py @@ -57,6 +57,7 @@ MOVED_ADDON_MILESTONE_VERSIONS = { "traypublisher": VersionInfo(0, 2, 0), "tvpaint": VersionInfo(0, 2, 0), "nuke": VersionInfo(0, 2, 0), + "substancepainter": VersionInfo(0, 2, 0), } diff --git a/client/ayon_core/hosts/substancepainter/__init__.py b/server_addon/substancepainter/client/ayon_substancepainter/__init__.py similarity index 100% rename from client/ayon_core/hosts/substancepainter/__init__.py rename to server_addon/substancepainter/client/ayon_substancepainter/__init__.py diff --git a/client/ayon_core/hosts/substancepainter/addon.py b/server_addon/substancepainter/client/ayon_substancepainter/addon.py similarity index 100% rename from client/ayon_core/hosts/substancepainter/addon.py rename to server_addon/substancepainter/client/ayon_substancepainter/addon.py diff --git a/client/ayon_core/hosts/substancepainter/api/__init__.py b/server_addon/substancepainter/client/ayon_substancepainter/api/__init__.py similarity index 100% rename from client/ayon_core/hosts/substancepainter/api/__init__.py rename to server_addon/substancepainter/client/ayon_substancepainter/api/__init__.py diff --git a/client/ayon_core/hosts/substancepainter/api/colorspace.py b/server_addon/substancepainter/client/ayon_substancepainter/api/colorspace.py similarity index 100% rename from client/ayon_core/hosts/substancepainter/api/colorspace.py rename to server_addon/substancepainter/client/ayon_substancepainter/api/colorspace.py diff --git a/client/ayon_core/hosts/substancepainter/api/lib.py b/server_addon/substancepainter/client/ayon_substancepainter/api/lib.py similarity index 100% rename from client/ayon_core/hosts/substancepainter/api/lib.py rename to server_addon/substancepainter/client/ayon_substancepainter/api/lib.py diff --git a/client/ayon_core/hosts/substancepainter/api/pipeline.py b/server_addon/substancepainter/client/ayon_substancepainter/api/pipeline.py similarity index 99% rename from client/ayon_core/hosts/substancepainter/api/pipeline.py rename to server_addon/substancepainter/client/ayon_substancepainter/api/pipeline.py index 23d629533c..47090c4b0a 100644 --- a/client/ayon_core/hosts/substancepainter/api/pipeline.py +++ b/server_addon/substancepainter/client/ayon_substancepainter/api/pipeline.py @@ -27,11 +27,11 @@ from ayon_core.lib import ( emit_event, ) from ayon_core.pipeline.load import any_outdated_containers -from ayon_core.hosts.substancepainter import SUBSTANCE_HOST_DIR +from ayon_substancepainter import SUBSTANCE_HOST_DIR from . import lib -log = logging.getLogger("ayon_core.hosts.substance") +log = logging.getLogger("ayon_substancepainter") PLUGINS_DIR = os.path.join(SUBSTANCE_HOST_DIR, "plugins") PUBLISH_PATH = os.path.join(PLUGINS_DIR, "publish") diff --git a/client/ayon_core/hosts/substancepainter/deploy/plugins/openpype_plugin.py b/server_addon/substancepainter/client/ayon_substancepainter/deploy/plugins/ayon_plugin.py similarity index 67% rename from client/ayon_core/hosts/substancepainter/deploy/plugins/openpype_plugin.py rename to server_addon/substancepainter/client/ayon_substancepainter/deploy/plugins/ayon_plugin.py index 8ced463367..85bb56d73c 100644 --- a/client/ayon_core/hosts/substancepainter/deploy/plugins/openpype_plugin.py +++ b/server_addon/substancepainter/client/ayon_substancepainter/deploy/plugins/ayon_plugin.py @@ -1,6 +1,6 @@ -def cleanup_openpype_qt_widgets(): +def cleanup_ayon_qt_widgets(): """ Workaround for Substance failing to shut down correctly when a Qt window was still open at the time of shutting down. @@ -8,27 +8,27 @@ def cleanup_openpype_qt_widgets(): This seems to work sometimes, but not all the time. """ - # TODO: Create a more reliable method to close down all OpenPype Qt widgets + # TODO: Create a more reliable method to close down all AYON Qt widgets from PySide2 import QtWidgets import substance_painter.ui - # Kill OpenPype Qt widgets - print("Killing OpenPype Qt widgets..") + # Kill AYON Qt widgets + print("Killing AYON Qt widgets..") for widget in QtWidgets.QApplication.topLevelWidgets(): - if widget.__module__.startswith("openpype."): + if widget.__module__.startswith("ayon_"): print(f"Deleting widget: {widget.__class__.__name__}") substance_painter.ui.delete_ui_element(widget) def start_plugin(): from ayon_core.pipeline import install_host - from ayon_core.hosts.substancepainter.api import SubstanceHost + from ayon_substancepainter.api import SubstanceHost install_host(SubstanceHost()) def close_plugin(): from ayon_core.pipeline import uninstall_host - cleanup_openpype_qt_widgets() + cleanup_ayon_qt_widgets() uninstall_host() diff --git a/client/ayon_core/hosts/substancepainter/deploy/startup/openpype_load_on_first_run.py b/server_addon/substancepainter/client/ayon_substancepainter/deploy/startup/ayon_load_on_first_run.py similarity index 78% rename from client/ayon_core/hosts/substancepainter/deploy/startup/openpype_load_on_first_run.py rename to server_addon/substancepainter/client/ayon_substancepainter/deploy/startup/ayon_load_on_first_run.py index 04b610b4df..9ef119e357 100644 --- a/client/ayon_core/hosts/substancepainter/deploy/startup/openpype_load_on_first_run.py +++ b/server_addon/substancepainter/client/ayon_substancepainter/deploy/startup/ayon_load_on_first_run.py @@ -1,6 +1,6 @@ -"""Ease the OpenPype on-boarding process by loading the plug-in on first run""" +"""Ease the AYON on-boarding process by loading the plug-in on first run""" -OPENPYPE_PLUGIN_NAME = "openpype_plugin" +AYON_PLUGIN_NAME = "ayon_plugin" def start_plugin(): @@ -19,9 +19,9 @@ def start_plugin(): # later than this startup script, we check whether its menu initialized is_before_plugins_menu = PLUGINS_MENU is None - settings = get_settings(OPENPYPE_PLUGIN_NAME) + settings = get_settings(AYON_PLUGIN_NAME) if settings.value(LAUNCH_AT_START_KEY, None) is None: - print("Initializing OpenPype plug-in on first run...") + print("Initializing AYON plug-in on first run...") if is_before_plugins_menu: print("- running before 'painter_plugins_ui'") # Delay the launch to the painter_plugins_ui initialization @@ -29,11 +29,11 @@ def start_plugin(): else: # Launch now print("- running after 'painter_plugins_ui'") - plugin_manager(OPENPYPE_PLUGIN_NAME)(True) + plugin_manager(AYON_PLUGIN_NAME)(True) # Set the checked state in the menu to avoid confusion action = next(action for action in PLUGINS_MENU._menu.actions() - if action.text() == OPENPYPE_PLUGIN_NAME) + if action.text() == AYON_PLUGIN_NAME) if action is not None: action.blockSignals(True) action.setChecked(True) diff --git a/client/ayon_core/hosts/substancepainter/plugins/create/create_textures.py b/server_addon/substancepainter/client/ayon_substancepainter/plugins/create/create_textures.py similarity index 98% rename from client/ayon_core/hosts/substancepainter/plugins/create/create_textures.py rename to server_addon/substancepainter/client/ayon_substancepainter/plugins/create/create_textures.py index 34826240a3..8869cb5eb0 100644 --- a/client/ayon_core/hosts/substancepainter/plugins/create/create_textures.py +++ b/server_addon/substancepainter/client/ayon_substancepainter/plugins/create/create_textures.py @@ -8,13 +8,13 @@ from ayon_core.lib import ( BoolDef ) -from ayon_core.hosts.substancepainter.api.pipeline import ( +from ayon_substancepainter.api.pipeline import ( get_instances, set_instance, set_instances, remove_instance ) -from ayon_core.hosts.substancepainter.api.lib import get_export_presets +from ayon_substancepainter.api.lib import get_export_presets import substance_painter import substance_painter.project @@ -28,6 +28,7 @@ class CreateTextures(Creator): icon = "picture-o" default_variant = "Main" + settings_category = "substancepainter" channel_mapping = [] def apply_settings(self, project_settings): diff --git a/client/ayon_core/hosts/substancepainter/plugins/create/create_workfile.py b/server_addon/substancepainter/client/ayon_substancepainter/plugins/create/create_workfile.py similarity index 97% rename from client/ayon_core/hosts/substancepainter/plugins/create/create_workfile.py rename to server_addon/substancepainter/client/ayon_substancepainter/plugins/create/create_workfile.py index 63b1c6c7da..b100e4189d 100644 --- a/client/ayon_core/hosts/substancepainter/plugins/create/create_workfile.py +++ b/server_addon/substancepainter/client/ayon_substancepainter/plugins/create/create_workfile.py @@ -5,7 +5,7 @@ import ayon_api from ayon_core.pipeline import CreatedInstance, AutoCreator -from ayon_core.hosts.substancepainter.api.pipeline import ( +from ayon_substancepainter.api.pipeline import ( set_instances, set_instance, get_instances @@ -22,6 +22,7 @@ class CreateWorkfile(AutoCreator): icon = "document" default_variant = "Main" + settings_category = "substancepainter" def create(self): diff --git a/client/ayon_core/hosts/substancepainter/plugins/load/load_mesh.py b/server_addon/substancepainter/client/ayon_substancepainter/plugins/load/load_mesh.py similarity index 99% rename from client/ayon_core/hosts/substancepainter/plugins/load/load_mesh.py rename to server_addon/substancepainter/client/ayon_substancepainter/plugins/load/load_mesh.py index d5aac1191c..e2a48dd5a4 100644 --- a/client/ayon_core/hosts/substancepainter/plugins/load/load_mesh.py +++ b/server_addon/substancepainter/client/ayon_substancepainter/plugins/load/load_mesh.py @@ -5,7 +5,7 @@ from ayon_core.pipeline import ( get_representation_path, ) from ayon_core.pipeline.load import LoadError -from ayon_core.hosts.substancepainter.api.pipeline import ( +from ayon_substancepainter.api.pipeline import ( imprint_container, set_container_metadata, remove_container_metadata diff --git a/client/ayon_core/hosts/substancepainter/plugins/publish/collect_current_file.py b/server_addon/substancepainter/client/ayon_substancepainter/plugins/publish/collect_current_file.py similarity index 100% rename from client/ayon_core/hosts/substancepainter/plugins/publish/collect_current_file.py rename to server_addon/substancepainter/client/ayon_substancepainter/plugins/publish/collect_current_file.py diff --git a/client/ayon_core/hosts/substancepainter/plugins/publish/collect_textureset_images.py b/server_addon/substancepainter/client/ayon_substancepainter/plugins/publish/collect_textureset_images.py similarity index 99% rename from client/ayon_core/hosts/substancepainter/plugins/publish/collect_textureset_images.py rename to server_addon/substancepainter/client/ayon_substancepainter/plugins/publish/collect_textureset_images.py index f7837e5106..6d2336cbc0 100644 --- a/client/ayon_core/hosts/substancepainter/plugins/publish/collect_textureset_images.py +++ b/server_addon/substancepainter/client/ayon_substancepainter/plugins/publish/collect_textureset_images.py @@ -6,7 +6,7 @@ import ayon_api import substance_painter.textureset from ayon_core.pipeline import publish -from ayon_core.hosts.substancepainter.api.lib import ( +from ayon_substancepainter.api.lib import ( get_parsed_export_maps, get_filtered_export_preset, strip_template diff --git a/client/ayon_core/hosts/substancepainter/plugins/publish/collect_workfile_representation.py b/server_addon/substancepainter/client/ayon_substancepainter/plugins/publish/collect_workfile_representation.py similarity index 100% rename from client/ayon_core/hosts/substancepainter/plugins/publish/collect_workfile_representation.py rename to server_addon/substancepainter/client/ayon_substancepainter/plugins/publish/collect_workfile_representation.py diff --git a/client/ayon_core/hosts/substancepainter/plugins/publish/extract_textures.py b/server_addon/substancepainter/client/ayon_substancepainter/plugins/publish/extract_textures.py similarity index 97% rename from client/ayon_core/hosts/substancepainter/plugins/publish/extract_textures.py rename to server_addon/substancepainter/client/ayon_substancepainter/plugins/publish/extract_textures.py index 361ad788ca..52212922ae 100644 --- a/client/ayon_core/hosts/substancepainter/plugins/publish/extract_textures.py +++ b/server_addon/substancepainter/client/ayon_substancepainter/plugins/publish/extract_textures.py @@ -1,6 +1,6 @@ import substance_painter.export from ayon_core.pipeline import KnownPublishError, publish -from ayon_core.hosts.substancepainter.api.lib import set_layer_stack_opacity +from ayon_substancepainter.api.lib import set_layer_stack_opacity class ExtractTextures(publish.Extractor, diff --git a/client/ayon_core/hosts/substancepainter/plugins/publish/increment_workfile.py b/server_addon/substancepainter/client/ayon_substancepainter/plugins/publish/increment_workfile.py similarity index 100% rename from client/ayon_core/hosts/substancepainter/plugins/publish/increment_workfile.py rename to server_addon/substancepainter/client/ayon_substancepainter/plugins/publish/increment_workfile.py diff --git a/client/ayon_core/hosts/substancepainter/plugins/publish/save_workfile.py b/server_addon/substancepainter/client/ayon_substancepainter/plugins/publish/save_workfile.py similarity index 100% rename from client/ayon_core/hosts/substancepainter/plugins/publish/save_workfile.py rename to server_addon/substancepainter/client/ayon_substancepainter/plugins/publish/save_workfile.py diff --git a/client/ayon_core/hosts/substancepainter/plugins/publish/validate_ouput_maps.py b/server_addon/substancepainter/client/ayon_substancepainter/plugins/publish/validate_ouput_maps.py similarity index 100% rename from client/ayon_core/hosts/substancepainter/plugins/publish/validate_ouput_maps.py rename to server_addon/substancepainter/client/ayon_substancepainter/plugins/publish/validate_ouput_maps.py diff --git a/server_addon/substancepainter/package.py b/server_addon/substancepainter/package.py index bd71e1d67d..4db5ef634f 100644 --- a/server_addon/substancepainter/package.py +++ b/server_addon/substancepainter/package.py @@ -1,3 +1,10 @@ name = "substancepainter" title = "Substance Painter" -version = "0.1.2" +version = "0.2.0" + +client_dir = "ayon_substancepainter" + +ayon_required_addons = { + "core": ">0.3.2", +} +ayon_compatible_addons = {}