|
Blender
V2.93
|
#include "MEM_guardedalloc.h"#include "DNA_anim_types.h"#include "DNA_scene_types.h"#include "DNA_sequence_types.h"#include "BLI_listbase.h"#include "BLI_string.h"#include "BKE_animsys.h"#include "BKE_fcurve.h"#include "BKE_idprop.h"#include "BKE_lib_id.h"#include "BKE_sound.h"#include "DEG_depsgraph.h"#include "IMB_colormanagement.h"#include "IMB_imbuf.h"#include "SEQ_effects.h"#include "SEQ_iterator.h"#include "SEQ_modifier.h"#include "SEQ_relations.h"#include "SEQ_select.h"#include "SEQ_sequencer.h"#include "SEQ_utils.h"#include "image_cache.h"#include "prefetch.h"#include "sequencer.h"#include "utils.h"Go to the source code of this file.
Duplicate Functions | |
| #define | SEQ_RNAPATH_MAXSTR ((30 + 2 + (SEQ_NAME_MAXSTR * 2) + 2) + 1) |
| static void | seq_free_animdata (Scene *scene, Sequence *seq) |
| static Sequence * | seq_dupli (const Scene *scene_src, Scene *scene_dst, ListBase *new_seq_list, Sequence *seq, int dupe_flag, const int flag) |
| static Sequence * | sequence_dupli_recursive_do (const Scene *scene_src, Scene *scene_dst, ListBase *new_seq_list, Sequence *seq, const int dupe_flag) |
| Sequence * | SEQ_sequence_dupli_recursive (const Scene *scene_src, Scene *scene_dst, ListBase *new_seq_list, Sequence *seq, int dupe_flag) |
| void | SEQ_sequence_base_dupli_recursive (const Scene *scene_src, Scene *scene_dst, ListBase *nseqbase, const ListBase *seqbase, int dupe_flag, const int flag) |
| static size_t | sequencer_rna_path_prefix (char str[SEQ_RNAPATH_MAXSTR], const char *name) |
| void | SEQ_offset_animdata (Scene *scene, Sequence *seq, int ofs) |
| void | SEQ_dupe_animdata (Scene *scene, const char *name_src, const char *name_dst) |
| SequencerToolSettings * | SEQ_tool_settings_copy (SequencerToolSettings *tool_settings) |
| #define SEQ_RNAPATH_MAXSTR ((30 + 2 + (SEQ_NAME_MAXSTR * 2) + 2) + 1) |
Definition at line 608 of file sequencer.c.
Get seqbase that is being viewed currently. This can be main seqbase or meta strip seqbase
| ed | sequence editor data |
Definition at line 350 of file sequencer.c.
References NULL, and Editing::seqbasep.
Referenced by blo_do_versions_pre250(), createTransSeqData(), draw_timeline_seq(), ED_sequencer_deselect_all(), select_grouped_data(), select_grouped_effect(), select_grouped_effect_link(), select_grouped_time_overlap(), select_grouped_type(), select_grouped_type_basic(), select_grouped_type_effect(), select_linked_internal(), select_more_less_seq__internal(), seq_prefetch_frames(), seq_proxy_build_job(), sequencer_delete_exec(), sequencer_enable_proxies_exec(), sequencer_meta_make_exec(), sequencer_meta_separate_exec(), sequencer_rebuild_proxy_exec(), sequencer_select_exec(), sequencer_select_grouped_exec(), sequencer_select_side_of_frame_exec(), sequencer_split_exec(), sequencer_view_all_exec(), and strip_modifier_copy_exec().
| void SEQ_dupe_animdata | ( | Scene * | scene, |
| const char * | name_src, | ||
| const char * | name_dst | ||
| ) |
Definition at line 655 of file sequencer.c.
References AnimData::action, Scene::adt, BKE_animdata_fix_paths_rename(), BKE_fcurve_copy(), BLI_addtail(), BLI_movelisttolist(), bAction::curves, ListBase::first, Scene::id, ListBase::last, FCurve::next, NULL, FCurve::prev, FCurve::rna_path, scene, SEQ_RNAPATH_MAXSTR, sequencer_rna_path_prefix(), and STREQLEN.
Referenced by apply_unique_name_fn(), and seq_dupli().
|
static |
Definition at line 415 of file sequencer.c.
References StripProxy::anim, Sequence::anims, BKE_sound_scene_add_scene_sound_defaults(), BLI_addtail(), BLI_assert_unreachable, BLI_listbase_clear(), SeqEffectHandle::copy, Strip::crop, Scene::ed, ListBase::first, id_us_plus(), IDP_CopyProperty_ex(), LIB_ID_CREATE_NO_MAIN, LIB_ID_CREATE_NO_USER_REFCOUNT, MEM_dupallocN, Sequence::modifiers, Sequence::name, NULL, Sequence::prop, Strip::proxy, Sequence::scene_sound, SEQ_DUPE_ANIM, SEQ_dupe_animdata(), SEQ_DUPE_UNIQUE_NAME, SEQ_effect_handle_get(), SEQ_modifier_list_copy(), SEQ_relations_session_uuid_generate(), SEQ_sequence_base_unique_name_recursive(), SEQ_TYPE_EFFECT, SEQ_TYPE_IMAGE, SEQ_TYPE_MASK, SEQ_TYPE_META, SEQ_TYPE_MOVIE, SEQ_TYPE_MOVIECLIP, SEQ_TYPE_SCENE, SEQ_TYPE_SOUND_RAM, Sequence::seqbase, Editing::seqbase, Sequence::sound, Sequence::stereo3d_format, Sequence::strip, Strip::stripdata, Sequence::tmp, Strip::transform, and Sequence::type.
Referenced by SEQ_sequence_base_dupli_recursive(), and sequence_dupli_recursive_do().
Definition at line 240 of file sequencer.c.
References Editing::cache, Editing::cache_flag, Scene::ed, MEM_callocN, NULL, scene, SEQ_CACHE_STORE_FINAL_OUT, SEQ_CACHE_STORE_RAW, Editing::seqbase, and Editing::seqbasep.
Referenced by SEQ_editing_get().
| void SEQ_editing_free | ( | Scene * | scene, |
| const bool | do_id_user | ||
| ) |
Definition at line 255 of file sequencer.c.
References BLI_freelistN(), Scene::ed, MEM_freeN, Editing::metastack, NULL, scene, SEQ_ALL_BEGIN, SEQ_ALL_END, seq_cache_destruct(), seq_prefetch_free(), and seq_sequence_free_ex().
Referenced by BKE_scene_duplicate(), and scene_free_data().
Definition at line 232 of file sequencer.c.
References Scene::ed, scene, and SEQ_editing_ensure().
Referenced by animchan_sync_fcurve_scene(), blo_do_versions_290(), blender::ed::outliner::TreeDisplaySequencer::buildTree(), createTransSeqData(), do_versions_after_linking_290(), draw_timeline_seq(), ED_imbuf_sample_poll(), ED_sequencer_deselect_all(), ED_sequencer_select_sequence_single(), find_nearest_seq(), find_neighboring_sequence(), find_next_prev_sequence(), flushTransSeq(), freeSeqData(), proxy_endjob(), screen_ctx_selected_editable_sequences(), screen_ctx_selected_sequences(), screen_ctx_sequences(), select_linked_internal(), select_more_less_seq__internal(), seq_draw_sfra_efra(), SEQ_edit_move_strip_to_meta(), seq_effect_find_selected(), SEQ_get_seqbase_from_sequence(), seq_load_apply_generic_options(), seq_prefetch_frames(), seq_proxy_build_job(), SEQ_relations_check_scene_recursion(), seq_relations_find_and_invalidate_metas(), SEQ_relations_free_all_anim_ibufs(), SEQ_relations_update_changed_seq_and_deps(), SEQ_render_give_ibuf(), SEQ_select_active_get(), SEQ_select_active_get_pair(), SEQ_select_active_set(), SEQ_sort(), SEQ_time_find_next_prev_edit(), SEQ_time_update_sequence(), sequence_fn(), sequencer_add_duplicate_exec(), sequencer_add_effect_strip_exec(), sequencer_add_image_strip_exec(), sequencer_add_mask_strip_exec(), sequencer_add_movie_multiple_strips(), sequencer_add_movie_single_strip(), sequencer_add_movieclip_strip_exec(), sequencer_add_scene_strip_exec(), sequencer_add_sound_multiple_strips(), sequencer_add_sound_single_strip(), sequencer_box_select_exec(), sequencer_change_effect_input_exec(), sequencer_change_effect_type_exec(), sequencer_change_path_exec(), sequencer_copy_exec(), sequencer_de_select_all_exec(), sequencer_delete_exec(), sequencer_disable_one_time_properties(), sequencer_edit_poll(), sequencer_effect_poll(), sequencer_enable_proxies_exec(), sequencer_export_subtitles_exec(), sequencer_gap_insert_exec(), sequencer_gap_remove_exec(), sequencer_generic_invoke_xy_guess_channel(), sequencer_lock_exec(), sequencer_meta_make_exec(), sequencer_meta_separate_exec(), sequencer_meta_toggle_exec(), sequencer_mute_exec(), sequencer_offset_clear_exec(), sequencer_paste_exec(), sequencer_rebuild_proxy_exec(), sequencer_refresh_all_exec(), sequencer_reload_exec(), sequencer_select_exec(), sequencer_select_grouped_exec(), sequencer_select_handles_exec(), sequencer_select_inverse_exec(), sequencer_select_side_exec(), sequencer_select_side_of_frame_exec(), sequencer_separate_images_exec(), sequencer_set_range_to_strips_exec(), sequencer_slip_exec(), sequencer_slip_invoke(), sequencer_slip_modal(), sequencer_slip_recursively(), sequencer_snap_exec(), sequencer_split_exec(), sequencer_strip_has_path_poll(), sequencer_strip_is_text_poll(), sequencer_strip_transform_clear_exec(), sequencer_strip_transform_fit_exec(), sequencer_swap_exec(), sequencer_unlock_exec(), sequencer_unmute_exec(), sequencer_view_all_exec(), sequencer_view_preview_poll(), sequencer_view_selected_exec(), skip_fcurve_selected_data(), strip_modifier_active_poll(), tree_element_sequence_activate(), and tree_element_sequence_dup_activate().
Definition at line 688 of file sequencer.c.
References AnimData::action, Scene::adt, BKE_fcurve_free(), BLI_remlink(), bAction::curves, ListBase::first, Sequence::name, FCurve::next, NULL, FCurve::rna_path, scene, SEQ_RNAPATH_MAXSTR, sequencer_rna_path_prefix(), str, and STREQLEN.
Referenced by seq_sequence_free_ex().
Definition at line 220 of file sequencer.c.
References ListBase::first, Sequence::next, scene, seq_sequence_free_ex(), and Sequence::seqbase.
Referenced by SEQ_clipboard_free(), and SEQ_proxy_rebuild_finish().
|
static |
Definition at line 81 of file sequencer.c.
References StripProxy::anim, Strip::crop, IMB_free_anim(), MEM_freeN, Strip::proxy, Strip::stripdata, Strip::transform, and Strip::us.
Referenced by seq_sequence_free_ex().
Get MetaStack that corresponds to current level that is being viewed
| ed | sequence editor data |
Definition at line 405 of file sequencer.c.
References ListBase::last, and Editing::metastack.
Referenced by SEQ_time_update_sequence(), seq_update_meta_disp_range(), and sequencer_meta_toggle_exec().
Create and initialize MetaStack, append it to ed->metastack ListBase
| ed | sequence editor data |
| seq_meta | meta strip |
Definition at line 377 of file sequencer.c.
References BLI_addtail(), copy_v2_v2_int(), MetaStack::disp_range, MEM_mallocN, Editing::metastack, MetaStack::oldbasep, MetaStack::parseq, Editing::seqbasep, and Sequence::startdisp.
Referenced by sequencer_meta_toggle_exec().
Free MetaStack and remove it from ed->metastack ListBase.
| ed | sequence editor data |
| ms | meta stack |
Definition at line 393 of file sequencer.c.
References BLI_remlink(), MEM_freeN, and Editing::metastack.
Referenced by sequencer_meta_toggle_exec().
|
static |
Definition at line 279 of file sequencer.c.
References ListBase::first, SequenceModifierData::mask_sequence, Sequence::modifiers, Sequence::next, SequenceModifierData::next, Sequence::seq1, Sequence::seq2, Sequence::seq3, SEQ_TYPE_EFFECT, SEQ_TYPE_META, Sequence::seqbase, Sequence::tmp, and Sequence::type.
Referenced by SEQ_sequence_base_dupli_recursive(), and SEQ_sequence_dupli_recursive().
Definition at line 620 of file sequencer.c.
References AnimData::action, Scene::adt, FCurve::bezt, bAction::curves, DEG_id_tag_update(), ListBase::first, FCurve::fpt, bAction::id, ID_RECALC_ANIMATION, Sequence::name, FCurve::next, NULL, FCurve::rna_path, scene, SEQ_RNAPATH_MAXSTR, sequencer_rna_path_prefix(), str, STREQLEN, FCurve::totvert, FPoint::vec, and BezTriple::vec.
Referenced by SEQ_transform_translate_sequence(), sequencer_reassign_inputs_exec(), sequencer_snap_exec(), and trans_update_seq().
Set seqbase that is being viewed currently. This can be main seqbase or meta strip seqbase
| ed | sequence editor data |
| seqbase | ListBase with strips |
Definition at line 365 of file sequencer.c.
References Editing::seqbasep.
Referenced by seq_update_meta_disp_range(), and sequencer_meta_toggle_exec().
Definition at line 113 of file sequencer.c.
References Sequence::blend_opacity, BLI_addtail(), Sequence::flag, ID_SEQ, Sequence::machine, MEM_callocN, Sequence::mul, Sequence::name, NULL, Sequence::pitch, Sequence::sat, Sequence::scene_sound, SELECT, SEQ_relations_session_uuid_generate(), seq_strip_alloc(), Sequence::start, Sequence::stereo3d_format, Sequence::strip, type, Sequence::type, and Sequence::volume.
Referenced by SEQ_add_effect_strip(), SEQ_add_image_strip(), SEQ_add_mask_strip(), SEQ_add_meta_strip(), SEQ_add_movie_strip(), SEQ_add_movieclip_strip(), SEQ_add_scene_strip(), and sequencer_meta_make_exec().
| void SEQ_sequence_base_dupli_recursive | ( | const Scene * | scene_src, |
| Scene * | scene_dst, | ||
| ListBase * | nseqbase, | ||
| const ListBase * | seqbase, | ||
| int | dupe_flag, | ||
| const int | flag | ||
| ) |
Definition at line 559 of file sequencer.c.
References ListBase::first, Sequence::flag, Sequence::next, NULL, SELECT, SEQ_ALLSEL, SEQ_DUPE_ALL, SEQ_DUPE_CONTEXT, SEQ_DUPE_IS_RECURSIVE_CALL, seq_dupli(), SEQ_LEFTSEL, SEQ_LOCK, seq_new_fix_links_recursive(), SEQ_RIGHTSEL, SEQ_select_active_get(), SEQ_select_active_set(), SEQ_TYPE_META, Sequence::seqbase, Sequence::tmp, and Sequence::type.
Referenced by scene_copy_data(), sequencer_add_duplicate_exec(), sequencer_copy_exec(), and sequencer_paste_exec().
| Sequence* SEQ_sequence_dupli_recursive | ( | const Scene * | scene_src, |
| Scene * | scene_dst, | ||
| ListBase * | new_seq_list, | ||
| Sequence * | seq, | ||
| int | dupe_flag | ||
| ) |
Definition at line 548 of file sequencer.c.
References seq_new_fix_links_recursive(), and sequence_dupli_recursive_do().
Referenced by SEQ_edit_strip_split(), SEQ_proxy_rebuild_context(), and sequencer_separate_images_exec().
Definition at line 213 of file sequencer.c.
References scene, and seq_sequence_free_ex().
Referenced by SEQ_edit_remove_flagged_sequences(), and sequencer_separate_images_exec().
|
static |
Definition at line 143 of file sequencer.c.
References Editing::act_seq, BKE_sound_remove_scene_sound(), Scene::ed, ELEM, SeqEffectHandle::free, id_us_min(), IDP_FreePropertyContent_ex(), MEM_freeN, NULL, Sequence::prop, scene, Sequence::scene_sound, SEQ_effect_handle_get(), seq_free_animdata(), seq_free_strip(), SEQ_modifier_clear(), SEQ_relations_invalidate_cache_raw(), SEQ_relations_sequence_free_anim(), SEQ_TYPE_EFFECT, SEQ_TYPE_SCENE, SEQ_TYPE_SOUND_RAM, Sequence::sound, Sequence::stereo3d_format, Sequence::strip, and Sequence::type.
Referenced by SEQ_editing_free(), seq_free_sequence_recurse(), and SEQ_sequence_free().
|
static |
Definition at line 66 of file sequencer.c.
References Strip::crop, ELEM, MEM_callocN, StripTransform::scale_x, StripTransform::scale_y, SEQ_TYPE_SOUND_HD, SEQ_TYPE_SOUND_RAM, Strip::transform, type, and Strip::us.
Referenced by SEQ_sequence_alloc().
| SequencerToolSettings* SEQ_tool_settings_copy | ( | SequencerToolSettings * | tool_settings | ) |
Definition at line 719 of file sequencer.c.
References MEM_dupallocN.
Referenced by BKE_toolsettings_copy().
| SequencerToolSettings* SEQ_tool_settings_ensure | ( | Scene * | scene | ) |
Definition at line 316 of file sequencer.c.
References NULL, scene, SEQ_tool_settings_init(), ToolSettings::sequencer_tool_settings, and Scene::toolsettings.
Referenced by SEQ_tool_settings_fit_method_get(), and SEQ_tool_settings_fit_method_set().
| eSeqImageFitMethod SEQ_tool_settings_fit_method_get | ( | Scene * | scene | ) |
Definition at line 332 of file sequencer.c.
References SequencerToolSettings::fit_method, scene, and SEQ_tool_settings_ensure().
Referenced by sequencer_add_image_strip_invoke(), and sequencer_add_movie_strip_invoke().
| void SEQ_tool_settings_fit_method_set | ( | Scene * | scene, |
| eSeqImageFitMethod | fit_method | ||
| ) |
Definition at line 338 of file sequencer.c.
References SequencerToolSettings::fit_method, scene, and SEQ_tool_settings_ensure().
Referenced by load_data_init_from_operator().
| void SEQ_tool_settings_free | ( | SequencerToolSettings * | tool_settings | ) |
Definition at line 327 of file sequencer.c.
References MEM_freeN.
Referenced by BKE_toolsettings_free().
| SequencerToolSettings* SEQ_tool_settings_init | ( | void | ) |
Definition at line 308 of file sequencer.c.
References SequencerToolSettings::fit_method, MEM_callocN, and SEQ_SCALE_TO_FIT.
Referenced by blo_do_versions_290(), scene_init_data(), and SEQ_tool_settings_ensure().
|
static |
Definition at line 528 of file sequencer.c.
References ListBase::first, Sequence::next, NULL, seq_dupli(), SEQ_TYPE_META, Sequence::seqbase, Sequence::tmp, and Sequence::type.
Referenced by SEQ_sequence_dupli_recursive().
|
static |
Definition at line 610 of file sequencer.c.
References BLI_snprintf_rlen(), BLI_str_escape(), SEQ_NAME_MAXSTR, SEQ_RNAPATH_MAXSTR, and str.
Referenced by SEQ_dupe_animdata(), seq_free_animdata(), and SEQ_offset_animdata().