[Bf-blender-cvs] [27d89ad6243] temp-vse-snapping: Add snap to hold offset
Richard Antalik
noreply at git.blender.org
Mon Jun 21 09:13:23 CEST 2021
Commit: 27d89ad6243fbe986c2004a5e76f1c2b147f6850
Author: Richard Antalik
Date: Sat Jun 19 11:06:12 2021 +0200
Branches: temp-vse-snapping
https://developer.blender.org/rB27d89ad6243fbe986c2004a5e76f1c2b147f6850
Add snap to hold offset
===================================================================
M release/scripts/startup/bl_ui/space_sequencer.py
M source/blender/editors/transform/transform_snap_sequencer.c
M source/blender/makesdna/DNA_scene_types.h
M source/blender/makesrna/intern/rna_scene.c
===================================================================
diff --git a/release/scripts/startup/bl_ui/space_sequencer.py b/release/scripts/startup/bl_ui/space_sequencer.py
index dbaae5de233..37e178dc334 100644
--- a/release/scripts/startup/bl_ui/space_sequencer.py
+++ b/release/scripts/startup/bl_ui/space_sequencer.py
@@ -2286,6 +2286,7 @@ class SEQUENCER_PT_snapping(Panel):
col.label(text="Snap To")
col.prop(tool_settings, "snap_to_strip_start")
col.prop(tool_settings, "snap_to_strip_end")
+ col.prop(tool_settings, "snap_to_strip_hold_offset")
col.prop(tool_settings, "snap_to_playhead")
col.separator()
col.prop(tool_settings, "snap_ignore_muted")
@@ -2299,7 +2300,7 @@ class SEQUENCER_PT_snapping(Panel):
col.label(text="Snap Settings")
col.prop(tool_settings, "snap_threshold", slider=True)
- col.prop(tool_settings, "snap_sensitivity", slider=True)
+ #col.prop(tool_settings, "snap_sensitivity", slider=True)
col.separator()
diff --git a/source/blender/editors/transform/transform_snap_sequencer.c b/source/blender/editors/transform/transform_snap_sequencer.c
index a956141d1b4..8e34d11d5bb 100644
--- a/source/blender/editors/transform/transform_snap_sequencer.c
+++ b/source/blender/editors/transform/transform_snap_sequencer.c
@@ -216,6 +216,9 @@ static int seq_get_snap_target_points_count(TransInfo *t,
if (tool_settings->transform_flag & SEQ_SNAP_TO_STRIP_END) {
count++;
}
+ if (tool_settings->transform_flag & SEQ_SNAP_TO_STRIP_HOLD) {
+ count += 2;
+ }
count *= SEQ_collection_count(snap_targets);
@@ -260,6 +263,13 @@ static void seq_snap_target_points_build(TransInfo *t,
snap_data->target_snap_points[i] = seq->enddisp;
i++;
}
+ if (tool_settings->transform_flag & SEQ_SNAP_TO_STRIP_HOLD) {
+ const int content_start = min_ii(seq->enddisp, seq->start);
+ const int content_end = max_ii(seq->startdisp, seq->start + seq->len);
+ snap_data->target_snap_points[i] = content_start;
+ snap_data->target_snap_points[i + 1] = content_end;
+ i += 2;
+ }
}
BLI_assert(i <= snap_data->target_snap_point_count);
qsort(snap_data->target_snap_points, snap_data->target_snap_point_count, sizeof(int), cmp_fn);
diff --git a/source/blender/makesdna/DNA_scene_types.h b/source/blender/makesdna/DNA_scene_types.h
index 712a4521c5e..c586b064ff0 100644
--- a/source/blender/makesdna/DNA_scene_types.h
+++ b/source/blender/makesdna/DNA_scene_types.h
@@ -1357,6 +1357,7 @@ typedef enum eSeqTransformFlag {
SEQ_SNAP_TO_STRIP_START = (1 << 1),
SEQ_SNAP_TO_STRIP_END = (1 << 2),
SEQ_SNAP_TO_PLAYHEAD = (1 << 3),
+ SEQ_SNAP_TO_STRIP_HOLD = (1 << 12),
SEQ_SNAP_IGNORE_MUTED = (1 << 4),
SEQ_SNAP_IGNORE_SOUND = (1 << 5),
diff --git a/source/blender/makesrna/intern/rna_scene.c b/source/blender/makesrna/intern/rna_scene.c
index cd2343afca9..1dcf076691a 100644
--- a/source/blender/makesrna/intern/rna_scene.c
+++ b/source/blender/makesrna/intern/rna_scene.c
@@ -3553,6 +3553,11 @@ static void rna_def_sequencer_tool_settings(BlenderRNA *brna)
RNA_def_property_boolean_default(prop, true);
RNA_def_property_ui_text(prop, "Snap to End", "Snap to end of strips");
+ prop = RNA_def_property(srna, "snap_to_strip_hold_offset", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "transform_flag", SEQ_SNAP_TO_STRIP_HOLD);
+ RNA_def_property_boolean_default(prop, true);
+ RNA_def_property_ui_text(prop, "Snap to Hold Offset", "Snap to strip hold offset");
+
prop = RNA_def_property(srna, "snap_to_playhead", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_sdna(prop, NULL, "transform_flag", SEQ_SNAP_TO_PLAYHEAD);
RNA_def_property_boolean_default(prop, true);
More information about the Bf-blender-cvs
mailing list