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-06-10 23:56:28 +0400
committerPeter Schlaile <peter@schlaile.de>2006-06-10 23:56:28 +0400
commitc4229b0272ac223e3723773321ce9263ef858607 (patch)
tree1f9ea6ba659b09eac7532924b3591aa3770242d2 /source/blender/src/drawseq.c
parent43e776690f651f941b2612d94a943398e3518de2 (diff)
==Sequencer==
Fixed the blur-plugin (and maybe a lot more) crashes by expecting future float-buffer aware sequencer-plugins to have a bumped PLUGIN_VERSION number. Since quality and speed is degraded by converting the float buffer first to byte, performing the effect on bytes and then converting back again an additional warning is displayed in the effect strip, suggesting to update the used sequencer-plugins. Fixed some more crashes along the way. Float buffer aware sequencer plugins should - first check, if the output-ibuf has a rect_float => perform all operations with floats (input and output) - if not: perform everything on bytes (intput and output)
Diffstat (limited to 'source/blender/src/drawseq.c')
-rw-r--r--source/blender/src/drawseq.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/source/blender/src/drawseq.c b/source/blender/src/drawseq.c
index 017b602c4f4..07ad3e1fd2e 100644
--- a/source/blender/src/drawseq.c
+++ b/source/blender/src/drawseq.c
@@ -114,7 +114,8 @@ static char *give_seqname(Sequence *seq)
else if(seq->type==SEQ_WIPE) return "Wipe";
else if(seq->type==SEQ_GLOW) return "Glow";
else if(seq->type==SEQ_PLUGIN) {
- if(seq->plugin && seq->plugin->doit) return seq->plugin->pname;
+ if(!(seq->flag & SEQ_EFFECT_NOT_LOADED) &&
+ seq->plugin && seq->plugin->doit) return seq->plugin->pname;
return "Plugin";
}
else return "Effect";
@@ -556,10 +557,13 @@ static void draw_seq_text(Sequence *seq, float x1, float x2, float y1, float y2)
sprintf(str, "%d | %s%s", seq->len, seq->strip->dir, seq->strip->stripdata->name);
}
else if(seq->type & SEQ_EFFECT) {
+ int can_float = (seq->type != SEQ_PLUGIN)
+ || (seq->plugin && seq->plugin->version >= 4);
+
if(seq->seq3!=seq->seq2 && seq->seq1!=seq->seq3)
- sprintf(str, "%d | %s: %d>%d (use %d)", seq->len, give_seqname(seq), seq->seq1->machine, seq->seq2->machine, seq->seq3->machine);
+ sprintf(str, "%d | %s: %d>%d (use %d)%s", seq->len, give_seqname(seq), seq->seq1->machine, seq->seq2->machine, seq->seq3->machine, can_float ? "" : " No float, upgrade plugin!");
else
- sprintf(str, "%d | %s: %d>%d", seq->len, give_seqname(seq), seq->seq1->machine, seq->seq2->machine);
+ sprintf(str, "%d | %s: %d>%d%s", seq->len, give_seqname(seq), seq->seq1->machine, seq->seq2->machine, can_float ? "" : " No float, upgrade plugin!");
}
else if (seq->type == SEQ_RAM_SOUND) {
sprintf(str, "%d | %s", seq->len, seq->strip->stripdata->name);