]> git.sesse.net Git - kdenlive/commitdiff
When inserting a zone from clip monitor (Shift+Ctrl+I) and the cursor is inside a...
authorJean-Baptiste Mardelle <jb@kdenlive.org>
Fri, 5 Oct 2012 13:27:07 +0000 (15:27 +0200)
committerJean-Baptiste Mardelle <jb@kdenlive.org>
Fri, 5 Oct 2012 13:27:07 +0000 (15:27 +0200)
src/customtrackview.cpp

index 2d55c1d842e70310a2c7e6f188404c0b805f81ab..93b4ef32b0585ff9d62ab8f1799000593d3734f4 100644 (file)
@@ -1489,7 +1489,15 @@ void CustomTrackView::insertClipCut(DocClipBase *clip, int in, int out)
     pasteInfo.startPos = GenTime(m_cursorPos, m_document->fps());
     pasteInfo.endPos = pasteInfo.startPos + info.endPos;
     pasteInfo.track = selectedTrack();
-    if (!canBePastedTo(pasteInfo, AVWIDGET)) {
+    bool ok = canBePastedTo(pasteInfo, AVWIDGET);
+    if (!ok) {
+       // Cannot be inserted at cursor pos, insert at end of track
+       int duration = m_document->renderer()->mltTrackDuration(m_document->tracksCount() - pasteInfo.track) + 1;
+       pasteInfo.startPos = GenTime(duration, m_document->fps());
+       pasteInfo.endPos = pasteInfo.startPos + info.endPos;
+       ok = canBePastedTo(pasteInfo, AVWIDGET);
+    }
+    if (!ok) {
         emit displayMessage(i18n("Cannot insert clip in timeline"), ErrorMessage);
         return;
     }