VSE: Add API function to select displayed meta strip

Use function `sequence_editor.display_stack(meta_strip)` to set
displayed timeline content.

To view top-level timeline, that does not belong to any meta strip, pass
`None` as argument.

Differential Revision: https://developer.blender.org/D12048
This commit is contained in:
Félix
2022-06-27 19:29:41 +02:00
committed by Richard Antalik
parent a2b9b9d3c4
commit 6b35d9e6fb
7 changed files with 108 additions and 47 deletions

View File

@@ -192,19 +192,6 @@ void SEQ_edit_remove_flagged_sequences(Scene *scene, ListBase *seqbase)
}
}
static bool seq_exists_in_seqbase(Sequence *seq, ListBase *seqbase)
{
LISTBASE_FOREACH (Sequence *, seq_test, seqbase) {
if (seq_test->type == SEQ_TYPE_META && seq_exists_in_seqbase(seq, &seq_test->seqbase)) {
return true;
}
if (seq_test == seq) {
return true;
}
}
return false;
}
bool SEQ_edit_move_strip_to_seqbase(Scene *scene,
ListBase *seqbase,
Sequence *seq,
@@ -247,12 +234,12 @@ bool SEQ_edit_move_strip_to_meta(Scene *scene,
return false;
}
if (src_seq->type == SEQ_TYPE_META && seq_exists_in_seqbase(dst_seqm, &src_seq->seqbase)) {
if (src_seq->type == SEQ_TYPE_META && SEQ_exists_in_seqbase(dst_seqm, &src_seq->seqbase)) {
*error_str = N_("Moved strip is parent of provided meta strip");
return false;
}
if (!seq_exists_in_seqbase(dst_seqm, &ed->seqbase)) {
if (!SEQ_exists_in_seqbase(dst_seqm, &ed->seqbase)) {
*error_str = N_("Can not move strip to different scene");
return false;
}