From bfad8deb0be0d014b5e05c7e1af564acb3d494d1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?F=C3=A9lix?= Date: Fri, 19 Mar 2021 23:55:39 +0100 Subject: VSE: Add new_meta RNA API function This function can be used to create empty meta strip, which is not straightforward when using operators. Very useful for import/export scripts. Reviewed By: ISS Differential Revision: https://developer.blender.org/D10661 --- source/blender/sequencer/SEQ_add.h | 3 +++ source/blender/sequencer/intern/strip_add.c | 26 ++++++++++++++++++++++++++ 2 files changed, 29 insertions(+) (limited to 'source/blender/sequencer') diff --git a/source/blender/sequencer/SEQ_add.h b/source/blender/sequencer/SEQ_add.h index 7d728b25a30..983f5ab1391 100644 --- a/source/blender/sequencer/SEQ_add.h +++ b/source/blender/sequencer/SEQ_add.h @@ -79,6 +79,9 @@ struct Sequence *SEQ_add_sound_strip(struct Main *bmain, struct Scene *scene, struct ListBase *seqbase, struct SeqLoadData *load_data); +struct Sequence *SEQ_add_meta_strip(struct Scene *scene, + struct ListBase *seqbase, + struct SeqLoadData *load_data); struct Sequence *SEQ_add_movie_strip(struct Main *bmain, struct Scene *scene, struct ListBase *seqbase, diff --git a/source/blender/sequencer/intern/strip_add.c b/source/blender/sequencer/intern/strip_add.c index 54e71ff0698..aab522da659 100644 --- a/source/blender/sequencer/intern/strip_add.c +++ b/source/blender/sequencer/intern/strip_add.c @@ -412,6 +412,32 @@ Sequence *SEQ_add_sound_strip(Main *UNUSED(bmain), } #endif // WITH_AUDASPACE +/** + * Add meta strip. + * + * \param scene: Scene where strips will be added + * \param seqbase: ListBase where strips will be added + * \param load_data: SeqLoadData with information necessary to create strip + * \return created strip + */ + +Sequence *SEQ_add_meta_strip(Scene *scene, ListBase *seqbase, SeqLoadData *load_data) +{ + /* Allocate sequence. */ + Sequence *seqm = SEQ_sequence_alloc( + seqbase, load_data->start_frame, load_data->channel, SEQ_TYPE_META); + + /* Set name. */ + seq_add_set_name(seqm, load_data); + + /* Set frames start and length. */ + seqm->start = load_data->start_frame; + seqm->len = 1; + SEQ_time_update_sequence(scene, seqm); + + return seqm; +} + /** * Add movie strip. * -- cgit v1.2.3