Blender V4.5
SEQ_add.hh
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2004 Blender Authors
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
5#pragma once
6
10
11#include "BLI_utildefines.h"
12
13#include "DNA_scene_enums.h"
14
15struct ListBase;
16struct Main;
17struct Mask;
18struct MovieClip;
19struct Scene;
20struct Strip;
21struct Stereo3dFormat;
22
23namespace blender::seq {
24
33
34
35struct LoadData {
38 char name[64]; /* Strip name. */
40 char path[/*FILE_MAX*/ 1024];
41 struct {
42 int len;
44 } image; /* Only for image strips. */
45 Scene *scene; /* Only for scene strips. */
46 MovieClip *clip; /* Only for clip strips. */
47 Mask *mask; /* Only for mask strips. */
48 struct {
49 int type;
50 int end_frame;
53 } effect; /* Only for effect strips. */
59 bool allow_invalid_file; /* Used by RNA API to create placeholder strips. */
60 double r_video_stream_start; /* For AV synchronization. Set by `SEQ_add_movie_strip`. */
62};
63
74 LoadData *load_data, const char *name, const char *path, int start_frame, int channel);
85Strip *add_image_strip(Main *bmain, Scene *scene, ListBase *seqbase, LoadData *load_data);
96Strip *add_sound_strip(Main *bmain, Scene *scene, ListBase *seqbase, LoadData *load_data);
97
108void add_sound_av_sync(Main *bmain, Scene *scene, Strip *strip, LoadData *load_data);
117Strip *add_meta_strip(Scene *scene, ListBase *seqbase, LoadData *load_data);
127Strip *add_movie_strip(Main *bmain, Scene *scene, ListBase *seqbase, LoadData *load_data);
136Strip *add_scene_strip(Scene *scene, ListBase *seqbase, LoadData *load_data);
145Strip *add_movieclip_strip(Scene *scene, ListBase *seqbase, LoadData *load_data);
154Strip *add_mask_strip(Scene *scene, ListBase *seqbase, LoadData *load_data);
163Strip *add_effect_strip(Scene *scene, ListBase *seqbase, LoadData *load_data);
170void add_image_set_directory(Strip *strip, const char *dirpath);
178void add_image_load_file(Scene *scene, Strip *strip, size_t strip_frame, const char *filename);
185void add_reload_new_file(Main *bmain, Scene *scene, Strip *strip, bool lock_range);
187 Main *bmain, Scene *scene, Strip *strip, bool *r_was_reloaded, bool *r_can_produce_frames);
188
189} // namespace blender::seq
#define ENUM_OPERATORS(_type, _max)
eSeqImageFitMethod
void add_movie_reload_if_needed(Main *bmain, Scene *scene, Strip *strip, bool *r_was_reloaded, bool *r_can_produce_frames)
Definition strip_add.cc:691
void add_image_init_alpha_mode(Strip *strip)
Definition strip_add.cc:207
Strip * add_effect_strip(Scene *scene, ListBase *seqbase, LoadData *load_data)
Definition strip_add.cc:165
void add_image_load_file(Scene *scene, Strip *strip, size_t strip_frame, const char *filename)
Definition strip_add.cc:201
void add_image_set_directory(Strip *strip, const char *dirpath)
Definition strip_add.cc:196
Strip * add_sound_strip(Main *, Scene *, ListBase *, LoadData *)
Definition strip_add.cc:370
void add_sound_av_sync(Main *, Scene *, Strip *, LoadData *)
Definition strip_add.cc:363
Strip * add_meta_strip(Scene *scene, ListBase *seqbase, LoadData *load_data)
Definition strip_add.cc:379
void add_reload_new_file(Main *bmain, Scene *scene, Strip *strip, const bool lock_range)
Definition strip_add.cc:529
Strip * add_scene_strip(Scene *scene, ListBase *seqbase, LoadData *load_data)
Definition strip_add.cc:130
Strip * add_image_strip(Main *bmain, Scene *scene, ListBase *seqbase, LoadData *load_data)
Definition strip_add.cc:238
Strip * add_movieclip_strip(Scene *scene, ListBase *seqbase, LoadData *load_data)
Definition strip_add.cc:142
@ SEQ_LOAD_SOUND_MONO
Definition SEQ_add.hh:28
@ SEQ_LOAD_SET_VIEW_TRANSFORM
Definition SEQ_add.hh:30
@ SEQ_LOAD_SOUND_CACHE
Definition SEQ_add.hh:27
@ SEQ_LOAD_MOVIE_SYNC_FPS
Definition SEQ_add.hh:29
Strip * add_mask_strip(Scene *scene, ListBase *seqbase, LoadData *load_data)
Definition strip_add.cc:154
Strip * add_movie_strip(Main *bmain, Scene *scene, ListBase *seqbase, LoadData *load_data)
Definition strip_add.cc:397
void add_load_data_init(LoadData *load_data, const char *name, const char *path, const int start_frame, const int channel)
Definition strip_add.cc:61
eSeqImageFitMethod fit_method
Definition SEQ_add.hh:55
Stereo3dFormat * stereo3d_format
Definition SEQ_add.hh:58
double r_video_stream_start
Definition SEQ_add.hh:60