Refactoring:

Make sure SEQ_TYPE_EFFECT is only used as a flag, not as number
comparison.
This should allow us to add new non-effect types in between
effect types (every 8 indices).

Dirty, but alternative of separating type/subtype means we lose
forward compatibility.
This commit is contained in:
Antony Riakiotakis 2015-07-01 17:32:56 +02:00
parent 607dca0705
commit 6781cf0049
3 changed files with 10 additions and 12 deletions

@ -1125,7 +1125,7 @@ const char *BKE_sequence_give_name(Sequence *seq)
const char *name = give_seqname_by_type(seq->type); const char *name = give_seqname_by_type(seq->type);
if (!name) { if (!name) {
if (seq->type < SEQ_TYPE_EFFECT) { if (!(seq->type & SEQ_TYPE_EFFECT)) {
return seq->strip->dir; return seq->strip->dir;
} }
else { else {
@ -4214,7 +4214,7 @@ void BKE_sequence_single_fix(Sequence *seq)
bool BKE_sequence_tx_test(Sequence *seq) bool BKE_sequence_tx_test(Sequence *seq)
{ {
return (seq->type < SEQ_TYPE_EFFECT) || (BKE_sequence_effect_get_num_inputs(seq->type) == 0); return !(seq->type & SEQ_TYPE_EFFECT) || (BKE_sequence_effect_get_num_inputs(seq->type) == 0);
} }
static bool seq_overlap(Sequence *seq1, Sequence *seq2) static bool seq_overlap(Sequence *seq1, Sequence *seq2)
@ -5237,13 +5237,11 @@ static Sequence *seq_dupli(Scene *scene, Scene *scene_to, Sequence *seq, int dup
seqn->strip->stripdata = seqn->strip->stripdata =
MEM_dupallocN(seq->strip->stripdata); MEM_dupallocN(seq->strip->stripdata);
} }
else if (seq->type >= SEQ_TYPE_EFFECT) { else if (seq->type & SEQ_TYPE_EFFECT) {
if (seq->type & SEQ_TYPE_EFFECT) { struct SeqEffectHandle sh;
struct SeqEffectHandle sh; sh = BKE_sequence_get_effect(seq);
sh = BKE_sequence_get_effect(seq); if (sh.copy)
if (sh.copy) sh.copy(seq, seqn);
sh.copy(seq, seqn);
}
seqn->strip->stripdata = NULL; seqn->strip->stripdata = NULL;
@ -5266,7 +5264,7 @@ static void seq_new_fix_links_recursive(Sequence *seq)
{ {
SequenceModifierData *smd; SequenceModifierData *smd;
if (seq->type >= SEQ_TYPE_EFFECT) { if (seq->type & SEQ_TYPE_EFFECT) {
if (seq->seq1 && seq->seq1->tmp) seq->seq1 = seq->seq1->tmp; if (seq->seq1 && seq->seq1->tmp) seq->seq1 = seq->seq1->tmp;
if (seq->seq2 && seq->seq2->tmp) seq->seq2 = seq->seq2->tmp; if (seq->seq2 && seq->seq2->tmp) seq->seq2 = seq->seq2->tmp;
if (seq->seq3 && seq->seq3->tmp) seq->seq3 = seq->seq3->tmp; if (seq->seq3 && seq->seq3->tmp) seq->seq3 = seq->seq3->tmp;

@ -988,7 +988,7 @@ static TreeElement *outliner_add_element(SpaceOops *soops, ListBase *lb, void *i
te->directdata = seq; te->directdata = seq;
te->name = seq->name + 2; te->name = seq->name + 2;
if (seq->type < SEQ_TYPE_EFFECT) { if (!(seq->type & SEQ_TYPE_EFFECT)) {
/* /*
* This work like the sequence. * This work like the sequence.
* If the sequence have a name (not default name) * If the sequence have a name (not default name)

@ -395,7 +395,7 @@ static void draw_seq_handle(View2D *v2d, Sequence *seq, const float handsize_cla
} }
/* draw! */ /* draw! */
if (seq->type < SEQ_TYPE_EFFECT || if (!(seq->type & SEQ_TYPE_EFFECT) ||
BKE_sequence_effect_get_num_inputs(seq->type) == 0) BKE_sequence_effect_get_num_inputs(seq->type) == 0)
{ {
glEnable(GL_BLEND); glEnable(GL_BLEND);