Blender  V3.3
Classes | Typedefs | Functions
utils.c File Reference
#include <stdlib.h>
#include <string.h>
#include "MEM_guardedalloc.h"
#include "DNA_mask_types.h"
#include "DNA_scene_types.h"
#include "DNA_sequence_types.h"
#include "BLI_blenlib.h"
#include "BKE_animsys.h"
#include "BKE_image.h"
#include "BKE_main.h"
#include "BKE_scene.h"
#include "SEQ_animation.h"
#include "SEQ_channels.h"
#include "SEQ_edit.h"
#include "SEQ_iterator.h"
#include "SEQ_relations.h"
#include "SEQ_render.h"
#include "SEQ_select.h"
#include "SEQ_sequencer.h"
#include "SEQ_time.h"
#include "SEQ_utils.h"
#include "IMB_imbuf.h"
#include "IMB_imbuf_types.h"
#include "multiview.h"
#include "proxy.h"
#include "sequencer.h"
#include "utils.h"

Go to the source code of this file.

Classes

struct  SeqUniqueInfo
 

Typedefs

typedef struct SeqUniqueInfo SeqUniqueInfo
 

Functions

static void seqbase_unique_name (ListBase *seqbasep, SeqUniqueInfo *sui)
 
static bool seqbase_unique_name_recursive_fn (Sequence *seq, void *arg_pt)
 
void SEQ_sequence_base_unique_name_recursive (struct Scene *scene, ListBase *seqbasep, Sequence *seq)
 
static const char * give_seqname_by_type (int type)
 
const char * SEQ_sequence_give_name (Sequence *seq)
 
ListBaseSEQ_get_seqbase_from_sequence (Sequence *seq, ListBase **r_channels, int *r_offset)
 
void seq_open_anim_file (Scene *scene, Sequence *seq, bool openfile)
 
const SequenceSEQ_get_topmost_sequence (const Scene *scene, int frame)
 
ListBaseSEQ_get_seqbase_by_seq (const Scene *scene, Sequence *seq)
 
SequenceSEQ_get_meta_by_seqbase (ListBase *seqbase_main, ListBase *meta_seqbase)
 
SequenceSEQ_sequence_from_strip_elem (ListBase *seqbase, StripElem *se)
 
SequenceSEQ_get_sequence_by_name (ListBase *seqbase, const char *name, bool recursive)
 
MaskSEQ_active_mask_get (Scene *scene)
 
void SEQ_alpha_mode_from_file_extension (Sequence *seq)
 
bool SEQ_sequence_has_source (const Sequence *seq)
 
bool sequencer_seq_generates_image (Sequence *seq)
 
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)
 
void SEQ_ensure_unique_name (Sequence *seq, Scene *scene)
 

Typedef Documentation

◆ SeqUniqueInfo

typedef struct SeqUniqueInfo SeqUniqueInfo

Function Documentation

◆ give_seqname_by_type()

static const char* give_seqname_by_type ( int  type)
static

◆ SEQ_active_mask_get()

Mask* SEQ_active_mask_get ( Scene scene)

◆ SEQ_alpha_mode_from_file_extension()

void SEQ_alpha_mode_from_file_extension ( Sequence seq)

◆ SEQ_ensure_unique_name()

void SEQ_ensure_unique_name ( struct Sequence seq,
struct Scene scene 
)

Ensure, that provided Sequence has unique name. If animation data exists for this Sequence, it will be duplicated and mapped onto new name

Parameters
seqSequence which name will be ensured to be unique
sceneScene in which name must be unique

Definition at line 523 of file utils.c.

References Scene::adt, BKE_animdata_fix_paths_rename(), BLI_strncpy_utf8(), Scene::ed, Scene::id, LISTBASE_FOREACH, Sequence::name, NULL, scene, SEQ_NAME_MAXSTR, SEQ_sequence_base_unique_name_recursive(), SEQ_TYPE_META, Sequence::seqbase, Editing::seqbase, and Sequence::type.

Referenced by SEQ_edit_strip_split(), sequencer_add_duplicate_exec(), and sequencer_paste_exec().

◆ SEQ_get_meta_by_seqbase()

Sequence* SEQ_get_meta_by_seqbase ( ListBase seqbase_main,
ListBase meta_seqbase 
)

◆ SEQ_get_seqbase_by_seq()

ListBase* SEQ_get_seqbase_by_seq ( const Scene scene,
Sequence seq 
)

◆ SEQ_get_seqbase_from_sequence()

ListBase* SEQ_get_seqbase_from_sequence ( Sequence seq,
ListBase **  r_channels,
int *  r_offset 
)

◆ SEQ_get_sequence_by_name()

Sequence* SEQ_get_sequence_by_name ( ListBase seqbase,
const char *  name,
bool  recursive 
)

◆ SEQ_get_topmost_sequence()

const Sequence* SEQ_get_topmost_sequence ( const Scene scene,
int  frame 
)

◆ seq_open_anim_file()

void seq_open_anim_file ( Scene scene,
Sequence seq,
bool  openfile 
)

◆ SEQ_sequence_base_unique_name_recursive()

void SEQ_sequence_base_unique_name_recursive ( struct Scene scene,
ListBase seqbasep,
Sequence seq 
)

◆ SEQ_sequence_from_strip_elem()

Sequence* SEQ_sequence_from_strip_elem ( struct ListBase seqbase,
struct StripElem se 
)

Only use as last resort when the StripElem is available but no the Sequence. (needed for RNA)

Definition at line 403 of file utils.c.

References ARRAY_HAS_ITEM, ListBase::first, Sequence::len, Sequence::next, Sequence::seqbase, Sequence::strip, and Strip::stripdata.

◆ SEQ_sequence_give_name()

const char* SEQ_sequence_give_name ( Sequence seq)

◆ SEQ_sequence_has_source()

bool SEQ_sequence_has_source ( const Sequence seq)

◆ SEQ_set_scale_to_fit()

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 
)

◆ seqbase_unique_name()

static void seqbase_unique_name ( ListBase seqbasep,
SeqUniqueInfo sui 
)
static

◆ seqbase_unique_name_recursive_fn()

static bool seqbase_unique_name_recursive_fn ( Sequence seq,
void arg_pt 
)
static

◆ sequencer_seq_generates_image()

bool sequencer_seq_generates_image ( Sequence seq)