mirror of
https://github.com/ynput/ayon-core.git
synced 2025-12-24 21:04:40 +01:00
Merge pull request #1122 from pypeclub/feature/AE_add_subset_manager
AE add subset manager
This commit is contained in:
commit
8a82a29fcf
3 changed files with 27 additions and 14 deletions
|
|
@ -8,7 +8,13 @@ log = logging.getLogger(__name__)
|
|||
|
||||
|
||||
class CreateRender(pype.api.Creator):
|
||||
"""Render folder for publish."""
|
||||
"""Render folder for publish.
|
||||
|
||||
Creates subsets in format 'familyTaskSubsetname',
|
||||
eg 'renderCompositingMain'.
|
||||
|
||||
Create only single instance from composition at a time.
|
||||
"""
|
||||
|
||||
name = "renderDefault"
|
||||
label = "Render on Farm"
|
||||
|
|
@ -20,7 +26,7 @@ class CreateRender(pype.api.Creator):
|
|||
items = stub.get_selected_items(comps=True,
|
||||
folders=False,
|
||||
footages=False)
|
||||
else:
|
||||
if len(items) > 1:
|
||||
self._show_msg("Please select only single composition at time.")
|
||||
return False
|
||||
|
||||
|
|
@ -30,15 +36,20 @@ class CreateRender(pype.api.Creator):
|
|||
"one composition.")
|
||||
return False
|
||||
|
||||
for item in items:
|
||||
existing_subsets = [instance['subset'].lower()
|
||||
for instance in aftereffects.list_instances()]
|
||||
|
||||
item = items.pop()
|
||||
if self.name.lower() in existing_subsets:
|
||||
txt = "Instance with name \"{}\" already exists.".format(self.name)
|
||||
if self.name.lower() == item.name.lower():
|
||||
self._show_msg(txt)
|
||||
return False
|
||||
self.data["members"] = [item.id]
|
||||
stub.imprint(item, self.data)
|
||||
stub.set_label_color(item.id, 14) # Cyan options 0 - 16
|
||||
stub.rename_item(item, self.data["subset"])
|
||||
self._show_msg(txt)
|
||||
return False
|
||||
|
||||
self.data["members"] = [item.id]
|
||||
self.data["uuid"] = item.id # for SubsetManager
|
||||
stub.imprint(item, self.data)
|
||||
stub.set_label_color(item.id, 14) # Cyan options 0 - 16
|
||||
stub.rename_item(item, stub.PUBLISH_ICON + self.data["subset"])
|
||||
|
||||
def _show_msg(self, txt):
|
||||
msg = Qt.QtWidgets.QMessageBox()
|
||||
|
|
|
|||
|
|
@ -29,7 +29,8 @@ class BackgroundLoader(api.Loader):
|
|||
"{}_{}".format(context["asset"]["name"], name))
|
||||
|
||||
layers = get_background_layers(self.fname)
|
||||
comp = stub.import_background(None, comp_name, layers)
|
||||
comp = stub.import_background(None, stub.LOADED_ICON + comp_name,
|
||||
layers)
|
||||
|
||||
if not comp:
|
||||
self.log.warning(
|
||||
|
|
@ -72,7 +73,7 @@ class BackgroundLoader(api.Loader):
|
|||
|
||||
layers = get_background_layers(path)
|
||||
comp = stub.reload_background(container["members"][1],
|
||||
comp_name,
|
||||
stub.LOADED_ICON + comp_name,
|
||||
layers)
|
||||
|
||||
# update container
|
||||
|
|
|
|||
|
|
@ -48,7 +48,8 @@ class FileLoader(api.Loader):
|
|||
if '.psd' in file:
|
||||
import_options['ImportAsType'] = 'ImportAsType.COMP'
|
||||
|
||||
comp = stub.import_file(self.fname, comp_name, import_options)
|
||||
comp = stub.import_file(self.fname, stub.LOADED_ICON + comp_name,
|
||||
import_options)
|
||||
|
||||
if not comp:
|
||||
self.log.warning(
|
||||
|
|
@ -87,7 +88,7 @@ class FileLoader(api.Loader):
|
|||
layer_name = container["namespace"]
|
||||
path = api.get_representation_path(representation)
|
||||
# with aftereffects.maintained_selection(): # TODO
|
||||
stub.replace_item(layer, path, layer_name)
|
||||
stub.replace_item(layer, path, stub.LOADED_ICON + layer_name)
|
||||
stub.imprint(
|
||||
layer, {"representation": str(representation["_id"]),
|
||||
"name": context["subset"],
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue