diff options
author | Richard Antalik <richardantalik@gmail.com> | 2021-08-27 13:59:46 +0300 |
---|---|---|
committer | Richard Antalik <richardantalik@gmail.com> | 2021-08-27 13:59:46 +0300 |
commit | 59cd9c6da682675c439731781d127b1b02f12a76 (patch) | |
tree | be3547652d6e9bf2e4051dbd54a71b771ec5afad /source/blender/makesrna/intern/rna_scene.c | |
parent | 7f7370fa26fbe8597cbb9832755f854fd4a8d0e5 (diff) |
VSE: Transform overwrite mode
Add mode to overwrite strips on overlap instead of resolving overlap.
When overlap is created, 3 things can happen:
- On partial overlap, handles of overlapped strip are moved
- On complete overlap with smaller strip, overlapped strip is split
- On complete overlap with larger strip, overlapped strip is removed
This mode can be enabled in header.
Reviewed By: fsiddi, mano-wii
Differential Revision: https://developer.blender.org/D11805
Diffstat (limited to 'source/blender/makesrna/intern/rna_scene.c')
-rw-r--r-- | source/blender/makesrna/intern/rna_scene.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/source/blender/makesrna/intern/rna_scene.c b/source/blender/makesrna/intern/rna_scene.c index 9d158761a21..0583cdeb1bb 100644 --- a/source/blender/makesrna/intern/rna_scene.c +++ b/source/blender/makesrna/intern/rna_scene.c @@ -3510,6 +3510,21 @@ static void rna_def_sequencer_tool_settings(BlenderRNA *brna) {0, NULL, 0, NULL, NULL}, }; + static const EnumPropertyItem scale_overlap_modes[] = { + {SEQ_OVERLAP_EXPAND, "EXPAND", 0, "Expand", "Move strips so transformed strips fits"}, + {SEQ_OVERLAP_OVERWRITE, + "OVERWRITE", + 0, + "Overwrite", + "Trim or split strips to resolve overlap"}, + {SEQ_OVERLAP_SHUFFLE, + "SHUFFLE", + 0, + "Shuffle", + "Move transformed strips to nearest free space to resolve overlap"}, + {0, NULL, 0, NULL, NULL}, + }; + srna = RNA_def_struct(brna, "SequencerToolSettings", NULL); RNA_def_struct_path_func(srna, "rna_SequencerToolSettings_path"); RNA_def_struct_ui_text(srna, "Sequencer Tool Settings", ""); @@ -3548,6 +3563,11 @@ static void rna_def_sequencer_tool_settings(BlenderRNA *brna) RNA_def_property_int_default(prop, 15); RNA_def_property_ui_range(prop, 0, 50, 1, 1); RNA_def_property_ui_text(prop, "Snapping Distance", "Maximum distance for snapping in pixels"); + + /* Transform overlap handling. */ + prop = RNA_def_property(srna, "overlap_mode", PROP_ENUM, PROP_NONE); + RNA_def_property_enum_items(prop, scale_overlap_modes); + RNA_def_property_ui_text(prop, "Overlap Mode", "How to resolve overlap after transformation"); } static void rna_def_unified_paint_settings(BlenderRNA *brna) |