VSE: Standardize reset retiming operator
Every retiming operator works on selected strips. However, the reset retiming operator only works on the active strip. This patch standardizes the behavior so that all selected strips have their retiming reset. This gives more control to the user to reset many strips' retiming in bulk. Pull Request: https://projects.blender.org/blender/blender/pulls/123973
This commit is contained in:
committed by
Richard Antalik
parent
952f41a9fd
commit
607445da5f
@@ -137,6 +137,10 @@ static bool retiming_poll(bContext *C)
|
||||
return true;
|
||||
}
|
||||
|
||||
/*-------------------------------------------------------------------- */
|
||||
/** \name Retiming Reset
|
||||
* \{ */
|
||||
|
||||
static void retiming_key_overlap(Scene *scene, Sequence *seq)
|
||||
{
|
||||
ListBase *seqbase = SEQ_active_seqbase_get(SEQ_editing_get(scene));
|
||||
@@ -149,19 +153,18 @@ static void retiming_key_overlap(Scene *scene, Sequence *seq)
|
||||
SEQ_transform_handle_overlap(scene, seqbase, strips, dependant, true);
|
||||
}
|
||||
|
||||
/*-------------------------------------------------------------------- */
|
||||
/** \name Retiming Reset
|
||||
* \{ */
|
||||
|
||||
static int sequencer_retiming_reset_exec(bContext *C, wmOperator * /*op*/)
|
||||
{
|
||||
Scene *scene = CTX_data_scene(C);
|
||||
const Editing *ed = SEQ_editing_get(scene);
|
||||
Sequence *seq = ed->act_seq;
|
||||
|
||||
SEQ_retiming_data_clear(seq);
|
||||
for (Sequence *seq : SEQ_query_selected_strips(ed->seqbasep)) {
|
||||
if (SEQ_retiming_is_allowed(seq)) {
|
||||
SEQ_retiming_data_clear(seq);
|
||||
retiming_key_overlap(scene, seq);
|
||||
}
|
||||
}
|
||||
|
||||
retiming_key_overlap(scene, seq);
|
||||
WM_event_add_notifier(C, NC_SCENE | ND_SEQUENCER, scene);
|
||||
return OPERATOR_FINISHED;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user