diff options
author | Peter Schlaile <peter@schlaile.de> | 2006-11-12 01:35:40 +0300 |
---|---|---|
committer | Peter Schlaile <peter@schlaile.de> | 2006-11-12 01:35:40 +0300 |
commit | c1b4132e8d33f90b959c8b431b02f57d1cefdf66 (patch) | |
tree | 822c81d739e9096cf51a577c032fd9ab713e412f /source/blender/makesdna/DNA_sequence_types.h | |
parent | 05c59da48fb5b242e2cf1bfc0e9e371ded70736b (diff) |
== Sequencer ==
Major sequencer rewrite to add Speed Control effect.
Changes:
- Cleaned up large parts of sequence.c removing a lot of unnecessary code.
(We first built old seqar array to decide, what is visible, then build
dependencies with new code, then used old code to iterate through the
strips and deciding using new code what is used and so forth and so on...)
Should be much faster now.
- Now we build the strips recursively thereby elemenating the need of a
seperate dependency calculation.
- Added a Speed-Control effect to change strip speed afterwards.
(Offers global speed as well as IPO-controlled speed.
There are several modes to play with:
- Control by velocity (IPO = velocity where 1.0 is normal speed)
- Control by frame number (IPO = target frame)
- IPO-Value can be rescaled to frame-value, to make frame exact matching
possible. (Matching video tracks to audio tracks with IPOs ;-)
Demo-Blend file is here http://peter.schlaile.de/blender/sequencer/speedcontroltest.blend
Since this was also a Plumiferos request I hope to be mentioned in the
credits ;-)
Enjoy! And please test the new sequencer thoroughly. It is really more like
a rewrite this time.
Diffstat (limited to 'source/blender/makesdna/DNA_sequence_types.h')
-rw-r--r-- | source/blender/makesdna/DNA_sequence_types.h | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/source/blender/makesdna/DNA_sequence_types.h b/source/blender/makesdna/DNA_sequence_types.h index 71908ded6af..5bb9f61f71e 100644 --- a/source/blender/makesdna/DNA_sequence_types.h +++ b/source/blender/makesdna/DNA_sequence_types.h @@ -49,8 +49,7 @@ typedef struct StripElem { struct ImBuf *ibuf; struct StripElem *se1, *se2, *se3; short ok; - unsigned char isneeded; - unsigned char pad; + short pad; int nr; } StripElem; @@ -178,6 +177,18 @@ typedef struct SolidColorVars { float pad; } SolidColorVars; +typedef struct SpeedControlVars { + float * frameMap; + float globalSpeed; + int flags; + int length; + int pad; +} SpeedControlVars; + +/* SpeedControlVars->flags */ +#define SEQ_SPEED_INTEGRATE 1 +#define SEQ_SPEED_BLEND 2 +#define SEQ_SPEED_COMPRESS_IPO_Y 4 /* ***************** SEQUENCE ****************** */ @@ -216,6 +227,7 @@ typedef struct SolidColorVars { #define SEQ_GLOW 26 #define SEQ_TRANSFORM 27 #define SEQ_COLOR 28 +#define SEQ_SPEED 29 #endif |