171 if (!strip->is_effect()) {
175 return DATA_(
"Effect");
184 switch (strip->
type) {
195 seqbase = &
ed->seqbase;
196 *r_channels = &
ed->channels;
197 *r_offset = strip->
scene->
r.sfra;
239 if (
ed->proxy_dir[0] == 0) {
267 const char *ext =
nullptr;
275 bool is_multiview_loaded =
false;
278 for (
int i = 0;
i < totfiles;
i++) {
281 SNPRINTF(filepath_view,
"%s%s%s", prefix, suffix, ext);
287 if (sanim->
anim ==
nullptr) {
295 is_multiview_loaded =
true;
298 return is_multiview_loaded;
319 bool multiview_is_loaded =
false;
325 if (!is_multiview || !multiview_is_loaded) {
342 const Strip *best_strip =
nullptr;
343 int best_channel = -1;
351 if (
ELEM(strip->type,
359 if (strip->channel > best_channel) {
374 if (strip_meta !=
nullptr) {
387 for (istrip =
static_cast<Strip *
>(seqbase->
first); istrip; istrip = istrip->
next) {
395 istrip = strip_found;
411 if (rseq !=
nullptr) {
425 return strip_act->
mask;
441 switch (strip->
type) {
443 return (strip->
mask !=
nullptr);
445 return (strip->
clip !=
nullptr);
447 return (strip->
scene !=
nullptr);
449 return (strip->
sound !=
nullptr);
457 switch (strip->
type) {
473 const int preview_width,
474 const int preview_height,
479 switch (fit_method) {
510 "sequence_editor.strips_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)
MovieReader * openanim(const char *filepath, int ibuf_flags, int streamindex, bool keep_original_colorspace, char colorspace[IMA_MAX_SPACE])
char BKE_image_alpha_mode_from_extension_ex(const char *filepath)
MovieReader * openanim_noload(const char *filepath, int flags, int streamindex, bool keep_original_colorspace, char colorspace[IMA_MAX_SPACE])
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)
int BLI_findindex(const ListBase *listbase, const void *vlink) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1)
#define LISTBASE_FOREACH(type, var, list)
BLI_INLINE bool BLI_listbase_is_empty(const ListBase *lb)
void BLI_addtail(ListBase *listbase, void *vlink) 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 SNPRINTF(dst, format,...)
char * STRNCPY(char(&dst)[N], const char *src)
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_EDIT_PROXY_DIR_STORAGE
@ SEQ_STORAGE_PROXY_CUSTOM_DIR
#define STRIP_NAME_MAXSTR
@ STRIP_TYPE_GAUSSIAN_BLUR
Read Guarded memory(de)allocation.
SIMD_FORCE_INLINE btVector3 transform(const btVector3 &point) const
dot(value.rgb, luminance_coefficients)") DEFINE_VALUE("REDUCE(lhs
void * MEM_mallocN(size_t len, const char *str)
void MOV_set_multiview_suffix(MovieReader *anim, const char *suffix)
bool render_is_muted(const ListBase *channels, const Strip *strip)
void relations_strip_free_anim(Strip *strip)
Strip * lookup_meta_by_strip(Editing *ed, const Strip *key)
void foreach_strip(ListBase *seqbase, ForEachFunc callback, void *user_data)
bool sequencer_strip_generates_image(Strip *strip)
static void open_anim_filepath(Strip *strip, StripAnim *sanim, const char *filepath, bool openfile)
ListBase * channels_displayed_get(const Editing *ed)
const Strip * strip_topmost_get(const Scene *scene, int frame)
static bool use_proxy(Editing *ed, Strip *strip)
Editing * editing_get(const Scene *scene)
Strip * strip_from_strip_elem(ListBase *seqbase, StripElem *se)
ListBase * get_seqbase_by_strip(const Scene *scene, Strip *strip)
void edit_strip_name_set(Scene *scene, Strip *strip, const char *new_name)
void strip_open_anim_file(Scene *scene, Strip *strip, bool openfile)
const char * strip_give_name(const Strip *strip)
float time_start_frame_get(const Strip *strip)
Strip * select_active_get(const Scene *scene)
bool strip_has_valid_data(const Strip *strip)
void seq_proxy_index_dir_set(MovieReader *anim, const char *base_dir)
bool time_strip_intersects_frame(const Scene *scene, const Strip *strip, const int timeline_frame)
const char * get_default_stripname_by_type(int type)
Strip * get_strip_by_name(ListBase *seqbase, const char *name, bool recursive)
static void seqbase_unique_name(ListBase *seqbasep, StripUniqueInfo *sui)
void strip_unique_name_set(Scene *scene, ListBase *seqbasep, Strip *strip)
static bool seqbase_unique_name_recursive_fn(Strip *strip, void *arg_pt)
static void index_dir_set(Editing *ed, Strip *strip, StripAnim *sanim)
void alpha_mode_from_file_extension(Strip *strip)
void ensure_unique_name(Strip *strip, Scene *scene)
Mask * active_mask_get(Scene *scene)
ListBase * get_seqbase_from_strip(Strip *strip, ListBase **r_channels, int *r_offset)
int seq_num_files(Scene *scene, char views_format, const bool is_multiview)
static void proxy_dir_get(Editing *ed, Strip *strip, char r_proxy_dirpath[FILE_MAX])
void set_scale_to_fit(const Strip *strip, const int image_width, const int image_height, const int preview_width, const int preview_height, const eSeqImageFitMethod fit_method)
static bool open_anim_file_multiview(Scene *scene, Strip *strip, const char *filepath)
struct MovieReader * anim
StripTransform * transform
ColorManagedColorspaceSettings colorspace_settings
char name_dest[STRIP_NAME_MAXSTR]
char name_src[STRIP_NAME_MAXSTR]