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:
authorPeter Schlaile <peter@schlaile.de>2006-12-31 18:38:14 +0300
committerPeter Schlaile <peter@schlaile.de>2006-12-31 18:38:14 +0300
commit1834540830280c7330dbbc26e72b91c7e92c4037 (patch)
treeda7cb60b971f4b46ad51a240d9a850349d4cad30 /source/blender/src/seqeffects.c
parentd63a2760b07ead3287f45267e3bfb08dfe1348ad (diff)
== Sequencer ==
Bugfixes: * The speed controller changes now dynamically the IPO-curve range to it's needs. (Frame matching and negative velocities didn't work... Obviously nobody tried ;-) * Fixed some redraw bugs. The IPO window is correctly updated if one pushes the IPO Frame locking button.
Diffstat (limited to 'source/blender/src/seqeffects.c')
-rw-r--r--source/blender/src/seqeffects.c30
1 files changed, 30 insertions, 0 deletions
diff --git a/source/blender/src/seqeffects.c b/source/blender/src/seqeffects.c
index d593bc8043d..bf528f86d13 100644
--- a/source/blender/src/seqeffects.c
+++ b/source/blender/src/seqeffects.c
@@ -2837,6 +2837,28 @@ static int early_out_speed(struct Sequence *seq,
return 1;
}
+static void store_icu_yrange_speed(struct Sequence * seq,
+ short adrcode, float * ymin, float * ymax)
+{
+ SpeedControlVars * v = (SpeedControlVars *)seq->effectdata;
+
+ /* if not already done, load / initialize data */
+ get_sequence_effect(seq);
+
+ if ((v->flags & SEQ_SPEED_INTEGRATE) != 0) {
+ *ymin = -100.0;
+ *ymax = 100.0;
+ } else {
+ if (v->flags & SEQ_SPEED_COMPRESS_IPO_Y) {
+ *ymin = 0.0;
+ *ymax = 1.0;
+ } else {
+ *ymin = 0.0;
+ *ymax = seq->len;
+ }
+ }
+}
+
void sequence_effect_speed_rebuild_map(struct Sequence * seq, int force)
{
float facf0 = seq->facf0;
@@ -3016,6 +3038,12 @@ static int early_out_mul_input2(struct Sequence *seq,
return 0;
}
+static void store_icu_yrange_noop(struct Sequence * seq,
+ short adrcode, float * ymin, float * ymax)
+{
+ /* defaults are fine */
+}
+
static void get_default_fac_noop(struct Sequence *seq, int cfra,
float * facf0, float * facf1)
{
@@ -3056,6 +3084,7 @@ static struct SeqEffectHandle get_sequence_effect_impl(int seq_type)
rval.free = free_noop;
rval.early_out = early_out_noop;
rval.get_default_fac = get_default_fac_noop;
+ rval.store_icu_yrange = store_icu_yrange_noop;
rval.execute = NULL;
rval.copy = NULL;
@@ -3127,6 +3156,7 @@ static struct SeqEffectHandle get_sequence_effect_impl(int seq_type)
rval.copy = copy_speed_effect;
rval.execute = do_cross_effect;
rval.early_out = early_out_speed;
+ rval.store_icu_yrange = store_icu_yrange_speed;
break;
case SEQ_COLOR:
rval.init = init_solid_color;