VSE: Keyframing in Preview

This PR makes it easier to add keyframes for strips in preview.
This works same way as in 3D viewport, using keying sets. Pressing I
key adds keyframe to default keying set, pressing K dhows menu with
available keying sets. For VSE, location, rotation and scale properties
are available for now. Other existing keying sets are not valid for
VSE.

Deleting keyframes and potentially adding more keying sets will be
handled in separate PR.

Pull Request: https://projects.blender.org/blender/blender/pulls/140107
This commit is contained in:
Ramon Klauck
2025-06-25 02:56:55 +02:00
committed by Richard Antalik
parent e21cb781fb
commit 53578d33ae
5 changed files with 120 additions and 9 deletions

View File

@@ -975,6 +975,17 @@ class SEQUENCER_MT_strip_show_hide(Menu):
layout.operator("sequencer.mute", text="Hide Unselected").unselected = True
class SEQUENCER_MT_strip_animation(Menu):
bl_label = "Animation"
def draw(self, _context):
layout = self.layout
layout.operator("anim.keyframe_insert", text="Insert Keyframe")
layout.operator("anim.keyframe_insert_menu", text="Insert Keyframe with Keying Set").always_prompt = True
layout.operator("anim.keying_set_active_set", text="Change Keying Set...")
class SEQUENCER_MT_strip_input(Menu):
bl_label = "Inputs"
@@ -1131,6 +1142,8 @@ class SEQUENCER_MT_strip(Menu):
layout.separator()
layout.operator("sequencer.preview_duplicate_move", text="Duplicate")
layout.separator()
layout.menu("SEQUENCER_MT_strip_animation")
layout.separator()
layout.menu("SEQUENCER_MT_strip_show_hide")
layout.separator()
if strip and strip.type == 'TEXT':
@@ -3177,6 +3190,7 @@ classes = (
SEQUENCER_MT_strip_retiming,
SEQUENCER_MT_strip_text,
SEQUENCER_MT_strip_show_hide,
SEQUENCER_MT_strip_animation,
SEQUENCER_MT_strip_input,
SEQUENCER_MT_strip_lock_mute,
SEQUENCER_MT_image,