Blender  V3.3
Classes | Macros | Typedefs | Functions | Variables
sequencer_add.c File Reference
#include <ctype.h>
#include <math.h>
#include <stdlib.h>
#include <string.h>
#include "MEM_guardedalloc.h"
#include "BLI_blenlib.h"
#include "BLI_ghash.h"
#include "BLI_math.h"
#include "BLI_utildefines.h"
#include "BLT_translation.h"
#include "DNA_mask_types.h"
#include "DNA_scene_types.h"
#include "DNA_sound_types.h"
#include "DNA_space_types.h"
#include "BKE_context.h"
#include "BKE_global.h"
#include "BKE_lib_id.h"
#include "BKE_main.h"
#include "BKE_mask.h"
#include "BKE_movieclip.h"
#include "BKE_report.h"
#include "BKE_scene.h"
#include "BKE_sound.h"
#include "IMB_imbuf.h"
#include "WM_api.h"
#include "WM_types.h"
#include "RNA_define.h"
#include "RNA_enum_types.h"
#include "RNA_prototypes.h"
#include "SEQ_add.h"
#include "SEQ_effects.h"
#include "SEQ_iterator.h"
#include "SEQ_proxy.h"
#include "SEQ_relations.h"
#include "SEQ_render.h"
#include "SEQ_select.h"
#include "SEQ_sequencer.h"
#include "SEQ_time.h"
#include "SEQ_transform.h"
#include "SEQ_utils.h"
#include "ED_scene.h"
#include "ED_screen.h"
#include "ED_sequencer.h"
#include "UI_interface.h"
#include "DEG_depsgraph.h"
#include "DEG_depsgraph_build.h"
#include "sequencer_intern.h"

Go to the source code of this file.

Classes

struct  SequencerAddData
 

Macros

#define SEQPROP_STARTFRAME   (1 << 0)
 
#define SEQPROP_ENDFRAME   (1 << 1)
 
#define SEQPROP_NOPATHS   (1 << 2)
 
#define SEQPROP_NOCHAN   (1 << 3)
 
#define SEQPROP_FIT_METHOD   (1 << 4)
 
#define SEQPROP_VIEW_TRANSFORM   (1 << 5)
 
#define SEQPROP_PLAYBACK_RATE   (1 << 6)
 

Typedefs

typedef struct SequencerAddData SequencerAddData
 

Functions

static void sequencer_generic_props__internal (wmOperatorType *ot, int flag)
 
static void sequencer_generic_invoke_path__internal (bContext *C, wmOperator *op, const char *identifier)
 
static int sequencer_generic_invoke_xy_guess_channel (bContext *C, int type)
 
static void sequencer_generic_invoke_xy__internal (bContext *C, wmOperator *op, int flag, int type)
 
static void load_data_init_from_operator (SeqLoadData *load_data, bContext *C, wmOperator *op)
 
static void seq_load_apply_generic_options (bContext *C, wmOperator *op, Sequence *seq)
 
static bool seq_load_apply_generic_options_only_test_overlap (bContext *C, wmOperator *op, Sequence *seq, SeqCollection *strip_col)
 
static bool seq_effect_add_properties_poll (const bContext *UNUSED(C), wmOperator *op, const PropertyRNA *prop)
 
static int sequencer_add_scene_strip_exec (bContext *C, wmOperator *op)
 
static void sequencer_disable_one_time_properties (bContext *C, wmOperator *op)
 
static int sequencer_add_scene_strip_invoke (bContext *C, wmOperator *op, const wmEvent *event)
 
void SEQUENCER_OT_scene_strip_add (struct wmOperatorType *ot)
 
static int sequencer_add_scene_strip_new_exec (bContext *C, wmOperator *op)
 
static int sequencer_add_scene_strip_new_invoke (bContext *C, wmOperator *op, const wmEvent *UNUSED(event))
 
static const EnumPropertyItemstrip_new_sequencer_enum_itemf (bContext *C, PointerRNA *UNUSED(ptr), PropertyRNA *UNUSED(prop), bool *r_free)
 
