From 145d3540b3e2dafa9351c79a463c230304ce0ae5 Mon Sep 17 00:00:00 2001 From: Antony Riakiotakis Date: Wed, 1 Jul 2015 20:29:18 +0200 Subject: Text effect strip for sequencer. Is pretty much what it says :) Easy subtitles for everyone! Supports size, positioning, a cheap shadow effect (probably will need more work), and autocentering on x axis. Now you can go wild with long spanish names in your soap opera videos. Will probably be refined as days go by, but at least it's now ready for testing. --- source/blender/editors/space_sequencer/sequencer_add.c | 3 +++ source/blender/editors/space_sequencer/sequencer_draw.c | 5 +++++ source/blender/editors/space_sequencer/sequencer_edit.c | 1 + 3 files changed, 9 insertions(+) (limited to 'source/blender/editors') diff --git a/source/blender/editors/space_sequencer/sequencer_add.c b/source/blender/editors/space_sequencer/sequencer_add.c index 86d1fe71ade..edf8a41b5a8 100644 --- a/source/blender/editors/space_sequencer/sequencer_add.c +++ b/source/blender/editors/space_sequencer/sequencer_add.c @@ -1010,6 +1010,9 @@ static int sequencer_add_effect_strip_exec(bContext *C, wmOperator *op) else if (seq->type == SEQ_TYPE_ADJUSTMENT) { seq->blend_mode = SEQ_TYPE_CROSS; } + else if (seq->type == SEQ_TYPE_TEXT) { + seq->blend_mode = SEQ_TYPE_ALPHAOVER; + } /* an unset channel is a special case where we automatically go above * the other strips. */ diff --git a/source/blender/editors/space_sequencer/sequencer_draw.c b/source/blender/editors/space_sequencer/sequencer_draw.c index 38107fa69cb..7aa6550a77b 100644 --- a/source/blender/editors/space_sequencer/sequencer_draw.c +++ b/source/blender/editors/space_sequencer/sequencer_draw.c @@ -499,6 +499,11 @@ static void draw_seq_text(View2D *v2d, Sequence *seq, float x1, float x2, float str_len = BLI_snprintf(str, sizeof(str), "%s: %s%s | %d", name, seq->strip->dir, seq->strip->stripdata->name, seq->len); } + else if (seq->type == SEQ_TYPE_TEXT) { + TextVars *textdata = seq->effectdata; + str_len = BLI_snprintf(str, sizeof(str), "%s | %d", + textdata->text, seq->startdisp); + } else if (seq->type & SEQ_TYPE_EFFECT) { str_len = BLI_snprintf(str, sizeof(str), "%s | %d", name, seq->len); diff --git a/source/blender/editors/space_sequencer/sequencer_edit.c b/source/blender/editors/space_sequencer/sequencer_edit.c index 8030efbf756..070b4166705 100644 --- a/source/blender/editors/space_sequencer/sequencer_edit.c +++ b/source/blender/editors/space_sequencer/sequencer_edit.c @@ -91,6 +91,7 @@ EnumPropertyItem sequencer_prop_effect_types[] = { {SEQ_TYPE_MULTICAM, "MULTICAM", 0, "Multicam Selector", ""}, {SEQ_TYPE_ADJUSTMENT, "ADJUSTMENT", 0, "Adjustment Layer", ""}, {SEQ_TYPE_GAUSSIAN_BLUR, "GAUSSIAN_BLUR", 0, "Gaussian Blur", ""}, + {SEQ_TYPE_TEXT, "TEXT", 0, "Text", ""}, {0, NULL, 0, NULL, NULL} }; -- cgit v1.2.3