Blender  V2.93
Classes | Typedefs | Enumerations | Functions
SEQ_add.h File Reference

Go to the source code of this file.

Classes

struct  SeqLoadData
 

Typedefs

typedef enum eSeqLoadFlags eSeqLoadFlags
 
typedef struct SeqLoadData SeqLoadData
 

Enumerations

enum  eSeqLoadFlags { SEQ_LOAD_SOUND_CACHE = (1 << 1) , SEQ_LOAD_SOUND_MONO = (1 << 2) , SEQ_LOAD_MOVIE_SYNC_FPS = (1 << 3) , SEQ_LOAD_SET_VIEW_TRANSFORM = (1 << 4) }
 

Functions

void SEQ_add_load_data_init (struct SeqLoadData *load_data, const char *name, const char *path, const int start_frame, const int channel)
 
struct SequenceSEQ_add_image_strip (struct Main *bmain, struct Scene *scene, struct ListBase *seqbase, struct SeqLoadData *load_data)
 
struct SequenceSEQ_add_sound_strip (struct Main *bmain, struct Scene *scene, struct ListBase *seqbase, struct SeqLoadData *load_data, const double audio_offset)
 
struct SequenceSEQ_add_meta_strip (struct Scene *scene, struct ListBase *seqbase, struct SeqLoadData *load_data)
 
struct SequenceSEQ_add_movie_strip (struct Main *bmain, struct Scene *scene, struct ListBase *seqbase, struct SeqLoadData *load_data, double *r_video_start_offset)
 
struct SequenceSEQ_add_scene_strip (struct Scene *scene, struct ListBase *seqbase, struct SeqLoadData *load_data)
 
struct SequenceSEQ_add_movieclip_strip (struct Scene *scene, struct ListBase *seqbase, struct SeqLoadData *load_data)
 
struct SequenceSEQ_add_mask_strip (struct Scene *scene, struct ListBase *seqbase, struct SeqLoadData *load_data)
 
struct SequenceSEQ_add_effect_strip (struct Scene *scene, struct ListBase *seqbase, struct SeqLoadData *load_data)
 
void SEQ_add_image_set_directory (struct Sequence *seq, char *path)
 
void SEQ_add_image_load_file (struct Sequence *seq, size_t strip_frame, char *filename)
 
void SEQ_add_image_init_alpha_mode (struct Sequence *seq)
 
void SEQ_add_reload_new_file (struct Main *bmain, struct Scene *scene, struct Sequence *seq, const bool lock_range)
 
void SEQ_add_movie_reload_if_needed (struct Main *bmain, struct Scene *scene, struct Sequence *seq, bool *r_was_reloaded, bool *r_can_produce_frames)
 

Typedef Documentation

◆ eSeqLoadFlags

◆ SeqLoadData

typedef struct SeqLoadData SeqLoadData

Enumeration Type Documentation

◆ eSeqLoadFlags

Enumerator
SEQ_LOAD_SOUND_CACHE 
SEQ_LOAD_SOUND_MONO 
SEQ_LOAD_MOVIE_SYNC_FPS 
SEQ_LOAD_SET_VIEW_TRANSFORM 

Definition at line 35 of file SEQ_add.h.

Function Documentation

◆ SEQ_add_effect_strip()

struct Sequence* SEQ_add_effect_strip ( Scene scene,
ListBase seqbase,
struct SeqLoadData load_data 
)

◆ SEQ_add_image_init_alpha_mode()

void SEQ_add_image_init_alpha_mode ( Sequence seq)

◆ SEQ_add_image_load_file()

void SEQ_add_image_load_file ( Sequence seq,
size_t  strip_frame,
char *  filename 
)

Set directory used by image strip.

Parameters
seqimage strip to be changed
strip_frameframe index of strip to be changed
filenameimage filename (only filename, not complete path)

Definition at line 276 of file strip_add.c.

References BLI_strncpy(), StripElem::name, SEQ_render_give_stripelem(), and Sequence::start.

Referenced by sequencer_add_image_strip_load_files().

◆ SEQ_add_image_set_directory()

void SEQ_add_image_set_directory ( Sequence seq,
char *  path 
)

Set directory used by image strip.

Parameters
seqimage strip to be changed
pathdirectory path

Definition at line 264 of file strip_add.c.

References BLI_strncpy(), Strip::dir, and Sequence::strip.

Referenced by sequencer_add_image_strip_load_files().

◆ SEQ_add_image_strip()

struct Sequence* SEQ_add_image_strip ( Main bmain,
Scene scene,
ListBase seqbase,
SeqLoadData load_data 
)