void SEQUENCER_OT_scene_strip_add_new (struct wmOperatorType *ot)
 
static int sequencer_add_movieclip_strip_exec (bContext *C, wmOperator *op)
 
static int sequencer_add_movieclip_strip_invoke (bContext *C, wmOperator *op, const wmEvent *event)
 
void SEQUENCER_OT_movieclip_strip_add (struct wmOperatorType *ot)
 
static int sequencer_add_mask_strip_exec (bContext *C, wmOperator *op)
 
static int sequencer_add_mask_strip_invoke (bContext *C, wmOperator *op, const wmEvent *event)
 
void SEQUENCER_OT_mask_strip_add (struct wmOperatorType *ot)
 
static void sequencer_add_init (bContext *UNUSED(C), wmOperator *op)
 
static void sequencer_add_cancel (bContext *UNUSED(C), wmOperator *op)
 
static bool sequencer_add_draw_check_fn (PointerRNA *UNUSED(ptr), PropertyRNA *prop, void *UNUSED(user_data))
 
static IMB_Proxy_Size seq_get_proxy_size_flags (bContext *C)
 
static void seq_build_proxy (bContext *C, SeqCollection *movie_strips)
 
static void sequencer_add_movie_clamp_sound_strip_length (Scene *scene, Sequence *seq_movie, Sequence *seq_sound)
 
static void sequencer_add_movie_multiple_strips (bContext *C, wmOperator *op, SeqLoadData *load_data, SeqCollection *r_movie_strips)
 
static bool sequencer_add_movie_single_strip (bContext *C, wmOperator *op, SeqLoadData *load_data, SeqCollection *r_movie_strips)
 
static int sequencer_add_movie_strip_exec (bContext *C, wmOperator *op)
 
static int sequencer_add_movie_strip_invoke (bContext *C, wmOperator *op, const wmEvent *UNUSED(event))
 
static void sequencer_add_draw (bContext *UNUSED(C), wmOperator *op)
 
void SEQUENCER_OT_movie_strip_add (struct wmOperatorType *ot)
 
static void sequencer_add_sound_multiple_strips (bContext *C, wmOperator *op, SeqLoadData *load_data)
 
static bool sequencer_add_sound_single_strip (bContext *C, wmOperator *op, SeqLoadData *load_data)
 
static int sequencer_add_sound_strip_exec (bContext *C, wmOperator *op)
 
static int sequencer_add_sound_strip_invoke (bContext *C, wmOperator *op, const wmEvent *UNUSED(event))
 
void SEQUENCER_OT_sound_strip_add (struct wmOperatorType *ot)
 
int sequencer_image_seq_get_minmax_frame (wmOperator *op, int sfra, int *r_minframe, int *r_numdigits)
 
void sequencer_image_seq_reserve_frames (wmOperator *op, StripElem *se, int len, int minframe, int numdigits)
 
static int sequencer_add_image_strip_calculate_length (wmOperator *op, const int start_frame, int *minframe, int *numdigits)
 
static void sequencer_add_image_strip_load_files (wmOperator *op, Scene *scene, Sequence *seq, SeqLoadData *load_data, const int minframe, const int numdigits)
 
static int sequencer_add_image_strip_exec (bContext *C, wmOperator *op)
 
static int sequencer_add_image_strip_invoke (bContext *C, wmOperator *op, const wmEvent *UNUSED(event))
 
void SEQUENCER_OT_image_strip_add (struct wmOperatorType *ot)
 
static int sequencer_add_effect_strip_exec (bContext *C, wmOperator *op)
 
static int sequencer_add_effect_strip_invoke (bContext *C, wmOperator *op, const wmEvent *UNUSED(event))
 
static char * sequencer_add_effect_strip_desc (bContext *UNUSED(C), wmOperatorType *UNUSED(op), PointerRNA *ptr)
 
void SEQUENCER_OT_effect_strip_add (struct wmOperatorType *ot)
 

Variables

static const EnumPropertyItem scale_fit_methods []
 
