52 if (effects ==
NULL) {
108 (*lookup)->seq_by_name =
NULL;
109 (*lookup)->meta_by_seq =
NULL;
110 (*lookup)->effects_by_seq =
NULL;
GHash * BLI_ghash_str_new(const char *info) ATTR_MALLOC ATTR_WARN_UNUSED_RESULT
void * BLI_ghash_lookup(const GHash *gh, const void *key) ATTR_WARN_UNUSED_RESULT
void BLI_ghash_insert(GHash *gh, void *key, void *val)
void BLI_ghash_free(GHash *gh, GHashKeyFreeFP keyfreefp, GHashValFreeFP valfreefp)
GHash * BLI_ghash_ptr_new(const char *info) ATTR_MALLOC ATTR_WARN_UNUSED_RESULT
#define LISTBASE_FOREACH(type, var, list)
#define BLI_MUTEX_INITIALIZER
void BLI_mutex_lock(ThreadMutex *mutex)
void BLI_mutex_unlock(ThreadMutex *mutex)
pthread_mutex_t ThreadMutex
These structs are the foundation for all linked lists in the library system.
Read Guarded memory(de)allocation.
#define SEQ_collection_free_void_p
SeqCollection * SEQ_collection_create(const char *name)
bool SEQ_collection_append_strip(Sequence *seq, SeqCollection *collection)
ccl_global KernelShaderEvalInput * input
void(* MEM_freeN)(void *vmemh)
void *(* MEM_callocN)(size_t len, const char *str)
GAttributeReader lookup(const void *owner, const AttributeIDRef &attribute_id)
static void seq_sequence_lookup_build_effect(Sequence *seq, struct SequenceLookup *lookup)
Sequence * SEQ_sequence_lookup_seq_by_name(const Scene *scene, const char *key)
static void seq_sequence_lookup_init(struct SequenceLookup *lookup)
struct SequenceLookup SequenceLookup
static bool seq_sequence_lookup_is_valid(const struct SequenceLookup *lookup)
static SequenceLookup * seq_sequence_lookup_new(void)
static void seq_sequence_lookup_build_from_seqbase(Sequence *parent_meta, const ListBase *seqbase, struct SequenceLookup *lookup)
static void seq_sequence_lookup_append_effect(Sequence *input, Sequence *effect, struct SequenceLookup *lookup)
static void seq_sequence_lookup_free(struct SequenceLookup **lookup)
SeqCollection * seq_sequence_lookup_effects_by_seq(const Scene *scene, const Sequence *key)
void SEQ_sequence_lookup_free(const Scene *scene)
static void seq_sequence_lookup_rebuild(const struct Scene *scene, struct SequenceLookup **lookup)
static void seq_sequence_lookup_build(const struct Scene *scene, struct SequenceLookup *lookup)
static ThreadMutex lookup_lock
Sequence * seq_sequence_lookup_meta_by_seq(const Scene *scene, const Sequence *key)
static void seq_sequence_lookup_update_if_needed(const struct Scene *scene, struct SequenceLookup **lookup)
void SEQ_sequence_lookup_tag(const Scene *scene, eSequenceLookupTag tag)
Editing * SEQ_editing_get(const Scene *scene)
struct SequenceLookup * sequence_lookup