88 printf(
"error: negative users in strip\n");
124 seq->
start = timeline_frame;
146 const bool do_id_user,
147 const bool do_clean_animdata)
157 sh.
free(seq, do_id_user);
160 if (seq->
sound && do_id_user) {
183 if (do_clean_animdata) {
224 for (iseq = seq->
seqbase.
first; iseq; iseq = iseq_next) {
225 iseq_next = iseq->
next;
311 "Sequencer tool settings");
313 return tool_settings;
319 if (tool_settings ==
NULL) {
324 return tool_settings;
495 sh.
copy(seqn, seq, flag);
511 if (new_seq_list !=
NULL) {
515 if (scene_src == scene_dst) {
537 seqn =
seq_dupli(scene_src, scene_dst, new_seq_list, seq, dupe_flag, 0);
572 for (seq = seqbase->
first; seq; seq = seq->
next) {
575 seqn =
seq_dupli(scene_src, scene_dst, nseqbase, seq, dupe_flag, flag);
584 scene_src, scene_dst, &seqn->
seqbase, &seq->
seqbase, dupe_flag_recursive, flag);
588 if (seq == last_seq) {
603 for (seq = nseqbase->
first; seq; seq = seq->
next) {
608 #define SEQ_RNAPATH_MAXSTR ((30 + 2 + (SEQ_NAME_MAXSTR * 2) + 2) + 1)
636 for (i = 0; i < fcu->
totvert; i++) {
638 bezt->
vec[0][0] += ofs;
639 bezt->
vec[1][0] += ofs;
640 bezt->
vec[2][0] += ofs;
644 for (i = 0; i < fcu->
totvert; i++) {
681 &
scene->
id,
scene->
adt,
NULL,
"sequence_editor.sequences_all", name_src, name_dst, 0, 0, 0);
717 #undef SEQ_RNAPATH_MAXSTR
722 return tool_settings_copy;
void BKE_animdata_fix_paths_rename(struct ID *owner_id, struct AnimData *adt, struct ID *ref_id, const char *prefix, const char *oldName, const char *newName, int oldSubscript, int newSubscript, bool verify_paths)
void BKE_fcurve_free(struct FCurve *fcu)
struct FCurve * BKE_fcurve_copy(const struct FCurve *fcu)
void IDP_FreePropertyContent_ex(struct IDProperty *prop, const bool do_id_user)
struct IDProperty * IDP_CopyProperty_ex(const struct IDProperty *prop, const int flag) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL()
void id_us_min(struct ID *id)
@ LIB_ID_CREATE_NO_USER_REFCOUNT
void id_us_plus(struct ID *id)
void BKE_sound_remove_scene_sound(struct Scene *scene, void *handle)
void * BKE_sound_scene_add_scene_sound_defaults(struct Scene *scene, struct Sequence *sequence)
#define BLI_assert_unreachable()
BLI_INLINE void BLI_listbase_clear(struct ListBase *lb)
void void void BLI_movelisttolist(struct ListBase *dst, struct ListBase *src) ATTR_NONNULL(1
void void BLI_freelistN(struct ListBase *listbase) ATTR_NONNULL(1)
void BLI_addtail(struct ListBase *listbase, void *vlink) ATTR_NONNULL(1)
void BLI_remlink(struct ListBase *listbase, void *vlink) ATTR_NONNULL(1)
MINLINE void copy_v2_v2_int(int r[2], const int a[2])
size_t size_t char size_t BLI_str_escape(char *__restrict dst, const char *__restrict src, const size_t dst_maxncpy) ATTR_NONNULL()
size_t BLI_snprintf_rlen(char *__restrict dst, size_t maxncpy, const char *__restrict format,...) ATTR_NONNULL(1
#define STREQLEN(a, b, n)
void DEG_id_tag_update(struct ID *id, int flag)
@ SEQ_CACHE_STORE_FINAL_OUT
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum type
void IMB_free_anim(struct anim *anim)
Read Guarded memory(de)allocation.
#define SEQ_ALL_BEGIN(ed, _seq)
#define SEQ_DUPE_UNIQUE_NAME
#define SEQ_DUPE_IS_RECURSIVE_CALL
struct SeqEffectHandle SEQ_effect_handle_get(Sequence *seq)
void seq_cache_destruct(Scene *scene)
void(* MEM_freeN)(void *vmemh)
void *(* MEM_dupallocN)(const void *vmemh)
void *(* MEM_callocN)(size_t len, const char *str)
void *(* MEM_mallocN)(size_t len, const char *str)
void seq_prefetch_free(Scene *scene)
void SEQ_modifier_clear(Sequence *seq)
void SEQ_modifier_list_copy(Sequence *seqn, Sequence *seq)
void SEQ_tool_settings_free(SequencerToolSettings *tool_settings)
void SEQ_sequence_base_dupli_recursive(const Scene *scene_src, Scene *scene_dst, ListBase *nseqbase, const ListBase *seqbase, int dupe_flag, const int flag)
static void seq_new_fix_links_recursive(Sequence *seq)
MetaStack * SEQ_meta_stack_alloc(Editing *ed, Sequence *seq_meta)
#define SEQ_RNAPATH_MAXSTR
ListBase * SEQ_active_seqbase_get(const Editing *ed)
static void seq_free_animdata(Scene *scene, Sequence *seq)
SequencerToolSettings * SEQ_tool_settings_init(void)
static size_t sequencer_rna_path_prefix(char str[SEQ_RNAPATH_MAXSTR], const char *name)
static void seq_sequence_free_ex(Scene *scene, Sequence *seq, const bool do_cache, const bool do_id_user, const bool do_clean_animdata)
Sequence * SEQ_sequence_dupli_recursive(const Scene *scene_src, Scene *scene_dst, ListBase *new_seq_list, Sequence *seq, int dupe_flag)
MetaStack * SEQ_meta_stack_active_get(const Editing *ed)
void SEQ_offset_animdata(Scene *scene, Sequence *seq, int ofs)
void SEQ_dupe_animdata(Scene *scene, const char *name_src, const char *name_dst)
void SEQ_editing_free(Scene *scene, const bool do_id_user)
static Strip * seq_strip_alloc(int type)
SequencerToolSettings * SEQ_tool_settings_copy(SequencerToolSettings *tool_settings)
Editing * SEQ_editing_ensure(Scene *scene)
void SEQ_seqbase_active_set(Editing *ed, ListBase *seqbase)
void seq_free_sequence_recurse(Scene *scene, Sequence *seq, const bool do_id_user)
void SEQ_sequence_free(Scene *scene, Sequence *seq, const bool do_clean_animdata)
void SEQ_meta_stack_free(Editing *ed, MetaStack *ms)
static void seq_free_strip(Strip *strip)
Sequence * SEQ_sequence_alloc(ListBase *lb, int timeline_frame, int machine, int type)
eSeqImageFitMethod SEQ_tool_settings_fit_method_get(Scene *scene)
static Sequence * seq_dupli(const Scene *scene_src, Scene *scene_dst, ListBase *new_seq_list, Sequence *seq, int dupe_flag, const int flag)
void SEQ_tool_settings_fit_method_set(Scene *scene, eSeqImageFitMethod fit_method)
SequencerToolSettings * SEQ_tool_settings_ensure(Scene *scene)
Editing * SEQ_editing_get(Scene *scene, bool alloc)
static Sequence * sequence_dupli_recursive_do(const Scene *scene_src, Scene *scene_dst, ListBase *new_seq_list, Sequence *seq, const int dupe_flag)
void SEQ_relations_invalidate_cache_raw(Scene *scene, Sequence *seq)
void SEQ_relations_sequence_free_anim(Sequence *seq)
void SEQ_relations_session_uuid_generate(struct Sequence *sequence)
Sequence * SEQ_select_active_get(Scene *scene)
void SEQ_select_active_set(Scene *scene, Sequence *seq)
struct ToolSettings * toolsettings
void(* copy)(struct Sequence *dst, struct Sequence *src, const int flag)
void(* free)(struct Sequence *seq, const bool do_id_user)
struct SequenceModifierData * next
struct Sequence * mask_sequence
struct Stereo3dFormat * stereo3d_format
StripTransform * transform
void SEQ_sequence_base_unique_name_recursive(ListBase *seqbasep, Sequence *seq)