Blender V5.0
sequencer_edit.cc File Reference
#include "BLI_fileops.h"
#include "BLI_listbase.h"
#include "BLI_math_vector.h"
#include "BLI_path_utils.hh"
#include "BLI_string.h"
#include "BLI_string_ref.hh"
#include "BLI_string_utf8.h"
#include "BLI_string_utils.hh"
#include "BLI_timecode.h"
#include "BLI_utildefines.h"
#include "BLI_vector.hh"
#include "MEM_guardedalloc.h"
#include "BLT_translation.hh"
#include "DNA_anim_types.h"
#include "DNA_scene_types.h"
#include "DNA_sequence_types.h"
#include "DNA_sound_types.h"
#include "BKE_context.hh"
#include "BKE_global.hh"
#include "BKE_idtype.hh"
#include "BKE_layer.hh"
#include "BKE_library.hh"
#include "BKE_main.hh"
#include "BKE_report.hh"
#include "BKE_sound.h"
#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_prefetch.hh"
#include "SEQ_relations.hh"
#include "SEQ_render.hh"
#include "SEQ_select.hh"
#include "SEQ_sequencer.hh"
#include "SEQ_thumbnail_cache.hh"
#include "SEQ_time.hh"
#include "SEQ_transform.hh"
#include "SEQ_utils.hh"
#include "ANIM_action_legacy.hh"
#include "WM_api.hh"
#include "WM_types.hh"
#include "RNA_define.hh"
#include "RNA_enum_types.hh"
#include "RNA_prototypes.hh"
#include "ED_fileselect.hh"
#include "ED_numinput.hh"
#include "ED_object.hh"
#include "ED_scene.hh"
#include "ED_screen.hh"
#include "ED_screen_types.hh"
#include "ED_sequencer.hh"
#include "UI_interface_layout.hh"
#include "UI_resources.hh"
#include "UI_view2d.hh"
#include "DEG_depsgraph.hh"
#include "DEG_depsgraph_build.hh"
#include "sequencer_intern.hh"
#include <cstddef>
#include <fmt/format.h>

Go to the source code of this file.

Classes

struct  blender::ed::vse::SlipData
struct  blender::ed::vse::Seq_get_text_cb_data

Namespaces

namespace  blender
namespace  blender::ed
namespace  blender::ed::vse

Functions

