VSE: Remove seq->tmp usage from transform code

This field was used for extend feature to get handle position of
metastrip children. Since D9972 extend feature works only on meta
strip itself, not it's children.
So `SEQ_transform_get_left_handle_frame()` second argument is always
false and can be removed.

Another instance of `seq->tmp usage` is hack to distinguish strips to be
shuffled, which is not covered by this patch.

Reviewed By: campbellbarton

Differential Revision: https://developer.blender.org/D10321
This commit is contained in:
Richard Antalik 2021-06-06 03:03:01 +02:00
parent dbfde0fe70
commit 54ce344bc7
6 changed files with 24 additions and 49 deletions

View File

@ -870,9 +870,9 @@ static void draw_seq_background(Scene *scene,
/* Draw the main strip body. */
if (is_single_image) {
immRectf(pos,
SEQ_transform_get_left_handle_frame(seq, false),
SEQ_transform_get_left_handle_frame(seq),
y1,
SEQ_transform_get_right_handle_frame(seq, false),
SEQ_transform_get_right_handle_frame(seq),
y2);
}
else {

View File

@ -1776,8 +1776,8 @@ static int sequencer_separate_images_exec(bContext *C, wmOperator *op)
/* if (seq->ipo) id_us_min(&seq->ipo->id); */
/* XXX, remove fcurve and assign to split image strips */
start_ofs = timeline_frame = SEQ_transform_get_left_handle_frame(seq, false);
frame_end = SEQ_transform_get_right_handle_frame(seq, false);
start_ofs = timeline_frame = SEQ_transform_get_left_handle_frame(seq);
frame_end = SEQ_transform_get_right_handle_frame(seq);
while (timeline_frame < frame_end) {
/* New seq. */

View File

@ -90,8 +90,8 @@ static void SeqTransInfo(TransInfo *t, Sequence *seq, int *r_recursive, int *r_c
Scene *scene = t->scene;
int cfra = CFRA;
int left = SEQ_transform_get_left_handle_frame(seq, false);
int right = SEQ_transform_get_right_handle_frame(seq, false);
int left = SEQ_transform_get_left_handle_frame(seq);
int right = SEQ_transform_get_right_handle_frame(seq);
if (seq->depth == 0 && ((seq->flag & SELECT) == 0 || (seq->flag & SEQ_LOCK))) {
*r_recursive = false;
@ -180,11 +180,6 @@ static int SeqTransCount(TransInfo *t, Sequence *parent, ListBase *seqbase, int
for (seq = seqbase->first; seq; seq = seq->next) {
seq->depth = depth;
/* 'seq->tmp' is used by seq_tx_get_final_{left, right}
* to check sequence's range and clamp to it if needed.
* It's first place where digging into sequences tree, so store link to parent here. */
seq->tmp = parent;
SeqTransInfo(t, seq, &recursive, &count, &flag); /* ignore the flag */
tot += count;
@ -206,16 +201,16 @@ static TransData *SeqToTransData(
/* Use seq_tx_get_final_left() and an offset here
* so transform has the left hand location of the strip.
* tdsq->start_offset is used when flushing the tx data back */
start_left = SEQ_transform_get_left_handle_frame(seq, false);
start_left = SEQ_transform_get_left_handle_frame(seq);
td2d->loc[0] = start_left;
tdsq->start_offset = start_left - seq->start; /* use to apply the original location */
break;
case SEQ_LEFTSEL:
start_left = SEQ_transform_get_left_handle_frame(seq, false);
start_left = SEQ_transform_get_left_handle_frame(seq);
td2d->loc[0] = start_left;
break;
case SEQ_RIGHTSEL:
td2d->loc[0] = SEQ_transform_get_right_handle_frame(seq, false);
td2d->loc[0] = SEQ_transform_get_right_handle_frame(seq);
break;
}

View File

@ -440,8 +440,7 @@ static void rna_Sequence_frame_length_set(PointerRNA *ptr, int value)
Scene *scene = (Scene *)ptr->owner_id;
SEQ_relations_invalidate_cache_composite(scene, seq);
SEQ_transform_set_right_handle_frame(seq,
SEQ_transform_get_left_handle_frame(seq, false) + value);
SEQ_transform_set_right_handle_frame(seq, SEQ_transform_get_left_handle_frame(seq) + value);
do_sequence_frame_change_update(scene, seq);
SEQ_relations_invalidate_cache_composite(scene, seq);
}
@ -449,8 +448,7 @@ static void rna_Sequence_frame_length_set(PointerRNA *ptr, int value)
static int rna_Sequence_frame_length_get(PointerRNA *ptr)
{
Sequence *seq = (Sequence *)ptr->data;
return SEQ_transform_get_right_handle_frame(seq, false) -
SEQ_transform_get_left_handle_frame(seq, false);
return SEQ_transform_get_right_handle_frame(seq) - SEQ_transform_get_left_handle_frame(seq);
}
static int rna_Sequence_frame_editable(PointerRNA *ptr, const char **UNUSED(r_info))

View File

@ -31,8 +31,8 @@ struct ListBase;
struct Scene;
struct Sequence;
int SEQ_transform_get_left_handle_frame(struct Sequence *seq, bool metaclip);
int SEQ_transform_get_right_handle_frame(struct Sequence *seq, bool metaclip);
int SEQ_transform_get_left_handle_frame(struct Sequence *seq);
int SEQ_transform_get_right_handle_frame(struct Sequence *seq);
void SEQ_transform_set_left_handle_frame(struct Sequence *seq, int val);
void SEQ_transform_set_right_handle_frame(struct Sequence *seq, int val);
void SEQ_transform_handle_xlimits(struct Sequence *seq, int leftflag, int rightflag);

View File

@ -48,24 +48,12 @@ static int seq_tx_get_end(Sequence *seq)
return seq->start + seq->len;
}
int SEQ_transform_get_left_handle_frame(Sequence *seq, bool metaclip)
int SEQ_transform_get_left_handle_frame(Sequence *seq)
{
if (metaclip && seq->tmp) {
/* return the range clipped by the parents range */
return max_ii(SEQ_transform_get_left_handle_frame(seq, false),
SEQ_transform_get_left_handle_frame((Sequence *)seq->tmp, true));
}
return (seq->start - seq->startstill) + seq->startofs;
}
int SEQ_transform_get_right_handle_frame(Sequence *seq, bool metaclip)
int SEQ_transform_get_right_handle_frame(Sequence *seq)
{
if (metaclip && seq->tmp) {
/* return the range clipped by the parents range */
return min_ii(SEQ_transform_get_right_handle_frame(seq, false),
SEQ_transform_get_right_handle_frame((Sequence *)seq->tmp, true));
}
return ((seq->start + seq->len) + seq->endstill) - seq->endofs;
}
@ -151,14 +139,12 @@ bool SEQ_transform_seqbase_isolated_sel_check(ListBase *seqbase)
void SEQ_transform_handle_xlimits(Sequence *seq, int leftflag, int rightflag)
{
if (leftflag) {
if (SEQ_transform_get_left_handle_frame(seq, false) >=
SEQ_transform_get_right_handle_frame(seq, false)) {
SEQ_transform_set_left_handle_frame(seq,
SEQ_transform_get_right_handle_frame(seq, false) - 1);
if (SEQ_transform_get_left_handle_frame(seq) >= SEQ_transform_get_right_handle_frame(seq)) {
SEQ_transform_set_left_handle_frame(seq, SEQ_transform_get_right_handle_frame(seq) - 1);
}
if (SEQ_transform_single_image_check(seq) == 0) {
if (SEQ_transform_get_left_handle_frame(seq, false) >= seq_tx_get_end(seq)) {
if (SEQ_transform_get_left_handle_frame(seq) >= seq_tx_get_end(seq)) {
SEQ_transform_set_left_handle_frame(seq, seq_tx_get_end(seq) - 1);
}
@ -175,14 +161,12 @@ void SEQ_transform_handle_xlimits(Sequence *seq, int leftflag, int rightflag)
}
if (rightflag) {
if (SEQ_transform_get_right_handle_frame(seq, false) <=
SEQ_transform_get_left_handle_frame(seq, false)) {
SEQ_transform_set_right_handle_frame(seq,
SEQ_transform_get_left_handle_frame(seq, false) + 1);
if (SEQ_transform_get_right_handle_frame(seq) <= SEQ_transform_get_left_handle_frame(seq)) {
SEQ_transform_set_right_handle_frame(seq, SEQ_transform_get_left_handle_frame(seq) + 1);
}
if (SEQ_transform_single_image_check(seq) == 0) {
if (SEQ_transform_get_right_handle_frame(seq, false) <= seq_tx_get_start(seq)) {
if (SEQ_transform_get_right_handle_frame(seq) <= seq_tx_get_start(seq)) {
SEQ_transform_set_right_handle_frame(seq, seq_tx_get_start(seq) + 1);
}
}
@ -204,14 +188,12 @@ void SEQ_transform_fix_single_image_seq_offsets(Sequence *seq)
/* make sure the image is always at the start since there is only one,
* adjusting its start should be ok */
left = SEQ_transform_get_left_handle_frame(seq, false);
left = SEQ_transform_get_left_handle_frame(seq);
start = seq->start;
if (start != left) {
offset = left - start;
SEQ_transform_set_left_handle_frame(seq,
SEQ_transform_get_left_handle_frame(seq, false) - offset);
SEQ_transform_set_right_handle_frame(
seq, SEQ_transform_get_right_handle_frame(seq, false) - offset);
SEQ_transform_set_left_handle_frame(seq, SEQ_transform_get_left_handle_frame(seq) - offset);
SEQ_transform_set_right_handle_frame(seq, SEQ_transform_get_right_handle_frame(seq) - offset);
seq->start += offset;
}
}