Revert "Fix T53430: Cut at the strip end fails w/ endstill"

This reverts commit 855799ecc1.

Caused T54200
This commit is contained in:
Campbell Barton 2018-03-05 15:11:33 +11:00
parent 807663742b
commit 327985e887
Notes: blender-bot 2023-02-14 06:49:54 +01:00
Referenced by issue #54255, 2.79b release
Referenced by issue #53430, VSE - Scene strip soft cutted at end frame makes incorrect result
1 changed files with 11 additions and 19 deletions

View File

@ -695,7 +695,7 @@ static Sequence *cut_seq_hard(Scene *scene, Sequence *seq, int cutframe)
BKE_sequence_calc(scene, seq);
}
if ((seq->startstill) && (cutframe <= seq->start)) {
if ((seq->startstill) && (cutframe < seq->start)) {
/* don't do funny things with METAs ... */
if (seq->type == SEQ_TYPE_META) {
skip_dup = true;
@ -709,15 +709,13 @@ static Sequence *cut_seq_hard(Scene *scene, Sequence *seq, int cutframe)
}
}
/* normal strip */
else if ((cutframe >= seq->start) && (cutframe < (seq->start + seq->len))) {
else if ((cutframe >= seq->start) && (cutframe <= (seq->start + seq->len))) {
seq->endofs = 0;
seq->endstill = 0;
seq->anim_endofs += (seq->start + seq->len) - cutframe;
}
/* strips with extended stillframes after */
else if (((seq->start + seq->len) == cutframe) ||
(((seq->start + seq->len) < cutframe) && (seq->endstill)))
{
else if (((seq->start + seq->len) < cutframe) && (seq->endstill)) {
seq->endstill -= seq->enddisp - cutframe;
/* don't do funny things with METAs ... */
if (seq->type == SEQ_TYPE_META) {
@ -746,7 +744,7 @@ static Sequence *cut_seq_hard(Scene *scene, Sequence *seq, int cutframe)
}
/* normal strip */
else if ((cutframe >= seqn->start) && (cutframe < (seqn->start + seqn->len))) {
else if ((cutframe >= seqn->start) && (cutframe <= (seqn->start + seqn->len))) {
seqn->start = cutframe;
seqn->startstill = 0;
seqn->startofs = 0;
@ -757,9 +755,7 @@ static Sequence *cut_seq_hard(Scene *scene, Sequence *seq, int cutframe)
}
/* strips with extended stillframes after */
else if (((seqn->start + seqn->len) == cutframe) ||
(((seqn->start + seqn->len) < cutframe) && (seqn->endstill)))
{
else if (((seqn->start + seqn->len) < cutframe) && (seqn->endstill)) {
seqn->start = cutframe;
seqn->startofs = 0;
seqn->anim_startofs += ts.len - 1;
@ -795,7 +791,7 @@ static Sequence *cut_seq_soft(Scene *scene, Sequence *seq, int cutframe)
/* First Strip! */
/* strips with extended stillfames before */
if ((seq->startstill) && (cutframe <= seq->start)) {
if ((seq->startstill) && (cutframe < seq->start)) {
/* don't do funny things with METAs ... */
if (seq->type == SEQ_TYPE_META) {
skip_dup = true;
@ -809,13 +805,11 @@ static Sequence *cut_seq_soft(Scene *scene, Sequence *seq, int cutframe)
}
}
/* normal strip */
else if ((cutframe >= seq->start) && (cutframe < (seq->start + seq->len))) {
else if ((cutframe >= seq->start) && (cutframe <= (seq->start + seq->len))) {
seq->endofs = (seq->start + seq->len) - cutframe;
}
/* strips with extended stillframes after */
else if (((seq->start + seq->len) == cutframe) ||
(((seq->start + seq->len) < cutframe) && (seq->endstill)))
{
else if (((seq->start + seq->len) < cutframe) && (seq->endstill)) {
seq->endstill -= seq->enddisp - cutframe;
/* don't do funny things with METAs ... */
if (seq->type == SEQ_TYPE_META) {
@ -841,9 +835,9 @@ static Sequence *cut_seq_soft(Scene *scene, Sequence *seq, int cutframe)
seqn->endofs = ts.endofs;
seqn->endstill = ts.endstill;
}
/* normal strip */
if ((cutframe >= seqn->start) && (cutframe < (seqn->start + seqn->len))) {
else if ((cutframe >= seqn->start) && (cutframe <= (seqn->start + seqn->len))) {
seqn->startstill = 0;
seqn->startofs = cutframe - ts.start;
seqn->endofs = ts.endofs;
@ -851,9 +845,7 @@ static Sequence *cut_seq_soft(Scene *scene, Sequence *seq, int cutframe)
}
/* strips with extended stillframes after */
else if (((seqn->start + seqn->len) == cutframe) ||
(((seqn->start + seqn->len) < cutframe) && (seqn->endstill)))
{
else if (((seqn->start + seqn->len) < cutframe) && (seqn->endstill)) {
seqn->start = cutframe - ts.len + 1;
seqn->startofs = ts.len - 1;
seqn->endstill = ts.enddisp - cutframe - 1;