diff options
author | Campbell Barton <ideasman42@gmail.com> | 2010-07-04 12:49:54 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2010-07-04 12:49:54 +0400 |
commit | 5553f66eb777ff4ee589b91b42258e5e7a6fbfec (patch) | |
tree | 582f2101f4a88ed0bdf9442075ff76d9688aa5db /source/blender/editors/space_sequencer/sequencer_add.c | |
parent | c7869f9f85989e35c2c030a78c04a4569e4946ff (diff) |
sequencer
- effects strips now add directly above the strips they operate on (almost always what you want)
- blend mode for new image/movie/scene/color strips is now cross: without this adjusting alpha will fade to black rather then the strip below.
- SEQ_HAS_PATH macro didnt include sound-ram or sound-hd
- meta drawing code has misleading variable names (from own commit).
Diffstat (limited to 'source/blender/editors/space_sequencer/sequencer_add.c')
-rw-r--r-- | source/blender/editors/space_sequencer/sequencer_add.c | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/source/blender/editors/space_sequencer/sequencer_add.c b/source/blender/editors/space_sequencer/sequencer_add.c index cfcc3b6e81d..36ae475e64b 100644 --- a/source/blender/editors/space_sequencer/sequencer_add.c +++ b/source/blender/editors/space_sequencer/sequencer_add.c @@ -213,8 +213,9 @@ static int sequencer_add_scene_strip_exec(bContext *C, wmOperator *op) } seq = alloc_sequence(ed->seqbasep, start_frame, channel); - seq->type= SEQ_SCENE; + seq->blend_mode= SEQ_CROSS; /* so alpha adjustment fade to the strip below */ + seq->scene= sce_seq; seq->sfra= sce_seq->r.sfra; @@ -544,7 +545,7 @@ static int sequencer_add_effect_strip_exec(bContext *C, wmOperator *op) type= RNA_enum_get(op->ptr, "type"); - // XXX We need unique names and move to invoke + // XXX move to invoke if(!seq_effect_find_selected(scene, NULL, type, &seq1, &seq2, &seq3, &error_msg)) { BKE_report(op->reports, RPT_ERROR, error_msg); return OPERATOR_CANCELLED; @@ -603,6 +604,18 @@ static int sequencer_add_effect_strip_exec(bContext *C, wmOperator *op) else if (seq->type==SEQ_COLOR) { SolidColorVars *colvars= (SolidColorVars *)seq->effectdata; RNA_float_get_array(op->ptr, "color", colvars->col); + seq->blend_mode= SEQ_CROSS; /* so alpha adjustment fade to the strip below */ + + } + + // XXX, this conflicts with giving a channel with invoke, perhaps we should have an active channel + // but for now this is much more usable + if(seq->seq1 || seq->seq2 || seq->seq3) { + int chan= MAX3( seq->seq1 ? seq->seq1->machine : 0, + seq->seq2 ? seq->seq2->machine : 0, + seq->seq3 ? seq->seq3->machine : 0); + if(chan < MAXSEQ) + seq->machine= chan; } if(seq_test_overlap(ed->seqbasep, seq)) shuffle_seq(ed->seqbasep, seq, scene); |