diff --git a/LICENSE b/LICENSE index ff92932e59..da09a0890f 100644 --- a/LICENSE +++ b/LICENSE @@ -2,6 +2,7 @@ MIT License Copyright (c) 2018 pype club + Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights diff --git a/config/__init__.py b/config/__init__.py index e5d1aee374..14af2ee736 100644 --- a/config/__init__.py +++ b/config/__init__.py @@ -1,4 +1,7 @@ import os +import sys + +import imp from pyblish import api as pyblish from avalon import api as avalon diff --git a/config/action.py b/config/action.py index 1b9dfbf07e..8dc41900cd 100644 --- a/config/action.py +++ b/config/action.py @@ -192,7 +192,7 @@ class GenerateUUIDsOnInvalidAction(pyblish.api.Action): nodes (list): all nodes to regenerate ids on """ - import config.apps.maya.lib as lib + import config.maya.lib as lib import avalon.io as io asset = instance.data['asset'] diff --git a/config/apps/__init__.py b/config/apps/__init__.py deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/config/apps/fusion/__init__.py b/config/fusion/__init__.py similarity index 94% rename from config/apps/fusion/__init__.py rename to config/fusion/__init__.py index 8ae042c934..b7b4b2d507 100644 --- a/config/apps/fusion/__init__.py +++ b/config/fusion/__init__.py @@ -24,9 +24,9 @@ def install(): pyblish.register_callback("instanceToggled", on_pyblish_instance_toggled) # Disable all families except for the ones we explicitly want to see - family_states = ["colorbleed.imagesequence", - "colorbleed.camera", - "colorbleed.pointcache"] + family_states = ["studio.imagesequence", + "studio.camera", + "studio.pointcache"] avalon.data["familiesStateDefault"] = False avalon.data["familiesStateToggled"] = family_states diff --git a/config/apps/fusion/lib.py b/config/fusion/lib.py similarity index 100% rename from config/apps/fusion/lib.py rename to config/fusion/lib.py diff --git a/config/lib.py b/config/lib.py index 1297aba606..084251b1e7 100644 --- a/config/lib.py +++ b/config/lib.py @@ -243,7 +243,7 @@ def collect_container_metadata(container): """ # TODO: Improve method of getting the host lib module host_name = _get_host_name() - package_name = "colorbleed.{}.lib".format(host_name) + package_name = "studio.{}.lib".format(host_name) hostlib = importlib.import_module(package_name) if not hasattr(hostlib, "get_additional_data"): diff --git a/config/apps/maya/__init__.py b/config/maya/__init__.py similarity index 97% rename from config/apps/maya/__init__.py rename to config/maya/__init__.py index 6a5f541f4f..b603f3edc1 100644 --- a/config/apps/maya/__init__.py +++ b/config/maya/__init__.py @@ -14,7 +14,7 @@ from ..lib import ( from . import menu from . import lib -log = logging.getLogger("config.apps.maya") +log = logging.getLogger("config.maya") PARENT_DIR = os.path.dirname(__file__) PACKAGE_DIR = os.path.dirname(PARENT_DIR) @@ -43,7 +43,7 @@ def install(): override_event("taskChanged", on_task_changed) log.info("Setting default family states for loader..") - avalon.data["familiesStateToggled"] = ["colorbleed.imagesequence"] + avalon.data["familiesStateToggled"] = ["studio.imagesequence"] def uninstall(): diff --git a/config/apps/maya/customize.py b/config/maya/customize.py similarity index 100% rename from config/apps/maya/customize.py rename to config/maya/customize.py diff --git a/config/apps/maya/lib.py b/config/maya/lib.py similarity index 99% rename from config/apps/maya/lib.py rename to config/maya/lib.py index bb2690e3f8..0ae1852f4a 100644 --- a/config/apps/maya/lib.py +++ b/config/maya/lib.py @@ -16,7 +16,7 @@ from avalon import api, maya, io, pipeline from avalon.vendor.six import string_types import avalon.maya.lib -from colorbleed import lib +from config import lib log = logging.getLogger(__name__) @@ -1012,11 +1012,11 @@ def assign_look(nodes, subset="lookDefault"): # Group all nodes per asset id grouped = defaultdict(list) for node in nodes: - colorbleed_id = get_id(node) - if not colorbleed_id: + studio_id = get_id(node) + if not studio_id: continue - parts = colorbleed_id.split(":", 1) + parts = studio_id.split(":", 1) grouped[parts[0]].append(node) for asset_id, asset_nodes in grouped.items(): @@ -1039,7 +1039,7 @@ def assign_look(nodes, subset="lookDefault"): version = io.find_one({"parent": subset_data['_id'], "type": "version", "data.families": - {"$in": ["colorbleed.look"]} + {"$in": ["studio.look"]} }, sort=[("name", -1)], projection={"_id": True, "name": True}) diff --git a/config/apps/maya/menu.json b/config/maya/menu.json similarity index 100% rename from config/apps/maya/menu.json rename to config/maya/menu.json diff --git a/config/apps/maya/menu.py b/config/maya/menu.py similarity index 94% rename from config/apps/maya/menu.py rename to config/maya/menu.py index 1e411e1c78..7c658d58c7 100644 --- a/config/apps/maya/menu.py +++ b/config/maya/menu.py @@ -7,7 +7,7 @@ from avalon.vendor.Qt import QtWidgets, QtCore, QtGui import maya.cmds as cmds self = sys.modules[__name__] -self._menu = "colorbleed" +self._menu = "pype_setup" log = logging.getLogger(__name__) @@ -56,7 +56,7 @@ def uninstall(): def install(): if cmds.about(batch=True): - print("Skipping colorbleed.menu initialization in batch mode..") + print("Skipping studio.menu initialization in batch mode..") return uninstall() diff --git a/config/apps/maya/plugin.py b/config/maya/plugin.py similarity index 100% rename from config/apps/maya/plugin.py rename to config/maya/plugin.py diff --git a/config/nuke/__init__.py b/config/nuke/__init__.py new file mode 100644 index 0000000000..9e6721cb15 --- /dev/null +++ b/config/nuke/__init__.py @@ -0,0 +1,65 @@ +import os + +from avalon import api as avalon +from pyblish import api as pyblish + +PARENT_DIR = os.path.dirname(__file__) +PACKAGE_DIR = os.path.dirname(PARENT_DIR) +PLUGINS_DIR = os.path.join(PACKAGE_DIR, "plugins") + +PUBLISH_PATH = os.path.join(PLUGINS_DIR, "nuke", "publish") +LOAD_PATH = os.path.join(PLUGINS_DIR, "nuke", "load") +CREATE_PATH = os.path.join(PLUGINS_DIR, "nuke", "create") +INVENTORY_PATH = os.path.join(PLUGINS_DIR, "nuke", "inventory") + + +def install(): + print("Registering Nuke plug-ins..") + pyblish.register_plugin_path(PUBLISH_PATH) + avalon.register_plugin_path(avalon.Loader, LOAD_PATH) + avalon.register_plugin_path(avalon.Creator, CREATE_PATH) + avalon.register_plugin_path(avalon.InventoryAction, INVENTORY_PATH) + + pyblish.register_callback("instanceToggled", on_pyblish_instance_toggled) + + # Disable all families except for the ones we explicitly want to see + family_states = ["studio.imagesequence", + "studio.camera", + "studio.pointcache"] + + avalon.data["familiesStateDefault"] = False + avalon.data["familiesStateToggled"] = family_states + + +def uninstall(): + print("Deregistering Nuke plug-ins..") + pyblish.deregister_plugin_path(PUBLISH_PATH) + avalon.deregister_plugin_path(avalon.Loader, LOAD_PATH) + avalon.deregister_plugin_path(avalon.Creator, CREATE_PATH) + + pyblish.deregister_callback("instanceToggled", on_pyblish_instance_toggled) + + +def on_pyblish_instance_toggled(instance, new_value, old_value): + """Toggle saver tool passthrough states on instance toggles.""" + + from avalon.nuke import viewer_update_and_undo_stop, add_publish_knob, log + + writes = [n for n in instance if + n.Class() == "Write"] + if not writes: + return + + # Whether instances should be passthrough based on new value + passthrough = not new_value + with viewer_update_and_undo_stop(): + for n in writes: + try: + n["publish"].value() + except ValueError: + n = add_publish_knob(n) + log.info(" `Publish` knob was added to write node..") + + current = n["publish"].value() + if current != passthrough: + n["publish"].setValue(passthrough) diff --git a/config/nuke/lib.py b/config/nuke/lib.py new file mode 100644 index 0000000000..07c540ed41 --- /dev/null +++ b/config/nuke/lib.py @@ -0,0 +1,61 @@ +import sys + +from avalon.vendor.Qt import QtGui +import avalon.nuke + + +self = sys.modules[__name__] +self._project = None + + +def update_frame_range(start, end, root=None, set_render_range=True): + """Set Fusion comp's start and end frame range + + Args: + start (float, int): start frame + end (float, int): end frame + comp (object, Optional): comp object from fusion + set_render_range (bool, Optional): When True this will also set the + composition's render start and end frame. + + Returns: + None + + """ + + if not root: + root, nodes = avalon.nuke.get_current_comp() + + knobs = { + "COMPN_GlobalStart": start, + "COMPN_GlobalEnd": end + } + + if set_render_range: + knobs.update({ + "COMPN_RenderStart": start, + "COMPN_RenderEnd": end + }) + + with avalon.nuke.comp_lock_and_undo_chunk(): + comp.SetAttrs(attrs) + + +def get_additional_data(container): + """Get Fusion related data for the container + + Args: + container(dict): the container found by the ls() function + + Returns: + dict + """ + + tool = container["_tool"] + tile_color = tool.TileColor + if tile_color is None: + return {} + + return {"color": QtGui.QColor.fromRgbF(tile_color["R"], + tile_color["G"], + tile_color["B"])} diff --git a/config/plugins/fusion/create/create_tiff_saver.py b/config/plugins/fusion/create/create_tiff_saver.py index b313ca994f..4baddfc36e 100644 --- a/config/plugins/fusion/create/create_tiff_saver.py +++ b/config/plugins/fusion/create/create_tiff_saver.py @@ -9,7 +9,7 @@ class CreateTiffSaver(avalon.api.Creator): name = "tiffDefault" label = "Create Tiff Saver" hosts = ["fusion"] - family = "colorbleed.saver" + family = "studio.saver" def process(self): diff --git a/config/plugins/fusion/load/actions.py b/config/plugins/fusion/load/actions.py index 19474076c2..5f30cde963 100644 --- a/config/plugins/fusion/load/actions.py +++ b/config/plugins/fusion/load/actions.py @@ -8,11 +8,11 @@ from avalon import api class FusionSetFrameRangeLoader(api.Loader): """Specific loader of Alembic for the avalon.animation family""" - families = ["colorbleed.animation", - "colorbleed.camera", - "colorbleed.imagesequence", - "colorbleed.yeticache", - "colorbleed.pointcache"] + families = ["studio.animation", + "studio.camera", + "studio.imagesequence", + "studio.yeticache", + "studio.pointcache"] representations = ["*"] label = "Set frame range" @@ -22,7 +22,7 @@ class FusionSetFrameRangeLoader(api.Loader): def load(self, context, name, namespace, data): - from config.apps.fusion import lib + from config.fusion import lib version = context['version'] version_data = version.get("data", {}) @@ -41,11 +41,11 @@ class FusionSetFrameRangeLoader(api.Loader): class FusionSetFrameRangeWithHandlesLoader(api.Loader): """Specific loader of Alembic for the avalon.animation family""" - families = ["colorbleed.animation", - "colorbleed.camera", - "colorbleed.imagesequence", - "colorbleed.yeticache", - "colorbleed.pointcache"] + families = ["studio.animation", + "studio.camera", + "studio.imagesequence", + "studio.yeticache", + "studio.pointcache"] representations = ["*"] label = "Set frame range (with handles)" @@ -55,7 +55,7 @@ class FusionSetFrameRangeWithHandlesLoader(api.Loader): def load(self, context, name, namespace, data): - from config.apps.fusion import lib + from config.fusion import lib version = context['version'] version_data = version.get("data", {}) diff --git a/config/plugins/fusion/load/load_sequence.py b/config/plugins/fusion/load/load_sequence.py index 81313992ed..2150bd1eb0 100644 --- a/config/plugins/fusion/load/load_sequence.py +++ b/config/plugins/fusion/load/load_sequence.py @@ -113,7 +113,7 @@ def loader_shift(loader, frame, relative=True): class FusionLoadSequence(api.Loader): """Load image sequence into Fusion""" - families = ["colorbleed.imagesequence"] + families = ["studio.imagesequence"] representations = ["*"] label = "Load sequence" diff --git a/config/plugins/fusion/publish/collect_instances.py b/config/plugins/fusion/publish/collect_instances.py index 322197fc87..9177f603c3 100644 --- a/config/plugins/fusion/publish/collect_instances.py +++ b/config/plugins/fusion/publish/collect_instances.py @@ -76,8 +76,8 @@ class CollectInstances(pyblish.api.ContextPlugin): "outputDir": os.path.dirname(path), "ext": ext, # todo: should be redundant "label": label, - "families": ["colorbleed.saver"], - "family": "colorbleed.saver", + "families": ["studio.saver"], + "family": "studio.saver", "active": active, "publish": active # backwards compatibility }) diff --git a/config/plugins/fusion/publish/collect_render_target.py b/config/plugins/fusion/publish/collect_render_target.py index a9193eaee5..0abdd7113f 100644 --- a/config/plugins/fusion/publish/collect_render_target.py +++ b/config/plugins/fusion/publish/collect_render_target.py @@ -13,7 +13,7 @@ class CollectFusionRenderMode(pyblish.api.InstancePlugin): available tool does not visualize which render mode is set for the current comp, please run the following line in the console (Py2) - comp.GetData("colorbleed.rendermode") + comp.GetData("studio.rendermode") This will return the name of the current render mode as seen above under Options. @@ -23,7 +23,7 @@ class CollectFusionRenderMode(pyblish.api.InstancePlugin): order = pyblish.api.CollectorOrder + 0.4 label = "Collect Render Mode" hosts = ["fusion"] - families = ["colorbleed.saver"] + families = ["studio.saver"] def process(self, instance): """Collect all image sequence tools""" @@ -34,11 +34,11 @@ class CollectFusionRenderMode(pyblish.api.InstancePlugin): raise RuntimeError("No comp previously collected, unable to " "retrieve Fusion version.") - rendermode = comp.GetData("colorbleed.rendermode") or "renderlocal" + rendermode = comp.GetData("studio.rendermode") or "renderlocal" assert rendermode in options, "Must be supported render mode" self.log.info("Render mode: {0}".format(rendermode)) # Append family - family = "colorbleed.saver.{0}".format(rendermode) + family = "studio.saver.{0}".format(rendermode) instance.data["families"].append(family) diff --git a/config/plugins/fusion/publish/increment_current_file_deadline.py b/config/plugins/fusion/publish/increment_current_file_deadline.py index 9d766c426c..5a723a320b 100644 --- a/config/plugins/fusion/publish/increment_current_file_deadline.py +++ b/config/plugins/fusion/publish/increment_current_file_deadline.py @@ -11,13 +11,13 @@ class FusionIncrementCurrentFile(pyblish.api.ContextPlugin): label = "Increment current file" order = pyblish.api.IntegratorOrder + 9.0 hosts = ["fusion"] - families = ["colorbleed.saver.deadline"] + families = ["studio.saver.deadline"] optional = True def process(self, context): - from colorbleed.lib import version_up - from colorbleed.action import get_errored_plugins_from_data + from config.lib import version_up + from config.action import get_errored_plugins_from_data errored_plugins = get_errored_plugins_from_data(context) if any(plugin.__name__ == "FusionSubmitDeadline" diff --git a/config/plugins/fusion/publish/publish_image_sequences.py b/config/plugins/fusion/publish/publish_image_sequences.py index 33d6d2773d..bdb77be458 100644 --- a/config/plugins/fusion/publish/publish_image_sequences.py +++ b/config/plugins/fusion/publish/publish_image_sequences.py @@ -5,7 +5,7 @@ import subprocess import pyblish.api -from colorbleed.action import get_errored_plugins_from_data +from config.action import get_errored_plugins_from_data def _get_script(): @@ -14,7 +14,7 @@ def _get_script(): # todo: use a more elegant way to get the python script try: - from colorbleed.scripts import publish_filesequence + from config.scripts import publish_filesequence except Exception: raise RuntimeError("Expected module 'publish_imagesequence'" "to be available") @@ -32,7 +32,7 @@ class PublishImageSequence(pyblish.api.InstancePlugin): order = pyblish.api.IntegratorOrder label = "Publish Rendered Image Sequence(s)" hosts = ["fusion"] - families = ["colorbleed.saver.renderlocal"] + families = ["studio.saver.renderlocal"] def process(self, instance): @@ -55,7 +55,7 @@ class PublishImageSequence(pyblish.api.InstancePlugin): "regex": regex, "startFrame": instance.context.data["startFrame"], "endFrame": instance.context.data["endFrame"], - "families": ["colorbleed.imagesequence"], + "families": ["studio.imagesequence"], } # Write metadata and store the path in the instance diff --git a/config/plugins/fusion/publish/render_local.py b/config/plugins/fusion/publish/render_local.py index 39ce0d45dc..d34f7d56ee 100644 --- a/config/plugins/fusion/publish/render_local.py +++ b/config/plugins/fusion/publish/render_local.py @@ -14,7 +14,7 @@ class FusionRenderLocal(pyblish.api.InstancePlugin): order = pyblish.api.ExtractorOrder label = "Render Local" hosts = ["fusion"] - families = ["colorbleed.saver.renderlocal"] + families = ["studio.saver.renderlocal"] def process(self, instance): diff --git a/config/plugins/fusion/publish/save_scene.py b/config/plugins/fusion/publish/save_scene.py index e88b8ba769..ffc44b98d5 100644 --- a/config/plugins/fusion/publish/save_scene.py +++ b/config/plugins/fusion/publish/save_scene.py @@ -7,7 +7,7 @@ class FusionSaveComp(pyblish.api.ContextPlugin): label = "Save current file" order = pyblish.api.ExtractorOrder - 0.49 hosts = ["fusion"] - families = ["colorbleed.saver"] + families = ["studio.saver"] def process(self, context): diff --git a/config/plugins/fusion/publish/submit_deadline.py b/config/plugins/fusion/publish/submit_deadline.py index 9fbf9b4003..cce9b1292c 100644 --- a/config/plugins/fusion/publish/submit_deadline.py +++ b/config/plugins/fusion/publish/submit_deadline.py @@ -19,7 +19,7 @@ class FusionSubmitDeadline(pyblish.api.InstancePlugin): label = "Submit to Deadline" order = pyblish.api.IntegratorOrder hosts = ["fusion"] - families = ["colorbleed.saver.deadline"] + families = ["studio.saver.deadline"] def process(self, instance): diff --git a/config/plugins/fusion/publish/validate_background_depth.py b/config/plugins/fusion/publish/validate_background_depth.py index abf5dd248e..cdb5305c6c 100644 --- a/config/plugins/fusion/publish/validate_background_depth.py +++ b/config/plugins/fusion/publish/validate_background_depth.py @@ -1,6 +1,6 @@ import pyblish.api -from colorbleed import action +from config import action class ValidateBackgroundDepth(pyblish.api.InstancePlugin): @@ -10,7 +10,7 @@ class ValidateBackgroundDepth(pyblish.api.InstancePlugin): label = "Validate Background Depth 32 bit" actions = [action.RepairAction] hosts = ["fusion"] - families = ["colorbleed.saver"] + families = ["studio.saver"] optional = True @classmethod diff --git a/config/plugins/fusion/publish/validate_comp_saved.py b/config/plugins/fusion/publish/validate_comp_saved.py index 18621ceb4f..6c94d730ce 100644 --- a/config/plugins/fusion/publish/validate_comp_saved.py +++ b/config/plugins/fusion/publish/validate_comp_saved.py @@ -8,7 +8,7 @@ class ValidateFusionCompSaved(pyblish.api.ContextPlugin): order = pyblish.api.ValidatorOrder label = "Validate Comp Saved" - families = ["colorbleed.saver"] + families = ["studio.saver"] hosts = ["fusion"] def process(self, context): diff --git a/config/plugins/fusion/publish/validate_create_folder_checked.py b/config/plugins/fusion/publish/validate_create_folder_checked.py index 7a10b1e538..78ce441745 100644 --- a/config/plugins/fusion/publish/validate_create_folder_checked.py +++ b/config/plugins/fusion/publish/validate_create_folder_checked.py @@ -1,6 +1,6 @@ import pyblish.api -from colorbleed import action +from config import action class ValidateCreateFolderChecked(pyblish.api.InstancePlugin): @@ -13,7 +13,7 @@ class ValidateCreateFolderChecked(pyblish.api.InstancePlugin): order = pyblish.api.ValidatorOrder actions = [action.RepairAction] label = "Validate Create Folder Checked" - families = ["colorbleed.saver"] + families = ["studio.saver"] hosts = ["fusion"] @classmethod diff --git a/config/plugins/fusion/publish/validate_filename_has_extension.py b/config/plugins/fusion/publish/validate_filename_has_extension.py index b7fe1f4c31..40f167765d 100644 --- a/config/plugins/fusion/publish/validate_filename_has_extension.py +++ b/config/plugins/fusion/publish/validate_filename_has_extension.py @@ -14,7 +14,7 @@ class ValidateFilenameHasExtension(pyblish.api.InstancePlugin): order = pyblish.api.ValidatorOrder label = "Validate Filename Has Extension" - families = ["colorbleed.saver"] + families = ["studio.saver"] hosts = ["fusion"] def process(self, instance): diff --git a/config/plugins/fusion/publish/validate_saver_has_input.py b/config/plugins/fusion/publish/validate_saver_has_input.py index 27ed77d9d9..9e94f101a0 100644 --- a/config/plugins/fusion/publish/validate_saver_has_input.py +++ b/config/plugins/fusion/publish/validate_saver_has_input.py @@ -10,7 +10,7 @@ class ValidateSaverHasInput(pyblish.api.InstancePlugin): order = pyblish.api.ValidatorOrder label = "Validate Saver Has Input" - families = ["colorbleed.saver"] + families = ["studio.saver"] hosts = ["fusion"] @classmethod diff --git a/config/plugins/fusion/publish/validate_saver_passthrough.py b/config/plugins/fusion/publish/validate_saver_passthrough.py index ca58eba5bd..c69873c04d 100644 --- a/config/plugins/fusion/publish/validate_saver_passthrough.py +++ b/config/plugins/fusion/publish/validate_saver_passthrough.py @@ -6,7 +6,7 @@ class ValidateSaverPassthrough(pyblish.api.ContextPlugin): order = pyblish.api.ValidatorOrder label = "Validate Saver Passthrough" - families = ["colorbleed.saver"] + families = ["studio.saver"] hosts = ["fusion"] def process(self, context): diff --git a/config/plugins/fusion/publish/validate_unique_subsets.py b/config/plugins/fusion/publish/validate_unique_subsets.py index 527b4acc69..4fef26c9e9 100644 --- a/config/plugins/fusion/publish/validate_unique_subsets.py +++ b/config/plugins/fusion/publish/validate_unique_subsets.py @@ -6,7 +6,7 @@ class ValidateUniqueSubsets(pyblish.api.InstancePlugin): order = pyblish.api.ValidatorOrder label = "Validate Unique Subsets" - families = ["colorbleed.saver"] + families = ["studio.saver"] hosts = ["fusion"] @classmethod diff --git a/config/plugins/global/load/open_imagesequence.py b/config/plugins/global/load/open_imagesequence.py index 12fb9a0226..350ae2a6b1 100644 --- a/config/plugins/global/load/open_imagesequence.py +++ b/config/plugins/global/load/open_imagesequence.py @@ -18,7 +18,7 @@ def open(filepath): class PlayImageSequence(api.Loader): """Open Image Sequence with system default""" - families = ["colorbleed.imagesequence"] + families = ["studio.imagesequence"] representations = ["*"] label = "Play sequence" diff --git a/config/plugins/global/publish/collect_deadline_user.py b/config/plugins/global/publish/collect_deadline_user.py index 4f7af94419..f90487e6e9 100644 --- a/config/plugins/global/publish/collect_deadline_user.py +++ b/config/plugins/global/publish/collect_deadline_user.py @@ -35,7 +35,7 @@ class CollectDeadlineUser(pyblish.api.ContextPlugin): order = pyblish.api.CollectorOrder + 0.499 label = "Deadline User" hosts = ['maya', 'fusion'] - families = ["colorbleed.renderlayer", "colorbleed.saver.deadline"] + families = ["studio.renderlayer", "studio.saver.deadline"] def process(self, context): """Inject the current working file""" diff --git a/config/plugins/global/publish/collect_filesequences.py b/config/plugins/global/publish/collect_filesequences.py index 9c2390d3dc..e2564a9918 100644 --- a/config/plugins/global/publish/collect_filesequences.py +++ b/config/plugins/global/publish/collect_filesequences.py @@ -148,7 +148,7 @@ class CollectFileSequences(pyblish.api.ContextPlugin): raise RuntimeError("Invalid sequence") # Get family from the data - families = data.get("families", ["colorbleed.imagesequence"]) + families = data.get("families", ["studio.imagesequence"]) assert isinstance(families, (list, tuple)), "Must be iterable" assert families, "Must have at least a single family" diff --git a/config/plugins/global/publish/integrate.py b/config/plugins/global/publish/integrate.py index be9c46fbfe..18015e2090 100644 --- a/config/plugins/global/publish/integrate.py +++ b/config/plugins/global/publish/integrate.py @@ -23,18 +23,18 @@ class IntegrateAsset(pyblish.api.InstancePlugin): label = "Integrate Asset" order = pyblish.api.IntegratorOrder - families = ["colorbleed.animation", - "colorbleed.camera", - "colorbleed.imagesequence", - "colorbleed.look", - "config.apps.mayaAscii", - "colorbleed.model", - "colorbleed.pointcache", - "colorbleed.setdress", - "colorbleed.rig", - "colorbleed.vrayproxy", - "colorbleed.yetiRig", - "colorbleed.yeticache"] + families = ["studio.animation", + "studio.camera", + "studio.imagesequence", + "studio.look", + "config.mayaAscii", + "studio.model", + "studio.pointcache", + "studio.setdress", + "studio.rig", + "studio.vrayproxy", + "studio.yetiRig", + "studio.yeticache"] def process(self, instance): diff --git a/config/plugins/global/publish/submit_publish_job.py b/config/plugins/global/publish/submit_publish_job.py index 34a09c9b81..694e72abc7 100644 --- a/config/plugins/global/publish/submit_publish_job.py +++ b/config/plugins/global/publish/submit_publish_job.py @@ -12,7 +12,7 @@ import pyblish.api def _get_script(): """Get path to the image sequence script""" try: - from colorbleed.scripts import publish_filesequence + from config.scripts import publish_filesequence except Exception as e: raise RuntimeError("Expected module 'publish_imagesequence'" "to be available") @@ -123,7 +123,7 @@ class SubmitDependentImageSequenceJobDeadline(pyblish.api.InstancePlugin): label = "Submit image sequence jobs to Deadline" order = pyblish.api.IntegratorOrder + 0.1 hosts = ["fusion", "maya"] - families = ["colorbleed.saver.deadline", "colorbleed.renderlayer"] + families = ["studio.saver.deadline", "studio.renderlayer"] def process(self, instance): @@ -168,7 +168,7 @@ class SubmitDependentImageSequenceJobDeadline(pyblish.api.InstancePlugin): "regex": regex, "startFrame": start, "endFrame": end, - "families": ["colorbleed.imagesequence"], + "families": ["studio.imagesequence"], # Optional metadata (for debugging) "metadata": { @@ -185,7 +185,7 @@ class SubmitDependentImageSequenceJobDeadline(pyblish.api.InstancePlugin): if data.get("extendFrames", False): - family = "colorbleed.imagesequence" + family = "studio.imagesequence" override = data["overrideExistingFrame"] # override = data.get("overrideExistingFrame", False) diff --git a/config/plugins/global/publish/validate_sequence_frames.py b/config/plugins/global/publish/validate_sequence_frames.py index bd14b4c0c3..1258050394 100644 --- a/config/plugins/global/publish/validate_sequence_frames.py +++ b/config/plugins/global/publish/validate_sequence_frames.py @@ -11,7 +11,7 @@ class ValidateSequenceFrames(pyblish.api.InstancePlugin): order = pyblish.api.ValidatorOrder label = "Validate Sequence Frames" - families = ["colorbleed.imagesequence"] + families = ["studio.imagesequence"] hosts = ["shell"] def process(self, instance): diff --git a/config/plugins/maya/create/colorbleed_animation.py b/config/plugins/maya/create/colorbleed_animation.py index 1759343858..4ce24f6e89 100644 --- a/config/plugins/maya/create/colorbleed_animation.py +++ b/config/plugins/maya/create/colorbleed_animation.py @@ -1,7 +1,7 @@ from collections import OrderedDict import avalon.maya -from config.apps.maya import lib +from config.maya import lib class CreateAnimation(avalon.maya.Creator): @@ -9,7 +9,7 @@ class CreateAnimation(avalon.maya.Creator): name = "animationDefault" label = "Animation" - family = "colorbleed.animation" + family = "studio.animation" icon = "male" def __init__(self, *args, **kwargs): diff --git a/config/plugins/maya/create/colorbleed_camera.py b/config/plugins/maya/create/colorbleed_camera.py index 31f14cf272..d06128200f 100644 --- a/config/plugins/maya/create/colorbleed_camera.py +++ b/config/plugins/maya/create/colorbleed_camera.py @@ -1,6 +1,6 @@ from collections import OrderedDict import avalon.maya -from config.apps.maya import lib +from config.maya import lib class CreateCamera(avalon.maya.Creator): @@ -8,7 +8,7 @@ class CreateCamera(avalon.maya.Creator): name = "cameraDefault" label = "Camera" - family = "colorbleed.camera" + family = "studio.camera" icon = "video-camera" def __init__(self, *args, **kwargs): diff --git a/config/plugins/maya/create/colorbleed_look.py b/config/plugins/maya/create/colorbleed_look.py index 7a14694fc5..0ca2dcdc1b 100644 --- a/config/plugins/maya/create/colorbleed_look.py +++ b/config/plugins/maya/create/colorbleed_look.py @@ -1,6 +1,6 @@ from collections import OrderedDict import avalon.maya -from config.apps.maya import lib +from config.maya import lib class CreateLook(avalon.maya.Creator): @@ -8,7 +8,7 @@ class CreateLook(avalon.maya.Creator): name = "look" label = "Look" - family = "colorbleed.look" + family = "studio.look" icon = "paint-brush" def __init__(self, *args, **kwargs): diff --git a/config/plugins/maya/create/colorbleed_mayaascii.py b/config/plugins/maya/create/colorbleed_mayaascii.py index 57738af769..1822b7bdd5 100644 --- a/config/plugins/maya/create/colorbleed_mayaascii.py +++ b/config/plugins/maya/create/colorbleed_mayaascii.py @@ -6,5 +6,5 @@ class CreateMayaAscii(avalon.maya.Creator): name = "mayaAscii" label = "Maya Ascii" - family = "config.apps.mayaAscii" + family = "config.mayaAscii" icon = "file-archive-o" diff --git a/config/plugins/maya/create/colorbleed_model.py b/config/plugins/maya/create/colorbleed_model.py index b55b3dc3dd..4d321a444e 100644 --- a/config/plugins/maya/create/colorbleed_model.py +++ b/config/plugins/maya/create/colorbleed_model.py @@ -6,5 +6,5 @@ class CreateModel(avalon.maya.Creator): name = "modelDefault" label = "Model" - family = "colorbleed.model" + family = "studio.model" icon = "cube" diff --git a/config/plugins/maya/create/colorbleed_pointcache.py b/config/plugins/maya/create/colorbleed_pointcache.py index 87e5abb214..b1fe062530 100644 --- a/config/plugins/maya/create/colorbleed_pointcache.py +++ b/config/plugins/maya/create/colorbleed_pointcache.py @@ -1,7 +1,7 @@ from collections import OrderedDict import avalon.maya -from config.apps.maya import lib +from config.maya import lib class CreatePointCache(avalon.maya.Creator): @@ -9,7 +9,7 @@ class CreatePointCache(avalon.maya.Creator): name = "pointcache" label = "Point Cache" - family = "colorbleed.pointcache" + family = "studio.pointcache" icon = "gears" def __init__(self, *args, **kwargs): diff --git a/config/plugins/maya/create/colorbleed_renderglobals.py b/config/plugins/maya/create/colorbleed_renderglobals.py index 1d12d9fe9d..938ec9edea 100644 --- a/config/plugins/maya/create/colorbleed_renderglobals.py +++ b/config/plugins/maya/create/colorbleed_renderglobals.py @@ -10,7 +10,7 @@ from avalon import api class CreateRenderGlobals(avalon.maya.Creator): label = "Render Globals" - family = "colorbleed.renderglobals" + family = "studio.renderglobals" icon = "gears" def __init__(self, *args, **kwargs): diff --git a/config/plugins/maya/create/colorbleed_rig.py b/config/plugins/maya/create/colorbleed_rig.py index 6947aaac31..471219c6ef 100644 --- a/config/plugins/maya/create/colorbleed_rig.py +++ b/config/plugins/maya/create/colorbleed_rig.py @@ -8,7 +8,7 @@ class CreateRig(avalon.maya.Creator): name = "rigDefault" label = "Rig" - family = "colorbleed.rig" + family = "studio.rig" icon = "wheelchair" def process(self): diff --git a/config/plugins/maya/create/colorbleed_setdress.py b/config/plugins/maya/create/colorbleed_setdress.py index 47089bea21..56c1129a82 100644 --- a/config/plugins/maya/create/colorbleed_setdress.py +++ b/config/plugins/maya/create/colorbleed_setdress.py @@ -6,5 +6,5 @@ class CreateSetDress(avalon.maya.Creator): name = "setdress" label = "Set Dress" - family = "colorbleed.setdress" + family = "studio.setdress" icon = "cubes" \ No newline at end of file diff --git a/config/plugins/maya/create/colorbleed_vrayproxy.py b/config/plugins/maya/create/colorbleed_vrayproxy.py index e100c31bd0..8153a29c0c 100644 --- a/config/plugins/maya/create/colorbleed_vrayproxy.py +++ b/config/plugins/maya/create/colorbleed_vrayproxy.py @@ -8,7 +8,7 @@ class CreateVrayProxy(avalon.maya.Creator): name = "vrayproxy" label = "VRay Proxy" - family = "colorbleed.vrayproxy" + family = "studio.vrayproxy" icon = "gears" def __init__(self, *args, **kwargs): diff --git a/config/plugins/maya/create/colorbleed_yeti_cache.py b/config/plugins/maya/create/colorbleed_yeti_cache.py index 3bafb7a5c7..1eefa07a54 100644 --- a/config/plugins/maya/create/colorbleed_yeti_cache.py +++ b/config/plugins/maya/create/colorbleed_yeti_cache.py @@ -1,7 +1,7 @@ from collections import OrderedDict import avalon.maya -from config.apps.maya import lib +from config.maya import lib class CreateYetiCache(avalon.maya.Creator): @@ -9,7 +9,7 @@ class CreateYetiCache(avalon.maya.Creator): name = "yetiDefault" label = "Yeti Cache" - family = "colorbleed.yeticache" + family = "studio.yeticache" icon = "pagelines" def __init__(self, *args, **kwargs): diff --git a/config/plugins/maya/create/colorbleed_yeti_rig.py b/config/plugins/maya/create/colorbleed_yeti_rig.py index 3b21c586a7..b0c9e1cece 100644 --- a/config/plugins/maya/create/colorbleed_yeti_rig.py +++ b/config/plugins/maya/create/colorbleed_yeti_rig.py @@ -7,7 +7,7 @@ class CreateYetiRig(avalon.maya.Creator): """Output for procedural plugin nodes ( Yeti / XGen / etc)""" label = "Yeti Rig" - family = "colorbleed.yetiRig" + family = "studio.yetiRig" icon = "usb" def process(self): diff --git a/config/plugins/maya/load/_load_animation.py b/config/plugins/maya/load/_load_animation.py index 35fd2e647a..0eaf47d667 100644 --- a/config/plugins/maya/load/_load_animation.py +++ b/config/plugins/maya/load/_load_animation.py @@ -1,12 +1,12 @@ -import config.apps.maya.plugin +import config.maya.plugin -class AbcLoader(config.apps.maya.plugin.ReferenceLoader): +class AbcLoader(config.maya.plugin.ReferenceLoader): """Specific loader of Alembic for the avalon.animation family""" - families = ["colorbleed.animation", - "colorbleed.camera", - "colorbleed.pointcache"] + families = ["studio.animation", + "studio.camera", + "studio.pointcache"] representations = ["abc"] label = "Reference animation" @@ -42,7 +42,7 @@ class AbcLoader(config.apps.maya.plugin.ReferenceLoader): reference=True, returnNewNodes=True) - # load colorbleed ID attribute + # load studio ID attribute self[:] = nodes return nodes diff --git a/config/plugins/maya/load/actions.py b/config/plugins/maya/load/actions.py index 440fabf124..2bdca8506a 100644 --- a/config/plugins/maya/load/actions.py +++ b/config/plugins/maya/load/actions.py @@ -8,9 +8,9 @@ from avalon import api class SetFrameRangeLoader(api.Loader): """Specific loader of Alembic for the avalon.animation family""" - families = ["colorbleed.animation", - "colorbleed.camera", - "colorbleed.pointcache"] + families = ["studio.animation", + "studio.camera", + "studio.pointcache"] representations = ["abc"] label = "Set frame range" @@ -42,9 +42,9 @@ class SetFrameRangeLoader(api.Loader): class SetFrameRangeWithHandlesLoader(api.Loader): """Specific loader of Alembic for the avalon.animation family""" - families = ["colorbleed.animation", - "colorbleed.camera", - "colorbleed.pointcache"] + families = ["studio.animation", + "studio.camera", + "studio.pointcache"] representations = ["abc"] label = "Set frame range (with handles)" diff --git a/config/plugins/maya/load/load_alembic.py b/config/plugins/maya/load/load_alembic.py index 4daa1fada6..ee06e067a0 100644 --- a/config/plugins/maya/load/load_alembic.py +++ b/config/plugins/maya/load/load_alembic.py @@ -1,11 +1,11 @@ -import config.apps.maya.plugin +import config.maya.plugin -class AbcLoader(config.apps.maya.plugin.ReferenceLoader): +class AbcLoader(config.maya.plugin.ReferenceLoader): """Specific loader of Alembic for the avalon.animation family""" - families = ["colorbleed.animation", - "colorbleed.pointcache"] + families = ["studio.animation", + "studio.pointcache"] label = "Reference animation" representations = ["abc"] order = -10 diff --git a/config/plugins/maya/load/load_camera.py b/config/plugins/maya/load/load_camera.py index 5aca36a934..05b08b446b 100644 --- a/config/plugins/maya/load/load_camera.py +++ b/config/plugins/maya/load/load_camera.py @@ -1,10 +1,10 @@ -import config.apps.maya.plugin +import config.maya.plugin -class CameraLoader(config.apps.maya.plugin.ReferenceLoader): +class CameraLoader(config.maya.plugin.ReferenceLoader): """Specific loader of Alembic for the avalon.animation family""" - families = ["colorbleed.camera"] + families = ["studio.camera"] label = "Reference camera" representations = ["abc", "ma"] order = -10 diff --git a/config/plugins/maya/load/load_look.py b/config/plugins/maya/load/load_look.py index bcac5a7499..c34a67e7b8 100644 --- a/config/plugins/maya/load/load_look.py +++ b/config/plugins/maya/load/load_look.py @@ -1,10 +1,10 @@ -import config.apps.maya.plugin +import config.maya.plugin -class LookLoader(config.apps.maya.plugin.ReferenceLoader): +class LookLoader(config.maya.plugin.ReferenceLoader): """Specific loader for lookdev""" - families = ["colorbleed.look"] + families = ["studio.look"] representations = ["ma"] label = "Reference look" diff --git a/config/plugins/maya/load/load_mayaascii.py b/config/plugins/maya/load/load_mayaascii.py index c48d3370b5..4af035b55d 100644 --- a/config/plugins/maya/load/load_mayaascii.py +++ b/config/plugins/maya/load/load_mayaascii.py @@ -1,10 +1,10 @@ -import config.apps.maya.plugin +import config.maya.plugin -class MayaAsciiLoader(config.apps.maya.plugin.ReferenceLoader): +class MayaAsciiLoader(config.maya.plugin.ReferenceLoader): """Load the model""" - families = ["config.apps.mayaAscii"] + families = ["config.mayaAscii"] representations = ["ma"] label = "Reference Maya Ascii" diff --git a/config/plugins/maya/load/load_model.py b/config/plugins/maya/load/load_model.py index 3eb2e53d33..58b888057d 100644 --- a/config/plugins/maya/load/load_model.py +++ b/config/plugins/maya/load/load_model.py @@ -1,11 +1,11 @@ from avalon import api -import config.apps.maya.plugin +import config.maya.plugin -class ModelLoader(config.apps.maya.plugin.ReferenceLoader): +class ModelLoader(config.maya.plugin.ReferenceLoader): """Load the model""" - families = ["colorbleed.model"] + families = ["studio.model"] representations = ["ma"] label = "Reference Model" @@ -37,7 +37,7 @@ class ModelLoader(config.apps.maya.plugin.ReferenceLoader): class GpuCacheLoader(api.Loader): """Load model Alembic as gpuCache""" - families = ["colorbleed.model"] + families = ["studio.model"] representations = ["abc"] label = "Import Gpu Cache" diff --git a/config/plugins/maya/load/load_rig.py b/config/plugins/maya/load/load_rig.py index 8b7dbe1532..3f472a05da 100644 --- a/config/plugins/maya/load/load_rig.py +++ b/config/plugins/maya/load/load_rig.py @@ -1,17 +1,17 @@ from maya import cmds -import config.apps.maya.plugin +import config.maya.plugin from avalon import api, maya -class RigLoader(config.apps.maya.plugin.ReferenceLoader): +class RigLoader(config.maya.plugin.ReferenceLoader): """Specific loader for rigs This automatically creates an instance for animators upon load. """ - families = ["colorbleed.rig"] + families = ["studio.rig"] representations = ["ma"] label = "Reference rig" @@ -62,7 +62,7 @@ class RigLoader(config.apps.maya.plugin.ReferenceLoader): cmds.select([output, controls] + roots, noExpand=True) api.create(name=namespace, asset=asset, - family="colorbleed.animation", + family="studio.animation", options={"useSelection": True}, data={"dependencies": dependency}) diff --git a/config/plugins/maya/load/load_setdress.py b/config/plugins/maya/load/load_setdress.py index 8cc857fc3f..3820345ad0 100644 --- a/config/plugins/maya/load/load_setdress.py +++ b/config/plugins/maya/load/load_setdress.py @@ -3,7 +3,7 @@ from avalon import api class SetDressLoader(api.Loader): - families = ["colorbleed.setdress"] + families = ["studio.setdress"] representations = ["json"] label = "Load Set Dress" @@ -23,7 +23,7 @@ class SetDressLoader(api.Loader): suffix="_", ) - from colorbleed import setdress_api + from config import setdress_api containers = setdress_api.load_package(filepath=self.fname, name=name, @@ -45,7 +45,7 @@ class SetDressLoader(api.Loader): def update(self, container, representation): - from colorbleed import setdress_api + from config import setdress_api return setdress_api.update_package(container, representation) @@ -53,7 +53,7 @@ class SetDressLoader(api.Loader): """Remove all sub containers""" from avalon import api - from colorbleed import setdress_api + from config import setdress_api import maya.cmds as cmds # Remove all members diff --git a/config/plugins/maya/load/load_vrayproxy.py b/config/plugins/maya/load/load_vrayproxy.py index cbfe45cb46..5a7722df47 100644 --- a/config/plugins/maya/load/load_vrayproxy.py +++ b/config/plugins/maya/load/load_vrayproxy.py @@ -7,7 +7,7 @@ import maya.cmds as cmds class VRayProxyLoader(api.Loader): """Load VRayMesh proxy""" - families = ["colorbleed.vrayproxy"] + families = ["studio.vrayproxy"] representations = ["vrmesh"] label = "Import VRay Proxy" @@ -18,7 +18,7 @@ class VRayProxyLoader(api.Loader): def load(self, context, name, namespace, data): from avalon.maya.pipeline import containerise - from config.apps.maya.lib import namespaced + from config.maya.lib import namespaced asset_name = context['asset']["name"] namespace = namespace or lib.unique_namespace( diff --git a/config/plugins/maya/load/load_yeti_cache.py b/config/plugins/maya/load/load_yeti_cache.py index e3c4a149d0..a79315b039 100644 --- a/config/plugins/maya/load/load_yeti_cache.py +++ b/config/plugins/maya/load/load_yeti_cache.py @@ -8,12 +8,12 @@ from maya import cmds from avalon import api from avalon.maya import lib as avalon_lib, pipeline -from config.apps.maya import lib +from config.maya import lib class YetiCacheLoader(api.Loader): - families = ["colorbleed.yeticache", "colorbleed.yetiRig"] + families = ["studio.yeticache", "studio.yetiRig"] representations = ["fur"] label = "Load Yeti Cache" diff --git a/config/plugins/maya/load/load_yeti_rig.py b/config/plugins/maya/load/load_yeti_rig.py index 6e5c1d0014..78f203d0bc 100644 --- a/config/plugins/maya/load/load_yeti_rig.py +++ b/config/plugins/maya/load/load_yeti_rig.py @@ -1,9 +1,9 @@ -import config.apps.maya.plugin +import config.maya.plugin -class YetiRigLoader(config.apps.maya.plugin.ReferenceLoader): +class YetiRigLoader(config.maya.plugin.ReferenceLoader): - families = ["colorbleed.yetiRig"] + families = ["studio.yetiRig"] representations = ["ma"] label = "Load Yeti Rig" diff --git a/config/plugins/maya/publish/collect_animation.py b/config/plugins/maya/publish/collect_animation.py index 53251cadc3..4974175b13 100644 --- a/config/plugins/maya/publish/collect_animation.py +++ b/config/plugins/maya/publish/collect_animation.py @@ -16,7 +16,7 @@ class CollectAnimationOutputGeometry(pyblish.api.InstancePlugin): """ order = pyblish.api.CollectorOrder + 0.4 - families = ["colorbleed.animation"] + families = ["studio.animation"] label = "Collect Animation Output Geometry" hosts = ["maya"] diff --git a/config/plugins/maya/publish/collect_history.py b/config/plugins/maya/publish/collect_history.py index 840e916133..57af4eaf80 100644 --- a/config/plugins/maya/publish/collect_history.py +++ b/config/plugins/maya/publish/collect_history.py @@ -17,7 +17,7 @@ class CollectMayaHistory(pyblish.api.InstancePlugin): order = pyblish.api.CollectorOrder + 0.1 hosts = ["maya"] label = "Maya History" - families = ["colorbleed.rig"] + families = ["studio.rig"] verbose = False def process(self, instance): diff --git a/config/plugins/maya/publish/collect_look.py b/config/plugins/maya/publish/collect_look.py index 5241040e95..d132e25b01 100644 --- a/config/plugins/maya/publish/collect_look.py +++ b/config/plugins/maya/publish/collect_look.py @@ -1,6 +1,6 @@ from maya import cmds import pyblish.api -import config.apps.maya.lib as lib +import config.maya.lib as lib from cb.utils.maya import context, shaders SHAPE_ATTRS = ["castsShadows", @@ -67,7 +67,7 @@ class CollectLook(pyblish.api.InstancePlugin): """ order = pyblish.api.CollectorOrder + 0.4 - families = ["colorbleed.look"] + families = ["studio.look"] label = "Collect Look" hosts = ["maya"] diff --git a/config/plugins/maya/publish/collect_model.py b/config/plugins/maya/publish/collect_model.py index cd780acc7f..c43595b97c 100644 --- a/config/plugins/maya/publish/collect_model.py +++ b/config/plugins/maya/publish/collect_model.py @@ -9,7 +9,7 @@ class CollectModelData(pyblish.api.InstancePlugin): Ensures always only a single frame is extracted (current frame). Note: - This is a workaround so that the `colorbleed.model` family can use the + This is a workaround so that the `studio.model` family can use the same pointcache extractor implementation as animation and pointcaches. This always enforces the "current" frame to be published. @@ -17,7 +17,7 @@ class CollectModelData(pyblish.api.InstancePlugin): order = pyblish.api.CollectorOrder + 0.499 label = 'Collect Model Data' - families = ["colorbleed.model"] + families = ["studio.model"] def process(self, instance): # Extract only current frame (override) diff --git a/config/plugins/maya/publish/collect_render_layer_aovs.py b/config/plugins/maya/publish/collect_render_layer_aovs.py index 51e9adbd57..69edde6d19 100644 --- a/config/plugins/maya/publish/collect_render_layer_aovs.py +++ b/config/plugins/maya/publish/collect_render_layer_aovs.py @@ -2,7 +2,7 @@ from maya import cmds import pyblish.api -import config.apps.maya.lib as lib +import config.maya.lib as lib class CollectRenderLayerAOVS(pyblish.api.InstancePlugin): @@ -28,7 +28,7 @@ class CollectRenderLayerAOVS(pyblish.api.InstancePlugin): order = pyblish.api.CollectorOrder + 0.01 label = "Render Elements / AOVs" hosts = ["maya"] - families = ["colorbleed.renderlayer"] + families = ["studio.renderlayer"] def process(self, instance): diff --git a/config/plugins/maya/publish/collect_renderlayers.py b/config/plugins/maya/publish/collect_renderlayers.py index fa4ae51593..6577eaf136 100644 --- a/config/plugins/maya/publish/collect_renderlayers.py +++ b/config/plugins/maya/publish/collect_renderlayers.py @@ -3,7 +3,7 @@ from maya import cmds import pyblish.api from avalon import maya, api -import config.apps.maya.lib as lib +import config.maya.lib as lib class CollectMayaRenderlayers(pyblish.api.ContextPlugin): @@ -74,7 +74,7 @@ class CollectMayaRenderlayers(pyblish.api.ContextPlugin): # instance subset "family": "Render Layers", - "families": ["colorbleed.renderlayer"], + "families": ["studio.renderlayer"], "asset": asset, "time": api.time(), "author": context.data["user"], diff --git a/config/plugins/maya/publish/collect_setdress.py b/config/plugins/maya/publish/collect_setdress.py index 0d17f70020..e5137b76f6 100644 --- a/config/plugins/maya/publish/collect_setdress.py +++ b/config/plugins/maya/publish/collect_setdress.py @@ -3,7 +3,7 @@ import pyblish.api from maya import cmds, mel from avalon import maya as avalon -from config.apps.maya import lib +from config.maya import lib # TODO : Publish of setdress: -unique namespace for all assets, VALIDATOR! @@ -25,7 +25,7 @@ class CollectSetDress(pyblish.api.InstancePlugin): order = pyblish.api.CollectorOrder + 0.49 label = "Set Dress" - families = ["colorbleed.setdress"] + families = ["studio.setdress"] def process(self, instance): diff --git a/config/plugins/maya/publish/collect_yeti_cache.py b/config/plugins/maya/publish/collect_yeti_cache.py index 266c2c48da..6037724eb2 100644 --- a/config/plugins/maya/publish/collect_yeti_cache.py +++ b/config/plugins/maya/publish/collect_yeti_cache.py @@ -2,7 +2,7 @@ from maya import cmds import pyblish.api -from config.apps.maya import lib +from config.maya import lib SETTINGS = {"renderDensity", "renderWidth", @@ -28,7 +28,7 @@ class CollectYetiCache(pyblish.api.InstancePlugin): order = pyblish.api.CollectorOrder + 0.45 label = "Collect Yeti Cache" - families = ["colorbleed.yetiRig", "colorbleed.yeticache"] + families = ["studio.yetiRig", "studio.yeticache"] hosts = ["maya"] tasks = ["animation", "fx"] diff --git a/config/plugins/maya/publish/collect_yeti_rig.py b/config/plugins/maya/publish/collect_yeti_rig.py index ec9fffe693..b439584146 100644 --- a/config/plugins/maya/publish/collect_yeti_rig.py +++ b/config/plugins/maya/publish/collect_yeti_rig.py @@ -5,7 +5,7 @@ from maya import cmds import pyblish.api -from config.apps.maya import lib +from config.maya import lib SETTINGS = {"renderDensity", @@ -21,7 +21,7 @@ class CollectYetiRig(pyblish.api.InstancePlugin): order = pyblish.api.CollectorOrder + 0.4 label = "Collect Yeti Rig" - families = ["colorbleed.yetiRig"] + families = ["studio.yetiRig"] hosts = ["maya"] def process(self, instance): diff --git a/config/plugins/maya/publish/extract_animation.py b/config/plugins/maya/publish/extract_animation.py index df1e2bbf97..5964156b4c 100644 --- a/config/plugins/maya/publish/extract_animation.py +++ b/config/plugins/maya/publish/extract_animation.py @@ -3,11 +3,11 @@ import os from maya import cmds import avalon.maya -import colorbleed.api -from config.apps.maya.lib import extract_alembic +import config.api +from config.maya.lib import extract_alembic -class ExtractColorbleedAnimation(colorbleed.api.Extractor): +class ExtractColorbleedAnimation(config.api.Extractor): """Produce an alembic of just point positions and normals. Positions and normals, uvs, creases are preserved, but nothing more, @@ -17,7 +17,7 @@ class ExtractColorbleedAnimation(colorbleed.api.Extractor): label = "Extract Animation" hosts = ["maya"] - families = ["colorbleed.animation"] + families = ["studio.animation"] def process(self, instance): diff --git a/config/plugins/maya/publish/extract_camera_alembic.py b/config/plugins/maya/publish/extract_camera_alembic.py index 2b18ced96f..26bcc48a9b 100644 --- a/config/plugins/maya/publish/extract_camera_alembic.py +++ b/config/plugins/maya/publish/extract_camera_alembic.py @@ -3,12 +3,12 @@ import os from maya import cmds import avalon.maya -import colorbleed.api +import config.api import cb.utils.maya.context as context -class ExtractCameraAlembic(colorbleed.api.Extractor): +class ExtractCameraAlembic(config.api.Extractor): """Extract a Camera as Alembic. The cameras gets baked to world space by default. Only when the instance's @@ -18,7 +18,7 @@ class ExtractCameraAlembic(colorbleed.api.Extractor): label = "Camera (Alembic)" hosts = ["maya"] - families = ["colorbleed.camera"] + families = ["studio.camera"] def process(self, instance): diff --git a/config/plugins/maya/publish/extract_camera_mayaAscii.py b/config/plugins/maya/publish/extract_camera_mayaAscii.py index c2c1f32b01..ad428bd88e 100644 --- a/config/plugins/maya/publish/extract_camera_mayaAscii.py +++ b/config/plugins/maya/publish/extract_camera_mayaAscii.py @@ -3,7 +3,7 @@ import os from maya import cmds import avalon.maya -import colorbleed.api +import config.api import cb.utils.maya.context as context from cb.utils.maya.animation import bakeToWorldSpace @@ -35,7 +35,7 @@ def massage_ma_file(path): f.close() -class ExtractCameraMayaAscii(colorbleed.api.Extractor): +class ExtractCameraMayaAscii(config.api.Extractor): """Extract a Camera as Maya Ascii. This will create a duplicate of the camera that will be baked *with* @@ -53,7 +53,7 @@ class ExtractCameraMayaAscii(colorbleed.api.Extractor): label = "Camera (Maya Ascii)" hosts = ["maya"] - families = ["colorbleed.camera"] + families = ["studio.camera"] def process(self, instance): diff --git a/config/plugins/maya/publish/extract_look.py b/config/plugins/maya/publish/extract_look.py index 6308ca1fec..d4bbafc4eb 100644 --- a/config/plugins/maya/publish/extract_look.py +++ b/config/plugins/maya/publish/extract_look.py @@ -6,13 +6,13 @@ from maya import cmds import pyblish.api import avalon.maya -import colorbleed.api -import config.apps.maya.lib as maya +import config.api +import config.maya.lib as maya from cb.utils.maya import context -class ExtractLook(colorbleed.api.Extractor): +class ExtractLook(config.api.Extractor): """Extract Look (Maya Ascii + JSON) Only extracts the sets (shadingEngines and alike) alongside a .json file @@ -23,7 +23,7 @@ class ExtractLook(colorbleed.api.Extractor): label = "Extract Look (Maya ASCII + JSON)" hosts = ["maya"] - families = ["colorbleed.look"] + families = ["studio.look"] order = pyblish.api.ExtractorOrder + 0.2 def process(self, instance): diff --git a/config/plugins/maya/publish/extract_maya_ascii_raw.py b/config/plugins/maya/publish/extract_maya_ascii_raw.py index f447f25851..17926b6fad 100644 --- a/config/plugins/maya/publish/extract_maya_ascii_raw.py +++ b/config/plugins/maya/publish/extract_maya_ascii_raw.py @@ -3,10 +3,10 @@ import os from maya import cmds import avalon.maya -import colorbleed.api +import config.api -class ExtractMayaAsciiRaw(colorbleed.api.Extractor): +class ExtractMayaAsciiRaw(config.api.Extractor): """Extract as Maya Ascii (raw) This will preserve all references, construction history, etc. @@ -15,7 +15,7 @@ class ExtractMayaAsciiRaw(colorbleed.api.Extractor): label = "Maya ASCII (Raw)" hosts = ["maya"] - families = ["config.apps.mayaAscii"] + families = ["config.mayaAscii"] def process(self, instance): diff --git a/config/plugins/maya/publish/extract_model.py b/config/plugins/maya/publish/extract_model.py index e1be53d59a..b9f4a57674 100644 --- a/config/plugins/maya/publish/extract_model.py +++ b/config/plugins/maya/publish/extract_model.py @@ -3,12 +3,12 @@ import os from maya import cmds import avalon.maya -import colorbleed.api +import config.api from cb.utils.maya import context -class ExtractModel(colorbleed.api.Extractor): +class ExtractModel(config.api.Extractor): """Extract as Model (Maya Ascii) Only extracts contents based on the original "setMembers" data to ensure @@ -25,7 +25,7 @@ class ExtractModel(colorbleed.api.Extractor): label = "Model (Maya ASCII)" hosts = ["maya"] - families = ["colorbleed.model"] + families = ["studio.model"] def process(self, instance): diff --git a/config/plugins/maya/publish/extract_pointcache.py b/config/plugins/maya/publish/extract_pointcache.py index d9dee9e0e7..95f9fc6818 100644 --- a/config/plugins/maya/publish/extract_pointcache.py +++ b/config/plugins/maya/publish/extract_pointcache.py @@ -3,11 +3,11 @@ import os from maya import cmds import avalon.maya -import colorbleed.api -from config.apps.maya.lib import extract_alembic +import config.api +from config.maya.lib import extract_alembic -class ExtractColorbleedAlembic(colorbleed.api.Extractor): +class ExtractColorbleedAlembic(config.api.Extractor): """Produce an alembic of just point positions and normals. Positions and normals, uvs, creases are preserved, but nothing more, @@ -17,8 +17,8 @@ class ExtractColorbleedAlembic(colorbleed.api.Extractor): label = "Extract Pointcache (Alembic)" hosts = ["maya"] - families = ["colorbleed.pointcache", - "colorbleed.model"] + families = ["studio.pointcache", + "studio.model"] def process(self, instance): diff --git a/config/plugins/maya/publish/extract_rig.py b/config/plugins/maya/publish/extract_rig.py index 7db6adfe43..0cfb0f4dc4 100644 --- a/config/plugins/maya/publish/extract_rig.py +++ b/config/plugins/maya/publish/extract_rig.py @@ -3,15 +3,15 @@ import os from maya import cmds import avalon.maya -import colorbleed.api +import config.api -class ExtractColorbleedRig(colorbleed.api.Extractor): +class ExtractColorbleedRig(config.api.Extractor): """Extract rig as Maya Ascii""" label = "Extract Rig (Maya ASCII)" hosts = ["maya"] - families = ["colorbleed.rig"] + families = ["studio.rig"] def process(self, instance): diff --git a/config/plugins/maya/publish/extract_setdress.py b/config/plugins/maya/publish/extract_setdress.py index 4d791c8055..85daf89dd3 100644 --- a/config/plugins/maya/publish/extract_setdress.py +++ b/config/plugins/maya/publish/extract_setdress.py @@ -2,13 +2,13 @@ import json import os -import colorbleed.api -from config.apps.maya.lib import extract_alembic +import config.api +from config.maya.lib import extract_alembic from maya import cmds -class ExtractSetDress(colorbleed.api.Extractor): +class ExtractSetDress(config.api.Extractor): """Produce an alembic of just point positions and normals. Positions and normals are preserved, but nothing more, @@ -18,7 +18,7 @@ class ExtractSetDress(colorbleed.api.Extractor): label = "Extract Set Dress" hosts = ["maya"] - families = ["colorbleed.setdress"] + families = ["studio.setdress"] def process(self, instance): diff --git a/config/plugins/maya/publish/extract_vrayproxy.py b/config/plugins/maya/publish/extract_vrayproxy.py index f1190d52ab..dbd4713120 100644 --- a/config/plugins/maya/publish/extract_vrayproxy.py +++ b/config/plugins/maya/publish/extract_vrayproxy.py @@ -1,12 +1,12 @@ import os import avalon.maya -import colorbleed.api +import config.api from maya import cmds -class ExtractVRayProxy(colorbleed.api.Extractor): +class ExtractVRayProxy(config.api.Extractor): """Extract the content of the instance to a vrmesh file Things to pay attention to: @@ -16,7 +16,7 @@ class ExtractVRayProxy(colorbleed.api.Extractor): label = "VRay Proxy (.vrmesh)" hosts = ["maya"] - families = ["colorbleed.vrayproxy"] + families = ["studio.vrayproxy"] def process(self, instance): diff --git a/config/plugins/maya/publish/extract_yeti_cache.py b/config/plugins/maya/publish/extract_yeti_cache.py index 479bf52813..ab581aa5da 100644 --- a/config/plugins/maya/publish/extract_yeti_cache.py +++ b/config/plugins/maya/publish/extract_yeti_cache.py @@ -3,10 +3,10 @@ import json from maya import cmds -import colorbleed.api +import config.api -class ExtractYetiCache(colorbleed.api.Extractor): +class ExtractYetiCache(config.api.Extractor): """Produce an alembic of just point positions and normals. Positions and normals are preserved, but nothing more, @@ -16,7 +16,7 @@ class ExtractYetiCache(colorbleed.api.Extractor): label = "Extract Yeti Cache" hosts = ["maya"] - families = ["colorbleed.yetiRig", "colorbleed.yeticache"] + families = ["studio.yetiRig", "studio.yeticache"] def process(self, instance): diff --git a/config/plugins/maya/publish/extract_yeti_rig.py b/config/plugins/maya/publish/extract_yeti_rig.py index ad53fb7962..78f3c2ce97 100644 --- a/config/plugins/maya/publish/extract_yeti_rig.py +++ b/config/plugins/maya/publish/extract_yeti_rig.py @@ -5,8 +5,8 @@ import contextlib from maya import cmds import avalon.maya.lib as lib -import colorbleed.api -import config.apps.maya.lib as maya +import config.api +import config.maya.lib as maya @contextlib.contextmanager @@ -56,7 +56,7 @@ def disconnected_attributes(settings, members): continue -class ExtractYetiRig(colorbleed.api.Extractor): +class ExtractYetiRig(config.api.Extractor): """Produce an alembic of just point positions and normals. Positions and normals are preserved, but nothing more, @@ -66,7 +66,7 @@ class ExtractYetiRig(colorbleed.api.Extractor): label = "Extract Yeti Rig" hosts = ["maya"] - families = ["colorbleed.yetiRig"] + families = ["studio.yetiRig"] def process(self, instance): diff --git a/config/plugins/maya/publish/increment_current_file_deadline.py b/config/plugins/maya/publish/increment_current_file_deadline.py index cb8374a7e1..7e680933b7 100644 --- a/config/plugins/maya/publish/increment_current_file_deadline.py +++ b/config/plugins/maya/publish/increment_current_file_deadline.py @@ -11,15 +11,15 @@ class IncrementCurrentFileDeadline(pyblish.api.ContextPlugin): label = "Increment current file" order = pyblish.api.IntegratorOrder + 9.0 hosts = ["maya"] - families = ["colorbleed.renderlayer"] + families = ["studio.renderlayer"] optional = True def process(self, context): import os from maya import cmds - from colorbleed.lib import version_up - from colorbleed.action import get_errored_plugins_from_data + from config.lib import version_up + from config.action import get_errored_plugins_from_data errored_plugins = get_errored_plugins_from_data(context) if any(plugin.__name__ == "MayaSubmitDeadline" diff --git a/config/plugins/maya/publish/save_scene.py b/config/plugins/maya/publish/save_scene.py index bf80bc9699..ac84c6ac66 100644 --- a/config/plugins/maya/publish/save_scene.py +++ b/config/plugins/maya/publish/save_scene.py @@ -9,7 +9,7 @@ class SaveCurrentScene(pyblish.api.ContextPlugin): label = "Save current file" order = pyblish.api.IntegratorOrder - 0.49 hosts = ["maya"] - families = ["colorbleed.renderlayer"] + families = ["studio.renderlayer"] def process(self, context): import maya.cmds as cmds diff --git a/config/plugins/maya/publish/submit_deadline.py b/config/plugins/maya/publish/submit_deadline.py index 43cdc22c4d..2d0fb8bc2b 100644 --- a/config/plugins/maya/publish/submit_deadline.py +++ b/config/plugins/maya/publish/submit_deadline.py @@ -9,7 +9,7 @@ from avalon.vendor import requests import pyblish.api -import config.apps.maya.lib as lib +import config.maya.lib as lib def get_renderer_variables(renderlayer=None): @@ -99,7 +99,7 @@ class MayaSubmitDeadline(pyblish.api.InstancePlugin): label = "Submit to Deadline" order = pyblish.api.IntegratorOrder hosts = ["maya"] - families = ["colorbleed.renderlayer"] + families = ["studio.renderlayer"] def process(self, instance): diff --git a/config/plugins/maya/publish/validate_animation_content.py b/config/plugins/maya/publish/validate_animation_content.py index 0725281705..46d201ea71 100644 --- a/config/plugins/maya/publish/validate_animation_content.py +++ b/config/plugins/maya/publish/validate_animation_content.py @@ -1,5 +1,5 @@ import pyblish.api -import colorbleed.api +import config.api class ValidateAnimationContent(pyblish.api.InstancePlugin): @@ -10,11 +10,11 @@ class ValidateAnimationContent(pyblish.api.InstancePlugin): """ - order = colorbleed.api.ValidateContentsOrder + order = config.api.ValidateContentsOrder hosts = ["maya"] - families = ["colorbleed.animation"] + families = ["studio.animation"] label = "Animation Content" - actions = [colorbleed.api.SelectInvalidAction] + actions = [config.api.SelectInvalidAction] @classmethod def get_invalid(cls, instance): diff --git a/config/plugins/maya/publish/validate_animation_out_set_related_node_ids.py b/config/plugins/maya/publish/validate_animation_out_set_related_node_ids.py index b67dcbf3f8..e74e42d5cf 100644 --- a/config/plugins/maya/publish/validate_animation_out_set_related_node_ids.py +++ b/config/plugins/maya/publish/validate_animation_out_set_related_node_ids.py @@ -1,8 +1,8 @@ import maya.cmds as cmds import pyblish.api -import colorbleed.api -import config.apps.maya.lib as lib +import config.api +import config.maya.lib as lib class ValidateOutRelatedNodeIds(pyblish.api.InstancePlugin): @@ -15,11 +15,11 @@ class ValidateOutRelatedNodeIds(pyblish.api.InstancePlugin): """ - order = colorbleed.api.ValidateContentsOrder - families = ['colorbleed.animation', "colorbleed.pointcache"] + order = config.api.ValidateContentsOrder + families = ['studio.animation', "studio.pointcache"] hosts = ['maya'] label = 'Animation Out Set Related Node Ids' - actions = [colorbleed.api.SelectInvalidAction, colorbleed.api.RepairAction] + actions = [config.api.SelectInvalidAction, config.api.RepairAction] def process(self, instance): """Process all meshes""" diff --git a/config/plugins/maya/publish/validate_camera_attributes.py b/config/plugins/maya/publish/validate_camera_attributes.py index 46b9de7ecd..04611b04a7 100644 --- a/config/plugins/maya/publish/validate_camera_attributes.py +++ b/config/plugins/maya/publish/validate_camera_attributes.py @@ -1,7 +1,7 @@ from maya import cmds import pyblish.api -import colorbleed.api +import config.api class ValidateCameraAttributes(pyblish.api.InstancePlugin): @@ -13,11 +13,11 @@ class ValidateCameraAttributes(pyblish.api.InstancePlugin): """ - order = colorbleed.api.ValidateContentsOrder - families = ['colorbleed.camera'] + order = config.api.ValidateContentsOrder + families = ['studio.camera'] hosts = ['maya'] label = 'Camera Attributes' - actions = [colorbleed.api.SelectInvalidAction] + actions = [config.api.SelectInvalidAction] DEFAULTS = [ ("filmFitOffset", 0.0), diff --git a/config/plugins/maya/publish/validate_camera_contents.py b/config/plugins/maya/publish/validate_camera_contents.py index 09f5d5392b..22ce223a45 100644 --- a/config/plugins/maya/publish/validate_camera_contents.py +++ b/config/plugins/maya/publish/validate_camera_contents.py @@ -1,7 +1,7 @@ from maya import cmds import pyblish.api -import colorbleed.api +import config.api class ValidateCameraContents(pyblish.api.InstancePlugin): @@ -14,11 +14,11 @@ class ValidateCameraContents(pyblish.api.InstancePlugin): """ - order = colorbleed.api.ValidateContentsOrder - families = ['colorbleed.camera'] + order = config.api.ValidateContentsOrder + families = ['studio.camera'] hosts = ['maya'] label = 'Camera Contents' - actions = [colorbleed.api.SelectInvalidAction] + actions = [config.api.SelectInvalidAction] @classmethod def get_invalid(cls, instance): diff --git a/config/plugins/maya/publish/validate_deadline_connection.py b/config/plugins/maya/publish/validate_deadline_connection.py index 7f57e5b96a..7d5ae8dd6d 100644 --- a/config/plugins/maya/publish/validate_deadline_connection.py +++ b/config/plugins/maya/publish/validate_deadline_connection.py @@ -10,7 +10,7 @@ class ValidateDeadlineConnection(pyblish.api.ContextPlugin): label = "Validate Deadline Web Service" order = pyblish.api.ValidatorOrder hosts = ["maya"] - families = ["colorbleed.renderlayer"] + families = ["studio.renderlayer"] def process(self, instance): diff --git a/config/plugins/maya/publish/validate_frame_range.py b/config/plugins/maya/publish/validate_frame_range.py index 010422df38..08fc3347fe 100644 --- a/config/plugins/maya/publish/validate_frame_range.py +++ b/config/plugins/maya/publish/validate_frame_range.py @@ -1,5 +1,5 @@ import pyblish.api -import colorbleed.api +import config.api class ValidateFrameRange(pyblish.api.InstancePlugin): @@ -16,11 +16,11 @@ class ValidateFrameRange(pyblish.api.InstancePlugin): """ label = "Validate Frame Range" - order = colorbleed.api.ValidateContentsOrder - families = ["colorbleed.animation", - "colorbleed.pointcache", - "colorbleed.camera", - "colorbleed.renderlayer"] + order = config.api.ValidateContentsOrder + families = ["studio.animation", + "studio.pointcache", + "studio.camera", + "studio.renderlayer"] def process(self, instance): diff --git a/config/plugins/maya/publish/validate_instance_has_members.py b/config/plugins/maya/publish/validate_instance_has_members.py index d209505378..1783eabf46 100644 --- a/config/plugins/maya/publish/validate_instance_has_members.py +++ b/config/plugins/maya/publish/validate_instance_has_members.py @@ -1,14 +1,14 @@ import pyblish.api -import colorbleed.api +import config.api class ValidateInstanceHasMembers(pyblish.api.InstancePlugin): """Validates instance objectSet has *any* members.""" - order = colorbleed.api.ValidateContentsOrder + order = config.api.ValidateContentsOrder hosts = ["maya"] label = 'Instance has members' - actions = [colorbleed.api.SelectInvalidAction] + actions = [config.api.SelectInvalidAction] @classmethod def get_invalid(cls, instance): diff --git a/config/plugins/maya/publish/validate_instance_subset.py b/config/plugins/maya/publish/validate_instance_subset.py index 6a26d09594..520fb6e266 100644 --- a/config/plugins/maya/publish/validate_instance_subset.py +++ b/config/plugins/maya/publish/validate_instance_subset.py @@ -1,5 +1,5 @@ import pyblish.api -import colorbleed.api +import config.api import string # Allow only characters, numbers and underscore @@ -16,7 +16,7 @@ def validate_name(subset): class ValidateSubsetName(pyblish.api.InstancePlugin): """Validates subset name has only valid characters""" - order = colorbleed.api.ValidateContentsOrder + order = config.api.ValidateContentsOrder families = ["*"] label = "Subset Name" diff --git a/config/plugins/maya/publish/validate_instancer_content.py b/config/plugins/maya/publish/validate_instancer_content.py index ed97410fc6..a27e4e42a0 100644 --- a/config/plugins/maya/publish/validate_instancer_content.py +++ b/config/plugins/maya/publish/validate_instancer_content.py @@ -1,7 +1,7 @@ import maya.cmds as cmds import pyblish.api -import config.apps.maya.lib as lib +import config.maya.lib as lib class ValidateInstancerContent(pyblish.api.InstancePlugin): @@ -12,7 +12,7 @@ class ValidateInstancerContent(pyblish.api.InstancePlugin): """ order = pyblish.api.ValidatorOrder label = 'Instancer Content' - families = ['colorbleed.instancer'] + families = ['studio.instancer'] def process(self, instance): diff --git a/config/plugins/maya/publish/validate_instancer_frame_ranges.py b/config/plugins/maya/publish/validate_instancer_frame_ranges.py index c7307c5a2a..ae4cd83f88 100644 --- a/config/plugins/maya/publish/validate_instancer_frame_ranges.py +++ b/config/plugins/maya/publish/validate_instancer_frame_ranges.py @@ -44,7 +44,7 @@ class ValidateInstancerFrameRanges(pyblish.api.InstancePlugin): """ order = pyblish.api.ValidatorOrder label = 'Instancer Cache Frame Ranges' - families = ['colorbleed.instancer'] + families = ['studio.instancer'] @classmethod def get_invalid(cls, instance): diff --git a/config/plugins/maya/publish/validate_joints_hidden.py b/config/plugins/maya/publish/validate_joints_hidden.py index 70c6a81690..3f18833c4a 100644 --- a/config/plugins/maya/publish/validate_joints_hidden.py +++ b/config/plugins/maya/publish/validate_joints_hidden.py @@ -1,8 +1,8 @@ from maya import cmds import pyblish.api -import colorbleed.api -import config.apps.maya.lib as lib +import config.api +import config.maya.lib as lib class ValidateJointsHidden(pyblish.api.InstancePlugin): @@ -16,14 +16,14 @@ class ValidateJointsHidden(pyblish.api.InstancePlugin): """ - order = colorbleed.api.ValidateContentsOrder + order = config.api.ValidateContentsOrder hosts = ['maya'] - families = ['colorbleed.rig'] + families = ['studio.rig'] category = 'rig' version = (0, 1, 0) label = "Joints Hidden" - actions = [colorbleed.api.SelectInvalidAction, - colorbleed.api.RepairAction] + actions = [config.api.SelectInvalidAction, + config.api.RepairAction] @staticmethod def get_invalid(instance): diff --git a/config/plugins/maya/publish/validate_look_contents.py b/config/plugins/maya/publish/validate_look_contents.py index 5f47ea39cc..6b7637d396 100644 --- a/config/plugins/maya/publish/validate_look_contents.py +++ b/config/plugins/maya/publish/validate_look_contents.py @@ -1,5 +1,5 @@ import pyblish.api -import colorbleed.api +import config.api class ValidateLookContents(pyblish.api.InstancePlugin): @@ -16,11 +16,11 @@ class ValidateLookContents(pyblish.api.InstancePlugin): """ - order = colorbleed.api.ValidateContentsOrder - families = ['colorbleed.look'] + order = config.api.ValidateContentsOrder + families = ['studio.look'] hosts = ['maya'] label = 'Look Data Contents' - actions = [colorbleed.api.SelectInvalidAction] + actions = [config.api.SelectInvalidAction] def process(self, instance): """Process all the nodes in the instance""" diff --git a/config/plugins/maya/publish/validate_look_default_shaders_connections.py b/config/plugins/maya/publish/validate_look_default_shaders_connections.py index dc8e7446c9..ab56e22cc2 100644 --- a/config/plugins/maya/publish/validate_look_default_shaders_connections.py +++ b/config/plugins/maya/publish/validate_look_default_shaders_connections.py @@ -1,7 +1,7 @@ from maya import cmds import pyblish.api -import colorbleed.api +import config.api class ValidateLookDefaultShadersConnections(pyblish.api.InstancePlugin): @@ -16,8 +16,8 @@ class ValidateLookDefaultShadersConnections(pyblish.api.InstancePlugin): """ - order = colorbleed.api.ValidateContentsOrder - families = ['colorbleed.look'] + order = config.api.ValidateContentsOrder + families = ['studio.look'] hosts = ['maya'] label = 'Look Default Shader Connections' diff --git a/config/plugins/maya/publish/validate_look_members_unique.py b/config/plugins/maya/publish/validate_look_members_unique.py index a42410c123..692d5ad7a9 100644 --- a/config/plugins/maya/publish/validate_look_members_unique.py +++ b/config/plugins/maya/publish/validate_look_members_unique.py @@ -1,7 +1,7 @@ from collections import defaultdict import pyblish.api -import colorbleed.api +import config.api class ValidateUniqueRelationshipMembers(pyblish.api.InstancePlugin): @@ -19,13 +19,13 @@ class ValidateUniqueRelationshipMembers(pyblish.api.InstancePlugin): """ - order = colorbleed.api.ValidatePipelineOrder + order = config.api.ValidatePipelineOrder label = 'Look members unique' hosts = ['maya'] - families = ['colorbleed.look'] + families = ['studio.look'] - actions = [colorbleed.api.SelectInvalidAction, - colorbleed.api.GenerateUUIDsOnInvalidAction] + actions = [config.api.SelectInvalidAction, + config.api.GenerateUUIDsOnInvalidAction] def process(self, instance): """Process all meshes""" diff --git a/config/plugins/maya/publish/validate_look_no_default_shaders.py b/config/plugins/maya/publish/validate_look_no_default_shaders.py index 9315359184..18537e0d01 100644 --- a/config/plugins/maya/publish/validate_look_no_default_shaders.py +++ b/config/plugins/maya/publish/validate_look_no_default_shaders.py @@ -1,7 +1,7 @@ from maya import cmds import pyblish.api -import colorbleed.api +import config.api class ValidateLookNoDefaultShaders(pyblish.api.InstancePlugin): @@ -22,11 +22,11 @@ class ValidateLookNoDefaultShaders(pyblish.api.InstancePlugin): """ - order = colorbleed.api.ValidateContentsOrder + 0.01 - families = ['colorbleed.look'] + order = config.api.ValidateContentsOrder + 0.01 + families = ['studio.look'] hosts = ['maya'] label = 'Look No Default Shaders' - actions = [colorbleed.api.SelectInvalidAction] + actions = [config.api.SelectInvalidAction] DEFAULT_SHADERS = {"lambert1", "initialShadingGroup", "initialParticleSE", "particleCloud1"} diff --git a/config/plugins/maya/publish/validate_look_sets.py b/config/plugins/maya/publish/validate_look_sets.py index c7a54c4cd8..3f55ceb147 100644 --- a/config/plugins/maya/publish/validate_look_sets.py +++ b/config/plugins/maya/publish/validate_look_sets.py @@ -1,7 +1,7 @@ -from config.apps.maya import lib +from config.maya import lib import pyblish.api -import colorbleed.api +import config.api from cb.utils.maya import context @@ -31,11 +31,11 @@ class ValidateLookSets(pyblish.api.InstancePlugin): """ - order = colorbleed.api.ValidateContentsOrder - families = ['colorbleed.look'] + order = config.api.ValidateContentsOrder + families = ['studio.look'] hosts = ['maya'] label = 'Look Sets' - actions = [colorbleed.api.SelectInvalidAction] + actions = [config.api.SelectInvalidAction] def process(self, instance): """Process all the nodes in the instance""" diff --git a/config/plugins/maya/publish/validate_look_single_shader.py b/config/plugins/maya/publish/validate_look_single_shader.py index f56f8eb64e..1befb63e74 100644 --- a/config/plugins/maya/publish/validate_look_single_shader.py +++ b/config/plugins/maya/publish/validate_look_single_shader.py @@ -1,7 +1,7 @@ from maya import cmds import pyblish.api -import colorbleed.api +import config.api class ValidateSingleShader(pyblish.api.InstancePlugin): @@ -11,11 +11,11 @@ class ValidateSingleShader(pyblish.api.InstancePlugin): """ - order = colorbleed.api.ValidateContentsOrder - families = ['colorbleed.look'] + order = config.api.ValidateContentsOrder + families = ['studio.look'] hosts = ['maya'] label = 'Look Single Shader Per Shape' - actions = [colorbleed.api.SelectInvalidAction] + actions = [config.api.SelectInvalidAction] # The default connections to check def process(self, instance): diff --git a/config/plugins/maya/publish/validate_maya_units.py b/config/plugins/maya/publish/validate_maya_units.py index 9904936f6b..6496416e0c 100644 --- a/config/plugins/maya/publish/validate_maya_units.py +++ b/config/plugins/maya/publish/validate_maya_units.py @@ -1,18 +1,18 @@ import maya.cmds as cmds import pyblish.api -import colorbleed.api -from colorbleed import lib -import config.apps.maya.lib as mayalib +import config.api +from config import lib +import config.maya.lib as mayalib class ValidateMayaUnits(pyblish.api.ContextPlugin): """Check if the Maya units are set correct""" - order = colorbleed.api.ValidateSceneOrder + order = config.api.ValidateSceneOrder label = "Maya Units" hosts = ['maya'] - actions = [colorbleed.api.RepairContextAction] + actions = [config.api.RepairContextAction] def process(self, context): diff --git a/config/plugins/maya/publish/validate_mesh_has_uv.py b/config/plugins/maya/publish/validate_mesh_has_uv.py index bc7c19e5ad..215e2eafcc 100644 --- a/config/plugins/maya/publish/validate_mesh_has_uv.py +++ b/config/plugins/maya/publish/validate_mesh_has_uv.py @@ -3,7 +3,7 @@ import re from maya import cmds import pyblish.api -import colorbleed.api +import config.api def len_flattened(components): @@ -44,12 +44,12 @@ class ValidateMeshHasUVs(pyblish.api.InstancePlugin): UVs for every face. """ - order = colorbleed.api.ValidateMeshOrder + order = config.api.ValidateMeshOrder hosts = ['maya'] - families = ['colorbleed.model'] + families = ['studio.model'] category = 'geometry' label = 'Mesh Has UVs' - actions = [colorbleed.api.SelectInvalidAction] + actions = [config.api.SelectInvalidAction] optional = True @classmethod diff --git a/config/plugins/maya/publish/validate_mesh_lamina_faces.py b/config/plugins/maya/publish/validate_mesh_lamina_faces.py index 80a6968e55..2bb899e095 100644 --- a/config/plugins/maya/publish/validate_mesh_lamina_faces.py +++ b/config/plugins/maya/publish/validate_mesh_lamina_faces.py @@ -1,7 +1,7 @@ from maya import cmds import pyblish.api -import colorbleed.api +import config.api class ValidateMeshLaminaFaces(pyblish.api.InstancePlugin): @@ -11,13 +11,13 @@ class ValidateMeshLaminaFaces(pyblish.api.InstancePlugin): """ - order = colorbleed.api.ValidateMeshOrder + order = config.api.ValidateMeshOrder hosts = ['maya'] - families = ['colorbleed.model'] + families = ['studio.model'] category = 'geometry' version = (0, 1, 0) label = 'Mesh Lamina Faces' - actions = [colorbleed.api.SelectInvalidAction] + actions = [config.api.SelectInvalidAction] @staticmethod def get_invalid(instance): diff --git a/config/plugins/maya/publish/validate_mesh_no_negative_scale.py b/config/plugins/maya/publish/validate_mesh_no_negative_scale.py index 91fc720cbe..0581636455 100644 --- a/config/plugins/maya/publish/validate_mesh_no_negative_scale.py +++ b/config/plugins/maya/publish/validate_mesh_no_negative_scale.py @@ -1,7 +1,7 @@ from maya import cmds import pyblish.api -import colorbleed.api +import config.api class ValidateMeshNoNegativeScale(pyblish.api.Validator): @@ -16,11 +16,11 @@ class ValidateMeshNoNegativeScale(pyblish.api.Validator): """ - order = colorbleed.api.ValidateMeshOrder + order = config.api.ValidateMeshOrder hosts = ['maya'] - families = ['colorbleed.model'] + families = ['studio.model'] label = 'Mesh No Negative Scale' - actions = [colorbleed.api.SelectInvalidAction] + actions = [config.api.SelectInvalidAction] @staticmethod def get_invalid(instance): diff --git a/config/plugins/maya/publish/validate_mesh_non_manifold.py b/config/plugins/maya/publish/validate_mesh_non_manifold.py index c1185cf587..56e23d5638 100644 --- a/config/plugins/maya/publish/validate_mesh_non_manifold.py +++ b/config/plugins/maya/publish/validate_mesh_non_manifold.py @@ -1,7 +1,7 @@ from maya import cmds import pyblish.api -import colorbleed.api +import config.api class ValidateMeshNonManifold(pyblish.api.Validator): @@ -12,11 +12,11 @@ class ValidateMeshNonManifold(pyblish.api.Validator): """ - order = colorbleed.api.ValidateMeshOrder + order = config.api.ValidateMeshOrder hosts = ['maya'] - families = ['colorbleed.model'] + families = ['studio.model'] label = 'Mesh Non-Manifold Vertices/Edges' - actions = [colorbleed.api.SelectInvalidAction] + actions = [config.api.SelectInvalidAction] @staticmethod def get_invalid(instance): diff --git a/config/plugins/maya/publish/validate_mesh_non_zero_edge.py b/config/plugins/maya/publish/validate_mesh_non_zero_edge.py index bf7ab0ce21..4f192d48d0 100644 --- a/config/plugins/maya/publish/validate_mesh_non_zero_edge.py +++ b/config/plugins/maya/publish/validate_mesh_non_zero_edge.py @@ -1,8 +1,8 @@ from maya import cmds import pyblish.api -import colorbleed.api -import config.apps.maya.lib as lib +import config.api +import config.maya.lib as lib class ValidateMeshNonZeroEdgeLength(pyblish.api.InstancePlugin): @@ -15,13 +15,13 @@ class ValidateMeshNonZeroEdgeLength(pyblish.api.InstancePlugin): """ - order = colorbleed.api.ValidateMeshOrder - families = ['colorbleed.model'] + order = config.api.ValidateMeshOrder + families = ['studio.model'] hosts = ['maya'] category = 'geometry' version = (0, 1, 0) label = 'Mesh Edge Length Non Zero' - actions = [colorbleed.api.SelectInvalidAction] + actions = [config.api.SelectInvalidAction] __tolerance = 1e-5 diff --git a/config/plugins/maya/publish/validate_mesh_normals_unlocked.py b/config/plugins/maya/publish/validate_mesh_normals_unlocked.py index 68049fd60a..7bfec74538 100644 --- a/config/plugins/maya/publish/validate_mesh_normals_unlocked.py +++ b/config/plugins/maya/publish/validate_mesh_normals_unlocked.py @@ -1,7 +1,7 @@ from maya import cmds import pyblish.api -import colorbleed.api +import config.api class ValidateMeshNormalsUnlocked(pyblish.api.Validator): @@ -12,14 +12,14 @@ class ValidateMeshNormalsUnlocked(pyblish.api.Validator): """ - order = colorbleed.api.ValidateMeshOrder + order = config.api.ValidateMeshOrder hosts = ['maya'] - families = ['colorbleed.model'] + families = ['studio.model'] category = 'geometry' version = (0, 1, 0) label = 'Mesh Normals Unlocked' - actions = [colorbleed.api.SelectInvalidAction, - colorbleed.api.RepairAction] + actions = [config.api.SelectInvalidAction, + config.api.RepairAction] optional = True @staticmethod diff --git a/config/plugins/maya/publish/validate_mesh_shader_connections.py b/config/plugins/maya/publish/validate_mesh_shader_connections.py index 5f44bf1f9f..3a1b50402e 100644 --- a/config/plugins/maya/publish/validate_mesh_shader_connections.py +++ b/config/plugins/maya/publish/validate_mesh_shader_connections.py @@ -1,7 +1,7 @@ from maya import cmds import pyblish.api -import colorbleed.api +import config.api def pairs(iterable): @@ -72,12 +72,12 @@ class ValidateMeshShaderConnections(pyblish.api.InstancePlugin): """ - order = colorbleed.api.ValidateMeshOrder + order = config.api.ValidateMeshOrder hosts = ['maya'] - families = ['colorbleed.model'] + families = ['studio.model'] label = "Mesh Shader Connections" - actions = [colorbleed.api.SelectInvalidAction, - colorbleed.api.RepairAction] + actions = [config.api.SelectInvalidAction, + config.api.RepairAction] def process(self, instance): """Process all the nodes in the instance 'objectSet'""" diff --git a/config/plugins/maya/publish/validate_mesh_single_uv_set.py b/config/plugins/maya/publish/validate_mesh_single_uv_set.py index db964d932f..e69924b0d4 100644 --- a/config/plugins/maya/publish/validate_mesh_single_uv_set.py +++ b/config/plugins/maya/publish/validate_mesh_single_uv_set.py @@ -1,8 +1,8 @@ from maya import cmds import pyblish.api -import colorbleed.api -import config.apps.maya.lib as lib +import config.api +import config.maya.lib as lib class ValidateMeshSingleUVSet(pyblish.api.InstancePlugin): @@ -14,15 +14,15 @@ class ValidateMeshSingleUVSet(pyblish.api.InstancePlugin): """ - order = colorbleed.api.ValidateMeshOrder + order = config.api.ValidateMeshOrder hosts = ['maya'] - families = ['colorbleed.model', 'colorbleed.pointcache'] + families = ['studio.model', 'studio.pointcache'] category = 'uv' optional = True version = (0, 1, 0) label = "Mesh Single UV Set" - actions = [colorbleed.api.SelectInvalidAction, - colorbleed.api.RepairAction] + actions = [config.api.SelectInvalidAction, + config.api.RepairAction] @staticmethod def get_invalid(instance): diff --git a/config/plugins/maya/publish/validate_mesh_vertices_have_edges.py b/config/plugins/maya/publish/validate_mesh_vertices_have_edges.py index 90eca6e6f4..f15c917619 100644 --- a/config/plugins/maya/publish/validate_mesh_vertices_have_edges.py +++ b/config/plugins/maya/publish/validate_mesh_vertices_have_edges.py @@ -3,7 +3,7 @@ import re from maya import cmds import pyblish.api -import colorbleed.api +import config.api def len_flattened(components): @@ -56,13 +56,13 @@ class ValidateMeshVerticesHaveEdges(pyblish.api.InstancePlugin): """ - order = colorbleed.api.ValidateMeshOrder + order = config.api.ValidateMeshOrder hosts = ['maya'] - families = ['colorbleed.model'] + families = ['studio.model'] category = 'geometry' label = 'Mesh Vertices Have Edges' - actions = [colorbleed.api.SelectInvalidAction, - colorbleed.api.RepairAction] + actions = [config.api.SelectInvalidAction, + config.api.RepairAction] @classmethod def repair(cls, instance): diff --git a/config/plugins/maya/publish/validate_model_content.py b/config/plugins/maya/publish/validate_model_content.py index eb56804fa1..361bcd052d 100644 --- a/config/plugins/maya/publish/validate_model_content.py +++ b/config/plugins/maya/publish/validate_model_content.py @@ -1,8 +1,8 @@ from maya import cmds import pyblish.api -import colorbleed.api -import config.apps.maya.lib as lib +import config.api +import config.maya.lib as lib class ValidateModelContent(pyblish.api.InstancePlugin): @@ -13,11 +13,11 @@ class ValidateModelContent(pyblish.api.InstancePlugin): """ - order = colorbleed.api.ValidateContentsOrder + order = config.api.ValidateContentsOrder hosts = ["maya"] - families = ["colorbleed.model"] + families = ["studio.model"] label = "Model Content" - actions = [colorbleed.api.SelectInvalidAction] + actions = [config.api.SelectInvalidAction] @classmethod def get_invalid(cls, instance): diff --git a/config/plugins/maya/publish/validate_no_animation.py b/config/plugins/maya/publish/validate_no_animation.py index 8b0da47d89..f1c4d34fdf 100644 --- a/config/plugins/maya/publish/validate_no_animation.py +++ b/config/plugins/maya/publish/validate_no_animation.py @@ -1,7 +1,7 @@ from maya import cmds import pyblish.api -import colorbleed.api +import config.api class ValidateNoAnimation(pyblish.api.Validator): @@ -13,12 +13,12 @@ class ValidateNoAnimation(pyblish.api.Validator): """ - order = colorbleed.api.ValidateContentsOrder + order = config.api.ValidateContentsOrder label = "No Animation" hosts = ["maya"] - families = ["colorbleed.model"] + families = ["studio.model"] optional = True - actions = [colorbleed.api.SelectInvalidAction] + actions = [config.api.SelectInvalidAction] def process(self, instance): diff --git a/config/plugins/maya/publish/validate_no_default_camera.py b/config/plugins/maya/publish/validate_no_default_camera.py index 6bdb830f0b..3a6d5b8dd9 100644 --- a/config/plugins/maya/publish/validate_no_default_camera.py +++ b/config/plugins/maya/publish/validate_no_default_camera.py @@ -1,7 +1,7 @@ from maya import cmds import pyblish.api -import colorbleed.api +import config.api class ValidateNoDefaultCameras(pyblish.api.InstancePlugin): @@ -12,12 +12,12 @@ class ValidateNoDefaultCameras(pyblish.api.InstancePlugin): settings when being loaded and sometimes being skipped. """ - order = colorbleed.api.ValidateContentsOrder + order = config.api.ValidateContentsOrder hosts = ['maya'] - families = ['colorbleed.camera'] + families = ['studio.camera'] version = (0, 1, 0) label = "No Default Cameras" - actions = [colorbleed.api.SelectInvalidAction] + actions = [config.api.SelectInvalidAction] @staticmethod def get_invalid(instance): diff --git a/config/plugins/maya/publish/validate_no_namespace.py b/config/plugins/maya/publish/validate_no_namespace.py index 0f0bbad1c1..74218151b9 100644 --- a/config/plugins/maya/publish/validate_no_namespace.py +++ b/config/plugins/maya/publish/validate_no_namespace.py @@ -2,7 +2,7 @@ import pymel.core as pm import maya.cmds as cmds import pyblish.api -import colorbleed.api +import config.api def get_namespace(node_name): @@ -15,14 +15,14 @@ def get_namespace(node_name): class ValidateNoNamespace(pyblish.api.InstancePlugin): """Ensure the nodes don't have a namespace""" - order = colorbleed.api.ValidateContentsOrder + order = config.api.ValidateContentsOrder hosts = ['maya'] - families = ['colorbleed.model'] + families = ['studio.model'] category = 'cleanup' version = (0, 1, 0) label = 'No Namespaces' - actions = [colorbleed.api.SelectInvalidAction, - colorbleed.api.RepairAction] + actions = [config.api.SelectInvalidAction, + config.api.RepairAction] @staticmethod def get_invalid(instance): diff --git a/config/plugins/maya/publish/validate_no_null_transforms.py b/config/plugins/maya/publish/validate_no_null_transforms.py index d94938493b..1d2353e11a 100644 --- a/config/plugins/maya/publish/validate_no_null_transforms.py +++ b/config/plugins/maya/publish/validate_no_null_transforms.py @@ -1,7 +1,7 @@ import maya.cmds as cmds import pyblish.api -import colorbleed.api +import config.api def has_shape_children(node): @@ -36,13 +36,13 @@ class ValidateNoNullTransforms(pyblish.api.InstancePlugin): """ - order = colorbleed.api.ValidateContentsOrder + order = config.api.ValidateContentsOrder hosts = ['maya'] - families = ['colorbleed.model'] + families = ['studio.model'] category = 'cleanup' version = (0, 1, 0) label = 'No Empty/Null Transforms' - actions = [colorbleed.api.RepairAction, colorbleed.api.SelectInvalidAction] + actions = [config.api.RepairAction, config.api.SelectInvalidAction] @staticmethod def get_invalid(instance): diff --git a/config/plugins/maya/publish/validate_no_unknown_nodes.py b/config/plugins/maya/publish/validate_no_unknown_nodes.py index 221e8f8b61..f6a9442ae2 100644 --- a/config/plugins/maya/publish/validate_no_unknown_nodes.py +++ b/config/plugins/maya/publish/validate_no_unknown_nodes.py @@ -1,7 +1,7 @@ from maya import cmds import pyblish.api -import colorbleed.api +import config.api class ValidateNoUnknownNodes(pyblish.api.InstancePlugin): @@ -15,12 +15,12 @@ class ValidateNoUnknownNodes(pyblish.api.InstancePlugin): """ - order = colorbleed.api.ValidateContentsOrder + order = config.api.ValidateContentsOrder hosts = ['maya'] - families = ['colorbleed.model', 'colorbleed.rig'] + families = ['studio.model', 'studio.rig'] optional = True label = "Unknown Nodes" - actions = [colorbleed.api.SelectInvalidAction] + actions = [config.api.SelectInvalidAction] @staticmethod def get_invalid(instance): diff --git a/config/plugins/maya/publish/validate_no_vraymesh.py b/config/plugins/maya/publish/validate_no_vraymesh.py index 575ad7e549..a172191015 100644 --- a/config/plugins/maya/publish/validate_no_vraymesh.py +++ b/config/plugins/maya/publish/validate_no_vraymesh.py @@ -7,7 +7,7 @@ class ValidateNoVRayMesh(pyblish.api.InstancePlugin): order = pyblish.api.ValidatorOrder label = 'No V-Ray Proxies (VRayMesh)' - families = ["colorbleed.pointcache"] + families = ["studio.pointcache"] def process(self, instance): diff --git a/config/plugins/maya/publish/validate_node_ids.py b/config/plugins/maya/publish/validate_node_ids.py index ea0ec18f85..0ddebe7462 100644 --- a/config/plugins/maya/publish/validate_node_ids.py +++ b/config/plugins/maya/publish/validate_node_ids.py @@ -1,7 +1,7 @@ import pyblish.api -import colorbleed.api +import config.api -from config.apps.maya import lib +from config.maya import lib class ValidateNodeIDs(pyblish.api.InstancePlugin): @@ -13,18 +13,18 @@ class ValidateNodeIDs(pyblish.api.InstancePlugin): """ - order = colorbleed.api.ValidatePipelineOrder + order = config.api.ValidatePipelineOrder label = 'Instance Nodes Have ID' hosts = ['maya'] - families = ["colorbleed.model", - "colorbleed.look", - "colorbleed.rig", - "colorbleed.pointcache", - "colorbleed.animation", - "colorbleed.setdress"] + families = ["studio.model", + "studio.look", + "studio.rig", + "studio.pointcache", + "studio.animation", + "studio.setdress"] - actions = [colorbleed.api.SelectInvalidAction, - colorbleed.api.GenerateUUIDsOnInvalidAction] + actions = [config.api.SelectInvalidAction, + config.api.GenerateUUIDsOnInvalidAction] def process(self, instance): """Process all meshes""" diff --git a/config/plugins/maya/publish/validate_node_ids_deformed_shapes.py b/config/plugins/maya/publish/validate_node_ids_deformed_shapes.py index 2a4b6ce8c5..6c9e928f17 100644 --- a/config/plugins/maya/publish/validate_node_ids_deformed_shapes.py +++ b/config/plugins/maya/publish/validate_node_ids_deformed_shapes.py @@ -1,8 +1,8 @@ from maya import cmds import pyblish.api -import colorbleed.api -import config.apps.maya.lib as lib +import config.api +import config.maya.lib as lib class ValidateNodeIdsDeformedShape(pyblish.api.InstancePlugin): @@ -15,11 +15,11 @@ class ValidateNodeIdsDeformedShape(pyblish.api.InstancePlugin): """ - order = colorbleed.api.ValidateContentsOrder - families = ['colorbleed.look'] + order = config.api.ValidateContentsOrder + families = ['studio.look'] hosts = ['maya'] label = 'Deformed shape ids' - actions = [colorbleed.api.SelectInvalidAction, colorbleed.api.RepairAction] + actions = [config.api.SelectInvalidAction, config.api.RepairAction] def process(self, instance): """Process all the nodes in the instance""" @@ -63,4 +63,3 @@ class ValidateNodeIdsDeformedShape(pyblish.api.InstancePlugin): continue lib.set_id(node, history_id, overwrite=True) - diff --git a/config/plugins/maya/publish/validate_node_ids_in_database.py b/config/plugins/maya/publish/validate_node_ids_in_database.py index 788baf994d..8607e06486 100644 --- a/config/plugins/maya/publish/validate_node_ids_in_database.py +++ b/config/plugins/maya/publish/validate_node_ids_in_database.py @@ -2,8 +2,8 @@ import pyblish.api import avalon.io as io -import colorbleed.api -from config.apps.maya import lib +import config.api +from config.maya import lib class ValidateNodeIdsInDatabase(pyblish.api.InstancePlugin): @@ -17,12 +17,12 @@ class ValidateNodeIdsInDatabase(pyblish.api.InstancePlugin): """ - order = colorbleed.api.ValidatePipelineOrder + order = config.api.ValidatePipelineOrder label = 'Node Ids in Database' hosts = ['maya'] families = ["*"] - actions = [colorbleed.api.SelectInvalidAction] + actions = [config.api.SelectInvalidAction] def process(self, instance): invalid = self.get_invalid(instance) diff --git a/config/plugins/maya/publish/validate_node_ids_related.py b/config/plugins/maya/publish/validate_node_ids_related.py index 67d10d3059..a0720e084d 100644 --- a/config/plugins/maya/publish/validate_node_ids_related.py +++ b/config/plugins/maya/publish/validate_node_ids_related.py @@ -1,9 +1,9 @@ import pyblish.api -import colorbleed.api +import config.api import avalon.io as io -from config.apps.maya import lib +from config.maya import lib class ValidateNodeIDsRelated(pyblish.api.InstancePlugin): @@ -11,16 +11,16 @@ class ValidateNodeIDsRelated(pyblish.api.InstancePlugin): """ - order = colorbleed.api.ValidatePipelineOrder + order = config.api.ValidatePipelineOrder label = 'Node Ids Related (ID)' hosts = ['maya'] - families = ["colorbleed.model", - "colorbleed.look", - "colorbleed.rig"] + families = ["studio.model", + "studio.look", + "studio.rig"] optional = True - actions = [colorbleed.api.SelectInvalidAction, - colorbleed.api.GenerateUUIDsOnInvalidAction] + actions = [config.api.SelectInvalidAction, + config.api.GenerateUUIDsOnInvalidAction] def process(self, instance): """Process all nodes in instance (including hierarchy)""" diff --git a/config/plugins/maya/publish/validate_node_ids_unique.py b/config/plugins/maya/publish/validate_node_ids_unique.py index 0de2defdf3..1cda2dae54 100644 --- a/config/plugins/maya/publish/validate_node_ids_unique.py +++ b/config/plugins/maya/publish/validate_node_ids_unique.py @@ -1,8 +1,8 @@ from collections import defaultdict import pyblish.api -import colorbleed.api -import config.apps.maya.lib as lib +import config.api +import config.maya.lib as lib class ValidateNodeIdsUnique(pyblish.api.InstancePlugin): @@ -11,15 +11,15 @@ class ValidateNodeIdsUnique(pyblish.api.InstancePlugin): Here we ensure that what has been added to the instance is unique """ - order = colorbleed.api.ValidatePipelineOrder + order = config.api.ValidatePipelineOrder label = 'Non Duplicate Instance Members (ID)' hosts = ['maya'] - families = ["colorbleed.model", - "colorbleed.look", - "colorbleed.rig"] + families = ["studio.model", + "studio.look", + "studio.rig"] - actions = [colorbleed.api.SelectInvalidAction, - colorbleed.api.GenerateUUIDsOnInvalidAction] + actions = [config.api.SelectInvalidAction, + config.api.GenerateUUIDsOnInvalidAction] def process(self, instance): """Process all meshes""" diff --git a/config/plugins/maya/publish/validate_node_no_ghosting.py b/config/plugins/maya/publish/validate_node_no_ghosting.py index ca5c4a1edc..d26cf62176 100644 --- a/config/plugins/maya/publish/validate_node_no_ghosting.py +++ b/config/plugins/maya/publish/validate_node_no_ghosting.py @@ -1,7 +1,7 @@ from maya import cmds import pyblish.api -import colorbleed.api +import config.api class ValidateNodeNoGhosting(pyblish.api.InstancePlugin): @@ -16,11 +16,11 @@ class ValidateNodeNoGhosting(pyblish.api.InstancePlugin): """ - order = colorbleed.api.ValidateContentsOrder + order = config.api.ValidateContentsOrder hosts = ['maya'] - families = ['colorbleed.model', 'colorbleed.rig'] + families = ['studio.model', 'studio.rig'] label = "No Ghosting" - actions = [colorbleed.api.SelectInvalidAction] + actions = [config.api.SelectInvalidAction] _attributes = {'ghosting': 0} diff --git a/config/plugins/maya/publish/validate_render_image_rule.py b/config/plugins/maya/publish/validate_render_image_rule.py index c16b5ecc3a..9050c764b7 100644 --- a/config/plugins/maya/publish/validate_render_image_rule.py +++ b/config/plugins/maya/publish/validate_render_image_rule.py @@ -1,7 +1,7 @@ import maya.mel as mel import pyblish.api -import colorbleed.api +import config.api def get_file_rule(rule): @@ -14,10 +14,10 @@ class ValidateRenderImageRule(pyblish.api.ContextPlugin): """ - order = colorbleed.api.ValidateContentsOrder + order = config.api.ValidateContentsOrder label = "Images File Rule (Workspace)" hosts = ["maya"] - families = ["colorbleed.renderlayer"] + families = ["studio.renderlayer"] def process(self, context): diff --git a/config/plugins/maya/publish/validate_renderlayer_aovs.py b/config/plugins/maya/publish/validate_renderlayer_aovs.py index 387f4b4881..1314a73b9a 100644 --- a/config/plugins/maya/publish/validate_renderlayer_aovs.py +++ b/config/plugins/maya/publish/validate_renderlayer_aovs.py @@ -1,7 +1,7 @@ import pyblish.api from avalon import io -import colorbleed.api +import config.api class ValidateRenderLayerAOVs(pyblish.api.InstancePlugin): @@ -23,8 +23,8 @@ class ValidateRenderLayerAOVs(pyblish.api.InstancePlugin): order = pyblish.api.ValidatorOrder + 0.1 label = "Render Passes / AOVs Are Registered" hosts = ["maya"] - families = ["colorbleed.renderlayer"] - actions = [colorbleed.api.SelectInvalidAction] + families = ["studio.renderlayer"] + actions = [config.api.SelectInvalidAction] def process(self, instance): invalid = self.get_invalid(instance) diff --git a/config/plugins/maya/publish/validate_rendersettings.py b/config/plugins/maya/publish/validate_rendersettings.py index 5782a327f8..861cd2edc4 100644 --- a/config/plugins/maya/publish/validate_rendersettings.py +++ b/config/plugins/maya/publish/validate_rendersettings.py @@ -1,8 +1,8 @@ import maya.cmds as cmds import pyblish.api -import colorbleed.api -import config.apps.maya.lib as lib +import config.api +import config.maya.lib as lib class ValidateRenderSettings(pyblish.api.InstancePlugin): @@ -27,11 +27,11 @@ class ValidateRenderSettings(pyblish.api.InstancePlugin): """ - order = colorbleed.api.ValidateContentsOrder + order = config.api.ValidateContentsOrder label = "Render Settings" hosts = ["maya"] - families = ["colorbleed.renderlayer"] - actions = [colorbleed.api.RepairAction] + families = ["studio.renderlayer"] + actions = [config.api.RepairAction] DEFAULT_PADDING = 4 RENDERER_PREFIX = {"vray": "/_/"} diff --git a/config/plugins/maya/publish/validate_resources.py b/config/plugins/maya/publish/validate_resources.py index 2dc6f8c313..e20cec387b 100644 --- a/config/plugins/maya/publish/validate_resources.py +++ b/config/plugins/maya/publish/validate_resources.py @@ -1,5 +1,5 @@ import pyblish.api -import colorbleed.api +import config.api import os @@ -17,7 +17,7 @@ class ValidateResources(pyblish.api.InstancePlugin): """ - order = colorbleed.api.ValidateContentsOrder + order = config.api.ValidateContentsOrder label = "Resources" def process(self, instance): diff --git a/config/plugins/maya/publish/validate_rig_contents.py b/config/plugins/maya/publish/validate_rig_contents.py index 7530936a66..c8ab497737 100644 --- a/config/plugins/maya/publish/validate_rig_contents.py +++ b/config/plugins/maya/publish/validate_rig_contents.py @@ -1,7 +1,7 @@ from maya import cmds import pyblish.api -import colorbleed.api +import config.api class ValidateRigContents(pyblish.api.InstancePlugin): @@ -13,10 +13,10 @@ class ValidateRigContents(pyblish.api.InstancePlugin): """ - order = colorbleed.api.ValidateContentsOrder + order = config.api.ValidateContentsOrder label = "Rig Contents" hosts = ["maya"] - families = ["colorbleed.rig"] + families = ["studio.rig"] accepted_output = ["mesh", "transform"] accepted_controllers = ["transform"] diff --git a/config/plugins/maya/publish/validate_rig_controllers.py b/config/plugins/maya/publish/validate_rig_controllers.py index 2ae799fa71..9638b074fc 100644 --- a/config/plugins/maya/publish/validate_rig_controllers.py +++ b/config/plugins/maya/publish/validate_rig_controllers.py @@ -1,7 +1,7 @@ from maya import cmds import pyblish.api -import colorbleed.api +import config.api from cb.utils.maya.context import undo_chunk @@ -23,12 +23,12 @@ class ValidateRigControllers(pyblish.api.InstancePlugin): - Break all incoming connections to keyable attributes """ - order = colorbleed.api.ValidateContentsOrder + 0.05 + order = config.api.ValidateContentsOrder + 0.05 label = "Rig Controllers" hosts = ["maya"] - families = ["colorbleed.rig"] - actions = [colorbleed.api.RepairAction, - colorbleed.api.SelectInvalidAction] + families = ["studio.rig"] + actions = [config.api.RepairAction, + config.api.SelectInvalidAction] # Default controller values CONTROLLER_DEFAULTS = { diff --git a/config/plugins/maya/publish/validate_rig_controllers_arnold_attributes.py b/config/plugins/maya/publish/validate_rig_controllers_arnold_attributes.py index b6a1191006..1ca01f7704 100644 --- a/config/plugins/maya/publish/validate_rig_controllers_arnold_attributes.py +++ b/config/plugins/maya/publish/validate_rig_controllers_arnold_attributes.py @@ -1,7 +1,7 @@ from maya import cmds import pyblish.api -import colorbleed.api +import config.api from cb.utils.maya.context import undo_chunk @@ -24,12 +24,12 @@ class ValidateRigControllersArnoldAttributes(pyblish.api.InstancePlugin): This validator will ensure they are hidden or unkeyable attributes. """ - order = colorbleed.api.ValidateContentsOrder + 0.05 + order = config.api.ValidateContentsOrder + 0.05 label = "Rig Controllers (Arnold Attributes)" hosts = ["maya"] - families = ["colorbleed.rig"] - actions = [colorbleed.api.RepairAction, - colorbleed.api.SelectInvalidAction] + families = ["studio.rig"] + actions = [config.api.RepairAction, + config.api.SelectInvalidAction] attributes = [ "rcurve", diff --git a/config/plugins/maya/publish/validate_rig_out_set_node_ids.py b/config/plugins/maya/publish/validate_rig_out_set_node_ids.py index 2d8c06ab4a..c4d2abf7ab 100644 --- a/config/plugins/maya/publish/validate_rig_out_set_node_ids.py +++ b/config/plugins/maya/publish/validate_rig_out_set_node_ids.py @@ -1,8 +1,8 @@ import maya.cmds as cmds import pyblish.api -import colorbleed.api -import config.apps.maya.lib as lib +import config.api +import config.maya.lib as lib class ValidateRigOutSetNodeIds(pyblish.api.InstancePlugin): @@ -15,11 +15,11 @@ class ValidateRigOutSetNodeIds(pyblish.api.InstancePlugin): """ - order = colorbleed.api.ValidateContentsOrder - families = ["colorbleed.rig"] + order = config.api.ValidateContentsOrder + families = ["studio.rig"] hosts = ['maya'] label = 'Rig Out Set Node Ids' - actions = [colorbleed.api.SelectInvalidAction, colorbleed.api.RepairAction] + actions = [config.api.SelectInvalidAction, config.api.RepairAction] def process(self, instance): """Process all meshes""" diff --git a/config/plugins/maya/publish/validate_scene_set_workspace.py b/config/plugins/maya/publish/validate_scene_set_workspace.py index 3f4f631897..8f77c25763 100644 --- a/config/plugins/maya/publish/validate_scene_set_workspace.py +++ b/config/plugins/maya/publish/validate_scene_set_workspace.py @@ -3,7 +3,7 @@ import os import maya.cmds as cmds import pyblish.api -import colorbleed.api +import config.api def is_subdir(path, root_dir): @@ -28,9 +28,9 @@ def is_subdir(path, root_dir): class ValidateSceneSetWorkspace(pyblish.api.ContextPlugin): """Validate the scene is inside the currently set Maya workspace""" - order = colorbleed.api.ValidatePipelineOrder + order = config.api.ValidatePipelineOrder hosts = ['maya'] - families = ['colorbleed.model'] + families = ['studio.model'] category = 'scene' version = (0, 1, 0) label = 'Maya Workspace Set' diff --git a/config/plugins/maya/publish/validate_setdress_namespaces.py b/config/plugins/maya/publish/validate_setdress_namespaces.py index 1eda02cf74..2c2db3065e 100644 --- a/config/plugins/maya/publish/validate_setdress_namespaces.py +++ b/config/plugins/maya/publish/validate_setdress_namespaces.py @@ -1,5 +1,5 @@ import pyblish.api -import colorbleed.api +import config.api class ValidateSetdressNamespaces(pyblish.api.InstancePlugin): @@ -16,8 +16,8 @@ class ValidateSetdressNamespaces(pyblish.api.InstancePlugin): label = "Validate Setdress Namespaces" order = pyblish.api.ValidatorOrder - families = ["colorbleed.setdress"] - actions = [colorbleed.api.SelectInvalidAction] + families = ["studio.setdress"] + actions = [config.api.SelectInvalidAction] def process(self, instance): diff --git a/config/plugins/maya/publish/validate_setdress_transforms.py b/config/plugins/maya/publish/validate_setdress_transforms.py index d2caa03ca2..6a20fbd28b 100644 --- a/config/plugins/maya/publish/validate_setdress_transforms.py +++ b/config/plugins/maya/publish/validate_setdress_transforms.py @@ -1,5 +1,5 @@ import pyblish.api -import colorbleed.api +import config.api from maya import cmds @@ -25,9 +25,9 @@ class ValidateSetDressModelTransforms(pyblish.api.InstancePlugin): order = pyblish.api.ValidatorOrder + 0.49 label = "Setdress Model Transforms" - families = ["colorbleed.setdress"] - actions = [colorbleed.api.SelectInvalidAction, - colorbleed.api.RepairAction] + families = ["studio.setdress"] + actions = [config.api.SelectInvalidAction, + config.api.RepairAction] prompt_message = ("You are about to reset the matrix to the default values." " This can alter the look of your scene. " @@ -42,7 +42,7 @@ class ValidateSetDressModelTransforms(pyblish.api.InstancePlugin): @classmethod def get_invalid(cls, instance): - import config.apps.maya.lib as lib + import config.maya.lib as lib # Get all transforms in the loaded containers container_roots = cmds.listRelatives(instance.data["hierarchy"], @@ -87,7 +87,7 @@ class ValidateSetDressModelTransforms(pyblish.api.InstancePlugin): """ - import config.apps.maya.lib as lib + import config.maya.lib as lib from avalon.vendor.Qt import QtWidgets # Store namespace in variable, cosmetics thingy diff --git a/config/plugins/maya/publish/validate_shape_default_names.py b/config/plugins/maya/publish/validate_shape_default_names.py index 75fd8f3f1e..7e534211ea 100644 --- a/config/plugins/maya/publish/validate_shape_default_names.py +++ b/config/plugins/maya/publish/validate_shape_default_names.py @@ -3,7 +3,7 @@ import re from maya import cmds import pyblish.api -import colorbleed.api +import config.api def short_name(node): @@ -30,15 +30,15 @@ class ValidateShapeDefaultNames(pyblish.api.InstancePlugin): """ - order = colorbleed.api.ValidateContentsOrder + order = config.api.ValidateContentsOrder hosts = ['maya'] - families = ['colorbleed.model'] + families = ['studio.model'] category = 'cleanup' optional = True version = (0, 1, 0) label = "Shape Default Naming" - actions = [colorbleed.api.SelectInvalidAction, - colorbleed.api.RepairAction] + actions = [config.api.SelectInvalidAction, + config.api.RepairAction] @staticmethod def _define_default_name(shape): diff --git a/config/plugins/maya/publish/validate_shape_render_stats.py b/config/plugins/maya/publish/validate_shape_render_stats.py index 9a3067badb..ddb18ccebb 100644 --- a/config/plugins/maya/publish/validate_shape_render_stats.py +++ b/config/plugins/maya/publish/validate_shape_render_stats.py @@ -1,5 +1,5 @@ import pyblish.api -import colorbleed.api +import config.api from maya import cmds @@ -7,12 +7,12 @@ from maya import cmds class ValidateShapeRenderStats(pyblish.api.Validator): """Ensure all render stats are set to the default values.""" - order = colorbleed.api.ValidateMeshOrder + order = config.api.ValidateMeshOrder hosts = ['maya'] - families = ['colorbleed.model'] + families = ['studio.model'] label = 'Shape Default Render Stats' - actions = [colorbleed.api.SelectInvalidAction, - colorbleed.api.RepairAction] + actions = [config.api.SelectInvalidAction, + config.api.RepairAction] defaults = {'castsShadows': 1, 'receiveShadows': 1, diff --git a/config/plugins/maya/publish/validate_single_assembly.py b/config/plugins/maya/publish/validate_single_assembly.py index 886e88ada3..d24c95b3f5 100644 --- a/config/plugins/maya/publish/validate_single_assembly.py +++ b/config/plugins/maya/publish/validate_single_assembly.py @@ -1,5 +1,5 @@ import pyblish.api -import colorbleed.api +import config.api class ValidateSingleAssembly(pyblish.api.InstancePlugin): @@ -17,9 +17,9 @@ class ValidateSingleAssembly(pyblish.api.InstancePlugin): """ - order = colorbleed.api.ValidateContentsOrder + order = config.api.ValidateContentsOrder hosts = ['maya'] - families = ['colorbleed.rig', 'colorbleed.animation'] + families = ['studio.rig', 'studio.animation'] label = 'Single Assembly' def process(self, instance): diff --git a/config/plugins/maya/publish/validate_step_size.py b/config/plugins/maya/publish/validate_step_size.py index 7267d99a35..d29bccaff7 100644 --- a/config/plugins/maya/publish/validate_step_size.py +++ b/config/plugins/maya/publish/validate_step_size.py @@ -1,5 +1,5 @@ import pyblish.api -import colorbleed.api +import config.api class ValidateStepSize(pyblish.api.InstancePlugin): @@ -9,12 +9,12 @@ class ValidateStepSize(pyblish.api.InstancePlugin): """ - order = colorbleed.api.ValidateContentsOrder + order = config.api.ValidateContentsOrder label = 'Step size' - families = ['colorbleed.camera', - 'colorbleed.pointcache', - 'colorbleed.animation'] - actions = [colorbleed.api.SelectInvalidAction] + families = ['studio.camera', + 'studio.pointcache', + 'studio.animation'] + actions = [config.api.SelectInvalidAction] MIN = 0.01 MAX = 1.0 diff --git a/config/plugins/maya/publish/validate_transfers.py b/config/plugins/maya/publish/validate_transfers.py index 41544b63cf..54d1ba6be4 100644 --- a/config/plugins/maya/publish/validate_transfers.py +++ b/config/plugins/maya/publish/validate_transfers.py @@ -1,5 +1,5 @@ import pyblish.api -import colorbleed.api +import config.api import os from collections import defaultdict @@ -13,7 +13,7 @@ class ValidateTransfers(pyblish.api.InstancePlugin): """ - order = colorbleed.api.ValidateContentsOrder + order = config.api.ValidateContentsOrder label = "Transfers" def process(self, instance): diff --git a/config/plugins/maya/publish/validate_transform_naming_suffix.py b/config/plugins/maya/publish/validate_transform_naming_suffix.py index 51d63ad505..58e01cfc74 100644 --- a/config/plugins/maya/publish/validate_transform_naming_suffix.py +++ b/config/plugins/maya/publish/validate_transform_naming_suffix.py @@ -1,7 +1,7 @@ from maya import cmds import pyblish.api -import colorbleed.api +import config.api SUFFIX_NAMING_TABLE = {'mesh': ["_GEO", "_GES", "_GEP", "_OSD"], @@ -31,14 +31,14 @@ class ValidateTransformNamingSuffix(pyblish.api.InstancePlugin): """ - order = colorbleed.api.ValidateContentsOrder + order = config.api.ValidateContentsOrder hosts = ['maya'] - families = ['colorbleed.model'] + families = ['studio.model'] category = 'cleanup' optional = True version = (0, 1, 0) label = 'Suffix Naming Conventions' - actions = [colorbleed.api.SelectInvalidAction] + actions = [config.api.SelectInvalidAction] @staticmethod def is_valid_name(node_name, shape_type): diff --git a/config/plugins/maya/publish/validate_transform_zero.py b/config/plugins/maya/publish/validate_transform_zero.py index fa87539d96..6b385e276c 100644 --- a/config/plugins/maya/publish/validate_transform_zero.py +++ b/config/plugins/maya/publish/validate_transform_zero.py @@ -1,7 +1,7 @@ from maya import cmds import pyblish.api -import colorbleed.api +import config.api class ValidateTransformZero(pyblish.api.Validator): @@ -13,13 +13,13 @@ class ValidateTransformZero(pyblish.api.Validator): """ - order = colorbleed.api.ValidateContentsOrder + order = config.api.ValidateContentsOrder hosts = ["maya"] - families = ["colorbleed.model"] + families = ["studio.model"] category = "geometry" version = (0, 1, 0) label = "Transform Zero (Freeze)" - actions = [colorbleed.api.SelectInvalidAction] + actions = [config.api.SelectInvalidAction] _identity = [1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, diff --git a/config/plugins/maya/publish/validate_vrayproxy.py b/config/plugins/maya/publish/validate_vrayproxy.py index 40c45094db..c5303c8ec3 100644 --- a/config/plugins/maya/publish/validate_vrayproxy.py +++ b/config/plugins/maya/publish/validate_vrayproxy.py @@ -6,7 +6,7 @@ class ValidateVrayProxy(pyblish.api.InstancePlugin): order = pyblish.api.ValidatorOrder label = 'VRay Proxy Settings' hosts = ['maya'] - families = ['colorbleed.vrayproxy'] + families = ['studio.vrayproxy'] def process(self, instance): diff --git a/config/plugins/maya/publish/validate_yeti_rig_input_in_instance.py b/config/plugins/maya/publish/validate_yeti_rig_input_in_instance.py index 58d9834617..c2034889c3 100644 --- a/config/plugins/maya/publish/validate_yeti_rig_input_in_instance.py +++ b/config/plugins/maya/publish/validate_yeti_rig_input_in_instance.py @@ -1,17 +1,17 @@ from maya import cmds import pyblish.api -import colorbleed.api +import config.api class ValidateYetiRigInputShapesInInstance(pyblish.api.Validator): """Validate if all input nodes are part of the instance's hierarchy""" - order = colorbleed.api.ValidateContentsOrder + order = config.api.ValidateContentsOrder hosts = ["maya"] - families = ["colorbleed.yetiRig"] + families = ["studio.yetiRig"] label = "Yeti Rig Input Shapes In Instance" - actions = [colorbleed.api.SelectInvalidAction] + actions = [config.api.SelectInvalidAction] def process(self, instance): diff --git a/config/plugins/maya/publish/validate_yetirig_cache_state.py b/config/plugins/maya/publish/validate_yetirig_cache_state.py index 2c4d4dbc72..a070f6785b 100644 --- a/config/plugins/maya/publish/validate_yetirig_cache_state.py +++ b/config/plugins/maya/publish/validate_yetirig_cache_state.py @@ -1,6 +1,6 @@ import pyblish.api -import colorbleed.action +import config.action import maya.cmds as cmds @@ -17,9 +17,9 @@ class ValidateYetiRigCacheState(pyblish.api.InstancePlugin): order = pyblish.api.ValidatorOrder label = "Yeti Rig Cache State" hosts = ["maya"] - families = ["colorbleed.yetiRig"] - actions = [colorbleed.action.RepairAction, - colorbleed.action.SelectInvalidAction] + families = ["studio.yetiRig"] + actions = [config.action.RepairAction, + config.action.SelectInvalidAction] def process(self, instance): invalid = self.get_invalid(instance) @@ -58,4 +58,3 @@ class ValidateYetiRigCacheState(pyblish.api.InstancePlugin): for node in invalid: cmds.setAttr("%s.fileMode" % node, 0) cmds.setAttr("%s.cacheFileName" % node, "", type="string") - diff --git a/config/plugins/nuke/create/CrateWriteExr.py b/config/plugins/nuke/create/CrateWriteExr.py new file mode 100644 index 0000000000..b9b7224101 --- /dev/null +++ b/config/plugins/nuke/create/CrateWriteExr.py @@ -0,0 +1,49 @@ +import os +import sys +import avalon.api +import avalon.nuke + + +class CrateWriteExr(avalon.api.Creator): + name = "Write_exr" + label = "Create Write: exr" + hosts = ["nuke"] + family = "studio.write" + icon = "sign-out" + + # def __init__(self, *args, **kwargs): + # super(CrateWriteExr, self).__init__(*args, **kwargs) + # self.data.setdefault("subset", "this") + + def process(self): + nuke = getattr(sys.modules["__main__"], "nuke", None) + data = {} + ext = "exr" + root, nodes = avalon.nuke.get_current_script(nuke=nuke) + + # todo: improve method of getting current environment + # todo: pref avalon.Session over os.environ + + workdir = os.path.normpath(os.environ["AVALON_WORKDIR"]) + + filename = "{}.####.exr".format(self.name) + filepath = os.path.join( + workdir, + "render", + ext, + filename + ).replace("\\", "/") + + with avalon.nuke.viewer_update_and_undo_stop(nuke): + w = nuke.createNode( + "Write", + "name {}".format(self.name)) + # w.knob('colorspace').setValue() + w.knob('file').setValue(filepath) + w.knob('file_type').setValue(ext) + w.knob('datatype').setValue("16 bit half") + w.knob('compression').setValue("Zip (1 scanline)") + w.knob('create_directories').setValue(True) + w.knob('autocrop').setValue(True) + + return data diff --git a/config/plugins/nuke/inventory/select_containers.py b/config/plugins/nuke/inventory/select_containers.py new file mode 100644 index 0000000000..1f00dc7d2e --- /dev/null +++ b/config/plugins/nuke/inventory/select_containers.py @@ -0,0 +1,25 @@ +# from avalon import api +# +# +# class FusionSelectContainers(api.InventoryAction): +# +# label = "Select Containers" +# icon = "mouse-pointer" +# color = "#d8d8d8" +# +# def process(self, containers): +# +# import avalon.fusion +# +# tools = [i["_tool"] for i in containers] +# +# comp = avalon.fusion.get_current_comp() +# flow = comp.CurrentFrame.FlowView +# +# with avalon.fusion.comp_lock_and_undo_chunk(comp, self.label): +# # Clear selection +# flow.Select() +# +# # Select tool +# for tool in tools: +# flow.Select(tool) diff --git a/config/plugins/nuke/inventory/set_tool_color.py b/config/plugins/nuke/inventory/set_tool_color.py new file mode 100644 index 0000000000..725a3f3e74 --- /dev/null +++ b/config/plugins/nuke/inventory/set_tool_color.py @@ -0,0 +1,68 @@ +# from avalon import api, style +# from avalon.vendor.Qt import QtGui, QtWidgets +# +# import avalon.fusion +# +# +# class FusionSetToolColor(api.InventoryAction): +# """Update the color of the selected tools""" +# +# label = "Set Tool Color" +# icon = "plus" +# color = "#d8d8d8" +# _fallback_color = QtGui.QColor(1.0, 1.0, 1.0) +# +# def process(self, containers): +# """Color all selected tools the selected colors""" +# +# result = [] +# comp = avalon.fusion.get_current_comp() +# +# # Get tool color +# first = containers[0] +# tool = first["_tool"] +# color = tool.TileColor +# +# if color is not None: +# qcolor = QtGui.QColor().fromRgbF(color["R"], color["G"], color["B"]) +# else: +# qcolor = self._fallback_color +# +# # Launch pick color +# picked_color = self.get_color_picker(qcolor) +# if not picked_color: +# return +# +# with avalon.fusion.comp_lock_and_undo_chunk(comp): +# for container in containers: +# # Convert color to RGB 0-1 floats +# rgb_f = picked_color.getRgbF() +# rgb_f_table = {"R": rgb_f[0], "G": rgb_f[1], "B": rgb_f[2]} +# +# # Update tool +# tool = container["_tool"] +# tool.TileColor = rgb_f_table +# +# result.append(container) +# +# return result +# +# def get_color_picker(self, color): +# """Launch color picker and return chosen color +# +# Args: +# color(QtGui.QColor): Start color to display +# +# Returns: +# QtGui.QColor +# +# """ +# +# color_dialog = QtWidgets.QColorDialog(color) +# color_dialog.setStyleSheet(style.load_stylesheet()) +# +# accepted = color_dialog.exec_() +# if not accepted: +# return +# +# return color_dialog.selectedColor() diff --git a/config/plugins/nuke/load/actions.py b/config/plugins/nuke/load/actions.py new file mode 100644 index 0000000000..c66d20daac --- /dev/null +++ b/config/plugins/nuke/load/actions.py @@ -0,0 +1,76 @@ +# """A module containing generic loader actions that will display in the Loader. +# +# """ +# +# from avalon import api +# +# +# class FusionSetFrameRangeLoader(api.Loader): +# """Specific loader of Alembic for the avalon.animation family""" +# +# families = ["studio.animation", +# "studio.camera", +# "studio.imagesequence", +# "studio.yeticache", +# "studio.pointcache"] +# representations = ["*"] +# +# label = "Set frame range" +# order = 11 +# icon = "clock-o" +# color = "white" +# +# def load(self, context, name, namespace, data): +# +# from config.fusion import lib +# +# version = context['version'] +# version_data = version.get("data", {}) +# +# start = version_data.get("startFrame", None) +# end = version_data.get("endFrame", None) +# +# if start is None or end is None: +# print("Skipping setting frame range because start or " +# "end frame data is missing..") +# return +# +# lib.update_frame_range(start, end) +# +# +# class FusionSetFrameRangeWithHandlesLoader(api.Loader): +# """Specific loader of Alembic for the avalon.animation family""" +# +# families = ["studio.animation", +# "studio.camera", +# "studio.imagesequence", +# "studio.yeticache", +# "studio.pointcache"] +# representations = ["*"] +# +# label = "Set frame range (with handles)" +# order = 12 +# icon = "clock-o" +# color = "white" +# +# def load(self, context, name, namespace, data): +# +# from config.fusion import lib +# +# version = context['version'] +# version_data = version.get("data", {}) +# +# start = version_data.get("startFrame", None) +# end = version_data.get("endFrame", None) +# +# if start is None or end is None: +# print("Skipping setting frame range because start or " +# "end frame data is missing..") +# return +# +# # Include handles +# handles = version_data.get("handles", 0) +# start -= handles +# end += handles +# +# lib.update_frame_range(start, end) diff --git a/config/plugins/nuke/load/load_sequence.py b/config/plugins/nuke/load/load_sequence.py new file mode 100644 index 0000000000..756c64a30e --- /dev/null +++ b/config/plugins/nuke/load/load_sequence.py @@ -0,0 +1,259 @@ +# import os +# import contextlib +# +# from avalon import api +# import avalon.io as io +# +# +# @contextlib.contextmanager +# def preserve_inputs(tool, inputs): +# """Preserve the tool's inputs after context""" +# +# comp = tool.Comp() +# +# values = {} +# for name in inputs: +# tool_input = getattr(tool, name) +# value = tool_input[comp.TIME_UNDEFINED] +# values[name] = value +# +# try: +# yield +# finally: +# for name, value in values.items(): +# tool_input = getattr(tool, name) +# tool_input[comp.TIME_UNDEFINED] = value +# +# +# @contextlib.contextmanager +# def preserve_trim(loader, log=None): +# """Preserve the relative trim of the Loader tool. +# +# This tries to preserve the loader's trim (trim in and trim out) after +# the context by reapplying the "amount" it trims on the clip's length at +# start and end. +# +# """ +# +# # Get original trim as amount of "trimming" from length +# time = loader.Comp().TIME_UNDEFINED +# length = loader.GetAttrs()["TOOLIT_Clip_Length"][1] - 1 +# trim_from_start = loader["ClipTimeStart"][time] +# trim_from_end = length - loader["ClipTimeEnd"][time] +# +# try: +# yield +# finally: +# +# length = loader.GetAttrs()["TOOLIT_Clip_Length"][1] - 1 +# if trim_from_start > length: +# trim_from_start = length +# if log: +# log.warning("Reducing trim in to %d " +# "(because of less frames)" % trim_from_start) +# +# remainder = length - trim_from_start +# if trim_from_end > remainder: +# trim_from_end = remainder +# if log: +# log.warning("Reducing trim in to %d " +# "(because of less frames)" % trim_from_end) +# +# loader["ClipTimeStart"][time] = trim_from_start +# loader["ClipTimeEnd"][time] = length - trim_from_end +# +# +# def loader_shift(loader, frame, relative=True): +# """Shift global in time by i preserving duration +# +# This moves the loader by i frames preserving global duration. When relative +# is False it will shift the global in to the start frame. +# +# Args: +# loader (tool): The fusion loader tool. +# frame (int): The amount of frames to move. +# relative (bool): When True the shift is relative, else the shift will +# change the global in to frame. +# +# Returns: +# int: The resulting relative frame change (how much it moved) +# +# """ +# comp = loader.Comp() +# time = comp.TIME_UNDEFINED +# +# old_in = loader["GlobalIn"][time] +# old_out = loader["GlobalOut"][time] +# +# if relative: +# shift = frame +# else: +# shift = frame - old_in +# +# # Shifting global in will try to automatically compensate for the change +# # in the "ClipTimeStart" and "HoldFirstFrame" inputs, so we preserve those +# # input values to "just shift" the clip +# with preserve_inputs(loader, inputs=["ClipTimeStart", +# "ClipTimeEnd", +# "HoldFirstFrame", +# "HoldLastFrame"]): +# +# # GlobalIn cannot be set past GlobalOut or vice versa +# # so we must apply them in the order of the shift. +# if shift > 0: +# loader["GlobalOut"][time] = old_out + shift +# loader["GlobalIn"][time] = old_in + shift +# else: +# loader["GlobalIn"][time] = old_in + shift +# loader["GlobalOut"][time] = old_out + shift +# +# return int(shift) +# +# +# class FusionLoadSequence(api.Loader): +# """Load image sequence into Fusion""" +# +# families = ["studio.imagesequence"] +# representations = ["*"] +# +# label = "Load sequence" +# order = -10 +# icon = "code-fork" +# color = "orange" +# +# def load(self, context, name, namespace, data): +# +# from avalon.fusion import ( +# imprint_container, +# get_current_comp, +# comp_lock_and_undo_chunk +# ) +# +# # Fallback to asset name when namespace is None +# if namespace is None: +# namespace = context['asset']['name'] +# +# # Use the first file for now +# path = self._get_first_image(self.fname) +# +# # Create the Loader with the filename path set +# comp = get_current_comp() +# with comp_lock_and_undo_chunk(comp, "Create Loader"): +# +# args = (-32768, -32768) +# tool = comp.AddTool("Loader", *args) +# tool["Clip"] = path +# +# # Set global in point to start frame (if in version.data) +# start = context["version"]["data"].get("startFrame", None) +# if start is not None: +# loader_shift(tool, start, relative=False) +# +# imprint_container(tool, +# name=name, +# namespace=namespace, +# context=context, +# loader=self.__class__.__name__) +# +# def switch(self, container, representation): +# self.update(container, representation) +# +# def update(self, container, representation): +# """Update the Loader's path +# +# Fusion automatically tries to reset some variables when changing +# the loader's path to a new file. These automatic changes are to its +# inputs: +# - ClipTimeStart: Fusion reset to 0 if duration changes +# - We keep the trim in as close as possible to the previous value. +# When there are less frames then the amount of trim we reduce +# it accordingly. +# +# - ClipTimeEnd: Fusion reset to 0 if duration changes +# - We keep the trim out as close as possible to the previous value +# within new amount of frames after trim in (ClipTimeStart) has +# been set. +# +# - GlobalIn: Fusion reset to comp's global in if duration changes +# - We change it to the "startFrame" +# +# - GlobalEnd: Fusion resets to globalIn + length if duration changes +# - We do the same like Fusion - allow fusion to take control. +# +# - HoldFirstFrame: Fusion resets this to 0 +# - We preverse the value. +# +# - HoldLastFrame: Fusion resets this to 0 +# - We preverse the value. +# +# - Reverse: Fusion resets to disabled if "Loop" is not enabled. +# - We preserve the value. +# +# - Depth: Fusion resets to "Format" +# - We preverse the value. +# +# - KeyCode: Fusion resets to "" +# - We preverse the value. +# +# - TimeCodeOffset: Fusion resets to 0 +# - We preverse the value. +# +# """ +# +# from avalon.fusion import comp_lock_and_undo_chunk +# +# tool = container["_tool"] +# assert tool.ID == "Loader", "Must be Loader" +# comp = tool.Comp() +# +# root = api.get_representation_path(representation) +# path = self._get_first_image(root) +# +# # Get start frame from version data +# version = io.find_one({"type": "version", +# "_id": representation["parent"]}) +# start = version["data"].get("startFrame") +# if start is None: +# self.log.warning("Missing start frame for updated version" +# "assuming starts at frame 0 for: " +# "{} ({})".format(tool.Name, representation)) +# start = 0 +# +# with comp_lock_and_undo_chunk(comp, "Update Loader"): +# +# # Update the loader's path whilst preserving some values +# with preserve_trim(tool, log=self.log): +# with preserve_inputs(tool, +# inputs=("HoldFirstFrame", +# "HoldLastFrame", +# "Reverse", +# "Depth", +# "KeyCode", +# "TimeCodeOffset")): +# tool["Clip"] = path +# +# # Set the global in to the start frame of the sequence +# global_in_changed = loader_shift(tool, start, relative=False) +# if global_in_changed: +# # Log this change to the user +# self.log.debug("Changed '%s' global in: %d" % (tool.Name, +# start)) +# +# # Update the imprinted representation +# tool.SetData("avalon.representation", str(representation["_id"])) +# +# def remove(self, container): +# +# from avalon.fusion import comp_lock_and_undo_chunk +# +# tool = container["_tool"] +# assert tool.ID == "Loader", "Must be Loader" +# comp = tool.Comp() +# +# with comp_lock_and_undo_chunk(comp, "Remove Loader"): +# tool.Delete() +# +# def _get_first_image(self, root): +# """Get first file in representation root""" +# files = sorted(os.listdir(root)) +# return os.path.join(root, files[0]) diff --git a/config/scripts/fusion_switch_shot.py b/config/scripts/fusion_switch_shot.py index 656b5a9d85..7df7dd55ba 100644 --- a/config/scripts/fusion_switch_shot.py +++ b/config/scripts/fusion_switch_shot.py @@ -8,8 +8,8 @@ from avalon import api, io, pipeline import avalon.fusion # Config imports -import colorbleed.lib as colorbleed -import config.apps.fusion.lib as fusion_lib +import config.lib as lib +import config.fusion.lib as fusion_lib log = logging.getLogger("Update Slap Comp") @@ -87,7 +87,7 @@ def _format_filepath(session): # Create new unqiue filepath if os.path.exists(new_filepath): - new_filepath = colorbleed.version_up(new_filepath) + new_filepath = lib.version_up(new_filepath) return new_filepath @@ -189,8 +189,8 @@ def switch(asset_name, filepath=None, new=True): representations = [] for container in containers: try: - representation = colorbleed.switch_item(container, - asset_name=asset_name) + representation = lib.switch_item(container, + asset_name=asset_name) representations.append(representation) except Exception as e: current_comp.Print("Error in switching! %s\n" % e.message) @@ -209,7 +209,7 @@ def switch(asset_name, filepath=None, new=True): # Update savers output based on new session _update_savers(current_comp, switch_to_session) else: - comp_path = colorbleed.version_up(filepath) + comp_path = lib.version_up(filepath) current_comp.Print(comp_path) diff --git a/config/setdress_api.py b/config/setdress_api.py index 70d8054357..ccb7b06af7 100644 --- a/config/setdress_api.py +++ b/config/setdress_api.py @@ -10,7 +10,7 @@ from maya import cmds from avalon import api import avalon.io as io from avalon.maya.lib import unique_namespace -from config.apps.maya.lib import matrix_equals +from config.maya.lib import matrix_equals log = logging.getLogger("PackageLoader") @@ -137,7 +137,7 @@ def load_package(filepath, name, namespace=None): # manager # for container in containers: # cmds.setAttr("%s.id" % container, - # "colorbleed.setdress.container", + # "studio.setdress.container", # type="string") # TODO: Lock all loaded nodes @@ -162,7 +162,7 @@ def _add(instance, representation_id, loaders, namespace, root="|"): """ - from config.apps.maya.lib import get_container_transforms + from config.maya.lib import get_container_transforms # Process within the namespace with namespaced(namespace, new=False) as namespace: @@ -359,7 +359,7 @@ def update_scene(set_container, containers, current_data, new_data, new_file): """ - from config.apps.maya.lib import DEFAULT_MATRIX, get_container_transforms + from config.maya.lib import DEFAULT_MATRIX, get_container_transforms set_namespace = set_container['namespace'] diff --git a/setup/fusion/scripts/Comp/colorbleed/set_rendermode.py b/setup/fusion/scripts/Comp/colorbleed/set_rendermode.py index 0fbcf1bf86..567dfc2aa7 100644 --- a/setup/fusion/scripts/Comp/colorbleed/set_rendermode.py +++ b/setup/fusion/scripts/Comp/colorbleed/set_rendermode.py @@ -97,11 +97,11 @@ class SetRenderMode(QtWidgets.QWidget): return self._comp.GetAttrs("COMPS_Name") def _get_comp_rendermode(self): - return self._comp.GetData("colorbleed.rendermode") or "renderlocal" + return self._comp.GetData("studio.rendermode") or "renderlocal" def _set_comp_rendermode(self): rendermode = self.mode_options.currentText() - self._comp.SetData("colorbleed.rendermode", rendermode) + self._comp.SetData("studio.rendermode", rendermode) self._comp.Print("Updated render mode to '%s'\n" % rendermode) diff --git a/setup/fusion/scripts/Comp/colorbleed/switch_ui.py b/setup/fusion/scripts/Comp/colorbleed/switch_ui.py index 8f1466abe0..92685a1ef6 100644 --- a/setup/fusion/scripts/Comp/colorbleed/switch_ui.py +++ b/setup/fusion/scripts/Comp/colorbleed/switch_ui.py @@ -154,7 +154,7 @@ class App(QtWidgets.QWidget): asset = self._assets.currentText() - import colorbleed.scripts.fusion_switch_shot as switch_shot + import config.scripts.fusion_switch_shot as switch_shot switch_shot.switch(asset_name=asset, filepath=file_name, new=True) def _get_context_directory(self):