Public Context Checks
bool blender::ed::vse::maskedit_mask_poll (bContext *C)
bool blender::ed::vse::check_show_maskedit (SpaceSeq *sseq, Scene *scene)
bool blender::ed::vse::maskedit_poll (bContext *C)
bool blender::ed::vse::check_show_imbuf (const SpaceSeq &sseq)
bool blender::ed::vse::check_show_strip (const SpaceSeq &sseq)
static bool blender::ed::vse::sequencer_fcurves_targets_color_strip (const FCurve *fcurve)
bool blender::ed::vse::has_playback_animation (const Scene *scene)
Shared Poll Functions
bool blender::ed::vse::sequencer_edit_poll (bContext *C)
bool blender::ed::vse::sequencer_edit_with_channel_region_poll (bContext *C)
bool blender::ed::vse::sequencer_editing_initialized_and_active (bContext *C)
bool blender::ed::vse::sequencer_strip_editable_poll (bContext *C)
bool blender::ed::vse::sequencer_strip_has_path_poll (bContext *C)
bool blender::ed::vse::sequencer_view_has_preview_poll (bContext *C)
bool blender::ed::vse::sequencer_view_preview_only_poll (const bContext *C)
bool blender::ed::vse::sequencer_view_strips_poll (bContext *C)
static bool blender::ed::vse::sequencer_effect_poll (bContext *C)
static bool blender::ed::vse::sequencer_swap_inputs_poll (bContext *C)
Scene syncing with current scene strip
bool blender::ed::vse::is_scene_time_sync_needed (const bContext &C)
static Sceneblender::ed::vse::get_sequencer_scene_for_time_sync (const bContext &C)
const Stripblender::ed::vse::get_scene_strip_for_time_sync (const Scene *sequence_scene)
void blender::ed::vse::sync_active_scene_and_time_with_scene_strip (bContext &C)
Remove Gaps Operator
static wmOperatorStatus blender::ed::vse::sequencer_gap_remove_exec (bContext *C, wmOperator *op)
void blender::ed::vse::SEQUENCER_OT_gap_remove (wmOperatorType *ot)
Insert Gaps Operator
static wmOperatorStatus blender::ed::vse::sequencer_gap_insert_exec (bContext *C, wmOperator *op)
void blender::ed::vse::SEQUENCER_OT_gap_insert (wmOperatorType *ot)
Snap Strips to the Current Frame Operator
static wmOperatorStatus blender::ed::vse::sequencer_snap_exec (bContext *C, wmOperator *op)
static wmOperatorStatus blender::ed::vse::sequencer_snap_invoke (bContext *C, wmOperator *op, const wmEvent *)
void blender::ed::vse::SEQUENCER_OT_snap (wmOperatorType *ot)
Mute Strips Operator
static wmOperatorStatus blender::ed::vse::sequencer_mute_exec (bContext *C, wmOperator *op)
void blender::ed::vse::SEQUENCER_OT_mute (wmOperatorType *ot)
Unmute Strips Operator
static wmOperatorStatus blender::ed::vse::sequencer_unmute_exec (bContext *C, wmOperator *op)
void blender::ed::vse::SEQUENCER_OT_unmute (wmOperatorType *ot)
Lock Strips Operator
static wmOperatorStatus blender::ed::vse::sequencer_lock_exec (bContext *C, wmOperator *)
void blender::ed::vse::SEQUENCER_OT_lock (wmOperatorType *ot)
Unlock Strips Operator
static wmOperatorStatus blender::ed::vse::sequencer_unlock_exec (bContext *C, wmOperator *)
void blender::ed::vse::SEQUENCER_OT_unlock (wmOperatorType *ot)
Connect Strips Operator
static wmOperatorStatus blender::ed::vse::sequencer_connect_exec (bContext *C, wmOperator *op)
void blender::ed::vse::SEQUENCER_OT_connect (wmOperatorType *ot)
Disconnect Strips Operator
static wmOperatorStatus blender::ed::vse::sequencer_disconnect_exec (bContext *C, wmOperator *)
void blender::ed::vse::SEQUENCER_OT_disconnect (wmOperatorType *ot)
Reload Strips Operator
static wmOperatorStatus blender::ed::vse::sequencer_reload_exec (bContext *C, wmOperator *op)
void blender::ed::vse::SEQUENCER_OT_reload (wmOperatorType *ot)
Refresh Sequencer Operator
static bool blender::ed::vse::sequencer_refresh_all_poll (bContext *C)
static wmOperatorStatus blender::ed::vse::sequencer_refresh_all_exec (bContext *C, wmOperator *)
void blender::ed::vse::SEQUENCER_OT_refresh_all (wmOperatorType *ot)
Reassign Inputs Operator
StringRef blender::ed::vse::effect_inputs_validate (const VectorSet< Strip * > &inputs, int num_inputs)
VectorSet< Strip * > blender::ed::vse::strip_effect_get_new_inputs (const Scene *scene, int num_inputs, bool ignore_active)
static wmOperatorStatus blender::ed::vse::sequencer_reassign_inputs_exec (bContext *C, wmOperator *op)
void blender::ed::vse::SEQUENCER_OT_reassign_inputs (wmOperatorType *ot)
Swap Inputs Operator
static wmOperatorStatus blender::ed::vse::sequencer_swap_inputs_exec (bContext *C, wmOperator *op)
void blender::ed::vse::SEQUENCER_OT_swap_inputs (wmOperatorType *ot)
Duplicate Strips Operator
static void blender::ed::vse::sequencer_report_duplicates (wmOperator *op, ListBase *duplicated_strips)
static wmOperatorStatus blender::ed::vse::sequencer_add_duplicate_exec (bContext *C, wmOperator *op)
void blender::ed::vse::SEQUENCER_OT_duplicate (wmOperatorType *ot)
Erase Strips Operator
static void blender::ed::vse::sequencer_delete_strip_data (bContext *C, Strip *strip)
static wmOperatorStatus blender::ed::vse::sequencer_delete_exec (bContext *C, wmOperator *op)
static wmOperatorStatus blender::ed::vse::sequencer_delete_invoke (bContext *C, wmOperator *op, const wmEvent *event)
void blender::ed::vse::SEQUENCER_OT_delete (wmOperatorType *ot)
Clear Strip Offset Operator
static wmOperatorStatus blender::ed::vse::sequencer_offset_clear_exec (bContext *C, wmOperator *)
void blender::ed::vse::SEQUENCER_OT_offset_clear (wmOperatorType *ot)
Separate Images Operator
static wmOperatorStatus blender::ed::vse::sequencer_separate_images_exec (bContext *C, wmOperator *op)
static wmOperatorStatus blender::ed::vse::sequencer_separate_images_invoke (bContext *C, wmOperator *op, const wmEvent *event)
void blender::ed::vse::SEQUENCER_OT_images_separate (wmOperatorType *ot)
Toggle Meta Strip Operator
static wmOperatorStatus blender::ed::vse::sequencer_meta_toggle_exec (bContext *C, wmOperator *)
void blender::ed::vse::SEQUENCER_OT_meta_toggle (wmOperatorType *ot)
Make Meta Strip Operator
static wmOperatorStatus blender::ed::vse::sequencer_meta_make_exec (bContext *C, wmOperator *)
void blender::ed::vse::SEQUENCER_OT_meta_make (wmOperatorType *ot)
UnMeta Strip Operator
static wmOperatorStatus blender::ed::vse::sequencer_meta_separate_exec (bContext *C, wmOperator *)
void blender::ed::vse::SEQUENCER_OT_meta_separate (wmOperatorType *ot)
Jump to Strip Operator
static bool blender::ed::vse::strip_jump_internal (Scene *scene, const short side, const bool do_skip_mute, const bool do_center)
static bool blender::ed::vse::sequencer_strip_jump_poll (bContext *C)
static wmOperatorStatus blender::ed::vse::sequencer_strip_jump_exec (bContext *C, wmOperator *op)
void blender::ed::vse::SEQUENCER_OT_strip_jump (wmOperatorType *ot)
Set Render Size Operator
static wmOperatorStatus blender::ed::vse::sequencer_rendersize_exec (bContext *C, wmOperator *)
void blender::ed::vse::SEQUENCER_OT_rendersize (wmOperatorType *ot)
Copy Operator
void blender::ed::vse::SEQUENCER_OT_copy (wmOperatorType *ot)
Paste Operator
void blender::ed::vse::SEQUENCER_OT_paste (wmOperatorType *ot)
Sequencer Swap Data Operator
static wmOperatorStatus blender::ed::vse::sequencer_swap_data_exec (bContext *C, wmOperator *op)
void blender::ed::vse::SEQUENCER_OT_swap_data (wmOperatorType *ot)
Change Data/Files Operator
static wmOperatorStatus blender::ed::vse::sequencer_change_path_exec (bContext *C, wmOperator *op)
static wmOperatorStatus blender::ed::vse::sequencer_change_path_invoke (bContext *C, wmOperator *op, const wmEvent *)
void blender::ed::vse::SEQUENCER_OT_change_path (wmOperatorType *ot)
Change Strip Scene Operator
static bool blender::ed::vse::sequencer_strip_change_scene_poll (bContext *C)
static wmOperatorStatus blender::ed::vse::sequencer_change_scene_exec (bContext *C, wmOperator *op)
static wmOperatorStatus blender::ed::vse::sequencer_change_scene_invoke (bContext *C, wmOperator *op, const wmEvent *event)
void blender::ed::vse::SEQUENCER_OT_change_scene (wmOperatorType *ot)
Export Subtitles Operator
static int blender::ed::vse::strip_cmp_time_startdisp_channel (void *thunk, const void *a, const void *b)
static wmOperatorStatus blender::ed::vse::sequencer_export_subtitles_invoke (bContext *C, wmOperator *op, const wmEvent *)
static bool blender::ed::vse::strip_get_text_strip_cb (Strip *strip, void *user_data)
static wmOperatorStatus blender::ed::vse::sequencer_export_subtitles_exec (bContext *C, wmOperator *op)
static bool blender::ed::vse::sequencer_strip_is_text_poll (bContext *C)
void blender::ed::vse::SEQUENCER_OT_export_subtitles (wmOperatorType *ot)
Set Range to Strips Operator
static wmOperatorStatus blender::ed::vse::sequencer_set_range_to_strips_exec (bContext *C, wmOperator *op)
void blender::ed::vse::SEQUENCER_OT_set_range_to_strips (wmOperatorType *ot)
Transform Set Fit Operator
static wmOperatorStatus blender::ed::vse::sequencer_strip_transform_fit_exec (bContext *C, wmOperator *op)
void blender::ed::vse::SEQUENCER_OT_strip_transform_fit (wmOperatorType *ot)
static wmOperatorStatus blender::ed::vse::sequencer_strip_color_tag_set_exec (bContext *C, wmOperator *op)
static bool blender::ed::vse::sequencer_strip_color_tag_set_poll (bContext *C)
void blender::ed::vse::SEQUENCER_OT_strip_color_tag_set (wmOperatorType *ot)
Set 2D Cursor Operator
static wmOperatorStatus blender::ed::vse::sequencer_set_2d_cursor_exec (bContext *C, wmOperator *op)
static wmOperatorStatus blender::ed::vse::sequencer_set_2d_cursor_invoke (bContext *C, wmOperator *op, const wmEvent *event)
void blender::ed::vse::SEQUENCER_OT_cursor_set (wmOperatorType *ot)
Update scene strip frame range
static wmOperatorStatus blender::ed::vse::sequencer_scene_frame_range_update_exec (bContext *C, wmOperator *)
static bool blender::ed::vse::sequencer_scene_frame_range_update_poll (bContext *C)
void blender::ed::vse::SEQUENCER_OT_scene_frame_range_update (wmOperatorType *ot)

