|
Blender V4.3
|
#include "DNA_scene_types.h"#include "DNA_sequence_types.h"#include "BLI_ghash.h"#include "BLI_listbase.h"#include "BLI_math_base.h"#include "BLI_session_uid.h"#include "BKE_main.hh"#include "BKE_report.hh"#include "DEG_depsgraph.hh"#include "IMB_imbuf.hh"#include "SEQ_iterator.hh"#include "SEQ_prefetch.hh"#include "SEQ_relations.hh"#include "SEQ_sequencer.hh"#include "SEQ_time.hh"#include "SEQ_utils.hh"#include "effects.hh"#include "image_cache.hh"#include "utils.hh"Go to the source code of this file.
|
static |
Definition at line 416 of file strip_relations.cc.
References BLI_gset_insert(), BLI_gset_lookup(), BLI_session_uid_is_generated(), Sequence::name, printf, Sequence::runtime, and SequenceRuntime::session_uid.
Referenced by SEQ_relations_check_uids_unique_and_report().
|
static |
Definition at line 221 of file strip_relations.cc.
References ListBase::first, invalidate_movieclip_strips(), and SEQ_relations_invalidate_cache_raw().
Referenced by invalidate_movieclip_strips(), and SEQ_relations_invalidate_movieclip_strips().
|
static |
Definition at line 197 of file strip_relations.cc.
References ListBase::first, invalidate_scene_strips(), and SEQ_relations_invalidate_cache_raw().
Referenced by invalidate_scene_strips(), and SEQ_relations_invalidate_scene_strips().
Definition at line 465 of file strip_relations.cc.
References LISTBASE_FOREACH, SEQ_exists_in_seqbase(), SEQ_TYPE_META, and Sequence::seqbase.
Referenced by SEQ_edit_move_strip_to_meta(), and SEQ_exists_in_seqbase().
Return immediate parent meta of sequence.
Definition at line 448 of file strip_relations.cc.
References LISTBASE_FOREACH, and SEQ_find_metastrip_by_sequence().
Referenced by do_adjustment_impl(), and SEQ_find_metastrip_by_sequence().
Check if one sequence is input to the other.
Definition at line 37 of file strip_relations.cc.
References ELEM, Sequence::seq1, and Sequence::seq2.
Referenced by must_render_strip(), query_strip_effects_fn(), select_grouped_effect(), seq_relations_check_depend(), sequencer_flag_users_for_removal(), and shuffle_seq_time_offset_get().
|
static |
Definition at line 43 of file strip_relations.cc.
References Sequence::blend_mode, Sequence::blend_opacity, Sequence::machine, SEQ_BLEND_REPLACE, SEQ_relation_is_effect_of_strip(), SEQ_time_left_handle_frame_get(), SEQ_time_right_handle_frame_get(), SEQ_TYPE_CROSS, SEQ_TYPE_EFFECT, and Sequence::type.
Referenced by sequence_do_invalidate_dependent().
| bool SEQ_relations_check_scene_recursion | ( | Scene * | scene, |
| ReportList * | reports ) |
Definition at line 342 of file strip_relations.cc.
References BKE_reportf(), LISTBASE_FOREACH, Sequence::name, RPT_WARNING, SEQ_editing_get(), SEQ_time_left_handle_frame_get(), SEQ_TYPE_SCENE, Editing::seqbase, sequencer_check_scene_recursion(), and sequencer_seq_generates_image().
Referenced by screen_render_invoke().
| void SEQ_relations_check_uids_unique_and_report | ( | const Scene * | scene | ) |
A debug and development function which checks whether sequences have unique UIDs. Errors will be reported to the console.
Definition at line 434 of file strip_relations.cc.
References BLI_gset_free(), BLI_gset_new(), BLI_session_uid_ghash_compare(), BLI_session_uid_ghash_hash(), get_uids_cb(), and SEQ_for_each_callback().
|
static |
Definition at line 121 of file strip_relations.cc.
References LISTBASE_FOREACH, SEQ_CACHE_ALL_TYPES, SEQ_editing_get(), seq_relations_find_and_invalidate_metas(), SEQ_TYPE_META, Editing::seqbase, Sequence::seqbase, and sequence_invalidate_cache().
Referenced by seq_relations_find_and_invalidate_metas(), SEQ_relations_invalidate_cache_composite(), SEQ_relations_invalidate_cache_in_range(), SEQ_relations_invalidate_cache_preprocessed(), SEQ_relations_invalidate_cache_raw(), and SEQ_relations_invalidate_dependent().
Release FFmpeg handles of strips that are not currently displayed to minimize memory usage.
Definition at line 308 of file strip_relations.cc.
References MAXFRAME, SEQ_editing_get(), Editing::seqbase, and sequencer_all_free_anim_ibufs().
Referenced by SEQ_render_give_ibuf().
Definition at line 245 of file strip_relations.cc.
References LISTBASE_FOREACH, SEQ_cache_cleanup(), seq_effect_speed_rebuild_map(), SEQ_prefetch_stop(), SEQ_relations_free_imbuf(), SEQ_relations_sequence_free_anim(), SEQ_time_strip_intersects_frame(), SEQ_TYPE_META, SEQ_TYPE_MOVIE, SEQ_TYPE_SCENE, and SEQ_TYPE_SPEED.
Referenced by do_render_sequencer(), proxy_endjob(), SEQ_relations_free_imbuf(), sequencer_rebuild_proxy_exec(), and sequencer_refresh_all_exec().
Definition at line 175 of file strip_relations.cc.
References SEQ_CACHE_STORE_COMPOSITE, SEQ_CACHE_STORE_FINAL_OUT, seq_relations_find_and_invalidate_metas(), SEQ_TYPE_SOUND_RAM, sequence_invalidate_cache(), and Sequence::type.
Referenced by recalcData_sequencer(), seq_add_generic_update(), and sequencer_snap_exec().
| void SEQ_relations_invalidate_cache_in_range | ( | Scene * | scene, |
| Sequence * | seq, | ||
| Sequence * | range_mask, | ||
| int | invalidate_types ) |
Definition at line 150 of file strip_relations.cc.
References seq_cache_cleanup_sequence(), and seq_relations_find_and_invalidate_metas().
Definition at line 165 of file strip_relations.cc.
References SEQ_CACHE_STORE_COMPOSITE, SEQ_CACHE_STORE_FINAL_OUT, SEQ_CACHE_STORE_PREPROCESSED, seq_relations_find_and_invalidate_metas(), and sequence_invalidate_cache().
Referenced by recalcData_sequencer_image(), recalcData_sequencer_retiming(), SEQ_edit_move_strip_to_seqbase(), SEQ_transform_offset_after_frame(), sequencer_change_effect_input_exec(), sequencer_change_effect_type_exec(), sequencer_meta_make_exec(), sequencer_meta_separate_exec(), sequencer_offset_clear_exec(), sequencer_reassign_inputs_exec(), sequencer_rendersize_exec(), sequencer_slip_strips(), sequencer_strip_transform_clear_exec(), sequencer_strip_transform_fit_exec(), sequencer_swap_inputs_exec(), strip_modifier_add_exec(), strip_modifier_copy_exec(), strip_modifier_equalizer_redefine_exec(), strip_modifier_move_exec(), strip_modifier_remove_exec(), and swap_sequence().
Definition at line 159 of file strip_relations.cc.
References SEQ_CACHE_ALL_TYPES, seq_relations_find_and_invalidate_metas(), and sequence_invalidate_cache().
Referenced by ED_scene_sequencer_add(), freeze_frame_add_from_retiming_selection(), freeze_frame_add_from_strip_selection(), freeze_frame_add_new_for_seq(), invalidate_movieclip_strips(), invalidate_scene_strips(), segment_speed_set_exec(), SEQ_add_reload_new_file(), seq_sequence_free_ex(), sequencer_change_path_exec(), sequencer_change_scene_exec(), sequencer_retiming_key_delete_exec(), sequencer_scene_frame_range_update_exec(), sequencer_swap_data_exec(), strip_speed_set_exec(), and transition_add_new_for_seq().
Definition at line 186 of file strip_relations.cc.
References SEQ_CACHE_STORE_COMPOSITE, SEQ_CACHE_STORE_FINAL_OUT, seq_relations_find_and_invalidate_metas(), SEQ_TYPE_SOUND_RAM, sequence_invalidate_cache(), and Sequence::type.
Referenced by blender::ed::outliner::sequence_fn(), sequencer_mute_exec(), and sequencer_unmute_exec().
Definition at line 234 of file strip_relations.cc.
References ListBase::first, invalidate_movieclip_strips(), and Main::scenes.
Definition at line 210 of file strip_relations.cc.
References Scene::ed, ListBase::first, invalidate_scene_strips(), Main::scenes, and Editing::seqbase.
Check if "seq_main" (indirectly) uses strip "seq".
Definition at line 371 of file strip_relations.cc.
References LISTBASE_FOREACH, Sequence::modifiers, Sequence::seq1, Sequence::seq2, and SEQ_relations_render_loop_check().
Referenced by seq_prefetch_scene_strip_is_rendered(), SEQ_relations_render_loop_check(), and sequencer_reassign_inputs_exec().
| void SEQ_relations_sequence_free_anim | ( | Sequence * | seq | ) |
Function to free imbuf and anim data on changes.
Definition at line 396 of file strip_relations.cc.
References StripAnim::anim, Sequence::anims, BLI_freelinkN(), BLI_listbase_clear(), IMB_free_anim(), and ListBase::last.
Referenced by open_anim_file_multiview(), SEQ_add_reload_new_file(), seq_open_anim_file(), SEQ_proxy_rebuild_context(), SEQ_relations_free_imbuf(), seq_sequence_free_ex(), sequencer_all_free_anim_ibufs(), and sequencer_change_path_exec().
| void SEQ_relations_session_uid_generate | ( | Sequence * | sequence | ) |
Generate new UID for the given sequence.
Definition at line 411 of file strip_relations.cc.
References BLI_session_uid_generate(), Sequence::runtime, and SequenceRuntime::session_uid.
Referenced by seq_dupli(), seq_read_data_cb(), and SEQ_sequence_alloc().
|
static |
Definition at line 74 of file strip_relations.cc.
References LISTBASE_FOREACH, SEQ_CACHE_ALL_TYPES, seq_cache_cleanup_sequence(), SEQ_CACHE_STORE_COMPOSITE, SEQ_CACHE_STORE_FINAL_OUT, seq_relations_check_depend(), SEQ_TYPE_EFFECT, Sequence::seqbase, and sequence_do_invalidate_dependent().
Referenced by sequence_do_invalidate_dependent(), and sequence_invalidate_cache().
|
static |
Definition at line 99 of file strip_relations.cc.
References DEG_id_tag_update(), Sequence::effectdata, ID_RECALC_SEQUENCER_STRIPS, blender::seq::media_presence_invalidate_strip(), seq_cache_cleanup_sequence(), seq_effect_speed_rebuild_map(), SEQ_prefetch_stop(), SEQ_TYPE_SPEED, Editing::seqbase, sequence_do_invalidate_dependent(), and Sequence::type.
Referenced by seq_relations_find_and_invalidate_metas(), SEQ_relations_invalidate_cache_composite(), SEQ_relations_invalidate_cache_preprocessed(), SEQ_relations_invalidate_cache_raw(), and SEQ_relations_invalidate_dependent().
|
static |
Definition at line 277 of file strip_relations.cc.
References ListBase::first, max_ii(), MAXFRAME, min_ii(), MetaStack::parseq, SEQ_editing_get(), SEQ_meta_stack_active_get(), SEQ_relations_sequence_free_anim(), SEQ_time_left_handle_frame_get(), SEQ_time_right_handle_frame_get(), SEQ_time_strip_intersects_frame(), SEQ_TYPE_META, and sequencer_all_free_anim_ibufs().
Referenced by SEQ_relations_free_all_anim_ibufs(), and sequencer_all_free_anim_ibufs().
Definition at line 319 of file strip_relations.cc.
References LISTBASE_FOREACH, SEQ_SCENE_STRIPS, SEQ_TYPE_META, SEQ_TYPE_SCENE, and sequencer_check_scene_recursion().
Referenced by SEQ_relations_check_scene_recursion(), and sequencer_check_scene_recursion().