diff options
Diffstat (limited to 'source/blender/sequencer/intern/strip_time.c')
-rw-r--r-- | source/blender/sequencer/intern/strip_time.c | 28 |
1 files changed, 18 insertions, 10 deletions
diff --git a/source/blender/sequencer/intern/strip_time.c b/source/blender/sequencer/intern/strip_time.c index a5341dbc528..e18527f68b3 100644 --- a/source/blender/sequencer/intern/strip_time.c +++ b/source/blender/sequencer/intern/strip_time.c @@ -139,15 +139,8 @@ void seq_update_sound_bounds_recursive(Scene *scene, Sequence *metaseq) static void seq_time_update_sequence_bounds(Scene *scene, Sequence *seq) { - if (seq->startofs && seq->startstill) { - seq->startstill = 0; - } - if (seq->endofs && seq->endstill) { - seq->endstill = 0; - } - - seq->startdisp = seq->start + seq->startofs - seq->startstill; - seq->enddisp = seq->start + seq->len - seq->endofs + seq->endstill; + seq->startdisp = seq->start + seq->startofs; + seq->enddisp = seq->start + seq->len - seq->endofs; if (seq->type == SEQ_TYPE_META) { seq_update_sound_bounds_recursive(scene, seq); @@ -204,7 +197,7 @@ void SEQ_time_update_sequence(Scene *scene, ListBase *seqbase, Sequence *seq) /* effects and meta: automatic start and end */ if (seq->type & SEQ_TYPE_EFFECT) { if (seq->seq1) { - seq->startofs = seq->endofs = seq->startstill = seq->endstill = 0; + seq->startofs = seq->endofs = 0; if (seq->seq3) { seq->start = seq->startdisp = max_iii( seq->seq1->startdisp, seq->seq2->startdisp, seq->seq3->startdisp); @@ -516,3 +509,18 @@ bool SEQ_time_strip_intersects_frame(const Sequence *seq, const int timeline_fra { return (seq->startdisp <= timeline_frame) && (seq->enddisp > timeline_frame); } + +bool SEQ_time_has_left_still_frames(const Sequence *seq) +{ + return seq->startofs < 0; +} + +bool SEQ_time_has_right_still_frames(const Sequence *seq) +{ + return seq->endofs < 0; +} + +bool SEQ_time_has_still_frames(const Sequence *seq) +{ + return SEQ_time_has_right_still_frames(seq) || SEQ_time_has_left_still_frames(seq); +} |