Skip to content

create_placeholder

AEPlaceholderCreatePlugin

Bases: AEPlaceholderPlugin, PlaceholderCreateMixin

Adds Create placeholder.

This adds composition and runs Create

Source code in client/ayon_aftereffects/plugins/workfile_build/create_placeholder.py
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
class AEPlaceholderCreatePlugin(wtb.AEPlaceholderPlugin,
                                PlaceholderCreateMixin):
    """Adds Create placeholder.

    This adds composition and runs Create
    """
    identifier = "aftereffects.create"
    label = "AfterEffects create"

    def _create_placeholder_item(self, item_data) -> CreatePlaceholderItem:
        return CreatePlaceholderItem(
            scene_identifier=item_data["uuid"],
            data=item_data["data"],
            plugin=self
        )

    def create_placeholder(self, placeholder_data):
        stub = get_stub()
        name = "CREATEPLACEHOLDER"
        item_id = stub.add_item(name, "COMP")

        self._imprint_item(item_id, name, placeholder_data, stub)

    def populate_placeholder(self, placeholder):
        """Replace 'placeholder' with publishable instance.

        Renames prepared composition name, creates publishable instance, sets
        frame/duration settings according to DB.
        """
        pre_create_data = {"use_selection": True}
        item_id, item = self._get_item(placeholder)
        get_stub().select_items([item_id])
        self.populate_create_placeholder(placeholder, pre_create_data)

        # apply settings for populated composition
        item_id, metadata_item = self._get_item(placeholder)
        set_settings(True, True, [item_id])

    def get_placeholder_options(self, options=None):
        return self.get_create_plugin_options(options)

populate_placeholder(placeholder)

Replace 'placeholder' with publishable instance.

Renames prepared composition name, creates publishable instance, sets frame/duration settings according to DB.

Source code in client/ayon_aftereffects/plugins/workfile_build/create_placeholder.py
35
36
37
38
39
40
41
42
43
44
45
46
47
48
def populate_placeholder(self, placeholder):
    """Replace 'placeholder' with publishable instance.

    Renames prepared composition name, creates publishable instance, sets
    frame/duration settings according to DB.
    """
    pre_create_data = {"use_selection": True}
    item_id, item = self._get_item(placeholder)
    get_stub().select_items([item_id])
    self.populate_create_placeholder(placeholder, pre_create_data)

    # apply settings for populated composition
    item_id, metadata_item = self._get_item(placeholder)
    set_settings(True, True, [item_id])