[pitivi] Effects: Undo/redo effect properties on project opened from a project file bug #636970



commit 2b22c330019abd60db452ffb0cbdc9e3ec5df07d
Author: Thibault Saunier <thibault saunier collabora co uk>
Date:   Fri Dec 10 16:28:26 2010 +0100

    Effects: Undo/redo effect properties on project opened from a project file bug #636970

 pitivi/effects.py                |    4 ++++
 pitivi/timeline/timeline_undo.py |    2 ++
 2 files changed, 6 insertions(+), 0 deletions(-)
---
diff --git a/pitivi/effects.py b/pitivi/effects.py
index 3d5e3c6..7a9654b 100644
--- a/pitivi/effects.py
+++ b/pitivi/effects.py
@@ -329,6 +329,10 @@ class EffectGstElementPropertyChangeTracker:
 
     def addEffectElement(self, gst_element):
         properties = {}
+
+        if gst_element in self._tracked_effects:
+            return
+
         for prop in gobject.list_properties(gst_element):
             gst_element.connect('notify::' + prop.name,
                                 self._propertyChangedCb,
diff --git a/pitivi/timeline/timeline_undo.py b/pitivi/timeline/timeline_undo.py
index 64199c8..f960a52 100644
--- a/pitivi/timeline/timeline_undo.py
+++ b/pitivi/timeline/timeline_undo.py
@@ -398,6 +398,8 @@ class TimelineLogObserver(object):
     def _connectToTrackObject(self, track_object):
         for prop, interpolator in track_object.getInterpolators().itervalues():
             self._connectToInterpolator(interpolator)
+        if isinstance(track_object, TrackEffect):
+            self.effect_properties_tracker.addEffectElement (track_object.getElement())
 
     def _disconnectFromTrackObject(self, track_object):
         for prop, interpolator in track_object.getInterpolators().itervalues():



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]