Blender V4.3
SEQ_sequencer.hh File Reference
#include "DNA_scene_types.h"

Go to the source code of this file.

Macros

#define SEQ_DUPE_UNIQUE_NAME   (1 << 0)
 
#define SEQ_DUPE_ALL   (1 << 3) /* otherwise only selected are copied */
 
#define SEQ_DUPE_IS_RECURSIVE_CALL   (1 << 4)
 

Enumerations

enum  {
  SEQ_SIDE_MOUSE = -1 , SEQ_SIDE_NONE = 0 , SEQ_SIDE_LEFT , SEQ_SIDE_RIGHT ,
  SEQ_SIDE_BOTH , SEQ_SIDE_NO_CHANGE
}
 

Functions

SequencerToolSettingsSEQ_tool_settings_init ()
 
SequencerToolSettingsSEQ_tool_settings_ensure (Scene *scene)
 
void SEQ_tool_settings_free (SequencerToolSettings *tool_settings)
 
eSeqImageFitMethod SEQ_tool_settings_fit_method_get (Scene *scene)
 
void SEQ_tool_settings_fit_method_set (Scene *scene, eSeqImageFitMethod fit_method)
 
short SEQ_tool_settings_snap_flag_get (Scene *scene)
 
short SEQ_tool_settings_snap_mode_get (Scene *scene)
 
int SEQ_tool_settings_snap_distance_get (Scene *scene)
 
eSeqOverlapMode SEQ_tool_settings_overlap_mode_get (Scene *scene)
 
int SEQ_tool_settings_pivot_point_get (Scene *scene)
 
SequencerToolSettingsSEQ_tool_settings_copy (SequencerToolSettings *tool_settings)
 
EditingSEQ_editing_get (const Scene *scene)
 
EditingSEQ_editing_ensure (Scene *scene)
 
void SEQ_editing_free (Scene *scene, bool do_id_user)
 
ListBaseSEQ_active_seqbase_get (const Editing *ed)
 
void SEQ_seqbase_active_set (Editing *ed, ListBase *seqbase)
 
SequenceSEQ_sequence_alloc (ListBase *lb, int timeline_frame, int machine, int type)
 
void SEQ_sequence_free (Scene *scene, Sequence *seq)
 
MetaStackSEQ_meta_stack_active_get (const Editing *ed)
 
void SEQ_meta_stack_set (const Scene *scene, Sequence *dst_seq)
 
SequenceSEQ_meta_stack_pop (Editing *ed)
 
SequenceSEQ_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, int flag)
 
bool SEQ_is_valid_strip_channel (const Sequence *seq)
 
void SEQ_blend_write (BlendWriter *writer, ListBase *seqbase)
 
void SEQ_blend_read (BlendDataReader *reader, ListBase *seqbase)
 
void SEQ_doversion_250_sound_proxy_update (Main *bmain, Editing *ed)
 
void SEQ_eval_sequences (Depsgraph *depsgraph, Scene *scene, ListBase *seqbase)
 
SequenceSEQ_sequence_lookup_seq_by_name (const Scene *scene, const char *key)
 
SequenceSEQ_sequence_lookup_owner_by_channel (const Scene *scene, const SeqTimelineChannel *channel)
 
void SEQ_sequence_lookup_free (const Scene *scene)
 
void SEQ_sequence_lookup_invalidate (const Scene *scene)
 

Variables

constexpr int SEQ_MAX_CHANNELS = 128
 

Macro Definition Documentation

◆ SEQ_DUPE_ALL

#define SEQ_DUPE_ALL   (1 << 3) /* otherwise only selected are copied */

◆ SEQ_DUPE_IS_RECURSIVE_CALL

#define SEQ_DUPE_IS_RECURSIVE_CALL   (1 << 4)

Definition at line 39 of file SEQ_sequencer.hh.

Referenced by SEQ_sequence_base_dupli_recursive().

◆ SEQ_DUPE_UNIQUE_NAME

#define SEQ_DUPE_UNIQUE_NAME   (1 << 0)

Definition at line 37 of file SEQ_sequencer.hh.

