== Simple Title Cards for Sequencer ==

This commit adds an experimental effect strip to the sequencer: "Title
Card".

This is useful for adding simple one-line text section headers or
"title cards" (i.e. title + author/contact details) to video clips,
which is often seen in demo videos accompanying papers and/or
animation tests.

See http://aligorith.blogspot.com/2011/06/gsoc11-simple-title-
cards.html for some more details on usage.

Code notes:
- There are a few things I've done here which will probably need
cleaning up. For instance, the hacks to get threadsafe fonts for
rendering, and also the way I've tried to piggyback the backdrop
drawing on top of the Solid Colour strips (this method was used to
keep changes here minimal, but is quite fragile if things change).
This commit is contained in:
Joshua Leung
2011-06-16 02:46:38 +00:00
parent 4ef1e67ce8
commit cfcc4b4fcd
12 changed files with 215 additions and 7 deletions

View File

@@ -214,6 +214,7 @@ class SEQUENCER_MT_add_effect(bpy.types.Menu):
layout.operator("sequencer.effect_strip_add", text="Speed Control").type = 'SPEED'
layout.operator("sequencer.effect_strip_add", text="Multicam Selector").type = 'MULTICAM'
layout.operator("sequencer.effect_strip_add", text="Adjustment Layer").type = 'ADJUSTMENT'
layout.operator("sequencer.effect_strip_add", text="Title Card").type = 'TITLE_CARD'
class SEQUENCER_MT_strip(bpy.types.Menu):
@@ -392,7 +393,7 @@ class SEQUENCER_PT_effect(SequencerButtonsPanel, bpy.types.Panel):
'CROSS', 'GAMMA_CROSS', 'MULTIPLY', 'OVER_DROP',
'PLUGIN',
'WIPE', 'GLOW', 'TRANSFORM', 'COLOR', 'SPEED',
'MULTICAM', 'ADJUSTMENT'}
'MULTICAM', 'ADJUSTMENT', 'TITLE_CARD'}
def draw(self, context):
layout = self.layout
@@ -460,6 +461,11 @@ class SEQUENCER_PT_effect(SequencerButtonsPanel, bpy.types.Panel):
row.label("Cut To")
for i in range(1, strip.channel):
row.operator("sequencer.cut_multicam", text=str(i)).camera = i
elif strip.type == "TITLE_CARD":
layout.prop(strip, "title")
layout.prop(strip, "subtitle")
layout.prop(strip, "color_foreground")
layout.prop(strip, "color_background")
col = layout.column(align=True)
if strip.type == 'SPEED':
@@ -531,7 +537,8 @@ class SEQUENCER_PT_input(SequencerButtonsPanel, bpy.types.Panel):
'CROSS', 'GAMMA_CROSS', 'MULTIPLY', 'OVER_DROP',
'PLUGIN',
'WIPE', 'GLOW', 'TRANSFORM', 'COLOR',
'MULTICAM', 'SPEED', 'ADJUSTMENT'}
'MULTICAM', 'SPEED', 'ADJUSTMENT',
'TITLE_CARD'}
def draw(self, context):
layout = self.layout
@@ -687,7 +694,8 @@ class SEQUENCER_PT_filter(SequencerButtonsPanel, bpy.types.Panel):
'CROSS', 'GAMMA_CROSS', 'MULTIPLY', 'OVER_DROP',
'PLUGIN',
'WIPE', 'GLOW', 'TRANSFORM', 'COLOR',
'MULTICAM', 'SPEED', 'ADJUSTMENT'}
'MULTICAM', 'SPEED', 'ADJUSTMENT',
'TITLE_CARD'}
def draw(self, context):
layout = self.layout