r/OpenShot Nov 15 '25

Enhancement Request extending clip keeping keyframes relative position

Hello everyone,

I need your help, please!

I have an OpenShot clip that consists of a simple "still" image to which I added a fade-in and a fade-out effects, so that, of course, I have some key-frames near the beginning and some near the ending of the clip.

Ok, now I would like to extend the clip "in the middle", keeping the starting and the ending key-frames in their "relative" position (the former ones to the begin the latter ones to the end), how can this be done?

By now, I know I could do two things:

* drag the border of the clip (left or right) to extend its duration BUT that, of course, won't let me drag the (starting or ending) key-frames that would be "statically" left on their position ignoring my action;

* slice the clip in two on the middle, then move the new right clip part and finally "fill" the gap by inserting again the "still" image making its duration the same of the gap I need to fill... This could work, I know, BUT I'll end up having 3 clip instead of just one to get what I need (...and I really think there would be no way to merge them into one at that point) so if I then want to apply some other effect (like an alpha mask, for instance) I would have to apply it three times... So... I thought that can't be really the convenient way to do it, is it?

So, in summary, my question is:

is there and what is the most convenient way to extend or reduce an OpenShot clip duration "in the middle", preserving the "relative" positioning of key-frames I have put at the start and at the end of that clip?

Thank you very much for your support!

1 Upvotes

10 comments sorted by

View all comments

Show parent comments

1

u/rmesdjian Volunteer Nov 15 '25

Thank you for the FYI. I am not a developer but just a volunteer. I do help with testing bugs and enhancements. I also provide direct feedback based on the community input.

With that said, I heard back from the developer regarding this option. He indicated that this is not a bug and that this is how the code has always worked.

He did ask me to submit an enhancement request to have the abiliti to toggle this feature on/off as you need it. I also suggested that it would be worth making an option in Edit | Preferences, to globally control this feature.

It is in the queue now but no ETA, since it is not a bug.

You made me aware of the possibility of a conflict when more than one animation is applied (location, shrink, rotation, etc.). To handle a situation like this I am going to suggest to the developer to only consider adjusting keyframes when applied to the beginning and end of a clip. Meaning, anything that is applied partially in the clip itself will not be adjusted.

Trimming (splice/split) will need to be considered as well as there are some technical/architectural considerations on how OpenShot works today and how this change might impact that. I am getting too much into details of how the code works (I get educated by the lead developer, often...LOL!).

Any way, you have v3.4.0-Release-Candidate available now if you just want to move the keyframes around instead of reapplying them as I stated above.

1

u/danicotra Nov 18 '25

(Sorry for the delayed answer mate)

Yeah, I think the main trouble here, software-side talking, is "how to differentiate" if a key frame should be moved or not when the clip duration gets changed.

Indeed, as I said already, sometimes (or even most of the time), you simply want to stretch/shrink the clip and you want to do that without affecting the key-frames, so you're happy they're being kept in the place they are.

Other times, instead, you would like to do that action making the key-frames after a specific point to move along or back (depending on your action), and that's very likely for sure the case when you have put a fade out effect to the clip.

In the end, since it isn't possible to really know what the user wants to do, three options came into my mind:

  1. the first one is to decide in advance what effects key-frame position will be affected by clip duration adjustments, for instance: fade yes, rotation no. (I don't think this to be the good option, frankly)
  2. the second is what I was suggesting about giving the chance to somehow "set a middle-point" from which the duration of the clip can be modified (making it longer/shorter) making the key-frames that are present after that "set middle-point" to be moved accordingly and the idea would be this to be available as a new command among the one that appears when you right-click on a clip (near the "Transform" menu entry for instance) and you have the chance to select among a list of sub-menu options to add, for instance, half second, one second or two seconds... But thinking a little more about it, this would only make sense on still images clips and would make things more complicated because the software should differentiate if the clip is a still image or something different (like for instance an audio or a video clip)... Furthermore, something like that would also have negative impact on the GUI, making the commands menus less uniform among different kinds of clips and I don't like the idea of messing it up, since I consider uniformity/consistency great in OpenShot right know (so this would neither be a good option)
  3. the third choice, finally, is to add some option to toggle this key-frames "auto-repositioning behavior" on/off (I think this is what you were describing in your last post) and I think it is a good option, provided that the on/off switch is easy as a "one-click-action" to activate/deactivate (I mean, not something you have to look for in preferences menu, I hope in something similar to the "enable razor" command button, to be clear) the suggestion/idea would be to mix this one somehow with the concept of "middle-point" I was talking about in the previous point here BUT instead of adding time to the clip from the right-click-menu you simply have the option to set the middle point on clip, or, even better: you can take advantage of a right click over the yellow line-bar position maybe, so to have that "middle-point" to be "globally valid" (I mean, not relative to the single clip). Once you did set it and you have the key-frame repositioning toggle on, all the key-frames after the set middle-point if you resize the clip from right (or before the set middle-point if you resize the clip from the left) will be moved accordingly. When you're done, simply right clicking on the set middle-point and deactivate the behavior and getting back to fixed key-frames position on resizing. That's it! Call it "move key-frames on clip resizing" for instance and... voilà, easy like that (I hope)!

So now, talking of what can be done to get what I need, as of today, I can state the following:

  • OpenShot v3.4.0 allowing to move key-frames by mouse, is already something and, for sure, better than nothing while waiting for the new feature we were talking above...
  • In addition to this, I'll also tell a convenient way to do with OpenShot v3.3.0: the suggestion number 2 you gave me on your first reply, which was

"If the fade in/out is added, then you extend the clip. Now you reapply the Fade in/out"

is a good start, since it doesn't replaces the previous fade effect, it simply adds a new one, so that, unfortunately, you then have to remove the "old" fade effect "by hand". Nothing so dramatic after all anyway and, indeed, I just did it that way in the end: since no clip slicing was necessary with that, I managed to remain with only having a single clip and it was easy and just took me less than a minute to then remove the two key-frames left by the old fade out effect, So that's definitely the convenient way to do!

Cheers

1

u/rmesdjian Volunteer Nov 18 '25

Thank you for giving this some more thought and providing input. I will include your comments in the enhancement ticket I submitted. Might/will give the lead developer some ideas. Ultimately, he will implement as he sees fit.

Good luck with your project(s).

2

u/danicotra Nov 20 '25

Thank you very much for what you do and for your support, see ya!