Esempio n. 1
0
 def __init__(self, ges_track_element, action_log):
     TimelineElementObserver.__init__(self, ges_track_element, action_log)
     if isinstance(ges_track_element, GES.BaseEffect):
         property_names = ("active", "priority",)
     else:
         property_names = ("active",)
     self.gobject_observer = GObjectObserver(ges_track_element, property_names, action_log)
Esempio n. 2
0
class TrackElementObserver(TimelineElementObserver):
    """Monitors the props of a track element.

    Reports UndoableActions.

    Args:
        ges_track_element (GES.TrackElement): The object to be monitored.
    """
    def __init__(self, ges_track_element, action_log):
        TimelineElementObserver.__init__(self, ges_track_element, action_log)
        self.gobject_observer = GObjectObserver(ges_track_element,
                                                ("active", ), action_log)

    def release(self):
        TimelineElementObserver.release(self)
        self.gobject_observer.release()
Esempio n. 3
0
class TrackElementObserver(TimelineElementObserver):
    """Monitors the props of a track element.

    Reports UndoableActions.

    Args:
        ges_track_element (GES.TrackElement): The object to be monitored.
    """

    def __init__(self, ges_track_element, action_log):
        TimelineElementObserver.__init__(self, ges_track_element, action_log)
        self.gobject_observer = GObjectObserver(ges_track_element, ("active",), action_log)

    def release(self):
        TimelineElementObserver.release(self)
        self.gobject_observer.release()
Esempio n. 4
0
 def __init__(self, ges_track_element, action_log):
     TimelineElementObserver.__init__(self, ges_track_element, action_log)
     if isinstance(ges_track_element, GES.BaseEffect):
         property_names = ("active", "priority",)
     else:
         property_names = ("active",)
     self.gobject_observer = GObjectObserver(ges_track_element, property_names, action_log)
Esempio n. 5
0
class TrackElementObserver(TimelineElementObserver):
    """Monitors the props of a track element.

    Reports UndoableActions.

    Args:
        ges_track_element (GES.TrackElement): The object to be monitored.
    """

    def __init__(self, ges_track_element, action_log):
        TimelineElementObserver.__init__(self, ges_track_element, action_log)
        if isinstance(ges_track_element, GES.BaseEffect):
            property_names = ("active", "priority",)
        else:
            property_names = ("active",)
        self.gobject_observer = GObjectObserver(ges_track_element, property_names, action_log)

    def release(self):
        TimelineElementObserver.release(self)
        self.gobject_observer.release()
Esempio n. 6
0
class TrackElementObserver(TimelineElementObserver):
    """Monitors the props of a track element.

    Reports UndoableActions.

    Args:
        ges_track_element (GES.TrackElement): The object to be monitored.
    """

    def __init__(self, ges_track_element, action_log):
        TimelineElementObserver.__init__(self, ges_track_element, action_log)
        if isinstance(ges_track_element, GES.BaseEffect):
            property_names = ("active", "priority",)
        else:
            property_names = ("active",)
        self.gobject_observer = GObjectObserver(ges_track_element, property_names, action_log)

    def release(self):
        TimelineElementObserver.release(self)
        self.gobject_observer.release()
Esempio n. 7
0
    def _connectToClip(self, ges_clip):
        ges_clip.connect("child-added", self._clipTrackElementAddedCb)
        ges_clip.connect("child-removed", self._clipTrackElementRemovedCb)

        for track_element in ges_clip.get_children(recursive=True):
            self._connectToTrackElement(track_element)

        if isinstance(ges_clip, GES.TransitionClip):
            return

        props = ["start", "duration", "in-point", "priority"]
        clip_observer = GObjectObserver(ges_clip, props, self.action_log)
        self.clip_observers[ges_clip] = clip_observer
Esempio n. 8
0
    def test_property_change(self):
        action_log = UndoableActionLog()
        action_log.begin("complex stuff")
        stack, = action_log.stacks

        clip = GES.TitleClip()
        unused_observer = GObjectObserver(clip, ["start"], action_log)

        self.assertEqual(len(stack.done_actions), 0)
        clip.props.start = 2
        self.assertEqual(len(stack.done_actions), 1)

        clip.props.start = 2
        self.assertEqual(len(stack.done_actions), 1)

        clip.props.start = 4
        self.assertEqual(len(stack.done_actions), 2)
        action = stack.done_actions[-1]
        self.assertEqual(action.old_value, 2)
        self.assertEqual(action.new_value, 4)
Esempio n. 9
0
    def _connectToTrackElement(self, track_element):
        if isinstance(track_element, GES.VideoTransition):
            ges_clip = track_element.get_toplevel_parent()
            ges_layer = ges_clip.props.layer
            action = TransitionClipAddedAction(ges_layer, ges_clip,
                                               track_element)
            self.action_log.push(action)

            observer = GObjectObserver(track_element, TRANSITION_PROPS,
                                       self.action_log)
            self.track_element_observers[track_element] = observer
            return

        for prop, binding in track_element.get_all_control_bindings().items():
            self._connectToControlSource(track_element, binding)
        track_element.connect("control-binding-added",
                              self._controlBindingAddedCb)
        if isinstance(track_element, GES.BaseEffect) or \
                isinstance(track_element, GES.VideoSource):
            observer = TrackElementObserver(track_element, self.action_log)
            self.track_element_observers[track_element] = observer
Esempio n. 10
0
 def __init__(self, ges_track_element, action_log):
     TimelineElementObserver.__init__(self, ges_track_element, action_log)
     self.gobject_observer = GObjectObserver(ges_track_element,
                                             ("active", ), action_log)
Esempio n. 11
0
 def __init__(self, ges_track_element, action_log):
     TimelineElementObserver.__init__(self, ges_track_element, action_log)
     self.gobject_observer = GObjectObserver(ges_track_element, ("active",), action_log)