104 typedef struct SequenceSearchData {
108 } SequenceSearchData;
127 static void rna_Sequence_invalidate_raw_update(
Main *
UNUSED(bmain),
141 static void rna_Sequence_invalidate_preprocessed_update(
Main *
UNUSED(bmain),
171 rna_Sequence_invalidate_raw_update(bmain,
scene,
ptr);
179 rna_Sequence_invalidate_raw_update(bmain,
scene,
ptr);
237 static int rna_SequenceEditor_sequences_all_lookup_string(
PointerRNA *
ptr,
252 static void rna_SequenceEditor_update_cache(
Main *
UNUSED(bmain),
263 static int rna_SequenceEditor_elements_length(
PointerRNA *
ptr)
281 rna_SequenceEditor_elements_length(
ptr),
288 rna_Sequence_invalidate_raw_update(bmain,
scene,
ptr);
307 static void rna_Sequence_frame_change_update(
Main *
UNUSED(bmain),
315 static int rna_Sequence_frame_final_start_get(
PointerRNA *
ptr)
327 static void rna_Sequence_start_frame_final_set(
PointerRNA *
ptr,
float value)
334 do_sequence_frame_change_update(
scene, seq);
338 static void rna_Sequence_end_frame_final_set(
PointerRNA *
ptr,
int value)
345 do_sequence_frame_change_update(
scene, seq);
349 static void rna_Sequence_start_frame_set(
PointerRNA *
ptr,
float value)
355 do_sequence_frame_change_update(
scene, seq);
359 static void rna_Sequence_frame_offset_start_set(
PointerRNA *
ptr,
float value)
368 static void rna_Sequence_frame_offset_end_set(
PointerRNA *
ptr,
float value)
377 static void rna_Sequence_anim_startofs_final_set(
PointerRNA *
ptr,
int value)
385 do_sequence_frame_change_update(
scene, seq);
388 static void rna_Sequence_anim_endofs_final_set(
PointerRNA *
ptr,
int value)
396 do_sequence_frame_change_update(
scene, seq);
399 static void rna_Sequence_anim_endofs_final_range(
408 static void rna_Sequence_anim_startofs_final_range(
417 static void rna_Sequence_frame_offset_start_range(
425 static void rna_Sequence_frame_offset_end_range(
433 static void rna_Sequence_frame_length_set(
PointerRNA *
ptr,
int value)
439 do_sequence_frame_change_update(
scene, seq);
457 static void rna_Sequence_channel_set(
PointerRNA *
ptr,
int value)
464 const int channel_delta = (value >= seq->
machine) ? 1 : -1;
473 static void rna_Sequence_use_proxy_set(
PointerRNA *
ptr,
bool value)
479 static bool transform_seq_cmp_fn(
Sequence *seq,
void *arg_pt)
481 SequenceSearchData *
data = arg_pt;
492 SequenceSearchData
data;
503 static char *rna_SequenceTransform_path(
const PointerRNA *
ptr)
510 char name_esc[(
sizeof(seq->
name) - 2) * 2];
513 return BLI_sprintfN(
"sequence_editor.sequences_all[\"%s\"].transform", name_esc);
520 static void rna_SequenceTransform_update(
Main *
UNUSED(bmain),
531 static bool crop_seq_cmp_fn(
Sequence *seq,
void *arg_pt)
533 SequenceSearchData *
data = arg_pt;
544 SequenceSearchData
data;
562 char name_esc[(
sizeof(seq->
name) - 2) * 2];
565 return BLI_sprintfN(
"sequence_editor.sequences_all[\"%s\"].crop", name_esc);
593 data->text_font = value;
597 static void rna_Sequence_name_get(
PointerRNA *
ptr,
char *value)
606 return strlen(seq->
name + 2);
609 static void rna_Sequence_name_set(
PointerRNA *
ptr,
const char *value)
613 char oldname[
sizeof(seq->
name)];
635 &
scene->
id, adt,
NULL,
"sequence_editor.sequences_all", oldname, seq->
name + 2, 0, 0, 1);
645 return &RNA_ImageSequence;
647 return &RNA_MetaSequence;
649 return &RNA_SceneSequence;
651 return &RNA_MovieSequence;
653 return &RNA_MovieClipSequence;
655 return &RNA_MaskSequence;
657 return &RNA_SoundSequence;
659 return &RNA_CrossSequence;
661 return &RNA_AddSequence;
663 return &RNA_SubtractSequence;
665 return &RNA_AlphaOverSequence;
667 return &RNA_AlphaUnderSequence;
669 return &RNA_GammaCrossSequence;
671 return &RNA_MultiplySequence;
673 return &RNA_OverDropSequence;
675 return &RNA_MulticamSequence;
677 return &RNA_AdjustmentSequence;
679 return &RNA_WipeSequence;
681 return &RNA_GlowSequence;
683 return &RNA_TransformSequence;
685 return &RNA_ColorSequence;
687 return &RNA_SpeedControlSequence;
689 return &RNA_GaussianBlurSequence;
691 return &RNA_TextSequence;
693 return &RNA_ColorMixSequence;
695 return &RNA_Sequence;
706 char name_esc[(
sizeof(seq->
name) - 2) * 2];
709 return BLI_sprintfN(
"sequence_editor.sequences_all[\"%s\"]", name_esc);
718 static bool rna_MovieSequence_reload_if_needed(
ID *scene_id,
Sequence *seq,
Main *bmain)
723 bool can_produce_frames;
727 if (has_reloaded && can_produce_frames) {
734 return can_produce_frames;
749 if (metadata ==
NULL) {
767 static void rna_Sequence_filepath_set(
PointerRNA *
ptr,
const char *value)
777 static void rna_Sequence_filepath_get(
PointerRNA *
ptr,
char *value)
793 static void rna_Sequence_proxy_filepath_set(
PointerRNA *
ptr,
const char *value)
803 static void rna_Sequence_proxy_filepath_get(
PointerRNA *
ptr,
char *value)
810 static int rna_Sequence_proxy_filepath_length(
PointerRNA *
ptr)
827 rna_Sequence_audio_update(bmain,
scene,
ptr);
830 static void rna_Sequence_speed_factor_set(
PointerRNA *
ptr,
float value)
837 static void rna_Sequence_pan_range(
845 *softmin = -*softmax;
883 rna_Sequence_input_set(
ptr, ptr_value, reports, 1);
890 rna_Sequence_input_set(
ptr, ptr_value, reports, 2);
893 static void rna_SoundSequence_filename_set(
PointerRNA *
ptr,
const char *value)
903 static void rna_SequenceElement_filename_set(
PointerRNA *
ptr,
const char *value)
916 rna_Sequence_invalidate_raw_update(bmain,
scene,
ptr);
928 rna_Sequence_invalidate_raw_update(bmain,
scene,
ptr);
938 static bool seqproxy_seq_cmp_fn(
Sequence *seq,
void *arg_pt)
940 SequenceSearchData *
data = arg_pt;
951 SequenceSearchData
data;
967 do_sequence_frame_change_update(
scene, seq);
984 static void rna_Sequence_opacity_set(
PointerRNA *
ptr,
float value)
987 CLAMP(value, 0.0f, 1.0f);
997 static void rna_Sequence_color_tag_set(
PointerRNA *
ptr,
int value)
1003 static bool colbalance_seq_cmp_fn(
Sequence *seq,
void *arg_pt)
1005 SequenceSearchData *
data = arg_pt;
1026 SequenceSearchData
data;
1040 static char *rna_SequenceColorBalance_path(
const PointerRNA *
ptr)
1048 char name_esc[(
sizeof(seq->
name) - 2) * 2];
1054 return BLI_sprintfN(
"sequence_editor.sequences_all[\"%s\"].color_balance", name_esc);
1058 char name_esc_smd[
sizeof(smd->name) * 2];
1061 return BLI_sprintfN(
"sequence_editor.sequences_all[\"%s\"].modifiers[\"%s\"].color_balance",
1071 static void rna_SequenceColorBalance_update(
Main *
UNUSED(bmain),
1083 static void rna_SequenceEditor_overlay_lock_set(
PointerRNA *
ptr,
bool value)
1103 static int rna_SequenceEditor_overlay_frame_get(
PointerRNA *
ptr)
1120 static void rna_SequenceEditor_overlay_frame_set(
PointerRNA *
ptr,
int value)
1137 static void rna_SequenceEditor_display_stack(
ID *
id,
1157 static bool modifier_seq_cmp_fn(
Sequence *seq,
void *arg_pt)
1159 SequenceSearchData *
data = arg_pt;
1171 SequenceSearchData
data;
1186 switch (smd->
type) {
1188 return &RNA_ColorBalanceModifier;
1190 return &RNA_CurvesModifier;
1192 return &RNA_HueCorrectModifier;
1194 return &RNA_BrightContrastModifier;
1196 return &RNA_WhiteBalanceModifier;
1198 return &RNA_SequencerTonemapModifierData;
1200 return &RNA_SequenceModifier;
1204 static char *rna_SequenceModifier_path(
const PointerRNA *
ptr)
1209 Sequence *seq = sequence_get_by_modifier(ed, smd);
1212 char name_esc[(
sizeof(seq->
name) - 2) * 2];
1213 char name_esc_smd[
sizeof(smd->
name) * 2];
1218 "sequence_editor.sequences_all[\"%s\"].modifiers[\"%s\"]", name_esc, name_esc_smd);
1225 static void rna_SequenceModifier_name_set(
PointerRNA *
ptr,
const char *value)
1230 Sequence *seq = sequence_get_by_modifier(ed, smd);
1232 char oldname[
sizeof(smd->
name)];
1248 char seq_name_esc[(
sizeof(seq->
name) - 2) * 2];
1252 path,
sizeof(path),
"sequence_editor.sequences_all[\"%s\"].modifiers", seq_name_esc);
1303 static void rna_Sequence_modifier_remove(
Sequence *seq,
1340 Sequence *seq = sequence_get_by_modifier(ed, smd);
1358 static void rna_Sequence_separate(
ID *
id,
Sequence *seqm,
Main *bmain)
1391 channel_owner = seq;
1396 return channel_owner;
1399 static void rna_SequenceTimelineChannel_name_set(
PointerRNA *
ptr,
const char *value)
1405 Sequence *channel_owner = rna_SeqTimelineChannel_owner_get(ed, channel);
1408 if (channel_owner !=
NULL) {
1409 channels_base = &channel_owner->
channels;
1418 sizeof(channel->
name));
1421 static char *rna_SeqTimelineChannel_path(
const PointerRNA *
ptr)
1427 Sequence *channel_owner = rna_SeqTimelineChannel_owner_get(ed, channel);
1429 char channel_name_esc[(
sizeof(channel->
name)) * 2];
1432 if (channel_owner ==
NULL) {
1433 return BLI_sprintfN(
"sequence_editor.channels[\"%s\"]", channel_name_esc);
1436 char owner_name_esc[(
sizeof(channel_owner->
name) - 2) * 2];
1438 return BLI_sprintfN(
"sequence_editor.sequences_all[\"%s\"].channels[\"%s\"]",
1585 "Use images in the order as they are recorded"},
1590 "Use global timestamp written by recording device"},
1592 "FREE_RUN_REC_DATE",
1594 "Free Run (rec date)",
1595 "Interpolate a global timestamp using the "
1596 "record date and time written by recording device"},
1598 "RECORD_RUN_NO_GAPS",
1600 "Record Run No Gaps",
1601 "Like record run, but ignore timecode, "
1602 "changes in framerate or dropouts"},
1618 "rna_Sequence_proxy_filepath_get",
1619 "rna_Sequence_proxy_filepath_length",
1620 "rna_Sequence_proxy_filepath_set");
1656 prop,
"Free Run (Rec Date)",
"Build free run time code index using Record Date/Time");
1690 "OFFSET_POWER_SLOPE",
1692 "Offset/Power/Slope (ASC-CDL)",
1693 "ASC-CDL standard color correction"},
1699 "Sequence Color Balance Data",
1700 "Color balance parameters for a sequence strip and its modifiers");
1795 srna =
RNA_def_struct(brna,
"SequenceColorBalance",
"SequenceColorBalanceData");
1797 srna,
"Sequence Color Balance",
"Color balance parameters for a sequence strip");
1854 parm =
RNA_def_string(func,
"name",
"Name", 0,
"",
"New name for the modifier");
1862 "Modifier type to add");
1865 parm =
RNA_def_pointer(func,
"modifier",
"SequenceModifier",
"",
"Newly created modifier");
1873 parm =
RNA_def_pointer(func,
"modifier",
"SequenceModifier",
"",
"Modifier to remove");
1925 prop,
"rna_Sequence_name_get",
"rna_Sequence_name_length",
"rna_Sequence_name_set");
1958 prop,
"Mute",
"Disable strip so that it cannot be viewed in the output");
1974 prop,
"Length",
"The length of the contents of this strip after the handles are applied");
1976 prop,
"rna_Sequence_frame_length_get",
"rna_Sequence_frame_length_set",
NULL);
1986 prop,
"Length",
"The length of the contents of this strip before the handles are applied");
1994 prop,
NULL,
"rna_Sequence_start_frame_set",
NULL);
2002 prop,
"rna_Sequence_frame_final_start_get",
"rna_Sequence_start_frame_final_set",
NULL);
2008 "Start frame displayed in the sequence editor after offsets are applied, setting this is "
2009 "equivalent to moving the handle, not the actual start frame");
2017 prop,
"rna_Sequence_frame_final_end_get",
"rna_Sequence_end_frame_final_set",
NULL);
2021 prop,
"End Frame",
"End frame displayed in the sequence editor after offsets are applied");
2032 prop,
NULL,
"rna_Sequence_frame_offset_start_set",
"rna_Sequence_frame_offset_start_range");
2041 prop,
NULL,
"rna_Sequence_frame_offset_end_set",
"rna_Sequence_frame_offset_end_range");
2056 "Use Linear Modifiers",
2057 "Calculate modifiers in linear space instead of sequencer's space");
2067 prop,
"Blending Mode",
"Method for controlling how the strip combines with other strips");
2074 prop,
"Blend Opacity",
"Percentage of how much the strip's colors affect other strips");
2093 "Fade effect using the built-in default (usually make transition as long as "
2101 prop,
"rna_Sequence_color_tag_get",
"rna_Sequence_color_tag_set",
NULL);
2116 "Cache raw images read from disk, for faster tweaking of strip "
2117 "parameters at the cost of memory usage");
2123 "Cache Preprocessed",
2124 "Cache preprocessed images, for faster tweaking of effects at the cost of memory usage");
2130 "Cache intermediate composited images, for faster tweaking of stacked "
2131 "strips at the cost of memory usage");
2176 {0,
"PER_STRIP", 0,
"Per Strip",
"Store proxies using per strip settings"},
2181 "Store proxies using project directory"},
2199 prop,
"All Sequences",
"All strips, recursively including those inside metastrips");
2201 "rna_SequenceEditor_sequences_all_begin",
2202 "rna_SequenceEditor_sequences_all_next",
2203 "rna_SequenceEditor_sequences_all_end",
2204 "rna_SequenceEditor_sequences_all_get",
2207 "rna_SequenceEditor_sequences_all_lookup_string",
2214 prop,
"Meta Stack",
"Meta strip stack, last is currently edited meta strip");
2231 prop,
"Show Overlay",
"Partial overlay on top of the sequencer with a frame offset");
2244 prop,
"rna_SequenceEditor_overlay_frame_get",
"rna_SequenceEditor_overlay_frame_set",
NULL);
2288 "Cache raw images read from disk, for faster tweaking of strip "
2289 "parameters at the cost of memory usage");
2295 "Cache Pre-processed",
2296 "Cache pre-processed images, for faster tweaking of effects at the cost of memory usage");
2302 "Cache intermediate composited images, for faster tweaking of stacked "
2303 "strips at the cost of memory usage");
2314 "Render frames ahead of current frame in the background for faster playback");
2319 func =
RNA_def_function(srna,
"display_stack",
"rna_SequenceEditor_display_stack");
2323 func,
"meta_sequence",
"Sequence",
"Meta Sequence",
"Meta to display its stack");
2336 prop,
NULL,
"rna_Sequence_speed_factor_set",
NULL);
2349 "RGB channels in transparent pixels are unaffected by the alpha channel"},
2354 "RGB channels in transparent pixels are multiplied by the alpha channel"},
2366 prop,
"Alpha Mode",
"Representation of alpha information in the RGBA pixels");
2429 prop,
"Use Proxy / Timecode",
"Use a preview proxy and/or time-code index for this strip");
2448 "rna_Sequence_anim_startofs_final_set",
2449 "rna_Sequence_anim_startofs_final_range");
2459 "rna_Sequence_anim_endofs_final_set",
2460 "rna_Sequence_anim_endofs_final_range");
2540 "rna_SequenceEditor_elements_begin",
2541 "rna_iterator_array_next",
2542 "rna_iterator_array_end",
2543 "rna_iterator_array_get",
2544 "rna_SequenceEditor_elements_length",
2583 srna,
"Meta Sequence",
"Sequence strip to group other strips as a single sequence strip");
2613 {0,
"CAMERA", ICON_VIEW3D,
"Camera",
"Use the Scene's 3D camera as input"},
2618 "Use the Scene's Sequencer timeline as input"},
2624 srna,
"Scene Sequence",
"Sequence strip to used the rendered image of a scene");
2673 "For files with several movie streams, use the stream with the given index");
2681 "rna_SequenceEditor_elements_begin",
2682 "rna_iterator_array_next",
2683 "rna_iterator_array_end",
2684 "rna_iterator_array_get",
2685 "rna_SequenceEditor_elements_length",
2693 "rna_Sequence_filepath_get",
2694 "rna_Sequence_filepath_length",
2695 "rna_Sequence_filepath_set");
2698 func =
RNA_def_function(srna,
"reload_if_needed",
"rna_MovieSequence_reload_if_needed");
2702 func,
"can_produce_frames", 0,
"True if the strip can produce frames, False otherwise",
"");
2706 func =
RNA_def_function(srna,
"metadata",
"rna_MovieSequence_metadata_get");
2710 func,
"metadata",
"IDPropertyWrapPtr",
"",
"Dict-like object containing the metadata");
2747 srna,
"MovieClip Sequence",
"Sequence strip to load a video from the clip editor");
2795 "Sequence strip defining a sound to be played over a period of time");
2822 prop,
"Display Waveform",
"Display the audio waveform inside the strip");
2837 "Sequence strip applying an effect on the images created by other strips");
2872 {0,
"OUT", 0,
"Out",
""},
2873 {1,
"IN", 0,
"In",
""},
2883 prop,
"Blur Width",
"Width of the blur edge, in percentage relative to the image size");
2952 {0,
"NONE", 0,
"None",
"No interpolation"},
2953 {1,
"BILINEAR", 0,
"Bilinear",
"Bilinear interpolation"},
2954 {2,
"BICUBIC", 0,
"Bicubic",
"Bicubic interpolation"},
2959 {0,
"PIXELS", 0,
"Pixels",
""},
2960 {1,
"PERCENT", 0,
"Percent",
""},
3011 prop,
"Interpolation",
"Method to determine how missing pixels are created");
3038 "Adjust input playback speed, so its duration fits strip length"},
3044 "Frame number of the input strip"},
3045 {
SEQ_SPEED_LENGTH,
"LENGTH", 0,
"Length",
"Percentage of the input strip length"},
3061 "Multiply the current speed of the sequence with this number or remap current frame "
3080 prop,
"Frame Interpolation",
"Do crossfade blending between current and next frame");
3176 prop,
"Align X",
"Align the text along the X axis, relative to the text bounds");
3183 prop,
"Align Y",
"Align the text along the Y axis, relative to the text bounds");
3250 prop,
"Blending Mode",
"Method for controlling how the strip combines with other strips");
3256 prop,
"Blend Factor",
"Percentage of how much the strip's colors affect other strips");
3261 {
"AddSequence",
"Add Sequence",
"Add Sequence",
NULL, 2},
3262 {
"AdjustmentSequence",
3263 "Adjustment Layer Sequence",
3264 "Sequence strip to perform filter adjustments to layers below",
3267 {
"AlphaOverSequence",
"Alpha Over Sequence",
"Alpha Over Sequence",
NULL, 2},
3268 {
"AlphaUnderSequence",
"Alpha Under Sequence",
"Alpha Under Sequence",
NULL, 2},
3271 "Sequence strip creating an image filled with a single color",
3274 {
"CrossSequence",
"Cross Sequence",
"Cross Sequence",
NULL, 2},
3275 {
"GammaCrossSequence",
"Gamma Cross Sequence",
"Gamma Cross Sequence",
NULL, 2},
3276 {
"GlowSequence",
"Glow Sequence",
"Sequence strip creating a glow effect",
rna_def_glow, 1},
3277 {
"MulticamSequence",
3278 "Multicam Select Sequence",
3279 "Sequence strip to perform multicam editing",
3282 {
"MultiplySequence",
"Multiply Sequence",
"Multiply Sequence",
NULL, 2},
3283 {
"OverDropSequence",
"Over Drop Sequence",
"Over Drop Sequence",
NULL, 2},
3284 {
"SpeedControlSequence",
3285 "SpeedControl Sequence",
3286 "Sequence strip to control the speed of other strips",
3289 {
"SubtractSequence",
"Subtract Sequence",
"Subtract Sequence",
NULL, 2},
3290 {
"TransformSequence",
3291 "Transform Sequence",
3292 "Sequence strip applying affine transformations to other strips",
3297 "Sequence strip creating a wipe transition",
3300 {
"GaussianBlurSequence",
3301 "Gaussian Blur Sequence",
3302 "Sequence strip creating a gaussian blur",
3305 {
"TextSequence",
"Text Sequence",
"Sequence strip creating text",
rna_def_text, 0},
3306 {
"ColorMixSequence",
"Color Mix Sequence",
"Color Mix Sequence",
rna_def_color_mix, 2},
3307 {
"",
"",
"",
NULL, 0},
3344 "Mask animation is offset to start of strip"},
3349 "Mask animation is in sync with scene frame"},
3400 "rna_SequenceModifier_strip_set",
3402 "rna_SequenceModifier_otherSequence_poll");
3419 srna =
RNA_def_struct(brna,
"ColorBalanceModifier",
"SequenceModifier");
3422 srna,
"ColorBalanceModifier",
"Color balance modifier for sequence strip");
3440 srna =
RNA_def_struct(brna,
"WhiteBalanceModifier",
"SequenceModifier");
3443 srna,
"WhiteBalanceModifier",
"White balance modifier for sequence strip");
3457 srna =
RNA_def_struct(brna,
"CurvesModifier",
"SequenceModifier");
3473 srna =
RNA_def_struct(brna,
"HueCorrectModifier",
"SequenceModifier");
3489 srna =
RNA_def_struct(brna,
"BrightContrastModifier",
"SequenceModifier");
3492 srna,
"BrightContrastModifier",
"Bright/contrast modifier data for sequence strip");
3518 srna =
RNA_def_struct(brna,
"SequencerTonemapModifierData",
"SequenceModifier");
3538 "Normally always 1, but can be used as an extra control to alter the brightness curve");
3549 prop,
"Intensity",
"If less than zero, darkens image; otherwise, makes it brighter");
3565 prop,
"Color Correction",
"If 0, same for all channels; if 1, each independent");
struct AnimData * BKE_animdata_from_id(const struct ID *id)
void BKE_animdata_fix_paths_rename_all(struct ID *ref_id, const char *prefix, const char *oldName, const char *newName)
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)
struct Scene * CTX_data_scene(const bContext *C)
void id_us_plus(struct ID *id)
void BKE_report(ReportList *reports, eReportType type, const char *message)
#define LISTBASE_FOREACH_MUTABLE(type, var, list)
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)
void BLI_split_file_part(const char *string, char *file, size_t filelen)
void BLI_join_dirfile(char *__restrict dst, size_t maxlen, const char *__restrict dir, const char *__restrict file) ATTR_NONNULL()
size_t size_t char * BLI_sprintfN(const char *__restrict format,...) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1) ATTR_MALLOC ATTR_PRINTF_FORMAT(1
char * BLI_strdup(const char *str) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL() ATTR_MALLOC
char * BLI_strncpy(char *__restrict dst, const char *__restrict src, size_t maxncpy) ATTR_NONNULL()
size_t BLI_snprintf(char *__restrict dst, size_t maxncpy, const char *__restrict format,...) ATTR_NONNULL(1
size_t size_t char size_t BLI_str_escape(char *__restrict dst, const char *__restrict src, size_t dst_maxncpy) ATTR_NONNULL()
char * BLI_strncpy_utf8(char *__restrict dst, const char *__restrict src, size_t maxncpy) ATTR_NONNULL(1
bool BLI_uniquename(struct ListBase *list, void *vlink, const char *defname, char delim, int name_offset, size_t name_len)
#define UNUSED_FUNCTION(x)
#define BLT_I18NCONTEXT_ID_SEQUENCE
#define BLT_I18NCONTEXT_ID_SOUND
void DEG_id_tag_update(struct ID *id, int flag)
void DEG_relations_tag_update(struct Main *bmain)
@ ID_RECALC_COPY_ON_WRITE
@ ID_RECALC_SEQUENCER_STRIPS
Object is a sort of wrapper for general info.
#define SEQ_BLEND_REPLACE
#define SEQ_PROXY_IMAGE_SIZE_75
#define SEQ_COLOR_BALANCE_INVERSE_GAMMA
#define SEQ_PROXY_TC_RECORD_RUN_NO_GAPS
@ SEQUENCE_MODIFIER_EXPANDED
@ SEQ_TEXT_ALIGN_X_CENTER
#define SEQ_PROXY_IMAGE_SIZE_100
#define SEQ_MOVIECLIP_RENDER_STABILIZED
@ seqModifierType_WhiteBalance
@ seqModifierType_BrightContrast
@ seqModifierType_ColorBalance
@ seqModifierType_HueCorrect
@ seqModifierType_Tonemap
#define SEQ_PROXY_TC_FREE_RUN
@ SEQUENCE_MASK_INPUT_STRIP
#define SEQ_FONT_NOT_LOADED
#define SEQ_MOVIECLIP_RENDER_UNDISTORTED
#define SEQ_EDIT_OVERLAY_FRAME_ABS
@ SEQ_STORAGE_PROXY_CUSTOM_FILE
@ SEQ_STORAGE_PROXY_CUSTOM_DIR
#define SEQ_COLOR_BALANCE_INVERSE_POWER
#define SEQ_EDIT_OVERLAY_FRAME_SHOW
@ SEQ_CACHE_STORE_PREPROCESSED
@ SEQ_CACHE_STORE_FINAL_OUT
@ SEQ_CACHE_STORE_COMPOSITE
@ SEQ_CACHE_VIEW_FINAL_OUT
@ SEQ_CACHE_VIEW_COMPOSITE
@ SEQ_CACHE_PREFETCH_ENABLE
@ SEQ_CACHE_VIEW_PREPROCESSED
@ SEQ_TONEMAP_RD_PHOTORECEPTOR
#define SEQ_SPEED_USE_INTERPOLATION
#define SEQ_COLOR_BALANCE_INVERSE_GAIN
@ SEQUENCE_MASK_TIME_RELATIVE
@ SEQUENCE_MASK_TIME_ABSOLUTE
@ SEQ_TEXT_ALIGN_Y_BOTTOM
@ SEQ_TEXT_ALIGN_Y_CENTER
@ SEQ_COLOR_BALANCE_METHOD_LIFTGAMMAGAIN
@ SEQ_COLOR_BALANCE_METHOD_SLOPEOFFSETPOWER
#define SEQ_PROXY_TC_NONE
#define SEQ_PROXY_IMAGE_SIZE_50
@ SEQ_USE_EFFECT_DEFAULT_FADE
@ SEQ_USE_LINEAR_MODIFIERS
@ SEQ_SCENE_NO_ANNOTATION
@ SEQ_AUDIO_DRAW_WAVEFORM
@ SEQ_PROXY_SKIP_EXISTING
#define SEQ_COLOR_BALANCE_INVERSE_SLOPE
#define SEQ_PROXY_TC_INTERP_REC_DATE_FREE_RUN
#define SEQ_COLOR_BALANCE_INVERSE_LIFT
@ SEQ_TRANSFORM_FILTER_BILINEAR
@ SEQ_TRANSFORM_FILTER_NEAREST
#define SEQ_PROXY_TC_RECORD_RUN
struct StripElem StripElem
#define SEQ_EDIT_PROXY_DIR_STORAGE
#define SEQ_COLOR_BALANCE_INVERSE_OFFSET
#define SEQ_PROXY_IMAGE_SIZE_25
_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
void IMB_free_anim(struct anim *anim)
Read Guarded memory(de)allocation.
Group Output data from inside of a node group A color picker Mix two input colors RGB to Convert a color s luminance to a grayscale value Generate a normal vector and a dot product Bright Control the brightness and contrast of the input color Vector Map an input vectors to used to fine tune the interpolation of the input Camera Retrieve information about the camera and how it relates to the current shading point s position CLAMP
#define RNA_POINTER_INVALIDATE(ptr)
#define RNA_ENUM_ITEM_SEPR
#define SEQ_ITERATOR_FOREACH(var, collection)
#define ND_SPACE_SEQUENCER
return(oflags[bm->toolflag_index].f &oflag) !=0
SIMD_FORCE_INLINE btVector3 transform(const btVector3 &point) const
SyclQueue void void size_t num_bytes void
void SEQ_effect_text_font_unload(TextVars *data, const bool do_id_user)
int SEQ_effect_get_num_inputs(int seq_type)
void SEQ_cache_cleanup(Scene *scene)
Sequence * SEQ_iterator_yield(SeqIterator *iterator)
SeqCollection * SEQ_query_all_strips_recursive(ListBase *seqbase)
bool SEQ_iterator_ensure(SeqCollection *collection, SeqIterator *iterator, Sequence **r_seq)
void SEQ_collection_free(SeqCollection *collection)
void SEQ_for_each_callback(ListBase *seqbase, SeqForEachFunc callback, void *user_data)
ccl_global KernelShaderEvalInput * input
void(* MEM_freeN)(void *vmemh)
size_t(* MEM_allocN_len)(const void *vmemh)
void *(* MEM_callocN)(size_t len, const char *str)
void SEQ_prefetch_stop(Scene *scene)
void SEQ_proxy_set(struct Sequence *seq, bool value)
bool RNA_struct_is_a(const StructRNA *type, const StructRNA *srna)
void RNA_pointer_create(ID *id, StructRNA *type, void *data, PointerRNA *r_ptr)
const PointerRNA PointerRNA_NULL
void rna_iterator_array_begin(CollectionPropertyIterator *iter, void *ptr, int itemsize, int length, bool free_ptr, IteratorSkipFunc skip)
PointerRNA rna_pointer_inherit_refine(PointerRNA *ptr, StructRNA *type, void *data)
void RNA_def_struct_refine_func(StructRNA *srna, const char *refine)
void RNA_def_property_pointer_sdna(PropertyRNA *prop, const char *structname, const char *propname)
void RNA_def_struct_path_func(StructRNA *srna, const char *path)
PropertyRNA * RNA_def_boolean(StructOrFunctionRNA *cont_, const char *identifier, bool default_value, const char *ui_name, const char *ui_description)
PropertyRNA * RNA_def_pointer(StructOrFunctionRNA *cont_, const char *identifier, const char *type, const char *ui_name, const char *ui_description)
void RNA_def_property_boolean_sdna(PropertyRNA *prop, const char *structname, const char *propname, int64_t bit)
void RNA_def_parameter_clear_flags(PropertyRNA *prop, PropertyFlag flag_property, ParameterFlag flag_parameter)
void RNA_def_property_string_funcs(PropertyRNA *prop, const char *get, const char *length, const char *set)
void RNA_def_property_float_default(PropertyRNA *prop, float value)
void RNA_def_function_return(FunctionRNA *func, PropertyRNA *ret)
void RNA_def_property_enum_default(PropertyRNA *prop, int value)
void RNA_def_property_float_funcs(PropertyRNA *prop, const char *get, const char *set, const char *range)
void RNA_def_property_ui_text(PropertyRNA *prop, const char *name, const char *description)
void RNA_def_property_string_sdna(PropertyRNA *prop, const char *structname, const char *propname)
void RNA_def_property_ui_icon(PropertyRNA *prop, int icon, int consecutive)
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_property_collection_funcs(PropertyRNA *prop, const char *begin, const char *next, const char *end, const char *get, const char *length, const char *lookupint, const char *lookupstring, const char *assignint)
void RNA_def_struct_ui_text(StructRNA *srna, const char *name, const char *description)
void RNA_def_property_boolean_funcs(PropertyRNA *prop, const char *get, const char *set)
void RNA_def_property_enum_items(PropertyRNA *prop, const EnumPropertyItem *item)
void RNA_def_struct_sdna(StructRNA *srna, const char *structname)
void RNA_def_property_range(PropertyRNA *prop, double min, double max)
void RNA_def_property_string_maxlength(PropertyRNA *prop, int maxlength)
void RNA_def_struct_sdna_from(StructRNA *srna, const char *structname, const char *propname)
void RNA_def_property_struct_type(PropertyRNA *prop, const char *type)
void RNA_def_property_collection_sdna(PropertyRNA *prop, const char *structname, const char *propname, const char *lengthpropname)
void RNA_def_function_ui_description(FunctionRNA *func, const char *description)
void RNA_def_property_update(PropertyRNA *prop, int noteflag, const char *func)
void RNA_def_property_enum_funcs(PropertyRNA *prop, const char *get, const char *set, const char *item)
void RNA_def_property_editable_func(PropertyRNA *prop, const char *editable)
PropertyRNA * RNA_def_property(StructOrFunctionRNA *cont_, const char *identifier, int type, int subtype)
void RNA_def_property_enum_bitflag_sdna(PropertyRNA *prop, const char *structname, const char *propname)
void RNA_def_struct_name_property(struct StructRNA *srna, struct PropertyRNA *prop)
void RNA_def_function_flag(FunctionRNA *func, int flag)
void RNA_def_property_clear_flag(PropertyRNA *prop, PropertyFlag flag)
void RNA_def_property_pointer_funcs(PropertyRNA *prop, const char *get, const char *set, const char *type_fn, const char *poll)
StructRNA * RNA_def_struct(BlenderRNA *brna, const char *identifier, const char *from)
void RNA_def_property_enum_sdna(PropertyRNA *prop, const char *structname, const char *propname)
void RNA_def_property_int_funcs(PropertyRNA *prop, const char *get, const char *set, const char *range)
void RNA_def_struct_ui_icon(StructRNA *srna, int icon)
PropertyRNA * RNA_def_string(StructOrFunctionRNA *cont_, const char *identifier, const char *default_value, int maxlen, const char *ui_name, const char *ui_description)
void RNA_def_struct_idprops_func(StructRNA *srna, const char *idproperties)
void RNA_def_property_translation_context(PropertyRNA *prop, const char *context)
void RNA_def_property_flag(PropertyRNA *prop, PropertyFlag flag)
void RNA_def_property_float_sdna(PropertyRNA *prop, const char *structname, const char *propname)
void RNA_def_property_ui_range(PropertyRNA *prop, double min, double max, double step, int precision)
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_property_int_sdna(PropertyRNA *prop, const char *structname, const char *propname)
void RNA_def_property_boolean_negative_sdna(PropertyRNA *prop, const char *structname, const char *propname, int64_t booleanbit)
void RNA_def_parameter_flags(PropertyRNA *prop, PropertyFlag flag_property, ParameterFlag flag_parameter)
void RNA_api_sequences(BlenderRNA *brna, PropertyRNA *cprop, bool metastrip)
void RNA_api_sequence_strip(StructRNA *srna)
void RNA_api_sequence_elements(BlenderRNA *brna, PropertyRNA *cprop)
const EnumPropertyItem rna_enum_views_format_items[]
static void rna_def_effect_inputs(StructRNA *srna, int count)
static void rna_def_filter_video(StructRNA *srna)
static void rna_def_movieclip(BlenderRNA *brna)
static void rna_def_input(StructRNA *srna)
static void rna_def_color_balance(BlenderRNA *brna)
static void rna_def_modifiers(BlenderRNA *brna)
static void rna_def_gaussian_blur(StructRNA *srna)
static void rna_def_brightcontrast_modifier(BlenderRNA *brna)
void RNA_def_sequencer(BlenderRNA *brna)
static void rna_def_image(BlenderRNA *brna)
static void rna_def_editor(BlenderRNA *brna)
static void rna_def_effect(BlenderRNA *brna)
static void rna_def_channel(BlenderRNA *brna)
static void rna_def_whitebalance_modifier(BlenderRNA *brna)
static void rna_def_mask(BlenderRNA *brna)
static void rna_def_strip_element(BlenderRNA *brna)
static void rna_def_movie_types(StructRNA *srna)
const EnumPropertyItem rna_enum_sequence_modifier_type_items[]
static void rna_def_transform(StructRNA *srna)
static void rna_def_speed_control(StructRNA *srna)
struct EffectInfo EffectInfo
static void rna_def_sound(BlenderRNA *brna)
static void rna_def_tonemap_modifier(BlenderRNA *brna)
static void rna_def_text(StructRNA *srna)
static void rna_def_sequence(BlenderRNA *brna)
static void rna_def_colorbalance_modifier(BlenderRNA *brna)
static void rna_def_strip_crop(BlenderRNA *brna)
static void rna_def_modifier(BlenderRNA *brna)
static void rna_def_color_mix(StructRNA *srna)
static void rna_def_solid_color(StructRNA *srna)
static void rna_def_strip_transform(BlenderRNA *brna)
static void rna_def_movie(BlenderRNA *brna)
static void rna_def_speed_factor(StructRNA *srna)
static void rna_def_wipe(StructRNA *srna)
static void rna_def_multicam(StructRNA *srna)
static void rna_def_scene(BlenderRNA *brna)
const EnumPropertyItem rna_enum_strip_color_items[]
static void rna_def_effects(BlenderRNA *brna)
static void rna_def_color_management(StructRNA *srna)
static void rna_def_curves_modifier(BlenderRNA *brna)
static void rna_def_strip_color_balance(BlenderRNA *brna)
static EffectInfo def_effects[]
static const EnumPropertyItem transform_filter_items[]
static void rna_def_hue_modifier(BlenderRNA *brna)
static void rna_def_strip_proxy(BlenderRNA *brna)
static void rna_def_proxy(StructRNA *srna)
static void rna_def_glow(StructRNA *srna)
static void rna_def_meta(BlenderRNA *brna)
static const EnumPropertyItem blend_mode_items[]
static void rna_def_sequence_modifiers(BlenderRNA *brna, PropertyRNA *cprop)
Sequence * SEQ_sequence_lookup_seq_by_name(const Scene *scene, const char *key)
bool SEQ_modifier_remove(Sequence *seq, SequenceModifierData *smd)
SequenceModifierData * SEQ_modifier_new(Sequence *seq, const char *name, int type)
void SEQ_modifier_clear(Sequence *seq)
int SEQ_sequence_supports_modifiers(Sequence *seq)
void SEQ_modifier_unique_name(Sequence *seq, SequenceModifierData *smd)
void SEQ_sound_update_bounds(Scene *scene, Sequence *seq)
void SEQ_meta_stack_set(const Scene *scene, Sequence *seqm)
Editing * SEQ_editing_get(const Scene *scene)
void SEQ_add_movie_reload_if_needed(struct Main *bmain, struct Scene *scene, struct Sequence *seq, bool *r_was_reloaded, bool *r_can_produce_frames)
void SEQ_add_reload_new_file(Main *bmain, Scene *scene, Sequence *seq, const bool lock_range)
void SEQ_edit_flag_for_removal(Scene *scene, ListBase *seqbase, Sequence *seq)
bool SEQ_edit_move_strip_to_seqbase(Scene *scene, ListBase *seqbase, Sequence *seq, ListBase *dst_seqbase)
void SEQ_edit_sequence_name_set(Scene *scene, Sequence *seq, const char *new_name)
void SEQ_edit_remove_flagged_sequences(Scene *scene, ListBase *seqbase)
bool SEQ_relations_render_loop_check(Sequence *seq_main, Sequence *seq)
void SEQ_relations_invalidate_cache_raw(Scene *scene, Sequence *seq)
bool SEQ_exists_in_seqbase(const Sequence *seq, const ListBase *seqbase)
void SEQ_relations_free_imbuf(Scene *scene, ListBase *seqbase, bool for_render)
void SEQ_relations_invalidate_cache_preprocessed(Scene *scene, Sequence *seq)
void SEQ_relations_invalidate_cache_composite(Scene *scene, Sequence *seq)
void SEQ_select_active_set(Scene *scene, Sequence *seq)
void SEQ_time_speed_factor_set(const Scene *scene, Sequence *seq, const float speed_factor)
void SEQ_time_right_handle_frame_set(const Scene *scene, Sequence *seq, int val)
int SEQ_time_left_handle_frame_get(const Scene *UNUSED(scene), const Sequence *seq)
void SEQ_time_left_handle_frame_set(const Scene *scene, Sequence *seq, int val)
float SEQ_time_sequence_get_fps(Scene *scene, Sequence *seq)
int SEQ_time_right_handle_frame_get(const Scene *scene, const Sequence *seq)
ListBaseIterator listbase
union CollectionPropertyIterator::@1147 internal
StripColorBalance color_balance
void(* func)(StructRNA *)
struct FFMpegCodecData ffcodecdata
SeqCollection * collection
struct Sequence * mask_sequence
StripTransform * transform
ListBase * SEQ_get_seqbase_by_seq(const Scene *scene, Sequence *seq)
void SEQ_sequence_base_unique_name_recursive(struct Scene *scene, ListBase *seqbasep, Sequence *seq)
Sequence * SEQ_sequence_from_strip_elem(ListBase *seqbase, StripElem *se)
void WM_main_add_notifier(unsigned int type, void *reference)