Backport:

Fix seek to pos in composite transition:
http://kdenlive.org/mantis/view.php?id=1452

svn path=/branches/release-0_7_7/kdenlive/; revision=4331
parent 148efcee
......@@ -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)
......
......@@ -28,14 +28,15 @@
#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;
......
......@@ -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:
......
......@@ -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*/)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment