[pitivi] track.py: preserve shape of curve after splitting
- From: Edward Hervey <edwardrv src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [pitivi] track.py: preserve shape of curve after splitting
- Date: Fri, 22 Jan 2010 18:04:12 +0000 (UTC)
commit 207512d6f3ebcb0e6ee375608f23aa1a0726eccd
Author: Brandon Lewis <brandon_lewis alum berkeley edu>
Date: Tue Jan 5 14:03:03 2010 -0800
track.py: preserve shape of curve after splitting
pitivi/timeline/track.py | 15 ++++++++++++++-
1 files changed, 14 insertions(+), 1 deletions(-)
---
diff --git a/pitivi/timeline/track.py b/pitivi/timeline/track.py
index 9a83a82..9603cc4 100644
--- a/pitivi/timeline/track.py
+++ b/pitivi/timeline/track.py
@@ -139,6 +139,7 @@ class Interpolator(Signallable, Loggable):
Loggable.__init__(self)
self.debug("track:%r, element:%r, property:%r", trackobject, element, prop)
self._keyframes = []
+ self.trackobject = trackobject
if minimum is None:
minimum = prop.minimum
@@ -274,6 +275,9 @@ class Interpolator(Signallable, Loggable):
self._keyframeTimeValueChanged(self.end, stop, self.end.value)
self.end.setObjectTime(stop)
+ def valueAt(self, time):
+ return self._controller.get(self._property.name, time)
+
keyframes = property(getKeyframes)
class TrackObject(Signallable, Loggable):
@@ -366,6 +370,7 @@ class TrackObject(Signallable, Loggable):
else:
interpolator.attachToElementProperty(gst_object_property,
gst_object)
+ interpolator.updateMediaStop(self.media_stop)
# remove and add again the keyframes so they are set on the
# current controller
@@ -533,10 +538,18 @@ class TrackObject(Signallable, Loggable):
other = self.copy()
+ # update interpolators
+ for prop, i in self.interpolators.itervalues():
+ value = i.valueAt(position)
+ i.end.setValue(value)
+
+ for prop, i in other.interpolators.itervalues():
+ value = i.valueAt(position)
+ i.start.setValue(value)
+
other.trimObjectStart(position)
self.setObjectDuration(position - self.gnl_object.props.start)
self.setObjectMediaDuration(position - self.gnl_object.props.start)
-
return other
# True when the track object is part of the timeline's current selection
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]