◆ SEQ_add_load_data_init()

void SEQ_add_load_data_init ( SeqLoadData load_data,
const char *  name,
const char *  path,
const int  start_frame,
const int  channel 
)

Initialize common SeqLoadData members

Parameters
load_dataSeqLoadData to be initialized
namestrip name (can be NULL)
pathpath to file that is used as strip input (can be NULL)
start_frametimeline frame where strip will be created
channeltimeline channel where strip will be created

Definition at line 82 of file strip_add.c.

References BLI_strncpy(), SeqLoadData::channel, SeqLoadData::name, NULL, SeqLoadData::path, and SeqLoadData::start_frame.

◆ SEQ_add_mask_strip()

struct Sequence* SEQ_add_mask_strip ( Scene scene,
ListBase seqbase,
struct SeqLoadData load_data 
)

Add mask strip.

Parameters
sceneScene where strips will be added
seqbaseListBase where strips will be added
load_dataSeqLoadData with information necessary to create strip
Returns
created strip

Definition at line 200 of file strip_add.c.

References BKE_mask_get_duration(), Sequence::blend_mode, SeqLoadData::channel, id_us_ensure_real(), Sequence::len, Sequence::mask, SeqLoadData::mask, scene, seq_add_generic_update(), seq_add_set_name(), SEQ_sequence_alloc(), SEQ_TYPE_CROSS, SEQ_TYPE_MASK, and SeqLoadData::start_frame.

Referenced by sequencer_add_mask_strip_exec().

◆ SEQ_add_meta_strip()

struct Sequence* SEQ_add_meta_strip ( Scene scene,
ListBase seqbase,
SeqLoadData load_data 
)

Add meta strip.

Parameters
sceneScene where strips will be added
seqbaseListBase where strips will be added
load_dataSeqLoadData with information necessary to create strip
Returns
created strip

Definition at line 482 of file strip_add.c.

References SeqLoadData::channel, Sequence::len, scene, seq_add_set_name(), SEQ_sequence_alloc(), SEQ_time_update_sequence(), SEQ_TYPE_META, Sequence::start, and SeqLoadData::start_frame.

◆ SEQ_add_movie_reload_if_needed()

void SEQ_add_movie_reload_if_needed ( struct Main bmain,
struct Scene scene,
struct Sequence seq,
bool *  r_was_reloaded,
bool *  r_can_produce_frames 
)

◆ SEQ_add_movie_strip()

struct Sequence* SEQ_add_movie_strip ( Main bmain,
Scene scene,
ListBase seqbase,
SeqLoadData load_data,
double r_video_start_offset 
)

Add movie strip.

Parameters
mainMain reference
sceneScene where strips will be added
seqbaseListBase where strips will be added
load_dataSeqLoadData with information necessary to create strip
Returns
created strip

Definition at line 508 of file strip_add.c.

References SeqLoadData::allow_invalid_file, StripAnim::anim, Sequence::anims, BKE_main_blendfile_path(), BKE_scene_multiview_view_prefix_get(), Sequence::blend_mode, BLI_addtail(), BLI_path_abs(), BLI_split_dirfile(), BLI_strncpy(), SeqLoadData::channel, anim::colorspace, Strip::colorspace_settings, Strip::dir, FILE_MAX, SeqLoadData::fit_method, Sequence::flag, SeqLoadData::flags, RenderData::frs_sec, RenderData::frs_sec_base, IB_rect, IMB_anim_get_duration(), IMB_anim_get_fps(), IMB_anim_get_image_height(), IMB_anim_get_image_width(), IMB_anim_load_metadata(), IMB_TC_RECORD_RUN, IMD_anim_get_offset(), Sequence::len, MAX2, MEM_callocN, MEM_freeN, MEM_mallocN, StripElem::name, ColorManagedColorspaceSettings::name, NULL, openanim(), StripElem::orig_height, StripElem::orig_width, SeqLoadData::path, Scene::r, R_IMF_VIEWS_INDIVIDUAL, scene, seq_add_generic_update(), seq_add_set_name(), seq_add_set_view_transform(), seq_anim_add_suffix(), SEQ_LOAD_MOVIE_SYNC_FPS, seq_multiview_name(), seq_num_files(), SEQ_sequence_alloc(), SEQ_set_scale_to_fit(), SEQ_TYPE_CROSS, SEQ_TYPE_MOVIE, SEQ_USE_VIEWS, SeqLoadData::start_frame, Sequence::stereo3d_format, SeqLoadData::stereo3d_format, str, Sequence::strip, Strip::stripdata, SeqLoadData::use_multiview, Sequence::views_format, SeqLoadData::views_format, RenderData::xsch, and RenderData::ysch.

