|
Blender V4.3
|
#include <cstring>#include "MEM_guardedalloc.h"#include "DNA_sequence_types.h"#include "BLI_listbase.h"#include "SEQ_effects.hh"#include "SEQ_iterator.hh"#include "SEQ_relations.hh"#include "SEQ_render.hh"#include "SEQ_time.hh"Go to the source code of this file.
|
static |
Definition at line 131 of file iterator.cc.
References Sequence::machine, and blender::VectorSet< Key, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::remove_if().
Referenced by SEQ_query_rendered_strips().
|
static |
Definition at line 173 of file iterator.cc.
References must_render_strip(), blender::VectorSet< Key, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::remove_if(), SEQ_render_is_muted(), SEQ_TYPE_SOUND_RAM, and Sequence::type.
Referenced by SEQ_query_rendered_strips().
Definition at line 138 of file iterator.cc.
References Sequence::machine, SEQ_BLEND_REPLACE, SEQ_effect_get_num_inputs(), SEQ_relation_is_effect_of_strip(), SEQ_TYPE_EFFECT, and Sequence::type.
Referenced by collection_filter_rendered_strips().
|
static |
Definition at line 80 of file iterator.cc.
References blender::VectorSet< Key, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add(), LISTBASE_FOREACH, query_all_strips_recursive(), and SEQ_TYPE_META.
Referenced by query_all_strips_recursive(), and SEQ_query_all_strips_recursive().
|
static |
Definition at line 117 of file iterator.cc.
References blender::VectorSet< Key, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add(), LISTBASE_FOREACH, and SEQ_time_strip_intersects_frame().
Referenced by SEQ_query_rendered_strips().
| void SEQ_for_each_callback | ( | ListBase * | seqbase, |
| SeqForEachFunc | callback, | ||
| void * | user_data ) |
Utility function to recursively iterate through all sequence strips in a seqbase list. Uses callback to do operations on each sequence element. The callback can stop the iteration if needed.
| seqbase | ListBase of sequences to be iterated over. |
| callback | query function callback, returns false if iteration should stop. |
| user_data | pointer to user data that can be used in the callback function. |
Definition at line 43 of file iterator.cc.
References callback, and seq_for_each_recursive().
Referenced by blo_do_versions_250(), blo_do_versions_260(), blo_do_versions_270(), blo_do_versions_280(), blo_do_versions_300(), blo_do_versions_pre250(), blender::deg::DepsgraphNodeBuilder::build_scene_sequencer(), blender::deg::DepsgraphRelationBuilder::build_scene_sequencer(), do_versions_after_linking_300(), do_versions_after_linking_400(), do_versions_ipos_to_animato(), IMB_colormanagement_check_file_config(), blender::deg::SequencerBackup::init_from_scene(), blender::deg::SequencerBackup::restore_to_scene(), scene_foreach_id(), scene_foreach_path(), SEQ_blend_read(), SEQ_blend_write(), SEQ_doversion_250_sound_proxy_update(), SEQ_eval_sequences(), SEQ_relations_check_uids_unique_and_report(), SEQ_sequence_base_unique_name_recursive(), seq_update_scene_strip_sound(), sequencer_export_subtitles_exec(), and sound_update_animation_flags().
|
static |
Definition at line 27 of file iterator.cc.
References callback, LISTBASE_FOREACH, seq_for_each_recursive(), and SEQ_TYPE_META.
Referenced by SEQ_for_each_callback(), and seq_for_each_recursive().
| 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.
| seqbase | ListBase in which strips are queried |
| strips | set of strips to be expanded |
| seq_query_func | query 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().
Query all strips in seqbase. This does not include strips nested in meta strips.
| seqbase | ListBase in which strips are queried |
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().
Query all strips in seqbase and nested meta strips.
| seqbase | ListBase in which strips are queried |
Definition at line 90 of file iterator.cc.
References query_all_strips_recursive().
| 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.
| seq_reference | reference strip for query function |
| seqbase | ListBase in which strips are queried |
| seq_query_func | query function callback |
Definition at line 48 of file iterator.cc.
Referenced by SEQ_iterator_set_expand(), and seq_transform_handle_overwrite_trim().
| VectorSet< Sequence * > SEQ_query_rendered_strips | ( | const Scene * | scene, |
| ListBase * | channels, | ||
| ListBase * | seqbase, | ||
| int | timeline_frame, | ||
| int | displayed_channel ) |
Query strips that are rendered at timeline_frame when displayed channel is viewed
| seqbase | ListBase in which strips are queried |
| timeline_frame | viewed frame |
| displayed_channel | viewed channel. when set to 0, no channel filter is applied |
Definition at line 184 of file iterator.cc.
References collection_filter_channel_up_to_incl(), collection_filter_rendered_strips(), and query_strips_at_frame().
Referenced by all_strips_from_context(), createTransSeqImageData(), ED_sequencer_selected_strips_from_context(), gizmo2d_calc_bounds(), gizmo2d_calc_rotation(), gizmo2d_calc_transform_orientation(), gizmo2d_calc_transform_pivot(), query_snap_sources_preview(), query_snap_targets_preview(), seq_box_select_seq_from_preview(), seq_get_shown_sequences(), seq_get_strip_pivot_median(), seq_select_seq_from_preview(), sequencer_draw_preview(), and sequencer_drop_copy().
Query all selected strips in seqbase.
| seqbase | ListBase in which strips are queried |
Definition at line 106 of file iterator.cc.
References blender::VectorSet< Key, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add(), LISTBASE_FOREACH, and SELECT.
Referenced by ED_sequencer_selected_strips_from_context(), query_snap_sources_timeline(), query_time_dependent_strips_strips(), sequencer_connect_exec(), sequencer_disconnect_exec(), and sequencer_retiming_reset_exec().
| 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.
| seq_reference | reference strip |
| seqbase | ListBase in which strips are queried |
| strips | set 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().
Query all unselected strips in seqbase.
| seqbase | ListBase in which strips are queried |
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().