Slip Strips Operator

enum  {
  blender::ed::vse::SLIP_MODAL_CANCEL = 1 , blender::ed::vse::SLIP_MODAL_CONFIRM , blender::ed::vse::SLIP_MODAL_PRECISION_ENABLE , blender::ed::vse::SLIP_MODAL_PRECISION_DISABLE ,
  blender::ed::vse::SLIP_MODAL_CLAMP_TOGGLE
}
void blender::ed::vse::slip_modal_keymap (wmKeyConfig *keyconf)
static void blender::ed::vse::slip_draw_status (bContext *C, const wmOperator *op)
static void blender::ed::vse::slip_update_header (const Scene *scene, ScrArea *area, SlipData *data, const float offset)
static SlipDatablender::ed::vse::slip_data_init (bContext *C, const wmOperator *op, const wmEvent *event)
static wmOperatorStatus blender::ed::vse::sequencer_slip_invoke (bContext *C, wmOperator *op, const wmEvent *event)
static void blender::ed::vse::slip_strips_delta (bContext *C, wmOperator *op, Scene *scene, SlipData *data, const float delta)
static void blender::ed::vse::slip_cleanup (bContext *C, wmOperator *op, Scene *scene)
static float blender::ed::vse::slip_apply_clamp (const Scene *scene, const SlipData *data, float *r_offset)
static wmOperatorStatus blender::ed::vse::sequencer_slip_exec (bContext *C, wmOperator *op)
static void blender::ed::vse::slip_handle_num_input (bContext *C, wmOperator *op, ScrArea *area, SlipData *data, Scene *scene)
static wmOperatorStatus blender::ed::vse::sequencer_slip_modal (bContext *C, wmOperator *op, const wmEvent *event)
void blender::ed::vse::SEQUENCER_OT_slip (wmOperatorType *ot)

