|
Blender V4.3
|
#include "DNA_scene_types.h"#include "DNA_sequence_types.h"#include "BLI_listbase.h"#include "BLI_math_base.h"#include "BLI_string.h"#include "BLI_string_utf8.h"#include "BLT_translation.hh"#include "BKE_sound.h"#include "strip_time.hh"#include "SEQ_add.hh"#include "SEQ_animation.hh"#include "SEQ_channels.hh"#include "SEQ_connect.hh"#include "SEQ_edit.hh"#include "SEQ_effects.hh"#include "SEQ_iterator.hh"#include "SEQ_relations.hh"#include "SEQ_render.hh"#include "SEQ_sequencer.hh"#include "SEQ_time.hh"#include "SEQ_transform.hh"#include "SEQ_utils.hh"#include <cstring>Go to the source code of this file.
Functions | |
| bool | SEQ_edit_sequence_swap (Scene *scene, Sequence *seq_a, Sequence *seq_b, const char **r_error_str) |
| static void | seq_update_muting_recursive (ListBase *channels, ListBase *seqbasep, Sequence *metaseq, const bool mute) |
| void | SEQ_edit_update_muting (Editing *ed) |
| static void | sequencer_flag_users_for_removal (Scene *scene, ListBase *seqbase, Sequence *seq) |
| void | SEQ_edit_flag_for_removal (Scene *scene, ListBase *seqbase, Sequence *seq) |
| void | SEQ_edit_remove_flagged_sequences (Scene *scene, ListBase *seqbase) |
| bool | SEQ_edit_move_strip_to_seqbase (Scene *scene, ListBase *seqbase, Sequence *seq, ListBase *dst_seqbase) |
| bool | SEQ_edit_move_strip_to_meta (Scene *scene, Sequence *src_seq, Sequence *dst_seqm, const char **r_error_str) |
| static void | seq_split_set_right_hold_offset (Main *bmain, Scene *scene, Sequence *seq, int timeline_frame) |
| static void | seq_split_set_left_hold_offset (Main *bmain, Scene *scene, Sequence *seq, int timeline_frame) |
| static bool | seq_edit_split_intersect_check (const Scene *scene, const Sequence *seq, const int timeline_frame) |
| static void | seq_edit_split_handle_strip_offsets (Main *bmain, Scene *scene, Sequence *left_seq, Sequence *right_seq, const int timeline_frame, const eSeqSplitMethod method) |
| static bool | seq_edit_split_effect_inputs_intersect (const Scene *scene, const Sequence *seq, const int timeline_frame) |
| static bool | seq_edit_split_operation_permitted_check (const Scene *scene, blender::Span< Sequence * > strips, const int timeline_frame, const char **r_error) |
| Sequence * | SEQ_edit_strip_split (Main *bmain, Scene *scene, ListBase *seqbase, Sequence *seq, const int timeline_frame, const eSeqSplitMethod method, const char **r_error) |
| bool | SEQ_edit_remove_gaps (Scene *scene, ListBase *seqbase, const int initial_frame, const bool remove_all_gaps) |
| void | SEQ_edit_sequence_name_set (Scene *scene, Sequence *seq, const char *new_name) |
Flag seq and its users (effects) for removal.
Definition at line 164 of file strip_edit.cc.
References Sequence::flag, LISTBASE_FOREACH, SEQ_edit_flag_for_removal(), SEQ_FLAG_DELETE, SEQ_TYPE_META, Sequence::seqbase, sequencer_flag_users_for_removal(), and Sequence::type.
Referenced by SEQ_edit_flag_for_removal(), SEQ_edit_strip_split(), seq_transform_handle_overwrite(), seq_transform_handle_overwrite_split(), sequencer_delete_exec(), sequencer_meta_separate_exec(), and sequencer_separate_images_exec().
| bool SEQ_edit_move_strip_to_meta | ( | Scene * | scene, |
| Sequence * | src_seq, | ||
| Sequence * | dst_seqm, | ||
| const char ** | r_error_str ) |
Move sequence to meta sequence.
| scene | Scene containing the editing |
| src_seq | Sequence to move |
| dst_seqm | Target Meta sequence |
| r_error_str | Error message |
Definition at line 214 of file strip_edit.cc.
References blender::VectorSet< Key, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add(), N_, SEQ_edit_move_strip_to_seqbase(), SEQ_editing_get(), SEQ_exists_in_seqbase(), SEQ_get_seqbase_by_seq(), SEQ_iterator_set_expand(), SEQ_query_strip_effect_chain(), SEQ_TYPE_META, Editing::seqbase, Sequence::seqbase, and Sequence::type.
| bool SEQ_edit_move_strip_to_seqbase | ( | Scene * | scene, |
| ListBase * | seqbase, | ||
| Sequence * | seq, | ||
| ListBase * | dst_seqbase ) |
Move sequence to seqbase.
| scene | Scene containing the editing |
| seqbase | seqbase where seq is located |
| seq | Sequence to move |
| dst_seqbase | Target seqbase |
Definition at line 196 of file strip_edit.cc.
References BLI_addtail(), BLI_remlink(), SEQ_relations_invalidate_cache_preprocessed(), SEQ_transform_seqbase_shuffle(), and SEQ_transform_test_overlap().
Referenced by SEQ_edit_move_strip_to_meta().
Remove all flagged sequences, return true if sequence is removed.
Definition at line 181 of file strip_edit.cc.
References BLI_remlink(), LISTBASE_FOREACH_MUTABLE, SEQ_edit_remove_flagged_sequences(), SEQ_FLAG_DELETE, SEQ_free_animdata(), SEQ_sequence_free(), SEQ_sequence_lookup_invalidate(), and SEQ_TYPE_META.
Referenced by SEQ_edit_remove_flagged_sequences(), SEQ_edit_strip_split(), seq_transform_handle_overwrite(), seq_transform_handle_overwrite_split(), sequencer_delete_exec(), sequencer_meta_separate_exec(), and sequencer_separate_images_exec().
| bool SEQ_edit_remove_gaps | ( | Scene * | scene, |
| ListBase * | seqbase, | ||
| int | initial_frame, | ||
| bool | remove_all_gaps ) |
Find gap after initial_frame and move strips on right side to close the gap
| scene | Scene in which strips are located |
| seqbase | ListBase in which strips are located |
| initial_frame | frame on timeline from where gaps are searched for |
| remove_all_gaps | remove all gaps instead of one gap |
Definition at line 497 of file strip_edit.cc.
References GapInfo::gap_exists, GapInfo::gap_length, GapInfo::gap_start_frame, seq_time_gap_info_get(), and SEQ_transform_offset_after_frame().
Referenced by sequencer_gap_remove_exec().
Definition at line 523 of file strip_edit.cc.
References BLI_str_utf8_invalid_strip(), BLI_strncpy_utf8(), MAX_NAME, Sequence::name, and SEQ_sequence_lookup_invalidate().
Referenced by seq_add_set_name(), and SEQ_sequence_base_unique_name_recursive().
| bool SEQ_edit_sequence_swap | ( | Scene * | scene, |
| Sequence * | seq_a, | ||
| Sequence * | seq_b, | ||
| const char ** | r_error_str ) |
Definition at line 42 of file strip_edit.cc.
References Sequence::blend_mode, Sequence::blend_opacity, BLI_strncpy(), Sequence::endofs, Sequence::machine, N_, Sequence::name, Sequence::next, Sequence::prev, SEQ_effect_get_num_inputs(), seq_time_effect_range_set(), SEQ_time_strip_length_get(), SEQ_TYPE_EFFECT, SEQ_TYPE_SOUND_RAM, Sequence::start, Sequence::startofs, STRNCPY, and Sequence::type.
Referenced by sequencer_swap_data_exec().
|
static |
Definition at line 351 of file strip_edit.cc.
References Sequence::seq1, Sequence::seq2, seq_edit_split_effect_inputs_intersect(), seq_edit_split_intersect_check(), SEQ_TYPE_EFFECT, and Sequence::type.
Referenced by seq_edit_split_effect_inputs_intersect(), and seq_edit_split_operation_permitted_check().
|
static |
Definition at line 321 of file strip_edit.cc.
References seq_edit_split_intersect_check(), SEQ_SPLIT_HARD, seq_split_set_left_hold_offset(), seq_split_set_right_hold_offset(), SEQ_SPLIT_SOFT, SEQ_time_left_handle_frame_set(), and SEQ_time_right_handle_frame_set().
Referenced by SEQ_edit_strip_split().
|
static |
Definition at line 313 of file strip_edit.cc.
References SEQ_time_left_handle_frame_get(), and SEQ_time_right_handle_frame_get().
Referenced by seq_edit_split_effect_inputs_intersect(), seq_edit_split_handle_strip_offsets(), seq_edit_split_operation_permitted_check(), and SEQ_edit_strip_split().
|
static |
Definition at line 373 of file strip_edit.cc.
References ELEM, SEQ_channels_displayed_get(), seq_edit_split_effect_inputs_intersect(), seq_edit_split_intersect_check(), SEQ_editing_get(), SEQ_effect_get_num_inputs(), SEQ_transform_is_locked(), SEQ_TYPE_CROSS, SEQ_TYPE_EFFECT, SEQ_TYPE_GAMCROSS, and SEQ_TYPE_WIPE.
Referenced by SEQ_edit_strip_split().
| Sequence * SEQ_edit_strip_split | ( | Main * | bmain, |
| Scene * | scene, | ||
| ListBase * | seqbase, | ||
| Sequence * | seq, | ||
| int | timeline_frame, | ||
| eSeqSplitMethod | method, | ||
| const char ** | r_error ) |
Split Sequence at timeline_frame in two.
| bmain | Main in which Sequence is located |
| scene | Scene in which Sequence is located |
| seqbase | ListBase in which Sequence is located |
| seq | Sequence to be split |
| timeline_frame | frame at which seq is split. |
| method | affects type of offset to be applied to resize Sequence |
Definition at line 405 of file strip_edit.cc.
References blender::VectorSet< Key, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add(), blender::VectorSet< Key, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add_multiple(), BLI_addtail(), BLI_movelisttolist(), BLI_remlink(), ListBase::first, Sequence::flag, Sequence::next, SELECT, SEQ_animation_backup_original(), SEQ_animation_duplicate_backup_to_scene(), SEQ_animation_restore_original(), SEQ_DUPE_ALL, SEQ_edit_flag_for_removal(), SEQ_edit_remove_flagged_sequences(), seq_edit_split_handle_strip_offsets(), seq_edit_split_intersect_check(), seq_edit_split_operation_permitted_check(), SEQ_ensure_unique_name(), SEQ_get_connected_strips(), SEQ_iterator_set_expand(), SEQ_query_strip_effect_chain(), SEQ_sequence_base_dupli_recursive(), SEQ_time_left_handle_frame_get(), and SEQ_time_right_handle_frame_get().
Referenced by seq_transform_handle_overwrite_split(), and sequencer_split_exec().
| void SEQ_edit_update_muting | ( | Editing * | ed | ) |
Definition at line 125 of file strip_edit.cc.
References Editing::channels, ListBase::last, Editing::metastack, MetaStack::parseq, seq_update_muting_recursive(), and Editing::seqbase.
Referenced by SEQ_eval_sequences().
|
static |
Definition at line 286 of file strip_edit.cc.
References Sequence::anim_startofs, Sequence::endofs, round_fl_to_int(), SEQ_add_reload_new_file(), SEQ_time_content_end_frame_get(), SEQ_time_left_handle_frame_set(), SEQ_time_media_playback_rate_factor_get(), SEQ_time_start_frame_get(), Sequence::start, and Sequence::startofs.
Referenced by seq_edit_split_handle_strip_offsets().
|
static |
Definition at line 260 of file strip_edit.cc.
References Sequence::anim_endofs, Sequence::endofs, round_fl_to_int(), SEQ_add_reload_new_file(), SEQ_time_content_end_frame_get(), SEQ_time_media_playback_rate_factor_get(), SEQ_time_right_handle_frame_set(), SEQ_time_start_frame_get(), Sequence::start, and Sequence::startofs.
Referenced by seq_edit_split_handle_strip_offsets().
|
static |
Definition at line 98 of file strip_edit.cc.
References BKE_sound_mute_scene_sound(), ELEM, LISTBASE_FOREACH, SEQ_render_is_muted(), SEQ_TYPE_META, SEQ_TYPE_SCENE, SEQ_TYPE_SOUND_RAM, and seq_update_muting_recursive().
Referenced by SEQ_edit_update_muting(), and seq_update_muting_recursive().
|
static |
Definition at line 140 of file strip_edit.cc.
References LISTBASE_FOREACH, SEQ_FLAG_DELETE, SEQ_relation_is_effect_of_strip(), SEQ_TYPE_META, and sequencer_flag_users_for_removal().
Referenced by SEQ_edit_flag_for_removal(), and sequencer_flag_users_for_removal().