]> git.sesse.net Git - kdenlive/commitdiff
Fix move of slowmotion clips:
authorJean-Baptiste Mardelle <jb@kdenlive.org>
Tue, 25 Nov 2008 14:26:19 +0000 (14:26 +0000)
committerJean-Baptiste Mardelle <jb@kdenlive.org>
Tue, 25 Nov 2008 14:26:19 +0000 (14:26 +0000)
http://www.kdenlive.org/mantis/view.php?id=375

svn path=/branches/KDE4/; revision=2735

src/customtrackview.cpp
src/renderer.cpp

index 443efc5c93b218ecdcff6d4ecf27e5c3915cd2d4..4487a8ea6297aa7c4689b2185a77f7204c5d001b 100644 (file)
@@ -1514,7 +1514,7 @@ void CustomTrackView::mouseReleaseEvent(QMouseEvent * event) {
 
             GenTime timeOffset = GenTime(m_selectionGroup->scenePos().x(), m_document->fps()) - m_selectionGroupInfo.startPos;
             const int trackOffset = m_selectionGroup->track() - m_selectionGroupInfo.track;
-            kDebug() << "&DROPPED GRPOUP:" << timeOffset.frames(25) << "TRK OFF: " << trackOffset;
+            // kDebug() << "&DROPPED GRPOUP:" << timeOffset.frames(25) << "TRK OFF: " << trackOffset;
             if (timeOffset != GenTime() || trackOffset != 0) {
                 QUndoCommand *moveClips = new QUndoCommand();
                 moveClips->setText("Move clips");
@@ -1738,7 +1738,6 @@ void CustomTrackView::changeClipSpeed() {
 }
 
 void CustomTrackView::doChangeClipSpeed(ItemInfo info, const double speed, const double oldspeed, const QString &id) {
-
     DocClipBase *baseclip = m_document->clipManager()->getClipById(id);
     ClipItem *item = getClipItemAt((int) info.startPos.frames(m_document->fps()) + 1, info.track);
     info.track = m_scene->m_tracksList.count() - item->track();
@@ -1748,6 +1747,7 @@ void CustomTrackView::doChangeClipSpeed(ItemInfo info, const double speed, const
     item->updateRectGeometry();
     if (item->cropDuration().frames(m_document->fps()) > endPos)
         item->AbstractClipItem::resizeEnd(info.startPos.frames(m_document->fps()) + endPos, speed);
+    m_document->setModified(true);
 }
 
 void CustomTrackView::cutSelectedClips() {
index 5f4d2dabe99b4f1ca7996a8b2331f3c8e3dab571..467632e6a44e11a0adc109a0cb801a05481e89a6 100644 (file)
@@ -2120,7 +2120,12 @@ bool Render::mltMoveClip(int startTrack, int endTrack, int moveStart, int moveEn
             Mlt::Producer clipProducer(trackPlaylist.replace_with_blank(clipIndex));
             trackPlaylist.consolidate_blanks(0);
             destTrackPlaylist.consolidate_blanks(1);
-            Mlt::Producer *clip = prod->cut(clipProducer.get_in(), clipProducer.get_out());
+            Mlt::Producer *clip;
+            // check if we are moving a slowmotion producer
+            QString serv = clipProducer.parent().get("mlt_service");
+            if (serv == "framebuffer") {
+                clip = &clipProducer;
+            } else clip = prod->cut(clipProducer.get_in(), clipProducer.get_out());
 
             // move all effects to the correct producer
             Mlt::Service clipService(clipProducer.get_service());