diff options
author | Campbell Barton <ideasman42@gmail.com> | 2009-12-21 19:57:39 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2009-12-21 19:57:39 +0300 |
commit | 1f8cd19d4bc76b294841f3495132ecbdf9964228 (patch) | |
tree | 4f1708819439a115ff6ece610a994d164e535f1c /source/blender/editors | |
parent | 76ce02ddc04e04f7931655b77383b9aeb2bc94d1 (diff) |
removing sequence strip overlap didnt adjust the animation key time
single images were not having their animation data transformed correctly
made sequence strip opacity 0-1 rather then 0-100 in RNA
Diffstat (limited to 'source/blender/editors')
3 files changed, 13 insertions, 15 deletions
diff --git a/source/blender/editors/space_sequencer/sequencer_add.c b/source/blender/editors/space_sequencer/sequencer_add.c index 48c364b6c6b..354b4712ce4 100644 --- a/source/blender/editors/space_sequencer/sequencer_add.c +++ b/source/blender/editors/space_sequencer/sequencer_add.c @@ -548,7 +548,7 @@ static int sequencer_add_effect_strip_exec(bContext *C, wmOperator *op) RNA_float_get_array(op->ptr, "color", colvars->col); } - if(seq_test_overlap(ed->seqbasep, seq)) shuffle_seq(ed->seqbasep, seq); + if(seq_test_overlap(ed->seqbasep, seq)) shuffle_seq(ed->seqbasep, seq, scene); update_changed_seq_and_deps(scene, seq, 1, 1); /* runs calc_sequence */ diff --git a/source/blender/editors/space_sequencer/sequencer_edit.c b/source/blender/editors/space_sequencer/sequencer_edit.c index 6704cf0ef62..bfb7d139074 100644 --- a/source/blender/editors/space_sequencer/sequencer_edit.c +++ b/source/blender/editors/space_sequencer/sequencer_edit.c @@ -195,7 +195,7 @@ static void change_plugin_seq(Scene *scene, char *str) /* called from fileselect last_seq->seq2->machine, last_seq->seq3->machine); - if( seq_test_overlap(ed->seqbasep, last_seq) ) shuffle_seq(ed->seqbasep, last_seq); + if( seq_test_overlap(ed->seqbasep, last_seq) ) shuffle_seq(ed->seqbasep, last_seq, scene); } @@ -1395,7 +1395,7 @@ static int sequencer_snap_exec(bContext *C, wmOperator *op) if(seq->flag & SELECT && !(seq->depth==0 && seq->flag & SEQ_LOCK)) { seq->flag &= ~SEQ_OVERLAP; if( seq_test_overlap(ed->seqbasep, seq) ) { - shuffle_seq(ed->seqbasep, seq); + shuffle_seq(ed->seqbasep, seq, scene); } } else if(seq->type & SEQ_EFFECT) { @@ -1975,7 +1975,7 @@ static int sequencer_separate_images_exec(bContext *C, wmOperator *op) calc_sequence(seq_new); seq_new->flag &= ~SEQ_OVERLAP; if (seq_test_overlap(ed->seqbasep, seq_new)) { - shuffle_seq(ed->seqbasep, seq_new); + shuffle_seq(ed->seqbasep, seq_new, scene); } seqUniqueName(scene->ed->seqbasep, seq_new); @@ -2138,7 +2138,7 @@ static int sequencer_meta_make_exec(bContext *C, wmOperator *op) active_seq_set(scene, seqm); - if( seq_test_overlap(ed->seqbasep, seqm) ) shuffle_seq(ed->seqbasep, seqm); + if( seq_test_overlap(ed->seqbasep, seqm) ) shuffle_seq(ed->seqbasep, seqm, scene); seq_update_muting(ed); @@ -2207,7 +2207,7 @@ static int sequencer_meta_separate_exec(bContext *C, wmOperator *op) if(seq->flag & SELECT) { seq->flag &= ~SEQ_OVERLAP; if( seq_test_overlap(ed->seqbasep, seq) ) { - shuffle_seq(ed->seqbasep, seq); + shuffle_seq(ed->seqbasep, seq, scene); } } } @@ -2632,7 +2632,7 @@ static int sequencer_swap_exec(bContext *C, wmOperator *op) if((iseq->type & SEQ_EFFECT) && (seq_is_parent(iseq, active_seq) || seq_is_parent(iseq, seq))) { /* this may now overlap */ if( seq_test_overlap(ed->seqbasep, iseq) ) { - shuffle_seq(ed->seqbasep, iseq); + shuffle_seq(ed->seqbasep, iseq, scene); } } } diff --git a/source/blender/editors/transform/transform_conversions.c b/source/blender/editors/transform/transform_conversions.c index 98c1b333844..d5b9a85e347 100644 --- a/source/blender/editors/transform/transform_conversions.c +++ b/source/blender/editors/transform/transform_conversions.c @@ -2365,23 +2365,21 @@ void flushTransSeq(TransInfo *t) /* flush to 2d vector from internally used 3d vector */ for(a=0, td= t->data, td2d= t->data2d; a<t->total; a++, td++, td2d++) { - tdsq= (TransDataSeq *)td->extra; seq= tdsq->seq; new_frame= (int)floor(td2d->loc[0] + 0.5f); switch (tdsq->sel_flag) { case SELECT: - if (seq->type != SEQ_META && (seq->depth != 0 || seq_tx_test(seq))) /* for meta's, their children move */ - seq->start= new_frame - tdsq->start_offset; - #ifdef XXX_DURIAN_ANIM_TX_HACK - if (seq->type != SEQ_META && seq != seq_prev) { - int ofs = (new_frame - tdsq->start_offset) - seq->start; + if (seq != seq_prev) { + int ofs = (new_frame - tdsq->start_offset) - seq->start; // breaks for single strips - color/image seq_offset_animdata(t->scene, seq, ofs); } #endif - + if (seq->type != SEQ_META && (seq->depth != 0 || seq_tx_test(seq))) /* for meta's, their children move */ + seq->start= new_frame - tdsq->start_offset; + if (seq->depth==0) { seq->machine= (int)floor(td2d->loc[1] + 0.5f); CLAMP(seq->machine, 1, MAXSEQ); @@ -4130,7 +4128,7 @@ static void freeSeqData(TransInfo *t) } } - shuffle_seq_time(seqbasep); + shuffle_seq_time(seqbasep, t->scene); } } #endif |