Referenced by seq_dupli(), and sequencer_separate_images_exec().

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
SEQ_SIDE_MOUSE 
SEQ_SIDE_NONE 
SEQ_SIDE_LEFT 
SEQ_SIDE_RIGHT 
SEQ_SIDE_BOTH 
SEQ_SIDE_NO_CHANGE 

Definition at line 27 of file SEQ_sequencer.hh.

Function Documentation

◆ SEQ_active_seqbase_get()

ListBase * SEQ_active_seqbase_get ( const Editing * ed)

Get seqbase that is being viewed currently. This can be main seqbase or meta strip seqbase

Parameters
edsequence editor data
Returns
pointer to active seqbase. returns NULL if ed is NULL

Definition at line 416 of file sequencer.cc.

References Editing::seqbasep.

Referenced by all_strips_from_context(), blo_do_versions_pre250(), channel_draw_context_init(), createTransSeqData(), createTransSeqImageData(), draw_timeline_seq_display(), ED_sequencer_deselect_all(), ED_sequencer_selected_strips_from_context(), freeSeqData(), gizmo2d_calc_bounds(), gizmo2d_calc_rotation(), gizmo2d_calc_transform_orientation(), gizmo2d_calc_transform_pivot(), query_snap_sources_timeline(), query_snap_targets_timeline(), recalcData_sequencer_retiming(), retiming_key_overlap(), segment_speed_set_exec(), select_linked_internal(), select_linked_time_seq(), select_more_less_seq__internal(), seq_box_select_seq_from_preview(), seq_frame_apply_snap(), seq_get_strip_pivot_median(), seq_prefetch_frames(), seq_proxy_build_job(), seq_select_seq_from_preview(), seq_transform_cancel(), seq_view_collection_rect_timeline(), seqbase_active_get(), sequencer_connect_exec(), sequencer_delete_exec(), sequencer_disconnect_exec(), sequencer_drop_copy(), sequencer_enable_proxies_exec(), sequencer_meta_make_exec(), sequencer_meta_separate_exec(), sequencer_rebuild_proxy_exec(), sequencer_select_grouped_exec(), sequencer_select_side_of_frame(), sequencer_select_side_of_frame_exec(), sequencer_separate_images_exec(), sequencer_split_exec(), sequencer_swap_exec(), sequencer_view_all_exec(), strip_modifier_copy_exec(), and strip_speed_set_exec().

◆ SEQ_blend_read()

void SEQ_blend_read ( BlendDataReader * reader,
ListBase * seqbase )

Definition at line 922 of file sequencer.cc.

References SEQ_for_each_callback(), and seq_read_data_cb().

Referenced by scene_blend_read_data().

◆ SEQ_blend_write()

void SEQ_blend_write ( BlendWriter * writer,
ListBase * seqbase )

Read and Write functions for .blend file data.

Definition at line 803 of file sequencer.cc.

References SEQ_for_each_callback(), seq_set_strip_done_cb(), and seq_write_data_cb().

Referenced by scene_blend_write().

◆ SEQ_doversion_250_sound_proxy_update()

void SEQ_doversion_250_sound_proxy_update ( Main * bmain,
Editing * ed )

◆ SEQ_editing_ensure()

◆ SEQ_editing_free()

◆ SEQ_editing_get()

Editing * SEQ_editing_get ( const Scene * scene)

Definition at line 262 of file sequencer.cc.

