From a1b1c43d4faf32d23bb219d7ddf166c75ee35b38 Mon Sep 17 00:00:00 2001 From: Jakub Jezek Date: Wed, 31 Mar 2021 12:47:42 +0200 Subject: [PATCH] Resolve: adding removing instance action --- pype/hosts/resolve/api/pipeline.py | 23 ++++++++++++++++++++++- pype/hosts/resolve/api/plugin.py | 4 ++++ 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/pype/hosts/resolve/api/pipeline.py b/pype/hosts/resolve/api/pipeline.py index d1d1b5185a..9a74e50e6f 100644 --- a/pype/hosts/resolve/api/pipeline.py +++ b/pype/hosts/resolve/api/pipeline.py @@ -262,7 +262,28 @@ def on_pyblish_instance_toggled(instance, old_value, new_value): def remove_instance(instance): """Remove instance marker from track item.""" - pass + instance_id = instance.get("uuid") + + selected_timeline_items = lib.get_current_timeline_items( + filter=True, selecting_color=lib.publish_clip_color) + + found_ti = None + for timeline_item_data in selected_timeline_items: + timeline_item = timeline_item_data["clip"]["item"] + + # get pype tag data + tag_data = lib.get_timeline_item_pype_tag(timeline_item) + _ti_id = tag_data.get("uuid") + if _ti_id == instance_id: + found_ti = timeline_item + break + + if found_ti is None: + return + + # removing instance by marker color + print(f"Removing instance: {found_ti.GetName()}") + found_ti.DeleteMarkersByColor(lib.pype_marker_color) def list_instances(): diff --git a/pype/hosts/resolve/api/plugin.py b/pype/hosts/resolve/api/plugin.py index 4ed8c5bc4a..0ba6c5e745 100644 --- a/pype/hosts/resolve/api/plugin.py +++ b/pype/hosts/resolve/api/plugin.py @@ -1,4 +1,5 @@ import re +import uuid from avalon import api import pype.api as pype from pype.hosts import resolve @@ -777,6 +778,9 @@ class PublishClip: # add data to return data dict self.tag_data.update(tag_hierarchy_data) + # add uuid to tag data + self.tag_data["uuid"] = str(uuid.uuid4()) + # add review track only to hero track if hero_track and self.review_layer: self.tag_data.update({"reviewTrack": self.review_layer})