fix(fcpxml): tracking-shape id duplicado ao cortar clipe com Cinematic

Object-tracker/tracking-shape (dado de rastreamento de objeto preservado
do asset original) mantinha o mesmo id em cada deepcopy feito por
split_clip/cut_clip_ranges, e o FCP acabava rejeitando o arquivo com "ID
tr1 already defined" depois de vários cortes. Mesmo mecanismo do bug já
corrigido para text-style-def, agora coberto também para tracking-shape.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
João Henrique
2026-08-26 16:03:31 -04:00
co-authored by Claude Sonnet 5
parent 2ad5854570
commit 635d1bb553
3 changed files with 42 additions and 0 deletions
+2
View File
@@ -125,6 +125,7 @@ class CutMixin:
new_clip, current_start, segment_duration
)
self._reassign_text_style_ids(new_clip)
self._reassign_tracking_shape_ids(new_clip)
spine.insert(clip_index + len(new_clips), new_clip)
new_clips.append(new_clip)
@@ -243,6 +244,7 @@ class CutMixin:
new_clip.set('duration', seg_duration.to_fcpxml())
self._filter_children_for_segment(new_clip, seg_start, seg_duration)
self._reassign_text_style_ids(new_clip)
self._reassign_tracking_shape_ids(new_clip)
spine.insert(clip_index + len(new_clips), new_clip)
new_clips.append(new_clip)
current_offset = current_offset + seg_duration