{kdenlive} How do I join two adjacent clips into one in kdenlive?

I can't confirm but it really looks like kdenlive can't do this. I've only started using kdenlive today, but spent most of it searching for how to do this. But I found a way which I hope helps, by manually editing the .kdelive save file. If you save it, make a cut, then save as a different .kdenlive file, you can see the difference, e.g:

@@ -316,7 +317,8 @@
   <entry out="8395" producer="1_playlist5" in="8342"/>
   <entry out="8701" producer="1_playlist5" in="8420"/>
   <entry out="8926" producer="1_playlist5" in="8779"/>
-  <entry out="10934" producer="1_playlist5" in="8958"/>
+  <entry out="10188" producer="1_playlist5" in="8958"/>
+  <entry out="10934" producer="1_playlist5" in="10189"/>
   <entry out="10960" producer="1_playlist5" in="10944"/>
   <entry out="11398" producer="1_playlist5" in="11193"/>
   <entry out="11629" producer="1_video" in="11427"/

The in and out values seem to be frame numbers. So if you have a cut to remove, you'd need to somehow convert the timestamp of it to frame numbers to find it in the file, then replace the 2 lines with 1, with the in and out values set appropriately.

Obviously this isn't suitable for regular use but as a one off it can get rid of annoying cuts without having to throw the project away and start over.


I found a very simple solution that was surprisingly difficult to discover due to my wrong way of thinking about clips.

TL;DR the solution if you cut a clip in two at the wrong frame:

  1. trust me and boldly delete the second clip
  2. resize the first clip so that it ends where the second clip ended (key observation: this does not "stretch" the clip!)
  3. cut it again at the right frame

Step 2 does not "stretch time" in the first clip. It only moves the clip's end position, which is just a time index into the source media. This is the "way of thinking about clips" part: they are "time windows" into the source media, and by moving a clip's right edge further to the right you are not making it play the same range of frames over a longer time, you are just making it play more frames from the source media.

Of course it is also possible to set a time scale for a clip but there's different UI for that.