From bcf5117baef00f567fe848dd9770e87d7287c99c Mon Sep 17 00:00:00 2001 From: Colin Basnett Date: Sat, 12 Feb 2022 19:58:34 -0800 Subject: [PATCH] Fixed a bug in `get_nla_strips_in_timeframe` --- io_scene_psk_psa/helpers.py | 4 +++- io_scene_psk_psa/psa/builder.py | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/io_scene_psk_psa/helpers.py b/io_scene_psk_psa/helpers.py index 47a2e02..ab8bfa1 100644 --- a/io_scene_psk_psa/helpers.py +++ b/io_scene_psk_psa/helpers.py @@ -27,7 +27,9 @@ def get_nla_strips_in_timeframe(object, frame_min, frame_max) -> List[NlaStrip]: strips = [] for nla_track in object.animation_data.nla_tracks: for strip in nla_track.strips: - if strip.frame_start >= frame_min and strip.frame_end <= frame_max: + if (strip.frame_start < frame_min and strip.frame_end > frame_max) or \ + (frame_min <= strip.frame_start < frame_max) or \ + (frame_min < strip.frame_end <= frame_max): strips.append(strip) return strips diff --git a/io_scene_psk_psa/psa/builder.py b/io_scene_psk_psa/psa/builder.py index 20a5f6f..4cefce5 100644 --- a/io_scene_psk_psa/psa/builder.py +++ b/io_scene_psk_psa/psa/builder.py @@ -119,6 +119,7 @@ class PsaBuilder(object): pass elif options.sequence_source == 'TIMELINE_MARKERS': sequence_frame_ranges = self.get_timeline_marker_sequence_frame_ranges(armature, context, options) + for name, (frame_min, frame_max) in sequence_frame_ranges.items(): export_sequence = ExportSequence() export_sequence.action = None @@ -142,9 +143,10 @@ class PsaBuilder(object): frame_min = export_sequence.frame_min frame_max = export_sequence.frame_max + frame_count = frame_max - frame_min + 1 psa_sequence.name = bytes(export_sequence.name, encoding='windows-1252') - psa_sequence.frame_count = frame_max - frame_min + 1 + psa_sequence.frame_count = frame_count psa_sequence.frame_start_index = frame_start_index psa_sequence.fps = context.scene.render.fps