static EnumPropertyItem strip_new_scene_items []
 

Macro Definition Documentation

◆ SEQPROP_ENDFRAME

#define SEQPROP_ENDFRAME   (1 << 1)

Definition at line 83 of file sequencer_add.c.

◆ SEQPROP_FIT_METHOD

#define SEQPROP_FIT_METHOD   (1 << 4)

Definition at line 86 of file sequencer_add.c.

◆ SEQPROP_NOCHAN

#define SEQPROP_NOCHAN   (1 << 3)

Definition at line 85 of file sequencer_add.c.

◆ SEQPROP_NOPATHS

#define SEQPROP_NOPATHS   (1 << 2)

Definition at line 84 of file sequencer_add.c.

◆ SEQPROP_PLAYBACK_RATE

#define SEQPROP_PLAYBACK_RATE   (1 << 6)

Definition at line 88 of file sequencer_add.c.

◆ SEQPROP_STARTFRAME

#define SEQPROP_STARTFRAME   (1 << 0)

Definition at line 82 of file sequencer_add.c.

◆ SEQPROP_VIEW_TRANSFORM

#define SEQPROP_VIEW_TRANSFORM   (1 << 5)

Definition at line 87 of file sequencer_add.c.

Typedef Documentation

◆ SequencerAddData

Function Documentation

◆ load_data_init_from_operator()

static void load_data_init_from_operator ( SeqLoadData load_data,
bContext C,
wmOperator op 
)
static

◆ seq_build_proxy()

static void seq_build_proxy ( bContext C,
SeqCollection movie_strips 
)
static

◆ seq_effect_add_properties_poll()

static bool seq_effect_add_properties_poll ( const bContext UNUSEDC,
wmOperator op,
const PropertyRNA prop 
)
static

◆ seq_get_proxy_size_flags()

static IMB_Proxy_Size seq_get_proxy_size_flags ( bContext C)
static

◆ seq_load_apply_generic_options()

static void seq_load_apply_generic_options ( bContext C,
wmOperator op,
Sequence seq 
)
static

◆ seq_load_apply_generic_options_only_test_overlap()

static bool seq_load_apply_generic_options_only_test_overlap ( bContext C,
wmOperator op,
Sequence seq,
SeqCollection strip_col 
)
static

◆ sequencer_add_cancel()

static void sequencer_add_cancel ( bContext UNUSEDC,
wmOperator op 
)
static

◆ sequencer_add_draw()

static void sequencer_add_draw ( bContext UNUSEDC,
wmOperator op 
)
static

◆ sequencer_add_draw_check_fn()

static bool sequencer_add_draw_check_fn ( PointerRNA UNUSEDptr,
PropertyRNA prop,
void UNUSEDuser_data 
)
static

Definition at line 744 of file sequencer_add.c.

References RNA_property_identifier(), and STR_ELEM.

Referenced by sequencer_add_draw().

◆ sequencer_add_effect_strip_desc()

static char* sequencer_add_effect_strip_desc ( bContext UNUSEDC,
wmOperatorType UNUSEDop,
PointerRNA ptr 
)
static

◆ sequencer_add_effect_strip_exec()

static int sequencer_add_effect_strip_exec ( bContext C,
wmOperator op 
)
static

◆ sequencer_add_effect_strip_invoke()

static int sequencer_add_effect_strip_invoke ( bContext C,
wmOperator op,
const wmEvent UNUSEDevent 
)
static

◆ sequencer_add_image_strip_calculate_length()

static int sequencer_add_image_strip_calculate_length ( wmOperator op,
const int  start_frame,
int *  minframe,
int *  numdigits 
)
static

◆ sequencer_add_image_strip_exec()

static int sequencer_add_image_strip_exec ( bContext C,
wmOperator op 
)
static

◆ sequencer_add_image_strip_invoke()

static int sequencer_add_image_strip_invoke ( bContext C,
wmOperator op,
const wmEvent UNUSEDevent 
)
static

◆ sequencer_add_image_strip_load_files()

