]> git.sesse.net Git - kdenlive/commitdiff
Fix seek to pos in composite transition:
authorJean-Baptiste Mardelle <jb@kdenlive.org>
Sat, 20 Feb 2010 07:12:30 +0000 (07:12 +0000)
committerJean-Baptiste Mardelle <jb@kdenlive.org>
Sat, 20 Feb 2010 07:12:30 +0000 (07:12 +0000)
http://kdenlive.org/mantis/view.php?id=1452

svn path=/trunk/kdenlive/; revision=4322

src/effectstackedit.cpp
src/geometryval.cpp
src/geometryval.h
src/keyframeedit.cpp

index 20f26c2d12c256c1c8854861e87e1556f3222df8..d47da1ae9984ad9cc70c2f30e2ffb45d41ede763 100644 (file)
@@ -227,7 +227,7 @@ void EffectStackEdit::transferParamDesc(const QDomElement d, int in, int out)
             m_valueItems[paramName+"complex"] = pl;
             connect(pl, SIGNAL(parameterChanged()), this, SLOT(collectAllParameters()));
         } else if (type == "geometry") {
-            Geometryval *geo = new Geometryval(m_profile, m_frameSize);
+            Geometryval *geo = new Geometryval(m_profile, m_frameSize, m_in);
             geo->setupParam(pa, minFrame, maxFrame);
             m_vbox->addWidget(geo);
             m_valueItems[paramName+"geometry"] = geo;
@@ -339,7 +339,7 @@ void EffectStackEdit::transferParamDesc(const QDomElement d, int in, int out)
 
 void EffectStackEdit::slotSeekToPos(int pos)
 {
-    emit seekTimeline(pos - m_in);
+    emit seekTimeline(pos);
 }
 
 wipeInfo EffectStackEdit::getWipeInfo(QString value)
index cf681be655fa3341ce48767eae441f42f0023f53..6409cc79b8a97a1dac1c2c0036af94adb6d49ef5 100644 (file)
 #include <QInputDialog>
 
 
-Geometryval::Geometryval(const MltVideoProfile profile, QPoint frame_size, QWidget* parent) :
+Geometryval::Geometryval(const MltVideoProfile profile, QPoint frame_size, int startPoint, QWidget* parent) :
         QWidget(parent),
         m_profile(profile),
         m_paramRect(NULL),
         m_geom(NULL),
         m_path(NULL),
         m_fixedMode(false),
-        m_frameSize(frame_size)
+        m_frameSize(frame_size),
+        m_startPoint(startPoint)
 {
     setupUi(this);
     QVBoxLayout* vbox = new QVBoxLayout(widget);
@@ -324,7 +325,7 @@ void Geometryval::slotSyncCursor()
 
 void Geometryval::slotPositionChanged(int pos, bool seek)
 {
-    if (seek && KdenliveSettings::transitionfollowcursor()) emit seekToPos(pos);
+    if (seek && KdenliveSettings::transitionfollowcursor()) emit seekToPos(pos + m_startPoint);
     spinPos->setValue(pos);
     m_helper->setValue(pos);
     Mlt::GeometryItem item;
index ac2672d81bfa45f07fd0618f37e039815c01b4d2..b2d907643c8383c842a1713efa6b41eee5401dd0 100644 (file)
@@ -41,7 +41,7 @@ class Geometryval : public QWidget, public Ui::Geometryval
 {
     Q_OBJECT
 public:
-    explicit Geometryval(const MltVideoProfile profile, QPoint frame_size, QWidget* parent = 0);
+    explicit Geometryval(const MltVideoProfile profile, QPoint frame_size, int startPoint = 0, QWidget* parent = 0);
     virtual ~Geometryval();
     QDomElement getParamDesc();
     QString getValue() const;
@@ -65,6 +65,7 @@ private:
     Ui::GeometryPosition_UI m_view;
     void updateTransitionPath();
     double m_dar;
+    int m_startPoint;
     QGraphicsView *m_sceneview;
 
 public slots:
index ecfcb9cc62719c2525f256bb5b8331e83d9630d1..8f14b44f18c0a74af86b215dc4d6c50dbf534f63 100644 (file)
@@ -383,7 +383,7 @@ void KeyframeEdit::slotAdjustKeyframeInfo(bool seek)
         sl->setValue(keyframe_list->item(item->row(), col)->text().toInt());
         sl->blockSignals(false);
     }
-    if (KdenliveSettings::keyframeseek() && seek) emit seekToPos(keyframe_pos->value());
+    if (KdenliveSettings::keyframeseek() && seek) emit seekToPos(keyframe_pos->value() - m_min);
 }
 
 void KeyframeEdit::slotAdjustKeyframePos(int value)
@@ -394,7 +394,7 @@ void KeyframeEdit::slotAdjustKeyframePos(int value)
     else val = m_timecode.getTimecodeFromFrames(value);
     keyframe_list->verticalHeaderItem(item->row())->setText(val);
     slotGenerateParams(item->row(), -1);
-    if (KdenliveSettings::keyframeseek()) emit seekToPos(value);
+    if (KdenliveSettings::keyframeseek()) emit seekToPos(value - m_min);
 }
 
 void KeyframeEdit::slotAdjustKeyframeValue(int /*value*/)