From: Ed Rogalsky Date: Tue, 6 Nov 2012 16:20:28 +0000 (+0100) Subject: Merge branch 'master' into feature/pkey X-Git-Url: https://git.sesse.net/?a=commitdiff_plain;h=6c819d9cd57a199efc99ec3f6a4a54eae9a232c0;hp=-c;p=kdenlive Merge branch 'master' into feature/pkey --- 6c819d9cd57a199efc99ec3f6a4a54eae9a232c0 diff --combined src/customtrackview.cpp index 6e9706fe,57869bb2..9a53b995 --- a/src/customtrackview.cpp +++ b/src/customtrackview.cpp @@@ -405,15 -405,6 +405,15 @@@ void CustomTrackView::slotCheckPosition } } +void CustomTrackView::slotAlignPlayheadToMousePos() +{ + /* get curser point ref in screen coord */ + QPoint ps = QCursor::pos(); + /* get xPos in scene coord */ + int mappedXPos = qMax((int)(mapToScene(mapFromGlobal(ps)).x() + 0.5), 0); + /* move playhead to new xPos*/ + seekCursorPos(mappedXPos); +} // virtual void CustomTrackView::mouseMoveEvent(QMouseEvent * event) @@@ -7641,7 -7632,23 +7641,23 @@@ void CustomTrackView::slotImportClipKey return; } QString keyframeData = ui.data_list->itemData(ui.data_list->currentIndex()).toString(); - QStringList keyframeList = keyframeData.split(';', QString::SkipEmptyParts); + + int offset = item->cropStart().frames(m_document->fps()); + Mlt::Geometry geometry(keyframeData.toUtf8().data(), item->baseClip()->maxDuration().frames(m_document->fps()), m_document->mltProfile().width, m_document->mltProfile().height); + Mlt::Geometry newGeometry(QString().toUtf8().data(), item->baseClip()->maxDuration().frames(m_document->fps()), m_document->mltProfile().width, m_document->mltProfile().height); + Mlt::GeometryItem gitem; + geometry.fetch(&gitem, offset); + gitem.frame(0); + newGeometry.insert(gitem); + int pos = offset + 1; + while (!geometry.next_key(&gitem, pos)) { + pos = gitem.frame(); + gitem.frame(pos - offset); + pos++; + newGeometry.insert(gitem); + } + QStringList keyframeList = QString(newGeometry.serialise()).split(';', QString::SkipEmptyParts); + QString result; if (ui.import_position->isChecked()) { if (ui.import_size->isChecked()) {