[pitivi] elements: Handle hidding keyframes
- From: Thibault Saunier <tsaunier src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [pitivi] elements: Handle hidding keyframes
- Date: Sat, 20 Jun 2015 08:54:13 +0000 (UTC)
commit 8937436147d0e6dbfa4494c17a067797bddb2397
Author: Thibault Saunier <tsaunier gnome org>
Date: Tue Jun 16 11:29:43 2015 +0200
elements: Handle hidding keyframes
pitivi/timeline/elements.py | 25 ++++++++++++++++++-------
1 files changed, 18 insertions(+), 7 deletions(-)
---
diff --git a/pitivi/timeline/elements.py b/pitivi/timeline/elements.py
index 9442cb9..bed9222 100644
--- a/pitivi/timeline/elements.py
+++ b/pitivi/timeline/elements.py
@@ -322,12 +322,27 @@ class TimelineElement(Gtk.Layout, timelineUtils.Zoomable, Loggable):
self.__controlledProperty = prop
self.__createControlBinding(effect)
+ def hideKeyframes(self):
+ self.__removeKeyframes()
+ self.__controlledProperty = self._getDefaultMixingProperty()
+ if self.__controlledProperty:
+ self.__createControlBinding(self._bElement)
+
def __curveEnterCb(self, unused_keyframe_curve):
self.emit("curve-enter")
def __curveLeaveCb(self, unused_keyframe_curve):
self.emit("curve-leave")
+ def __removeKeyframes(self):
+ if self.__keyframeCurve:
+ self.__keyframeCurve.disconnect_by_func(
+ self.__keyframePlotChangedCb)
+ self.__keyframeCurve.disconnect_by_func(self.__curveEnterCb)
+ self.__keyframeCurve.disconnect_by_func(self.__curveLeaveCb)
+ self.remove(self.__keyframeCurve)
+ self.__keyframeCurve = None
+
# Private methods
def __createKeyframeCurve(self, binding):
source = binding.props.control_source
@@ -343,13 +358,7 @@ class TimelineElement(Gtk.Layout, timelineUtils.Zoomable, Loggable):
self._bElement.props.duration + self._bElement.props.in_point,
val)
- if self.__keyframeCurve:
- self.__keyframeCurve.disconnect_by_func(
- self.__keyframePlotChangedCb)
- self.__keyframeCurve.disconnect_by_func(self.__curveEnterCb)
- self.__keyframeCurve.disconnect_by_func(self.__curveLeaveCb)
- self.remove(self.__keyframeCurve)
-
+ self.__removeKeyframes()
self.__keyframeCurve = KeyframeCurve(self.timeline, binding)
self.__keyframeCurve.connect("plot-changed",
self.__keyframePlotChangedCb)
@@ -370,6 +379,8 @@ class TimelineElement(Gtk.Layout, timelineUtils.Zoomable, Loggable):
if binding:
self.__createKeyframeCurve(binding)
+ return
+
source = GstController.InterpolationControlSource()
source.props.mode = GstController.InterpolationMode.LINEAR
element.set_control_source(source,
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]