from .Player import Player
+TITLE_BACKGROUND = 0xFF000000
+TITLE_COLOR = 0xFFFFFFFF
+TITLE_OUTLINE_COLOR = 0x00000000
+TITLE_FONT_DESC = "Georgia, 24"
class Timeline(object):
def __init__(self):
ges_pipeline.set_timeline(self.timeline)
self.player = Player(ges_pipeline)
+ def add_title_clip(self, text, start_time, duration):
+ title_clip = GES.TitleClip()
+ title_clip.set_start(start_time * Gst.SECOND)
+ title_clip.set_duration(duration * Gst.SECOND)
+ self.layer.add_clip(title_clip)
+
+ # Now that the clip is inserted in the timeline, it has a source which
+ # can be used to set its properties. (comment taken from Pitivi)
+ title_source = title_clip.find_track_element(None, GES.TitleSource)
+ title_source.set_child_property("text", text)
+ title_source.set_child_property("background", TITLE_BACKGROUND)
+ title_source.set_child_property("color", TITLE_COLOR)
+ title_source.set_child_property("outline-color", TITLE_OUTLINE_COLOR)
+ title_source.set_child_property("font-desc", TITLE_FONT_DESC)
+ title_source.set_child_property("halignment", GES.TextVAlign.ABSOLUTE)
+ title_source.set_child_property("valignment", GES.TextHAlign.ABSOLUTE)
+
def add_clip(self, clip_path, start_time, duration):
clip_uri = Gst.filename_to_uri(clip_path)
asset = GES.UriClipAsset.request_sync(clip_uri)