Blender V4.3
SEQ_iterator.hh File Reference
#include "BLI_vector_set.hh"

Go to the source code of this file.

Typedefs

using SeqForEachFunc = bool (*)(Sequence *seq, void *user_data)
 

Functions

void SEQ_for_each_callback (ListBase *seqbase, SeqForEachFunc callback, void *user_data)
 
void SEQ_iterator_set_expand (const Scene *scene, ListBase *seqbase, blender::VectorSet< Sequence * > &strips, void seq_query_func(const Scene *scene, Sequence *seq_reference, ListBase *seqbase, blender::VectorSet< Sequence * > &strips))
 
blender::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, blender::VectorSet< Sequence * > &strips))
 
blender::VectorSet< Sequence * > SEQ_query_selected_strips (ListBase *seqbase)
 
blender::VectorSet< Sequence * > SEQ_query_unselected_strips (ListBase *seqbase)
 
blender::VectorSet< Sequence * > SEQ_query_all_strips (ListBase *seqbase)
 
blender::VectorSet< Sequence * > SEQ_query_all_strips_recursive (const ListBase *seqbase)
 
void SEQ_query_strip_effect_chain (const Scene *scene, Sequence *seq_reference, ListBase *seqbase, blender::VectorSet< Sequence * > &strips)
 
blender::VectorSet< Sequence * > SEQ_query_rendered_strips (const Scene *scene, ListBase *channels, ListBase *seqbase, int timeline_frame, int displayed_channel)
 

Typedef Documentation

◆ SeqForEachFunc

using SeqForEachFunc = bool (*)(Sequence *seq, void *user_data)

Callback format for the for_each function below.

Definition at line 18 of file SEQ_iterator.hh.

Function Documentation

◆ SEQ_for_each_callback()

void SEQ_for_each_callback ( ListBase * seqbase,
SeqForEachFunc callback,
void * user_data )

◆ SEQ_iterator_set_expand()

void SEQ_iterator_set_expand ( const Scene * scene,
ListBase * seqbase,
blender::VectorSet< Sequence * > & strips,
void seq_query_funcconst Scene *scene, Sequence *seq_reference, ListBase *seqbase, blender::VectorSet< Sequence * > &strips )

Expand set by running seq_query_func() for each strip, which will be used as reference. Results of these queries will be merged into provided collection.

Parameters
seqbaseListBase in which strips are queried
stripsset of strips to be expanded
seq_query_funcquery function callback

Definition at line 61 of file iterator.cc.

References blender::VectorSet< Key, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add_multiple(), and SEQ_query_by_reference().

Referenced by flushTransSeq(), freeSeqData(), freeSeqData(), query_snap_targets_timeline(), query_time_dependent_strips_strips(), recalcData_sequencer_retiming(), retiming_key_overlap(), select_grouped_effect_link(), SEQ_edit_move_strip_to_meta(), SEQ_edit_strip_split(), and seq_transform_handle_overwrite_trim().

◆ SEQ_query_all_strips()

blender::VectorSet< Sequence * > SEQ_query_all_strips ( ListBase * seqbase)

Query all strips in seqbase. This does not include strips nested in meta strips.

Parameters
seqbaseListBase in which strips are queried
Returns
set of strips

Definition at line 97 of file iterator.cc.

References blender::VectorSet< Key, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add(), and LISTBASE_FOREACH.

Referenced by all_strips_from_context(), seq_frame_apply_snap(), and seq_time_gap_info_get().

◆ SEQ_query_all_strips_recursive()

blender::VectorSet< Sequence * > SEQ_query_all_strips_recursive ( const ListBase * seqbase)

Query all strips in seqbase and nested meta strips.

Parameters
seqbaseListBase in which strips are queried
Returns
set of strips

Definition at line 90 of file iterator.cc.

References query_all_strips_recursive().

◆ SEQ_query_by_reference()

blender::VectorSet< Sequence * > SEQ_query_by_reference ( Sequence * seq_reference,
const Scene * scene,
ListBase * seqbase,
void seq_query_funcconst Scene *scene, Sequence *seq_reference, ListBase *seqbase, blender::VectorSet< Sequence * > &strips )

Query strips from seqbase. seq_reference is used by query function as filter condition.

Parameters
seq_referencereference strip for query function
seqbaseListBase in which strips are queried
seq_query_funcquery function callback
Returns
set of strips

Definition at line 48 of file iterator.cc.

Referenced by SEQ_iterator_set_expand(), and seq_transform_handle_overwrite_trim().

◆ SEQ_query_rendered_strips()

blender::VectorSet< Sequence * > SEQ_query_rendered_strips ( const Scene * scene,
ListBase * channels,
ListBase * seqbase,
int timeline_frame,
int displayed_channel )

◆ SEQ_query_selected_strips()

blender::VectorSet< Sequence * > SEQ_query_selected_strips ( ListBase * seqbase)

◆ SEQ_query_strip_effect_chain()

void SEQ_query_strip_effect_chain ( const Scene * scene,
Sequence * seq_reference,
ListBase * seqbase,
blender::VectorSet< Sequence * > & strips )

Query all effect strips that are directly or indirectly connected to seq_reference. This includes all effects of seq_reference, strips used by another inputs and their effects, so that whole chain is fully independent of other strips.

Parameters
seq_referencereference strip
seqbaseListBase in which strips are queried
stripsset of strips to be filled

Definition at line 210 of file iterator.cc.

References blender::VectorSet< Key, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add(), blender::VectorSet< Key, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::contains(), LISTBASE_FOREACH, Sequence::seq1, Sequence::seq2, SEQ_query_strip_effect_chain(), SEQ_TYPE_EFFECT, and Sequence::type.

Referenced by flushTransSeq(), freeSeqData(), freeSeqData(), query_time_dependent_strips_strips(), recalcData_sequencer_retiming(), retiming_key_overlap(), select_grouped_effect_link(), SEQ_edit_move_strip_to_meta(), SEQ_edit_strip_split(), SEQ_query_strip_effect_chain(), and seq_transform_handle_overwrite_trim().

◆ SEQ_query_unselected_strips()

blender::VectorSet< Sequence * > SEQ_query_unselected_strips ( ListBase * seqbase)

Query all unselected strips in seqbase.

Parameters
seqbaseListBase in which strips are queried
Returns
set of strips

Definition at line 198 of file iterator.cc.

References blender::VectorSet< Key, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add(), LISTBASE_FOREACH, and SELECT.

Referenced by query_overwrite_targets().