Page MenuHome

VSE: Snapping feedback
ClosedPublic

Authored by Richard Antalik (ISS) on Jun 30 2021, 5:42 PM.

Details

Summary

Address initial feedback:

  • Use Current Frame instead of Playhead
  • Use checkboxes instead of radio buttons
  • Hide snapping distance control from UI
  • Tweak snapping line color - use selected strip color, 50% transparency. Similar to other editors
  • Draw 2px thick line, since strip outline is also 2px thick

There was suggestion to draw snap line above current frame, but will have to look into if/how this can be done.

Snapping line:

Snapping menu:

Diff Detail

Repository
rB Blender

Event Timeline

Richard Antalik (ISS) requested review of this revision.Jun 30 2021, 5:42 PM
Richard Antalik (ISS) created this revision.
Richard Antalik (ISS) edited the summary of this revision. (Show Details)Jun 30 2021, 5:49 PM
release/scripts/startup/bl_ui/space_sequencer.py
2289–2291

No need to specify the text here since it's the same as the RNA property names.

source/blender/makesrna/intern/rna_scene.c
3527

Unfortunately defaults in RNA for DNA properties don't do anything currently AFAIK, what does work is using the DNA defaults system.

3528

Did you miss RNA_def_property_update for this second property?

Richard Antalik (ISS) marked an inline comment as done.Jun 30 2021, 6:21 PM
Richard Antalik (ISS) added inline comments.
source/blender/makesrna/intern/rna_scene.c
3527

Ah I thought this works for "reset to default"

I had some trouble setting up DNA defaults here, but will try again. I thought that I am covered when I initialize these in code and set defaults here...

3528

No, it's in line 3530

source/blender/makesrna/intern/rna_scene.c
3527

Yeah, I'm not even sure it's supposed to work or not, seems the system is in sort of a broken state.

3528

Oh, sorry!

Richard Antalik (ISS) marked 5 inline comments as done.
  • Address inlines
source/blender/makesrna/intern/rna_scene.c
3527

I have re-checked DNA defaults and issue was quite obvious - SequencerToolSettings is pointer, so it doesn't work.

So for now I have removed RNA default values, and I will change SequencerToolSettings to be part of ToolSettings in another patch.

Hans Goudey (HooglyBoogly) added inline comments.
source/blender/makesrna/intern/rna_scene.c
3527

You don't have to move it into tool settings, you just need to ensure that it's allocated for the first time with the dna defaults system. But yeah, I agree about doing that separately.

This revision is now accepted and ready to land.Jul 1 2021, 12:23 AM
source/blender/makesrna/intern/rna_scene.c
3527

Realize I phrased that in a vague way-- you have to make sure to set up the dna defaults system for the SequencerToolSettings struct and copy the default data over when the struct is created from scratch.

source/blender/makesrna/intern/rna_scene.c
3527

Ah I see, so basically use DNA_struct_default_alloc or DNA_struct_default_get

I would still rather make SequencerToolSettings not a pointer, as that simplifies code a bit.

This revision was automatically updated to reflect the committed changes.

Overall looking good, I only wonder why you chose "Use Current Frame instead of Playhead".

Since it can be quite important what strip the transformed strip is snapping to and strip ends can be close but not the same, it could be made more clear where the transformed strip is snapping to by only drawing the line between the strips in question.

Only the active strip have a white outline, so maybe this color could be used(2 px):

The box select look(1 px, nb. no outline):

Btw. it is quite common to use J or L cuts where the audio is longer than the video, which will make strip ends be very close, but not the same:

Overall looking good, I only wonder why you chose "Use Current Frame instead of Playhead".

"Current Frame" is the standard term for this in the UI used everywhere, we decided to avoid using the term "Playhead".

Overall looking good, I only wonder why you chose "Use Current Frame instead of Playhead".

"Current Frame" is the standard term for this in the UI used everywhere, we decided to avoid using the term "Playhead".

I know it's not your choice @Hans Goudey (HooglyBoogly), but when you compare "Current Frame" with playhead, you realize that this choice isn't making Blender more user friendly, professional or industry standard. In other words is "Current Frame" the value and "Playhead" is how it is exposed in the UI(but not in Blender). And it makes the menus incomprehensible:

As compared to:


("Under" would properly work better than "Current Frame" here, tho)