mirror of
https://github.com/Hommy-master/capcut-mate.git
synced 2026-09-01 15:32:57 +08:00
解决添加特效时,层级错误的问题。
This commit is contained in:
@@ -250,6 +250,12 @@ class ScriptFile:
|
||||
raise TypeError("错误的素材类型: '%s'" % type(material))
|
||||
return self
|
||||
|
||||
def next_track_render_index(self) -> int:
|
||||
"""为即将追加的新轨道分配 ``render_index``,保证叠在现有所有轨道之上(数值越大越接近前景)。"""
|
||||
if not self.tracks:
|
||||
return 0
|
||||
return max(track.render_index for track in self.tracks.values()) + 1
|
||||
|
||||
def add_track(self, track_type: TrackType, track_name: Optional[str] = None, *,
|
||||
mute: bool = False,
|
||||
relative_index: int = 0, absolute_index: Optional[int] = None) -> "ScriptFile":
|
||||
|
||||
@@ -57,9 +57,13 @@ def add_effects(
|
||||
# 3. 从缓存中获取草稿
|
||||
script: ScriptFile = DRAFT_CACHE[draft_id]
|
||||
|
||||
# 4. 添加特效轨道
|
||||
# 4. 添加特效轨道(叠层按接口调用先后:新建轨时取当前最大 render_index + 1,与片段在时间轴上的 start/end 无关;避免默认 10000 盖住图片/叠加视频等)
|
||||
track_name = f"effect_track_{helper.gen_unique_id()}"
|
||||
script.add_track(track_type=TrackType.effect, track_name=track_name)
|
||||
script.add_track(
|
||||
track_type=TrackType.effect,
|
||||
track_name=track_name,
|
||||
absolute_index=script.next_track_render_index(),
|
||||
)
|
||||
logger.info(f"Added effect track: {track_name}")
|
||||
|
||||
# 5. 遍历特效信息,添加特效到草稿中的指定轨道,收集片段ID
|
||||
|
||||
Reference in New Issue
Block a user