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:
authorCampbell Barton <ideasman42@gmail.com>2010-07-06 20:44:05 +0400
committerCampbell Barton <ideasman42@gmail.com>2010-07-06 20:44:05 +0400
commit2a95a246eda72b3d08d0572562953a5703baa4b7 (patch)
tree788de89efeecb3cef2ca2af681310be4fa6a7224 /source/blender/blenkernel/intern
parent577cd54c8e88d97ecb87c7c0b01bf3fd6703e2ee (diff)
color balance can now be animated in the sequencer.
Diffstat (limited to 'source/blender/blenkernel/intern')
-rw-r--r--source/blender/blenkernel/intern/sequencer.c19
1 files changed, 14 insertions, 5 deletions
diff --git a/source/blender/blenkernel/intern/sequencer.c b/source/blender/blenkernel/intern/sequencer.c
index bd3e0129bcc..894b8b6ab60 100644
--- a/source/blender/blenkernel/intern/sequencer.c
+++ b/source/blender/blenkernel/intern/sequencer.c
@@ -87,18 +87,27 @@ void printf_strip(Sequence *seq)
fprintf(stderr, "\tseq_tx_set_final_left: %d %d\n\n", seq_tx_get_final_left(seq, 0), seq_tx_get_final_right(seq, 0));
}
-void seqbase_recursive_apply(ListBase *seqbase, int (*apply_func)(Sequence *seq, void *), void *arg)
+int seqbase_recursive_apply(ListBase *seqbase, int (*apply_func)(Sequence *seq, void *), void *arg)
{
Sequence *iseq;
for(iseq= seqbase->first; iseq; iseq= iseq->next) {
- seq_recursive_apply(iseq, apply_func, arg);
+ if(seq_recursive_apply(iseq, apply_func, arg) == -1)
+ return -1; /* bail out */
}
+ return 1;
}
-void seq_recursive_apply(Sequence *seq, int (*apply_func)(Sequence *, void *), void *arg)
+int seq_recursive_apply(Sequence *seq, int (*apply_func)(Sequence *, void *), void *arg)
{
- if(apply_func(seq, arg) && seq->seqbase.first)
- seqbase_recursive_apply(&seq->seqbase, apply_func, arg);
+ int ret= apply_func(seq, arg);
+
+ if(ret == -1)
+ return -1; /* bail out */
+
+ if(ret && seq->seqbase.first)
+ ret = seqbase_recursive_apply(&seq->seqbase, apply_func, arg);
+
+ return ret;
}
/* **********************************************************************