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-11-12 01:35:40 +0300
committerPeter Schlaile <peter@schlaile.de>2006-11-12 01:35:40 +0300
commitc1b4132e8d33f90b959c8b431b02f57d1cefdf66 (patch)
tree822c81d739e9096cf51a577c032fd9ab713e412f /source/blender/src/editseq.c
parent05c59da48fb5b242e2cf1bfc0e9e371ded70736b (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/src/editseq.c')
-rw-r--r--source/blender/src/editseq.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/source/blender/src/editseq.c b/source/blender/src/editseq.c
index f5f8228697f..ec7d14c980b 100644
--- a/source/blender/src/editseq.c
+++ b/source/blender/src/editseq.c
@@ -1046,6 +1046,7 @@ static int event_to_efftype(int event)
if(event==14) return SEQ_GLOW;
if(event==15) return SEQ_TRANSFORM;
if(event==16) return SEQ_COLOR;
+ if(event==17) return SEQ_SPEED;
return 0;
}
@@ -1345,6 +1346,9 @@ void add_sequence(int type)
case SEQ_COLOR:
event = 16;
break;
+ case SEQ_SPEED:
+ event = 17;
+ break;
default:
event = 0;
break;
@@ -1374,7 +1378,8 @@ void add_sequence(int type)
"|Wipe%x13"
"|Glow%x14"
"|Transforms%x15"
- "|Color Generator%x16");
+ "|Color Generator%x16"
+ "|Speed Control%x17");
}
if(event<1) return;
@@ -1454,6 +1459,7 @@ void add_sequence(int type)
case 14:
case 15:
case 16:
+ case 17:
if(get_last_seq()==0 &&
get_sequence_effect_num_inputs( event_to_efftype(event))> 0)
error("Need at least one active sequence strip");
@@ -1499,7 +1505,8 @@ void change_sequence(void)
"|Wipe%x13"
"|Glow%x14"
"|Transform%x15"
- "|Color Generator%x16");
+ "|Color Generator%x16"
+ "|Speed Control%x17");
if(event > 0) {
if(event==1) {
SWAP(Sequence *,last_seq->seq1,last_seq->seq2);