static void sequencer_add_image_strip_load_files ( wmOperator op,
Scene scene,
Sequence seq,
SeqLoadData load_data,
const int  minframe,
const int  numdigits 
)
static

◆ sequencer_add_init()

static void sequencer_add_init ( bContext UNUSEDC,
wmOperator op 
)
static

◆ sequencer_add_mask_strip_exec()

static int sequencer_add_mask_strip_exec ( bContext C,
wmOperator op 
)
static

◆ sequencer_add_mask_strip_invoke()

static int sequencer_add_mask_strip_invoke ( bContext C,
wmOperator op,
const wmEvent event 
)
static

◆ sequencer_add_movie_clamp_sound_strip_length()

static void sequencer_add_movie_clamp_sound_strip_length ( Scene scene,
Sequence seq_movie,
Sequence seq_sound 
)
static

◆ sequencer_add_movie_multiple_strips()

static void sequencer_add_movie_multiple_strips ( bContext C,
wmOperator op,
SeqLoadData load_data,
SeqCollection r_movie_strips 
)
static

◆ sequencer_add_movie_single_strip()

static bool sequencer_add_movie_single_strip ( bContext C,
wmOperator op,
SeqLoadData load_data,
SeqCollection r_movie_strips 
)
static

◆ sequencer_add_movie_strip_exec()

static int sequencer_add_movie_strip_exec ( bContext C,
wmOperator op 
)
static

◆ sequencer_add_movie_strip_invoke()

static int sequencer_add_movie_strip_invoke ( bContext C,
wmOperator op,
const wmEvent UNUSEDevent 
)
static

◆ sequencer_add_movieclip_strip_exec()

static int sequencer_add_movieclip_strip_exec ( bContext C,
wmOperator op 
)
static

◆ sequencer_add_movieclip_strip_invoke()

static int sequencer_add_movieclip_strip_invoke ( bContext C,
wmOperator op,
const wmEvent event 
)
static

◆ sequencer_add_scene_strip_exec()

static int sequencer_add_scene_strip_exec ( bContext C,
wmOperator op 
)
static

◆ sequencer_add_scene_strip_invoke()

static int sequencer_add_scene_strip_invoke ( bContext C,
wmOperator op,
const wmEvent event 
)
static

◆ sequencer_add_scene_strip_new_exec()

static int sequencer_add_scene_strip_new_exec ( bContext C,
wmOperator op 
)
static

◆ sequencer_add_scene_strip_new_invoke()

static int sequencer_add_scene_strip_new_invoke ( bContext C,
wmOperator op,
const wmEvent UNUSEDevent 
)
static

◆ sequencer_add_sound_multiple_strips()

static void sequencer_add_sound_multiple_strips ( bContext C,
wmOperator op,
SeqLoadData load_data 
)
static

◆ sequencer_add_sound_single_strip()

static bool sequencer_add_sound_single_strip ( bContext C,
wmOperator op,
SeqLoadData load_data 
)
static

◆ sequencer_add_sound_strip_exec()

static int sequencer_add_sound_strip_exec ( bContext C,
wmOperator op 
)
static

◆ sequencer_add_sound_strip_invoke()

static int sequencer_add_sound_strip_invoke ( bContext C,
wmOperator op,
const wmEvent UNUSEDevent 
)
static

◆ sequencer_disable_one_time_properties()

static void sequencer_disable_one_time_properties ( bContext C,
wmOperator op 
)
static

◆ sequencer_generic_invoke_path__internal()

static void sequencer_generic_invoke_path__internal ( bContext C,
wmOperator op,
const char *  identifier 
)
static

◆ sequencer_generic_invoke_xy__internal()

static void sequencer_generic_invoke_xy__internal ( bContext C,
wmOperator op,
int  flag,
int  type 
)
static

◆ sequencer_generic_invoke_xy_guess_channel()

static int sequencer_generic_invoke_xy_guess_channel ( bContext C,
int  type 
)
static

◆ sequencer_generic_props__internal()

static void sequencer_generic_props__internal ( wmOperatorType ot,
int  flag 
)
static