Referenced by all_strips_from_context(), animchan_sync_fcurve_scene(), blo_do_versions_290(), blo_do_versions_300(), blender::ed::outliner::TreeDisplaySequencer::build_tree(), change_frame_apply(), channel_draw_context_init(), createTransSeqData(), createTransSeqImageData(), createTransSeqRetimingData(), do_versions_after_linking_300(), do_versions_after_linking_400(), draw_channels(), draw_timeline_seq_display(), draw_timeline_sfra_efra(), ED_imbuf_sample_poll(), ED_sequencer_can_select_handle(), ED_sequencer_deselect_all(), ED_sequencer_select_sequence_single(), ED_sequencer_selected_strips_from_context(), find_nearest_seq(), find_neighboring_sequence(), find_next_prev_sequence(), freeSeqData(), freeSeqData(), freeze_frame_add_from_retiming_selection(), gizmo2d_calc_bounds(), gizmo2d_calc_rotation(), gizmo2d_calc_transform_orientation(), gizmo2d_calc_transform_pivot(), gizmo2d_generic_poll(), mouseover_strips_sorted_get(), proxy_endjob(), query_snap_sources_preview(), query_snap_sources_timeline(), query_snap_targets_preview(), query_snap_targets_timeline(), recalcData_sequencer_retiming(), retiming_key_add_to_editable_strips(), retiming_key_overlap(), retiming_poll(), screen_ctx_selected_editable_sequences(), screen_ctx_selected_sequences(), screen_ctx_sequences(), segment_speed_set_exec(), select_linked_internal(), select_linked_time(), select_more_less_seq__internal(), seq_box_select_seq_from_preview(), SEQ_edit_move_strip_to_meta(), seq_edit_split_operation_permitted_check(), seq_effect_find_selected(), seq_frame_apply_snap(), SEQ_get_seqbase_by_seq(), SEQ_get_seqbase_from_sequence(), seq_get_strip_pivot_median(), seq_get_text_strip_cb(), seq_load_apply_generic_options(), seq_load_apply_generic_options_only_test_overlap(), seq_meta_stack_alloc(), SEQ_meta_stack_set(), seq_prefetch_frames(), seq_prefetch_update_active_seqbase(), seq_proxy_build_job(), seq_proxy_get_filepath(), SEQ_relations_check_scene_recursion(), seq_relations_find_and_invalidate_metas(), SEQ_relations_free_all_anim_ibufs(), SEQ_render_give_ibuf(), seq_retiming_transition_offset(), SEQ_select_active_get(), SEQ_select_active_get_pair(), SEQ_select_active_set(), seq_select_seq_from_preview(), seq_sequence_lookup_build(), SEQ_time_find_next_prev_edit(), seq_transform_cancel(), seq_update_meta_disp_range(), seq_view_collection_rect_timeline(), seqbase_active_get(), SeqTransInfo(), blender::ed::outliner::sequence_fn(), sequencer_add_duplicate_exec(), sequencer_all_free_anim_ibufs(), sequencer_box_select_exec(), sequencer_clipboard_copy_exec(), sequencer_connect_exec(), sequencer_delete_exec(), sequencer_disable_one_time_properties(), sequencer_disconnect_exec(), sequencer_draw_preview(), sequencer_edit_poll(), sequencer_effect_poll(), sequencer_enable_proxies_exec(), sequencer_export_subtitles_exec(), sequencer_gap_insert_exec(), sequencer_gap_remove_exec(), sequencer_lock_exec(), sequencer_main_clamp_view(), sequencer_main_cursor(), sequencer_meta_make_exec(), sequencer_meta_separate_exec(), sequencer_meta_toggle_exec(), sequencer_mute_exec(), sequencer_offset_clear_exec(), sequencer_rebuild_proxy_exec(), sequencer_refresh_all_exec(), sequencer_reload_exec(), sequencer_retiming_box_select_exec(), sequencer_retiming_data_show_exec(), sequencer_retiming_key_delete_exec(), sequencer_retiming_key_select_exec(), sequencer_retiming_mode_is_active(), sequencer_retiming_reset_exec(), sequencer_retiming_segment_speed_set_exec(), sequencer_retiming_select_all_exec(), sequencer_retiming_select_linked_time(), sequencer_scene_frame_range_update_exec(), sequencer_scene_frame_range_update_poll(), sequencer_select_exec(), sequencer_select_grouped_exec(), sequencer_select_handle_exec(), sequencer_select_handles_exec(), sequencer_select_linked_handle(), sequencer_select_set_active(), sequencer_select_side_exec(), sequencer_select_side_of_frame(), sequencer_select_side_of_frame_exec(), sequencer_separate_images_exec(), sequencer_set_range_to_strips_exec(), sequencer_skip_for_handle_tweak(), sequencer_slip_exec(), sequencer_slip_invoke(), sequencer_slip_strips(), sequencer_snap_exec(), sequencer_split_exec(), sequencer_strip_change_scene_poll(), sequencer_strip_color_tag_set_exec(), sequencer_strip_color_tag_set_poll(), sequencer_strip_editable_poll(), 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_has_preview_poll(), sequencer_view_preview_only_poll(), sequencer_visible_strips_get(), skip_fcurve_selected_data(), strip_speed_get(), strip_speed_set_exec(), timeline_draw_context_get(), transition_add_from_retiming_selection(), blender::ed::outliner::tree_element_sequence_activate(), and blender::ed::outliner::tree_element_sequence_dup_activate().

