52 static StripElem *rna_Sequence_strip_elem_from_frame(
ID *
id,
Sequence *
self,
int timeline_frame)
58 static void rna_Sequence_swap_internal(
ID *
id,
63 const char *error_msg;
71 static void rna_Sequences_move_strip_to_meta(
75 const char *error_msg;
95 const char *error_msg =
NULL;
97 bmain,
scene, seqbase, seq, frame, split_method, &error_msg);
98 if (error_msg !=
NULL) {
119 static Sequence *rna_Sequences_new_clip(
ID *
id,
130 load_data.
clip = clip;
140 static Sequence *rna_Sequences_editing_new_clip(
ID *
id,
148 return rna_Sequences_new_clip(
id, &ed->
seqbase, bmain, name, clip, channel, frame_start);
151 static Sequence *rna_Sequences_meta_new_clip(
ID *
id,
159 return rna_Sequences_new_clip(
id, &seq->
seqbase, bmain, name, clip, channel, frame_start);
162 static Sequence *rna_Sequences_new_mask(
ID *
id,
182 static Sequence *rna_Sequences_editing_new_mask(
185 return rna_Sequences_new_mask(
id, &ed->
seqbase, bmain, name,
mask, channel, frame_start);
188 static Sequence *rna_Sequences_meta_new_mask(
191 return rna_Sequences_new_mask(
id, &seq->
seqbase, bmain, name,
mask, channel, frame_start);
194 static Sequence *rna_Sequences_new_scene(
ID *
id,
205 load_data.
scene = sce_seq;
215 static Sequence *rna_Sequences_editing_new_scene(
ID *
id,
223 return rna_Sequences_new_scene(
id, &ed->
seqbase, bmain, name, sce_seq, channel, frame_start);
226 static Sequence *rna_Sequences_meta_new_scene(
ID *
id,
234 return rna_Sequences_new_scene(
id, &seq->
seqbase, bmain, name, sce_seq, channel, frame_start);
237 static Sequence *rna_Sequences_new_image(
ID *
id,
268 static Sequence *rna_Sequences_editing_new_image(
ID *
id,
278 return rna_Sequences_new_image(
279 id, &ed->
seqbase, bmain, reports, name,
file, channel, frame_start, fit_method);
282 static Sequence *rna_Sequences_meta_new_image(
ID *
id,
292 return rna_Sequences_new_image(
293 id, &seq->
seqbase, bmain, reports, name,
file, channel, frame_start, fit_method);
296 static Sequence *rna_Sequences_new_movie(
ID *
id,
319 static Sequence *rna_Sequences_editing_new_movie(
ID *
id,
328 return rna_Sequences_new_movie(
329 id, &ed->
seqbase, bmain, name,
file, channel, frame_start, fit_method);
332 static Sequence *rna_Sequences_meta_new_movie(
ID *
id,
341 return rna_Sequences_new_movie(
342 id, &seq->
seqbase, bmain, name,
file, channel, frame_start, fit_method);
345 # ifdef WITH_AUDASPACE
346 static Sequence *rna_Sequences_new_sound(
ID *
id,
387 static Sequence *rna_Sequences_editing_new_sound(
ID *
id,
396 return rna_Sequences_new_sound(
397 id, &ed->
seqbase, bmain, reports, name,
file, channel, frame_start);
400 static Sequence *rna_Sequences_meta_new_sound(
ID *
id,
409 return rna_Sequences_new_sound(
410 id, &seq->
seqbase, bmain, reports, name,
file, channel, frame_start);
416 static Sequence *rna_Sequences_new_meta(
417 ID *
id,
ListBase *seqbase,
const char *name,
int channel,
int frame_start)
427 static Sequence *rna_Sequences_editing_new_meta(
428 ID *
id,
Editing *ed,
const char *name,
int channel,
int frame_start)
430 return rna_Sequences_new_meta(
id, &ed->
seqbase, name, channel, frame_start);
433 static Sequence *rna_Sequences_meta_new_meta(
434 ID *
id,
Sequence *seq,
const char *name,
int channel,
int frame_start)
436 return rna_Sequences_new_meta(
id, &seq->
seqbase, name, channel, frame_start);
439 static Sequence *rna_Sequences_new_effect(
ID *
id,
455 switch (num_inputs) {
457 if (frame_end <= frame_start) {
484 "Sequences.new_effect: effect expects more than 3 inputs (%d, should never happen!)",
504 static Sequence *rna_Sequences_editing_new_effect(
ID *
id,
516 return rna_Sequences_new_effect(
517 id, &ed->
seqbase, reports, name,
type, channel, frame_start, frame_end, seq1, seq2, seq3);
520 static Sequence *rna_Sequences_meta_new_effect(
ID *
id,
532 return rna_Sequences_new_effect(
533 id, &seq->
seqbase, reports, name,
type, channel, frame_start, frame_end, seq1, seq2, seq3);
536 static void rna_Sequences_remove(
557 static void rna_Sequences_editing_remove(
560 rna_Sequences_remove(
id, &ed->
seqbase, bmain, reports, seq_ptr);
563 static void rna_Sequences_meta_remove(
566 rna_Sequences_remove(
id, &seq->
seqbase, bmain, reports, seq_ptr);
600 if (seq->
len <= index || index < 0) {
610 memcpy(new_seq, se,
sizeof(
StripElem) * index);
613 if (index < seq->
len) {
614 memcpy(&new_seq[index], &se[index + 1],
sizeof(
StripElem) * (seq->
len - index));
623 static void rna_Sequence_invalidate_cache_rnafunc(
ID *
id,
Sequence *
self,
int type)
658 func =
RNA_def_function(srna,
"strip_elem_from_frame",
"rna_Sequence_strip_elem_from_frame");
667 "The frame to get the strip element from",
673 RNA_def_pointer(func,
"elem",
"SequenceElement",
"",
"strip element of the current frame"));
681 func =
RNA_def_function(srna,
"move_to_meta",
"rna_Sequences_move_strip_to_meta");
686 "Destination Meta Sequence",
687 "Meta to move the strip into");
694 parm =
RNA_def_pointer(func,
"sequence",
"Sequence",
"",
"Parent Meta");
697 func =
RNA_def_function(srna,
"invalidate_cache",
"rna_Sequence_invalidate_cache_rnafunc");
700 "Invalidate cached images for strip and all dependent strips");
701 parm =
RNA_def_enum(func,
"type", seq_cahce_type_items, 0,
"Type",
"Cache Type");
708 func,
"frame", 0, INT_MIN, INT_MAX,
"",
"Frame where to split the strip", INT_MIN, INT_MAX);
710 parm =
RNA_def_enum(func,
"split_method", seq_split_method_items, 0,
"",
"");
713 parm =
RNA_def_pointer(func,
"sequence",
"Sequence",
"",
"Right side Sequence");
731 parm =
RNA_def_string(func,
"filename",
"File", 0,
"",
"Filepath to image");
734 parm =
RNA_def_pointer(func,
"elem",
"SequenceElement",
"",
"New SequenceElement");
741 func,
"index", -1, INT_MIN, INT_MAX,
"",
"Index of image to remove", INT_MIN, INT_MAX);
774 {
SEQ_SCALE_TO_FIT,
"FIT", 0,
"Scale to Fit",
"Scale image so fits in preview"},
779 "Scale image so it fills preview completely"},
780 {
SEQ_STRETCH_TO_FILL,
"STRETCH", 0,
"Stretch to Fill",
"Stretch image so it fills preview"},
785 const char *new_clip_func_name =
"rna_Sequences_editing_new_clip";
786 const char *new_mask_func_name =
"rna_Sequences_editing_new_mask";
787 const char *new_scene_func_name =
"rna_Sequences_editing_new_scene";
788 const char *new_image_func_name =
"rna_Sequences_editing_new_image";
789 const char *new_movie_func_name =
"rna_Sequences_editing_new_movie";
790 const char *new_sound_func_name =
"rna_Sequences_editing_new_sound";
791 const char *new_meta_func_name =
"rna_Sequences_editing_new_meta";
792 const char *new_effect_func_name =
"rna_Sequences_editing_new_effect";
793 const char *remove_func_name =
"rna_Sequences_editing_remove";
800 new_clip_func_name =
"rna_Sequences_meta_new_clip";
801 new_mask_func_name =
"rna_Sequences_meta_new_mask";
802 new_scene_func_name =
"rna_Sequences_meta_new_scene";
803 new_image_func_name =
"rna_Sequences_meta_new_image";
804 new_movie_func_name =
"rna_Sequences_meta_new_movie";
805 new_sound_func_name =
"rna_Sequences_meta_new_sound";
806 new_meta_func_name =
"rna_Sequences_meta_new_meta";
807 new_effect_func_name =
"rna_Sequences_meta_new_effect";
808 remove_func_name =
"rna_Sequences_meta_remove";
821 parm =
RNA_def_string(func,
"name",
"Name", 0,
"",
"Name for the new sequence");
823 parm =
RNA_def_pointer(func,
"clip",
"MovieClip",
"",
"Movie clip to add");
826 func,
"channel", 0, 1,
MAXSEQ,
"Channel",
"The channel for the new sequence", 1,
MAXSEQ);
834 "The start frame for the new sequence",
839 parm =
RNA_def_pointer(func,
"sequence",
"Sequence",
"",
"New Sequence");
845 parm =
RNA_def_string(func,
"name",
"Name", 0,
"",
"Name for the new sequence");
850 func,
"channel", 0, 1,
MAXSEQ,
"Channel",
"The channel for the new sequence", 1,
MAXSEQ);
858 "The start frame for the new sequence",
863 parm =
RNA_def_pointer(func,
"sequence",
"Sequence",
"",
"New Sequence");
869 parm =
RNA_def_string(func,
"name",
"Name", 0,
"",
"Name for the new sequence");
874 func,
"channel", 0, 1,
MAXSEQ,
"Channel",
"The channel for the new sequence", 1,
MAXSEQ);
882 "The start frame for the new sequence",
887 parm =
RNA_def_pointer(func,
"sequence",
"Sequence",
"",
"New Sequence");
893 parm =
RNA_def_string(func,
"name",
"Name", 0,
"",
"Name for the new sequence");
895 parm =
RNA_def_string(func,
"filepath",
"File", 0,
"",
"Filepath to image");
898 func,
"channel", 0, 1,
MAXSEQ,
"Channel",
"The channel for the new sequence", 1,
MAXSEQ);
906 "The start frame for the new sequence",
914 parm =
RNA_def_pointer(func,
"sequence",
"Sequence",
"",
"New Sequence");
920 parm =
RNA_def_string(func,
"name",
"Name", 0,
"",
"Name for the new sequence");
922 parm =
RNA_def_string(func,
"filepath",
"File", 0,
"",
"Filepath to movie");
925 func,
"channel", 0, 1,
MAXSEQ,
"Channel",
"The channel for the new sequence", 1,
MAXSEQ);
933 "The start frame for the new sequence",
941 parm =
RNA_def_pointer(func,
"sequence",
"Sequence",
"",
"New Sequence");
947 parm =
RNA_def_string(func,
"name",
"Name", 0,
"",
"Name for the new sequence");
949 parm =
RNA_def_string(func,
"filepath",
"File", 0,
"",
"Filepath to movie");
952 func,
"channel", 0, 1,
MAXSEQ,
"Channel",
"The channel for the new sequence", 1,
MAXSEQ);
960 "The start frame for the new sequence",
965 parm =
RNA_def_pointer(func,
"sequence",
"Sequence",
"",
"New Sequence");
971 parm =
RNA_def_string(func,
"name",
"Name", 0,
"",
"Name for the new sequence");
974 func,
"channel", 0, 1,
MAXSEQ,
"Channel",
"The channel for the new sequence", 1,
MAXSEQ);
982 "The start frame for the new sequence",
987 parm =
RNA_def_pointer(func,
"sequence",
"Sequence",
"",
"New Sequence");
993 parm =
RNA_def_string(func,
"name",
"Name", 0,
"",
"Name for the new sequence");
995 parm =
RNA_def_enum(func,
"type", seq_effect_items, 0,
"Type",
"type for the new sequence");
998 func,
"channel", 0, 1,
MAXSEQ,
"Channel",
"The channel for the new sequence", 1,
MAXSEQ);
1007 "The start frame for the new sequence",
1017 "The end frame for the new sequence",
1020 RNA_def_pointer(func,
"seq1",
"Sequence",
"",
"Sequence 1 for effect");
1021 RNA_def_pointer(func,
"seq2",
"Sequence",
"",
"Sequence 2 for effect");
1022 RNA_def_pointer(func,
"seq3",
"Sequence",
"",
"Sequence 3 for effect");
1024 parm =
RNA_def_pointer(func,
"sequence",
"Sequence",
"",
"New Sequence");
1030 parm =
RNA_def_pointer(func,
"sequence",
"Sequence",
"",
"Sequence to remove");
void BKE_reportf(ReportList *reports, eReportType type, const char *format,...) ATTR_PRINTF_FORMAT(3
void BKE_report(ReportList *reports, eReportType type, const char *message)
int BLI_findindex(const struct ListBase *listbase, const void *vlink) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1)
void BLI_split_dirfile(const char *string, char *dir, char *file, size_t dirlen, size_t filelen)
char * BLI_strncpy(char *__restrict dst, const char *__restrict src, size_t maxncpy) ATTR_NONNULL()
void DEG_id_tag_update(struct ID *id, int flag)
void DEG_relations_tag_update(struct Main *bmain)
@ ID_RECALC_SEQUENCER_STRIPS
@ SEQ_CACHE_STORE_PREPROCESSED
@ SEQ_CACHE_STORE_COMPOSITE
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum type
Contains defines and structs used throughout the imbuf module.
#define MEM_reallocN(vmemh, len)
#define RNA_POINTER_INVALIDATE(ptr)
int SEQ_effect_get_num_inputs(int seq_type)
void(* MEM_freeN)(void *vmemh)
void *(* MEM_callocN)(size_t len, const char *str)
ccl_device_inline float4 mask(const int4 &mask, const float4 &a)
StripElem * SEQ_render_give_stripelem(const Scene *scene, Sequence *seq, int timeline_frame)
PropertyRNA * RNA_def_pointer(StructOrFunctionRNA *cont_, const char *identifier, const char *type, const char *ui_name, const char *ui_description)
void RNA_def_parameter_clear_flags(PropertyRNA *prop, PropertyFlag flag_property, ParameterFlag flag_parameter)
void RNA_def_function_return(FunctionRNA *func, PropertyRNA *ret)
FunctionRNA * RNA_def_function(StructRNA *srna, const char *identifier, const char *call)
void RNA_def_property_srna(PropertyRNA *prop, const char *type)
void RNA_def_struct_ui_text(StructRNA *srna, const char *name, const char *description)
void RNA_def_struct_sdna(StructRNA *srna, const char *structname)
void RNA_def_function_ui_description(FunctionRNA *func, const char *description)
void RNA_def_function_flag(FunctionRNA *func, int flag)
StructRNA * RNA_def_struct(BlenderRNA *brna, const char *identifier, const char *from)
PropertyRNA * RNA_def_string(StructOrFunctionRNA *cont_, const char *identifier, const char *default_value, int maxlen, const char *ui_name, const char *ui_description)
PropertyRNA * RNA_def_int(StructOrFunctionRNA *cont_, const char *identifier, int default_value, int hardmin, int hardmax, const char *ui_name, const char *ui_description, int softmin, int softmax)
PropertyRNA * RNA_def_enum(StructOrFunctionRNA *cont_, const char *identifier, const EnumPropertyItem *items, int default_value, const char *ui_name, const char *ui_description)
void RNA_def_parameter_flags(PropertyRNA *prop, PropertyFlag flag_property, ParameterFlag flag_parameter)
void RNA_api_sequences(BlenderRNA *brna, PropertyRNA *cprop, const bool metastrip)
void RNA_api_sequence_strip(StructRNA *srna)
void RNA_api_sequence_elements(BlenderRNA *brna, PropertyRNA *cprop)
Editing * SEQ_editing_get(const Scene *scene)
static const EnumPropertyItem scale_fit_methods[]
Sequence * SEQ_add_meta_strip(Scene *scene, ListBase *seqbase, SeqLoadData *load_data)
void SEQ_add_image_load_file(Scene *scene, Sequence *seq, size_t strip_frame, char *filename)
Sequence * SEQ_add_movie_strip(Main *bmain, Scene *scene, ListBase *seqbase, SeqLoadData *load_data)
Sequence * SEQ_add_sound_strip(Main *UNUSED(bmain), Scene *UNUSED(scene), ListBase *UNUSED(seqbase), SeqLoadData *UNUSED(load_data))
Sequence * SEQ_add_mask_strip(Scene *scene, ListBase *seqbase, struct SeqLoadData *load_data)
Sequence * SEQ_add_image_strip(Main *bmain, Scene *scene, ListBase *seqbase, SeqLoadData *load_data)
Sequence * SEQ_add_effect_strip(Scene *scene, ListBase *seqbase, struct SeqLoadData *load_data)
Sequence * SEQ_add_movieclip_strip(Scene *scene, ListBase *seqbase, struct SeqLoadData *load_data)
void SEQ_add_image_set_directory(Sequence *seq, char *path)
void SEQ_add_image_init_alpha_mode(Sequence *seq)
Sequence * SEQ_add_scene_strip(Scene *scene, ListBase *seqbase, struct SeqLoadData *load_data)
void SEQ_add_load_data_init(SeqLoadData *load_data, const char *name, const char *path, const int start_frame, const int channel)
bool SEQ_edit_move_strip_to_meta(Scene *scene, Sequence *src_seq, Sequence *dst_seqm, const char **error_str)
void SEQ_edit_flag_for_removal(Scene *scene, ListBase *seqbase, Sequence *seq)
int SEQ_edit_sequence_swap(Scene *scene, Sequence *seq_a, Sequence *seq_b, const char **error_str)
Sequence * SEQ_edit_strip_split(Main *bmain, Scene *scene, ListBase *seqbase, Sequence *seq, const int timeline_frame, const eSeqSplitMethod method, const char **r_error)
void SEQ_edit_remove_flagged_sequences(Scene *scene, ListBase *seqbase)
void SEQ_relations_invalidate_cache_raw(Scene *scene, Sequence *seq)
struct Sequence * SEQ_find_metastrip_by_sequence(ListBase *seqbase, Sequence *meta, Sequence *seq)
void SEQ_relations_invalidate_cache_preprocessed(Scene *scene, Sequence *seq)
void SEQ_relations_invalidate_cache_composite(Scene *scene, Sequence *seq)
eSeqImageFitMethod fit_method
struct SeqLoadData::@1176 effect
struct SeqLoadData::@1175 image
ListBase * SEQ_get_seqbase_by_seq(const Scene *scene, Sequence *seq)
void WM_main_add_notifier(unsigned int type, void *reference)