Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Antalik <richardantalik@gmail.com>2021-05-19 23:45:43 +0300
committerRichard Antalik <richardantalik@gmail.com>2021-05-19 23:52:57 +0300
commit97cf2a9fb1070614a7428974dd763b4de988d272 (patch)
tree9c0e8652692ff78e11eb9747429b7a1400ff40ee /source/blender/sequencer
parent58893eaef8414d27815fb20b049db14333bb4eb2 (diff)
VSE: Refactor sorting functions
Recently `SEQ_sort()` function was split so functionality is provided on per-seqbase basis. After discussion about this split, it turned out, that per-seqbase operation is only that should be provided, because RNA API functions need to be able to access arbitrary seqbase Remove recently introduced function `seq_sort_seqbase` and change `SEQ_sort` function to operate on seqbase. Reviewed By: sergey Differential Revision: https://developer.blender.org/D11297
Diffstat (limited to 'source/blender/sequencer')
-rw-r--r--source/blender/sequencer/SEQ_utils.h2
-rw-r--r--source/blender/sequencer/intern/strip_add.c2
-rw-r--r--source/blender/sequencer/intern/strip_edit.c2
-rw-r--r--source/blender/sequencer/intern/utils.c25
-rw-r--r--source/blender/sequencer/intern/utils.h1
5 files changed, 8 insertions, 24 deletions
diff --git a/source/blender/sequencer/SEQ_utils.h b/source/blender/sequencer/SEQ_utils.h
index 361246d74c5..9d529089ffc 100644
--- a/source/blender/sequencer/SEQ_utils.h
+++ b/source/blender/sequencer/SEQ_utils.h
@@ -35,7 +35,7 @@ struct Scene;
struct Sequence;
struct StripElem;
-void SEQ_sort(struct Scene *scene);
+void SEQ_sort(struct ListBase *seqbase);
void SEQ_sequence_base_unique_name_recursive(struct ListBase *seqbasep, struct Sequence *seq);
const char *SEQ_sequence_give_name(struct Sequence *seq);
struct ListBase *SEQ_get_seqbase_from_sequence(struct Sequence *seq, int *r_offset);
diff --git a/source/blender/sequencer/intern/strip_add.c b/source/blender/sequencer/intern/strip_add.c
index 1106f47c477..5ec2269b993 100644
--- a/source/blender/sequencer/intern/strip_add.c
+++ b/source/blender/sequencer/intern/strip_add.c
@@ -100,7 +100,7 @@ static void seq_add_generic_update(Scene *scene, ListBase *seqbase, Sequence *se
{
SEQ_sequence_base_unique_name_recursive(seqbase, seq);
SEQ_time_update_sequence_bounds(scene, seq);
- SEQ_sort(scene);
+ SEQ_sort(seqbase);
SEQ_relations_invalidate_cache_composite(scene, seq);
}
diff --git a/source/blender/sequencer/intern/strip_edit.c b/source/blender/sequencer/intern/strip_edit.c
index b5b0dc2770e..18f99272ee7 100644
--- a/source/blender/sequencer/intern/strip_edit.c
+++ b/source/blender/sequencer/intern/strip_edit.c
@@ -407,7 +407,7 @@ Sequence *SEQ_edit_strip_split(Main *bmain,
/* Sort list, so that no strip can depend on next strip in list.
* This is important for SEQ_time_update_sequence functionality. */
- seq_sort_seqbase(&left_strips);
+ SEQ_sort(&left_strips);
/* Duplicate ListBase. */
ListBase right_strips = {NULL, NULL};
diff --git a/source/blender/sequencer/intern/utils.c b/source/blender/sequencer/intern/utils.c
index 8da71b0ac56..cf1d7d66476 100644
--- a/source/blender/sequencer/intern/utils.c
+++ b/source/blender/sequencer/intern/utils.c
@@ -59,9 +59,12 @@
*
* \param seqbase: ListBase with strips
*/
-
-void seq_sort_seqbase(ListBase *seqbase)
+void SEQ_sort(ListBase *seqbase)
{
+ if (seqbase == NULL) {
+ return;
+ }
+
/* all strips together per kind, and in order of y location ("machine") */
ListBase inputbase, effbase;
Sequence *seq, *seqt;
@@ -103,24 +106,6 @@ void seq_sort_seqbase(ListBase *seqbase)
BLI_movelisttolist(seqbase, &effbase);
}
-/**
- * Sort strips in active seqbase. Effect strips are trailing the list and they are sorted by
- * channel position as well.
- * This is important for SEQ_time_update_sequence to work properly
- *
- * \param scene: Scene to look for active seqbase in
- */
-void SEQ_sort(Scene *scene)
-{
- Editing *ed = SEQ_editing_get(scene, false);
-
- if (ed == NULL) {
- return;
- }
-
- seq_sort_seqbase(SEQ_active_seqbase_get(ed));
-}
-
typedef struct SeqUniqueInfo {
Sequence *seq;
char name_src[SEQ_NAME_MAXSTR];
diff --git a/source/blender/sequencer/intern/utils.h b/source/blender/sequencer/intern/utils.h
index 0ec78a6cfa5..97f33bb3ae0 100644
--- a/source/blender/sequencer/intern/utils.h
+++ b/source/blender/sequencer/intern/utils.h
@@ -34,7 +34,6 @@ void seq_open_anim_file(struct Scene *scene, struct Sequence *seq, bool openfile
struct Sequence *seq_find_metastrip_by_sequence(ListBase *seqbase /* = ed->seqbase */,
struct Sequence *meta /* = NULL */,
struct Sequence *seq);
-void seq_sort_seqbase(ListBase *seqbase);
#ifdef __cplusplus
}