◆ SEQ_eval_sequences()

void SEQ_eval_sequences ( Depsgraph * depsgraph,
Scene * scene,
ListBase * seqbase )

Evaluate parts of sequences which needs to be done as a part of a dependency graph evaluation. This does NOT include actual rendering of the strips, but rather makes them up-to-date for animation playback and makes them ready for the sequencer's rendering pipeline to render them.

Definition at line 1068 of file sequencer.cc.

References BKE_sound_ensure_scene(), DEG_debug_print_eval(), depsgraph, SEQ_edit_update_muting(), SEQ_for_each_callback(), SEQ_sound_update_bounds_all(), and seq_sound_update_cb().

◆ SEQ_is_valid_strip_channel()

bool SEQ_is_valid_strip_channel ( const Sequence * seq)

Definition at line 696 of file sequencer.cc.

References Sequence::machine, and SEQ_MAX_CHANNELS.

Referenced by link_recurs_seq(), and SEQ_transform_seqbase_shuffle_ex().

◆ SEQ_meta_stack_active_get()

MetaStack * SEQ_meta_stack_active_get ( const Editing * ed)

Get MetaStack that corresponds to current level that is being viewed

Returns
pointer to meta stack

Definition at line 448 of file sequencer.cc.

References ListBase::last, and Editing::metastack.

Referenced by SEQ_meta_stack_pop(), seq_prefetch_update_active_seqbase(), seq_update_meta_disp_range(), sequencer_all_free_anim_ibufs(), and sequencer_view_all_exec().

◆ SEQ_meta_stack_pop()

Sequence * SEQ_meta_stack_pop ( Editing * ed)

Close last Meta strip open for editing.

Parameters
edsequence editor data

Definition at line 481 of file sequencer.cc.

References BLI_remlink(), MEM_freeN(), Editing::metastack, MetaStack::old_channels, MetaStack::oldbasep, MetaStack::parseq, SEQ_channels_displayed_set(), SEQ_meta_stack_active_get(), and SEQ_seqbase_active_set().

Referenced by sequencer_meta_toggle_exec().

◆ SEQ_meta_stack_set()

void SEQ_meta_stack_set ( const Scene * scene,
Sequence * dst_seq )

Open Meta strip content for editing.

Parameters
edsequence editor data
seqmmeta sequence or NULL for top level view

Definition at line 457 of file sequencer.cc.

References BLI_freelistN(), Editing::channels, Sequence::channels, Editing::metastack, SEQ_channels_displayed_set(), SEQ_editing_get(), seq_meta_stack_alloc(), SEQ_seqbase_active_set(), seq_sequence_lookup_meta_by_seq(), Editing::seqbase, and Sequence::seqbase.

Referenced by sequencer_meta_toggle_exec().

◆ SEQ_seqbase_active_set()

void SEQ_seqbase_active_set ( Editing * ed,
ListBase * seqbase )

Set seqbase that is being viewed currently. This can be main seqbase or meta strip seqbase

Parameters
edsequence editor data
seqbaseListBase with strips

Definition at line 425 of file sequencer.cc.

References Editing::seqbasep.

Referenced by SEQ_meta_stack_pop(), SEQ_meta_stack_set(), seq_prefetch_update_active_seqbase(), and seq_update_meta_disp_range().

◆ SEQ_sequence_alloc()

◆ SEQ_sequence_base_dupli_recursive()

◆ SEQ_sequence_dupli_recursive()