◆ sequencer_image_seq_get_minmax_frame()

int sequencer_image_seq_get_minmax_frame ( wmOperator op,
int  sfra,
int *  r_minframe,
int *  r_numdigits 
)

◆ sequencer_image_seq_reserve_frames()

void sequencer_image_seq_reserve_frames ( wmOperator op,
StripElem se,
int  len,
int  minframe,
int  numdigits 
)

◆ SEQUENCER_OT_effect_strip_add()

void SEQUENCER_OT_effect_strip_add ( struct wmOperatorType ot)

◆ SEQUENCER_OT_image_strip_add()

void SEQUENCER_OT_image_strip_add ( struct wmOperatorType ot)

◆ SEQUENCER_OT_mask_strip_add()

void SEQUENCER_OT_mask_strip_add ( struct wmOperatorType ot)

◆ SEQUENCER_OT_movie_strip_add()

void SEQUENCER_OT_movie_strip_add ( struct wmOperatorType ot)

◆ SEQUENCER_OT_movieclip_strip_add()

void SEQUENCER_OT_movieclip_strip_add ( struct wmOperatorType ot)

◆ SEQUENCER_OT_scene_strip_add()

void SEQUENCER_OT_scene_strip_add ( struct wmOperatorType ot)

◆ SEQUENCER_OT_scene_strip_add_new()

void SEQUENCER_OT_scene_strip_add_new ( struct wmOperatorType ot)

◆ SEQUENCER_OT_sound_strip_add()

void SEQUENCER_OT_sound_strip_add ( struct wmOperatorType ot)

◆ strip_new_sequencer_enum_itemf()

static const EnumPropertyItem* strip_new_sequencer_enum_itemf ( bContext C,
PointerRNA UNUSEDptr,
PropertyRNA UNUSEDprop,
bool r_free 
)
static

Variable Documentation

◆ scale_fit_methods

const EnumPropertyItem scale_fit_methods[]
static
Initial value:
= {
{SEQ_SCALE_TO_FIT, "FIT", 0, "Scale to Fit", "Scale image to fit within the canvas"},
{SEQ_SCALE_TO_FILL, "FILL", 0, "Scale to Fill", "Scale image to completely fill the canvas"},
{SEQ_STRETCH_TO_FILL, "STRETCH", 0, "Stretch to Fill", "Stretch image to fill the canvas"},
{SEQ_USE_ORIGINAL_SIZE, "ORIGINAL", 0, "Use Original Size", "Keep image at its original size"},
{0, NULL, 0, NULL, NULL},
}
@ SEQ_SCALE_TO_FILL
@ SEQ_STRETCH_TO_FILL
@ SEQ_USE_ORIGINAL_SIZE
@ SEQ_SCALE_TO_FIT

Definition at line 90 of file sequencer_add.c.

Referenced by RNA_api_sequences(), rna_def_sequencer_tool_settings(), and sequencer_generic_props__internal().

◆ strip_new_scene_items

EnumPropertyItem strip_new_scene_items[]
static
Initial value:
= {
{SCE_COPY_NEW, "NEW", 0, "New", "Add new Strip with a new empty Scene with default settings"},
"EMPTY",
0,
"Copy Settings",
"Add a new Strip, with an empty scene, and copy settings from the current scene"},
"LINK_COPY",
0,
"Linked Copy",
"Add a Strip and link in the collections from the current scene (shallow copy)"},
"FULL_COPY",
0,
"Full Copy",
"Add a Strip and make a full copy of the current scene"},
{0, NULL, 0, NULL, NULL},
}
@ SCE_COPY_EMPTY
Definition: BKE_scene.h:30
@ SCE_COPY_NEW
Definition: BKE_scene.h:29
@ SCE_COPY_FULL
Definition: BKE_scene.h:32
@ SCE_COPY_LINK_COLLECTION
Definition: BKE_scene.h:31

Definition at line 488 of file sequencer_add.c.

Referenced by SEQUENCER_OT_scene_strip_add_new(), and strip_new_sequencer_enum_itemf().