51 void seq_query_func(
const Scene *scene,
57 seq_query_func(scene, seq_reference, seqbase, strips);
64 void seq_query_func(
const Scene *scene,
110 if ((strip->flag &
SELECT) != 0) {
119 const int timeline_frame)
140 bool seq_have_effect_in_stack =
false;
141 for (
Sequence *strip_iter : strips) {
151 if (strip->
machine >= strip_iter->machine) {
155 seq_have_effect_in_stack =
true;
165 if (seq_have_effect_in_stack) {
187 const int timeline_frame,
188 const int displayed_channel)
191 if (displayed_channel != 0) {
202 if ((seq->flag &
SELECT) != 0) {
215 if (strips.
contains(reference_strip)) {
219 strips.
add(reference_strip);
223 if (reference_strip->
seq1) {
226 if (reference_strip->
seq2) {
233 if (seq_test->seq1 == reference_strip || seq_test->
seq2 == reference_strip) {
#define LISTBASE_FOREACH(type, var, list)
Read Guarded memory(de)allocation.
bool(*)(Sequence *seq, void *user_data) SeqForEachFunc
bool contains(const Key &key) const
void add_multiple(Span< Key > keys)
int64_t remove_if(Predicate &&predicate)
DEGForeachIDComponentCallback callback
int SEQ_effect_get_num_inputs(int seq_type)
VectorSet< Sequence * > SEQ_query_unselected_strips(ListBase *seqbase)
static bool seq_for_each_recursive(ListBase *seqbase, SeqForEachFunc callback, void *user_data)
static bool must_render_strip(const VectorSet< Sequence * > &strips, Sequence *strip)
VectorSet< Sequence * > SEQ_query_rendered_strips(const Scene *scene, ListBase *channels, ListBase *seqbase, const int timeline_frame, const int displayed_channel)
static VectorSet< Sequence * > query_strips_at_frame(const Scene *scene, ListBase *seqbase, const int timeline_frame)
void SEQ_iterator_set_expand(const Scene *scene, ListBase *seqbase, VectorSet< Sequence * > &strips, void seq_query_func(const Scene *scene, Sequence *seq_reference, ListBase *seqbase, VectorSet< Sequence * > &strips))
VectorSet< Sequence * > SEQ_query_all_strips_recursive(const ListBase *seqbase)
static void collection_filter_channel_up_to_incl(VectorSet< Sequence * > &strips, const int channel)
static void collection_filter_rendered_strips(VectorSet< Sequence * > &strips, ListBase *channels)
static void query_all_strips_recursive(const ListBase *seqbase, VectorSet< Sequence * > &strips)
void SEQ_query_strip_effect_chain(const Scene *scene, Sequence *reference_strip, ListBase *seqbase, VectorSet< Sequence * > &strips)
VectorSet< Sequence * > SEQ_query_all_strips(ListBase *seqbase)
VectorSet< Sequence * > SEQ_query_selected_strips(ListBase *seqbase)
VectorSet< Sequence * > SEQ_query_by_reference(Sequence *seq_reference, const Scene *scene, ListBase *seqbase, void seq_query_func(const Scene *scene, Sequence *seq_reference, ListBase *seqbase, VectorSet< Sequence * > &strips))
void SEQ_for_each_callback(ListBase *seqbase, SeqForEachFunc callback, void *user_data)
bool SEQ_render_is_muted(const ListBase *channels, const Sequence *seq)
bool SEQ_relation_is_effect_of_strip(const Sequence *effect, const Sequence *input)
bool SEQ_time_strip_intersects_frame(const Scene *scene, const Sequence *seq, const int timeline_frame)