Rework tw computation.

This commit is contained in:
robin@ynput.io 2025-01-22 14:23:27 +01:00
parent bb2d38602e
commit 5f0aec7bbf
2 changed files with 10 additions and 12 deletions

View file

@ -431,11 +431,11 @@ def get_media_range_with_retimes(otio_clip, handle_start, handle_end):
if time_warp_nodes:
# Naive approach: Resolve consecutive timewarp(s) on range,
# then check if plate range has to be extended beyond source range.
frame_range = [media_in_trimmed]
in_frame = media_in_trimmed + time_scalar
while in_frame <= media_out_trimmed:
frame_range.append(in_frame)
in_frame = media_in_trimmed
frame_range = [in_frame]
for _ in range(otio_clip.source_range.duration.to_frames() - 1):
in_frame += time_scalar
frame_range.append(in_frame)
for tw_idx, tw in enumerate(time_warp_nodes):
for idx, frame_number in enumerate(frame_range):
@ -457,11 +457,8 @@ def get_media_range_with_retimes(otio_clip, handle_start, handle_end):
frame_range[idx] = frame_range[new_idx]
# adjust range if needed
media_in_trimmed = min(media_in_trimmed, min(frame_range))
media_in_trimmed = max(media_in_trimmed, media_in)
media_out_trimmed = max(media_out_trimmed, max(frame_range))
media_out_trimmed = min(media_out_trimmed, media_out)
media_in_trimmed = max(min(frame_range), media_in)
media_out_trimmed = min(max(frame_range), media_out)
# adjust available handles if needed
if (media_in_trimmed - media_in) < handle_start:

View file

@ -219,8 +219,8 @@ def test_movie_timewarp():
expected_data = {
'handleEnd': 10,
'handleStart': 0,
'mediaIn': 948850,
'mediaOut': 948860,
'mediaIn': 948852,
'mediaOut': 948858,
'speed': 1.0,
'versionData': {'handleEnd': 10,
'handleStart': 0,
@ -249,6 +249,7 @@ def test_movie_timewarp():
}
}
import pdb ; pdb.set_trace()
_check_expected_retimed_values(
"qt_timewarp.json",
expected_data,
@ -588,7 +589,7 @@ def test_img_sequence_2X_speed_timewarp():
timewarp to get from 948854 to 948874
"""
expected_data = {
'mediaIn': 948850,
'mediaIn': 948854,
'mediaOut': 948874,
'handleStart': 0,
'handleEnd': 20,