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-06-16 01:29:17 +0300
committerRichard Antalik <richardantalik@gmail.com>2021-06-16 01:29:17 +0300
commit1a5fa2b319e06ebbd2666987aa11240a371dcc09 (patch)
treefa19d3c2f8b603e302b063a600e78f16733b5c5d /source/blender/sequencer/SEQ_sequencer.h
parent143a81ccceaf7d3abccc5a9dd4bb3520813dd222 (diff)
VSE: Improve animation evaluation performance
Use lookup string callback function for `sequences_all` RNA property `rna_SequenceEditor_sequences_all_lookup_string` using a GHash for faster lookups. When names are changed or strips are added/removed the lookup is tagged invalid. The next time the lookup is used it will rebuild it. Reviewed By: sergey, jbakker Differential Revision: https://developer.blender.org/D11544
Diffstat (limited to 'source/blender/sequencer/SEQ_sequencer.h')
-rw-r--r--source/blender/sequencer/SEQ_sequencer.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/source/blender/sequencer/SEQ_sequencer.h b/source/blender/sequencer/SEQ_sequencer.h
index ad0815892f7..fd4181a5a54 100644
--- a/source/blender/sequencer/SEQ_sequencer.h
+++ b/source/blender/sequencer/SEQ_sequencer.h
@@ -33,6 +33,7 @@ struct Editing;
struct Scene;
struct Sequence;
struct SequencerToolSettings;
+struct SequenceLookup;
/* RNA enums, just to be more readable */
enum {
@@ -79,6 +80,16 @@ void SEQ_sequence_base_dupli_recursive(const struct Scene *scene_src,
int dupe_flag,
const int flag);
+/* Defined in sequence_lookup.c */
+
+typedef enum eSequenceLookupTag {
+ SEQ_LOOKUP_TAG_INVALID = (1 << 0),
+} eSequenceLookupTag;
+
+struct Sequence *SEQ_sequence_lookup_by_name(const struct Scene *scene, const char *key);
+void SEQ_sequence_lookup_free(const struct Scene *scene);
+void SEQ_sequence_lookup_tag(const struct Scene *scene, eSequenceLookupTag tag);
+
#ifdef __cplusplus
}
#endif