[pitivi: 4/9] curve.py: scale keyframe values using lower and range properties



commit acefc8f9cdaf19f14d471059e6f978ad0c945008
Author: Brandon Lewis <brandon_lewis berkeley edu>
Date:   Mon Jul 27 11:43:21 2009 -0700

    curve.py: scale keyframe values using lower and range properties

 pitivi/ui/curve.py |    8 ++++++--
 1 files changed, 6 insertions(+), 2 deletions(-)
---
diff --git a/pitivi/ui/curve.py b/pitivi/ui/curve.py
index 2bd27e9..0f19741 100644
--- a/pitivi/ui/curve.py
+++ b/pitivi/ui/curve.py
@@ -92,10 +92,12 @@ class Curve(goocanvas.ItemSimple, goocanvas.Item, View, Zoomable):
                 self._view.app.action_log.commit()
 
         def xyToTimeValue(self, pos):
+            interpolator = self._view.interpolator
             bounds = self._view.bounds
             time = (Zoomable.pixelToNs(pos[0] - bounds.x1) +
                 self._view.element.in_point)
-            value = 1 - (pos[1] - bounds.y1) /  LAYER_HEIGHT_EXPANDED
+            value = ((1 - (pos[1] - bounds.y1) /  LAYER_HEIGHT_EXPANDED) *
+                interpolator.range) + interpolator.lower
             return time, value
 
         def enter(self, item ,target):
@@ -166,8 +168,10 @@ class Curve(goocanvas.ItemSimple, goocanvas.Item, View, Zoomable):
             Zoomable.nsToPixel(self.element.duration), self.height)
 
     def _getKeyframeXY(self, kf):
+        interp = self.interpolator
         x = self.nsToPixel(kf.time - self.element.in_point)
-        y = self._height - (kf.value * self._height)
+        y = self._height - (((kf.value - interp.lower) / interp.range) *
+            self._height)
         return point.Point(x + self.bounds.x1, y + self.bounds.y1)
 
     def _controlPoint(self, cr, kf):



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