44#define RNA_ENUM_SEQUENCER_VIDEO_MODIFIER_TYPE_ITEMS \
45 {eSeqModifierType_BrightContrast, "BRIGHT_CONTRAST", ICON_MOD_BRIGHTNESS_CONTRAST, "Brightness/Contrast", ""}, \
46 {eSeqModifierType_ColorBalance, "COLOR_BALANCE", ICON_MOD_COLOR_BALANCE, "Color Balance", ""}, \
47 {eSeqModifierType_Compositor, "COMPOSITOR", ICON_NODE_COMPOSITING, "Compositor", ""}, \
48 {eSeqModifierType_Curves, "CURVES", ICON_MOD_CURVES, "Curves", ""}, \
49 {eSeqModifierType_HueCorrect, "HUE_CORRECT", ICON_MOD_HUE_CORRECT, "Hue Correct", ""}, \
50 {eSeqModifierType_Mask, "MASK", ICON_MOD_MASK, "Mask", ""}, \
51 {eSeqModifierType_Tonemap, "TONEMAP", ICON_MOD_TONEMAP, "Tone Map", ""}, \
52 {eSeqModifierType_WhiteBalance, "WHITE_BALANCE", ICON_MOD_WHITE_BALANCE, "White Balance", ""}
54#define RNA_ENUM_SEQUENCER_AUDIO_MODIFIER_TYPE_ITEMS \
55 {eSeqModifierType_SoundEqualizer, "SOUND_EQUALIZER", ICON_NONE, "Sound Equalizer", ""}
61 {0,
nullptr, 0,
nullptr,
nullptr},
66 {0,
nullptr, 0,
nullptr,
nullptr},
71 {0,
nullptr, 0,
nullptr,
nullptr},
75 {
STRIP_COLOR_NONE,
"NONE", ICON_X,
"None",
"Assign no color tag to the collection"},
85 {0,
nullptr, 0,
nullptr,
nullptr},
93 "Fits the image bounds inside the canvas, avoiding crops while maintaining aspect ratio"},
98 "Fills the canvas edge-to-edge, cropping if needed, while maintaining aspect ratio"},
103 "Stretches image bounds to the canvas without preserving aspect ratio"},
108 "Display image at its original size"},
109 {0,
nullptr, 0,
nullptr,
nullptr},
116# include <fmt/format.h>
159struct StripSearchData {
194static void rna_Strip_invalidate_preprocessed_update(
Main * ,
211 rna_Strip_invalidate_raw_update(
nullptr,
nullptr,
ptr);
230 rna_Strip_invalidate_raw_update(bmain, scene,
ptr);
240 rna_Strip_invalidate_raw_update(bmain, scene,
ptr);
246 if (strip->scene !=
nullptr) {
262 add_strips_from_seqbase(&strip->seqbase, strips);
267struct StripsAllIterator {
268 blender::Vector<Strip *> strips;
272static std::optional<std::string> rna_SequenceEditor_path(
const PointerRNA * )
274 return "sequence_editor";
282 StripsAllIterator *strip_iter = MEM_new<StripsAllIterator>(__func__);
283 strip_iter->index = 0;
284 add_strips_from_seqbase(&ed->
seqbase, strip_iter->strips);
287 iter->internal.custom = bli_iter;
288 bli_iter->
data = strip_iter;
290 Strip **strip_arr = strip_iter->strips.begin();
291 bli_iter->
current = *strip_arr;
292 iter->valid = bli_iter->
current !=
nullptr;
298 StripsAllIterator *strip_iter =
static_cast<StripsAllIterator *
>(bli_iter->
data);
301 Strip **strip_arr = strip_iter->strips.begin();
302 bli_iter->
current = *(strip_arr + strip_iter->index);
304 iter->
valid = bli_iter->
current !=
nullptr && strip_iter->index < strip_iter->strips.size();
316 StripsAllIterator *strip_iter =
static_cast<StripsAllIterator *
>(bli_iter->
data);
318 MEM_delete(strip_iter);
322static bool rna_SequenceEditor_strips_all_lookup_string(
PointerRNA *
ptr,
326 ID *
id =
ptr->owner_id;
345static void rna_SequenceEditor_cache_settings_changed(
Main * ,
370 (
void *)strip->data->stripdata,
372 rna_Strip_elements_length(
ptr),
387 (
void *)strip->retiming_keys,
399 for (
Strip *strip : strips) {
404 if (key >= first && key <= last) {
415 Strip *strip = strip_by_key_find(scene, key);
417 if (strip ==
nullptr) {
431 Strip *strip = strip_by_key_find(scene, key);
433 if (strip ==
nullptr) {
440static void rna_Strip_retiming_key_frame_set(
PointerRNA *
ptr,
int value)
444 Strip *strip = strip_by_key_find(scene, key);
446 if (strip ==
nullptr) {
454static bool rna_SequenceEditor_selected_retiming_key_get(
PointerRNA *
ptr)
462 rna_Strip_invalidate_raw_update(bmain, scene,
ptr);
465static void do_strip_frame_change_update(
Scene *scene,
Strip *strip)
484 do_strip_frame_change_update(scene, (
Strip *)
ptr->data);
499static void rna_Strip_start_frame_final_set(
PointerRNA *
ptr,
int value)
505 do_strip_frame_change_update(scene, strip);
509static void rna_Strip_end_frame_final_set(
PointerRNA *
ptr,
int value)
515 do_strip_frame_change_update(scene, strip);
519static void rna_Strip_start_frame_set(
PointerRNA *
ptr,
float value)
525 do_strip_frame_change_update(scene, strip);
529static void rna_Strip_frame_offset_start_set(
PointerRNA *
ptr,
float value)
535 strip->startofs = value;
538static void rna_Strip_frame_offset_end_set(
PointerRNA *
ptr,
float value)
544 strip->endofs = value;
547static void rna_Strip_anim_startofs_final_set(
PointerRNA *
ptr,
int value)
552 strip->anim_startofs = std::min(value, strip->len + strip->anim_startofs);
555 do_strip_frame_change_update(scene, strip);
558static void rna_Strip_anim_endofs_final_set(
PointerRNA *
ptr,
int value)
563 strip->anim_endofs = std::min(value, strip->len + strip->anim_endofs);
566 do_strip_frame_change_update(scene, strip);
569static void rna_Strip_anim_endofs_final_range(
575 *
max = strip->len + strip->anim_endofs - strip->startofs - strip->endofs - 1;
578static void rna_Strip_anim_startofs_final_range(
584 *
max = strip->len + strip->anim_startofs - strip->startofs - strip->endofs - 1;
587static void rna_Strip_frame_offset_start_range(
592 *
max = strip->len - strip->endofs - 1;
595static void rna_Strip_frame_offset_end_range(
600 *
max = strip->len - strip->startofs - 1;
603static void rna_Strip_frame_length_set(
PointerRNA *
ptr,
int value)
610 do_strip_frame_change_update(scene, strip);
629static int rna_Strip_frame_editable(
const PointerRNA *
ptr,
const char ** )
643 const int channel_delta = (value >= strip->channel) ? 1 : -1;
661static void rna_Strip_use_proxy_set(
PointerRNA *
ptr,
bool value)
688 reports,
RPT_ERROR,
"Modifier \"%s\" is not in the strip's modifier list", smd->name);
695static bool transform_strip_cmp_fn(
Strip *strip,
void *arg_pt)
697 StripSearchData *
data =
static_cast<StripSearchData *
>(arg_pt);
708 StripSearchData
data;
710 data.strip =
nullptr;
719static std::optional<std::string> rna_StripTransform_path(
const PointerRNA *
ptr)
726 char name_esc[(
sizeof(strip->
name) - 2) * 2];
728 return fmt::format(
"sequence_editor.strips_all[\"{}\"].transform", name_esc);
742static bool crop_strip_cmp_fn(
Strip *strip,
void *arg_pt)
744 StripSearchData *
data =
static_cast<StripSearchData *
>(arg_pt);
755 StripSearchData
data;
757 data.strip =
nullptr;
766static std::optional<std::string> rna_StripCrop_path(
const PointerRNA *
ptr)
773 char name_esc[(
sizeof(strip->
name) - 2) * 2];
775 return fmt::format(
"sequence_editor.strips_all[\"{}\"].crop", name_esc);
801 data->text_font = value;
808 strcpy(value, strip->
name + 2);
814 return strlen(strip->
name + 2);
817static void rna_Strip_name_set(
PointerRNA *
ptr,
const char *value)
821 char oldname[
sizeof(strip->
name)];
839 nullptr,
"sequence_editor.strips_all", oldname, strip->
name + 2);
844 &scene->
id, adt,
nullptr,
"sequence_editor.strips_all", oldname, strip->
name + 2, 0, 0, 1);
862static void rna_Strip_text_set(
PointerRNA *
ptr,
const char *value)
878 switch (strip->
type) {
880 return &RNA_ImageStrip;
882 return &RNA_MetaStrip;
884 return &RNA_SceneStrip;
886 return &RNA_MovieStrip;
888 return &RNA_MovieClipStrip;
890 return &RNA_MaskStrip;
892 return &RNA_SoundStrip;
894 return &RNA_CrossStrip;
896 return &RNA_AddStrip;
898 return &RNA_SubtractStrip;
900 return &RNA_AlphaOverStrip;
902 return &RNA_AlphaUnderStrip;
904 return &RNA_GammaCrossStrip;
906 return &RNA_MultiplyStrip;
908 return &RNA_MulticamStrip;
910 return &RNA_AdjustmentStrip;
912 return &RNA_WipeStrip;
914 return &RNA_GlowStrip;
916 return &RNA_ColorStrip;
918 return &RNA_SpeedControlStrip;
920 return &RNA_GaussianBlurStrip;
922 return &RNA_TextStrip;
924 return &RNA_ColorMixStrip;
930static std::optional<std::string> rna_Strip_path(
const PointerRNA *
ptr)
937 char name_esc[(
sizeof(strip->
name) - 2) * 2];
940 return fmt::format(
"sequence_editor.strips_all[\"{}\"]", name_esc);
955static bool rna_MovieStrip_reload_if_needed(
ID *scene_id,
Strip *strip,
Main *bmain)
960 bool can_produce_frames;
963 bmain, scene, strip, &has_reloaded, &can_produce_frames);
965 if (has_reloaded && can_produce_frames) {
972 return can_produce_frames;
977 if (strip ==
nullptr || strip->
anims.
first ==
nullptr) {
982 if (sanim->
anim ==
nullptr) {
987 if (metadata ==
nullptr) {
1004static void rna_Strip_filepath_set(
PointerRNA *
ptr,
const char *value)
1014static void rna_Strip_filepath_get(
PointerRNA *
ptr,
char *value)
1021 strcpy(value, filepath);
1031 return strlen(filepath);
1034static void rna_Strip_proxy_filepath_set(
PointerRNA *
ptr,
const char *value)
1041 proxy->
anim =
nullptr;
1045static void rna_Strip_proxy_filepath_get(
PointerRNA *
ptr,
char *value)
1051 strcpy(value, filepath);
1060 return strlen(filepath);
1068static void rna_Strip_pan_range(
1076 *softmin = -*softmax;
1100 switch (input_num) {
1112 rna_Strip_input_set(
ptr, ptr_value, reports, 1);
1117 rna_Strip_input_set(
ptr, ptr_value, reports, 2);
1120static void rna_SoundStrip_filename_set(
PointerRNA *
ptr,
const char *value)
1130static void rna_StripElement_filename_set(
PointerRNA *
ptr,
const char *value)
1143 rna_Strip_invalidate_raw_update(bmain, scene,
ptr);
1155 rna_Strip_invalidate_raw_update(bmain, scene,
ptr);
1165static bool seqproxy_strip_cmp_fn(
Strip *strip,
void *arg_pt)
1167 StripSearchData *
data =
static_cast<StripSearchData *
>(arg_pt);
1170 data->strip = strip;
1178 StripSearchData
data;
1180 data.strip =
nullptr;
1194 do_strip_frame_change_update(scene, strip);
1211static void rna_Strip_opacity_set(
PointerRNA *
ptr,
float value)
1214 CLAMP(value, 0.0f, 1.0f);
1224static void rna_Strip_color_tag_set(
PointerRNA *
ptr,
int value)
1230static bool colbalance_seq_cmp_fn(
Strip *strip,
void *arg_pt)
1232 StripSearchData *
data =
static_cast<StripSearchData *
>(arg_pt);
1241 data->strip = strip;
1255 StripSearchData
data;
1257 data.strip =
nullptr;
1269static std::optional<std::string> rna_StripColorBalance_path(
const PointerRNA *
ptr)
1277 char name_esc[(
sizeof(strip->
name) - 2) * 2];
1283 return fmt::format(
"sequence_editor.strips_all[\"{}\"].color_balance", name_esc);
1286 char name_esc_smd[
sizeof(smd->
name) * 2];
1289 return fmt::format(
"sequence_editor.strips_all[\"{}\"].modifiers[\"{}\"].color_balance",
1306static void rna_SequenceEditor_overlay_lock_set(
PointerRNA *
ptr,
bool value)
1311 if (ed ==
nullptr) {
1326static int rna_SequenceEditor_overlay_frame_get(
PointerRNA *
ptr)
1331 if (ed ==
nullptr) {
1332 return scene->
r.
cfra;
1343static void rna_SequenceEditor_overlay_frame_set(
PointerRNA *
ptr,
int value)
1348 if (ed ==
nullptr) {
1360static int rna_SequenceEditor_get_cache_raw_size(
PointerRNA *
ptr)
1363 if (scene ==
nullptr) {
1369static int rna_SequenceEditor_get_cache_final_size(
PointerRNA *
ptr)
1372 if (scene ==
nullptr) {
1378static void rna_SequenceEditor_display_stack(
ID *
id,
1400static bool modifier_strip_cmp_fn(
Strip *strip,
void *arg_pt)
1402 StripSearchData *
data =
static_cast<StripSearchData *
>(arg_pt);
1405 data->strip = strip;
1414 StripSearchData
data;
1416 data.strip =
nullptr;
1429 switch (smd->
type) {
1431 return &RNA_ColorBalanceModifier;
1433 return &RNA_CurvesModifier;
1435 return &RNA_HueCorrectModifier;
1437 return &RNA_MaskStripModifier;
1439 return &RNA_BrightContrastModifier;
1441 return &RNA_WhiteBalanceModifier;
1443 return &RNA_SequencerTonemapModifierData;
1445 return &RNA_SoundEqualizerModifier;
1447 return &RNA_SequencerCompositorModifierData;
1449 return &RNA_StripModifier;
1453static std::optional<std::string> rna_StripModifier_path(
const PointerRNA *
ptr)
1458 Strip *strip = strip_get_by_modifier(ed, smd);
1461 char name_esc[(
sizeof(strip->
name) - 2) * 2];
1462 char name_esc_smd[
sizeof(smd->
name) * 2];
1467 "sequence_editor.strips_all[\"{}\"].modifiers[\"{}\"]", name_esc, name_esc_smd);
1472static void rna_StripModifier_name_set(
PointerRNA *
ptr,
const char *value)
1477 Strip *strip = strip_get_by_modifier(ed, smd);
1479 char oldname[
sizeof(smd->
name)];
1493 char rna_path_prefix[1024];
1495 char strip_name_esc[(
sizeof(strip->
name) - 2) * 2];
1498 SNPRINTF(rna_path_prefix,
"sequence_editor.strips_all[\"%s\"].modifiers", strip_name_esc);
1500 &scene->
id, adt,
nullptr, rna_path_prefix, oldname, smd->
name, 0, 0, 1);
1504static void rna_StripModifier_is_active_set(
PointerRNA *
ptr,
bool value)
1541static void rna_StripModifier_EQCurveMapping_update(
Main *bmain,
1589static void rna_Strip_modifier_remove(
Strip *strip,
1624 Strip *strip = strip_get_by_modifier(ed, smd);
1642static void rna_Strip_separate(
ID *
id,
Strip *strip_meta,
Main *bmain)
1663static void rna_SequenceTimelineChannel_name_set(
PointerRNA *
ptr,
const char *value)
1672 if (channel_owner !=
nullptr) {
1673 channels_base = &channel_owner->
channels;
1682 sizeof(channel->name));
1685static void rna_SequenceTimelineChannel_mute_update(
Main *bmain,
1686 Scene *active_scene,
1695 if (channel_owner ==
nullptr) {
1699 seqbase = &channel_owner->
seqbase;
1706 rna_Strip_sound_update(bmain, active_scene,
ptr);
1709static std::optional<std::string> rna_SeqTimelineChannel_path(
const PointerRNA *
ptr)
1716 char channel_name_esc[(
sizeof(channel->name)) * 2];
1717 BLI_str_escape(channel_name_esc, channel->name,
sizeof(channel_name_esc));
1719 if (channel_owner ==
nullptr) {
1720 return fmt::format(
"sequence_editor.channels[\"{}\"]", channel_name_esc);
1722 char owner_name_esc[(
sizeof(channel_owner->
name) - 2) * 2];
1725 "sequence_editor.strips_all[\"{}\"].channels[\"{}\"]", owner_name_esc, channel_name_esc);
1734 semd, min_freq, max_freq);
1757 rna_StripModifier_update(bmain, scene,
ptr);
1765 Scene *strip_scene =
reinterpret_cast<Scene *
>(
ptr->owner_id);
1814 "Key mapped to particular frame that can be moved to change playback speed");
1819 prop,
"rna_Strip_retiming_key_frame_get",
"rna_Strip_retiming_key_frame_set",
nullptr);
1868 "Automatically choose filter based on scaling factor"},
1890 "Averages source image samples that fall under destination pixel"},
1891 {0,
nullptr, 0,
nullptr,
nullptr},
1960 "Ignore generated timecodes, seek in movie stream based on calculated timestamp"},
1965 "Seek based on timestamps read from movie stream, giving the best match between scene and "
1968 "RECORD_RUN_NO_GAPS",
1970 "Record Run No Gaps",
1971 "Effectively convert movie to an image sequence, ignoring incomplete or dropped frames, "
1972 "and changes in frame rate"},
1973 {0,
nullptr, 0,
nullptr,
nullptr},
1990 "rna_Strip_proxy_filepath_get",
1991 "rna_Strip_proxy_filepath_length",
1992 "rna_Strip_proxy_filepath_set");
2052 "OFFSET_POWER_SLOPE",
2054 "Offset/Power/Slope (ASC-CDL)",
2055 "ASC-CDL standard color correction"},
2056 {0,
nullptr, 0,
nullptr,
nullptr},
2061 "Strip Color Balance Data",
2062 "Color balance parameters for a sequence strip and its modifiers");
2158 srna =
RNA_def_struct(brna,
"StripColorBalance",
"StripColorBalanceData");
2160 srna,
"Strip Color Balance",
"Color balance parameters for a sequence strip");
2197 {0,
nullptr, 0,
nullptr,
nullptr},
2217 parm =
RNA_def_string(func,
"name",
"Name", 0,
"",
"New name for the modifier");
2225 "Modifier type to add");
2228 parm =
RNA_def_pointer(func,
"modifier",
"StripModifier",
"",
"Newly created modifier");
2236 parm =
RNA_def_pointer(func,
"modifier",
"StripModifier",
"",
"Modifier to remove");
2249 prop,
"rna_Strip_active_modifier_get",
"rna_Strip_active_modifier_set",
nullptr,
nullptr);
2286 {0,
nullptr, 0,
nullptr,
nullptr},
2299 prop,
"rna_Strip_name_get",
"rna_Strip_name_length",
"rna_Strip_name_set");
2332 prop,
"Mute",
"Disable strip so that it cannot be viewed in the output");
2350 prop,
"Length",
"The length of the contents of this strip after the handles are applied");
2352 prop,
"rna_Strip_frame_length_get",
"rna_Strip_frame_length_set",
nullptr);
2362 prop,
"Length",
"The length of the contents of this strip before the handles are applied");
2370 prop,
nullptr,
"rna_Strip_start_frame_set",
nullptr);
2378 prop,
"rna_Strip_frame_final_start_get",
"rna_Strip_start_frame_final_set",
nullptr);
2384 "Start frame displayed in the sequence editor after offsets are applied, setting this is "
2385 "equivalent to moving the handle, not the actual start frame");
2393 prop,
"rna_Strip_frame_final_end_get",
"rna_Strip_end_frame_final_set",
nullptr);
2397 prop,
"End Frame",
"End frame displayed in the sequence editor after offsets are applied");
2408 prop,
nullptr,
"rna_Strip_frame_offset_start_set",
"rna_Strip_frame_offset_start_range");
2417 prop,
nullptr,
"rna_Strip_frame_offset_end_set",
"rna_Strip_frame_offset_end_range");
2432 "Use Linear Modifiers",
2433 "Calculate modifiers in linear space instead of sequencer's space");
2444 prop,
"Blending Mode",
"Method for controlling how the strip combines with other strips");
2453 prop,
"Blend Opacity",
"Percentage of how much the strip's colors affect other strips");
2471 "Fade effect using the built-in default (usually makes the transition "
2472 "as long as the effect strip)");
2544 {0,
"PER_STRIP", 0,
"Per Strip",
"Store proxies using per strip settings"},
2549 "Store proxies using project directory"},
2550 {0,
nullptr, 0,
nullptr,
nullptr},
2570 prop,
"All Strips",
"All strips, recursively including those inside metastrips");
2572 "rna_SequenceEditor_strips_all_begin",
2573 "rna_SequenceEditor_strips_all_next",
2574 "rna_SequenceEditor_strips_all_end",
2575 "rna_SequenceEditor_strips_all_get",
2578 "rna_SequenceEditor_strips_all_lookup_string",
2585 prop,
"Meta Stack",
"Meta strip stack, last is currently edited meta strip");
2590 "rna_SequenceEditor_meta_stack_get",
2614 prop,
"Show Overlay",
"Partial overlay on top of the sequencer with a frame offset");
2627 prop,
"Show Missing Media",
"Render missing images/movies with a solid magenta color");
2634 "rna_SequenceEditor_overlay_frame_get",
2635 "rna_SequenceEditor_overlay_frame_set",
2657 "Cache raw images read from disk, for faster tweaking of strip "
2658 "parameters at the cost of memory usage");
2673 "Render frames ahead of current frame in the background for faster playback");
2685 prop,
"Final Cache Size",
"Size of final rendered images cache in megabytes");
2689 func =
RNA_def_function(srna,
"display_stack",
"rna_SequenceEditor_display_stack");
2693 func,
"meta_sequence",
"Strip",
"Meta Strip",
"Meta to display its stack");
2706 "RGB channels in transparent pixels are unaffected by the alpha channel"},
2711 "RGB channels in transparent pixels are multiplied by the alpha channel"},
2712 {0,
nullptr, 0,
nullptr,
nullptr},
2723 prop,
"Alpha Mode",
"Representation of alpha information in the RGBA pixels");
2791 prop,
"Use Proxy / Timecode",
"Use a preview proxy and/or time-code index for this strip");
2810 "rna_Strip_anim_startofs_final_set",
2811 "rna_Strip_anim_startofs_final_range");
2821 "rna_Strip_anim_endofs_final_set",
2822 "rna_Strip_anim_endofs_final_range");
2880 "rna_Strip_retiming_keys_begin",
2881 "rna_iterator_array_next",
2882 "rna_iterator_array_end",
2883 "rna_iterator_array_get",
2884 "rna_Strip_retiming_keys_length",
2911 "rna_Strip_elements_begin",
2912 "rna_iterator_array_next",
2913 "rna_iterator_array_end",
2914 "rna_iterator_array_get",
2915 "rna_Strip_elements_length",
2966 srna,
"Meta Strip",
"Sequence strip to group other strips as a single sequence strip");
3010 {0,
"CAMERA", ICON_VIEW3D,
"Camera",
"Use the Scene's 3D camera as input"},
3015 "Use the Scene's Sequencer timeline as input"},
3016 {0,
nullptr, 0,
nullptr,
nullptr},
3021 srna,
"Scene Strip",
"Sequence strip using the rendered image of a scene");
3071 "For files with several movie streams, use the stream with the given index");
3079 "rna_Strip_elements_begin",
3080 "rna_iterator_array_next",
3081 "rna_iterator_array_end",
3082 "rna_iterator_array_get",
3083 "rna_Strip_elements_length",
3093 prop,
"rna_Strip_filepath_get",
"rna_Strip_filepath_length",
"rna_Strip_filepath_set");
3097 func =
RNA_def_function(srna,
"reload_if_needed",
"rna_MovieStrip_reload_if_needed");
3101 "can_produce_frames",
3103 "True if the strip can produce frames, False otherwise",
3113 func,
"metadata",
"IDPropertyWrapPtr",
"",
"Dict-like object containing the metadata");
3149 srna,
"MovieClip Strip",
"Sequence strip to load a video from the clip editor");
3197 srna,
"Sound Strip",
"Sequence strip defining a sound to be played over a period of time");
3225 "Offset of the sound from the beginning of the strip, expressed in seconds");
3232 prop,
"Display Waveform",
"Display the audio waveform inside the strip");
3240 "Maintain the original pitch of the audio when changing playback speed");
3254 "Sequence strip applying an effect on the images created by other strips");
3285 {0,
nullptr, 0,
nullptr,
nullptr},
3289 {0,
"OUT", 0,
"Out",
""},
3290 {1,
"IN", 0,
"In",
""},
3291 {0,
nullptr, 0,
nullptr,
nullptr},
3302 "Width of the blur for the transition, in percentage relative to the image size");
3390 "Adjust input playback speed, so its duration fits strip length"},
3396 "Frame number of the input strip"},
3397 {
SEQ_SPEED_LENGTH,
"LENGTH", 0,
"Length",
"Percentage of the input strip length"},
3398 {0,
nullptr, 0,
nullptr,
nullptr},
3413 "Multiply the current speed of the strip with this number or remap current frame "
3432 prop,
"Frame Interpolation",
"Do crossfade blending between current and next frame");
3458 {0,
nullptr, 0,
nullptr,
nullptr},
3465 {0,
nullptr, 0,
nullptr,
nullptr},
3472 {0,
nullptr, 0,
nullptr,
nullptr},
3483 prop,
"Font",
"Font of the text. Falls back to the UI font by default.");
3584 prop,
"Anchor X",
"Horizontal position of the text box relative to Location");
3591 prop,
"Anchor Y",
"Vertical position of the text box relative to Location");
3597 prop,
"rna_Strip_text_get",
"rna_Strip_text_length",
"rna_Strip_text_set");
3657 {0,
nullptr, 0,
nullptr,
nullptr},
3668 prop,
"Blending Mode",
"Method for controlling how the strip combines with other strips");
3675 prop,
"Blend Factor",
"Percentage of how much the strip's colors affect other strips");
3680 {
"AddStrip",
"Add Strip",
"Add Strip",
nullptr, 2},
3682 "Adjustment Layer Strip",
3683 "Sequence strip to perform filter adjustments to layers below",
3686 {
"AlphaOverStrip",
"Alpha Over Strip",
"Alpha Over Strip",
nullptr, 2},
3687 {
"AlphaUnderStrip",
"Alpha Under Strip",
"Alpha Under Strip",
nullptr, 2},
3690 "Sequence strip creating an image filled with a single color",
3693 {
"CrossStrip",
"Crossfade Strip",
"Crossfade Strip",
nullptr, 2},
3694 {
"GammaCrossStrip",
"Gamma Crossfade Strip",
"Gamma Crossfade Strip",
nullptr, 2},
3695 {
"GlowStrip",
"Glow Strip",
"Sequence strip creating a glow effect",
rna_def_glow, 1},
3697 "Multicam Select Strip",
3698 "Sequence strip to perform multicam editing",
3701 {
"MultiplyStrip",
"Multiply Strip",
"Multiply Strip",
nullptr, 2},
3702 {
"SpeedControlStrip",
3703 "SpeedControl Strip",
3704 "Sequence strip to control the speed of other strips",
3707 {
"SubtractStrip",
"Subtract Strip",
"Subtract Strip",
nullptr, 2},
3708 {
"WipeStrip",
"Wipe Strip",
"Sequence strip creating a wipe transition",
rna_def_wipe, 2},
3709 {
"GaussianBlurStrip",
3710 "Gaussian Blur Strip",
3711 "Sequence strip creating a gaussian blur",
3714 {
"TextStrip",
"Text Strip",
"Sequence strip creating text",
rna_def_text, 0},
3716 {
"",
"",
"",
nullptr, 0},
3746 prop,
nullptr,
"modifier.layout_panel_open_flag", (
int64_t(1) <<
id));
3758 {0,
nullptr, 0,
nullptr,
nullptr},
3766 "Mask animation is offset to start of strip"},
3771 "Mask animation is in sync with scene frame"},
3772 {0,
nullptr, 0,
nullptr,
nullptr},
3827 prop,
nullptr,
"rna_StripModifier_strip_set",
nullptr,
"rna_StripModifier_otherStrip_poll");
3853 srna =
RNA_def_struct(brna,
"ColorBalanceModifier",
"StripModifier");
3857 srna,
"ColorBalanceModifier",
"Color balance modifier for sequence strip");
3877 srna =
RNA_def_struct(brna,
"WhiteBalanceModifier",
"StripModifier");
3881 srna,
"WhiteBalanceModifier",
"White balance modifier for sequence strip");
3916 srna =
RNA_def_struct(brna,
"HueCorrectModifier",
"StripModifier");
3933 srna =
RNA_def_struct(brna,
"MaskStripModifier",
"StripModifier");
3945 srna =
RNA_def_struct(brna,
"BrightContrastModifier",
"StripModifier");
3949 srna,
"BrightContrastModifier",
"Bright/contrast modifier data for sequence strip");
3974 {0,
nullptr, 0,
nullptr,
nullptr},
3977 srna =
RNA_def_struct(brna,
"SequencerTonemapModifierData",
"StripModifier");
3998 "Normally always 1, but can be used as an extra control to alter the brightness curve");
4009 prop,
"Intensity",
"If less than zero, darkens image; otherwise, makes it brighter");
4025 prop,
"Color Correction",
"If 0, same for all channels; if 1, each independent");
4041 prop,
nullptr,
nullptr,
nullptr,
"rna_CompositorModifier_node_group_poll");
4088 srna =
RNA_def_struct(brna,
"SoundEqualizerModifier",
"StripModifier");
4096 prop,
"Graphical definition equalization",
"Graphical definition equalization");
4099 func =
RNA_def_function(srna,
"new_graphic",
"rna_Strip_SoundEqualizer_Curve_add");
4108 "Minimum Frequency",
4109 "Minimum Frequency",
4118 "Maximum Frequency",
4119 "Maximum Frequency",
4127 "EQCurveMappingData",
4129 "Newly created graphical Equalizer definition");
4133 func =
RNA_def_function(srna,
"clear_soundeqs",
"rna_Strip_SoundEqualizer_Curve_clear");
4136 "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_sequencer_scene(const bContext *C)
void BKE_reportf(ReportList *reports, eReportType type, const char *format,...) ATTR_PRINTF_FORMAT(3
void BKE_report(ReportList *reports, eReportType type, const char *message)
int BLI_findindex(const 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
char * BLI_strdup(const char *str) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1) ATTR_MALLOC
#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
#define BLT_I18NCONTEXT_COLOR
void DEG_id_tag_update(ID *id, unsigned int flags)
void DEG_relations_tag_update(Main *bmain)
@ ID_RECALC_SEQUENCER_STRIPS
@ UI_PANEL_DATA_EXPAND_ROOT
@ SEQ_TEXT_ALIGN_X_CENTER
@ SEQ_TONEMAP_RD_PHOTORECEPTOR
@ STRIP_MASK_TIME_RELATIVE
@ STRIP_MASK_TIME_ABSOLUTE
@ SEQ_EDIT_PROXY_DIR_STORAGE
@ SEQ_PROXY_TC_RECORD_RUN_NO_GAPS
@ SEQ_PROXY_TC_RECORD_RUN
@ 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
@ SEQ_STORAGE_PROXY_CUSTOM_FILE
@ SEQ_STORAGE_PROXY_CUSTOM_DIR
@ eSeqModifierType_BrightContrast
@ eSeqModifierType_Curves
@ eSeqModifierType_WhiteBalance
@ eSeqModifierType_Tonemap
@ eSeqModifierType_Compositor
@ eSeqModifierType_HueCorrect
@ eSeqModifierType_ColorBalance
@ eSeqModifierType_SoundEqualizer
@ SEQ_TEXT_ALIGN_Y_BOTTOM
@ SEQ_TEXT_ALIGN_Y_CENTER
@ SEQ_CACHE_STORE_FINAL_OUT
@ SEQ_CACHE_PREFETCH_ENABLE
@ STRIP_TYPE_GAUSSIAN_BLUR
@ SEQ_PROXY_IMAGE_SIZE_100
@ SEQ_PROXY_IMAGE_SIZE_25
@ SEQ_PROXY_IMAGE_SIZE_50
@ SEQ_PROXY_IMAGE_SIZE_75
@ SEQ_EDIT_OVERLAY_FRAME_ABS
@ SEQ_EDIT_OVERLAY_FRAME_SHOW
@ STRIP_BLEND_LINEAR_BURN
@ STRIP_BLEND_VIVID_LIGHT
@ STRIP_BLEND_BLEND_COLOR
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_MOVIECLIP_RENDER_UNDISTORTED
@ SEQ_MOVIECLIP_RENDER_STABILIZED
@ SEQ_SPEED_USE_INTERPOLATION
@ SEQ_AUDIO_PITCH_CORRECTION
@ SEQ_USE_EFFECT_DEFAULT_FADE
@ SEQ_USE_LINEAR_MODIFIERS
@ SEQ_SCENE_NO_ANNOTATION
@ SEQ_AUDIO_DRAW_WAVEFORM
@ STRIP_MODIFIER_FLAG_MUTE
@ STRIP_MODIFIER_FLAG_ACTIVE
@ SEQ_COLOR_BALANCE_METHOD_LIFTGAMMAGAIN
@ SEQ_COLOR_BALANCE_METHOD_SLOPEOFFSETPOWER
#define STRIP_FONT_NOT_LOADED
@ SEQ_EDIT_SHOW_MISSING_MEDIA
@ SEQ_PROXY_SKIP_EXISTING
#define RNA_ENUM_ITEM_SEPR
@ PROPOVERRIDE_OVERRIDABLE_LIBRARY
@ 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 sync_active_scene_and_time_with_scene_strip(bContext &C)
void prefetch_stop(Scene *scene)
int time_right_handle_frame_get(const Scene *scene, const Strip *strip)
void foreach_strip(ListBase *seqbase, ForEachFunc callback, void *user_data)
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)
Strip * lookup_strip_by_name(Editing *ed, const char *key)
void edit_remove_flagged_strips(Scene *scene, ListBase *seqbase)
void cache_settings_changed(Scene *scene)
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 modifier_persistent_uid_init(const Strip &strip, StripModifierData &smd)
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)
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 modifier_set_active(Strip *strip, StripModifierData *smd)
void select_active_set(Scene *scene, Strip *strip)
ListBase * get_channels_by_strip(Editing *ed, const Strip *strip)
void cache_cleanup(Scene *scene)
void retiming_key_timeline_frame_set(const Scene *scene, Strip *strip, SeqRetimingKey *key, int timeline_frame, bool keep_retiming)
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)
void strip_lookup_invalidate(const Editing *ed)
bool transform_seqbase_shuffle(ListBase *seqbasep, Strip *test, Scene *evil_scene)
bool exists_in_seqbase(const Strip *strip, const ListBase *seqbase)
StripModifierData * modifier_get_active(const Strip *strip)
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)
const PointerRNA PointerRNA_NULL
bool RNA_pointer_is_null(const PointerRNA *ptr)
void rna_iterator_array_begin(CollectionPropertyIterator *iter, PointerRNA *ptr, void *data, size_t itemsize, int64_t length, bool free_ptr, IteratorSkipFunc skip)
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_struct_system_idprops_func(StructRNA *srna, const char *system_idproperties)
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_property_override_flag(PropertyRNA *prop, PropertyOverrideFlag flag)
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_mask_modifier(BlenderRNA *brna)
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_panel_open_prop(StructRNA *srna, const char *identifier, const int id)
static void rna_def_modifier(BlenderRNA *brna)
static void rna_def_color_mix(StructRNA *srna)
static void rna_def_compositor_modifier(BlenderRNA *brna)
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[]
const EnumPropertyItem rna_enum_strip_scale_method_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)
union CollectionPropertyIterator::@220100362304005352221007113371015217044252346141 internal
ListBaseIterator listbase
StripColorBalance color_balance
void(* func)(StructRNA *)
struct FFMpegCodecData ffcodecdata
struct MovieReader * anim
StripTransform * transform
struct StripModifierData * prev
uint16_t layout_panel_open_flag
struct StripModifierData * next
struct Strip * mask_strip
struct MovieReader * anim
struct IDProperty * system_properties
void WM_main_add_notifier(uint type, void *reference)