[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [12983] trunk/blender/source/blender: == Sequencer ==

Peter Schlaile peter at schlaile.de
Sun Dec 23 22:27:13 CET 2007


Revision: 12983
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=12983
Author:   schlaile
Date:     2007-12-23 22:27:12 +0100 (Sun, 23 Dec 2007)

Log Message:
-----------
== Sequencer ==

Fixed IPO calculation for threaded prefetch rendering. (do_seq_ipo used
global CFRA tststs...)

Modified Paths:
--------------
    trunk/blender/source/blender/blenkernel/BKE_ipo.h
    trunk/blender/source/blender/blenkernel/intern/ipo.c
    trunk/blender/source/blender/src/seqaudio.c
    trunk/blender/source/blender/src/sequence.c

Modified: trunk/blender/source/blender/blenkernel/BKE_ipo.h
===================================================================
--- trunk/blender/source/blender/blenkernel/BKE_ipo.h	2007-12-23 19:21:43 UTC (rev 12982)
+++ trunk/blender/source/blender/blenkernel/BKE_ipo.h	2007-12-23 21:27:12 UTC (rev 12983)
@@ -95,7 +95,7 @@
 void do_ipo(struct Ipo *ipo);
 void do_mat_ipo(struct Material *ma);
 void do_ob_ipo(struct Object *ob);
-void do_seq_ipo(struct Sequence *seq);
+void do_seq_ipo(struct Sequence *seq, int cfra);
 void do_ob_ipodrivers(struct Object *ob, struct Ipo *ipo, float ctime);
 
 int has_ipo_code(struct Ipo *ipo, int code);

Modified: trunk/blender/source/blender/blenkernel/intern/ipo.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/ipo.c	2007-12-23 19:21:43 UTC (rev 12982)
+++ trunk/blender/source/blender/blenkernel/intern/ipo.c	2007-12-23 21:27:12 UTC (rev 12983)
@@ -2161,7 +2161,7 @@
 	}
 }
 
-void do_seq_ipo(Sequence *seq)
+void do_seq_ipo(Sequence *seq, int cfra)
 {
 	float ctime, div;
 	
@@ -2169,11 +2169,10 @@
 	
 	if(seq->ipo) {
 		if((seq->flag & SEQ_IPO_FRAME_LOCKED) != 0) {
-			ctime = frame_to_float(G.scene->r.cfra);
+			ctime = frame_to_float(cfra);
 			div = 1.0;
 		} else {
-			ctime= frame_to_float(G.scene->r.cfra 
-					      - seq->startdisp);
+			ctime= frame_to_float(cfra - seq->startdisp);
 			div= (seq->enddisp - seq->startdisp)/100.0f;
 			if(div==0.0) return;
 		}
@@ -2291,7 +2290,7 @@
 			     || seq->type == SEQ_HD_SOUND) && (seq->ipo) && 
 				(seq->startdisp<=G.scene->r.cfra+2) && 
 			    (seq->enddisp>G.scene->r.cfra)) 
-					do_seq_ipo(seq);
+					do_seq_ipo(seq, G.scene->r.cfra);
 			seq= seq->next;
 		}
 	}

Modified: trunk/blender/source/blender/src/seqaudio.c
===================================================================
--- trunk/blender/source/blender/src/seqaudio.c	2007-12-23 19:21:43 UTC (rev 12982)
+++ trunk/blender/source/blender/src/seqaudio.c	2007-12-23 21:27:12 UTC (rev 12983)
@@ -304,7 +304,7 @@
 	    (seq->startdisp <= CFRA) && ((seq->enddisp) > CFRA))
 	{
 		if(seq->ipo && seq->ipo->curve.first) {
-			do_seq_ipo(seq);
+			do_seq_ipo(seq, CFRA);
 			facf = seq->facf0;
 		} else {
 			facf = 1.0;
@@ -333,7 +333,7 @@
 	    (seq->startdisp <= CFRA) && ((seq->enddisp) > CFRA))
 	{
 		if(seq->ipo && seq->ipo->curve.first) {
-			do_seq_ipo(seq);
+			do_seq_ipo(seq, CFRA);
 			facf = seq->facf0; 
 		} else {
 			facf = 1.0;

Modified: trunk/blender/source/blender/src/sequence.c
===================================================================
--- trunk/blender/source/blender/src/sequence.c	2007-12-23 19:21:43 UTC (rev 12982)
+++ trunk/blender/source/blender/src/sequence.c	2007-12-23 21:27:12 UTC (rev 12983)
@@ -446,7 +446,7 @@
 	}
 
 	if(seq->ipo && seq->ipo->curve.first) {
-		do_seq_ipo(seq);
+		do_seq_ipo(seq, cfra);
 		fac= seq->facf0;
 		facf= seq->facf1;
 	} else {
@@ -962,7 +962,7 @@
 	se->se3 = 0;
 
 	if(seq->ipo && seq->ipo->curve.first) {
-		do_seq_ipo(seq);
+		do_seq_ipo(seq, cfra);
 		fac= seq->facf0;
 		facf= seq->facf1;
 	} else {





More information about the Bf-blender-cvs mailing list