Referenced by sequencer_add_movie_multiple_strips(), and sequencer_add_movie_single_strip().

◆ SEQ_add_movieclip_strip()

struct Sequence* SEQ_add_movieclip_strip ( Scene scene,
ListBase seqbase,
struct SeqLoadData load_data 
)

Add movieclip strip.

Parameters
sceneScene where strips will be added
seqbaseListBase where strips will be added
load_dataSeqLoadData with information necessary to create strip
Returns
created strip

Definition at line 179 of file strip_add.c.

References BKE_movieclip_get_duration(), Sequence::blend_mode, SeqLoadData::channel, Sequence::clip, SeqLoadData::clip, id_us_ensure_real(), Sequence::len, scene, seq_add_generic_update(), seq_add_set_name(), SEQ_sequence_alloc(), SEQ_TYPE_CROSS, SEQ_TYPE_MOVIECLIP, and SeqLoadData::start_frame.

Referenced by sequencer_add_movieclip_strip_exec().

◆ SEQ_add_reload_new_file()

void SEQ_add_reload_new_file ( struct Main bmain,
struct Scene scene,
struct Sequence seq,
const bool  lock_range 
)

Definition at line 623 of file strip_add.c.

References StripAnim::anim, Sequence::anim_endofs, Sequence::anim_startofs, Sequence::anims, BKE_main_blendfile_path_from_global(), BKE_mask_get_duration(), BKE_movieclip_get_duration(), BKE_scene_multiview_view_prefix_get(), BKE_sound_get_length(), BLI_addtail(), BLI_join_dirfile(), BLI_path_abs(), ceil(), Sequence::clip, Strip::colorspace_settings, Strip::dir, RenderData::efra, ELEM, Sequence::enddisp, FILE_MAX, ListBase::first, Sequence::flag, FPS, free_proxy_seq(), IB_animdeinterlace, IB_rect, if(), IMB_anim_get_duration(), IMB_anim_load_metadata(), IMB_TC_RECORD_RUN, Sequence::len, Sequence::mask, MEM_allocN_len, MEM_mallocN, StripElem::name, ColorManagedColorspaceSettings::name, NULL, openanim(), Strip::proxy, Scene::r, R_IMF_VIEWS_INDIVIDUAL, R_MULTIVIEW, RenderData::scemode, scene, Sequence::scene, seq_anim_add_suffix(), SEQ_FILTERY, seq_multiview_name(), seq_num_files(), SEQ_relations_sequence_free_anim(), SEQ_time_update_sequence(), SEQ_time_update_sequence_bounds(), SEQ_transform_fix_single_image_seq_offsets(), SEQ_transform_set_left_handle_frame(), SEQ_transform_set_right_handle_frame(), SEQ_TYPE_IMAGE, SEQ_TYPE_MASK, SEQ_TYPE_META, SEQ_TYPE_MOVIE, SEQ_TYPE_MOVIECLIP, SEQ_TYPE_SCENE, SEQ_TYPE_SOUND_RAM, SEQ_USE_VIEWS, RenderData::sfra, Sequence::sound, Sequence::startdisp, str, Sequence::streamindex, Sequence::strip, Strip::stripdata, StripProxy::tc, Sequence::type, UNUSED_VARS, and Sequence::views_format.

Referenced by SEQ_add_movie_reload_if_needed(), SEQ_edit_strip_split(), sequencer_change_path_exec(), sequencer_reload_exec(), and sequencer_slip_modal().

◆ SEQ_add_scene_strip()

struct Sequence* SEQ_add_scene_strip ( Scene scene,
ListBase seqbase,
struct SeqLoadData load_data 
)

Add scene strip.

Parameters
sceneScene where strips will be added
seqbaseListBase where strips will be added
load_dataSeqLoadData with information necessary to create strip
Returns
created strip

Definition at line 158 of file strip_add.c.

References Sequence::blend_mode, SeqLoadData::channel, RenderData::efra, id_us_ensure_real(), Sequence::len, Scene::r, scene, Sequence::scene, SeqLoadData::scene, seq_add_generic_update(), seq_add_set_name(), SEQ_sequence_alloc(), SEQ_TYPE_CROSS, SEQ_TYPE_SCENE, RenderData::sfra, and SeqLoadData::start_frame.

Referenced by sequencer_add_scene_strip_exec().

◆ SEQ_add_sound_strip()

struct Sequence* SEQ_add_sound_strip ( struct Main bmain,
struct Scene scene,
struct ListBase seqbase,
struct SeqLoadData load_data,
const double  audio_offset 
)