diff options
author | Richard Antalik <richardantalik@gmail.com> | 2022-01-19 16:12:23 +0300 |
---|---|---|
committer | Richard Antalik <richardantalik@gmail.com> | 2022-01-19 16:12:23 +0300 |
commit | e49bf4019b498be42b9a39657604ad750a99bbea (patch) | |
tree | 3694759dab31e9fa63801c3bd939525dc1af8645 /source/blender/sequencer/intern/strip_edit.c | |
parent | 17882988042e3b8adeffbc2072a5a457cb6efb52 (diff) |
Cleanup: VSE animation handling
- Move functions that handle animation to own file - `animation.c`
- Refactor `SEQ_offset_animdata` and `SEQ_free_animdata` functions
- Add function `SEQ_fcurves_by_strip_get` to provide more granular
and explicit way for operators to handle animation
- Remove function `SEQ_dupe_animdata`, do curve duplication explicitly
in operator code, which makes more sense to do. Further this function
was also used for renaming strips which makes no sense.
- Refactor usage of function `SEQ_free_animdata` and remove XXX comment.
Now this functiuon is no longer called when `Sequence` data is freed
implicitly, it is done explicitly in high level function
`SEQ_edit_remove_flagged_sequences`
Reviewed By: sergey
Differential Revision: https://developer.blender.org/D13852
Diffstat (limited to 'source/blender/sequencer/intern/strip_edit.c')
-rw-r--r-- | source/blender/sequencer/intern/strip_edit.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/source/blender/sequencer/intern/strip_edit.c b/source/blender/sequencer/intern/strip_edit.c index cf303e5be4e..0479d3012fa 100644 --- a/source/blender/sequencer/intern/strip_edit.c +++ b/source/blender/sequencer/intern/strip_edit.c @@ -43,6 +43,7 @@ #include "utils.h" #include "SEQ_add.h" +#include "SEQ_animation.h" #include "SEQ_edit.h" #include "SEQ_effects.h" #include "SEQ_iterator.h" @@ -199,8 +200,9 @@ void SEQ_edit_remove_flagged_sequences(Scene *scene, ListBase *seqbase) if (seq->type == SEQ_TYPE_META) { SEQ_edit_remove_flagged_sequences(scene, &seq->seqbase); } + SEQ_free_animdata(scene, seq); BLI_remlink(seqbase, seq); - SEQ_sequence_free(scene, seq, true); + SEQ_sequence_free(scene, seq); SEQ_sequence_lookup_tag(scene, SEQ_LOOKUP_TAG_INVALID); } } |