Revision: 14284
          
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=14284
Author:   schlaile
Date:     2008-03-30 16:23:15 +0200 (Sun, 30 Mar 2008)

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

Added IPO-support to color strip.

Modified Paths:
--------------
    trunk/blender/source/blender/src/seqeffects.c
    trunk/blender/source/blender/src/sequence.c

Modified: trunk/blender/source/blender/src/seqeffects.c
===================================================================
--- trunk/blender/source/blender/src/seqeffects.c       2008-03-30 09:06:56 UTC 
(rev 14283)
+++ trunk/blender/source/blender/src/seqeffects.c       2008-03-30 14:23:15 UTC 
(rev 14284)
@@ -2572,26 +2572,67 @@
        float *rect_float;
 
        if (out->rect) {
+               unsigned char col0[3];
+               unsigned char col1[3];
+
+               col0[0] = facf0 * cv->col[0] * 255;
+               col0[1] = facf0 * cv->col[1] * 255;
+               col0[2] = facf0 * cv->col[2] * 255;
+
+               col1[0] = facf1 * cv->col[0] * 255;
+               col1[1] = facf1 * cv->col[1] * 255;
+               col1[2] = facf1 * cv->col[2] * 255;
+
                rect = (unsigned char *)out->rect;
                
                for(y=0; y<out->y; y++) {       
                        for(x=0; x<out->x; x++, rect+=4) {
-                               rect[0]= (char)(cv->col[0]*255);
-                               rect[1]= (char)(cv->col[1]*255);
-                               rect[2]= (char)(cv->col[2]*255);
+                               rect[0]= col0[0];
+                               rect[1]= col0[1];
+                               rect[2]= col0[2];
                                rect[3]= 255;
-                       }       
+                       }
+                       y++;
+                       if (y<out->y) {
+                               for(x=0; x<out->x; x++, rect+=4) {
+                                       rect[0]= col1[0];
+                                       rect[1]= col1[1];
+                                       rect[2]= col1[2];
+                                       rect[3]= 255;
+                               }       
+                       }
                }
+
        } else if (out->rect_float) {
+               float col0[3];
+               float col1[3];
+
+               col0[0] = facf0 * cv->col[0];
+               col0[1] = facf0 * cv->col[1];
+               col0[2] = facf0 * cv->col[2];
+
+               col1[0] = facf1 * cv->col[0];
+               col1[1] = facf1 * cv->col[1];
+               col1[2] = facf1 * cv->col[2];
+
                rect_float = out->rect_float;
                
                for(y=0; y<out->y; y++) {       
                        for(x=0; x<out->x; x++, rect_float+=4) {
-                               rect_float[0]= cv->col[0];
-                               rect_float[1]= cv->col[1];
-                               rect_float[2]= cv->col[2];
+                               rect_float[0]= col0[0];
+                               rect_float[1]= col0[1];
+                               rect_float[2]= col0[2];
                                rect_float[3]= 1.0;
                        }
+                       y++;
+                       if (y<out->y) {
+                               for(x=0; x<out->x; x++, rect_float+=4) {
+                                       rect_float[0]= col1[0];
+                                       rect_float[1]= col1[1];
+                                       rect_float[2]= col1[2];
+                                       rect_float[3]= 1.0;
+                               }
+                       }
                }
        }
 }

Modified: trunk/blender/source/blender/src/sequence.c
===================================================================
--- trunk/blender/source/blender/src/sequence.c 2008-03-30 09:06:56 UTC (rev 
14283)
+++ trunk/blender/source/blender/src/sequence.c 2008-03-30 14:23:15 UTC (rev 
14284)
@@ -875,7 +875,8 @@
           alpha over mode...
        */
        if (seq->blend_mode != SEQ_BLEND_REPLACE ||
-           (seq->ipo && seq->ipo->curve.first && !(seq->type & SEQ_EFFECT))) {
+           (seq->ipo && seq->ipo->curve.first && (
+                   !(seq->type & SEQ_EFFECT) || !seq->seq1))) {
                Strip * s = seq->strip;
                if (cfra < seq->start) {
                        se = s->tstripdata_startstill;


_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to