Sequence * SEQ_sequence_dupli_recursive ( const Scene * scene_src,
Scene * scene_dst,
ListBase * new_seq_list,
Sequence * seq,
int dupe_flag )

◆ SEQ_sequence_free()

void SEQ_sequence_free ( Scene * scene,
Sequence * seq )

Definition at line 245 of file sequencer.cc.

References seq_sequence_free_ex().

Referenced by SEQ_edit_remove_flagged_sequences().

◆ SEQ_sequence_lookup_free()

void SEQ_sequence_lookup_free ( const Scene * scene)

Free lookup hash data.

Parameters
scenescene that owns lookup hash

Definition at line 118 of file sequence_lookup.cc.

References BLI_assert, lock, lookup_lock, and seq_sequence_lookup_free().

Referenced by SEQ_editing_free().

◆ SEQ_sequence_lookup_invalidate()

void SEQ_sequence_lookup_invalidate ( const Scene * scene)

Mark sequence lookup as invalid (i.e. will need rebuilding).

Definition at line 165 of file sequence_lookup.cc.

References lock, and lookup_lock.

Referenced by seq_add_generic_update(), SEQ_edit_remove_flagged_sequences(), SEQ_edit_sequence_name_set(), sequencer_meta_make_exec(), and sequencer_reassign_inputs_exec().

◆ SEQ_sequence_lookup_owner_by_channel()

Sequence * SEQ_sequence_lookup_owner_by_channel ( const Scene * scene,
const SeqTimelineChannel * channel )

Find which meta strip the given timeline channel belongs to. Returns nullptr if it is a global channel.

Definition at line 155 of file sequence_lookup.cc.

References BLI_assert, lock, lookup_lock, and seq_sequence_lookup_update_if_needed().

◆ SEQ_sequence_lookup_seq_by_name()

Sequence * SEQ_sequence_lookup_seq_by_name ( const Scene * scene,
const char * key )

Find a sequence with a given name. If lookup hash doesn't exist, it will be created. If hash is tagged as invalid, it will be rebuilt.

Parameters
scenescene that owns lookup hash
keySequence name without SQ prefix (seq->name + 2)
Returns
pointer to Sequence

Definition at line 126 of file sequence_lookup.cc.

References BLI_assert, lock, lookup_lock, and seq_sequence_lookup_update_if_needed().

◆ SEQ_tool_settings_copy()

SequencerToolSettings * SEQ_tool_settings_copy ( SequencerToolSettings * tool_settings)

Definition at line 701 of file sequencer.cc.

References MEM_dupallocN.

Referenced by BKE_toolsettings_copy().

◆ SEQ_tool_settings_ensure()

◆ SEQ_tool_settings_fit_method_get()

eSeqImageFitMethod SEQ_tool_settings_fit_method_get ( Scene * scene)

◆ SEQ_tool_settings_fit_method_set()

void SEQ_tool_settings_fit_method_set ( Scene * scene,
eSeqImageFitMethod fit_method )

◆ SEQ_tool_settings_free()

void SEQ_tool_settings_free ( SequencerToolSettings * tool_settings)

Definition at line 369 of file sequencer.cc.

References MEM_freeN().

Referenced by BKE_toolsettings_free().

◆ SEQ_tool_settings_init()

◆ SEQ_tool_settings_overlap_mode_get()

eSeqOverlapMode SEQ_tool_settings_overlap_mode_get ( Scene * scene)

◆ SEQ_tool_settings_pivot_point_get()

int SEQ_tool_settings_pivot_point_get ( Scene * scene)

Definition at line 410 of file sequencer.cc.

References SequencerToolSettings::pivot_point, and SEQ_tool_settings_ensure().

Referenced by t_around_get().

◆ SEQ_tool_settings_snap_distance_get()

int SEQ_tool_settings_snap_distance_get ( Scene * scene)

◆ SEQ_tool_settings_snap_flag_get()

short SEQ_tool_settings_snap_flag_get ( Scene * scene)

◆ SEQ_tool_settings_snap_mode_get()

short SEQ_tool_settings_snap_mode_get ( Scene * scene)

Variable Documentation

◆ SEQ_MAX_CHANNELS