Clear Strip Transform Operator

enum  { blender::ed::vse::STRIP_TRANSFORM_POSITION , blender::ed::vse::STRIP_TRANSFORM_SCALE , blender::ed::vse::STRIP_TRANSFORM_ROTATION , blender::ed::vse::STRIP_TRANSFORM_ALL }
static const EnumPropertyItem blender::ed::vse::transform_reset_properties []
static wmOperatorStatus blender::ed::vse::sequencer_strip_transform_clear_exec (bContext *C, wmOperator *op)
void blender::ed::vse::SEQUENCER_OT_strip_transform_clear (wmOperatorType *ot)

Split Strips Operator

static const EnumPropertyItem blender::ed::vse::prop_split_types []
const EnumPropertyItem blender::ed::vse::prop_side_types []
static int blender::ed::vse::mouse_frame_side (View2D *v2d, short mouse_x, int frame)
static int blender::ed::vse::sequence_split_side_for_exec_get (wmOperator *op)
static wmOperatorStatus blender::ed::vse::sequencer_split_exec (bContext *C, wmOperator *op)
static wmOperatorStatus blender::ed::vse::sequencer_split_invoke (bContext *C, wmOperator *op, const wmEvent *event)
static void blender::ed::vse::sequencer_split_ui (bContext *, wmOperator *op)
void blender::ed::vse::SEQUENCER_OT_split (wmOperatorType *ot)

Swap Strip Operator

static const EnumPropertyItem blender::ed::vse::prop_side_lr_types []
static void blender::ed::vse::swap_strips (Scene *scene, Strip *strip_a, Strip *strip_b)
static Stripblender::ed::vse::find_next_prev_strip (Scene *scene, Strip *test, int lr, int sel)
static bool blender::ed::vse::strip_is_parent (const Strip *par, const Strip *strip)
static wmOperatorStatus blender::ed::vse::sequencer_swap_exec (bContext *C, wmOperator *op)
void blender::ed::vse::SEQUENCER_OT_swap (wmOperatorType *ot)

Change Effect Type Operator

const EnumPropertyItem blender::ed::vse::sequencer_prop_effect_types []
static wmOperatorStatus blender::ed::vse::sequencer_change_effect_type_exec (bContext *C, wmOperator *op)
void blender::ed::vse::SEQUENCER_OT_change_effect_type (wmOperatorType *ot)