173 return DATA_(
"Effect");
207 const char *filepath,
236 BLI_strncpy(r_proxy_dirpath,
"//BL_proxy", str_len);
256 proxy_dir_get(ed, seq,
sizeof(proxy_dirpath), proxy_dirpath);
263 const char *ext =
nullptr;
271 bool is_multiview_loaded =
false;
274 for (
int i = 0; i < totfiles; i++) {
277 SNPRINTF(filepath_view,
"%s%s%s", prefix, suffix, ext);
283 if (sanim->
anim ==
nullptr) {
291 is_multiview_loaded =
true;
294 return is_multiview_loaded;
314 bool multiview_is_loaded =
false;
320 if (!is_multiview || !multiview_is_loaded) {
338 int best_machine = -1;
355 if (seq->machine > best_machine) {
370 if (seq_meta !=
nullptr) {
402 if (
STREQ(name, iseq->name + 2)) {
407 if (rseq !=
nullptr) {
421 return seq_act->
mask;
439 return (seq->
mask !=
nullptr);
441 return (seq->
clip !=
nullptr);
443 return (seq->
scene !=
nullptr);
445 return (seq->
sound !=
nullptr);
469 const int preview_width,
470 const int preview_height,
475 switch (fit_method) {
477 transform->
scale_x = transform->scale_y = std::min(
483 transform->scale_x = transform->scale_y = std::max(
491 transform->scale_x = 1.0f;
492 transform->scale_y = 1.0f;
506 "sequence_editor.sequences_all",
void BKE_animdata_fix_paths_rename(struct ID *owner_id, struct AnimData *adt, struct ID *ref_id, const char *prefix, const char *oldName, const char *newName, int oldSubscript, int newSubscript, bool verify_paths)
ImBufAnim * openanim_noload(const char *filepath, int flags, int streamindex, char colorspace[IMA_MAX_SPACE])
ImBufAnim * openanim(const char *filepath, int flags, int streamindex, char colorspace[IMA_MAX_SPACE])
char BKE_image_alpha_mode_from_extension_ex(const char *filepath)
const char * BKE_main_blendfile_path_from_global()
const char * BKE_scene_multiview_view_id_suffix_get(const RenderData *rd, int view_id)
void BKE_scene_multiview_view_prefix_get(Scene *scene, const char *filepath, char *r_prefix, const char **r_ext)
BLI_INLINE bool BLI_listbase_is_empty(const struct ListBase *lb)
#define LISTBASE_FOREACH(type, var, list)
void BLI_addtail(struct ListBase *listbase, void *vlink) ATTR_NONNULL(1)
int BLI_findindex(const struct ListBase *listbase, const void *vlink) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1)
static constexpr int image_width
static constexpr int image_height
bool BLI_path_abs(char path[FILE_MAX], const char *basepath) ATTR_NONNULL(1
#define BLI_path_join(...)
#define STRNCPY(dst, src)
#define SNPRINTF(dst, format,...)
char * BLI_strncpy(char *__restrict dst, const char *__restrict src, size_t dst_maxncpy) ATTR_NONNULL(1
#define STRNCPY_UTF8(dst, src)
#define ARRAY_HAS_ITEM(arr_item, arr_start, arr_len)
#define BLT_I18NCONTEXT_ID_SEQUENCE
#define CTX_DATA_(context, msgid)
#define ID_BLEND_PATH_FROM_GLOBAL(_id)
@ SEQ_STORAGE_PROXY_CUSTOM_DIR
@ SEQ_EDIT_PROXY_DIR_STORAGE
void IMB_suffix_anim(ImBufAnim *anim, const char *suffix)
Contains defines and structs used throughout the imbuf module.
Read Guarded memory(de)allocation.
ListBase * SEQ_channels_displayed_get(Editing *ed)
additional_info("compositor_sum_squared_difference_float_shared") .push_constant(Type output_img float dot(value.rgb, luminance_coefficients)") .define("LOAD(value)"
draw_view in_light_buf[] float
void SEQ_for_each_callback(ListBase *seqbase, SeqForEachFunc callback, void *user_data)
void *(* MEM_mallocN)(size_t len, const char *str)
int seq_num_files(Scene *scene, char views_format, const bool is_multiview)
void seq_proxy_index_dir_set(ImBufAnim *anim, const char *base_dir)
bool SEQ_render_is_muted(const ListBase *channels, const Sequence *seq)
Sequence * seq_sequence_lookup_meta_by_seq(const Scene *scene, const Sequence *key)
bool sequencer_seq_generates_image(Sequence *seq)
const char * SEQ_sequence_give_name(const Sequence *seq)
static void proxy_dir_get(Editing *ed, Sequence *seq, size_t str_len, char *r_proxy_dirpath)
ListBase * SEQ_get_seqbase_by_seq(const Scene *scene, Sequence *seq)
Sequence * SEQ_get_sequence_by_name(ListBase *seqbase, const char *name, bool recursive)
void SEQ_sequence_base_unique_name_recursive(Scene *scene, ListBase *seqbasep, Sequence *seq)
static void seqbase_unique_name(ListBase *seqbasep, SeqUniqueInfo *sui)
void seq_open_anim_file(Scene *scene, Sequence *seq, bool openfile)
static const char * give_seqname_by_type(int type)
void SEQ_alpha_mode_from_file_extension(Sequence *seq)
ListBase * SEQ_get_seqbase_from_sequence(Sequence *seq, ListBase **r_channels, int *r_offset)
static bool open_anim_file_multiview(Scene *scene, Sequence *seq, const char *filepath)
static void open_anim_filepath(Sequence *seq, StripAnim *sanim, const char *filepath, bool openfile)
void SEQ_set_scale_to_fit(const Sequence *seq, const int image_width, const int image_height, const int preview_width, const int preview_height, const eSeqImageFitMethod fit_method)
Sequence * SEQ_sequence_from_strip_elem(ListBase *seqbase, StripElem *se)
static bool seqbase_unique_name_recursive_fn(Sequence *seq, void *arg_pt)
void SEQ_ensure_unique_name(Sequence *seq, Scene *scene)
bool SEQ_sequence_has_valid_data(const Sequence *seq)
const Sequence * SEQ_get_topmost_sequence(const Scene *scene, int frame)
Mask * SEQ_active_mask_get(Scene *scene)
static bool use_proxy(Editing *ed, Sequence *seq)
static void index_dir_set(Editing *ed, Sequence *seq, StripAnim *sanim)
Editing * SEQ_editing_get(const Scene *scene)
void SEQ_edit_sequence_name_set(Scene *scene, Sequence *seq, const char *new_name)
void SEQ_relations_sequence_free_anim(Sequence *seq)
Sequence * SEQ_select_active_get(const Scene *scene)
bool SEQ_time_strip_intersects_frame(const Scene *scene, const Sequence *seq, const int timeline_frame)
float SEQ_time_start_frame_get(const Sequence *seq)
char name_dest[SEQ_NAME_MAXSTR]
char name_src[SEQ_NAME_MAXSTR]
ColorManagedColorspaceSettings colorspace_settings
StripTransform * transform