Merge pull request #191 from ynput/enhancement/AY-1228_Load-plugins-update

Load plugins: Use product types for filtering
This commit is contained in:
Jakub Trllo 2024-03-19 10:33:52 +01:00 committed by GitHub
commit fec94a508e
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
125 changed files with 246 additions and 214 deletions

View file

@ -20,7 +20,7 @@ class BackgroundLoader(api.AfterEffectsLoader):
metadata
"""
label = "Load JSON Background"
families = ["background"]
product_types = {"background"}
representations = ["json"]
def load(self, context, name=None, namespace=None, data=None):

View file

@ -12,12 +12,14 @@ class FileLoader(api.AfterEffectsLoader):
"""
label = "Load file"
families = ["image",
"plate",
"render",
"prerender",
"review",
"audio"]
product_types = {
"image",
"plate",
"render",
"prerender",
"review",
"audio",
}
representations = ["*"]
def load(self, context, name=None, namespace=None, data=None):

View file

@ -44,7 +44,7 @@ class AppendBlendLoader(plugin.AssetLoader):
"""
representations = ["blend"]
families = ["workfile"]
product_types = {"workfile"}
label = "Append Workfile"
order = 9
@ -69,7 +69,7 @@ class ImportBlendLoader(plugin.AssetLoader):
"""
representations = ["blend"]
families = ["workfile"]
product_types = {"workfile"}
label = "Import Workfile"
order = 9

View file

@ -26,7 +26,7 @@ class CacheModelLoader(plugin.AssetLoader):
Note:
At least for now it only supports Alembic files.
"""
families = ["model", "pointcache", "animation"]
product_types = {"model", "pointcache", "animation"}
representations = ["abc"]
label = "Load Alembic"

View file

@ -24,7 +24,7 @@ class BlendActionLoader(plugin.AssetLoader):
moment.
"""
families = ["action"]
product_types = {"action"}
representations = ["blend"]
label = "Link Action"

View file

@ -16,7 +16,7 @@ class BlendAnimationLoader(plugin.AssetLoader):
moment.
"""
families = ["animation"]
product_types = {"animation"}
representations = ["blend"]
label = "Link Animation"

View file

@ -20,7 +20,7 @@ from ayon_core.hosts.blender.api.pipeline import (
class AudioLoader(plugin.AssetLoader):
"""Load audio in Blender."""
families = ["audio"]
product_types = {"audio"}
representations = ["wav"]
label = "Load Audio"

View file

@ -20,7 +20,7 @@ from ayon_core.hosts.blender.api.pipeline import (
class BlendLoader(plugin.AssetLoader):
"""Load assets from a .blend file."""
families = ["model", "rig", "layout", "camera"]
product_types = {"model", "rig", "layout", "camera"}
representations = ["blend"]
label = "Append Blend"

View file

@ -18,7 +18,7 @@ from ayon_core.hosts.blender.api.pipeline import (
class BlendSceneLoader(plugin.AssetLoader):
"""Load assets from a .blend file."""
families = ["blendScene"]
product_types = {"blendScene"}
representations = ["blend"]
label = "Append Blend"

View file

@ -23,7 +23,7 @@ class AbcCameraLoader(plugin.AssetLoader):
Stores the imported asset in an empty named after the asset.
"""
families = ["camera"]
product_types = {"camera"}
representations = ["abc"]
label = "Load Camera (ABC)"

View file

@ -23,7 +23,7 @@ class FbxCameraLoader(plugin.AssetLoader):
Stores the imported asset in an empty named after the asset.
"""
families = ["camera"]
product_types = {"camera"}
representations = ["fbx"]
label = "Load Camera (FBX)"

View file

@ -23,7 +23,7 @@ class FbxModelLoader(plugin.AssetLoader):
Stores the imported asset in an empty named after the asset.
"""
families = ["model", "rig"]
product_types = {"model", "rig"}
representations = ["fbx"]
label = "Load FBX"

View file

@ -26,7 +26,7 @@ from ayon_core.hosts.blender.api import plugin
class JsonLayoutLoader(plugin.AssetLoader):
"""Load layout published from Unreal."""
families = ["layout"]
product_types = {"layout"}
representations = ["json"]
label = "Load Layout"

View file

