Revert "Fix T53430: Cut at the strip end fails w/ endstill"
This reverts commit 855799ecc1
.
Caused T54200
This commit is contained in:
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
|
@ -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;
|
||||
|
|
Loading…
Reference in New Issue