Blender  V3.3
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, int start_frame, 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)
 
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)
 
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 Scene *scene, 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, 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

SeqLoadData.flags

Enumerator
SEQ_LOAD_SOUND_CACHE 
SEQ_LOAD_SOUND_MONO 
SEQ_LOAD_MOVIE_SYNC_FPS 
SEQ_LOAD_SET_VIEW_TRANSFORM 

Definition at line 19 of file SEQ_add.h.

Function Documentation

◆ SEQ_add_effect_strip()

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

◆ SEQ_add_image_init_alpha_mode()

void SEQ_add_image_init_alpha_mode ( struct Sequence seq)

◆ SEQ_add_image_load_file()

void SEQ_add_image_load_file ( struct Scene scene,
struct 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 194 of file strip_add.c.

References BLI_strncpy(), StripElem::name, scene, SEQ_render_give_stripelem(), and SEQ_time_start_frame_get().

Referenced by sequencer_add_image_strip_load_files().

◆ SEQ_add_image_set_directory()

void SEQ_add_image_set_directory ( struct Sequence seq,
char *  path 
)

Set directory used by image strip.

Parameters
seqimage strip to be changed
pathdirectory path

Definition at line 189 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 ( struct Main bmain,
struct Scene scene,
struct ListBase seqbase,
struct SeqLoadData load_data 
)

◆ SEQ_add_load_data_init()

void SEQ_add_load_data_init ( struct SeqLoadData load_data,
const char *  name,
const char *  path,
int  start_frame,
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 58 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 ( struct Scene scene,
struct 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 149 of file strip_add.c.

References BKE_mask_get_duration(), 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_MASK, and SeqLoadData::start_frame.

Referenced by sequencer_add_mask_strip_exec().

◆ SEQ_add_meta_strip()

struct Sequence* SEQ_add_meta_strip ( struct Scene scene,
struct ListBase seqbase,
struct 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 357 of file strip_add.c.

References SeqLoadData::channel, Sequence::len, scene, seq_add_set_name(), SEQ_sequence_alloc(), 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 ( struct Main bmain,
struct Scene scene,
struct ListBase seqbase,
struct SeqLoadData load_data 
)

Add movie strip.

Parameters
bmainMain 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 373 of file strip_add.c.

References SeqLoadData::adjust_playback_rate, SeqLoadData::allow_invalid_file, StripAnim::anim, Sequence::anims, BKE_main_blendfile_path(), BKE_scene_multiview_view_prefix_get(), 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, float(), anim::frs_sec, RenderData::frs_sec, anim::frs_sec_base, 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, Sequence::media_playback_rate, MEM_callocN, MEM_freeN, MEM_mallocN, StripElem::name, ColorManagedColorspaceSettings::name, NULL, openanim(), StripElem::orig_fps, StripElem::orig_height, StripElem::orig_width, SeqLoadData::path, Scene::r, R_IMF_VIEWS_INDIVIDUAL, SeqLoadData::r_video_stream_start, scene, seq_add_generic_update(), seq_add_set_name(), seq_add_set_view_transform(), seq_anim_add_suffix(), SEQ_AUTO_PLAYBACK_RATE, SEQ_LOAD_MOVIE_SYNC_FPS, seq_multiview_name(), seq_num_files(), SEQ_sequence_alloc(), SEQ_set_scale_to_fit(), 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 ( struct Scene scene,
struct 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 137 of file strip_add.c.

References BKE_movieclip_get_duration(), 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_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,
bool  lock_range 
)

Definition at line 506 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, 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_invalidate_cache_raw(), SEQ_relations_sequence_free_anim(), SEQ_time_left_handle_frame_get(), SEQ_time_left_handle_frame_set(), SEQ_time_right_handle_frame_get(), SEQ_time_right_handle_frame_set(), SEQ_transform_fix_single_image_seq_offsets(), 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, 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_split_handle_strip_offsets(), sequencer_change_path_exec(), sequencer_reload_exec(), and sequencer_slip_modal().

◆ SEQ_add_scene_strip()

struct Sequence* SEQ_add_scene_strip ( struct Scene scene,
struct 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 125 of file strip_add.c.

References 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_SCENE, RenderData::sfra, and SeqLoadData::start_frame.

Referenced by sequencer_add_scene_strip_exec(), and sequencer_add_scene_strip_new_exec().

◆ SEQ_add_sound_strip()

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

Add sound strip.

Note
Use SEQ_add_image_set_directory() and SEQ_add_image_load_file() to load image sequences
Parameters
bmainMain reference
sceneScene where strips will be added
seqbaseListBase where strips will be added
load_dataSeqLoadData with information necessary to create strip
Returns
created strip