44#define RNA_ENUM_SEQUENCER_VIDEO_MODIFIER_TYPE_ITEMS \
45 {seqModifierType_BrightContrast, "BRIGHT_CONTRAST", ICON_NONE, "Brightness/Contrast", ""}, \
46 {seqModifierType_ColorBalance, "COLOR_BALANCE", ICON_NONE, "Color Balance", ""}, \
47 {seqModifierType_Curves, "CURVES", ICON_NONE, "Curves", ""}, \
48 {seqModifierType_HueCorrect, "HUE_CORRECT", ICON_NONE, "Hue Correct", ""}, \
49 {seqModifierType_Mask, "MASK", ICON_NONE, "Mask", ""}, \
50 {seqModifierType_Tonemap, "TONEMAP", ICON_NONE, "Tone Map", ""}, \
51 {seqModifierType_WhiteBalance, "WHITE_BALANCE", ICON_NONE, "White Balance", ""}
53#define RNA_ENUM_SEQUENCER_AUDIO_MODIFIER_TYPE_ITEMS \
54 {seqModifierType_SoundEqualizer, "SOUND_EQUALIZER", ICON_NONE, "Sound Equalizer", ""}
60 {0,
nullptr, 0,
nullptr,
nullptr},
65 {0,
nullptr, 0,
nullptr,
nullptr},
70 {0,
nullptr, 0,
nullptr,
nullptr},
74 {
STRIP_COLOR_NONE,
"NONE", ICON_X,
"None",
"Assign no color tag to the collection"},
84 {0,
nullptr, 0,
nullptr,
nullptr},
91# include <fmt/format.h>
132struct StripSearchData {
167static void rna_Strip_invalidate_preprocessed_update(
Main * ,
197 rna_Strip_invalidate_raw_update(bmain, scene,
ptr);
207 rna_Strip_invalidate_raw_update(bmain, scene,
ptr);
213 if (strip->scene !=
nullptr) {
229 add_strips_from_seqbase(&strip->seqbase, strips);
234struct StripsAllIterator {
235 blender::Vector<Strip *> strips;
239static std::optional<std::string> rna_SequenceEditor_path(
const PointerRNA * )
241 return "sequence_editor";
249 StripsAllIterator *strip_iter = MEM_new<StripsAllIterator>(__func__);
250 strip_iter->index = 0;
251 add_strips_from_seqbase(&ed->
seqbase, strip_iter->strips);
254 iter->internal.custom = bli_iter;
255 bli_iter->
data = strip_iter;
257 Strip **strip_arr = strip_iter->strips.begin();
258 bli_iter->
current = *strip_arr;
259 iter->valid = bli_iter->
current !=
nullptr;
265 StripsAllIterator *strip_iter =
static_cast<StripsAllIterator *
>(bli_iter->
data);
268 Strip **strip_arr = strip_iter->strips.begin();
269 bli_iter->
current = *(strip_arr + strip_iter->index);
271 iter->
valid = bli_iter->
current !=
nullptr && strip_iter->index < strip_iter->strips.size();
283 StripsAllIterator *strip_iter =
static_cast<StripsAllIterator *
>(bli_iter->
data);
285 MEM_delete(strip_iter);
289static bool rna_SequenceEditor_strips_all_lookup_string(
PointerRNA *
ptr,
293 ID *
id =
ptr->owner_id;
330 (
void *)strip->data->stripdata,
332 rna_Strip_elements_length(
ptr),
347 (
void *)strip->retiming_keys,
359 for (
Strip *strip : strips) {
364 if (key >= first && key <= last) {
375 Strip *strip = strip_by_key_find(scene, key);
377 if (strip ==
nullptr) {
391 Strip *strip = strip_by_key_find(scene, key);
393 if (strip ==
nullptr) {
400static void rna_Strip_retiming_key_frame_set(
PointerRNA *
ptr,
int value)
404 Strip *strip = strip_by_key_find(scene, key);
406 if (strip ==
nullptr) {
414static bool rna_SequenceEditor_selected_retiming_key_get(
PointerRNA *
ptr)
422 rna_Strip_invalidate_raw_update(bmain, scene,
ptr);
425static void do_strip_frame_change_update(
Scene *scene,
Strip *strip)
444 do_strip_frame_change_update(scene, (
Strip *)
ptr->data);
459static void rna_Strip_start_frame_final_set(
PointerRNA *
ptr,
int value)
465 do_strip_frame_change_update(scene, strip);
469static void rna_Strip_end_frame_final_set(
PointerRNA *
ptr,
int value)
475 do_strip_frame_change_update(scene, strip);
479static void rna_Strip_start_frame_set(
PointerRNA *
ptr,
float value)
485 do_strip_frame_change_update(scene, strip);
489static void rna_Strip_frame_offset_start_set(
PointerRNA *
ptr,
float value)
495 strip->startofs = value;
498static void rna_Strip_frame_offset_end_set(
PointerRNA *
ptr,
float value)
504 strip->endofs = value;
507static void rna_Strip_anim_startofs_final_set(
PointerRNA *
ptr,
int value)
512 strip->anim_startofs = std::min(value, strip->len + strip->anim_startofs);
515 do_strip_frame_change_update(scene, strip);
518static void rna_Strip_anim_endofs_final_set(
PointerRNA *
ptr,
int value)
523 strip->anim_endofs = std::min(value, strip->len + strip->anim_endofs);
526 do_strip_frame_change_update(scene, strip);
529static void rna_Strip_anim_endofs_final_range(
535 *
max = strip->len + strip->anim_endofs - strip->startofs - strip->endofs - 1;
538static void rna_Strip_anim_startofs_final_range(
544 *
max = strip->len + strip->anim_startofs - strip->startofs - strip->endofs - 1;
547static void rna_Strip_frame_offset_start_range(
552 *
max = strip->len - strip->endofs - 1;
555static void rna_Strip_frame_offset_end_range(
560 *
max = strip->len - strip->startofs - 1;
563static void rna_Strip_frame_length_set(
PointerRNA *
ptr,
int value)
570 do_strip_frame_change_update(scene, strip);
589static int rna_Strip_frame_editable(
const PointerRNA *
ptr,
const char ** )
603 const int channel_delta = (value >= strip->channel) ? 1 : -1;
621static void rna_Strip_use_proxy_set(
PointerRNA *
ptr,
bool value)
627static bool transform_strip_cmp_fn(
Strip *strip,
void *arg_pt)
629 StripSearchData *
data =
static_cast<StripSearchData *
>(arg_pt);
640 StripSearchData
data;
642 data.strip =
nullptr;
651static std::optional<std::string> rna_StripTransform_path(
const PointerRNA *
ptr)
658 char name_esc[(
sizeof(strip->
name) - 2) * 2];
660 return fmt::format(
"sequence_editor.strips_all[\"{}\"].transform", name_esc);
674static bool crop_strip_cmp_fn(
Strip *strip,
void *arg_pt)
676 StripSearchData *
data =
static_cast<StripSearchData *
>(arg_pt);
687 StripSearchData
data;
689 data.strip =
nullptr;
698static std::optional<std::string> rna_StripCrop_path(
const PointerRNA *
ptr)
705 char name_esc[(
sizeof(strip->
name) - 2) * 2];
707 return fmt::format(
"sequence_editor.strips_all[\"{}\"].crop", name_esc);
733 data->text_font = value;
740 strcpy(value, strip->
name + 2);
746 return strlen(strip->
name + 2);
749static void rna_Strip_name_set(
PointerRNA *
ptr,
const char *value)
753 char oldname[
sizeof(strip->
name)];
771 nullptr,
"sequence_editor.strips_all", oldname, strip->
name + 2);
776 &scene->
id, adt,
nullptr,
"sequence_editor.strips_all", oldname, strip->
name + 2, 0, 0, 1);
784 switch (strip->
type) {
786 return &RNA_ImageStrip;
788 return &RNA_MetaStrip;
790 return &RNA_SceneStrip;
792 return &RNA_MovieStrip;
794 return &RNA_MovieClipStrip;
796 return &RNA_MaskStrip;
798 return &RNA_SoundStrip;
800 return &RNA_CrossStrip;
802 return &RNA_AddStrip;
804 return &RNA_SubtractStrip;
806 return &RNA_AlphaOverStrip;
808 return &RNA_AlphaUnderStrip;
810 return &RNA_GammaCrossStrip;
812 return &RNA_MultiplyStrip;
814 return &RNA_MulticamStrip;
816 return &RNA_AdjustmentStrip;
818 return &RNA_WipeStrip;
820 return &RNA_GlowStrip;
822 return &RNA_TransformStrip;
824 return &RNA_ColorStrip;
826 return &RNA_SpeedControlStrip;
828 return &RNA_GaussianBlurStrip;
830 return &RNA_TextStrip;
832 return &RNA_ColorMixStrip;
838static std::optional<std::string> rna_Strip_path(
const PointerRNA *
ptr)
845 char name_esc[(
sizeof(strip->
name) - 2) * 2];
848 return fmt::format(
"sequence_editor.strips_all[\"{}\"]", name_esc);
857static bool rna_MovieStrip_reload_if_needed(
ID *scene_id,
Strip *strip,
Main *bmain)
862 bool can_produce_frames;
865 bmain, scene, strip, &has_reloaded, &can_produce_frames);
867 if (has_reloaded && can_produce_frames) {
874 return can_produce_frames;
879 if (strip ==
nullptr || strip->
anims.
first ==
nullptr) {
884 if (sanim->
anim ==
nullptr) {
889 if (metadata ==
nullptr) {
906static void rna_Strip_filepath_set(
PointerRNA *
ptr,
const char *value)
916static void rna_Strip_filepath_get(
PointerRNA *
ptr,
char *value)
923 strcpy(value, filepath);
933 return strlen(filepath);
936static void rna_Strip_proxy_filepath_set(
PointerRNA *
ptr,
const char *value)
943 proxy->
anim =
nullptr;
947static void rna_Strip_proxy_filepath_get(
PointerRNA *
ptr,
char *value)
953 strcpy(value, filepath);
962 return strlen(filepath);
970static void rna_Strip_pan_range(
978 *softmin = -*softmax;
1002 switch (input_num) {
1014 rna_Strip_input_set(
ptr, ptr_value,
reports, 1);
1019 rna_Strip_input_set(
ptr, ptr_value,
reports, 2);
1022static void rna_SoundStrip_filename_set(
PointerRNA *
ptr,
const char *value)
1032static void rna_StripElement_filename_set(
PointerRNA *
ptr,
const char *value)
1045 rna_Strip_invalidate_raw_update(bmain, scene,
ptr);
1057 rna_Strip_invalidate_raw_update(bmain, scene,
ptr);
1067static bool seqproxy_strip_cmp_fn(
Strip *strip,
void *arg_pt)
1069 StripSearchData *
data =
static_cast<StripSearchData *
>(arg_pt);
1072 data->strip = strip;
1080 StripSearchData
data;
1082 data.strip =
nullptr;
1096 do_strip_frame_change_update(scene, strip);
1113static void rna_Strip_opacity_set(
PointerRNA *
ptr,
float value)
1116 CLAMP(value, 0.0f, 1.0f);
1126static void rna_Strip_color_tag_set(
PointerRNA *
ptr,
int value)
1132static bool colbalance_seq_cmp_fn(
Strip *strip,
void *arg_pt)
1134 StripSearchData *
data =
static_cast<StripSearchData *
>(arg_pt);
1143 data->strip = strip;
1157 StripSearchData
data;
1159 data.strip =
nullptr;
1171static std::optional<std::string> rna_StripColorBalance_path(
const PointerRNA *
ptr)
1179 char name_esc[(
sizeof(strip->
name) - 2) * 2];
1185 return fmt::format(
"sequence_editor.strips_all[\"{}\"].color_balance", name_esc);
1188 char name_esc_smd[
sizeof(smd->
name) * 2];
1191 return fmt::format(
"sequence_editor.strips_all[\"{}\"].modifiers[\"{}\"].color_balance",
1208static void rna_SequenceEditor_overlay_lock_set(
PointerRNA *
ptr,
bool value)
1213 if (ed ==
nullptr) {
1228static int rna_SequenceEditor_overlay_frame_get(
PointerRNA *
ptr)
1233 if (ed ==
nullptr) {
1234 return scene->
r.
cfra;
1245static void rna_SequenceEditor_overlay_frame_set(
PointerRNA *
ptr,
int value)
1250 if (ed ==
nullptr) {
1262static int rna_SequenceEditor_get_cache_raw_size(
PointerRNA *
ptr)
1265 if (scene ==
nullptr) {
1271static int rna_SequenceEditor_get_cache_final_size(
PointerRNA *
ptr)
1274 if (scene ==
nullptr) {
1280static void rna_SequenceEditor_display_stack(
ID *
id,
1302static bool modifier_strip_cmp_fn(
Strip *strip,
void *arg_pt)
1304 StripSearchData *
data =
static_cast<StripSearchData *
>(arg_pt);
1307 data->strip = strip;
1316 StripSearchData
data;
1318 data.strip =
nullptr;
1331 switch (smd->
type) {
1333 return &RNA_ColorBalanceModifier;
1335 return &RNA_CurvesModifier;
1337 return &RNA_HueCorrectModifier;
1339 return &RNA_BrightContrastModifier;
1341 return &RNA_WhiteBalanceModifier;
1343 return &RNA_SequencerTonemapModifierData;
1345 return &RNA_SoundEqualizerModifier;
1347 return &RNA_StripModifier;
1351static std::optional<std::string> rna_StripModifier_path(
const PointerRNA *
ptr)
1356 Strip *strip = strip_get_by_modifier(ed, smd);
1359 char name_esc[(
sizeof(strip->
name) - 2) * 2];
1360 char name_esc_smd[
sizeof(smd->
name) * 2];
1365 "sequence_editor.strips_all[\"{}\"].modifiers[\"{}\"]", name_esc, name_esc_smd);
1370static void rna_StripModifier_name_set(
PointerRNA *
ptr,
const char *value)
1375 Strip *strip = strip_get_by_modifier(ed, smd);
1377 char oldname[
sizeof(smd->
name)];
1391 char rna_path_prefix[1024];
1393 char strip_name_esc[(
sizeof(strip->
name) - 2) * 2];
1396 SNPRINTF(rna_path_prefix,
"sequence_editor.strips_all[\"%s\"].modifiers", strip_name_esc);
1398 &scene->
id, adt,
nullptr, rna_path_prefix, oldname, smd->
name, 0, 0, 1);
1421static void rna_StripModifier_EQCurveMapping_update(
Main *bmain,
1468static void rna_Strip_modifier_remove(
Strip *strip,
1503 Strip *strip = strip_get_by_modifier(ed, smd);
1521static void rna_Strip_separate(
ID *
id,
Strip *strip_meta,
Main *bmain)
1542static void rna_SequenceTimelineChannel_name_set(
PointerRNA *
ptr,
const char *value)
1551 if (channel_owner !=
nullptr) {
1552 channels_base = &channel_owner->
channels;
1561 sizeof(channel->name));
1564static void rna_SequenceTimelineChannel_mute_update(
Main *bmain,
1565 Scene *active_scene,
1574 if (channel_owner ==
nullptr) {
1578 seqbase = &channel_owner->
seqbase;
1585 rna_Strip_sound_update(bmain, active_scene,
ptr);
1588static std::optional<std::string> rna_SeqTimelineChannel_path(
const PointerRNA *
ptr)
1595 char channel_name_esc[(
sizeof(channel->name)) * 2];
1596 BLI_str_escape(channel_name_esc, channel->name,
sizeof(channel_name_esc));
1598 if (channel_owner ==
nullptr) {
1599 return fmt::format(
"sequence_editor.channels[\"{}\"]", channel_name_esc);
1601 char owner_name_esc[(
sizeof(channel_owner->
name) - 2) * 2];
1604 "sequence_editor.strips_all[\"{}\"].channels[\"{}\"]", owner_name_esc, channel_name_esc);
1613 semd, min_freq, max_freq);
1666 "Key mapped to particular frame that can be moved to change playback speed");
1671 prop,
"rna_Strip_retiming_key_frame_get",
"rna_Strip_retiming_key_frame_set",
nullptr);
1720 "Automatically choose filter based on scaling factor"},
1742 "Averages source image samples that fall under destination pixel"},
1743 {0,
nullptr, 0,
nullptr,
nullptr},
1812 "Ignore generated timecodes, seek in movie stream based on calculated timestamp"},
1817 "Seek based on timestamps read from movie stream, giving the best match between scene and "
1820 "RECORD_RUN_NO_GAPS",
1822 "Record Run No Gaps",
1823 "Effectively convert movie to an image sequence, ignoring incomplete or dropped frames, "
1824 "and changes in frame rate"},
1825 {0,
nullptr, 0,
nullptr,
nullptr},
1842 "rna_Strip_proxy_filepath_get",
1843 "rna_Strip_proxy_filepath_length",
1844 "rna_Strip_proxy_filepath_set");
1904 "OFFSET_POWER_SLOPE",
1906 "Offset/Power/Slope (ASC-CDL)",
1907 "ASC-CDL standard color correction"},
1908 {0,
nullptr, 0,
nullptr,
nullptr},
1913 "Strip Color Balance Data",
1914 "Color balance parameters for a sequence strip and its modifiers");
2010 srna =
RNA_def_struct(brna,
"StripColorBalance",
"StripColorBalanceData");
2012 srna,
"Strip Color Balance",
"Color balance parameters for a sequence strip");
2049 {0,
nullptr, 0,
nullptr,
nullptr},
2068 parm =
RNA_def_string(func,
"name",
"Name", 0,
"",
"New name for the modifier");
2076 "Modifier type to add");
2079 parm =
RNA_def_pointer(func,
"modifier",
"StripModifier",
"",
"Newly created modifier");
2087 parm =
RNA_def_pointer(func,
"modifier",
"StripModifier",
"",
"Modifier to remove");
2127 {0,
nullptr, 0,
nullptr,
nullptr},
2138 prop,
"rna_Strip_name_get",
"rna_Strip_name_length",
"rna_Strip_name_set");
2171 prop,
"Mute",
"Disable strip so that it cannot be viewed in the output");
2188 prop,
"Length",
"The length of the contents of this strip after the handles are applied");
2190 prop,
"rna_Strip_frame_length_get",
"rna_Strip_frame_length_set",
nullptr);
2200 prop,
"Length",
"The length of the contents of this strip before the handles are applied");
2208 prop,
nullptr,
"rna_Strip_start_frame_set",
nullptr);
2216 prop,
"rna_Strip_frame_final_start_get",
"rna_Strip_start_frame_final_set",
nullptr);
2222 "Start frame displayed in the sequence editor after offsets are applied, setting this is "
2223 "equivalent to moving the handle, not the actual start frame");
2231 prop,
"rna_Strip_frame_final_end_get",
"rna_Strip_end_frame_final_set",
nullptr);
2235 prop,
"End Frame",
"End frame displayed in the sequence editor after offsets are applied");
2246 prop,
nullptr,
"rna_Strip_frame_offset_start_set",
"rna_Strip_frame_offset_start_range");
2255 prop,
nullptr,
"rna_Strip_frame_offset_end_set",
"rna_Strip_frame_offset_end_range");
2270 "Use Linear Modifiers",
2271 "Calculate modifiers in linear space instead of sequencer's space");
2282 prop,
"Blending Mode",
"Method for controlling how the strip combines with other strips");
2290 prop,
"Blend Opacity",
"Percentage of how much the strip's colors affect other strips");
2308 "Fade effect using the built-in default (usually makes the transition "
2309 "as long as the effect strip)");
2381 {0,
"PER_STRIP", 0,
"Per Strip",
"Store proxies using per strip settings"},
2386 "Store proxies using project directory"},
2387 {0,
nullptr, 0,
nullptr,
nullptr},
2403 prop,
"Strips",
"(Deprecated: Replaced by '.strips') Top-level strips only");
2411 "(Deprecated: Replaced by '.strips_all') All strips, recursively "
2412 "including those inside metastrips");
2414 "rna_SequenceEditor_strips_all_begin",
2415 "rna_SequenceEditor_strips_all_next",
2416 "rna_SequenceEditor_strips_all_end",
2417 "rna_SequenceEditor_strips_all_get",
2420 "rna_SequenceEditor_strips_all_lookup_string",
2433 prop,
"All Strips",
"All strips, recursively including those inside metastrips");
2435 "rna_SequenceEditor_strips_all_begin",
2436 "rna_SequenceEditor_strips_all_next",
2437 "rna_SequenceEditor_strips_all_end",
2438 "rna_SequenceEditor_strips_all_get",
2441 "rna_SequenceEditor_strips_all_lookup_string",
2448 prop,
"Meta Stack",
"Meta strip stack, last is currently edited meta strip");
2453 "rna_SequenceEditor_meta_stack_get",
2477 prop,
"Show Overlay",
"Partial overlay on top of the sequencer with a frame offset");
2490 prop,
"Show Missing Media",
"Render missing images/movies with a solid magenta color");
2497 "rna_SequenceEditor_overlay_frame_get",
2498 "rna_SequenceEditor_overlay_frame_set",
2520 "Cache raw images read from disk, for faster tweaking of strip "
2521 "parameters at the cost of memory usage");
2532 "Render frames ahead of current frame in the background for faster playback");
2544 prop,
"Final Cache Size",
"Size of final rendered images cache in megabytes");
2548 func =
RNA_def_function(srna,
"display_stack",
"rna_SequenceEditor_display_stack");
2552 func,
"meta_sequence",
"Strip",
"Meta Strip",
"Meta to display its stack");
2565 "RGB channels in transparent pixels are unaffected by the alpha channel"},
2570 "RGB channels in transparent pixels are multiplied by the alpha channel"},
2571 {0,
nullptr, 0,
nullptr,
nullptr},
2582 prop,
"Alpha Mode",
"Representation of alpha information in the RGBA pixels");
2650 prop,
"Use Proxy / Timecode",
"Use a preview proxy and/or time-code index for this strip");
2669 "rna_Strip_anim_startofs_final_set",
2670 "rna_Strip_anim_startofs_final_range");
2680 "rna_Strip_anim_endofs_final_set",
2681 "rna_Strip_anim_endofs_final_range");
2739 "rna_Strip_retiming_keys_begin",
2740 "rna_iterator_array_next",
2741 "rna_iterator_array_end",
2742 "rna_iterator_array_get",
2743 "rna_Strip_retiming_keys_length",
2770 "rna_Strip_elements_begin",
2771 "rna_iterator_array_next",
2772 "rna_iterator_array_end",
2773 "rna_iterator_array_get",
2774 "rna_Strip_elements_length",
2825 srna,
"Meta Strip",
"Sequence strip to group other strips as a single sequence strip");
2836 prop,
"Strips",
"(Deprecated: Replaced by '.strips') Strips nested in meta strip");
2877 {0,
"CAMERA", ICON_VIEW3D,
"Camera",
"Use the Scene's 3D camera as input"},
2882 "Use the Scene's Sequencer timeline as input"},
2883 {0,
nullptr, 0,
nullptr,
nullptr},
2888 srna,
"Scene Strip",
"Sequence strip using the rendered image of a scene");
2938 "For files with several movie streams, use the stream with the given index");
2946 "rna_Strip_elements_begin",
2947 "rna_iterator_array_next",
2948 "rna_iterator_array_end",
2949 "rna_iterator_array_get",
2950 "rna_Strip_elements_length",
2960 prop,
"rna_Strip_filepath_get",
"rna_Strip_filepath_length",
"rna_Strip_filepath_set");
2964 func =
RNA_def_function(srna,
"reload_if_needed",
"rna_MovieStrip_reload_if_needed");
2968 "can_produce_frames",
2970 "True if the strip can produce frames, False otherwise",
2980 func,
"metadata",
"IDPropertyWrapPtr",
"",
"Dict-like object containing the metadata");
3016 srna,
"MovieClip Strip",
"Sequence strip to load a video from the clip editor");
3064 srna,
"Sound Strip",
"Sequence strip defining a sound to be played over a period of time");
3092 "Offset of the sound from the beginning of the strip, expressed in seconds");
3099 prop,
"Display Waveform",
"Display the audio waveform inside the strip");
3114 "Sequence strip applying an effect on the images created by other strips");
3145 {0,
nullptr, 0,
nullptr,
nullptr},
3149 {0,
"OUT", 0,
"Out",
""},
3150 {1,
"IN", 0,
"In",
""},
3151 {0,
nullptr, 0,
nullptr,
nullptr},
3162 "Width of the blur for the transition, in percentage relative to the image size");
3232 {0,
"NONE", 0,
"None",
"No interpolation"},
3233 {1,
"BILINEAR", 0,
"Bilinear",
"Bilinear interpolation"},
3234 {2,
"BICUBIC", 0,
"Bicubic",
"Bicubic interpolation"},
3235 {0,
nullptr, 0,
nullptr,
nullptr},
3239 {0,
"PIXELS", 0,
"Pixels",
""},
3240 {1,
"PERCENT", 0,
"Percent",
""},
3241 {0,
nullptr, 0,
nullptr,
nullptr},
3291 prop,
"Interpolation",
"Method to determine how missing pixels are created");
3318 "Adjust input playback speed, so its duration fits strip length"},
3324 "Frame number of the input strip"},
3325 {
SEQ_SPEED_LENGTH,
"LENGTH", 0,
"Length",
"Percentage of the input strip length"},
3326 {0,
nullptr, 0,
nullptr,
nullptr},
3341 "Multiply the current speed of the sequence with this number or remap current frame "
3360 prop,
"Frame Interpolation",
"Do crossfade blending between current and next frame");
3386 {0,
nullptr, 0,
nullptr,
nullptr},
3393 {0,
nullptr, 0,
nullptr,
nullptr},
3400 {0,
nullptr, 0,
nullptr,
nullptr},
3411 prop,
"Font",
"Font of the text. Falls back to the UI font by default.");
3512 prop,
"Anchor X",
"Horizontal position of the text box relative to Location");
3519 prop,
"Anchor Y",
"Vertical position of the text box relative to Location");
3582 {0,
nullptr, 0,
nullptr,
nullptr},
3593 prop,
"Blending Mode",
"Method for controlling how the strip combines with other strips");
3599 prop,
"Blend Factor",
"Percentage of how much the strip's colors affect other strips");
3604 {
"AddStrip",
"Add Strip",
"Add Strip",
nullptr, 2},
3606 "Adjustment Layer Strip",
3607 "Sequence strip to perform filter adjustments to layers below",
3610 {
"AlphaOverStrip",
"Alpha Over Strip",
"Alpha Over Strip",
nullptr, 2},
3611 {
"AlphaUnderStrip",
"Alpha Under Strip",
"Alpha Under Strip",
nullptr, 2},
3614 "Sequence strip creating an image filled with a single color",
3617 {
"CrossStrip",
"Crossfade Strip",
"Crossfade Strip",
nullptr, 2},
3618 {
"GammaCrossStrip",
"Gamma Crossfade Strip",
"Gamma Crossfade Strip",
nullptr, 2},
3619 {
"GlowStrip",
"Glow Strip",
"Sequence strip creating a glow effect",
rna_def_glow, 1},
3621 "Multicam Select Strip",
3622 "Sequence strip to perform multicam editing",
3625 {
"MultiplyStrip",
"Multiply Strip",
"Multiply Strip",
nullptr, 2},
3626 {
"SpeedControlStrip",
3627 "SpeedControl Strip",
3628 "Sequence strip to control the speed of other strips",
3631 {
"SubtractStrip",
"Subtract Strip",
"Subtract Strip",
nullptr, 2},
3634 "Sequence strip applying affine transformations to other strips",
3637 {
"WipeStrip",
"Wipe Strip",
"Sequence strip creating a wipe transition",
rna_def_wipe, 2},
3638 {
"GaussianBlurStrip",
3639 "Gaussian Blur Strip",
3640 "Sequence strip creating a gaussian blur",
3643 {
"TextStrip",
"Text Strip",
"Sequence strip creating text",
rna_def_text, 0},
3645 {
"",
"",
"",
nullptr, 0},
3674 {0,
nullptr, 0,
nullptr,
nullptr},
3682 "Mask animation is offset to start of strip"},
3687 "Mask animation is in sync with scene frame"},
3688 {0,
nullptr, 0,
nullptr,
nullptr},
3737 prop,
nullptr,
"rna_StripModifier_strip_set",
nullptr,
"rna_StripModifier_otherStrip_poll");
3754 srna =
RNA_def_struct(brna,
"ColorBalanceModifier",
"StripModifier");
3757 srna,
"ColorBalanceModifier",
"Color balance modifier for sequence strip");
3775 srna =
RNA_def_struct(brna,
"WhiteBalanceModifier",
"StripModifier");
3778 srna,
"WhiteBalanceModifier",
"White balance modifier for sequence strip");
3808 srna =
RNA_def_struct(brna,
"HueCorrectModifier",
"StripModifier");
3824 srna =
RNA_def_struct(brna,
"BrightContrastModifier",
"StripModifier");
3827 srna,
"BrightContrastModifier",
"Bright/contrast modifier data for sequence strip");
3850 {0,
nullptr, 0,
nullptr,
nullptr},
3853 srna =
RNA_def_struct(brna,
"SequencerTonemapModifierData",
"StripModifier");
3873 "Normally always 1, but can be used as an extra control to alter the brightness curve");
3884 prop,
"Intensity",
"If less than zero, darkens image; otherwise, makes it brighter");
3900 prop,
"Color Correction",
"If 0, same for all channels; if 1, each independent");
3941 srna =
RNA_def_struct(brna,
"SoundEqualizerModifier",
"StripModifier");
3949 prop,
"Graphical definition equalization",
"Graphical definition equalization");
3952 func =
RNA_def_function(srna,
"new_graphic",
"rna_Strip_SoundEqualizer_Curve_add");
3961 "Minimum Frequency",
3962 "Minimum Frequency",
3971 "Maximum Frequency",
3972 "Maximum Frequency",
3980 "EQCurveMappingData",
3982 "Newly created graphical Equalizer definition");
3986 func =
RNA_def_function(srna,
"clear_soundeqs",
"rna_Strip_SoundEqualizer_Curve_clear");
3989 "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)
int BLI_findindex(const ListBase *listbase, const void *vlink) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1)
#define LISTBASE_FOREACH(type, var, list)
#define LISTBASE_FOREACH_MUTABLE(type, var, list)
#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 SNPRINTF(dst, format,...)
char * STRNCPY(char(&dst)[N], const char *src)
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_ID_MOVIECLIP
#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
@ SEQ_STORAGE_PROXY_CUSTOM_FILE
@ SEQ_STORAGE_PROXY_CUSTOM_DIR
@ SEQ_TEXT_ALIGN_Y_BOTTOM
@ SEQ_TEXT_ALIGN_Y_CENTER
@ SEQUENCE_MODIFIER_EXPANDED
@ SEQ_PROXY_IMAGE_SIZE_100
@ SEQ_PROXY_IMAGE_SIZE_25
@ SEQ_PROXY_IMAGE_SIZE_50
@ SEQ_PROXY_IMAGE_SIZE_75
@ SEQUENCE_MASK_INPUT_STRIP
@ SEQ_EDIT_OVERLAY_FRAME_ABS
@ SEQ_EDIT_OVERLAY_FRAME_SHOW
@ SEQ_EDIT_PROXY_DIR_STORAGE
@ SEQ_MOVIECLIP_RENDER_UNDISTORTED
@ SEQ_MOVIECLIP_RENDER_STABILIZED
@ STRIP_TYPE_GAUSSIAN_BLUR
@ SEQ_TEXT_ALIGN_X_CENTER
@ seqModifierType_WhiteBalance
@ seqModifierType_BrightContrast
@ seqModifierType_ColorBalance
@ seqModifierType_SoundEqualizer
@ seqModifierType_HueCorrect
@ seqModifierType_Tonemap
@ SEQ_TONEMAP_RD_PHOTORECEPTOR
@ SEQ_PROXY_SKIP_EXISTING
struct StripModifierData StripModifierData
@ 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_EDIT_SHOW_MISSING_MEDIA
@ SEQ_CACHE_STORE_FINAL_OUT
@ SEQ_CACHE_PREFETCH_ENABLE
@ SEQ_SPEED_USE_INTERPOLATION
@ SEQ_COLOR_BALANCE_METHOD_LIFTGAMMAGAIN
@ SEQ_COLOR_BALANCE_METHOD_SLOPEOFFSETPOWER
@ SEQ_USE_EFFECT_DEFAULT_FADE
@ SEQ_USE_LINEAR_MODIFIERS
@ SEQ_SCENE_NO_ANNOTATION
@ SEQ_AUDIO_DRAW_WAVEFORM
@ SEQ_PROXY_TC_RECORD_RUN_NO_GAPS
@ SEQ_PROXY_TC_RECORD_RUN
#define STRIP_FONT_NOT_LOADED
@ 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
@ SEQUENCE_MASK_TIME_RELATIVE
@ SEQUENCE_MASK_TIME_ABSOLUTE
#define RNA_ENUM_ITEM_SEPR
@ PROP_PATH_SUPPORTS_BLEND_RELATIVE
#define SOUND_EQUALIZER_DEFAULT_MAX_FREQ
#define SOUND_EQUALIZER_DEFAULT_MIN_FREQ
#define ND_SPACE_SEQUENCER
BMesh const char void * data
SIMD_FORCE_INLINE btVector3 transform(const btVector3 &point) const
void append(const T &value)
void * MEM_callocN(size_t len, const char *str)
size_t(* MEM_allocN_len)(const void *vmemh)
void MEM_freeN(void *vmemh)
void MOV_close(MovieReader *anim)
IDProperty * MOV_load_metadata(MovieReader *anim)
void prefetch_stop(Scene *scene)
int time_right_handle_frame_get(const Scene *scene, const Strip *strip)
size_t final_image_cache_calc_memory_size(const Scene *scene)
void add_movie_reload_if_needed(Main *bmain, Scene *scene, Strip *strip, bool *r_was_reloaded, bool *r_can_produce_frames)
void relations_invalidate_cache(Scene *scene, Strip *strip)
void retiming_key_timeline_frame_set(const Scene *scene, Strip *strip, SeqRetimingKey *key, const int timeline_frame)
Strip * lookup_strip_by_name(Editing *ed, const char *key)
void edit_remove_flagged_strips(Scene *scene, ListBase *seqbase)
bool relations_render_loop_check(Strip *strip_main, Strip *strip)
int retiming_keys_count(const Strip *strip)
void edit_flag_for_removal(Scene *scene, ListBase *seqbase, Strip *strip)
void transform_translate_strip(Scene *evil_scene, Strip *strip, int delta)
blender::Map< SeqRetimingKey *, Strip * > retiming_selection_get(const Editing *ed)
static void query_all_strips_recursive(const ListBase *seqbase, VectorSet< Strip * > &strips)
void strip_channel_set(Strip *strip, int channel)
bool transform_test_overlap(const Scene *scene, Strip *strip1, Strip *strip2)
Editing * editing_get(const Scene *scene)
Strip * strip_from_strip_elem(ListBase *seqbase, StripElem *se)
ListBase * get_seqbase_by_strip(const Scene *scene, Strip *strip)
void meta_stack_set(const Scene *scene, Strip *dst)
float time_strip_fps_get(Scene *scene, Strip *strip)
void edit_strip_name_set(Scene *scene, Strip *strip, const char *new_name)
void retiming_remove_key(Strip *strip, SeqRetimingKey *key)
void modifier_unique_name(Strip *strip, StripModifierData *smd)
int time_left_handle_frame_get(const Scene *, const Strip *strip)
void relations_invalidate_cache_raw(Scene *scene, Strip *strip)
float time_start_frame_get(const Strip *strip)
int sequence_supports_modifiers(Strip *strip)
Strip * lookup_strip_by_channel_owner(Editing *ed, const SeqTimelineChannel *channel)
int time_strip_length_get(const Scene *scene, const Strip *strip)
void proxy_set(Strip *strip, bool value)
void add_reload_new_file(Main *bmain, Scene *scene, Strip *strip, const bool lock_range)
constexpr int MAX_CHANNELS
void sound_equalizermodifier_free(StripModifierData *smd)
EQCurveMappingData * sound_equalizermodifier_add_graph(SoundEqualizerModifierData *semd, float min_freq, float max_freq)
void for_each_callback(ListBase *seqbase, ForEachFunc callback, void *user_data)
bool transform_seqbase_shuffle_ex(ListBase *seqbasep, Strip *test, Scene *evil_scene, int channel_delta)
void sound_update_bounds(Scene *scene, Strip *strip)
bool modifier_remove(Strip *strip, StripModifierData *smd)
void modifier_clear(Strip *strip)
void select_active_set(Scene *scene, Strip *strip)
ListBase * get_channels_by_strip(Editing *ed, const Strip *strip)
void cache_cleanup(Scene *scene)
StripModifierData * modifier_new(Strip *strip, const char *name, int type)
bool transform_is_locked(ListBase *channels, const Strip *strip)
void strip_unique_name_set(Scene *scene, ListBase *seqbasep, Strip *strip)
void effect_text_font_unload(TextVars *data, const bool do_id_user)
void time_left_handle_frame_set(const Scene *scene, Strip *strip, int timeline_frame)
void time_right_handle_frame_set(const Scene *scene, Strip *strip, int timeline_frame)
size_t source_image_cache_calc_memory_size(const Scene *scene)
void relations_free_imbuf(Scene *scene, ListBase *seqbase, bool for_render)
bool transform_seqbase_shuffle(ListBase *seqbasep, Strip *test, Scene *evil_scene)
bool exists_in_seqbase(const Strip *strip, const ListBase *seqbase)
bool edit_move_strip_to_seqbase(Scene *scene, ListBase *seqbase, Strip *strip, ListBase *dst_seqbase)
int effect_get_num_inputs(int strip_type)
bool RNA_struct_is_a(const StructRNA *type, const StructRNA *srna)
void rna_iterator_array_begin(CollectionPropertyIterator *iter, PointerRNA *ptr, void *data, int itemsize, int length, bool free_ptr, IteratorSkipFunc skip)
const PointerRNA PointerRNA_NULL
void rna_pointer_create_with_ancestors(const PointerRNA &parent, StructRNA *type, void *data, PointerRNA &r_ptr)
PointerRNA RNA_pointer_create_discrete(ID *id, StructRNA *type, void *data)
PointerRNA RNA_pointer_create_with_parent(const PointerRNA &parent, StructRNA *type, void *data)
static void rna_def_text(BlenderRNA *brna)
void RNA_def_property_boolean_sdna(PropertyRNA *prop, const char *structname, const char *propname, int64_t booleanbit)
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_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_strip(StructRNA *srna)
void RNA_api_strip_retiming_keys(BlenderRNA *brna)
void RNA_api_strips(StructRNA *srna, bool metastrip)
void RNA_api_strip_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)
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_colorbalance_modifier(BlenderRNA *brna)
#define RNA_ENUM_SEQUENCER_AUDIO_MODIFIER_TYPE_ITEMS
static void rna_def_strip_crop(BlenderRNA *brna)
static void rna_def_strips_top_level(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_strip(BlenderRNA *brna)
static void rna_def_scene(BlenderRNA *brna)
const EnumPropertyItem rna_enum_strip_video_modifier_type_items[]
const EnumPropertyItem rna_enum_strip_color_items[]
static void rna_def_effects(BlenderRNA *brna)
static void rna_def_retiming_keys(StructRNA *srna)
static void rna_def_color_management(StructRNA *srna)
const EnumPropertyItem rna_enum_strip_modifier_type_items[]
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_strip_modifiers(BlenderRNA *brna, PropertyRNA *cprop)
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_strips_meta(BlenderRNA *brna)
static void rna_def_retiming_key(BlenderRNA *brna)
static const EnumPropertyItem blend_mode_items[]
const EnumPropertyItem rna_enum_strip_sound_modifier_type_items[]
static void rna_def_sound_modifiers(BlenderRNA *brna)
ListBaseIterator listbase
union CollectionPropertyIterator::@277172262001176145116102322066145204253046376362 internal
StripColorBalance color_balance
void(* func)(StructRNA *)
struct FFMpegCodecData ffcodecdata
struct MovieReader * anim
StripTransform * transform
struct StripModifierData * next
struct Strip * mask_strip
struct MovieReader * anim
void WM_main_add_notifier(uint type, void *reference)