From 0c4f55006d71f72870e28095e2216077ad2fd68b Mon Sep 17 00:00:00 2001 From: j Date: Mon, 26 Jan 2026 18:34:27 +0100 Subject: [PATCH] fix scene duration --- render_utils.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/render_utils.py b/render_utils.py index 8a39d7e..21c86dd 100644 --- a/render_utils.py +++ b/render_utils.py @@ -5,6 +5,7 @@ import lxml.etree import ox from .render_kdenlive import melt_xml +from .utils import format_duration def parse_lang(lang): @@ -57,17 +58,20 @@ def get_clip_by_seqid(clips, seqid): return None -def get_scene_duration(scene): +def get_scene_duration(scene, fps=24, track=None): if isinstance(scene, str): with open(scene) as fd: scene = json.load(fd) duration = 0 for key, value in scene.items(): for name, clips in value.items(): + if track and '%s:%s' % (key, name) != track: + continue if clips: for clip in clips: - duration += int(clip["duration"] * 24) - return duration / 24 + duration += round(clip["duration"] * fps) + #print("scene duration based on %s:%s is %s %s" % (key, name, duration / fps, format_duration(duration / fps, fps))) + return duration / fps def get_offset_duration(prefix):