Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Sharybin <sergey.vfx@gmail.com>2014-04-14 15:50:47 +0400
committerSergey Sharybin <sergey.vfx@gmail.com>2014-04-14 15:50:47 +0400
commit4863253c2f9044f146874a4ef7bc8abb1edc1b2b (patch)
tree49535f9b55a8e6932bacc23d34ec5144dd88f4a1 /source/blender/blenkernel
parentd0c1b44debc4d4d1de274a4ecf777f76831cd264 (diff)
Fix T39702: VSE channel preview: strips used as effect operands no more visible
Diffstat (limited to 'source/blender/blenkernel')
-rw-r--r--source/blender/blenkernel/intern/sequencer.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/source/blender/blenkernel/intern/sequencer.c b/source/blender/blenkernel/intern/sequencer.c
index dd266052b21..040c46ab899 100644
--- a/source/blender/blenkernel/intern/sequencer.c
+++ b/source/blender/blenkernel/intern/sequencer.c
@@ -1156,7 +1156,7 @@ StripElem *BKE_sequencer_give_stripelem(Sequence *seq, int cfra)
return se;
}
-static int evaluate_seq_frame_gen(Sequence **seq_arr, ListBase *seqbase, int cfra)
+static int evaluate_seq_frame_gen(Sequence **seq_arr, ListBase *seqbase, int cfra, int chanshown)
{
Sequence *seq;
Sequence *effect_inputs[MAXSEQ + 1];
@@ -1200,6 +1200,12 @@ static int evaluate_seq_frame_gen(Sequence **seq_arr, ListBase *seqbase, int cfr
if (seq_arr[seq->machine] && seq_arr[seq->machine]->type & SEQ_TYPE_EFFECT) {
continue;
}
+ /* If we're shown a specified channel, then we want to see the stirps
+ * which belongs to this machine.
+ */
+ if (chanshown != 0 && chanshown <= seq->machine) {
+ continue;
+ }
seq_arr[seq->machine] = NULL;
}
@@ -1214,7 +1220,7 @@ int BKE_sequencer_evaluate_frame(Scene *scene, int cfra)
if (ed == NULL)
return 0;
- return evaluate_seq_frame_gen(seq_arr, ed->seqbasep, cfra);
+ return evaluate_seq_frame_gen(seq_arr, ed->seqbasep, cfra, 0);
}
static bool video_seq_is_rendered(Sequence *seq)
@@ -1232,7 +1238,7 @@ static int get_shown_sequences(ListBase *seqbasep, int cfra, int chanshown, Sequ
return 0;
}
- if (evaluate_seq_frame_gen(seq_arr, seqbasep, cfra)) {
+ if (evaluate_seq_frame_gen(seq_arr, seqbasep, cfra, chanshown)) {
if (b == 0) {
b = MAXSEQ;
}