70#define RNA_ENUM_SEQUENCER_VIDEO_MODIFIER_TYPE_ITEMS \
71 {seqModifierType_BrightContrast, "BRIGHT_CONTRAST", ICON_NONE, "Brightness/Contrast", ""}, \
72 {seqModifierType_ColorBalance, "COLOR_BALANCE", ICON_NONE, "Color Balance", ""}, \
73 {seqModifierType_Curves, "CURVES", ICON_NONE, "Curves", ""}, \
74 {seqModifierType_HueCorrect, "HUE_CORRECT", ICON_NONE, "Hue Correct", ""}, \
75 {seqModifierType_Mask, "MASK", ICON_NONE, "Mask", ""}, \
76 {seqModifierType_Tonemap, "TONEMAP", ICON_NONE, "Tone Map", ""}, \
77 {seqModifierType_WhiteBalance, "WHITE_BALANCE", ICON_NONE, "White Balance", ""}
79#define RNA_ENUM_SEQUENCER_AUDIO_MODIFIER_TYPE_ITEMS \
80 {seqModifierType_SoundEqualizer, "SOUND_EQUALIZER", ICON_NONE, "Sound Equalizer", ""}
86 {0,
nullptr, 0,
nullptr,
nullptr},
91 {0,
nullptr, 0,
nullptr,
nullptr},
96 {0,
nullptr, 0,
nullptr,
nullptr},
110 {0,
nullptr, 0,
nullptr,
nullptr},
117# include <fmt/format.h>
133struct SequenceSearchData {
156static void rna_Sequence_invalidate_raw_update(
Main * ,
170static void rna_Sequence_invalidate_preprocessed_update(
Main * ,
200 rna_Sequence_invalidate_raw_update(bmain, scene,
ptr);
210 rna_Sequence_invalidate_raw_update(bmain, scene,
ptr);
216 if (seq->scene !=
nullptr) {
232 add_strips_from_seqbase(&seq->seqbase, strips);
237struct SequencesAllIterator {
242static std::optional<std::string> rna_SequenceEditor_path(
const PointerRNA * )
244 return "sequence_editor";
253 SequencesAllIterator *seq_iter = MEM_new<SequencesAllIterator>(__func__);
255 add_strips_from_seqbase(&ed->
seqbase, seq_iter->strips);
259 iter->internal.custom = bli_iter;
260 bli_iter->
data = seq_iter;
262 Sequence **seq_arr = seq_iter->strips.begin();
264 iter->valid = bli_iter->
current !=
nullptr;
270 SequencesAllIterator *seq_iter =
static_cast<SequencesAllIterator *
>(bli_iter->
data);
273 Sequence **seq_arr = seq_iter->strips.begin();
274 bli_iter->
current = *(seq_arr + seq_iter->index);
276 iter->
valid = bli_iter->
current !=
nullptr && seq_iter->index < seq_iter->strips.size();
288 SequencesAllIterator *seq_iter =
static_cast<SequencesAllIterator *
>(bli_iter->
data);
290 MEM_delete(seq_iter);
294static bool rna_SequenceEditor_sequences_all_lookup_string(
PointerRNA *
ptr,
318static int rna_SequenceEditor_elements_length(
PointerRNA *
ptr)
334 (
void *)seq->strip->stripdata,
336 rna_SequenceEditor_elements_length(
ptr),
351 (
void *)seq->retiming_keys,
366 SeqRetimingKey *last = seq->retiming_keys + retiming_keys_count - 1;
368 if (key >= first && key <= last) {
379 Sequence *seq = strip_by_key_find(scene, key);
381 if (seq ==
nullptr) {
391static int rna_Sequence_retiming_key_frame_get(
PointerRNA *
ptr)
395 Sequence *seq = strip_by_key_find(scene, key);
397 if (seq ==
nullptr) {
404static void rna_Sequence_retiming_key_frame_set(
PointerRNA *
ptr,
int value)
408 Sequence *seq = strip_by_key_find(scene, key);
410 if (seq ==
nullptr) {
418static bool rna_SequenceEditor_selected_retiming_key_get(
PointerRNA *
ptr)
426 rna_Sequence_invalidate_raw_update(bmain, scene,
ptr);
429static void do_sequence_frame_change_update(
Scene *scene,
Sequence *seq)
451static int rna_Sequence_frame_final_start_get(
PointerRNA *
ptr)
463static void rna_Sequence_start_frame_final_set(
PointerRNA *
ptr,
int value)
469 do_sequence_frame_change_update(scene, seq);
473static void rna_Sequence_end_frame_final_set(
PointerRNA *
ptr,
int value)
479 do_sequence_frame_change_update(scene, seq);
483static void rna_Sequence_start_frame_set(
PointerRNA *
ptr,
float value)
489 do_sequence_frame_change_update(scene, seq);
493static void rna_Sequence_frame_offset_start_set(
PointerRNA *
ptr,
float value)
499 seq->startofs = value;
502static void rna_Sequence_frame_offset_end_set(
PointerRNA *
ptr,
float value)
511static void rna_Sequence_anim_startofs_final_set(
PointerRNA *
ptr,
int value)
516 seq->anim_startofs = std::min(value, seq->len + seq->anim_startofs);
519 do_sequence_frame_change_update(scene, seq);
522static void rna_Sequence_anim_endofs_final_set(
PointerRNA *
ptr,
int value)
527 seq->anim_endofs = std::min(value, seq->len + seq->anim_endofs);
530 do_sequence_frame_change_update(scene, seq);
533static void rna_Sequence_anim_endofs_final_range(
539 *max = seq->len + seq->anim_endofs - seq->startofs - seq->endofs - 1;
542static void rna_Sequence_anim_startofs_final_range(
548 *max = seq->len + seq->anim_startofs - seq->startofs - seq->endofs - 1;
551static void rna_Sequence_frame_offset_start_range(
556 *max = seq->len - seq->endofs - 1;
559static void rna_Sequence_frame_offset_end_range(
564 *max = seq->len - seq->startofs - 1;
567static void rna_Sequence_frame_length_set(
PointerRNA *
ptr,
int value)
573 do_sequence_frame_change_update(scene, seq);
591static int rna_Sequence_frame_editable(
const PointerRNA *
ptr,
const char ** )
598static void rna_Sequence_channel_set(
PointerRNA *
ptr,
int value)
605 const int channel_delta = (value >= seq->machine) ? 1 : -1;
606 seq->machine = value;
614static void rna_Sequence_use_proxy_set(
PointerRNA *
ptr,
bool value)
620static bool transform_seq_cmp_fn(
Sequence *seq,
void *arg_pt)
622 SequenceSearchData *data =
static_cast<SequenceSearchData *
>(arg_pt);
633 SequenceSearchData
data;
644static std::optional<std::string> rna_SequenceTransform_path(
const PointerRNA *
ptr)
651 char name_esc[(
sizeof(seq->
name) - 2) * 2];
653 return fmt::format(
"sequence_editor.sequences_all[\"{}\"].transform", name_esc);
667static bool crop_seq_cmp_fn(
Sequence *seq,
void *arg_pt)
669 SequenceSearchData *data =
static_cast<SequenceSearchData *
>(arg_pt);
680 SequenceSearchData
data;
691static std::optional<std::string> rna_SequenceCrop_path(
const PointerRNA *
ptr)
698 char name_esc[(
sizeof(seq->
name) - 2) * 2];
700 return fmt::format(
"sequence_editor.sequences_all[\"{}\"].crop", name_esc);
726 data->text_font = value;
730static void rna_Sequence_name_get(
PointerRNA *
ptr,
char *value)
733 strcpy(value, seq->
name + 2);
739 return strlen(seq->
name + 2);
742static void rna_Sequence_name_set(
PointerRNA *
ptr,
const char *value)
746 char oldname[
sizeof(seq->name)];
752 BLI_strncpy(oldname, seq->name + 2,
sizeof(seq->name) - 2);
764 nullptr,
"sequence_editor.sequences_all", oldname, seq->name + 2);
771 "sequence_editor.sequences_all",
786 return &RNA_ImageSequence;
788 return &RNA_MetaSequence;
790 return &RNA_SceneSequence;
792 return &RNA_MovieSequence;
794 return &RNA_MovieClipSequence;
796 return &RNA_MaskSequence;
798 return &RNA_SoundSequence;
800 return &RNA_CrossSequence;
802 return &RNA_AddSequence;
804 return &RNA_SubtractSequence;
806 return &RNA_AlphaOverSequence;
808 return &RNA_AlphaUnderSequence;
810 return &RNA_GammaCrossSequence;
812 return &RNA_MultiplySequence;
814 return &RNA_OverDropSequence;
816 return &RNA_MulticamSequence;
818 return &RNA_AdjustmentSequence;
820 return &RNA_WipeSequence;
822 return &RNA_GlowSequence;
824 return &RNA_TransformSequence;
826 return &RNA_ColorSequence;
828 return &RNA_SpeedControlSequence;
830 return &RNA_GaussianBlurSequence;
832 return &RNA_TextSequence;
834 return &RNA_ColorMixSequence;
836 return &RNA_Sequence;
840static std::optional<std::string> rna_Sequence_path(
const PointerRNA *
ptr)
847 char name_esc[(
sizeof(seq->name) - 2) * 2];
850 return fmt::format(
"sequence_editor.sequences_all[\"{}\"]", name_esc);
859static bool rna_MovieSequence_reload_if_needed(
ID *scene_id,
Sequence *seq,
Main *bmain)
864 bool can_produce_frames;
868 if (has_reloaded && can_produce_frames) {
875 return can_produce_frames;
880 if (seq ==
nullptr || seq->
anims.
first ==
nullptr) {
885 if (sanim->
anim ==
nullptr) {
890 if (metadata ==
nullptr) {
907static void rna_Sequence_filepath_set(
PointerRNA *
ptr,
const char *value)
917static void rna_Sequence_filepath_get(
PointerRNA *
ptr,
char *value)
923 strcpy(value, filepath);
932 return strlen(filepath);
935static void rna_Sequence_proxy_filepath_set(
PointerRNA *
ptr,
const char *value)
942 proxy->
anim =
nullptr;
946static void rna_Sequence_proxy_filepath_get(
PointerRNA *
ptr,
char *value)
952 strcpy(value, filepath);
955static int rna_Sequence_proxy_filepath_length(
PointerRNA *
ptr)
961 return strlen(filepath);
969static void rna_Sequence_pan_range(
976 *softmax = 1 +
int(scene->r.ffcodecdata.audio_channels > 2);
977 *softmin = -*softmax;
1001 switch (input_num) {
1013 rna_Sequence_input_set(
ptr, ptr_value, reports, 1);
1018 rna_Sequence_input_set(
ptr, ptr_value, reports, 2);
1021static void rna_SoundSequence_filename_set(
PointerRNA *
ptr,
const char *value)
1031static void rna_SequenceElement_filename_set(
PointerRNA *
ptr,
const char *value)
1044 rna_Sequence_invalidate_raw_update(bmain, scene,
ptr);
1056 rna_Sequence_invalidate_raw_update(bmain, scene,
ptr);
1066static bool seqproxy_seq_cmp_fn(
Sequence *seq,
void *arg_pt)
1068 SequenceSearchData *data =
static_cast<SequenceSearchData *
>(arg_pt);
1079 SequenceSearchData
data;
1095 do_sequence_frame_change_update(scene, seq);
1112static void rna_Sequence_opacity_set(
PointerRNA *
ptr,
float value)
1115 CLAMP(value, 0.0f, 1.0f);
1125static void rna_Sequence_color_tag_set(
PointerRNA *
ptr,
int value)
1131static bool colbalance_seq_cmp_fn(
Sequence *seq,
void *arg_pt)
1133 SequenceSearchData *data =
static_cast<SequenceSearchData *
>(arg_pt);
1156 SequenceSearchData
data;
1170static std::optional<std::string> rna_SequenceColorBalance_path(
const PointerRNA *
ptr)
1175 Sequence *seq = sequence_get_by_colorbalance(
1179 char name_esc[(
sizeof(seq->
name) - 2) * 2];
1185 return fmt::format(
"sequence_editor.sequences_all[\"{}\"].color_balance", name_esc);
1188 char name_esc_smd[
sizeof(smd->
name) * 2];
1191 return fmt::format(
"sequence_editor.sequences_all[\"{}\"].modifiers[\"{}\"].color_balance",
1203 Sequence *seq = sequence_get_by_colorbalance(
1209static void rna_SequenceEditor_overlay_lock_set(
PointerRNA *
ptr,
bool value)
1214 if (ed ==
nullptr) {
1229static int rna_SequenceEditor_overlay_frame_get(
PointerRNA *
ptr)
1234 if (ed ==
nullptr) {
1235 return scene->r.cfra;
1246static void rna_SequenceEditor_overlay_frame_set(
PointerRNA *
ptr,
int value)
1251 if (ed ==
nullptr) {
1263static void rna_SequenceEditor_display_stack(
ID *
id,
1284static bool modifier_seq_cmp_fn(
Sequence *seq,
void *arg_pt)
1286 SequenceSearchData *data =
static_cast<SequenceSearchData *
>(arg_pt);
1298 SequenceSearchData
data;
1313 switch (smd->
type) {
1315 return &RNA_ColorBalanceModifier;
1317 return &RNA_CurvesModifier;
1319 return &RNA_HueCorrectModifier;
1321 return &RNA_BrightContrastModifier;
1323 return &RNA_WhiteBalanceModifier;
1325 return &RNA_SequencerTonemapModifierData;
1327 return &RNA_SoundEqualizerModifier;
1329 return &RNA_SequenceModifier;
1333static std::optional<std::string> rna_SequenceModifier_path(
const PointerRNA *
ptr)
1338 Sequence *seq = sequence_get_by_modifier(ed, smd);
1341 char name_esc[(
sizeof(seq->
name) - 2) * 2];
1342 char name_esc_smd[
sizeof(smd->
name) * 2];
1347 "sequence_editor.sequences_all[\"{}\"].modifiers[\"{}\"]", name_esc, name_esc_smd);
1352static void rna_SequenceModifier_name_set(
PointerRNA *
ptr,
const char *value)
1357 Sequence *seq = sequence_get_by_modifier(ed, smd);
1359 char oldname[
sizeof(smd->
name)];
1373 char rna_path_prefix[1024];
1375 char seq_name_esc[(
sizeof(seq->
name) - 2) * 2];
1378 SNPRINTF(rna_path_prefix,
"sequence_editor.sequences_all[\"%s\"].modifiers", seq_name_esc);
1380 &scene->id, adt,
nullptr, rna_path_prefix, oldname, smd->
name, 0, 0, 1);
1403static void rna_SequenceModifier_EQCurveMapping_update(
Main *bmain,
1450static void rna_Sequence_modifier_remove(
Sequence *seq,
1485 Sequence *seq = sequence_get_by_modifier(ed, smd);
1503static void rna_Sequence_separate(
ID *
id,
Sequence *seqm,
Main *bmain)
1524static void rna_SequenceTimelineChannel_name_set(
PointerRNA *
ptr,
const char *value)
1533 if (channel_owner !=
nullptr) {
1534 channels_base = &channel_owner->
channels;
1543 sizeof(channel->name));
1546static void rna_SequenceTimelineChannel_mute_update(
Main *bmain,
1547 Scene *active_scene,
1556 if (channel_owner ==
nullptr) {
1560 seqbase = &channel_owner->
seqbase;
1567 rna_Sequence_sound_update(bmain, active_scene,
ptr);
1570static std::optional<std::string> rna_SeqTimelineChannel_path(
const PointerRNA *
ptr)
1577 char channel_name_esc[(
sizeof(channel->name)) * 2];
1578 BLI_str_escape(channel_name_esc, channel->name,
sizeof(channel_name_esc));
1580 if (channel_owner ==
nullptr) {
1581 return fmt::format(
"sequence_editor.channels[\"{}\"]", channel_name_esc);
1583 char owner_name_esc[(
sizeof(channel_owner->
name) - 2) * 2];
1586 "sequence_editor.sequences_all[\"{}\"].channels[\"{}\"]", owner_name_esc, channel_name_esc);
1647 "Key mapped to particular frame that can be moved to change playback speed");
1652 prop,
"rna_Sequence_retiming_key_frame_get",
"rna_Sequence_retiming_key_frame_set",
nullptr);
1701 "Automatically choose filter based on scaling factor"},
1723 "Averages source image samples that fall under destination pixel"},
1724 {0,
nullptr, 0,
nullptr,
nullptr},
1793 "Ignore generated timecodes, seek in movie stream based on calculated timestamp"},
1798 "Seek based on timestamps read from movie stream, giving the best match between scene and "
1801 "RECORD_RUN_NO_GAPS",
1803 "Record Run No Gaps",
1804 "Effectively convert movie to an image sequence, ignoring incomplete or dropped frames, "
1805 "and changes in frame rate"},
1806 {0,
nullptr, 0,
nullptr,
nullptr},
1822 "rna_Sequence_proxy_filepath_get",
1823 "rna_Sequence_proxy_filepath_length",
1824 "rna_Sequence_proxy_filepath_set");
1884 "OFFSET_POWER_SLOPE",
1886 "Offset/Power/Slope (ASC-CDL)",
1887 "ASC-CDL standard color correction"},
1888 {0,
nullptr, 0,
nullptr,
nullptr},
1891 srna =
RNA_def_struct(brna,
"SequenceColorBalanceData",
nullptr);
1893 "Sequence Color Balance Data",
1894 "Color balance parameters for a sequence strip and its modifiers");
1989 srna =
RNA_def_struct(brna,
"SequenceColorBalance",
"SequenceColorBalanceData");
1991 srna,
"Sequence Color Balance",
"Color balance parameters for a sequence strip");
2029 {0,
nullptr, 0,
nullptr,
nullptr},
2048 parm =
RNA_def_string(func,
"name",
"Name", 0,
"",
"New name for the modifier");
2056 "Modifier type to add");
2059 parm =
RNA_def_pointer(func,
"modifier",
"SequenceModifier",
"",
"Newly created modifier");
2067 parm =
RNA_def_pointer(func,
"modifier",
"SequenceModifier",
"",
"Modifier to remove");
2108 {0,
nullptr, 0,
nullptr,
nullptr},
2119 prop,
"rna_Sequence_name_get",
"rna_Sequence_name_length",
"rna_Sequence_name_set");
2152 prop,
"Mute",
"Disable strip so that it cannot be viewed in the output");
2168 prop,
"Length",
"The length of the contents of this strip after the handles are applied");
2170 prop,
"rna_Sequence_frame_length_get",
"rna_Sequence_frame_length_set",
nullptr);
2180 prop,
"Length",
"The length of the contents of this strip before the handles are applied");
2189 "rna_Sequence_start_frame_set",
2198 prop,
"rna_Sequence_frame_final_start_get",
"rna_Sequence_start_frame_final_set",
nullptr);
2204 "Start frame displayed in the sequence editor after offsets are applied, setting this is "
2205 "equivalent to moving the handle, not the actual start frame");
2213 prop,
"rna_Sequence_frame_final_end_get",
"rna_Sequence_end_frame_final_set",
nullptr);
2217 prop,
"End Frame",
"End frame displayed in the sequence editor after offsets are applied");
2229 "rna_Sequence_frame_offset_start_set",
2230 "rna_Sequence_frame_offset_start_range");
2239 prop,
nullptr,
"rna_Sequence_frame_offset_end_set",
"rna_Sequence_frame_offset_end_range");
2248 prop,
nullptr,
"rna_Sequence_channel_set",
nullptr);
2255 "Use Linear Modifiers",
2256 "Calculate modifiers in linear space instead of sequencer's space");
2266 prop,
"Blending Mode",
"Method for controlling how the strip combines with other strips");
2273 prop,
"Blend Opacity",
"Percentage of how much the strip's colors affect other strips");
2276 prop,
"rna_Sequence_opacity_get",
"rna_Sequence_opacity_set",
nullptr);
2292 "Fade effect using the built-in default (usually makes the transition "
2293 "as long as the effect strip)");
2300 prop,
"rna_Sequence_color_tag_get",
"rna_Sequence_color_tag_set",
nullptr);
2315 "Cache raw images read from disk, for faster tweaking of strip "
2316 "parameters at the cost of memory usage");
2322 "Cache Preprocessed",
2323 "Cache preprocessed images, for faster tweaking of effects at the cost of memory usage");
2329 "Cache intermediate composited images, for faster tweaking of stacked "
2330 "strips at the cost of memory usage");
2380 {0,
"PER_STRIP", 0,
"Per Strip",
"Store proxies using per strip settings"},
2385 "Store proxies using project directory"},
2386 {0,
nullptr, 0,
nullptr,
nullptr},
2404 prop,
"All Sequences",
"All strips, recursively including those inside metastrips");
2406 "rna_SequenceEditor_sequences_all_begin",
2407 "rna_SequenceEditor_sequences_all_next",
2408 "rna_SequenceEditor_sequences_all_end",
2409 "rna_SequenceEditor_sequences_all_get",
2412 "rna_SequenceEditor_sequences_all_lookup_string",
2419 prop,
"Meta Stack",
"Meta strip stack, last is currently edited meta strip");
2424 "rna_SequenceEditor_meta_stack_get",
2448 prop,
"Show Overlay",
"Partial overlay on top of the sequencer with a frame offset");
2461 prop,
"Show Missing Media",
"Render missing images/movies with a solid magenta color");
2468 "rna_SequenceEditor_overlay_frame_get",
2469 "rna_SequenceEditor_overlay_frame_set",
2490 "Cache raw images read from disk, for faster tweaking of strip "
2491 "parameters at the cost of memory usage");
2497 "Cache Preprocessed",
2498 "Cache preprocessed images, for faster tweaking of effects at the cost of memory usage");
2504 "Cache intermediate composited images, for faster tweaking of stacked "
2505 "strips at the cost of memory usage");
2516 "Render frames ahead of current frame in the background for faster playback");
2521 func =
RNA_def_function(srna,
"display_stack",
"rna_SequenceEditor_display_stack");
2525 func,
"meta_sequence",
"Sequence",
"Meta Sequence",
"Meta to display its stack");
2538 "RGB channels in transparent pixels are unaffected by the alpha channel"},
2543 "RGB channels in transparent pixels are multiplied by the alpha channel"},
2544 {0,
nullptr, 0,
nullptr,
nullptr},
2555 prop,
"Alpha Mode",
"Representation of alpha information in the RGBA pixels");
2623 prop,
"Use Proxy / Timecode",
"Use a preview proxy and/or time-code index for this strip");
2642 "rna_Sequence_anim_startofs_final_set",
2643 "rna_Sequence_anim_startofs_final_range");
2653 "rna_Sequence_anim_endofs_final_set",
2654 "rna_Sequence_anim_endofs_final_range");
2724 "rna_Sequence_elements_begin",
2725 "rna_iterator_array_next",
2726 "rna_iterator_array_end",
2727 "rna_iterator_array_get",
2728 "rna_SequenceEditor_elements_length",
2766 srna,
"Meta Sequence",
"Sequence strip to group other strips as a single sequence strip");
2807 {0,
"CAMERA", ICON_VIEW3D,
"Camera",
"Use the Scene's 3D camera as input"},
2812 "Use the Scene's Sequencer timeline as input"},
2813 {0,
nullptr, 0,
nullptr,
nullptr},
2818 srna,
"Scene Sequence",
"Sequence strip using the rendered image of a scene");
2867 "For files with several movie streams, use the stream with the given index");
2875 "rna_Sequence_elements_begin",
2876 "rna_iterator_array_next",
2877 "rna_iterator_array_end",
2878 "rna_iterator_array_get",
2879 "rna_SequenceEditor_elements_length",
2889 "rna_SequenceEditor_retiming_keys_begin",
2890 "rna_iterator_array_next",
2891 "rna_iterator_array_end",
2892 "rna_iterator_array_get",
2893 "rna_Sequence_retiming_keys_length",
2902 "rna_Sequence_filepath_get",
2903 "rna_Sequence_filepath_length",
2904 "rna_Sequence_filepath_set");
2907 func =
RNA_def_function(srna,
"reload_if_needed",
"rna_MovieSequence_reload_if_needed");
2911 "can_produce_frames",
2913 "True if the strip can produce frames, False otherwise",
2918 func =
RNA_def_function(srna,
"metadata",
"rna_MovieSequence_metadata_get");
2923 func,
"metadata",
"IDPropertyWrapPtr",
"",
"Dict-like object containing the metadata");
2959 srna,
"MovieClip Sequence",
"Sequence strip to load a video from the clip editor");
3008 "Sequence strip defining a sound to be played over a period of time");
3036 "Offset of the sound from the beginning of the strip, expressed in seconds");
3043 prop,
"Display Waveform",
"Display the audio waveform inside the strip");
3057 "Sequence strip applying an effect on the images created by other strips");
3088 {0,
nullptr, 0,
nullptr,
nullptr},
3092 {0,
"OUT", 0,
"Out",
""},
3093 {1,
"IN", 0,
"In",
""},
3094 {0,
nullptr, 0,
nullptr,
nullptr},
3105 "Width of the blur for the transition, in percentage relative to the image size");
3175 {0,
"NONE", 0,
"None",
"No interpolation"},
3176 {1,
"BILINEAR", 0,
"Bilinear",
"Bilinear interpolation"},
3177 {2,
"BICUBIC", 0,
"Bicubic",
"Bicubic interpolation"},
3178 {0,
nullptr, 0,
nullptr,
nullptr},
3182 {0,
"PIXELS", 0,
"Pixels",
""},
3183 {1,
"PERCENT", 0,
"Percent",
""},
3184 {0,
nullptr, 0,
nullptr,
nullptr},
3234 prop,
"Interpolation",
"Method to determine how missing pixels are created");
3261 "Adjust input playback speed, so its duration fits strip length"},
3267 "Frame number of the input strip"},
3268 {
SEQ_SPEED_LENGTH,
"LENGTH", 0,
"Length",
"Percentage of the input strip length"},
3269 {0,
nullptr, 0,
nullptr,
nullptr},
3284 "Multiply the current speed of the sequence with this number or remap current frame "
3303 prop,
"Frame Interpolation",
"Do crossfade blending between current and next frame");
3330 {0,
nullptr, 0,
nullptr,
nullptr},
3336 {0,
nullptr, 0,
nullptr,
nullptr},
3347 prop,
"Font",
"Font of the text. Falls back to the UI font by default.");
3436 prop,
"Align X",
"Align the text along the X axis, relative to the text bounds");
3443 prop,
"Align Y",
"Align the text along the Y axis, relative to the text bounds");
3506 {0,
nullptr, 0,
nullptr,
nullptr},
3517 prop,
"Blending Mode",
"Method for controlling how the strip combines with other strips");
3523 prop,
"Blend Factor",
"Percentage of how much the strip's colors affect other strips");
3528 {
"AddSequence",
"Add Sequence",
"Add Sequence",
nullptr, 2},
3529 {
"AdjustmentSequence",
3530 "Adjustment Layer Sequence",
3531 "Sequence strip to perform filter adjustments to layers below",
3534 {
"AlphaOverSequence",
"Alpha Over Sequence",
"Alpha Over Sequence",
nullptr, 2},
3535 {
"AlphaUnderSequence",
"Alpha Under Sequence",
"Alpha Under Sequence",
nullptr, 2},
3538 "Sequence strip creating an image filled with a single color",
3541 {
"CrossSequence",
"Cross Sequence",
"Cross Sequence",
nullptr, 2},
3542 {
"GammaCrossSequence",
"Gamma Cross Sequence",
"Gamma Cross Sequence",
nullptr, 2},
3543 {
"GlowSequence",
"Glow Sequence",
"Sequence strip creating a glow effect",
rna_def_glow, 1},
3544 {
"MulticamSequence",
3545 "Multicam Select Sequence",
3546 "Sequence strip to perform multicam editing",
3549 {
"MultiplySequence",
"Multiply Sequence",
"Multiply Sequence",
nullptr, 2},
3550 {
"OverDropSequence",
"Over Drop Sequence",
"Over Drop Sequence",
nullptr, 2},
3551 {
"SpeedControlSequence",
3552 "SpeedControl Sequence",
3553 "Sequence strip to control the speed of other strips",
3556 {
"SubtractSequence",
"Subtract Sequence",
"Subtract Sequence",
nullptr, 2},
3557 {
"TransformSequence",
3558 "Transform Sequence",
3559 "Sequence strip applying affine transformations to other strips",
3564 "Sequence strip creating a wipe transition",
3567 {
"GaussianBlurSequence",
3568 "Gaussian Blur Sequence",
3569 "Sequence strip creating a gaussian blur",
3572 {
"TextSequence",
"Text Sequence",
"Sequence strip creating text",
rna_def_text, 0},
3573 {
"ColorMixSequence",
"Color Mix Sequence",
"Color Mix Sequence",
rna_def_color_mix, 2},
3574 {
"",
"",
"",
nullptr, 0},
3603 {0,
nullptr, 0,
nullptr,
nullptr},
3611 "Mask animation is offset to start of strip"},
3616 "Mask animation is in sync with scene frame"},
3617 {0,
nullptr, 0,
nullptr,
nullptr},
3667 "rna_SequenceModifier_strip_set",
3669 "rna_SequenceModifier_otherSequence_poll");
3686 srna =
RNA_def_struct(brna,
"ColorBalanceModifier",
"SequenceModifier");
3689 srna,
"ColorBalanceModifier",
"Color balance modifier for sequence strip");
3707 srna =
RNA_def_struct(brna,
"WhiteBalanceModifier",
"SequenceModifier");
3710 srna,
"WhiteBalanceModifier",
"White balance modifier for sequence strip");
3724 srna =
RNA_def_struct(brna,
"CurvesModifier",
"SequenceModifier");
3740 srna =
RNA_def_struct(brna,
"HueCorrectModifier",
"SequenceModifier");
3756 srna =
RNA_def_struct(brna,
"BrightContrastModifier",
"SequenceModifier");
3759 srna,
"BrightContrastModifier",
"Bright/contrast modifier data for sequence strip");
3782 {0,
nullptr, 0,
nullptr,
nullptr},
3785 srna =
RNA_def_struct(brna,
"SequencerTonemapModifierData",
"SequenceModifier");
3805 "Normally always 1, but can be used as an extra control to alter the brightness curve");
3816 prop,
"Intensity",
"If less than zero, darkens image; otherwise, makes it brighter");
3832 prop,
"Color Correction",
"If 0, same for all channels; if 1, each independent");
3873 srna =
RNA_def_struct(brna,
"SoundEqualizerModifier",
"SequenceModifier");
3881 prop,
"Graphical definition equalization",
"Graphical definition equalization");
3884 func =
RNA_def_function(srna,
"new_graphic",
"rna_Sequence_SoundEqualizer_Curve_add");
3893 "Minimum Frequency",
3894 "Minimum Frequency",
3903 "Maximum Frequency",
3904 "Maximum Frequency",
3912 "EQCurveMappingData",
3914 "Newly created graphical Equalizer definition");
3918 func =
RNA_def_function(srna,
"clear_soundeqs",
"rna_Sequence_SoundEqualizer_Curve_clear");
3921 "Remove all graphical equalizers from the Equalizer modifier");
AnimData * BKE_animdata_from_id(const 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)
Scene * CTX_data_scene(const bContext *C)
void BKE_report(ReportList *reports, eReportType type, const char *message)
#define LISTBASE_FOREACH(type, var, list)
#define LISTBASE_FOREACH_MUTABLE(type, var, list)
int BLI_findindex(const struct ListBase *listbase, const void *vlink) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1)
#define BLI_path_join(...)
void void void BLI_path_split_file_part(const char *filepath, char *file, size_t file_maxncpy) ATTR_NONNULL(1
void BLI_path_split_dir_file(const char *filepath, char *dir, size_t dir_maxncpy, char *file, size_t file_maxncpy) ATTR_NONNULL(1
#define STRNCPY(dst, src)
#define SNPRINTF(dst, format,...)
size_t BLI_str_escape(char *__restrict dst, const char *__restrict src, size_t dst_maxncpy) ATTR_NONNULL(1
char * BLI_strncpy(char *__restrict dst, const char *__restrict src, size_t dst_maxncpy) ATTR_NONNULL(1
#define STRNCPY_UTF8(dst, src)
#define BLI_STR_UTF8_MULTIPLICATION_SIGN
void BLI_uniquename(const struct ListBase *list, void *vlink, const char *defname, char delim, int name_offset, size_t name_maxncpy) ATTR_NONNULL(1
#define UNUSED_FUNCTION(x)
#define BLT_I18NCONTEXT_ID_SEQUENCE
#define BLT_I18NCONTEXT_ID_SOUND
#define BLT_I18NCONTEXT_EDITOR_FILEBROWSER
void DEG_id_tag_update(ID *id, unsigned int flags)
void DEG_relations_tag_update(Main *bmain)
@ ID_RECALC_SEQUENCER_STRIPS
Object is a sort of wrapper for general info.
@ SEQ_STORAGE_PROXY_CUSTOM_FILE
@ SEQ_STORAGE_PROXY_CUSTOM_DIR
@ SEQ_MOVIECLIP_RENDER_UNDISTORTED
@ SEQ_MOVIECLIP_RENDER_STABILIZED
@ SEQ_CACHE_STORE_PREPROCESSED
@ SEQ_CACHE_STORE_FINAL_OUT
@ SEQ_CACHE_STORE_COMPOSITE
@ SEQ_CACHE_PREFETCH_ENABLE
@ SEQ_TEXT_ALIGN_Y_BOTTOM
@ SEQ_TEXT_ALIGN_Y_CENTER
@ seqModifierType_WhiteBalance
@ seqModifierType_BrightContrast
@ seqModifierType_ColorBalance
@ seqModifierType_SoundEqualizer
@ seqModifierType_HueCorrect
@ seqModifierType_Tonemap
@ SEQ_TEXT_ALIGN_X_CENTER
#define SEQ_FONT_NOT_LOADED
@ SEQ_TONEMAP_RD_PHOTORECEPTOR
@ SEQ_PROXY_SKIP_EXISTING
@ SEQ_COLOR_BALANCE_METHOD_LIFTGAMMAGAIN
@ SEQ_COLOR_BALANCE_METHOD_SLOPEOFFSETPOWER
@ SEQ_EDIT_SHOW_MISSING_MEDIA
@ SEQ_PROXY_IMAGE_SIZE_100
@ SEQ_PROXY_IMAGE_SIZE_25
@ SEQ_PROXY_IMAGE_SIZE_50
@ SEQ_PROXY_IMAGE_SIZE_75
@ SEQ_EDIT_PROXY_DIR_STORAGE
@ SEQ_USE_EFFECT_DEFAULT_FADE
@ SEQ_USE_LINEAR_MODIFIERS
@ SEQ_SCENE_NO_ANNOTATION
@ SEQ_AUDIO_DRAW_WAVEFORM
@ SEQUENCE_MODIFIER_EXPANDED
@ SEQUENCE_MASK_INPUT_STRIP
@ SEQ_PROXY_TC_RECORD_RUN_NO_GAPS
@ SEQ_PROXY_TC_RECORD_RUN
@ SEQUENCE_MASK_TIME_RELATIVE
@ SEQUENCE_MASK_TIME_ABSOLUTE
@ SEQ_TRANSFORM_FILTER_CUBIC_BSPLINE
@ SEQ_TRANSFORM_FILTER_AUTO
@ SEQ_TRANSFORM_FILTER_CUBIC_MITCHELL
@ SEQ_TRANSFORM_FILTER_BILINEAR
@ SEQ_TRANSFORM_FILTER_BOX
@ SEQ_TRANSFORM_FILTER_NEAREST
@ SEQ_SPEED_USE_INTERPOLATION
struct StripElem StripElem
@ SEQ_EDIT_OVERLAY_FRAME_ABS
@ SEQ_EDIT_OVERLAY_FRAME_SHOW
@ SEQ_COLOR_BALANCE_INVERSE_GAIN
@ SEQ_COLOR_BALANCE_INVERSE_LIFT
@ SEQ_COLOR_BALANCE_INVERSE_SLOPE
@ SEQ_COLOR_BALANCE_INVERSE_POWER
@ SEQ_COLOR_BALANCE_INVERSE_OFFSET
@ SEQ_COLOR_BALANCE_INVERSE_GAMMA
void IMB_free_anim(ImBufAnim *anim)
Read Guarded memory(de)allocation.
#define RNA_POINTER_INVALIDATE(ptr)
#define RNA_ENUM_ITEM_SEPR
constexpr PointerRNA PointerRNA_NULL
constexpr int SEQ_MAX_CHANNELS
#define SOUND_EQUALIZER_DEFAULT_MAX_FREQ
#define SOUND_EQUALIZER_DEFAULT_MIN_FREQ
#define ND_SPACE_SEQUENCER
SIMD_FORCE_INLINE btVector3 transform(const btVector3 &point) const
void append(const T &value)
draw_view push_constant(Type::INT, "radiance_src") .push_constant(Type capture_info_buf storage_buf(1, Qualifier::READ, "ObjectBounds", "bounds_buf[]") .push_constant(Type draw_view int
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)
VectorSet< Sequence * > SEQ_query_all_strips_recursive(const ListBase *seqbase)
void SEQ_for_each_callback(ListBase *seqbase, SeqForEachFunc callback, void *user_data)
size_t(* MEM_allocN_len)(const void *vmemh)
void MEM_freeN(void *vmemh)
void *(* MEM_callocN)(size_t len, const char *str)
void SEQ_prefetch_stop(Scene *scene)
void SEQ_proxy_set(Sequence *seq, bool value)
bool RNA_struct_is_a(const StructRNA *type, const StructRNA *srna)
void rna_iterator_array_begin(CollectionPropertyIterator *iter, void *ptr, int itemsize, int length, bool free_ptr, IteratorSkipFunc skip)
PointerRNA rna_pointer_inherit_refine(const PointerRNA *ptr, StructRNA *type, void *data)
PointerRNA RNA_pointer_create(ID *id, StructRNA *type, void *data)
void RNA_def_struct_name_property(StructRNA *srna, PropertyRNA *prop)
PropertyRNA * RNA_def_string(StructOrFunctionRNA *cont_, const char *identifier, const char *default_value, const int maxlen, const char *ui_name, const char *ui_description)
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)
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)
void RNA_def_property_srna(PropertyRNA *prop, const char *type)
PropertyRNA * RNA_def_float(StructOrFunctionRNA *cont_, const char *identifier, const float default_value, const float hardmin, const float hardmax, const char *ui_name, const char *ui_description, const float softmin, const float softmax)
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)
PropertyRNA * RNA_def_enum(StructOrFunctionRNA *cont_, const char *identifier, const EnumPropertyItem *items, const int default_value, const char *ui_name, const char *ui_description)
void RNA_def_property_enum_items(PropertyRNA *prop, const EnumPropertyItem *item)
void RNA_def_struct_sdna(StructRNA *srna, const char *structname)
FunctionRNA * RNA_def_function(StructRNA *srna, const char *identifier, const char *call)
void RNA_def_property_range(PropertyRNA *prop, double min, double max)
PropertyRNA * RNA_def_pointer(StructOrFunctionRNA *cont_, const char *identifier, const char *type, const char *ui_name, const char *ui_description)
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)
PropertyRNA * RNA_def_property(StructOrFunctionRNA *cont_, const char *identifier, int type, int subtype)
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)
void RNA_def_property_enum_bitflag_sdna(PropertyRNA *prop, const char *structname, const char *propname)
StructRNA * RNA_def_struct(BlenderRNA *brna, const char *identifier, const char *from)
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)
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_boolean(StructOrFunctionRNA *cont_, const char *identifier, const bool default_value, 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)
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_sequence_retiming_keys(BlenderRNA *brna, PropertyRNA *cprop)
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)
#define RNA_ENUM_SEQUENCER_VIDEO_MODIFIER_TYPE_ITEMS
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_sound_equalizer_modifier(BlenderRNA *brna)
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)
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)
#define RNA_ENUM_SEQUENCER_AUDIO_MODIFIER_TYPE_ITEMS
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_audio_options(StructRNA *srna)
static void rna_def_strip_transform(BlenderRNA *brna)
static void rna_def_movie(BlenderRNA *brna)
static void rna_def_wipe(StructRNA *srna)
static void rna_def_graphical_sound_equalizer(BlenderRNA *brna)
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)
const EnumPropertyItem rna_enum_sequence_sound_modifier_type_items[]
static EffectInfo def_effects[]
const EnumPropertyItem rna_enum_sequence_video_modifier_type_items[]
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 void rna_def_retiming_key(BlenderRNA *brna)
static const EnumPropertyItem blend_mode_items[]
static void rna_def_sound_modifiers(BlenderRNA *brna)
static void rna_def_sequence_modifiers(BlenderRNA *brna, PropertyRNA *cprop)
Sequence * SEQ_sequence_lookup_owner_by_channel(const Scene *scene, const SeqTimelineChannel *channel)
Sequence * SEQ_sequence_lookup_seq_by_name(const Scene *scene, const char *key)
SequenceModifierData * SEQ_modifier_new(Sequence *seq, const char *name, int type)
bool SEQ_modifier_remove(Sequence *seq, SequenceModifierData *smd)
void SEQ_modifier_clear(Sequence *seq)
int SEQ_sequence_supports_modifiers(Sequence *seq)
void SEQ_modifier_unique_name(Sequence *seq, SequenceModifierData *smd)
EQCurveMappingData * SEQ_sound_equalizermodifier_add_graph(SoundEqualizerModifierData *semd, float min_freq, float max_freq)
void SEQ_sound_equalizermodifier_free(SequenceModifierData *smd)
void SEQ_sound_update_bounds(Scene *scene, Sequence *seq)
ListBase * SEQ_get_seqbase_by_seq(const Scene *scene, Sequence *seq)
void SEQ_sequence_base_unique_name_recursive(Scene *scene, ListBase *seqbasep, Sequence *seq)
Sequence * SEQ_sequence_from_strip_elem(ListBase *seqbase, StripElem *se)
void SEQ_meta_stack_set(const Scene *scene, Sequence *dst_seq)
Editing * SEQ_editing_get(const Scene *scene)
void SEQ_add_reload_new_file(Main *bmain, Scene *scene, Sequence *seq, const bool lock_range)
void SEQ_add_movie_reload_if_needed(Main *bmain, Scene *scene, Sequence *seq, bool *r_was_reloaded, bool *r_can_produce_frames)
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)
int SEQ_retiming_keys_count(const Sequence *seq)
void SEQ_retiming_key_timeline_frame_set(const Scene *scene, Sequence *seq, SeqRetimingKey *key, const int timeline_frame)
void SEQ_retiming_remove_key(const Scene *scene, Sequence *seq, SeqRetimingKey *key)
blender::Map< SeqRetimingKey *, Sequence * > SEQ_retiming_selection_get(const Editing *ed)
void SEQ_select_active_set(Scene *scene, Sequence *seq)
int SEQ_time_strip_length_get(const Scene *scene, const Sequence *seq)
void SEQ_time_right_handle_frame_set(const Scene *scene, Sequence *seq, int timeline_frame)
void SEQ_time_left_handle_frame_set(const Scene *scene, Sequence *seq, int timeline_frame)
int SEQ_time_left_handle_frame_get(const Scene *, const Sequence *seq)
float SEQ_time_sequence_get_fps(Scene *scene, Sequence *seq)
float SEQ_time_start_frame_get(const Sequence *seq)
int SEQ_time_right_handle_frame_get(const Scene *scene, const Sequence *seq)
ListBaseIterator listbase
union CollectionPropertyIterator::@1329 internal
StripColorBalance color_balance
void(* func)(StructRNA *)
struct SequenceModifierData * next
struct Sequence * mask_sequence
StripTransform * transform
void WM_main_add_notifier(uint type, void *reference)