Bases: HarmonyCreator
Use existing Backdrop or create new one around selected nodes.
Publishable template is marked as Backdrop wrapping node(s)
Source code in client/ayon_harmony/plugins/create/create_template.py
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36 | class CreateTemplate(plugin.HarmonyCreator):
"""Use existing Backdrop or create new one around selected nodes.
Publishable template is marked as Backdrop wrapping node(s)
"""
identifier = "io.ayon.creators.harmony.template"
label = "Template"
product_type = "harmony.template"
icon = "cubes"
def product_impl(self, name, instance_data: dict, pre_create_data: dict):
args = [name, pre_create_data.get("use_selection") ]
backdrop = harmony.send(
{
"function": "AyonHarmonyAPI.createBackdropContainer",
"args": args
}
)["result"]
return backdrop["title"]["text"]
def remove_instances(self, instances):
for instance in instances:
container_name = instance.transient_data["node"]
container_backdrop = harmony.find_backdrop_by_name(container_name)
harmony.send(
{"function": "AyonHarmony.removeBackdropWithContents", "args": container_backdrop}
)
harmony.remove(container_name)
self._remove_instance_from_context(instance)
|