== Sequencer ==
Added IPO-support to color strip.
This commit is contained in:
@@ -2572,26 +2572,67 @@ static void do_solid_color(Sequence * seq,int cfra,
|
|||||||
float *rect_float;
|
float *rect_float;
|
||||||
|
|
||||||
if (out->rect) {
|
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;
|
rect = (unsigned char *)out->rect;
|
||||||
|
|
||||||
for(y=0; y<out->y; y++) {
|
for(y=0; y<out->y; y++) {
|
||||||
for(x=0; x<out->x; x++, rect+=4) {
|
for(x=0; x<out->x; x++, rect+=4) {
|
||||||
rect[0]= (char)(cv->col[0]*255);
|
rect[0]= col0[0];
|
||||||
rect[1]= (char)(cv->col[1]*255);
|
rect[1]= col0[1];
|
||||||
rect[2]= (char)(cv->col[2]*255);
|
rect[2]= col0[2];
|
||||||
rect[3]= 255;
|
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) {
|
} 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;
|
rect_float = out->rect_float;
|
||||||
|
|
||||||
for(y=0; y<out->y; y++) {
|
for(y=0; y<out->y; y++) {
|
||||||
for(x=0; x<out->x; x++, rect_float+=4) {
|
for(x=0; x<out->x; x++, rect_float+=4) {
|
||||||
rect_float[0]= cv->col[0];
|
rect_float[0]= col0[0];
|
||||||
rect_float[1]= cv->col[1];
|
rect_float[1]= col0[1];
|
||||||
rect_float[2]= cv->col[2];
|
rect_float[2]= col0[2];
|
||||||
rect_float[3]= 1.0;
|
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;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -875,7 +875,8 @@ TStripElem *give_tstripelem(Sequence *seq, int cfra)
|
|||||||
alpha over mode...
|
alpha over mode...
|
||||||
*/
|
*/
|
||||||
if (seq->blend_mode != SEQ_BLEND_REPLACE ||
|
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;
|
Strip * s = seq->strip;
|
||||||
if (cfra < seq->start) {
|
if (cfra < seq->start) {
|
||||||
se = s->tstripdata_startstill;
|
se = s->tstripdata_startstill;
|
||||||
|
|||||||
Reference in New Issue
Block a user