@ -23,7 +23,7 @@ class BlendLookLoader(plugin.AssetLoader):
contains the model. There is no further need to 'containerise' it.
"""
families = ["look"]
product_types = {"look"}
representations = ["json"]
label = "Load Look"

View file

@ -17,7 +17,7 @@ class LoadClip(opfapi.ClipLoader):
during conforming to project
"""
families = ["render2d", "source", "plate", "render", "review"]
product_types = {"render2d", "source", "plate", "render", "review"}
representations = ["*"]
extensions = set(
ext.lstrip(".") for ext in IMAGE_EXTENSIONS.union(VIDEO_EXTENSIONS)

View file

@ -16,7 +16,7 @@ class LoadClipBatch(opfapi.ClipLoader):
during conforming to project
"""
families = ["render2d", "source", "plate", "render", "review"]
product_types = {"render2d", "source", "plate", "render", "review"}
representations = ["*"]
extensions = set(
ext.lstrip(".") for ext in IMAGE_EXTENSIONS.union(VIDEO_EXTENSIONS)

View file

@ -8,13 +8,15 @@ from ayon_core.pipeline import load
class FusionSetFrameRangeLoader(load.LoaderPlugin):
"""Set frame range excluding pre- and post-handles"""
families = ["animation",
"camera",
"imagesequence",
"render",
"yeticache",
"pointcache",
"render"]
product_types = {
"animation",
"camera",
"imagesequence",
"render",
"yeticache",
"pointcache",
"render",
}
representations = ["*"]
extensions = {"*"}
@ -43,13 +45,15 @@ class FusionSetFrameRangeLoader(load.LoaderPlugin):
class FusionSetFrameRangeWithHandlesLoader(load.LoaderPlugin):
"""Set frame range including pre- and post-handles"""
families = ["animation",
"camera",
"imagesequence",
"render",
"yeticache",
"pointcache",
"render"]
product_types = {
"animation",
"camera",
"imagesequence",
"render",
"yeticache",
"pointcache",
"render",
}
representations = ["*"]
label = "Set frame range (with handles)"

View file

@ -12,7 +12,7 @@ from ayon_core.hosts.fusion.api import (
class FusionLoadAlembicMesh(load.LoaderPlugin):
"""Load Alembic mesh into Fusion"""
families = ["pointcache", "model"]
product_types = {"pointcache", "model"}
representations = ["*"]
extensions = {"abc"}

View file

@ -12,7 +12,7 @@ from ayon_core.hosts.fusion.api import (
class FusionLoadFBXMesh(load.LoaderPlugin):
"""Load FBX mesh into Fusion"""
families = ["*"]
product_types = {"*"}
representations = ["*"]
extensions = {
"3ds",

View file

@ -129,14 +129,14 @@ def loader_shift(loader, frame, relative=True):
class FusionLoadSequence(load.LoaderPlugin):
"""Load image sequence into Fusion"""
families = [
product_types = {
"imagesequence",
"review",
"render",
"plate",
"image",
"online",
]
}
representations = ["*"]
extensions = set(
ext.lstrip(".") for ext in IMAGE_EXTENSIONS.union(VIDEO_EXTENSIONS)

View file

@ -16,7 +16,7 @@ class FusionLoadUSD(load.LoaderPlugin):
Support for USD was added since Fusion 18.5
"""
families = ["*"]
product_types = {"*"}
representations = ["*"]
extensions = {"usd", "usda", "usdz"}

View file

@ -14,7 +14,7 @@ from ayon_core.hosts.fusion.api import (
class FusionLoadWorkfile(load.LoaderPlugin):
"""Load the content of a workfile into Fusion"""
families = ["workfile"]
product_types = {"workfile"}
representations = ["*"]
extensions = {"comp"}

View file

@ -582,7 +582,7 @@ class ImageSequenceLoader(load.LoaderPlugin):
"""Load images
Stores the imported asset in a container named after the asset.
"""
families = ["mindbender.imagesequence"]
product_types = {"mindbender.imagesequence"}
representations = ["*"]
def load(self, context, name=None, namespace=None, data=None):

View file

@ -35,7 +35,7 @@ function %s(args)
class ImportAudioLoader(load.LoaderPlugin):
"""Import audio."""
families = ["shot", "audio"]
product_types = {"shot", "audio"}
representations = ["wav"]
label = "Import Audio"

View file

@ -233,7 +233,7 @@ class BackgroundLoader(load.LoaderPlugin):
"""Load images
Stores the imported asset in a container named after the asset.
"""
families = ["background"]
product_types = {"background"}
representations = ["json"]
def load(self, context, name=None, namespace=None, data=None):

View file

@ -20,7 +20,14 @@ class ImageSequenceLoader(load.LoaderPlugin):
Stores the imported asset in a container named after the asset.
"""
families = ["shot", "render", "image", "plate", "reference", "review"]
product_types = {
"shot",
"render",
"image",
"plate",
"reference",
"review",
}
representations = ["*"]
extensions = {"jpeg", "png", "jpg"}

View file

@ -11,7 +11,7 @@ import ayon_core.hosts.harmony.api as harmony
class ImportPaletteLoader(load.LoaderPlugin):
"""Import palettes."""
families = ["palette", "harmony.palette"]
product_types = {"palette", "harmony.palette"}
representations = ["plt"]
label = "Import Palette"

View file

@ -23,7 +23,7 @@ class TemplateLoader(load.LoaderPlugin):
"""
families = ["template", "workfile"]
product_types = {"template", "workfile"}
representations = ["*"]
label = "Load Template"
icon = "gift"

View file

@ -13,7 +13,7 @@ import ayon_core.hosts.harmony.api as harmony
class ImportTemplateLoader(load.LoaderPlugin):
"""Import templates."""
families = ["harmony.template", "workfile"]
product_types = {"harmony.template", "workfile"}
representations = ["*"]
label = "Import Template"
@ -60,6 +60,6 @@ class ImportTemplateLoader(load.LoaderPlugin):
class ImportWorkfileLoader(ImportTemplateLoader):
"""Import workfiles."""
families = ["workfile"]
product_types = {"workfile"}
representations = ["zip"]
label = "Import Workfile"

View file

@ -15,7 +15,7 @@ class LoadClip(phiero.SequenceLoader):
during conforming to project
"""
families = ["render2d", "source", "plate", "render", "review"]
product_types = {"render2d", "source", "plate", "render", "review"}
representations = ["*"]
extensions = set(
ext.lstrip(".") for ext in IMAGE_EXTENSIONS.union(VIDEO_EXTENSIONS)
@ -59,13 +59,7 @@ class LoadClip(phiero.SequenceLoader):
if option == "representations":
continue
if option == "product_types":
# TODO remove the key conversion when loaders can filter by
# product types
# convert 'product_types' to 'families'
option = "families"
elif option == "clip_name_template":
if option == "clip_name_template":
# TODO remove the formatting replacement
value = (
value

View file

@ -14,7 +14,7 @@ from ayon_core.lib import Logger
class LoadEffects(load.LoaderPlugin):
"""Loading colorspace soft effect exported from nukestudio"""
families = ["effect"]
product_types = {"effect"}
representations = ["*"]
extension = {"json"}

View file

@ -8,13 +8,13 @@ from ayon_core.pipeline import load
class SetFrameRangeLoader(load.LoaderPlugin):
"""Set frame range excluding pre- and post-handles"""
families = [
product_types = {
"animation",
"camera",
"pointcache",
"vdbcache",
"usd",
]
}
representations = ["abc", "vdb", "usd"]
label = "Set frame range"
@ -45,13 +45,13 @@ class SetFrameRangeLoader(load.LoaderPlugin):
class SetFrameRangeWithHandlesLoader(load.LoaderPlugin):
"""Set frame range including pre- and post-handles"""
families = [
product_types = {
"animation",
"camera",
"pointcache",
"vdbcache",
"usd",
]
}
representations = ["abc", "vdb", "usd"]
label = "Set frame range (with handles)"

View file

@ -9,7 +9,7 @@ from ayon_core.hosts.houdini.api import pipeline
class AbcLoader(load.LoaderPlugin):
"""Load Alembic"""
families = ["model", "animation", "pointcache", "gpuCache"]
product_types = {"model", "animation", "pointcache", "gpuCache"}
label = "Load Alembic"
representations = ["abc"]
order = -10

View file

@ -9,7 +9,7 @@ from ayon_core.hosts.houdini.api import pipeline
class AbcArchiveLoader(load.LoaderPlugin):
"""Load Alembic as full geometry network hierarchy """
families = ["model", "animation", "pointcache", "gpuCache"]
product_types = {"model", "animation", "pointcache", "gpuCache"}
label = "Load Alembic as Archive"
representations = ["abc"]
order = -5

View file

@ -11,7 +11,7 @@ from ayon_core.hosts.houdini.api import pipeline
class AssLoader(load.LoaderPlugin):
"""Load .ass with Arnold Procedural"""
families = ["ass"]
product_types = {"ass"}
label = "Load Arnold Procedural"
representations = ["ass"]
order = -10

View file

@ -13,7 +13,7 @@ class BgeoLoader(load.LoaderPlugin):
"""Load bgeo files to Houdini."""
label = "Load bgeo"
families = ["model", "pointcache", "bgeo"]
product_types = {"model", "pointcache", "bgeo"}
representations = [
"bgeo", "bgeosc", "bgeogz",
"bgeo.sc", "bgeo.gz", "bgeo.lzma", "bgeo.bz2"]

View file

@ -87,7 +87,7 @@ def transfer_non_default_values(src, dest, ignore=None):
class CameraLoader(load.LoaderPlugin):
"""Load camera from an Alembic file"""
families = ["camera"]
product_types = {"camera"}
label = "Load Camera (abc)"
representations = ["abc"]
order = -10

View file

@ -16,7 +16,7 @@ class FbxLoader(load.LoaderPlugin):
order = -10
families = ["*"]
product_types = {"*"}
representations = ["*"]
extensions = {"fbx"}

View file

@ -10,7 +10,7 @@ from ayon_core.hosts.houdini.api import pipeline
class HdaLoader(load.LoaderPlugin):
"""Load Houdini Digital Asset file."""
families = ["hda"]
product_types = {"hda"}
label = "Load Hda"
representations = ["hda"]
order = -10

View file

@ -44,7 +44,7 @@ def get_image_avalon_container():
class ImageLoader(load.LoaderPlugin):
"""Load images into COP2"""
families = ["imagesequence"]
product_types = {"imagesequence"}
label = "Load Image (COP2)"
representations = ["*"]
order = -10

View file

@ -13,7 +13,7 @@ import hou
class RedshiftProxyLoader(load.LoaderPlugin):
"""Load Redshift Proxy"""
families = ["redshiftproxy"]
product_types = {"redshiftproxy"}
label = "Load Redshift Proxy"
representations = ["rs"]
order = -10

View file

@ -9,10 +9,10 @@ from ayon_core.hosts.houdini.api import lib
class USDSublayerLoader(load.LoaderPlugin):
"""Sublayer USD file in Solaris"""
families = [
product_types = {
"usd",
"usdCamera",
]
}
label = "Sublayer USD"
representations = ["usd", "usda", "usdlc", "usdnc", "abc"]
order = 1

View file

@ -9,10 +9,10 @@ from ayon_core.hosts.houdini.api import lib
class USDReferenceLoader(load.LoaderPlugin):
"""Reference USD file in Solaris"""
families = [
product_types = {
"usd",
"usdCamera",
]
}
label = "Reference USD"
representations = ["usd", "usda", "usdlc", "usdnc", "abc"]
order = -8

View file

@ -11,7 +11,7 @@ from ayon_core.hosts.houdini.api import pipeline
class VdbLoader(load.LoaderPlugin):
"""Load VDB"""
families = ["vdbcache"]
product_types = {"vdbcache"}
label = "Load VDB"
representations = ["vdb"]
order = -10

View file

@ -11,7 +11,7 @@ class ShowInUsdview(load.LoaderPlugin):
label = "Show in usdview"
representations = ["*"]
families = ["*"]
product_types = {"*"}
extensions = {"usd", "usda", "usdlc", "usdnc", "abc"}
order = 15

View file

@ -18,7 +18,7 @@ from ayon_core.pipeline import get_representation_path, load
class FbxLoader(load.LoaderPlugin):
"""Fbx Loader."""
families = ["camera"]
product_types = {"camera"}
representations = ["fbx"]
order = -9
icon = "code-fork"

View file

@ -72,9 +72,11 @@ class MaterialDupOptionsWindow(QtWidgets.QDialog):
class MaxSceneLoader(load.LoaderPlugin):
"""Max Scene Loader."""
families = ["camera",
"maxScene",
"model"]
product_types = {
"camera",
"maxScene",
"model",
}
representations = ["max"]
order = -8

View file

@ -14,7 +14,7 @@ from ayon_core.hosts.max.api.lib import (
class ModelAbcLoader(load.LoaderPlugin):
"""Loading model with the Alembic loader."""
families = ["model"]
product_types = {"model"}
label = "Load Model with Alembic"
representations = ["abc"]
order = -10

View file

@ -17,7 +17,7 @@ from ayon_core.hosts.max.api.lib import maintained_selection
class FbxModelLoader(load.LoaderPlugin):
"""Fbx Model Loader."""
families = ["model"]
product_types = {"model"}
representations = ["fbx"]
order = -9
icon = "code-fork"

View file

@ -20,7 +20,7 @@ from ayon_core.pipeline import get_representation_path, load
class ObjLoader(load.LoaderPlugin):
"""Obj Loader."""
families = ["model"]
product_types = {"model"}
representations = ["obj"]
order = -9
icon = "code-fork"

View file

@ -22,7 +22,7 @@ from ayon_core.pipeline import get_representation_path, load
class ModelUSDLoader(load.LoaderPlugin):
"""Loading model with the USD loader."""
families = ["model"]
product_types = {"model"}
label = "Load Model(USD)"
representations = ["usda"]
order = -10

View file

@ -18,7 +18,7 @@ from ayon_core.hosts.max.api.pipeline import (
class AbcLoader(load.LoaderPlugin):
"""Alembic loader."""
families = ["camera", "animation", "pointcache"]
product_types = {"camera", "animation", "pointcache"}
label = "Load Alembic"
representations = ["abc"]
order = -10

View file

@ -21,7 +21,7 @@ from pymxs import runtime as rt
class OxAbcLoader(load.LoaderPlugin):
"""Ornatrix Alembic loader."""
families = ["camera", "animation", "pointcache"]
product_types = {"camera", "animation", "pointcache"}
label = "Load Alembic with Ornatrix"
representations = ["abc"]
order = -10

View file

@ -17,7 +17,7 @@ from ayon_core.pipeline import get_representation_path, load
class PointCloudLoader(load.LoaderPlugin):
"""Point Cloud Loader."""
families = ["pointcloud"]
product_types = {"pointcloud"}
representations = ["prt"]
order = -8
icon = "code-fork"

View file

@ -23,7 +23,7 @@ class RedshiftProxyLoader(load.LoaderPlugin):
"""Load rs files with Redshift Proxy"""
label = "Load Redshift Proxy"
families = ["redshiftproxy"]
product_types = {"redshiftproxy"}
representations = ["rs"]
order = -9
icon = "code-fork"

View file

@ -16,7 +16,7 @@ from ayon_core.pipeline import get_representation_path, load
class TyCacheLoader(load.LoaderPlugin):
"""TyCache Loader."""
families = ["tycache"]
product_types = {"tycache"}
representations = ["tyc"]
order = -8
icon = "code-fork"

View file

@ -46,9 +46,11 @@ def _process_reference(file_url, name, namespace, options):
class AbcLoader(ayon_core.hosts.maya.api.plugin.ReferenceLoader):
"""Loader to reference an Alembic file"""
families = ["animation",
"camera",
"pointcache"]
product_types = {
"animation",
"camera",
"pointcache",
}
representations = ["abc"]
label = "Reference animation"
@ -75,8 +77,10 @@ class AbcLoader(ayon_core.hosts.maya.api.plugin.ReferenceLoader):
class FbxLoader(ayon_core.hosts.maya.api.plugin.ReferenceLoader):
"""Loader to reference an Fbx files"""
families = ["animation",
"camera"]
product_types = {
"animation",
"camera",
}
representations = ["fbx"]
label = "Reference animation"

View file

@ -13,10 +13,12 @@ import ayon_core.hosts.maya.api.plugin
class SetFrameRangeLoader(load.LoaderPlugin):
"""Set frame range excluding pre- and post-handles"""
families = ["animation",
"camera",
"proxyAbc",
"pointcache"]
product_types = {
"animation",
"camera",
"proxyAbc",
"pointcache",
}
representations = ["abc"]
label = "Set frame range"
@ -46,10 +48,12 @@ class SetFrameRangeLoader(load.LoaderPlugin):
class SetFrameRangeWithHandlesLoader(load.LoaderPlugin):
"""Set frame range including pre- and post-handles"""
families = ["animation",
"camera",
"proxyAbc",
"pointcache"]
product_types = {
"animation",
"camera",
"proxyAbc",
"pointcache",
}
representations = ["abc"]
label = "Set frame range (with handles)"
@ -91,7 +95,7 @@ class ImportMayaLoader(ayon_core.hosts.maya.api.plugin.Loader):
"""
representations = ["ma", "mb", "obj"]
families = [
product_types = {
"model",
"pointcache",
"proxyAbc",
@ -104,8 +108,8 @@ class ImportMayaLoader(ayon_core.hosts.maya.api.plugin.Loader):
"rig",
"camerarig",
"staticMesh",
"workfile"
]
"workfile",
}
label = "Import"
order = 10

View file

@ -29,7 +29,9 @@ def is_sequence(files):
class ArnoldStandinLoader(load.LoaderPlugin):
"""Load as Arnold standin"""
families = ["ass", "animation", "model", "proxyAbc", "pointcache", "usd"]
product_types = {
"ass", "animation", "model", "proxyAbc", "pointcache", "usd"
}
representations = ["ass", "abc", "usda", "usdc", "usd"]
label = "Load as Arnold standin"

View file

@ -12,7 +12,7 @@ from ayon_core.hosts.maya.api import setdress
class AssemblyLoader(load.LoaderPlugin):
families = ["assembly"]
product_types = {"assembly"}
representations = ["json"]
label = "Load Set Dress"

View file

@ -11,7 +11,7 @@ from ayon_core.hosts.maya.api.lib import unique_namespace, get_container_members
class AudioLoader(load.LoaderPlugin):
"""Specific loader of audio."""
families = ["audio"]
product_types = {"audio"}
label = "Load audio"
representations = ["wav"]
icon = "volume-up"

View file

@ -15,7 +15,7 @@ from ayon_core.hosts.maya.api.plugin import get_load_color_for_product_type
class GpuCacheLoader(load.LoaderPlugin):
"""Load Alembic as gpuCache"""
families = ["model", "animation", "proxyAbc", "pointcache"]
product_types = {"model", "animation", "proxyAbc", "pointcache"}
representations = ["abc", "gpu_cache"]
label = "Load Gpu Cache"

View file

@ -93,7 +93,7 @@ def create_stencil():
class FileNodeLoader(load.LoaderPlugin):
"""File node loader."""
families = ["image", "plate", "render"]
product_types = {"image", "plate", "render"}
label = "Load file node"
representations = ["exr", "tif", "png", "jpg"]
icon = "image"

View file

@ -87,7 +87,7 @@ class CameraWindow(QtWidgets.QDialog):
class ImagePlaneLoader(load.LoaderPlugin):
"""Specific loader of plate for image planes on selected camera."""
families = ["image", "plate", "render"]
product_types = {"image", "plate", "render"}
label = "Load imagePlane"
representations = ["mov", "exr", "preview", "png", "jpg"]
icon = "image"

View file

@ -17,7 +17,7 @@ from ayon_core.tools.utils import ScrollMessageBox
class LookLoader(ayon_core.hosts.maya.api.plugin.ReferenceLoader):
"""Specific loader for lookdev"""
families = ["look"]
product_types = {"look"}
representations = ["ma"]
label = "Reference look"

View file

@ -8,7 +8,7 @@ class MatchmoveLoader(load.LoaderPlugin):
Supported script types are .py and .mel
"""
families = ["matchmove"]
product_types = {"matchmove"}
representations = ["py", "mel"]
defaults = ["Camera", "Object", "Mocap"]

View file

@ -16,7 +16,7 @@ from ayon_core.hosts.maya.api.pipeline import containerise
class MayaUsdLoader(load.LoaderPlugin):
"""Read USD data in a Maya USD Proxy"""
families = ["model", "usd", "pointcache", "animation"]
product_types = {"model", "usd", "pointcache", "animation"}
representations = ["usd", "usda", "usdc", "usdz", "abc"]
label = "Load USD to Maya Proxy"

View file

@ -20,8 +20,14 @@ from ayon_core.hosts.maya.api.pipeline import containerise
class MultiverseUsdLoader(load.LoaderPlugin):
"""Read USD data in a Multiverse Compound"""
families = ["model", "usd", "mvUsdComposition", "mvUsdOverride",
"pointcache", "animation"]
product_types = {
"model",
"usd",
"mvUsdComposition",
"mvUsdOverride",
"pointcache",
"animation",
}
representations = ["usd", "usda", "usdc", "usdz", "abc"]
label = "Load USD to Multiverse"

View file

@ -19,7 +19,7 @@ from ayon_core.hosts.maya.api.pipeline import containerise
class MultiverseUsdOverLoader(load.LoaderPlugin):
"""Reference file"""
families = ["mvUsdOverride"]
product_types = {"mvUsdOverride"}
representations = ["usda", "usd", "udsz"]
label = "Load Usd Override into Compound"

View file

@ -22,7 +22,7 @@ from ayon_core.hosts.maya.api.plugin import get_load_color_for_product_type
class RedshiftProxyLoader(load.LoaderPlugin):
"""Load Redshift proxy"""
families = ["redshiftproxy"]
product_types = {"redshiftproxy"}
representations = ["rs"]
label = "Import Redshift Proxy"

View file

@ -89,21 +89,23 @@ def preserve_modelpanel_cameras(container, log=None):
class ReferenceLoader(plugin.ReferenceLoader):
"""Reference file"""
families = ["model",
"pointcache",
"proxyAbc",
"animation",
"mayaAscii",
"mayaScene",
"setdress",
"layout",
"camera",
"rig",
"camerarig",
"staticMesh",
"skeletalMesh",
"mvLook",
"matchmove"]
product_types = {
"model",
"pointcache",
"proxyAbc",
"animation",
"mayaAscii",
"mayaScene",
"setdress",
"layout",
"camera",
"rig",
"camerarig",
"staticMesh",
"skeletalMesh",
"mvLook",
"matchmove",
}
representations = ["ma", "abc", "fbx", "mb"]
@ -270,7 +272,7 @@ class MayaUSDReferenceLoader(ReferenceLoader):
"""Reference USD file to native Maya nodes using MayaUSDImport reference"""
label = "Reference Maya USD"
families = ["usd"]
product_types = {"usd"}
representations = ["usd"]
extensions = {"usd", "usda", "usdc"}

View file

@ -24,7 +24,7 @@ import maya.app.renderSetup.model.renderSetup as renderSetup
class RenderSetupLoader(load.LoaderPlugin):
"""Load json preset for RenderSetup overwriting current one."""
families = ["rendersetup"]
product_types = {"rendersetup"}
representations = ["json"]
defaults = ['Main']

View file

@ -12,7 +12,7 @@ from ayon_core.hosts.maya.api.plugin import get_load_color_for_product_type
class LoadVDBtoArnold(load.LoaderPlugin):
"""Load OpenVDB for Arnold in aiVolume"""
families = ["vdbcache"]
product_types = {"vdbcache"}
representations = ["vdb"]
label = "Load VDB to Arnold"

View file

@ -18,7 +18,7 @@ class LoadVDBtoRedShift(load.LoaderPlugin):
"""
families = ["vdbcache"]
product_types = {"vdbcache"}
representations = ["vdb"]
label = "Load VDB to RedShift"

View file

@ -77,7 +77,7 @@ def _fix_duplicate_vvg_callbacks():
class LoadVDBtoVRay(load.LoaderPlugin):
"""Load OpenVDB in a V-Ray Volume Grid"""
families = ["vdbcache"]
product_types = {"vdbcache"}
representations = ["vdb"]
label = "Load VDB to VRay"

View file

@ -27,7 +27,7 @@ from ayon_core.hosts.maya.api.plugin import get_load_color_for_product_type
class VRayProxyLoader(load.LoaderPlugin):
"""Load VRay Proxy with Alembic or VrayMesh."""
families = ["vrayproxy", "model", "pointcache", "animation"]
product_types = {"vrayproxy", "model", "pointcache", "animation"}
representations = ["vrmesh", "abc"]
label = "Import VRay Proxy"

View file

@ -17,7 +17,7 @@ from ayon_core.hosts.maya.api.plugin import get_load_color_for_product_type
class VRaySceneLoader(load.LoaderPlugin):
"""Load Vray scene"""
families = ["vrayscene_layer"]
product_types = {"vrayscene_layer"}
representations = ["vrscene"]
label = "Import VRay Scene"

View file

@ -20,7 +20,7 @@ from ayon_core.pipeline import get_representation_path
class XgenLoader(ayon_core.hosts.maya.api.plugin.ReferenceLoader):
"""Load Xgen as reference"""
families = ["xgen"]
product_types = {"xgen"}
representations = ["ma", "mb"]
label = "Reference Xgen"

View file

@ -36,7 +36,7 @@ def set_attribute(node, attr, value):
class YetiCacheLoader(load.LoaderPlugin):
"""Load Yeti Cache with one or more Yeti nodes"""
families = ["yeticache", "yetiRig"]
product_types = {"yeticache", "yetiRig"}
representations = ["fur"]
label = "Load Yeti Cache"

View file

@ -7,7 +7,7 @@ from ayon_core.hosts.maya.api import lib
class YetiRigLoader(plugin.ReferenceLoader):
"""This loader will load Yeti rig."""
families = ["yetiRig"]
product_types = {"yetiRig"}
representations = ["ma"]
label = "Load Yeti Rig"

View file

@ -12,11 +12,13 @@ log = Logger.get_logger(__name__)
class SetFrameRangeLoader(load.LoaderPlugin):
"""Set frame range excluding pre- and post-handles"""
families = ["animation",
"camera",
"write",
"yeticache",
"pointcache"]
product_types = {
"animation",
"camera",
"write",
"yeticache",
"pointcache",
}
representations = ["*"]
extensions = {"*"}
@ -44,11 +46,13 @@ class SetFrameRangeLoader(load.LoaderPlugin):
class SetFrameRangeWithHandlesLoader(load.LoaderPlugin):
"""Set frame range including pre- and post-handles"""
families = ["animation",
"camera",
"write",
"yeticache",
"pointcache"]
product_types = {
"animation",
"camera",
"write",
"yeticache",
"pointcache",
}
representations = ["*"]
label = "Set frame range (with handles)"

View file

@ -21,7 +21,7 @@ from ayon_core.hosts.nuke.api import containerise, update_container
class LoadBackdropNodes(load.LoaderPlugin):
"""Loading Published Backdrop nodes (workfile, nukenodes)"""
families = ["workfile", "nukenodes"]
product_types = {"workfile", "nukenodes"}
representations = ["*"]
extensions = {"nk"}

View file

@ -20,7 +20,7 @@ class AlembicCameraLoader(load.LoaderPlugin):
This will load alembic camera into script.
"""
families = ["camera"]
product_types = {"camera"}
representations = ["*"]
extensions = {"abc"}

View file

@ -35,13 +35,13 @@ class LoadClip(plugin.NukeLoader):
"""
log = Logger.get_logger(__name__)
families = [
product_types = {
"source",
"plate",
"render",
"prerender",
"review"
]
"review",
}
representations = ["*"]
extensions = set(
ext.lstrip(".") for ext in IMAGE_EXTENSIONS.union(VIDEO_EXTENSIONS)

View file

@ -18,7 +18,7 @@ from ayon_core.hosts.nuke.api import (
class LoadEffects(load.LoaderPlugin):
"""Loading colorspace soft effect exported from nukestudio"""
families = ["effect"]
product_types = {"effect"}
representations = ["*"]
extensions = {"json"}

View file

@ -19,7 +19,7 @@ from ayon_core.hosts.nuke.api import (
class LoadEffectsInputProcess(load.LoaderPlugin):
"""Loading colorspace soft effect exported from nukestudio"""
families = ["effect"]
product_types = {"effect"}
representations = ["*"]
extensions = {"json"}

View file

@ -21,7 +21,7 @@ from ayon_core.hosts.nuke.api import (
class LoadGizmo(load.LoaderPlugin):
"""Loading nuke Gizmo"""
families = ["gizmo"]
product_types = {"gizmo"}
representations = ["*"]
extensions = {"nk"}

View file

@ -23,7 +23,7 @@ from ayon_core.hosts.nuke.api import (
class LoadGizmoInputProcess(load.LoaderPlugin):
"""Loading colorspace soft effect exported from nukestudio"""
families = ["gizmo"]
product_types = {"gizmo"}
representations = ["*"]
extensions = {"nk"}

View file

@ -23,15 +23,15 @@ from ayon_core.lib.transcoding import (
class LoadImage(load.LoaderPlugin):
"""Load still image into Nuke"""
families = [
product_types = {
"render2d",
"source",
"plate",
"render",
"prerender",
"review",
"image"
]
"image",
}
representations = ["*"]
extensions = set(
ext.lstrip(".") for ext in IMAGE_EXTENSIONS

View file

@ -7,7 +7,7 @@ class MatchmoveLoader(load.LoaderPlugin):
This will run matchmove script to create track in script.
"""
families = ["matchmove"]
product_types = {"matchmove"}
representations = ["*"]
extensions = {"py"}

View file

@ -18,7 +18,7 @@ class AlembicModelLoader(load.LoaderPlugin):
This will load alembic model or anim into script.
"""
families = ["model", "pointcache", "animation"]
product_types = {"model", "pointcache", "animation"}
representations = ["*"]
extensions = {"abc"}

View file

@ -20,7 +20,7 @@ from ayon_core.hosts.nuke.api import (
class LoadOcioLookNodes(load.LoaderPlugin):
"""Loading Ocio look to the nuke.Node graph"""
families = ["ociolook"]
product_types = {"ociolook"}
representations = ["*"]
extensions = {"json"}

View file

@ -16,7 +16,7 @@ from ayon_core.hosts.nuke.api import (
class LinkAsGroup(load.LoaderPlugin):
"""Copy the published file to be pasted at the desired location"""
families = ["workfile", "nukenodes"]
product_types = {"workfile", "nukenodes"}
representations = ["*"]
extensions = {"nk"}

View file

@ -11,7 +11,7 @@ class ImageLoader(photoshop.PhotoshopLoader):
Stores the imported asset in a container named after the asset.
"""
families = ["image", "render"]
product_types = {"image", "render"}
representations = ["*"]
def load(self, context, name=None, namespace=None, data=None):

View file

@ -24,7 +24,7 @@ class ImageFromSequenceLoader(photoshop.PhotoshopLoader):
difficult.
"""
families = ["render"]
product_types = {"render"}
representations = ["*"]
options = []

View file

@ -14,7 +14,7 @@ class ReferenceLoader(photoshop.PhotoshopLoader):
"Cannot write to closing transport", possible refactor.
"""
families = ["image", "render"]
product_types = {"image", "render"}
representations = ["*"]
def load(self, context, name=None, namespace=None, data=None):

View file

@ -18,7 +18,7 @@ class LoadClip(plugin.TimelineItemLoader):
during conforming to project
"""
families = ["render2d", "source", "plate", "render", "review"]
product_types = {"render2d", "source", "plate", "render", "review"}
representations = ["*"]
extensions = set(

View file

@ -17,7 +17,7 @@ import qargparse
class SubstanceLoadProjectMesh(load.LoaderPlugin):
"""Load mesh for project"""
families = ["*"]
product_types = {"*"}
representations = ["abc", "fbx", "obj", "gltf"]
label = "Load mesh"

View file

@ -6,7 +6,7 @@ from ayon_core.hosts.tvpaint.api.lib import execute_george_through_file
class ImportImage(plugin.Loader):
"""Load image or image sequence to TVPaint as new layer."""
families = ["render", "image", "background", "plate", "review"]
product_types = {"render", "image", "background", "plate", "review"}
representations = ["*"]
label = "Import Image"

View file

@ -20,7 +20,7 @@ from ayon_core.hosts.tvpaint.api.pipeline import (
class LoadImage(plugin.Loader):
"""Load image or image sequence to TVPaint as new layer."""
families = ["render", "image", "background", "plate", "review"]
product_types = {"render", "image", "background", "plate", "review"}
representations = ["*"]
label = "Load Image"

Some files were not shown because too many files have changed in this diff Show more