Blender V5.0
blender::seq Namespace Reference

Classes

struct  FinalImageCache
struct  StripImageMap
struct  IntraFrameCache
struct  PreviewCacheItem
struct  PreviewCache
struct  SourceImageCache
struct  ThumbnailCache
class  ThumbGenerationJob
struct  AddEffectOp
struct  SubEffectOp
struct  MulEffectOp
struct  AlphaOverEffectOp
struct  AlphaUnderEffectOp
struct  BlendModeEffectOp
struct  CrossEffectOp
struct  GammaCrossEffectOp
struct  SeqFontMap
struct  JFACoord
struct  WipeData
struct  MediaPresence
struct  BrightContrastApplyOp
struct  ColorBalanceApplyOp
class  CompositorContext
struct  CurvesApplyOp
struct  HueCorrectApplyOp
struct  MaskApplyOp
struct  AvgLogLum
struct  AreaLuminance
struct  TonemapApplyOp
struct  WhiteBalanceApplyOp
struct  ModifierApplyContext
struct  MaskSamplerNone
struct  MaskSamplerDirectFloat
struct  MaskSamplerDirectByte
struct  MaskSamplerTransformedFloat
struct  MaskSamplerTransformedByte
struct  PrefetchJob
struct  IndexBuildContext
struct  MultiViewPrefixVars
struct  OpaqueQuad
struct  OpaqueQuadTracker
struct  SeqRenderState
struct  StripScreenQuad
struct  StripDuplicateContext
struct  StripLookup
class  RetimingRange
class  RetimingRangeData
struct  GapInfo
struct  StripUniqueInfo
struct  LoadData
struct  AnimationBackup
struct  EffectHandle
struct  CharInfo
struct  LineInfo
struct  TextVarsRuntime
struct  StripModifierTypeInfo
struct  ProxyJob
struct  RenderData
struct  SoundModifierWorkerInfo

Typedefs

using PanelDrawFn = void (*)(const bContext *, Panel *)
using ForEachFunc = bool (*)(Strip *strip, void *user_data)
using DrawViewFn

Enumerations

enum  eRangeType { LINEAR = 0 , TRANSITION = 1 }
enum  eIntersectType {
  FULL , PARTIAL_START , PARTIAL_END , INSIDE ,
  NONE
}
enum  eOvelapDescrition {
  STRIP_OVERLAP_NONE , STRIP_OVERLAP_IS_FULL , STRIP_OVERLAP_IS_INSIDE , STRIP_OVERLAP_LEFT_SIDE ,
  STRIP_OVERLAP_RIGHT_SIDE
}
enum  eLoadFlags { SEQ_LOAD_SOUND_CACHE = (1 << 1) , SEQ_LOAD_SOUND_MONO = (1 << 2) , SEQ_LOAD_MOVIE_SYNC_FPS = (1 << 3) , SEQ_LOAD_SET_VIEW_TRANSFORM = (1 << 4) }
enum  eSplitMethod { SPLIT_SOFT , SPLIT_HARD }
enum class  StripEarlyOut { NoInput = -1 , DoEffect = 0 , UseInput1 = 1 , UseInput2 = 2 }
enum  eTaskId { SEQ_TASK_MAIN_RENDER , SEQ_TASK_PREFETCH_RENDER }
enum  {
  SIDE_MOUSE = -1 , SIDE_NONE = 0 , SIDE_LEFT , SIDE_RIGHT ,
  SIDE_BOTH , SIDE_NO_CHANGE
}
enum class  StripDuplicate : uint8_t { Selected = 0 , UniqueName = (1 << 0) , Data = (1 << 1) , All = (1 << 3) }

Functions

bool animation_keyframes_exist (const Scene *scene)
bool animation_drivers_exist (Scene *scene)
bool fcurve_matches (const Strip &strip, const FCurve &fcurve)
void offset_animdata (const Scene *scene, Strip *strip, float ofs)
void free_animdata (Scene *scene, Strip *strip)
void animation_backup_original (Scene *scene, AnimationBackup *backup)
void animation_restore_original (Scene *scene, AnimationBackup *backup)
static void strip_animation_duplicate (Strip *strip, animrig::Action &dst, const animrig::slot_handle_t dst_slot_handle, AnimationBackup *src)
static void strip_drivers_duplicate (Strip *strip, AnimData *dst, AnimationBackup *src)
void animation_duplicate_backup_to_scene (Scene *scene, Strip *strip, AnimationBackup *backup)
static FinalImageCacheensure_final_image_cache (Scene *scene)
static FinalImageCachequery_final_image_cache (const Scene *scene)
ImBuffinal_image_cache_get (Scene *scene, float timeline_frame, int view_id, int display_channel)
void final_image_cache_put (Scene *scene, float timeline_frame, int view_id, int display_channel, ImBuf *image)
void final_image_cache_invalidate_frame_range (Scene *scene, const float timeline_frame_start, const float timeline_frame_end)
void final_image_cache_clear (Scene *scene)
void final_image_cache_destroy (Scene *scene)
void final_image_cache_iterate (Scene *scene, void *userdata, void callback_iter(void *userdata, int timeline_frame))
size_t final_image_cache_calc_memory_size (const Scene *scene)
size_t final_image_cache_get_image_count (const Scene *scene)
bool final_image_cache_evict (Scene *scene)
static IntraFrameCachequery_intra_frame_cache (Scene *scene)
void intra_frame_cache_invalidate (Scene *scene)
void intra_frame_cache_invalidate (Scene *scene, const Strip *strip)
ImBufintra_frame_cache_get_preprocessed (Scene *scene, const Strip *strip)
ImBufintra_frame_cache_get_composite (Scene *scene, const Strip *strip)
void intra_frame_cache_put_preprocessed (Scene *scene, const Strip *strip, ImBuf *image)
void intra_frame_cache_put_composite (Scene *scene, const Strip *strip, ImBuf *image)
void intra_frame_cache_destroy (Scene *scene)
void intra_frame_cache_set_cur_frame (Scene *scene, float frame, int view_id, int width, int height)
static PreviewCachequery_preview_cache (Scene *scene)
static PreviewCacheensure_preview_cache (Scene *scene)
gpu::Texturepreview_cache_get_gpu_texture (Scene *scene, int timeline_frame, int display_channel)
gpu::Texturepreview_cache_get_gpu_display_texture (Scene *scene, int timeline_frame, int display_channel)
static PreviewCacheItemfind_slot (PreviewCache *cache, int timeline_frame, int display_channel)
void preview_cache_set_gpu_texture (Scene *scene, int timeline_frame, int display_channel, gpu::Texture *texture)
void preview_cache_set_gpu_display_texture (Scene *scene, int timeline_frame, int display_channel, gpu::Texture *texture)
void preview_cache_invalidate (Scene *scene)
void preview_cache_destroy (Scene *scene)
static SourceImageCacheensure_source_image_cache (Scene *scene)
static SourceImageCachequery_source_image_cache (const Scene *scene)
static float give_cache_frame_index (const Scene *scene, const Strip *strip, float timeline_frame)
ImBufsource_image_cache_get (const RenderData *context, const Strip *strip, float timeline_frame)
void source_image_cache_put (const RenderData *context, const Strip *strip, float timeline_frame, ImBuf *image)
void source_image_cache_invalidate_strip (Scene *scene, const Strip *strip)
void source_image_cache_clear (Scene *scene)
void source_image_cache_destroy (Scene *scene)
void source_image_cache_iterate (Scene *scene, void *userdata, void callback_iter(void *userdata, const Strip *strip, int timeline_frame))
size_t source_image_cache_calc_memory_size (const Scene *scene)
size_t source_image_cache_get_image_count (const Scene *scene)
bool source_image_cache_evict (Scene *scene)
static ThumbnailCacheensure_thumbnail_cache (Scene *scene)
static ThumbnailCachequery_thumbnail_cache (Scene *scene)
bool strip_can_have_thumbnail (const Scene *scene, const Strip *strip)
static std::string get_path_from_strip (Scene *scene, const Strip *strip, float timeline_frame)
static void image_size_to_thumb_size (int &r_width, int &r_height)
static ImBufmake_thumb_for_image (const Scene *scene, const ThumbnailCache::Request &request)
static void scale_to_thumbnail_size (ImBuf *ibuf)
static ImBufquery_thumbnail (ThumbnailCache &cache, const std::string &key, int frame_index, float timeline_frame, const bContext *C, const Strip *strip)
ImBufthumbnail_cache_get (const bContext *C, Scene *scene, const Strip *strip, float timeline_frame)
void thumbnail_cache_invalidate_strip (Scene *scene, const Strip *strip)
void thumbnail_cache_maintain_capacity (Scene *scene)
void thumbnail_cache_discard_requests_outside (Scene *scene, const rctf &rect)
void thumbnail_cache_clear (Scene *scene)
void thumbnail_cache_destroy (Scene *scene)
ListBasechannels_displayed_get (const Editing *ed)
void channels_ensure (ListBase *channels)
void channels_duplicate (ListBase *channels_dst, ListBase *channels_src)
void channels_free (ListBase *channels)
SeqTimelineChannelchannel_get_by_index (const ListBase *channels, const int channel_index)
char * channel_name_get (ListBase *channels, const int channel_index)
int channel_index_get (const SeqTimelineChannel *channel)
bool channel_is_locked (const SeqTimelineChannel *channel)
bool channel_is_muted (const SeqTimelineChannel *channel)
ListBaseget_channels_by_strip (Editing *ed, const Strip *strip)
ImBufprepare_effect_imbufs (const RenderData *context, ImBuf *ibuf1, ImBuf *ibuf2, bool uninitialized_pixels)
Array< floatmake_gaussian_blur_kernel (float rad, int size)
static void init_noop (Strip *)
static void load_noop (Strip *)
static void free_noop (Strip *, const bool)
static int num_inputs_default ()
static StripEarlyOut early_out_noop (const Strip *, float)
StripEarlyOut early_out_fade (const Strip *, float fac)
StripEarlyOut early_out_mul_input2 (const Strip *, float fac)
StripEarlyOut early_out_mul_input1 (const Strip *, float fac)
static void get_default_fac_noop (const Scene *, const Strip *, float, float *fac)
void get_default_fac_fade (const Scene *scene, const Strip *strip, float timeline_frame, float *fac)
EffectHandle effect_handle_get (StripType strip_type)
static EffectHandle effect_handle_for_blend_mode_get (StripBlendMode blend)
EffectHandle strip_effect_handle_get (Strip *strip)
EffectHandle strip_blend_mode_handle_get (Strip *strip)
int effect_get_num_inputs (int strip_type)
void strip_effect_speed_rebuild_map (Scene *scene, Strip *strip)
float strip_speed_effect_target_frame_get (Scene *scene, Strip *strip_speed, float timeline_frame, int input)
blender::float4 load_premul_pixel (const uchar *ptr)
blender::float4 load_premul_pixel (const float *ptr)
void store_premul_pixel (const blender::float4 &pix, uchar *dst)
void store_premul_pixel (const blender::float4 &pix, float *dst)
void store_opaque_black_pixel (uchar *dst)
void store_opaque_black_pixel (float *dst)
void add_effect_get_handle (EffectHandle &rval)
void adjustment_effect_get_handle (EffectHandle &rval)
void alpha_over_effect_get_handle (EffectHandle &rval)
void alpha_under_effect_get_handle (EffectHandle &rval)
void blend_mode_effect_get_handle (EffectHandle &rval)
void color_mix_effect_get_handle (EffectHandle &rval)
void cross_effect_get_handle (EffectHandle &rval)
void gamma_cross_effect_get_handle (EffectHandle &rval)
void gaussian_blur_effect_get_handle (EffectHandle &rval)
void glow_effect_get_handle (EffectHandle &rval)
void mul_effect_get_handle (EffectHandle &rval)
void multi_camera_effect_get_handle (EffectHandle &rval)
void solid_color_effect_get_handle (EffectHandle &rval)
void speed_effect_get_handle (EffectHandle &rval)
void sub_effect_get_handle (EffectHandle &rval)
void transform_effect_get_handle (EffectHandle &rval)
void wipe_effect_get_handle (EffectHandle &rval)
template<typename OpT>
static void apply_effect_op (const OpT &op, const ImBuf *src1, const ImBuf *src2, ImBuf *dst)
static ImBufdo_add_effect (const RenderData *context, SeqRenderState *, Strip *, float, float fac, ImBuf *src1, ImBuf *src2)
static ImBufdo_sub_effect (const RenderData *context, SeqRenderState *, Strip *, float, float fac, ImBuf *src1, ImBuf *src2)
static ImBufdo_mul_effect (const RenderData *context, SeqRenderState *, Strip *, float, float fac, ImBuf *src1, ImBuf *src2)
static int num_inputs_adjustment ()
static StripEarlyOut early_out_adjustment (const Strip *, float)
static ImBufdo_adjustment_impl (const RenderData *context, SeqRenderState *state, Strip *strip, float timeline_frame)
static ImBufdo_adjustment (const RenderData *context, SeqRenderState *state, Strip *strip, float timeline_frame, float, ImBuf *, ImBuf *)
static void init_alpha_over_or_under (Strip *strip)
static bool alpha_opaque (uchar alpha)
static bool alpha_opaque (float alpha)
static ImBufdo_alphaover_effect (const RenderData *context, SeqRenderState *, Strip *, float, float fac, ImBuf *src1, ImBuf *src2)
static ImBufdo_alphaunder_effect (const RenderData *context, SeqRenderState *, Strip *, float, float fac, ImBuf *src1, ImBuf *src2)
template<typename T, typename Func>
static void apply_blend_function (float fac, int64_t size, const T *src1, const T *src2, T *dst, Func blend_function)
static void do_blend_effect_float (float fac, int64_t size, const float *rect1, const float *rect2, StripBlendMode btype, float *out)
static void do_blend_effect_byte (float fac, int64_t size, const uchar *rect1, const uchar *rect2, StripBlendMode btype, uchar *out)
static ImBufdo_blend_mode_effect (const RenderData *context, SeqRenderState *, Strip *strip, float, float fac, ImBuf *src1, ImBuf *src2)
static void init_colormix_effect (Strip *strip)
static ImBufdo_colormix_effect (const RenderData *context, SeqRenderState *, Strip *strip, float, float, ImBuf *src1, ImBuf *src2)
static void copy_effect_default (Strip *dst, const Strip *src, const int)
static void free_effect_default (Strip *strip, const bool)
static ImBufdo_cross_effect (const RenderData *context, SeqRenderState *, Strip *, float, float fac, ImBuf *src1, ImBuf *src2)
static float gammaCorrect (float c)
static float invGammaCorrect (float c)
static ImBufdo_gammacross_effect (const RenderData *context, SeqRenderState *, Strip *, float, float fac, ImBuf *src1, ImBuf *src2)
static void init_gaussian_blur_effect (Strip *strip)
static int num_inputs_gaussian_blur ()
static void free_gaussian_blur_effect (Strip *strip, const bool)
static void copy_gaussian_blur_effect (Strip *dst, const Strip *src, const int)
static StripEarlyOut early_out_gaussian_blur (const Strip *strip, float)
template<typename T>
static void gaussian_blur_x (const Span< float > gaussian, int half_size, int start_line, int width, int height, int, const T *rect, T *dst)
template<typename T>
static void gaussian_blur_y (const Span< float > gaussian, int half_size, int start_line, int width, int height, int frame_height, const T *rect, T *dst)
static ImBufdo_gaussian_blur_effect (const RenderData *context, SeqRenderState *, Strip *strip, float, float, ImBuf *ibuf1, ImBuf *)
static void glow_blur_bitmap (const float4 *src, float4 *map, int width, int height, float blur, int quality)
static void blur_isolate_highlights (const float4 *in, float4 *out, int width, int height, float threshold, float boost, float clamp)
static void init_glow_effect (Strip *strip)
static int num_inputs_glow ()
static void free_glow_effect (Strip *strip, const bool)
static void copy_glow_effect (Strip *dst, const Strip *src, const int)
static void do_glow_effect_byte (Strip *strip, int render_size, float fac, int x, int y, uchar *rect1, uchar *, uchar *out)
static void do_glow_effect_float (Strip *strip, int render_size, float fac, int x, int y, float *rect1, float *, float *out)
static ImBufdo_glow_effect (const RenderData *context, SeqRenderState *, Strip *strip, float, float fac, ImBuf *ibuf1, ImBuf *ibuf2)
static int num_inputs_multicam ()
static StripEarlyOut early_out_multicam (const Strip *, float)
static ImBufdo_multicam (const RenderData *context, SeqRenderState *state, Strip *strip, float timeline_frame, float, ImBuf *, ImBuf *)
static void init_solid_color (Strip *strip)
static int num_inputs_color ()
static void free_solid_color (Strip *strip, const bool)
static void copy_solid_color (Strip *dst, const Strip *src, const int)
static StripEarlyOut early_out_color (const Strip *, float)
static ImBufdo_solid_color (const RenderData *context, SeqRenderState *, Strip *strip, float, float, ImBuf *ibuf1, ImBuf *ibuf2)
static void init_speed_effect (Strip *strip)
static void load_speed_effect (Strip *strip)
static int num_inputs_speed ()
static void free_speed_effect (Strip *strip, const bool)
static void copy_speed_effect (Strip *dst, const Strip *src, const int)
static StripEarlyOut early_out_speed (const Strip *, float)
static FCurvestrip_effect_speed_speed_factor_curve_get (Scene *scene, Strip *strip)
static void strip_effect_speed_frame_map_ensure (Scene *scene, Strip *strip)
static float speed_effect_interpolation_ratio_get (Scene *scene, Strip *strip_speed, float timeline_frame)
static ImBufdo_speed_effect (const RenderData *context, SeqRenderState *state, Strip *strip, float timeline_frame, float fac, ImBuf *ibuf1, ImBuf *ibuf2)
void fontmap_clear ()
static int strip_load_font_file (const std::string &path)
static int strip_load_font_mem (const std::string &name, const uchar *data, int data_size)
static void strip_unload_font (int fontid)
static float calc_wipe_band (float dist, float inv_width)
static float calc_wipe_blend (const WipeData *data, int x, int y)
static void init_wipe_effect (Strip *strip)
static int num_inputs_wipe ()
static void free_wipe_effect (Strip *strip, const bool)
static void copy_wipe_effect (Strip *dst, const Strip *src, const int)
template<typename T>
static void do_wipe_effect (const Strip *strip, float fac, int width, int height, const T *rect1, const T *rect2, T *out)
static ImBufdo_wipe_effect (const RenderData *context, SeqRenderState *, Strip *strip, float, float fac, ImBuf *ibuf1, ImBuf *ibuf2)
static bool strip_for_each_recursive (ListBase *seqbase, ForEachFunc callback, void *user_data)
static bool strip_for_each_recursive (ListBase *seqbase, blender::FunctionRef< bool(Strip *)> callback)
void foreach_strip (ListBase *seqbase, ForEachFunc callback, void *user_data)
void foreach_strip (ListBase *seqbase, blender::FunctionRef< bool(Strip *)> callback)
VectorSet< Strip * > query_by_reference (Strip *strip_reference, const Scene *scene, ListBase *seqbase, void strip_query_func(const Scene *scene, Strip *strip_reference, ListBase *seqbase, VectorSet< Strip * > &strips))
void iterator_set_expand (const Scene *scene, ListBase *seqbase, VectorSet< Strip * > &strips, void strip_query_func(const Scene *scene, Strip *strip_reference, ListBase *seqbase, VectorSet< Strip * > &strips))
static void query_all_strips_recursive (const ListBase *seqbase, VectorSet< Strip * > &strips)
VectorSet< Strip * > query_all_strips_recursive (const ListBase *seqbase)
static void query_strips_recursive_at_frame (const Scene *scene, const ListBase *seqbase, const int timeline_frame, VectorSet< Strip * > &strips)
VectorSet< Strip * > query_strips_recursive_at_frame (const Scene *scene, const ListBase *seqbase, const int timeline_frame)
VectorSet< Strip * > query_all_strips (ListBase *seqbase)
VectorSet< Strip * > query_selected_strips (ListBase *seqbase)
static VectorSet< Strip * > query_strips_at_frame (const Scene *scene, ListBase *seqbase, const int timeline_frame)
static void collection_filter_channel_up_to_incl (VectorSet< Strip * > &strips, const int channel)
bool must_render_strip (const VectorSet< Strip * > &strips, Strip *strip)
static void collection_filter_rendered_strips (VectorSet< Strip * > &strips, ListBase *channels)
VectorSet< Strip * > query_rendered_strips (const Scene *scene, ListBase *channels, ListBase *seqbase, const int timeline_frame, const int displayed_channel)
VectorSet< Strip * > query_unselected_strips (ListBase *seqbase)
void query_strip_effect_chain (const Scene *scene, Strip *reference_strip, ListBase *seqbase, VectorSet< Strip * > &r_strips)
void query_strip_connected_and_effect_chain (const Scene *scene, Strip *reference_strip, ListBase *seqbase, VectorSet< Strip * > &r_strips)
static bool check_sound_media_missing (const bSound *sound)
static bool check_media_missing (const Scene *scene, const Strip *strip)
static MediaPresenceget_media_presence_cache (Scene *scene)
bool media_presence_is_missing (Scene *scene, const Strip *strip)
void media_presence_set_missing (Scene *scene, const Strip *strip, bool missing)
void media_presence_invalidate_strip (Scene *scene, const Strip *strip)
void media_presence_invalidate_sound (Scene *scene, const bSound *sound)
void media_presence_free (Scene *scene)
static void brightcontrast_apply (ModifierApplyContext &context, StripModifierData *smd, ImBuf *mask)
static void brightcontrast_panel_draw (const bContext *C, Panel *panel)
static void brightcontrast_register (ARegionType *region_type)
static float color_balance_lgg (float in, const float lift, const float gain, const float gamma, const float mul)
static float color_balance_sop (float in, const float slope, const float offset, const float power, float mul)
static void make_cb_table_lgg (float lift, float gain, float gamma, float mul, float r_table[CB_TABLE_SIZE])
static void make_cb_table_sop (float slope, float offset, float power, float mul, float r_table[CB_TABLE_SIZE])
static void colorBalance_init_data (StripModifierData *smd)
static void colorBalance_apply (ModifierApplyContext &context, StripModifierData *smd, ImBuf *mask)
static void colorBalance_panel_draw (const bContext *C, Panel *panel)
static void colorBalance_register (ARegionType *region_type)
static void compositor_modifier_init_data (StripModifierData *strip_modifier_data)
static bool is_linear_float_buffer (ImBuf *image_buffer)
static bool ensure_linear_float_buffer (ImBuf *ibuf)
static void compositor_modifier_apply (ModifierApplyContext &context, StripModifierData *strip_modifier_data, ImBuf *mask)
static void compositor_modifier_panel_draw (const bContext *C, Panel *panel)
static void compositor_modifier_register (ARegionType *region_type)
static void curves_init_data (StripModifierData *smd)
static void curves_free_data (StripModifierData *smd)
static void curves_copy_data (StripModifierData *target, StripModifierData *smd)
static void curves_apply (ModifierApplyContext &context, StripModifierData *smd, ImBuf *mask)
static void curves_panel_draw (const bContext *C, Panel *panel)
static void curves_register (ARegionType *region_type)
static void curves_write (BlendWriter *writer, const StripModifierData *smd)
static void curves_read (BlendDataReader *reader, StripModifierData *smd)
static void hue_correct_init_data (StripModifierData *smd)
static void hue_correct_free_data (StripModifierData *smd)
static void hue_correct_copy_data (StripModifierData *target, StripModifierData *smd)
static void hue_correct_apply (ModifierApplyContext &context, StripModifierData *smd, ImBuf *mask)
static void hue_correct_panel_draw (const bContext *C, Panel *panel)
static void hue_correct_register (ARegionType *region_type)
static void hue_correct_write (BlendWriter *writer, const StripModifierData *smd)
static void hue_correct_read (BlendDataReader *reader, StripModifierData *smd)
static void maskmodifier_apply (ModifierApplyContext &context, StripModifierData *, ImBuf *mask)
static void maskmodifier_panel_draw (const bContext *C, Panel *panel)
static void maskmodifier_register (ARegionType *region_type)
static void sound_equalizermodifier_draw (const bContext *, Panel *panel)
static void sound_equalizermodifier_register (ARegionType *region_type)
static void sound_equalizermodifier_write (BlendWriter *writer, const StripModifierData *smd)
static void sound_equalizermodifier_read (BlendDataReader *reader, StripModifierData *smd)
static void tonemapmodifier_init_data (StripModifierData *smd)
static void pixels_to_scene_linear_float (const ColorSpace *colorspace, float4 *pixels, int64_t count)
static void pixels_to_scene_linear_byte (const ColorSpace *colorspace, const uchar *pixels, float4 *dst, int64_t count)
static void scene_linear_to_image_chunk_byte (float4 *src, ImBuf *ibuf, IndexRange range)
static void scene_linear_to_image_chunk_float (ImBuf *ibuf, IndexRange range)
template<typename MaskSampler>
static void tonemap_simple (float4 *scene_linear, MaskSampler &mask, int image_x, IndexRange y_range, const AvgLogLum &avg)
template<typename MaskSampler>
static void tonemap_rd_photoreceptor (float4 *scene_linear, MaskSampler &mask, int image_x, IndexRange y_range, const AvgLogLum &avg)
static void tonemap_calc_chunk_luminance (const int width, const IndexRange y_range, const float4 *scene_linear, AreaLuminance &r_lum)
static AreaLuminance tonemap_calc_input_luminance (const ImBuf *ibuf)
static void tonemapmodifier_apply (ModifierApplyContext &context, StripModifierData *smd, ImBuf *mask)
static void tonemapmodifier_panel_draw (const bContext *C, Panel *panel)
static void tonemapmodifier_register (ARegionType *region_type)
static void whiteBalance_init_data (StripModifierData *smd)
static void whiteBalance_apply (ModifierApplyContext &context, StripModifierData *smd, ImBuf *mask)
static void whiteBalance_panel_draw (const bContext *C, Panel *panel)
static void whiteBalance_register (ARegionType *region_type)
static bool modifier_has_persistent_uid (const Strip &strip, int uid)
void modifier_persistent_uid_init (const Strip &strip, StripModifierData &smd)
bool modifier_persistent_uids_are_valid (const Strip &strip)
static void modifier_panel_header (const bContext *, Panel *panel)
void draw_mask_input_type_settings (const bContext *C, uiLayout *layout, PointerRNA *ptr)
bool modifier_ui_poll (const bContext *C, PanelType *)
static void modifier_reorder (bContext *C, Panel *panel, const int new_index)
static short get_strip_modifier_expand_flag (const bContext *, Panel *panel)
static void set_strip_modifier_expand_flag (const bContext *, Panel *panel, short expand_flag)
PanelTypemodifier_panel_register (ARegionType *region_type, const eStripModifierType type, PanelDrawFn draw)
float4 load_pixel_premul (const uchar *ptr)
float4 load_pixel_premul (const float *ptr)
void store_pixel_premul (float4 pix, uchar *ptr)
void store_pixel_premul (float4 pix, float *ptr)
float4 load_pixel_raw (const uchar *ptr)
float4 load_pixel_raw (const float *ptr)
void store_pixel_raw (float4 pix, uchar *ptr)
void store_pixel_raw (float4 pix, float *ptr)
static ImBufmodifier_render_mask_input (const RenderData &context, SeqRenderState &state, int mask_input_type, Strip *mask_strip, Mask *mask_id, int timeline_frame, int fra_offset)
template<typename T>
void apply_modifier_op (T &op, ImBuf *ibuf, const ImBuf *mask, const float3x3 &mask_transform)
void seq_anim_add_suffix (Scene *scene, MovieReader *anim, const int view_id)
int seq_num_files (Scene *scene, char views_format, const bool is_multiview)
void seq_multiview_name (Scene *scene, const int view_id, const char *prefix, const char *ext, char *r_path, size_t r_size)
static PrefetchJobseq_prefetch_job_get (Scene *scene)
bool seq_prefetch_job_is_running (Scene *scene)
static void seq_prefetch_job_scrubbing_set (Scene *scene, bool is_scrubbing)
static bool seq_prefetch_job_is_waiting (Scene *scene)
static Striporiginal_strip_get (const Strip *strip, ListBase *seqbase)
static Striporiginal_strip_get (const Strip *strip, Scene *scene)
static RenderDataget_original_context (const RenderData *context)
Sceneprefetch_get_original_scene (const RenderData *context)
Sceneprefetch_get_original_scene_and_strip (const RenderData *context, const Strip *&strip)
static bool seq_prefetch_is_cache_full (Scene *scene)
static int seq_prefetch_cfra (PrefetchJob *pfjob)
static AnimationEvalContext seq_prefetch_anim_eval_context (PrefetchJob *pfjob)
void seq_prefetch_get_time_range (Scene *scene, int *r_start, int *r_end)
static void seq_prefetch_free_depsgraph (PrefetchJob *pfjob)
static void seq_prefetch_update_depsgraph (PrefetchJob *pfjob)
static void seq_prefetch_init_depsgraph (PrefetchJob *pfjob)
static void seq_prefetch_update_area (PrefetchJob *pfjob)
void prefetch_stop_all ()
void prefetch_stop (Scene *scene)
static void seq_prefetch_update_context (const RenderData *context)
static void seq_prefetch_update_scene (Scene *scene)
static void seq_prefetch_update_active_seqbase (PrefetchJob *pfjob)
static void seq_prefetch_resume (Scene *scene)
void seq_prefetch_free (Scene *scene)
static blender::VectorSet< Strip * > query_scene_strips (Editing *ed)
static bool seq_prefetch_scene_strip_is_rendered (const Scene *scene, ListBase *channels, ListBase *seqbase, blender::Span< Strip * > scene_strips, int timeline_frame, SeqRenderState state)
static bool seq_prefetch_must_skip_frame (PrefetchJob *pfjob, ListBase *channels, ListBase *seqbase)
static bool seq_prefetch_need_suspend (PrefetchJob *pfjob)
static void seq_prefetch_do_suspend (PrefetchJob *pfjob)
static void * seq_prefetch_frames (void *job)
static PrefetchJobseq_prefetch_start_ex (const RenderData *context, float cfra)
void seq_prefetch_start (const RenderData *context, float timeline_frame)
bool prefetch_need_redraw (const bContext *C, Scene *scene)
IMB_Proxy_Size rendersize_to_proxysize (eSpaceSeq_Proxy_RenderSize render_size)
float rendersize_to_scale_factor (eSpaceSeq_Proxy_RenderSize render_size)
bool seq_proxy_get_custom_file_filepath (Strip *strip, char *filepath, const int view_id)
static bool seq_proxy_get_filepath (Scene *scene, Strip *strip, int timeline_frame, eSpaceSeq_Proxy_RenderSize render_size, char *filepath, const int view_id)
bool can_use_proxy (const RenderData *context, const Strip *strip, IMB_Proxy_Size psize)
ImBufseq_proxy_fetch (const RenderData *context, Strip *strip, int timeline_frame)
static void seq_proxy_build_frame (const RenderData *context, SeqRenderState *state, Strip *strip, int timeline_frame, int proxy_render_size, const bool overwrite)
static bool seq_proxy_multiview_context_invalid (Strip *strip, Scene *scene, const int view_id, MultiViewPrefixVars *prefix_vars)
static int seq_proxy_context_count (Strip *strip, Scene *scene)
static bool seq_proxy_need_rebuild (Strip *strip, MovieReader *anim)
bool proxy_rebuild_context (Main *bmain, Depsgraph *depsgraph, Scene *scene, Strip *strip, blender::Set< std::string > *processed_paths, ListBase *queue, bool build_only_on_bad_performance)
void proxy_rebuild (IndexBuildContext *context, wmJobWorkerStatus *worker_status)
void proxy_rebuild_finish (IndexBuildContext *context, bool stop)
void proxy_set (Strip *strip, bool value)
void seq_proxy_index_dir_set (MovieReader *anim, const char *base_dir)
void free_strip_proxy (Strip *strip)
static void proxy_freejob (void *pjv)
static void proxy_startjob (void *pjv, wmJobWorkerStatus *worker_status)
static void proxy_endjob (void *pjv)
ProxyJobED_seq_proxy_job_get (const bContext *C, wmJob *wm_job)
wmJobED_seq_proxy_wm_job_get (const bContext *C)
float get_render_scale_factor (eSpaceSeq_Proxy_RenderSize render_size, short scene_render_scale)
float get_render_scale_factor (const RenderData &context)
static bool seq_set_strip_done_cb (Strip *strip, void *)
static bool strip_write_data_cb (Strip *strip, void *userdata)
void blend_write (BlendWriter *writer, ListBase *seqbase)
static bool strip_read_data_cb (Strip *strip, void *user_data)
void blend_read (BlendDataReader *reader, ListBase *seqbase)
static bool strip_doversion_250_sound_proxy_update_cb (Strip *strip, void *user_data)
void doversion_250_sound_proxy_update (Main *bmain, Editing *ed)
static bool seq_mute_sound_strips_cb (Strip *strip, void *user_data)
static void strip_update_mix_sounds (Scene *scene, Strip *strip)
static void strip_update_sound_properties (const Scene *scene, const Strip *strip)
static void strip_update_sound_modifiers (Strip *strip)
static bool must_update_strip_sound (Scene *scene, Strip *strip)
static void seq_update_sound_strips (Scene *scene, Strip *strip)
static bool scene_sequencer_is_used (const Scene *scene, ListBase *seqbase)
static void seq_update_scene_strip_sound (const Scene *scene, Strip *strip)
static bool strip_sound_update_cb (Strip *strip, void *user_data)
void eval_strips (Depsgraph *depsgraph, Scene *scene, ListBase *seqbase)
blender::Span< Strip * > SEQ_lookup_effects_by_strip (Editing *ed, const Strip *key)
void sound_update_length (Main *bmain, Scene *scene)
void sound_update_bounds_all (Scene *scene)
void sound_update_bounds (Scene *scene, Strip *strip)
static void strip_update_sound_recursive (Scene *scene, ListBase *seqbasep, bSound *sound)
void sound_update (Scene *scene, bSound *sound)
float sound_pitch_get (const Scene *scene, const Strip *strip)
EQCurveMappingDatasound_equalizer_add (SoundEqualizerModifierData *semd, float minX, float maxX)
void sound_equalizermodifier_set_graphs (SoundEqualizerModifierData *semd, int number)
EQCurveMappingDatasound_equalizermodifier_add_graph (SoundEqualizerModifierData *semd, float min_freq, float max_freq)
void sound_equalizermodifier_remove_graph (SoundEqualizerModifierData *semd, EQCurveMappingData *eqcmd)
void sound_equalizermodifier_init_data (StripModifierData *smd)
void sound_equalizermodifier_free (StripModifierData *smd)
void sound_equalizermodifier_copy_data (StripModifierData *target, StripModifierData *smd)
void * sound_equalizermodifier_recreator (Strip *strip, StripModifierData *smd, void *sound_in, bool &needs_update)
const SoundModifierWorkerInfosound_modifier_worker_info_get (int type)
void * sound_modifier_recreator (Strip *strip, StripModifierData *smd, void *sound, bool &needs_update)
void add_load_data_init (LoadData *load_data, const char *name, const char *path, const int start_frame, const int channel)
static void strip_add_generic_update (Scene *scene, Strip *strip)
static void strip_add_set_name (Scene *scene, Strip *strip, LoadData *load_data)
static void strip_add_set_view_transform (Scene *scene, Strip *strip, LoadData *load_data)
Stripadd_scene_strip (Scene *scene, ListBase *seqbase, LoadData *load_data)
Stripadd_movieclip_strip (Scene *scene, ListBase *seqbase, LoadData *load_data)
Stripadd_mask_strip (Scene *scene, ListBase *seqbase, LoadData *load_data)
Stripadd_effect_strip (Scene *scene, ListBase *seqbase, LoadData *load_data)
void add_image_set_directory (Strip *strip, const char *dirpath)
void add_image_load_file (Scene *scene, Strip *strip, size_t strip_frame, const char *filename)
void add_image_init_alpha_mode (Main *bmain, Scene *scene, Strip *strip)
Stripadd_image_strip (Main *bmain, Scene *scene, ListBase *seqbase, LoadData *load_data)
void add_sound_av_sync (Main *, Scene *, Strip *, LoadData *)
Stripadd_sound_strip (Main *, Scene *, ListBase *, LoadData *)
Stripadd_meta_strip (Scene *scene, ListBase *seqbase, LoadData *load_data)
Stripadd_movie_strip (Main *bmain, Scene *scene, ListBase *seqbase, LoadData *load_data)
void add_reload_new_file (Main *bmain, Scene *scene, Strip *strip, const bool lock_range)
void add_movie_reload_if_needed (Main *bmain, Scene *scene, Strip *strip, bool *r_was_reloaded, bool *r_can_produce_frames)
static void strip_connections_free (Strip *strip)
void connections_duplicate (ListBase *connections_dst, ListBase *connections_src)
bool disconnect (Strip *strip)
bool disconnect (blender::VectorSet< Strip * > &strip_list)
void cut_one_way_connections (Strip *strip)
void connect (Strip *strip1, Strip *strip2)
void connect (blender::VectorSet< Strip * > &strip_list)
blender::VectorSet< Strip * > connected_strips_get (const Strip *strip)
bool is_strip_connected (const Strip *strip)
bool are_strips_connected_together (blender::VectorSet< Strip * > &strip_list)
bool edit_strip_swap (Scene *scene, Strip *strip_a, Strip *strip_b, const char **r_error_str)
static void strip_update_muting_recursive (ListBase *channels, ListBase *seqbasep, Strip *strip_meta, const bool mute)
void edit_update_muting (Editing *ed)
static void sequencer_flag_users_for_removal (Scene *scene, ListBase *seqbase, Strip *strip)
void edit_flag_for_removal (Scene *scene, ListBase *seqbase, Strip *strip)
void edit_remove_flagged_strips (Scene *scene, ListBase *seqbase)
bool edit_move_strip_to_seqbase (Scene *scene, ListBase *seqbase, Strip *strip, ListBase *dst_seqbase)
bool edit_move_strip_to_meta (Scene *scene, Strip *src_strip, Strip *dst_stripm, const char **r_error_str)
static void seq_split_set_right_hold_offset (Main *bmain, Scene *scene, Strip *strip, int timeline_frame)
static void seq_split_set_left_hold_offset (Main *bmain, Scene *scene, Strip *strip, int timeline_frame)
static bool seq_edit_split_intersect_check (const Scene *scene, const Strip *strip, const int timeline_frame)
static void seq_edit_split_handle_strip_offsets (Main *bmain, Scene *scene, Strip *left_strip, Strip *right_strip, const int timeline_frame, const eSplitMethod method)
static bool seq_edit_split_effect_inputs_intersect (const Scene *scene, const Strip *strip, const int timeline_frame)
static bool seq_edit_split_operation_permitted_check (const Scene *scene, blender::Span< Strip * > strips, const int timeline_frame, const char **r_error)
Stripedit_strip_split (Main *bmain, Scene *scene, ListBase *seqbase, Strip *strip, const int timeline_frame, const eSplitMethod method, const bool ignore_connections, const char **r_error)
bool edit_remove_gaps (Scene *scene, ListBase *seqbase, const int initial_frame, const bool remove_all_gaps)
void edit_strip_name_set (Scene *scene, Strip *strip, const char *new_name)
static void strip_lookup_append_effect (const Strip *input, Strip *effect, StripLookup *lookup)
static void strip_by_scene_lookup_build (Strip *strip, StripLookup *lookup)
static void strip_by_compositor_node_group_lookup_build (Strip *strip, StripLookup *lookup)
static void strip_lookup_build_effect (Strip *strip, StripLookup *lookup)
static void strip_lookup_build_from_seqbase (Strip *parent_meta, const ListBase *seqbase, StripLookup *lookup)
static void strip_lookup_build (const Editing *ed, StripLookup *lookup)
static StripLookupstrip_lookup_new ()
static void strip_lookup_free (StripLookup **lookup)
static void strip_lookup_rebuild (const Editing *ed, StripLookup **lookup)
static void strip_lookup_update_if_needed (const Editing *ed, StripLookup **lookup)
void strip_lookup_free (Editing *ed)
Striplookup_strip_by_name (Editing *ed, const char *key)
Span< Strip * > lookup_strips_by_scene (Editing *ed, const Scene *key)
blender::Map< const Scene *, VectorSet< Strip * > > & lookup_strips_by_scene_map_get (Editing *ed)
Span< Strip * > lookup_strips_by_compositor_node_group (Editing *ed, const bNodeTree *key)
Striplookup_meta_by_strip (Editing *ed, const Strip *key)
Striplookup_strip_by_channel_owner (Editing *ed, const SeqTimelineChannel *channel)
void strip_lookup_invalidate (const Editing *ed)
bool relation_is_effect_of_strip (const Strip *effect, const Strip *input)
void cache_cleanup (Scene *scene)
void cache_cleanup_intra (Scene *scene)
void cache_cleanup_final (Scene *scene)
void cache_settings_changed (Scene *scene)
bool is_cache_full (const Scene *scene)
bool evict_caches_if_full (Scene *scene)
static void invalidate_final_cache_strip_range (Scene *scene, const Strip *strip)
static void invalidate_raw_cache_of_parent_meta (Scene *scene, Strip *strip)
void relations_invalidate_cache_raw (Scene *scene, Strip *strip)
void relations_invalidate_cache (Scene *scene, Strip *strip)
void relations_invalidate_scene_strips (const Main *bmain, const Scene *scene_target)
void relations_invalidate_compositor_modifiers (const Main *bmain, const bNodeTree *node_tree)
static void invalidate_movieclip_strips (Scene *scene, MovieClip *clip_target, ListBase *seqbase)
void relations_invalidate_movieclip_strips (Main *bmain, MovieClip *clip_target)
void relations_free_imbuf (Scene *scene, ListBase *seqbase, bool for_render)
static void sequencer_all_free_anim_ibufs (const Scene *scene, ListBase *seqbase, int timeline_frame, const int frame_range[2])
void relations_free_all_anim_ibufs (Scene *scene, int timeline_frame)
static Stripsequencer_check_scene_recursion (Scene *scene, ListBase *seqbase)
bool relations_check_scene_recursion (Scene *scene, ReportList *reports)
bool relations_render_loop_check (Strip *strip_main, Strip *strip)
void relations_strip_free_anim (Strip *strip)
void relations_session_uid_generate (Strip *strip)
static bool get_uids_cb (Strip *strip, void *user_data)
void relations_check_uids_unique_and_report (const Scene *scene)
bool exists_in_seqbase (const Strip *strip, const ListBase *seqbase)
MutableSpan< SeqRetimingKeyretiming_keys_get (const Strip *strip)
bool retiming_is_last_key (const Strip *strip, const SeqRetimingKey *key)
SeqRetimingKeyretiming_last_key_get (const Strip *strip)
int retiming_key_index_get (const Strip *strip, const SeqRetimingKey *key)
static int content_frame_index_get (const Scene *scene, const Strip *strip, const int timeline_frame)
SeqRetimingKeyretiming_key_get_by_timeline_frame (const Scene *scene, const Strip *strip, const int timeline_frame)
SeqRetimingKeyretiming_find_segment_start_key (const Strip *strip, float frame_index)
int retiming_keys_count (const Strip *strip)
void retiming_data_ensure (Strip *strip)
void retiming_data_clear (Strip *strip)
static void retiming_key_overlap (Scene *scene, Strip *strip)
void retiming_reset (Scene *scene, Strip *strip)
bool retiming_is_active (const Strip *strip)
bool retiming_data_is_editable (const Strip *strip)
bool retiming_is_allowed (const Strip *strip)
static double strip_retiming_segment_length_get (const SeqRetimingKey *start_key)
static float strip_retiming_segment_step_get (const SeqRetimingKey *start_key)
static void strip_retiming_segment_as_line_segment (const SeqRetimingKey *start_key, double r_v1[2], double r_v2[2])
static void strip_retiming_line_segments_tangent_circle (const SeqRetimingKey *start_key, double r_center[2], double *radius)
bool retiming_key_is_transition_type (const SeqRetimingKey *key)
bool retiming_key_is_transition_start (const SeqRetimingKey *key)
SeqRetimingKeyretiming_transition_start_get (SeqRetimingKey *key)
bool retiming_key_is_freeze_frame (const SeqRetimingKey *key)
static bool strip_retiming_transition_is_linear (const Strip *strip, const SeqRetimingKey *key)
static float strip_retiming_evaluate_arc_segment (const SeqRetimingKey *key, const float frame_index)
float strip_retiming_evaluate (const Strip *strip, const float frame_index)
static SeqRetimingKeystrip_retiming_add_key (Strip *strip, float frame_index)
SeqRetimingKeyretiming_add_key (const Scene *scene, Strip *strip, const int timeline_frame)
void retiming_transition_key_frame_set (const Scene *scene, const Strip *strip, SeqRetimingKey *key, const int timeline_frame)
static void strip_retiming_cleanup_freeze_frame (SeqRetimingKey *key)
void retiming_remove_multiple_keys (Strip *strip, blender::Vector< SeqRetimingKey * > &keys_to_remove)
static void strip_retiming_remove_key_ex (Strip *strip, SeqRetimingKey *key)
static SeqRetimingKeystrip_retiming_remove_transition (Strip *strip, SeqRetimingKey *key)
void retiming_remove_key (Strip *strip, SeqRetimingKey *key)
static Bounds< floatstrip_retiming_clamp_bounds_get (const Scene *scene, const Strip *strip, SeqRetimingKey *key)
static std::pair< SeqRetimingKey *, SeqRetimingKey * > freeze_key_pair_create (const Scene *scene, Strip *strip, SeqRetimingKey *key, const int offset)
SeqRetimingKeyretiming_add_freeze_frame (const Scene *scene, Strip *strip, SeqRetimingKey *key, const int offset)
SeqRetimingKeyretiming_add_transition (const Scene *scene, Strip *strip, SeqRetimingKey *key, float offset)
static float strip_retiming_clamp_transition_offset (const Scene *scene, const Strip *strip, SeqRetimingKey *start_key, float offset)
static void strip_retiming_transition_offset (const Scene *scene, Strip *strip, SeqRetimingKey *key, const float offset)
static int strip_retiming_clamp_timeline_frame (const Scene *scene, Strip *strip, SeqRetimingKey *key, const int timeline_frame)
static void strip_retiming_fix_transition (const Scene *scene, Strip *strip, SeqRetimingKey *key)
static void strip_retiming_fix_transitions (const Scene *scene, Strip *strip, SeqRetimingKey *key)
static void strip_retiming_key_offset (const Scene *scene, Strip *strip, SeqRetimingKey *key, const float offset)
int retiming_key_timeline_frame_get (const Scene *scene, const Strip *strip, const SeqRetimingKey *key)
void retiming_key_timeline_frame_set (const Scene *scene, Strip *strip, SeqRetimingKey *key, int timeline_frame, bool keep_retiming)
float retiming_key_speed_get (const Strip *strip, const SeqRetimingKey *key)
void retiming_key_speed_set (const Scene *scene, Strip *strip, SeqRetimingKey *key, const float speed, bool keep_retiming)
static RetimingRangeData strip_retiming_range_data_get (const Scene *scene, const Strip *strip)
void retiming_sound_animation_data_set (const Scene *scene, const Strip *strip)
bool retiming_selection_clear (const Editing *ed)
void retiming_selection_append (SeqRetimingKey *key)
void retiming_selection_remove (SeqRetimingKey *key)
void retiming_selection_copy (SeqRetimingKey *dst, const SeqRetimingKey *src)
blender::Map< SeqRetimingKey *, Strip * > retiming_selection_get (const Editing *ed)
bool retiming_selection_contains (const Editing *ed, const SeqRetimingKey *key)
bool retiming_selection_has_whole_transition (const Editing *ed, SeqRetimingKey *key)
Stripselect_active_get (const Scene *scene)
void select_active_set (Scene *scene, Strip *strip)
bool select_active_get_pair (Scene *scene, Strip **r_strip_act, Strip **r_strip_other)
float time_media_playback_rate_factor_get (const Strip *strip, const float scene_fps)
float give_frame_index (const Scene *scene, const Strip *strip, float timeline_frame)
static int metastrip_start_get (Strip *strip_meta)
static int metastrip_end_get (Strip *strip_meta)
static void strip_update_sound_bounds_recursive_impl (const Scene *scene, Strip *strip_meta, int start, int end)
void strip_update_sound_bounds_recursive (const Scene *scene, Strip *strip_meta)
void time_update_meta_strip_range (const Scene *scene, Strip *strip_meta)
void strip_time_effect_range_set (const Scene *scene, Strip *strip)
void strip_time_update_effects_strip_range (const Scene *scene, const blender::Span< Strip * > effects)
int time_find_next_prev_edit (Scene *scene, int timeline_frame, const short side, const bool do_skip_mute, const bool do_center, const bool do_unselected)
float time_strip_fps_get (Scene *scene, Strip *strip)
void timeline_init_boundbox (const Scene *scene, rctf *r_rect)
void timeline_expand_boundbox (const Scene *scene, const ListBase *seqbase, rctf *rect)
void timeline_boundbox (const Scene *scene, const ListBase *seqbase, rctf *r_rect)
static bool strip_exists_at_frame (const Scene *scene, blender::Span< Strip * > strips, const int timeline_frame)
void seq_time_gap_info_get (const Scene *scene, ListBase *seqbase, const int initial_frame, GapInfo *r_gap_info)
bool time_strip_intersects_frame (const Scene *scene, const Strip *strip, const int timeline_frame)
bool time_has_left_still_frames (const Scene *scene, const Strip *strip)
bool time_has_right_still_frames (const Scene *scene, const Strip *strip)
bool time_has_still_frames (const Scene *scene, const Strip *strip)
int time_strip_length_get (const Scene *scene, const Strip *strip)
float time_start_frame_get (const Strip *strip)
void time_start_frame_set (const Scene *scene, Strip *strip, int timeline_frame)
float time_content_end_frame_get (const Scene *scene, const Strip *strip)
int time_left_handle_frame_get (const Scene *, const Strip *strip)
int time_right_handle_frame_get (const Scene *scene, const Strip *strip)
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)
void time_handles_frame_set (const Scene *scene, Strip *strip, int left_handle_timeline_frame, int right_handle_timeline_frame)
void strip_time_translate_handles (const Scene *scene, Strip *strip, const int offset)
static void strip_time_slip_strip_ex (const Scene *scene, Strip *strip, int delta, float subframe_delta, bool slip_keyframes, bool recursed)
void time_slip_strip (const Scene *scene, Strip *strip, int frame_delta, float subframe_delta, bool slip_keyframes)
int time_get_rounded_sound_offset (const Strip *strip, const float frames_per_second)
void strip_time_update_effects_strip_range (const Scene *scene, blender::Span< Strip * > effects)
float strip_time_media_playback_rate_factor_get (const Scene *scene, const Strip *strip)
bool transform_single_image_check (const Strip *strip)
bool transform_strip_can_be_translated (const Strip *strip)
bool transform_test_overlap (const Scene *scene, Strip *strip1, Strip *strip2)
bool transform_test_overlap (const Scene *scene, ListBase *seqbasep, Strip *test)
void transform_translate_strip (Scene *evil_scene, Strip *strip, int delta)
bool transform_seqbase_shuffle_ex (ListBase *seqbasep, Strip *test, Scene *evil_scene, int channel_delta)
bool transform_seqbase_shuffle (ListBase *seqbasep, Strip *test, Scene *evil_scene)
static bool shuffle_strip_test_overlap (const Scene *scene, const Strip *strip1, const Strip *strip2, const int offset)
static int shuffle_strip_time_offset_get (const Scene *scene, blender::Span< Strip * > strips_to_shuffle, ListBase *seqbasep, char dir)
bool transform_seqbase_shuffle_time (blender::Span< Strip * > strips_to_shuffle, ListBase *seqbasep, Scene *evil_scene, ListBase *markers, const bool use_sync_markers)
bool transform_seqbase_shuffle_time (blender::Span< Strip * > strips_to_shuffle, blender::Span< Strip * > time_dependent_strips, ListBase *seqbasep, Scene *evil_scene, ListBase *markers, const bool use_sync_markers)
static blender::VectorSet< Strip * > extract_standalone_strips (blender::Span< Strip * > transformed_strips)
static blender::VectorSet< Strip * > query_right_side_strips (const Scene *scene, ListBase *seqbase, blender::Span< Strip * > transformed_strips, blender::Span< Strip * > time_dependent_strips)
static void strip_transform_handle_expand_to_fit (Scene *scene, ListBase *seqbasep, blender::Span< Strip * > transformed_strips, blender::Span< Strip * > time_dependent_strips, bool use_sync_markers)
static blender::VectorSet< Strip * > query_overwrite_targets (const Scene *scene, ListBase *seqbasep, blender::Span< Strip * > transformed_strips)
static eOvelapDescrition overlap_description_get (const Scene *scene, const Strip *transformed, const Strip *target)
static void strip_transform_handle_overwrite_split (Scene *scene, ListBase *seqbasep, const Strip *transformed, Strip *target)
static void strip_transform_handle_overwrite_trim (Scene *scene, ListBase *seqbasep, const Strip *transformed, Strip *target, const eOvelapDescrition overlap)
static void strip_transform_handle_overwrite (Scene *scene, ListBase *seqbasep, blender::Span< Strip * > transformed_strips)
static void strip_transform_handle_overlap_shuffle (Scene *scene, ListBase *seqbasep, blender::Span< Strip * > transformed_strips, blender::Span< Strip * > time_dependent_strips, bool use_sync_markers)
void transform_handle_overlap (Scene *scene, ListBase *seqbasep, blender::Span< Strip * > transformed_strips, bool use_sync_markers)
void transform_handle_overlap (Scene *scene, ListBase *seqbasep, blender::Span< Strip * > transformed_strips, blender::Span< Strip * > time_dependent_strips, bool use_sync_markers)
void transform_offset_after_frame (Scene *scene, ListBase *seqbase, const int delta, const int timeline_frame)
void strip_channel_set (Strip *strip, int channel)
bool transform_is_locked (ListBase *channels, const Strip *strip)
float2 image_transform_mirror_factor_get (const Strip *strip)
float2 transform_image_raw_size_get (const Scene *scene, const Strip *strip)
float2 image_transform_origin_get (const Scene *scene, const Strip *strip)
float2 image_transform_origin_offset_pixelspace_get (const Scene *scene, const Strip *strip)
static float3x3 seq_image_transform_matrix_get_ex (const Scene *scene, const Strip *strip, bool apply_rotation=true)
float3x3 image_transform_matrix_get (const Scene *scene, const Strip *strip)
static Array< float2strip_image_transform_quad_get_ex (const Scene *scene, const Strip *strip, bool apply_rotation)
Array< float2image_transform_quad_get (const Scene *scene, const Strip *strip, bool apply_rotation)
Array< float2image_transform_final_quad_get (const Scene *scene, const Strip *strip)
float2 image_preview_unit_to_px (const Scene *scene, const float2 co_src)
float2 image_preview_unit_from_px (const Scene *scene, const float2 co_src)
static Bounds< float2negative_bounds ()
Bounds< float2image_transform_bounding_box_from_collection (Scene *scene, blender::Span< Strip * > strips, bool apply_rotation)
static void seqbase_unique_name (ListBase *seqbasep, StripUniqueInfo *sui)
static bool seqbase_unique_name_recursive_fn (Strip *strip, void *arg_pt)
void strip_unique_name_set (Scene *scene, ListBase *seqbasep, Strip *strip)
const char * get_default_stripname_by_type (int type)
const char * strip_give_name (const Strip *strip)
ListBaseget_seqbase_from_strip (Strip *strip, ListBase **r_channels, int *r_offset)
static void open_anim_filepath (Strip *strip, StripAnim *sanim, const char *filepath, bool openfile)
static bool use_proxy (Editing *ed, Strip *strip)
static void proxy_dir_get (Editing *ed, Strip *strip, char r_proxy_dirpath[FILE_MAX])
static void index_dir_set (Editing *ed, Strip *strip, StripAnim *sanim)
static bool open_anim_file_multiview (Scene *scene, Strip *strip, const char *filepath)
void strip_open_anim_file (Scene *scene, Strip *strip, bool openfile)
const Stripstrip_topmost_get (const Scene *scene, int frame)
ListBaseget_seqbase_by_strip (const Scene *scene, Strip *strip)
Stripstrip_from_strip_elem (ListBase *seqbase, StripElem *se)
Stripget_strip_by_name (ListBase *seqbase, const char *name, bool recursive)
Maskactive_mask_get (Scene *scene)
void alpha_mode_from_file_extension (Strip *strip)
bool strip_has_valid_data (const Strip *strip)
bool sequencer_strip_generates_image (Strip *strip)
void set_scale_to_fit (const Strip *strip, const int image_width, const int image_height, const int preview_width, const int preview_height, const eSeqImageFitMethod fit_method)
void ensure_unique_name (Strip *strip, Scene *scene)
 ENUM_OPERATORS (StripDuplicate, StripDuplicate::All)
void sound_blend_write (BlendWriter *writer, ListBase *soundbase)
void sound_blend_read_data (BlendDataReader *reader, ListBase *lb)
.blend File I/O
void modifier_blend_write (BlendWriter *writer, ListBase *modbase)
void modifier_blend_read_data (BlendDataReader *reader, ListBase *lb)
Strip Stack Rendering Functions
static ImBufseq_render_strip_stack (const RenderData *context, SeqRenderState *state, ListBase *channels, ListBase *seqbasep, float timeline_frame, int chanshown)
static ImBufdo_render_strip_uncached (const RenderData *context, SeqRenderState *state, Strip *strip, float timeline_frame, bool *r_is_proxy_image)
ImBufseq_render_strip (const RenderData *context, SeqRenderState *state, Strip *strip, float timeline_frame)
static bool seq_must_swap_input_in_blend_mode (Strip *strip)
static StripEarlyOut strip_get_early_out_for_blend_mode (Strip *strip)
static ImBufseq_render_strip_stack_apply_effect (const RenderData *context, SeqRenderState *state, Strip *strip, float timeline_frame, ImBuf *ibuf1, ImBuf *ibuf2)
static bool is_opaque_alpha_over (const Strip *strip)
ImBufrender_give_ibuf (const RenderData *context, float timeline_frame, int chanshown)
ImBufseq_render_give_ibuf_seqbase (const RenderData *context, SeqRenderState *state, float timeline_frame, int chan_shown, ListBase *channels, ListBase *seqbasep)
ImBufrender_give_ibuf_direct (const RenderData *context, float timeline_frame, Strip *strip)
bool render_is_muted (const ListBase *channels, const Strip *strip)
Color-space utility functions
void seq_imbuf_assign_spaces (const Scene *scene, ImBuf *ibuf)
void seq_imbuf_to_sequencer_space (const Scene *scene, ImBuf *ibuf, bool make_float)
void render_imbuf_from_sequencer_space (const Scene *scene, ImBuf *ibuf)
void render_pixel_from_sequencer_space_v4 (const Scene *scene, float pixel[4])
Rendering utility functions
void render_new_render_data (Main *bmain, Depsgraph *depsgraph, Scene *scene, int rectx, int recty, eSpaceSeq_Proxy_RenderSize preview_render_size, Render *render, RenderData *r_context)
StripElemrender_give_stripelem (const Scene *scene, const Strip *strip, int timeline_frame)
Vector< Strip * > seq_shown_strips_get (const Scene *scene, ListBase *channels, ListBase *seqbase, const int timeline_frame, const int chanshown)
StripScreenQuad get_strip_screen_quad (const RenderData *context, const Strip *strip)
static bool is_quad_a_inside_b (const StripScreenQuad &a, const StripScreenQuad &b)
Preprocessing & Effects

Input preprocessing for STRIP_TYPE_IMAGE, STRIP_TYPE_MOVIE, STRIP_TYPE_MOVIECLIP and STRIP_TYPE_SCENE.

Do all the things you can't really do afterwards using sequence effects (read: before re-scaling to render resolution has been done).

Order is important!

  • De-interlace.
  • Crop and transform in image source coordinate space.
  • Flip X + Flip Y (could be done afterwards, backward compatibility).
  • Promote image to float data (affects pipeline operations afterwards).
  • Color balance (is most efficient in the byte -> float (future: half -> float should also work fine!) case, if done on load, since we can use lookup tables).
  • Pre-multiply.
static bool sequencer_use_transform (const Strip *strip)
static bool sequencer_use_crop (const Strip *strip)
static bool seq_input_have_to_preprocess (const RenderData *context, Strip *strip, float)
static bool seq_need_scale_to_render_size (const Strip *strip, bool is_proxy_image)
static float3x3 calc_strip_transform_matrix (const Scene *scene, const Strip *strip, const int in_x, const int in_y, const int out_x, const int out_y, const float image_scale_factor, const float preview_scale_factor)
static void sequencer_image_crop_init (const Strip *strip, const ImBuf *in, float crop_scale_factor, rctf *r_crop)
static bool is_strip_covering_screen (const RenderData *context, const Strip *strip)
static eIMBInterpolationFilterMode get_auto_filter (const StripTransform *transform)
static void sequencer_preprocess_transform_crop (ImBuf *in, ImBuf *out, const RenderData *context, Strip *strip, const float3x3 &matrix, const bool scale_crop_values, const float preview_scale_factor)
static void multiply_ibuf (ImBuf *ibuf, const float fmul, const bool multiply_alpha)
static ImBufinput_preprocess (const RenderData *context, SeqRenderState *state, Strip *strip, float timeline_frame, ImBuf *ibuf, const bool is_proxy_image)
static ImBufseq_render_preprocess_ibuf (const RenderData *context, SeqRenderState *state, Strip *strip, ImBuf *ibuf, float timeline_frame, bool use_preprocess, const bool is_proxy_image)
static ImBufseq_render_effect_strip_impl (const RenderData *context, SeqRenderState *state, Strip *strip, float timeline_frame)
Individual strip rendering functions
static void convert_multilayer_ibuf (ImBuf *ibuf)
static ImBufseq_render_image_strip_view (const RenderData *context, Strip *strip, char *filepath, char *prefix, const char *ext, int view_id)
static bool seq_image_strip_is_multiview_render (Scene *scene, Strip *strip, int totfiles, const char *filepath, char *r_prefix, const char *r_ext)
static ImBufcreate_missing_media_image (const RenderData *context, int width, int height)
static ImBufseq_render_image_strip (const RenderData *context, SeqRenderState *state, Strip *strip, int timeline_frame, bool *r_is_proxy_image)
static ImBufseq_render_movie_strip_custom_file_proxy (const RenderData *context, Strip *strip, int timeline_frame)
static IMB_Timecode_Type seq_render_movie_strip_timecode_get (Strip *strip)
static ImBufseq_render_movie_strip_view (const RenderData *context, Strip *strip, float timeline_frame, StripAnim *sanim, bool *r_is_proxy_image)
static ImBufseq_render_movie_strip (const RenderData *context, SeqRenderState *state, Strip *strip, float timeline_frame, bool *r_is_proxy_image)
static ImBufseq_get_movieclip_ibuf (Strip *strip, MovieClipUser user)
static ImBufseq_render_movieclip_strip (const RenderData *context, Strip *strip, float frame_index, bool *r_is_proxy_image)
ImBufseq_render_mask (Depsgraph *depsgraph, int width, int height, const Mask *mask, float frame_index, bool make_float)
static ImBufseq_render_mask_strip (const RenderData *context, Strip *strip, float frame_index)
static Depsgraph * get_depsgraph_for_scene_strip (Main *bmain, Scene *scene, ViewLayer *view_layer)
static ImBufseq_render_scene_strip_ex (const RenderData *context, Strip *strip, float frame_index, float timeline_frame)
static ImBufseq_render_scene_strip (const RenderData *context, Strip *strip, float frame_index, float timeline_frame)
static ImBufdo_render_strip_seqbase (const RenderData *context, SeqRenderState *state, Strip *strip, float frame_index)
Allocate / Free Functions
StripProxyseq_strip_proxy_alloc ()
static StripDataseq_strip_alloc (int type)
static void seq_free_strip (StripData *data)
Stripstrip_alloc (ListBase *lb, int timeline_frame, int channel, int type)
static void seq_strip_free_ex (Scene *scene, Strip *strip, const bool do_cache, const bool do_id_user)
void strip_free (Scene *scene, Strip *strip)
void seq_free_strip_recurse (Scene *scene, Strip *strip, const bool do_id_user)
Editingediting_get (const Scene *scene)
Editingediting_ensure (Scene *scene)
void editing_free (Scene *scene, const bool do_id_user)
static void seq_new_fix_links_recursive (Strip *strip, blender::Map< Strip *, Strip * > strip_map)
SequencerToolSettingstool_settings_init ()
SequencerToolSettingstool_settings_ensure (Scene *scene)
void tool_settings_free (SequencerToolSettings *tool_settings)
eSeqImageFitMethod tool_settings_fit_method_get (Scene *scene)
short tool_settings_snap_mode_get (Scene *scene)
short tool_settings_snap_flag_get (Scene *scene)
int tool_settings_snap_distance_get (Scene *scene)
void tool_settings_fit_method_set (Scene *scene, eSeqImageFitMethod fit_method)
eSeqOverlapMode tool_settings_overlap_mode_get (Scene *scene)
int tool_settings_pivot_point_get (Scene *scene)
ListBaseactive_seqbase_get (const Editing *ed)
static MetaStackseq_meta_stack_alloc (const Scene *scene, Strip *strip_meta)
MetaStackmeta_stack_active_get (const Editing *ed)
void meta_stack_set (const Scene *scene, Strip *dst)
Stripmeta_stack_pop (Editing *ed)
Duplicate Functions
static void seq_duplicate_postprocess (Main *bmain, StripDuplicateContext &ctx, blender::Map< Strip *, Strip * > &strip_map, const StripDuplicate dupe_flag)
static Stripstrip_duplicate (Main *bmain, const Scene *scene_src, Scene *scene_dst, ListBase *new_seq_list, Strip *strip, const StripDuplicate dupe_flag, const int flag, blender::Map< Strip *, Strip * > &strip_map, StripDuplicateContext &ctx)
static Stripstrip_duplicate_recursive_impl (Main *bmain, const Scene *scene_src, Scene *scene_dst, ListBase *new_seq_list, Strip *strip, const StripDuplicate dupe_flag, blender::Map< Strip *, Strip * > &strip_map, StripDuplicateContext &ctx)
Stripstrip_duplicate_recursive (Main *bmain, const Scene *scene_src, Scene *scene_dst, ListBase *new_seq_list, Strip *strip, const StripDuplicate dupe_flag)
static void seqbase_dupli_recursive (Main *bmain, const Scene *scene_src, Scene *scene_dst, ListBase *nseqbase, const ListBase *seqbase, const StripDuplicate dupe_flag, const int flag, blender::Map< Strip *, Strip * > &strip_map, StripDuplicateContext &ctx)
void seqbase_duplicate_recursive (Main *bmain, const Scene *scene_src, Scene *scene_dst, ListBase *nseqbase, const ListBase *seqbase, const StripDuplicate dupe_flag, const int flag)
bool is_valid_strip_channel (const Strip *strip)
SequencerToolSettingstool_settings_copy (SequencerToolSettings *tool_settings)

Variables

static Mutex final_image_cache_mutex
static Mutex source_image_cache_mutex
static constexpr int MAX_THUMBNAILS = 5000
static Mutex thumb_cache_mutex
static SeqFontMap g_font_map
static blender::Mutex presence_lock
StripModifierTypeInfo seqModifierType_BrightContrast
static constexpr int CB_TABLE_SIZE = 1024
StripModifierTypeInfo seqModifierType_ColorBalance
StripModifierTypeInfo seqModifierType_Compositor
StripModifierTypeInfo seqModifierType_Curves
StripModifierTypeInfo seqModifierType_HueCorrect
StripModifierTypeInfo seqModifierType_Mask
StripModifierTypeInfo seqModifierType_None
StripModifierTypeInfo seqModifierType_SoundEqualizer
StripModifierTypeInfo seqModifierType_Tonemap
StripModifierTypeInfo seqModifierType_WhiteBalance
static blender::Mutex seq_render_mutex
DrawViewFn view3d_fn = nullptr
const SoundModifierWorkerInfo workersSoundModifiers []
static Mutex lookup_lock
static constexpr char STRIP_MODIFIER_TYPE_PANEL_PREFIX [] = "STRIPMOD_PT_"
constexpr int MAX_CHANNELS = 128
static constexpr int THUMB_SIZE = 256

Text Effect

constexpr uint16_t JFA_INVALID = 0xFFFF
void text_effect_get_handle (EffectHandle &rval)
TextVarsRuntimetext_effect_calc_runtime (const Strip *strip, int font, const int2 image_size)
int text_effect_font_init (const RenderData *context, const Strip *strip, FontFlags font_flags)
bool effects_can_render_text (const Strip *strip)
static void init_text_effect (Strip *strip)
void effect_text_font_unload (TextVars *data, const bool do_id_user)
void effect_text_font_load (TextVars *data, const bool do_id_user)
static void free_text_effect (Strip *strip, const bool do_id_user)
static void load_text_effect (Strip *strip)
static void copy_text_effect (Strip *dst, const Strip *src, const int flag)
static int num_inputs_text ()
static StripEarlyOut early_out_text (const Strip *strip, float)
static void text_gaussian_blur_x (const Span< float > gaussian, int half_size, int start_line, int width, int height, const uchar *rect, uchar *dst, const rcti &shadow_rect)
static void text_gaussian_blur_y (const Span< float > gaussian, int half_size, int start_line, int width, int height, const uchar *rect, uchar *dst, const rcti &shadow_rect)
static void clamp_rect (int width, int height, rcti &r_rect)
static void initialize_shadow_alpha (int width, int height, int2 offset, const rcti &shadow_rect, const uchar *input, Array< uchar > &r_shadow_mask)
static void composite_shadow (int width, const rcti &shadow_rect, const float4 &shadow_color, const Array< uchar > &shadow_mask, uchar *output)
static void draw_text_shadow (const RenderData *context, const TextVars *data, int line_height, const rcti &rect, ImBuf *out)
static void jump_flooding_pass (Span< JFACoord > input, MutableSpan< JFACoord > output, int2 size, IndexRange x_range, IndexRange y_range, int step_size)
static void text_draw (const char *text_ptr, const TextVarsRuntime *runtime, float color[4])
static rcti draw_text_outline (const RenderData *context, const TextVars *data, const TextVarsRuntime *runtime, ImBuf *out)
static void fill_rect_alpha_under (const ImBuf *ibuf, const float col[4], int x1, int y1, int x2, int y2, float corner_radius)
static int text_effect_line_size_get (const RenderData *context, const Strip *strip)
static Vector< CharInfobuild_character_info (const TextVars *data, int font)
static int wrap_width_get (const TextVars *data, const int2 image_size)
static void apply_word_wrapping (const TextVars *data, TextVarsRuntime *runtime, const int2 image_size, Vector< CharInfo > &characters)
static int text_box_width_get (const Vector< LineInfo > &lines)
static float2 horizontal_alignment_offset_get (const TextVars *data, float line_width, int width_max)
static float2 anchor_offset_get (const TextVars *data, int width_max, int text_height)
static void calc_boundbox (const TextVars *data, TextVarsRuntime *runtime, const int2 image_size)
static void apply_text_alignment (const TextVars *data, TextVarsRuntime *runtime, const int2 image_size)
static ImBufdo_text_effect (const RenderData *context, SeqRenderState *, Strip *strip, float, float, ImBuf *, ImBuf *)

Public Modifier Functions

static StripModifierTypeInfomodifiersTypes [NUM_STRIP_MODIFIER_TYPES] = {nullptr}
static void modifier_types_init (StripModifierTypeInfo *types[])
void modifiers_init ()
const StripModifierTypeInfomodifier_type_info_get (int type)
StripModifierDatamodifier_new (Strip *strip, const char *name, int type)
bool modifier_remove (Strip *strip, StripModifierData *smd)
void modifier_clear (Strip *strip)
void modifier_free (StripModifierData *smd)
void modifier_unique_name (Strip *strip, StripModifierData *smd)
StripModifierDatamodifier_find_by_name (Strip *strip, const char *name)
static bool skip_modifier (Scene *scene, const StripModifierData *smd, int timeline_frame)
void modifier_apply_stack (ModifierApplyContext &context, int timeline_frame)
StripModifierDatamodifier_copy (Strip &strip_dst, StripModifierData *mod_src)
void modifier_list_copy (Strip *strip_new, Strip *strip)
int sequence_supports_modifiers (Strip *strip)
bool modifier_move_to_index (Strip *strip, StripModifierData *smd, const int new_index)
StripModifierDatamodifier_get_active (const Strip *strip)
void modifier_set_active (Strip *strip, StripModifierData *smd)
void modifier_type_panel_id (eStripModifierType type, char *r_idname)
void foreach_strip_modifier_id (Strip *strip, const FunctionRef< void(ID *)> fn)

Typedef Documentation

◆ DrawViewFn

Initial value:
struct ImBuf *(*)(struct Depsgraph *,
struct Scene *,
struct View3DShading *,
struct Object *,
int,
int,
int,
const char *,
struct GPUOffScreen *,
struct GPUViewport *,
char *)
eDrawType
eV3DOffscreenDrawFlag
eImBufFlags

Definition at line 25 of file SEQ_offscreen.hh.

◆ ForEachFunc

using blender::seq::ForEachFunc = bool (*)(Strip *strip, void *user_data)

Callback format for the for_each function below.

Definition at line 23 of file SEQ_iterator.hh.

◆ PanelDrawFn

using blender::seq::PanelDrawFn = void (*)(const bContext *, Panel *)

Definition at line 70 of file modifier.hh.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
SIDE_MOUSE 
SIDE_NONE 
SIDE_LEFT 
SIDE_RIGHT 
SIDE_BOTH 
SIDE_NO_CHANGE 

Definition at line 31 of file SEQ_sequencer.hh.

◆ eIntersectType

Enumerator
FULL 
PARTIAL_START 
PARTIAL_END 
INSIDE 
NONE 

Definition at line 860 of file strip_retiming.cc.

◆ eLoadFlags

#SeqLoadData.flags

Enumerator
SEQ_LOAD_SOUND_CACHE 
SEQ_LOAD_SOUND_MONO 
SEQ_LOAD_MOVIE_SYNC_FPS 
SEQ_LOAD_SET_VIEW_TRANSFORM 

Definition at line 26 of file SEQ_add.hh.

◆ eOvelapDescrition

Enumerator
STRIP_OVERLAP_NONE 
STRIP_OVERLAP_IS_FULL 
STRIP_OVERLAP_IS_INSIDE 
STRIP_OVERLAP_LEFT_SIDE 
STRIP_OVERLAP_RIGHT_SIDE 

Definition at line 356 of file strip_transform.cc.

◆ eRangeType

Enumerator
LINEAR 
TRANSITION 

Definition at line 855 of file strip_retiming.cc.

◆ eSplitMethod

Enumerator
SPLIT_SOFT 
SPLIT_HARD 

Definition at line 54 of file SEQ_edit.hh.

◆ eTaskId

Enumerator
SEQ_TASK_MAIN_RENDER 
SEQ_TASK_PREFETCH_RENDER 

Definition at line 26 of file SEQ_render.hh.

◆ StripDuplicate

enum class blender::seq::StripDuplicate : uint8_t
strong
Enumerator
Selected 
UniqueName 
Data 
All 

Definition at line 41 of file SEQ_sequencer.hh.

◆ StripEarlyOut

enum class blender::seq::StripEarlyOut
strong
Enumerator
NoInput 
DoEffect 
UseInput1 
UseInput2 

Definition at line 26 of file SEQ_effects.hh.

Function Documentation

◆ active_mask_get()

Mask * blender::seq::active_mask_get ( Scene * scene)

◆ active_seqbase_get()

ListBase * blender::seq::active_seqbase_get ( const Editing * ed)

Get seqbase that is being viewed currently. This can be main seqbase or meta strip seqbase

Parameters
edsequence editor data
Returns
pointer to active seqbase. returns NULL if ed is NULL

Definition at line 433 of file sequencer.cc.

Referenced by blender::ed::vse::all_strips_from_context(), blo_do_versions_pre250(), blender::ed::vse::channel_draw_context_init(), blender::ed::transform::create_trans_seq_clamp_data(), blender::ed::transform::createTransSeqImageData(), blender::ed::vse::deselect_all_strips(), blender::ed::vse::do_lasso_select_preview(), blender::ed::vse::draw_timeline_seq_display(), ensure_change_frame_keylist(), blender::ed::transform::freeSeqData(), blender::ed::vse::get_scene_strip_for_time_sync(), blender::ed::transform::gizmo2d_calc_bounds(), blender::ed::transform::gizmo2d_calc_rotation(), blender::ed::transform::gizmo2d_calc_transform_orientation(), blender::ed::transform::gizmo2d_calc_transform_pivot(), blender::ed::transform::query_snap_sources_timeline(), blender::ed::transform::query_snap_targets_timeline(), blender::ed::transform::recalcData_sequencer_retiming(), retiming_key_overlap(), blender::ed::vse::segment_speed_set_exec(), blender::ed::vse::select_linked_internal(), blender::ed::vse::select_linked_time_strip(), blender::ed::vse::select_more_less_impl(), blender::ed::vse::selected_strips_from_context(), blender::ed::vse::seq_box_select_strip_from_preview(), blender::ed::vse::seq_circle_select_strip_from_preview(), seq_get_snap_targets(), blender::ed::transform::seq_get_strip_pivot_median(), seq_prefetch_frames(), blender::ed::vse::seq_proxy_build_job(), blender::ed::transform::seq_transform_cancel(), blender::ed::vse::seq_view_collection_rect_timeline(), blender::ed::transform::seqbase_active_get(), blender::ed::vse::sequencer_add_duplicate_exec(), blender::ed::vse::sequencer_connect_exec(), blender::ed::vse::sequencer_delete_exec(), blender::ed::vse::sequencer_disconnect_exec(), blender::ed::vse::sequencer_drop_copy(), blender::ed::vse::sequencer_enable_proxies_exec(), blender::ed::vse::sequencer_meta_make_exec(), blender::ed::vse::sequencer_meta_separate_exec(), blender::ed::vse::sequencer_reassign_inputs_exec(), blender::ed::vse::sequencer_rebuild_proxy_exec(), blender::ed::vse::sequencer_select_exec(), blender::ed::vse::sequencer_select_grouped_exec(), blender::ed::vse::sequencer_select_side_of_frame(), blender::ed::vse::sequencer_select_side_of_frame_exec(), blender::ed::vse::sequencer_separate_images_exec(), blender::ed::vse::sequencer_split_exec(), blender::ed::vse::sequencer_swap_exec(), blender::ed::vse::sequencer_view_all_exec(), blender::ed::vse::strip_select_from_preview(), and blender::ed::vse::strip_speed_set_exec().

◆ add_effect_get_handle()

◆ add_effect_strip()

Strip * blender::seq::add_effect_strip ( Scene * scene,
ListBase * seqbase,
LoadData * load_data )

◆ add_image_init_alpha_mode()

◆ add_image_load_file()

void blender::seq::add_image_load_file ( Scene * scene,
Strip * strip,
size_t strip_frame,
const char * filename )

Set directory used by image strip.

Parameters
stripimage strip to be changed
strip_frameframe index of strip to be changed
filenameimage filename (only filename, not complete path)

Definition at line 202 of file strip_add.cc.

References StripElem::filename, render_give_stripelem(), STRNCPY(), and time_start_frame_get().

Referenced by blender::ed::vse::sequencer_add_image_strip_load_files().

◆ add_image_set_directory()

void blender::seq::add_image_set_directory ( Strip * strip,
const char * dirpath )

Set directory used by image strip.

Parameters
stripimage strip to be changed
pathdirectory path

Definition at line 197 of file strip_add.cc.

References Strip::data, StripData::dirpath, and STRNCPY().

Referenced by blender::ed::vse::sequencer_add_image_strip_exec().

◆ add_image_strip()

Strip * blender::seq::add_image_strip ( Main * bmain,
Scene * scene,
ListBase * seqbase,
LoadData * load_data )

◆ add_load_data_init()

void blender::seq::add_load_data_init ( LoadData * load_data,
const char * name,
const char * path,
int start_frame,
int channel )

Initialize common SeqLoadData members

Parameters
load_dataSeqLoadData to be initialized
namestrip name (can be NULL)
pathpath to file that is used as strip input (can be NULL)
start_frametimeline frame where strip will be created
channeltimeline channel where strip will be created

Definition at line 62 of file strip_add.cc.

References load_data(), name, and STRNCPY().

◆ add_mask_strip()

Strip * blender::seq::add_mask_strip ( Scene * scene,
ListBase * seqbase,
LoadData * load_data )

Add mask strip.

Parameters
sceneScene where strips will be added
seqbaseListBase where strips will be added
load_dataSeqLoadData with information necessary to create strip
Returns
created strip

Definition at line 155 of file strip_add.cc.

References BKE_mask_get_duration(), id_us_ensure_real(), Strip::len, load_data(), Strip::mask, strip_add_generic_update(), strip_add_set_name(), strip_alloc(), and STRIP_TYPE_MASK.

Referenced by blender::ed::vse::sequencer_add_mask_strip_exec().

◆ add_meta_strip()

Strip * blender::seq::add_meta_strip ( Scene * scene,
ListBase * seqbase,
LoadData * load_data )

Add meta strip.

Parameters
sceneScene where strips will be added
seqbaseListBase where strips will be added
load_dataSeqLoadData with information necessary to create strip
Returns
created strip

Definition at line 383 of file strip_add.cc.

References Strip::len, load_data(), Strip::start, strip_add_generic_update(), strip_add_set_name(), strip_alloc(), and STRIP_TYPE_META.

◆ add_movie_reload_if_needed()

void blender::seq::add_movie_reload_if_needed ( Main * bmain,
Scene * scene,
Strip * strip,
bool * r_was_reloaded,
bool * r_can_produce_frames )

◆ add_movie_strip()

Strip * blender::seq::add_movie_strip ( Main * bmain,
Scene * scene,
ListBase * seqbase,
LoadData * load_data )

◆ add_movieclip_strip()

Strip * blender::seq::add_movieclip_strip ( Scene * scene,
ListBase * seqbase,
LoadData * load_data )

Add movieclip strip.

Parameters
sceneScene where strips will be added
seqbaseListBase where strips will be added
load_dataSeqLoadData with information necessary to create strip
Returns
created strip

Definition at line 143 of file strip_add.cc.

References BKE_movieclip_get_duration(), Strip::clip, id_us_ensure_real(), Strip::len, load_data(), strip_add_generic_update(), strip_add_set_name(), strip_alloc(), and STRIP_TYPE_MOVIECLIP.

Referenced by blender::ed::vse::sequencer_add_movieclip_strip_exec().

◆ add_reload_new_file()

void blender::seq::add_reload_new_file ( Main * bmain,
Scene * scene,
Strip * strip,
const bool lock_range )

◆ add_scene_strip()

Strip * blender::seq::add_scene_strip ( Scene * scene,
ListBase * seqbase,
LoadData * load_data )

Add scene strip.

Parameters
sceneScene where strips will be added
seqbaseListBase where strips will be added
load_dataSeqLoadData with information necessary to create strip
Returns
created strip

Definition at line 131 of file strip_add.cc.

References id_us_ensure_real(), Strip::len, load_data(), Strip::scene, strip_add_generic_update(), strip_add_set_name(), strip_alloc(), and STRIP_TYPE_SCENE.

Referenced by blender::ed::vse::sequencer_add_scene_asset_invoke(), blender::ed::vse::sequencer_add_scene_strip_exec(), and blender::ed::vse::sequencer_add_scene_strip_new_exec().

◆ add_sound_av_sync()

void blender::seq::add_sound_av_sync ( Main * bmain,
Scene * scene,
Strip * strip,
LoadData * load_data )

Sync up the sound strip 'seq' with the video data in 'load_data'. This is intended to be used after adding a movie strip and you want to make sure that the audio track is properly synced up with the video.

Parameters
bmainMain reference
sceneScene where the sound strip is located
stripThe sound strip that will be synced
load_dataSeqLoadData with information necessary to sync the sound strip

Definition at line 367 of file strip_add.cc.

Referenced by blender::ed::vse::sequencer_add_movie_sync_sound_strip().

◆ add_sound_strip()

Strip * blender::seq::add_sound_strip ( Main * bmain,
Scene * scene,
ListBase * seqbase,
LoadData * load_data )

Add sound strip.

Note
Use SEQ_add_image_set_directory() and SEQ_add_image_load_file() to load image sequences
Parameters
bmainMain reference
sceneScene where strips will be added
seqbaseListBase where strips will be added
load_dataSeqLoadData with information necessary to create strip
Returns
created strip

Definition at line 374 of file strip_add.cc.

Referenced by blender::ed::vse::sequencer_add_movie_multiple_strips(), blender::ed::vse::sequencer_add_movie_single_strip(), blender::ed::vse::sequencer_add_sound_multiple_strips(), and blender::ed::vse::sequencer_add_sound_single_strip().

◆ adjustment_effect_get_handle()

◆ alpha_mode_from_file_extension()

void blender::seq::alpha_mode_from_file_extension ( Strip * strip)

◆ alpha_opaque() [1/2]

bool blender::seq::alpha_opaque ( float alpha)
static

Definition at line 38 of file vse_effect_blend.cc.

◆ alpha_opaque() [2/2]

bool blender::seq::alpha_opaque ( uchar alpha)
static

◆ alpha_over_effect_get_handle()

◆ alpha_under_effect_get_handle()

void blender::seq::alpha_under_effect_get_handle ( EffectHandle & rval)

◆ anchor_offset_get()

float2 blender::seq::anchor_offset_get ( const TextVars * data,
int width_max,
int text_height )
static

◆ animation_backup_original()

◆ animation_drivers_exist()

bool blender::seq::animation_drivers_exist ( Scene * scene)

◆ animation_duplicate_backup_to_scene()

◆ animation_keyframes_exist()

◆ animation_restore_original()

◆ apply_blend_function()

template<typename T, typename Func>
void blender::seq::apply_blend_function ( float fac,
int64_t size,
const T * src1,
const T * src2,
T * dst,
Func blend_function )
static

Definition at line 148 of file vse_effect_blend.cc.

References i, size(), and T.

Referenced by do_blend_effect_byte(), and do_blend_effect_float().

◆ apply_effect_op()

template<typename OpT>
void blender::seq::apply_effect_op ( const OpT & op,
const ImBuf * src1,
const ImBuf * src2,
ImBuf * dst )
static

◆ apply_modifier_op()

template<typename T>
void blender::seq::apply_modifier_op ( T & op,
ImBuf * ibuf,
const ImBuf * mask,
const float3x3 & mask_transform )

◆ apply_text_alignment()

◆ apply_word_wrapping()

◆ are_strips_connected_together()

bool blender::seq::are_strips_connected_together ( blender::VectorSet< Strip * > & strip_list)

Check whether the list of strips are a single connection "group", that is, they are all connected to each other and there are no outside connections.

Definition at line 138 of file strip_connect.cc.

References connected_strips_get(), blender::VectorSet< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::contains(), and blender::VectorSet< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::size().

Referenced by blender::ed::vse::sequencer_connect_exec().

◆ blend_mode_effect_get_handle()

void blender::seq::blend_mode_effect_get_handle ( EffectHandle & rval)

◆ blend_read()

void blender::seq::blend_read ( BlendDataReader * reader,
ListBase * seqbase )

Definition at line 1077 of file sequencer.cc.

References foreach_strip(), and strip_read_data_cb().

Referenced by scene_blend_read_data().

◆ blend_write()

void blender::seq::blend_write ( BlendWriter * writer,
ListBase * seqbase )

Read and Write functions for .blend file data.

Definition at line 947 of file sequencer.cc.

References foreach_strip(), seq_set_strip_done_cb(), and strip_write_data_cb().

Referenced by scene_blend_write().

◆ blur_isolate_highlights()

void blender::seq::blur_isolate_highlights ( const float4 * in,
float4 * out,
int width,
int height,
float threshold,
float boost,
float clamp )
static

◆ brightcontrast_apply()

◆ brightcontrast_panel_draw()

void blender::seq::brightcontrast_panel_draw ( const bContext * C,
Panel * panel )
static

◆ brightcontrast_register()

void blender::seq::brightcontrast_register ( ARegionType * region_type)
static

◆ build_character_info()

◆ cache_cleanup()

◆ cache_cleanup_final()

void blender::seq::cache_cleanup_final ( Scene * scene)

Definition at line 63 of file strip_relations.cc.

References final_image_cache_clear().

Referenced by update_sequencer().

◆ cache_cleanup_intra()

void blender::seq::cache_cleanup_intra ( Scene * scene)

Definition at line 58 of file strip_relations.cc.

References intra_frame_cache_invalidate().

Referenced by update_sequencer().

◆ cache_settings_changed()

void blender::seq::cache_settings_changed ( Scene * scene)

◆ calc_boundbox()

◆ calc_strip_transform_matrix()

float3x3 blender::seq::calc_strip_transform_matrix ( const Scene * scene,
const Strip * strip,
const int in_x,
const int in_y,
const int out_x,
const int out_y,
const float image_scale_factor,
const float preview_scale_factor )
static

◆ calc_wipe_band()

float blender::seq::calc_wipe_band ( float dist,
float inv_width )
static

Definition at line 96 of file vse_effect_wipe.cc.

Referenced by calc_wipe_blend().

◆ calc_wipe_blend()

float blender::seq::calc_wipe_blend ( const WipeData * data,
int x,
int y )
static

◆ can_use_proxy()

bool blender::seq::can_use_proxy ( const RenderData * context,
const Strip * strip,
IMB_Proxy_Size psize )

◆ channel_get_by_index()

SeqTimelineChannel * blender::seq::channel_get_by_index ( const ListBase * channels,
int channel_index )

◆ channel_index_get()

int blender::seq::channel_index_get ( const SeqTimelineChannel * channel)

Definition at line 71 of file channels.cc.

References SeqTimelineChannel::index.

◆ channel_is_locked()

◆ channel_is_muted()

◆ channel_name_get()

char * blender::seq::channel_name_get ( ListBase * channels,
const int channel_index )

Definition at line 65 of file channels.cc.

References channel_get_by_index(), and SeqTimelineChannel::name.

Referenced by blender::ed::vse::draw_channel_labels().

◆ channels_displayed_get()

ListBase * blender::seq::channels_displayed_get ( const Editing * ed)

The active displayed channels list, either from the root sequence or from a meta-strip.

Definition at line 28 of file channels.cc.

Referenced by blender::ed::vse::all_strips_from_context(), blender::ed::vse::can_select_handle(), blender::ed::vse::channel_draw_context_init(), blender::ed::transform::create_trans_seq_clamp_data(), blender::ed::transform::createTransSeqImageData(), blender::ed::vse::do_lasso_select_preview(), blender::ed::vse::find_unlocked_unmuted_channel(), blender::ed::vse::get_scene_strip_for_time_sync(), blender::ed::transform::gizmo2d_calc_bounds(), blender::ed::transform::gizmo2d_calc_rotation(), blender::ed::transform::gizmo2d_calc_transform_orientation(), blender::ed::transform::gizmo2d_calc_transform_pivot(), blender::ed::vse::preview_draw_all_image_overlays(), blender::ed::transform::query_snap_sources_preview(), blender::ed::transform::query_snap_targets_preview(), blender::ed::transform::query_snap_targets_timeline(), screen_ctx_selected_editable_strips(), blender::ed::vse::selected_strips_from_context(), blender::ed::vse::seq_box_select_strip_from_preview(), blender::ed::vse::seq_circle_select_strip_from_preview(), seq_edit_split_operation_permitted_check(), blender::ed::transform::seq_get_strip_pivot_median(), seq_prefetch_frames(), blender::ed::transform::SeqTransInfo(), blender::ed::vse::sequencer_drop_copy(), blender::ed::vse::sequencer_main_cursor(), blender::ed::vse::sequencer_meta_make_exec(), blender::ed::vse::sequencer_offset_clear_exec(), blender::ed::vse::sequencer_snap_exec(), blender::ed::vse::sequencer_swap_exec(), blender::ed::vse::slip_data_init(), blender::ed::vse::strip_get_text_strip_cb(), blender::ed::vse::strip_select_from_preview(), strip_topmost_get(), strip_transform_handle_overwrite(), time_find_next_prev_edit(), blender::ed::vse::timeline_draw_context_get(), and transform_seqbase_shuffle_ex().

◆ channels_duplicate()

void blender::seq::channels_duplicate ( ListBase * channels_dst,
ListBase * channels_src )

Definition at line 44 of file channels.cc.

References BLI_addtail(), LISTBASE_FOREACH, and MEM_dupallocN().

Referenced by strip_duplicate().

◆ channels_ensure()

void blender::seq::channels_ensure ( ListBase * channels)

◆ channels_free()

void blender::seq::channels_free ( ListBase * channels)

Definition at line 53 of file channels.cc.

References LISTBASE_FOREACH_MUTABLE, and MEM_freeN().

Referenced by editing_free(), and seq_strip_free_ex().

◆ check_media_missing()

◆ check_sound_media_missing()

bool blender::seq::check_sound_media_missing ( const bSound * sound)
static

◆ clamp_rect()

void blender::seq::clamp_rect ( int width,
int height,
rcti & r_rect )
static

Definition at line 371 of file vse_effect_text.cc.

References blender::math::clamp(), rcti::xmax, rcti::xmin, rcti::ymax, and rcti::ymin.

Referenced by draw_text_shadow().

◆ collection_filter_channel_up_to_incl()

void blender::seq::collection_filter_channel_up_to_incl ( VectorSet< Strip * > & strips,
const int channel )
static

◆ collection_filter_rendered_strips()

void blender::seq::collection_filter_rendered_strips ( VectorSet< Strip * > & strips,
ListBase * channels )
static

◆ color_balance_lgg()

float blender::seq::color_balance_lgg ( float in,
const float lift,
const float gain,
const float gamma,
const float mul )
static

Definition at line 28 of file MOD_color_balance.cc.

References CLAMP, FLT_MAX, in, mul(), powf, and x.

Referenced by blender::seq::ColorBalanceApplyOp::apply(), and make_cb_table_lgg().

◆ color_balance_sop()

float blender::seq::color_balance_sop ( float in,
const float slope,
const float offset,
const float power,
float mul )
static

Definition at line 42 of file MOD_color_balance.cc.

References CLAMP, FLT_MAX, in, mul(), power(), powf, and x.

Referenced by blender::seq::ColorBalanceApplyOp::apply(), and make_cb_table_sop().

◆ color_mix_effect_get_handle()

◆ colorBalance_apply()

void blender::seq::colorBalance_apply ( ModifierApplyContext & context,
StripModifierData * smd,
ImBuf * mask )
static

◆ colorBalance_init_data()

◆ colorBalance_panel_draw()

◆ colorBalance_register()

void blender::seq::colorBalance_register ( ARegionType * region_type)
static

◆ composite_shadow()

void blender::seq::composite_shadow ( int width,
const rcti & shadow_rect,
const float4 & shadow_color,
const Array< uchar > & shadow_mask,
uchar * output )
static

◆ compositor_modifier_apply()

◆ compositor_modifier_init_data()

void blender::seq::compositor_modifier_init_data ( StripModifierData * strip_modifier_data)
static

Definition at line 156 of file MOD_compositor.cc.

References SequencerCompositorModifierData::node_group.

◆ compositor_modifier_panel_draw()

void blender::seq::compositor_modifier_panel_draw ( const bContext * C,
Panel * panel )
static

◆ compositor_modifier_register()

void blender::seq::compositor_modifier_register ( ARegionType * region_type)
static

◆ connect() [1/2]

◆ connect() [2/2]

void blender::seq::connect ( Strip * strip1,
Strip * strip2 )

Connect strips so that they may be selected together. Any connections the strips already have will be severed before reconnection.

Definition at line 90 of file strip_connect.cc.

References blender::VectorSet< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add(), and connect().

Referenced by connect(), blender::ed::vse::sequencer_add_movie_multiple_strips(), blender::ed::vse::sequencer_add_movie_single_strip(), and blender::ed::vse::sequencer_connect_exec().

◆ connected_strips_get()

blender::VectorSet< Strip * > blender::seq::connected_strips_get ( const Strip * strip)

◆ connections_duplicate()

void blender::seq::connections_duplicate ( ListBase * connections_dst,
ListBase * connections_src )

Definition at line 29 of file strip_connect.cc.

References BLI_addtail(), LISTBASE_FOREACH, and MEM_dupallocN().

Referenced by strip_duplicate().

◆ content_frame_index_get()

int blender::seq::content_frame_index_get ( const Scene * scene,
const Strip * strip,
const int timeline_frame )
static

◆ convert_multilayer_ibuf()

◆ copy_effect_default()

void blender::seq::copy_effect_default ( Strip * dst,
const Strip * src,
const int  )
static

Definition at line 378 of file vse_effect_blend.cc.

References Strip::effectdata, and MEM_dupallocN().

Referenced by color_mix_effect_get_handle().

◆ copy_gaussian_blur_effect()

void blender::seq::copy_gaussian_blur_effect ( Strip * dst,
const Strip * src,
const int  )
static

Definition at line 44 of file vse_effect_gaussian_blur.cc.

References Strip::effectdata, and MEM_dupallocN().

Referenced by gaussian_blur_effect_get_handle().

◆ copy_glow_effect()

void blender::seq::copy_glow_effect ( Strip * dst,
const Strip * src,
const int  )
static

Definition at line 154 of file vse_effect_glow.cc.

References Strip::effectdata, and MEM_dupallocN().

Referenced by glow_effect_get_handle().

◆ copy_solid_color()

void blender::seq::copy_solid_color ( Strip * dst,
const Strip * src,
const int  )
static

Definition at line 42 of file vse_effect_solid_color.cc.

References Strip::effectdata, and MEM_dupallocN().

Referenced by solid_color_effect_get_handle().

◆ copy_speed_effect()

void blender::seq::copy_speed_effect ( Strip * dst,
const Strip * src,
const int  )
static

Definition at line 61 of file vse_effect_speed.cc.

References Strip::effectdata, MEM_dupallocN(), and v.

Referenced by speed_effect_get_handle().

◆ copy_text_effect()

void blender::seq::copy_text_effect ( Strip * dst,
const Strip * src,
const int flag )
static

◆ copy_wipe_effect()

void blender::seq::copy_wipe_effect ( Strip * dst,
const Strip * src,
const int  )
static

Definition at line 178 of file vse_effect_wipe.cc.

References Strip::effectdata, and MEM_dupallocN().

Referenced by wipe_effect_get_handle().

◆ create_missing_media_image()

ImBuf * blender::seq::create_missing_media_image ( const RenderData * context,
int width,
int height )
static

◆ cross_effect_get_handle()

◆ curves_apply()

◆ curves_copy_data()

void blender::seq::curves_copy_data ( StripModifierData * target,
StripModifierData * smd )
static

◆ curves_free_data()

void blender::seq::curves_free_data ( StripModifierData * smd)
static

◆ curves_init_data()

void blender::seq::curves_init_data ( StripModifierData * smd)
static

◆ curves_panel_draw()

void blender::seq::curves_panel_draw ( const bContext * C,
Panel * panel )
static

◆ curves_read()

void blender::seq::curves_read ( BlendDataReader * reader,
StripModifierData * smd )
static

◆ curves_register()

void blender::seq::curves_register ( ARegionType * region_type)
static

◆ curves_write()

void blender::seq::curves_write ( BlendWriter * writer,
const StripModifierData * smd )
static

◆ cut_one_way_connections()

void blender::seq::cut_one_way_connections ( Strip * strip)

Ensure that the strip has only bidirectional connections (expected behavior).

Definition at line 68 of file strip_connect.cc.

References BLI_remlink(), Strip::connections, LISTBASE_FOREACH, and LISTBASE_FOREACH_MUTABLE.

Referenced by seq_duplicate_postprocess().

◆ disconnect() [1/2]

bool blender::seq::disconnect ( blender::VectorSet< Strip * > & strip_list)

Definition at line 58 of file strip_connect.cc.

References disconnect().

◆ disconnect() [2/2]

bool blender::seq::disconnect ( Strip * strip)

Disconnect the strip(s) from any connections with other strips. This function also frees the allocated memory as necessary. Returns false if any of the strips were not already connected.

Definition at line 37 of file strip_connect.cc.

References BLI_listbase_is_empty(), BLI_remlink(), Strip::connections, LISTBASE_FOREACH, LISTBASE_FOREACH_MUTABLE, and strip_connections_free().

Referenced by connect(), disconnect(), edit_strip_split(), seq_strip_free_ex(), blender::ed::vse::sequencer_connect_exec(), and blender::ed::vse::sequencer_disconnect_exec().

◆ do_add_effect()

ImBuf * blender::seq::do_add_effect ( const RenderData * context,
SeqRenderState * ,
Strip * ,
float ,
float fac,
ImBuf * src1,
ImBuf * src2 )
static

◆ do_adjustment()

ImBuf * blender::seq::do_adjustment ( const RenderData * context,
SeqRenderState * state,
Strip * strip,
float timeline_frame,
float ,
ImBuf * ,
ImBuf *  )
static

Definition at line 76 of file vse_effect_adjustment.cc.

References do_adjustment_impl(), out, and state.

Referenced by adjustment_effect_get_handle().

◆ do_adjustment_impl()

◆ do_alphaover_effect()

ImBuf * blender::seq::do_alphaover_effect ( const RenderData * context,
SeqRenderState * ,
Strip * ,
float ,
float fac,
ImBuf * src1,
ImBuf * src2 )
static

◆ do_alphaunder_effect()

ImBuf * blender::seq::do_alphaunder_effect ( const RenderData * context,
SeqRenderState * ,
Strip * ,
float ,
float fac,
ImBuf * src1,
ImBuf * src2 )
static

◆ do_blend_effect_byte()

◆ do_blend_effect_float()

◆ do_blend_mode_effect()

ImBuf * blender::seq::do_blend_mode_effect ( const RenderData * context,
SeqRenderState * ,
Strip * strip,
float ,
float fac,
ImBuf * src1,
ImBuf * src2 )
static

◆ do_colormix_effect()

ImBuf * blender::seq::do_colormix_effect ( const RenderData * context,
SeqRenderState * ,
Strip * strip,
float ,
float ,
ImBuf * src1,
ImBuf * src2 )
static

◆ do_cross_effect()

ImBuf * blender::seq::do_cross_effect ( const RenderData * context,
SeqRenderState * ,
Strip * ,
float ,
float fac,
ImBuf * src1,
ImBuf * src2 )
static

◆ do_gammacross_effect()

ImBuf * blender::seq::do_gammacross_effect ( const RenderData * context,
SeqRenderState * ,
Strip * ,
float ,
float fac,
ImBuf * src1,
ImBuf * src2 )
static

◆ do_gaussian_blur_effect()

◆ do_glow_effect()

ImBuf * blender::seq::do_glow_effect ( const RenderData * context,
SeqRenderState * ,
Strip * strip,
float ,
float fac,
ImBuf * ibuf1,
ImBuf * ibuf2 )
static

◆ do_glow_effect_byte()

◆ do_glow_effect_float()

void blender::seq::do_glow_effect_float ( Strip * strip,
int render_size,
float fac,
int x,
int y,
float * rect1,
float * ,
float * out )
static

◆ do_mul_effect()

ImBuf * blender::seq::do_mul_effect ( const RenderData * context,
SeqRenderState * ,
Strip * ,
float ,
float fac,
ImBuf * src1,
ImBuf * src2 )
static

◆ do_multicam()

ImBuf * blender::seq::do_multicam ( const RenderData * context,
SeqRenderState * state,
Strip * strip,
float timeline_frame,
float ,
ImBuf * ,
ImBuf *  )
static

◆ do_render_strip_seqbase()

ImBuf * blender::seq::do_render_strip_seqbase ( const RenderData * context,
SeqRenderState * state,
Strip * strip,
float frame_index )
static

◆ do_render_strip_uncached()

◆ do_solid_color()

ImBuf * blender::seq::do_solid_color ( const RenderData * context,
SeqRenderState * ,
Strip * strip,
float ,
float ,
ImBuf * ibuf1,
ImBuf * ibuf2 )
static

◆ do_speed_effect()

ImBuf * blender::seq::do_speed_effect ( const RenderData * context,
SeqRenderState * state,
Strip * strip,
float timeline_frame,
float fac,
ImBuf * ibuf1,
ImBuf * ibuf2 )
static

◆ do_sub_effect()

ImBuf * blender::seq::do_sub_effect ( const RenderData * context,
SeqRenderState * ,
Strip * ,
float ,
float fac,
ImBuf * src1,
ImBuf * src2 )
static

◆ do_text_effect()

◆ do_wipe_effect() [1/2]

ImBuf * blender::seq::do_wipe_effect ( const RenderData * context,
SeqRenderState * ,
Strip * strip,
float ,
float fac,
ImBuf * ibuf1,
ImBuf * ibuf2 )
static

◆ do_wipe_effect() [2/2]

template<typename T>
void blender::seq::do_wipe_effect ( const Strip * strip,
float fac,
int width,
int height,
const T * rect1,
const T * rect2,
T * out )
static

◆ doversion_250_sound_proxy_update()

void blender::seq::doversion_250_sound_proxy_update ( Main * bmain,
Editing * ed )

Definition at line 1098 of file sequencer.cc.

References foreach_strip(), and strip_doversion_250_sound_proxy_update_cb().

Referenced by do_versions_after_setup().

◆ draw_mask_input_type_settings()

◆ draw_text_outline()

◆ draw_text_shadow()

◆ early_out_adjustment()

StripEarlyOut blender::seq::early_out_adjustment ( const Strip * ,
float  )
static

Definition at line 29 of file vse_effect_adjustment.cc.

References NoInput.

Referenced by adjustment_effect_get_handle().

◆ early_out_color()

StripEarlyOut blender::seq::early_out_color ( const Strip * ,
float  )
static

Definition at line 47 of file vse_effect_solid_color.cc.

References NoInput.

Referenced by solid_color_effect_get_handle().

◆ early_out_fade()

StripEarlyOut blender::seq::early_out_fade ( const Strip * ,
float fac )

◆ early_out_gaussian_blur()

StripEarlyOut blender::seq::early_out_gaussian_blur ( const Strip * strip,
float  )
static

Definition at line 49 of file vse_effect_gaussian_blur.cc.

References data, DoEffect, Strip::effectdata, and UseInput1.

Referenced by gaussian_blur_effect_get_handle().

◆ early_out_mul_input1()

StripEarlyOut blender::seq::early_out_mul_input1 ( const Strip * ,
float fac )

Definition at line 136 of file effects.cc.

References DoEffect, and UseInput2.

Referenced by alpha_over_effect_get_handle().

◆ early_out_mul_input2()

StripEarlyOut blender::seq::early_out_mul_input2 ( const Strip * ,
float fac )

◆ early_out_multicam()

StripEarlyOut blender::seq::early_out_multicam ( const Strip * ,
float  )
static

Definition at line 27 of file vse_effect_multi_camera.cc.

References NoInput.

Referenced by multi_camera_effect_get_handle().

◆ early_out_noop()

StripEarlyOut blender::seq::early_out_noop ( const Strip * ,
float  )
static

Definition at line 112 of file effects.cc.

References DoEffect.

Referenced by effect_handle_for_blend_mode_get(), and effect_handle_get().

◆ early_out_speed()

StripEarlyOut blender::seq::early_out_speed ( const Strip * ,
float  )
static

Definition at line 69 of file vse_effect_speed.cc.

References DoEffect.

Referenced by speed_effect_get_handle().

◆ early_out_text()

StripEarlyOut blender::seq::early_out_text ( const Strip * strip,
float  )
static

Definition at line 297 of file vse_effect_text.cc.

References effects_can_render_text(), NoInput, and UseInput1.

Referenced by text_effect_get_handle().

◆ ED_seq_proxy_job_get()

◆ ED_seq_proxy_wm_job_get()

◆ edit_flag_for_removal()

◆ edit_move_strip_to_meta()

bool blender::seq::edit_move_strip_to_meta ( Scene * scene,
Strip * src_strip,
Strip * dst_stripm,
const char ** r_error_str )

◆ edit_move_strip_to_seqbase()

bool blender::seq::edit_move_strip_to_seqbase ( Scene * scene,
ListBase * seqbase,
Strip * strip,
ListBase * dst_seqbase )

Move strip to seqbase.

Parameters
sceneScene containing the editing
seqbaseseqbase where strip is located
stripStrip to move
dst_seqbaseTarget seqbase

Definition at line 197 of file strip_edit.cc.

References BLI_addtail(), BLI_remlink(), relations_invalidate_cache(), transform_seqbase_shuffle(), and transform_test_overlap().

Referenced by edit_move_strip_to_meta().

◆ edit_remove_flagged_strips()

◆ edit_remove_gaps()

bool blender::seq::edit_remove_gaps ( Scene * scene,
ListBase * seqbase,
int initial_frame,
bool remove_all_gaps )

Find gap after initial_frame and move strips on right side to close the gap

Parameters
sceneScene in which strips are located
seqbaseListBase in which strips are located
initial_frameframe on timeline from where gaps are searched for
remove_all_gapsremove all gaps instead of one gap
Returns
true if gap is removed, otherwise false

Definition at line 499 of file strip_edit.cc.

References blender::seq::GapInfo::gap_exists, blender::seq::GapInfo::gap_length, blender::seq::GapInfo::gap_start_frame, seq_time_gap_info_get(), and transform_offset_after_frame().

Referenced by blender::ed::vse::sequencer_gap_remove_exec().

◆ edit_strip_name_set()

void blender::seq::edit_strip_name_set ( Scene * scene,
Strip * strip,
const char * new_name )

◆ edit_strip_split()

Strip * blender::seq::edit_strip_split ( Main * bmain,
Scene * scene,
ListBase * seqbase,
Strip * strip,
int timeline_frame,
eSplitMethod method,
bool ignore_connections,
const char ** r_error )

◆ edit_strip_swap()

◆ edit_update_muting()

void blender::seq::edit_update_muting ( Editing * ed)

Definition at line 126 of file strip_edit.cc.

References MetaStack::parent_strip, and strip_update_muting_recursive().

Referenced by eval_strips().

◆ editing_ensure()

◆ editing_free()

◆ editing_get()

Editing * blender::seq::editing_get ( const Scene * scene)

Definition at line 286 of file sequencer.cc.

References Scene::ed.

Referenced by blender::ed::vse::all_strips_from_context(), animchan_sync_fcurve_scene(), blo_do_versions_290(), blo_do_versions_300(), blo_do_versions_440(), blo_do_versions_500(), blender::ed::outliner::TreeDisplaySequencer::build_tree(), blender::ed::vse::can_select_handle(), blender::ed::vse::channel_draw_context_init(), composite_get_from_context(), blender::ed::transform::create_trans_seq_clamp_data(), blender::ed::transform::createTransSeqData(), blender::ed::transform::createTransSeqImageData(), blender::ed::transform::createTransSeqRetimingData(), blender::ed::vse::deselect_all_strips(), blender::ed::vse::do_lasso_select_timeline(), do_versions_after_linking_300(), do_versions_after_linking_400(), blender::ed::vse::draw_channels(), draw_mask_input_type_settings(), blender::ed::vse::draw_timeline_seq_display(), blender::ed::vse::draw_timeline_sfra_efra(), ED_imbuf_sample_poll(), edit_move_strip_to_meta(), edit_strip_swap(), ensure_change_frame_keylist(), blender::ed::vse::find_neighboring_strip(), blender::ed::vse::find_next_prev_strip(), blender::ed::transform::freeSeqData(), blender::ed::vse::freeze_frame_add_from_retiming_selection(), blender::ed::space_node::get_context_path_node_compositor(), blender::ed::vse::get_scene_strip_for_time_sync(), get_seqbase_by_strip(), get_seqbase_from_strip(), blender::ed::transform::gizmo2d_calc_bounds(), blender::ed::transform::gizmo2d_calc_rotation(), blender::ed::transform::gizmo2d_calc_transform_orientation(), blender::ed::transform::gizmo2d_calc_transform_pivot(), blender::ed::transform::gizmo2d_generic_poll(), blender::ed::transform::image_transform_set(), invalidate_raw_cache_of_parent_meta(), meta_stack_set(), blender::ed::vse::padded_strips_under_mouse_get(), proxy_endjob(), blender::ed::transform::query_snap_sources_preview(), blender::ed::transform::query_snap_sources_timeline(), blender::ed::transform::query_snap_targets_preview(), blender::ed::transform::query_snap_targets_timeline(), blender::ed::transform::recalcData_sequencer_retiming(), relations_check_scene_recursion(), relations_free_all_anim_ibufs(), relations_invalidate_compositor_modifiers(), relations_invalidate_scene_strips(), render_give_ibuf(), blender::ed::vse::retiming_key_add_to_editable_strips(), retiming_key_overlap(), blender::ed::vse::retiming_poll(), screen_ctx_selected_editable_strips(), screen_ctx_selected_strips(), screen_ctx_strips(), blender::ed::vse::segment_speed_set_exec(), select_active_get(), select_active_get_pair(), select_active_set(), blender::ed::vse::select_linked_internal(), blender::ed::vse::select_linked_time(), blender::ed::vse::select_more_less_impl(), blender::ed::vse::selected_strips_from_context(), blender::ed::vse::seq_box_select_strip_from_preview(), blender::ed::vse::seq_circle_select_strip_from_preview(), seq_edit_split_operation_permitted_check(), seq_get_snap_targets(), blender::ed::transform::seq_get_strip_pivot_median(), blender::ed::vse::seq_load_apply_generic_options(), blender::ed::vse::seq_load_apply_generic_options_only_test_overlap(), seq_meta_stack_alloc(), seq_prefetch_frames(), seq_prefetch_must_skip_frame(), seq_prefetch_scene_strip_is_rendered(), seq_prefetch_update_active_seqbase(), blender::ed::vse::seq_proxy_build_job(), seq_proxy_get_filepath(), blender::ed::transform::seq_transform_cancel(), seq_update_meta_disp_range(), blender::ed::vse::seq_view_collection_rect_timeline(), blender::ed::transform::seqbase_active_get(), blender::ed::transform::SeqTransInfo(), blender::ed::outliner::sequence_fn(), blender::ed::vse::sequencer_add_duplicate_exec(), sequencer_all_free_anim_ibufs(), blender::ed::vse::sequencer_box_select_exec(), blender::ed::vse::sequencer_clipboard_copy_exec(), blender::ed::vse::sequencer_connect_exec(), blender::ed::vse::sequencer_delete_exec(), blender::ed::vse::sequencer_disable_one_time_properties(), blender::ed::vse::sequencer_disconnect_exec(), blender::ed::vse::sequencer_edit_poll(), blender::ed::vse::sequencer_effect_poll(), blender::ed::vse::sequencer_enable_proxies_exec(), blender::ed::vse::sequencer_export_subtitles_exec(), blender::ed::vse::sequencer_gap_insert_exec(), blender::ed::vse::sequencer_gap_remove_exec(), blender::ed::vse::sequencer_lock_exec(), blender::ed::vse::sequencer_main_clamp_view(), blender::ed::vse::sequencer_main_cursor(), blender::ed::vse::sequencer_meta_make_exec(), blender::ed::vse::sequencer_meta_separate_exec(), blender::ed::vse::sequencer_meta_toggle_exec(), blender::ed::vse::sequencer_offset_clear_exec(), blender::ed::vse::sequencer_reassign_inputs_exec(), blender::ed::vse::sequencer_rebuild_proxy_exec(), blender::ed::vse::sequencer_refresh_all_exec(), blender::ed::vse::sequencer_reload_exec(), blender::ed::vse::sequencer_retiming_box_select_exec(), blender::ed::vse::sequencer_retiming_data_show_exec(), blender::ed::vse::sequencer_retiming_key_delete_exec(), blender::ed::vse::sequencer_retiming_key_select_exec(), blender::ed::vse::sequencer_retiming_mode_is_active(), blender::ed::vse::sequencer_retiming_reset_exec(), blender::ed::vse::sequencer_retiming_segment_speed_set_exec(), blender::ed::vse::sequencer_retiming_select_all_exec(), blender::ed::vse::sequencer_retiming_select_linked_time(), blender::ed::vse::sequencer_scene_frame_range_update_exec(), blender::ed::vse::sequencer_scene_frame_range_update_poll(), blender::ed::vse::sequencer_select_exec(), blender::ed::vse::sequencer_select_grouped_exec(), blender::ed::vse::sequencer_select_handle_exec(), blender::ed::vse::sequencer_select_handles_exec(), blender::ed::vse::sequencer_select_linked_handle(), blender::ed::vse::sequencer_select_side_exec(), blender::ed::vse::sequencer_select_side_of_frame(), blender::ed::vse::sequencer_select_side_of_frame_exec(), blender::ed::vse::sequencer_separate_images_exec(), blender::ed::vse::sequencer_set_range_to_strips_exec(), sequencer_skip_for_handle_tweak(), blender::ed::vse::sequencer_snap_exec(), blender::ed::vse::sequencer_split_exec(), blender::ed::vse::sequencer_strip_change_scene_poll(), blender::ed::vse::sequencer_strip_color_tag_set_exec(), blender::ed::vse::sequencer_strip_color_tag_set_poll(), blender::ed::vse::sequencer_strip_editable_poll(), blender::ed::vse::sequencer_strip_has_path_poll(), blender::ed::vse::sequencer_strip_is_text_poll(), blender::ed::vse::sequencer_strip_transform_clear_exec(), blender::ed::vse::sequencer_strip_transform_fit_exec(), blender::ed::vse::sequencer_swap_exec(), blender::ed::vse::sequencer_unlock_exec(), blender::ed::vse::sequencer_unmute_exec(), blender::ed::vse::sequencer_view_all_exec(), blender::ed::vse::sequencer_view_preview_only_poll(), blender::ed::vse::sequencer_visible_strips_get(), skip_fcurve_selected_data(), blender::ed::vse::slip_data_init(), blender::ed::transform::snap_data_build_timeline(), sound_pack_exec(), sound_poll(), sound_unpack_invoke(), blender::ed::vse::special_preview_set(), blender::ed::transform::store_transform_properties(), blender::ed::vse::strip_effect_get_new_inputs(), blender::ed::vse::strip_get_text_strip_cb(), strip_retiming_transition_offset(), blender::ed::vse::strip_select_from_preview(), blender::ed::vse::strip_speed_get(), blender::ed::vse::strip_speed_set_exec(), strip_transform_handle_overwrite(), time_find_next_prev_edit(), blender::ed::vse::timeline_draw_context_get(), transform_seqbase_shuffle_ex(), blender::ed::vse::transition_add_from_retiming_selection(), blender::ed::outliner::tree_element_strip_activate(), blender::ed::outliner::tree_element_strip_dup_activate(), blender::ed::outliner::tree_element_strip_state_get(), update_sequencer(), blender::ed::vse::vse_circle_select_exec(), and blender::ed::vse::vse_lasso_select_exec().

◆ effect_get_num_inputs()

◆ effect_handle_for_blend_mode_get()

◆ effect_handle_get()

◆ effect_text_font_load()

◆ effect_text_font_unload()

void blender::seq::effect_text_font_unload ( TextVars * data,
const bool do_id_user )

Definition at line 210 of file vse_effect_text.cc.

References data, id_us_min(), and strip_unload_font().

Referenced by free_text_effect().

◆ effects_can_render_text()

bool blender::seq::effects_can_render_text ( const Strip * strip)

◆ ensure_final_image_cache()

FinalImageCache * blender::seq::ensure_final_image_cache ( Scene * scene)
static

◆ ensure_linear_float_buffer()

◆ ensure_preview_cache()

PreviewCache * blender::seq::ensure_preview_cache ( Scene * scene)
static

◆ ensure_source_image_cache()

SourceImageCache * blender::seq::ensure_source_image_cache ( Scene * scene)
static

◆ ensure_thumbnail_cache()

ThumbnailCache * blender::seq::ensure_thumbnail_cache ( Scene * scene)
static

Definition at line 145 of file thumbnail_cache.cc.

References Scene::ed, Editing::runtime, and EditingRuntime::thumbnail_cache.

Referenced by thumbnail_cache_get().

◆ ensure_unique_name()

void blender::seq::ensure_unique_name ( Strip * strip,
Scene * scene )

Ensure, that provided Strip has unique name. If animation data exists for this Strip, it will be duplicated and mapped onto new name

Parameters
stripStrip which name will be ensured to be unique
sceneScene in which name must be unique

Definition at line 501 of file sequencer/intern/utils.cc.

References Scene::adt, BKE_animdata_fix_paths_rename(), Scene::ed, ensure_unique_name(), Scene::id, LISTBASE_FOREACH, name, Strip::name, Editing::seqbase, Strip::seqbase, STRIP_NAME_MAXSTR, STRIP_TYPE_META, strip_unique_name_set(), STRNCPY_UTF8, and Strip::type.

Referenced by edit_strip_split(), ensure_unique_name(), blender::ed::vse::sequencer_add_duplicate_exec(), blender::ed::vse::sequencer_change_effect_type_exec(), and blender::ed::vse::sequencer_clipboard_paste_exec().

◆ ENUM_OPERATORS()

blender::seq::ENUM_OPERATORS ( StripDuplicate ,
StripDuplicate::All  )

References All, depsgraph, and flag.

◆ eval_strips()

void blender::seq::eval_strips ( Depsgraph * depsgraph,
Scene * scene,
ListBase * seqbase )

Evaluate parts of strips which needs to be done as a part of a dependency graph evaluation. This does NOT include actual rendering of the strips, but rather makes them up-to-date for animation playback and makes them ready for the sequencer's rendering pipeline to render them.

Definition at line 1235 of file sequencer.cc.

References BKE_sound_ensure_scene(), DEG_debug_print_eval(), depsgraph, Scene::ed, edit_update_muting(), foreach_strip(), Scene::id, ID::name, sound_update_bounds_all(), and strip_sound_update_cb().

◆ evict_caches_if_full()

◆ exists_in_seqbase()

bool blender::seq::exists_in_seqbase ( const Strip * strip,
const ListBase * seqbase )

◆ extract_standalone_strips()

◆ fcurve_matches()

bool blender::seq::fcurve_matches ( const Strip & strip,
const FCurve & fcurve )

Return whether the fcurve targets the given strip.

Definition at line 36 of file animation.cc.

References blender::animrig::fcurve_matches_collection_path(), and Strip::name.

Referenced by blender::ed::vse::sequencer_copy_animation_listbase(), and blender::ed::vse::sequencer_copy_animation_to_vector().

◆ fill_rect_alpha_under()

void blender::seq::fill_rect_alpha_under ( const ImBuf * ibuf,
const float col[4],
int x1,
int y1,
int x2,
int y2,
float corner_radius )
static

◆ final_image_cache_calc_memory_size()

size_t blender::seq::final_image_cache_calc_memory_size ( const Scene * scene)

◆ final_image_cache_clear()

◆ final_image_cache_destroy()

void blender::seq::final_image_cache_destroy ( Scene * scene)

◆ final_image_cache_evict()

◆ final_image_cache_get()

ImBuf * blender::seq::final_image_cache_get ( Scene * scene,
float timeline_frame,
int view_id,
int display_channel )

◆ final_image_cache_get_image_count()

size_t blender::seq::final_image_cache_get_image_count ( const Scene * scene)

◆ final_image_cache_invalidate_frame_range()

void blender::seq::final_image_cache_invalidate_frame_range ( Scene * scene,
const float timeline_frame_start,
const float timeline_frame_end )

◆ final_image_cache_iterate()

void blender::seq::final_image_cache_iterate ( Scene * scene,
void * userdata,
void callback_itervoid *userdata, int timeline_frame )

◆ final_image_cache_put()

void blender::seq::final_image_cache_put ( Scene * scene,
float timeline_frame,
int view_id,
int display_channel,
ImBuf * image )

◆ find_slot()

◆ fontmap_clear()

void blender::seq::fontmap_clear ( )

Definition at line 74 of file vse_effect_text.cc.

References BLF_unload_id(), and g_font_map.

Referenced by BKE_blender_free().

◆ foreach_strip() [1/2]

void blender::seq::foreach_strip ( ListBase * seqbase,
blender::FunctionRef< bool(Strip *)> callback )

Same as above, but using a more modern FunctionRef as callback.

Definition at line 64 of file iterator.cc.

References strip_for_each_recursive().

◆ foreach_strip() [2/2]

void blender::seq::foreach_strip ( ListBase * seqbase,
ForEachFunc callback,
void * user_data )

Utility function to recursively iterate through all sequence strips in a seqbase list. Uses callback to do operations on each element. The callback can stop the iteration if needed.

Parameters
seqbaseListBase of sequences to be iterated over.
callbackquery function callback, returns false if iteration should stop.
user_datapointer to user data that can be used in the callback function.

Definition at line 59 of file iterator.cc.

References strip_for_each_recursive().

Referenced by animdata_filter_dopesheet_scene(), blend_read(), blend_write(), blo_do_versions_250(), blo_do_versions_260(), blo_do_versions_270(), blo_do_versions_280(), blo_do_versions_300(), blo_do_versions_410(), blo_do_versions_420(), blo_do_versions_440(), blo_do_versions_500(), blo_do_versions_pre250(), blender::deg::DepsgraphNodeBuilder::build_scene_sequencer(), blender::deg::DepsgraphRelationBuilder::build_scene_sequencer(), do_versions_after_linking_300(), do_versions_after_linking_400(), doversion_250_sound_proxy_update(), eval_strips(), IMB_colormanagement_check_file_config(), blender::deg::SequencerBackup::init_from_scene(), relations_check_uids_unique_and_report(), blender::deg::SequencerBackup::restore_to_scene(), scene_foreach_id(), scene_foreach_path(), seq_update_scene_strip_sound(), blender::ed::vse::sequencer_export_subtitles_exec(), sequencer_substitute_transform_effects(), sound_update_animation_flags(), strip_unique_name_set(), version_seq_text_from_legacy(), version_sequencer_update_overdrop(), and version_system_idprops_generate().

◆ foreach_strip_modifier_id()

void blender::seq::foreach_strip_modifier_id ( Strip * strip,
const FunctionRef< void(ID *)> fn )

◆ free_animdata()

void blender::seq::free_animdata ( Scene * scene,
Strip * strip )

◆ free_effect_default()

void blender::seq::free_effect_default ( Strip * strip,
const bool  )
static

Definition at line 383 of file vse_effect_blend.cc.

References Strip::effectdata, and MEM_SAFE_FREE.

Referenced by color_mix_effect_get_handle().

◆ free_gaussian_blur_effect()

void blender::seq::free_gaussian_blur_effect ( Strip * strip,
const bool  )
static

Definition at line 39 of file vse_effect_gaussian_blur.cc.

References Strip::effectdata, and MEM_SAFE_FREE.

Referenced by gaussian_blur_effect_get_handle().

◆ free_glow_effect()

void blender::seq::free_glow_effect ( Strip * strip,
const bool  )
static

Definition at line 149 of file vse_effect_glow.cc.

References Strip::effectdata, and MEM_SAFE_FREE.

Referenced by glow_effect_get_handle().

◆ free_noop()

void blender::seq::free_noop ( Strip * ,
const bool  )
static

Definition at line 105 of file effects.cc.

Referenced by effect_handle_for_blend_mode_get(), and effect_handle_get().

◆ free_solid_color()

void blender::seq::free_solid_color ( Strip * strip,
const bool  )
static

Definition at line 37 of file vse_effect_solid_color.cc.

References Strip::effectdata, and MEM_SAFE_FREE.

Referenced by solid_color_effect_get_handle().

◆ free_speed_effect()

void blender::seq::free_speed_effect ( Strip * strip,
const bool  )
static

Definition at line 52 of file vse_effect_speed.cc.

References Strip::effectdata, MEM_freeN(), MEM_SAFE_FREE, and v.

Referenced by speed_effect_get_handle().

◆ free_strip_proxy()

void blender::seq::free_strip_proxy ( Strip * strip)

Definition at line 636 of file proxy.cc.

References StripProxy::anim, Strip::data, MOV_close(), and StripData::proxy.

Referenced by add_reload_new_file().

◆ free_text_effect()

void blender::seq::free_text_effect ( Strip * strip,
const bool do_id_user )
static

◆ free_wipe_effect()

void blender::seq::free_wipe_effect ( Strip * strip,
const bool  )
static

Definition at line 173 of file vse_effect_wipe.cc.

References Strip::effectdata, and MEM_SAFE_FREE.

Referenced by wipe_effect_get_handle().

◆ freeze_key_pair_create()

◆ gamma_cross_effect_get_handle()

◆ gammaCorrect()

float blender::seq::gammaCorrect ( float c)
static

Definition at line 67 of file vse_effect_cross.cc.

References UNLIKELY.

Referenced by blender::seq::GammaCrossEffectOp::apply().

◆ gaussian_blur_effect_get_handle()

◆ gaussian_blur_x()

template<typename T>
void blender::seq::gaussian_blur_x ( const Span< float > gaussian,
int half_size,
int start_line,
int width,
int height,
int ,
const T * rect,
T * dst )
static

◆ gaussian_blur_y()

template<typename T>
void blender::seq::gaussian_blur_y ( const Span< float > gaussian,
int half_size,
int start_line,
int width,
int height,
int frame_height,
const T * rect,
T * dst )
static

◆ get_auto_filter()

eIMBInterpolationFilterMode blender::seq::get_auto_filter ( const StripTransform * transform)
static

◆ get_channels_by_strip()

ListBase * blender::seq::get_channels_by_strip ( Editing * ed,
const Strip * strip )

Definition at line 86 of file channels.cc.

References Strip::channels, and lookup_meta_by_strip().

Referenced by do_adjustment_impl(), and do_multicam().

◆ get_default_fac_fade()

void blender::seq::get_default_fac_fade ( const Scene * scene,
const Strip * strip,
float timeline_frame,
float * fac )

◆ get_default_fac_noop()

void blender::seq::get_default_fac_noop ( const Scene * ,
const Strip * ,
float ,
float * fac )
static

Definition at line 144 of file effects.cc.

Referenced by effect_handle_for_blend_mode_get(), and effect_handle_get().

◆ get_default_stripname_by_type()

◆ get_depsgraph_for_scene_strip()

Depsgraph * blender::seq::get_depsgraph_for_scene_strip ( Main * bmain,
Scene * scene,
ViewLayer * view_layer )
static

◆ get_media_presence_cache()

MediaPresence * blender::seq::get_media_presence_cache ( Scene * scene)
static

◆ get_original_context()

RenderData * blender::seq::get_original_context ( const RenderData * context)
static

◆ get_path_from_strip()

std::string blender::seq::get_path_from_strip ( Scene * scene,
const Strip * strip,
float timeline_frame )
static

◆ get_render_scale_factor() [1/2]

float blender::seq::get_render_scale_factor ( const RenderData & context)

Definition at line 2124 of file render.cc.

References get_render_scale_factor().

◆ get_render_scale_factor() [2/2]

float blender::seq::get_render_scale_factor ( eSpaceSeq_Proxy_RenderSize render_size,
short scene_render_scale )

Calculate render scale factor relative to full size. This can be due to render scale setting in output settings, or preview proxy size.

Definition at line 2118 of file render.cc.

References rendersize_to_scale_factor(), and SEQ_RENDER_SIZE_SCENE.

Referenced by do_gaussian_blur_effect(), get_render_scale_factor(), get_strip_screen_quad(), input_preprocess(), blender::ed::vse::sequencer_ibuf_get(), and text_effect_line_size_get().

◆ get_seqbase_by_strip()

ListBase * blender::seq::get_seqbase_by_strip ( const Scene * scene,
Strip * strip )

In cases where we don't know the strip's listbase.

Definition at line 368 of file sequencer/intern/utils.cc.

References BLI_findindex(), editing_get(), lookup_meta_by_strip(), and Strip::seqbase.

Referenced by do_adjustment_impl(), do_multicam(), and edit_move_strip_to_meta().

◆ get_seqbase_from_strip()

ListBase * blender::seq::get_seqbase_from_strip ( Strip * strip,
ListBase ** r_channels,
int * r_offset )

◆ get_strip_by_name()

Strip * blender::seq::get_strip_by_name ( ListBase * seqbase,
const char * name,
bool recursive )

◆ get_strip_modifier_expand_flag()

short blender::seq::get_strip_modifier_expand_flag ( const bContext * ,
Panel * panel )
static

◆ get_strip_screen_quad()

StripScreenQuad blender::seq::get_strip_screen_quad ( const RenderData * context,
const Strip * strip )

◆ get_uids_cb()

bool blender::seq::get_uids_cb ( Strip * strip,
void * user_data )
static

◆ give_cache_frame_index()

float blender::seq::give_cache_frame_index ( const Scene * scene,
const Strip * strip,
float timeline_frame )
static

◆ give_frame_index()

◆ glow_blur_bitmap()

void blender::seq::glow_blur_bitmap ( const float4 * src,
float4 * map,
int width,
int height,
float blur,
int quality )
static

◆ glow_effect_get_handle()

◆ horizontal_alignment_offset_get()

float2 blender::seq::horizontal_alignment_offset_get ( const TextVars * data,
float line_width,
int width_max )
static

◆ hue_correct_apply()

void blender::seq::hue_correct_apply ( ModifierApplyContext & context,
StripModifierData * smd,
ImBuf * mask )
static

◆ hue_correct_copy_data()

void blender::seq::hue_correct_copy_data ( StripModifierData * target,
StripModifierData * smd )
static

◆ hue_correct_free_data()

void blender::seq::hue_correct_free_data ( StripModifierData * smd)
static

◆ hue_correct_init_data()

◆ hue_correct_panel_draw()

void blender::seq::hue_correct_panel_draw ( const bContext * C,
Panel * panel )
static

◆ hue_correct_read()

void blender::seq::hue_correct_read ( BlendDataReader * reader,
StripModifierData * smd )
static

◆ hue_correct_register()

void blender::seq::hue_correct_register ( ARegionType * region_type)
static

◆ hue_correct_write()

void blender::seq::hue_correct_write ( BlendWriter * writer,
const StripModifierData * smd )
static

◆ image_preview_unit_from_px()

blender::float2 blender::seq::image_preview_unit_from_px ( const Scene * scene,
const float2 co_src )

Definition at line 745 of file strip_transform.cc.

References Scene::r.

Referenced by blender::ed::vse::sequencer_set_2d_cursor_exec().

◆ image_preview_unit_to_px()

◆ image_size_to_thumb_size()

void blender::seq::image_size_to_thumb_size ( int & r_width,
int & r_height )
static

Definition at line 198 of file thumbnail_cache.cc.

References float, round_fl_to_int(), and THUMB_SIZE.

Referenced by scale_to_thumbnail_size().

◆ image_transform_bounding_box_from_collection()

blender::Bounds< blender::float2 > blender::seq::image_transform_bounding_box_from_collection ( Scene * scene,
blender::Span< Strip * > strips,
bool apply_rotation )

Get viewport axis aligned bounding box from a collection of sequences. The collection must have one or more strips

Parameters
sceneScene in which strips are located
stripsCollection of strips to get the bounding box from
apply_rotationInclude strip rotation transform in the bounding box calculation
r_minMinimum x and y values
r_maxMaximum x and y values

Definition at line 755 of file strip_transform.cc.

References image_transform_quad_get(), blender::bounds::merge(), blender::bounds::min_max(), negative_bounds(), and quad.

Referenced by blender::ed::transform::gizmo2d_calc_bounds(), and blender::ed::vse::seq_view_collection_rect_preview().

◆ image_transform_final_quad_get()

blender::Array< blender::float2 > blender::seq::image_transform_final_quad_get ( const Scene * scene,
const Strip * strip )

Get 4 corner points of strip image. Corner vectors are in viewport space. Indices correspond to following corners (assuming no rotation): 3–0 | | 2–1

Parameters
sceneScene in which strips are located
stripStrip to calculate transformed image quad
Returns
array of 4 2D vectors

Definition at line 735 of file strip_transform.cc.

References strip_image_transform_quad_get_ex().

Referenced by blender::ed::transform::calculate_translation_offset(), get_strip_screen_quad(), blender::ed::transform::points_build_3x3_grid(), blender::ed::transform::points_build_sources_preview_image(), blender::ed::transform::points_build_targets_preview_image(), blender::ed::transform::store_transform_properties(), blender::ed::vse::strip_box_select_rect_image_isect(), blender::ed::vse::strip_draw_image_origin_and_outline(), and blender::ed::vse::strip_point_image_isect().

◆ image_transform_matrix_get()

blender::float3x3 blender::seq::image_transform_matrix_get ( const Scene * scene,
const Strip * strip )

Get strip image transformation matrix. Pivot point is set to correspond with viewport coordinate system

Parameters
sceneScene in which strips are located
stripStrip that is used to construct the matrix

Definition at line 697 of file strip_transform.cc.

References seq_image_transform_matrix_get_ex().

Referenced by blender::seq::CompositorContext::CompositorContext(), blender::ed::vse::cursor_set_by_mouse_position(), blender::ed::transform::store_transform_properties(), blender::ed::vse::text_edit_draw_cursor(), and blender::ed::vse::text_selection_draw().

◆ image_transform_mirror_factor_get()

◆ image_transform_origin_get()

float2 blender::seq::image_transform_origin_get ( const Scene * scene,
const Strip * strip )

Get strip transform origin relative value. This function is mainly needed to recalculate text strip origin position.

Parameters
render_sizeSize of image canvas in pixels
stripStrip to calculate origin for

Definition at line 646 of file strip_transform.cc.

References Strip::data, Scene::r, STRIP_TYPE_TEXT, StripData::transform, transform(), transform_image_raw_size_get(), and Strip::type.

Referenced by calc_strip_transform_matrix().

◆ image_transform_origin_offset_pixelspace_get()

◆ image_transform_quad_get()

blender::Array< blender::float2 > blender::seq::image_transform_quad_get ( const Scene * scene,
const Strip * strip,
bool apply_rotation )

Get 4 corner points of strip image, optionally without rotation component applied. Corner vectors are in viewport space.

Parameters
sceneScene in which strips are located
stripStrip to calculate transformed image quad
apply_rotationApply strip rotation transform to the quad
Returns
array of 4 2D vectors

Definition at line 730 of file strip_transform.cc.

References strip_image_transform_quad_get_ex().

Referenced by image_transform_bounding_box_from_collection().

◆ index_dir_set()

void blender::seq::index_dir_set ( Editing * ed,
Strip * strip,
StripAnim * sanim )
static

◆ init_alpha_over_or_under()

void blender::seq::init_alpha_over_or_under ( Strip * strip)
static

Definition at line 24 of file vse_effect_blend.cc.

References Strip::input1, and Strip::input2.

Referenced by alpha_over_effect_get_handle(), and alpha_under_effect_get_handle().

◆ init_colormix_effect()

void blender::seq::init_colormix_effect ( Strip * strip)
static

◆ init_gaussian_blur_effect()

void blender::seq::init_gaussian_blur_effect ( Strip * strip)
static

◆ init_glow_effect()

void blender::seq::init_glow_effect ( Strip * strip)
static

◆ init_noop()

void blender::seq::init_noop ( Strip * )
static

Definition at line 101 of file effects.cc.

Referenced by effect_handle_for_blend_mode_get(), and effect_handle_get().

◆ init_solid_color()

void blender::seq::init_solid_color ( Strip * strip)
static

◆ init_speed_effect()

void blender::seq::init_speed_effect ( Strip * strip)
static

Definition at line 26 of file vse_effect_speed.cc.

References Strip::effectdata, MEM_callocN(), MEM_freeN(), SEQ_SPEED_STRETCH, and v.

Referenced by speed_effect_get_handle().

◆ init_text_effect()

void blender::seq::init_text_effect ( Strip * strip)
static

◆ init_wipe_effect()

void blender::seq::init_wipe_effect ( Strip * strip)
static

Definition at line 159 of file vse_effect_wipe.cc.

References Strip::effectdata, MEM_callocN(), and MEM_freeN().

Referenced by wipe_effect_get_handle().

◆ initialize_shadow_alpha()

void blender::seq::initialize_shadow_alpha ( int width,
int height,
int2 offset,
const rcti & shadow_rect,
const uchar * input,
Array< uchar > & r_shadow_mask )
static

◆ input_preprocess()

◆ intra_frame_cache_destroy()

void blender::seq::intra_frame_cache_destroy ( Scene * scene)

◆ intra_frame_cache_get_composite()

ImBuf * blender::seq::intra_frame_cache_get_composite ( Scene * scene,
const Strip * strip )

◆ intra_frame_cache_get_preprocessed()

ImBuf * blender::seq::intra_frame_cache_get_preprocessed ( Scene * scene,
const Strip * strip )

◆ intra_frame_cache_invalidate() [1/2]

◆ intra_frame_cache_invalidate() [2/2]

void blender::seq::intra_frame_cache_invalidate ( Scene * scene,
const Strip * strip )

◆ intra_frame_cache_put_composite()

void blender::seq::intra_frame_cache_put_composite ( Scene * scene,
const Strip * strip,
ImBuf * image )

◆ intra_frame_cache_put_preprocessed()

void blender::seq::intra_frame_cache_put_preprocessed ( Scene * scene,
const Strip * strip,
ImBuf * image )

◆ intra_frame_cache_set_cur_frame()

◆ invalidate_final_cache_strip_range()

void blender::seq::invalidate_final_cache_strip_range ( Scene * scene,
const Strip * strip )
static

◆ invalidate_movieclip_strips()

void blender::seq::invalidate_movieclip_strips ( Scene * scene,
MovieClip * clip_target,
ListBase * seqbase )
static

◆ invalidate_raw_cache_of_parent_meta()

void blender::seq::invalidate_raw_cache_of_parent_meta ( Scene * scene,
Strip * strip )
static

◆ invGammaCorrect()

float blender::seq::invGammaCorrect ( float c)
static

Definition at line 75 of file vse_effect_cross.cc.

References sqrtf_signed().

Referenced by blender::seq::GammaCrossEffectOp::apply().

◆ is_cache_full()

bool blender::seq::is_cache_full ( const Scene * scene)

◆ is_linear_float_buffer()

bool blender::seq::is_linear_float_buffer ( ImBuf * image_buffer)
static

◆ is_opaque_alpha_over()

◆ is_quad_a_inside_b()

◆ is_strip_connected()

◆ is_strip_covering_screen()

bool blender::seq::is_strip_covering_screen ( const RenderData * context,
const Strip * strip )
static

Definition at line 492 of file render.cc.

References float, get_strip_screen_quad(), is_quad_a_inside_b(), and quad.

Referenced by sequencer_preprocess_transform_crop().

◆ is_valid_strip_channel()

bool blender::seq::is_valid_strip_channel ( const Strip * strip)

Definition at line 836 of file sequencer.cc.

References Strip::channel, and MAX_CHANNELS.

Referenced by link_recurs_seq().

◆ iterator_set_expand()

void blender::seq::iterator_set_expand ( const Scene * scene,
ListBase * seqbase,
blender::VectorSet< Strip * > & strips,
void strip_query_funcconst Scene *scene, Strip *strip_reference, ListBase *seqbase, blender::VectorSet< Strip * > &strips )

◆ jump_flooding_pass()

void blender::seq::jump_flooding_pass ( Span< JFACoord > input,
MutableSpan< JFACoord > output,
int2 size,
IndexRange x_range,
IndexRange y_range,
int step_size )
static

◆ load_noop()

void blender::seq::load_noop ( Strip * )
static

Definition at line 103 of file effects.cc.

Referenced by effect_handle_for_blend_mode_get(), and effect_handle_get().

◆ load_pixel_premul() [1/2]

float4 blender::seq::load_pixel_premul ( const float * ptr)

Definition at line 260 of file sequencer/intern/modifiers/modifier.cc.

References ptr.

◆ load_pixel_premul() [2/2]

◆ load_pixel_raw() [1/2]

float4 blender::seq::load_pixel_raw ( const float * ptr)

Definition at line 282 of file sequencer/intern/modifiers/modifier.cc.

References ptr.

◆ load_pixel_raw() [2/2]

float4 blender::seq::load_pixel_raw ( const uchar * ptr)

◆ load_premul_pixel() [1/2]

blender::float4 blender::seq::load_premul_pixel ( const float * ptr)
inline

Definition at line 55 of file effects.hh.

References ptr.

◆ load_premul_pixel() [2/2]

◆ load_speed_effect()

void blender::seq::load_speed_effect ( Strip * strip)
static

Definition at line 41 of file vse_effect_speed.cc.

References Strip::effectdata, and v.

Referenced by speed_effect_get_handle().

◆ load_text_effect()

void blender::seq::load_text_effect ( Strip * strip)
static

Definition at line 275 of file vse_effect_text.cc.

References data, effect_text_font_load(), and Strip::effectdata.

Referenced by text_effect_get_handle().

◆ lookup_meta_by_strip()

Strip * blender::seq::lookup_meta_by_strip ( Editing * ed,
const Strip * key )

◆ lookup_strip_by_channel_owner()

Strip * blender::seq::lookup_strip_by_channel_owner ( Editing * ed,
const SeqTimelineChannel * channel )

Find which meta strip the given timeline channel belongs to. Returns nullptr if it is a global channel.

Definition at line 213 of file strip_lookup.cc.

References BLI_assert, lock, lookup_lock, and strip_lookup_update_if_needed().

◆ lookup_strip_by_name()

Strip * blender::seq::lookup_strip_by_name ( Editing * ed,
const char * key )

Find a strip with a given name. If lookup hash doesn't exist, it will be created. If hash is tagged as invalid, it will be rebuilt.

Parameters
edEditing that owns lookup hash
keyStrip name without SQ prefix (strip->name + 2)
Returns
pointer to Strip

Definition at line 154 of file strip_lookup.cc.

References BLI_assert, lock, lookup_lock, and strip_lookup_update_if_needed().

◆ lookup_strips_by_compositor_node_group()

Span< Strip * > blender::seq::lookup_strips_by_compositor_node_group ( Editing * ed,
const bNodeTree * key )

Find all strips using provided compositor node tree as a modifier

Parameters
edEditing that owns lookup hash
keyNode tree pointer
Returns
Span of strips

Definition at line 182 of file strip_lookup.cc.

References blender::VectorSet< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::as_span(), BLI_assert, lock, lookup_lock, NTREE_COMPOSIT, strip_lookup_update_if_needed(), and bNodeTree::type.

Referenced by relations_invalidate_compositor_modifiers().

◆ lookup_strips_by_scene()

Span< Strip * > blender::seq::lookup_strips_by_scene ( Editing * ed,
const Scene * key )

Find a strips using provided scene as input

Parameters
edEditing that owns lookup hash
keyInput Scene pointer
Returns
Span of strips

Definition at line 163 of file strip_lookup.cc.

References blender::VectorSet< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::as_span(), BLI_assert, lock, lookup_lock, and strip_lookup_update_if_needed().

Referenced by relations_invalidate_scene_strips().

◆ lookup_strips_by_scene_map_get()

Map< const Scene *, VectorSet< Strip * > > & blender::seq::lookup_strips_by_scene_map_get ( Editing * ed)

Returns Map of scenes to scene strips

Parameters
edEditing that owns lookup hash

Definition at line 173 of file strip_lookup.cc.

References BLI_assert, lock, lookup_lock, and strip_lookup_update_if_needed().

Referenced by query_scene_strips().

◆ make_cb_table_lgg()

void blender::seq::make_cb_table_lgg ( float lift,
float gain,
float gamma,
float mul,
float r_table[CB_TABLE_SIZE] )
static

Definition at line 62 of file MOD_color_balance.cc.

References CB_TABLE_SIZE, color_balance_lgg(), float, i, mul(), and x.

Referenced by blender::seq::ColorBalanceApplyOp::init().

◆ make_cb_table_sop()

void blender::seq::make_cb_table_sop ( float slope,
float offset,
float power,
float mul,
float r_table[CB_TABLE_SIZE] )
static

Definition at line 71 of file MOD_color_balance.cc.

References CB_TABLE_SIZE, color_balance_sop(), float, i, mul(), power(), and x.

Referenced by blender::seq::ColorBalanceApplyOp::init().

◆ make_gaussian_blur_kernel()

blender::Array< float > blender::seq::make_gaussian_blur_kernel ( float rad,
int size )

Definition at line 80 of file effects.cc.

References i, R_FILTER_GAUSS, RE_filter_value(), size(), and sum().

Referenced by do_gaussian_blur_effect(), and draw_text_shadow().

◆ make_thumb_for_image()

ImBuf * blender::seq::make_thumb_for_image ( const Scene * scene,
const ThumbnailCache::Request & request )
static

◆ maskmodifier_apply()

void blender::seq::maskmodifier_apply ( ModifierApplyContext & context,
StripModifierData * ,
ImBuf * mask )
static

◆ maskmodifier_panel_draw()

void blender::seq::maskmodifier_panel_draw ( const bContext * C,
Panel * panel )
static

◆ maskmodifier_register()

void blender::seq::maskmodifier_register ( ARegionType * region_type)
static

◆ media_presence_free()

void blender::seq::media_presence_free ( Scene * scene)

Free media presence cache, if it was created.

Definition at line 171 of file media_presence.cc.

References Scene::ed, lock, EditingRuntime::media_presence, presence_lock, and Editing::runtime.

Referenced by editing_free(), and blender::ed::vse::sequencer_refresh_all_exec().

◆ media_presence_invalidate_sound()

void blender::seq::media_presence_invalidate_sound ( Scene * scene,
const bSound * sound )

◆ media_presence_invalidate_strip()

void blender::seq::media_presence_invalidate_strip ( Scene * scene,
const Strip * strip )

◆ media_presence_is_missing()

bool blender::seq::media_presence_is_missing ( Scene * scene,
const Strip * strip )

Check whether a sequence strip has missing media. Results of the query for this strip will be cached into MediaPresence cache. The cache will be created on demand.

Parameters
sceneScene to query.
stripSequencer strip.
Returns
True if media file is missing.

Definition at line 95 of file media_presence.cc.

References Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add_new(), check_media_missing(), check_sound_media_missing(), Scene::ed, get_media_presence_cache(), lock, Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::lookup_ptr(), blender::seq::MediaPresence::map_seq, blender::seq::MediaPresence::map_sound, presence_lock, Strip::sound, STRIP_TYPE_SOUND_RAM, and Strip::type.

Referenced by skip_modifier().

◆ media_presence_set_missing()

void blender::seq::media_presence_set_missing ( Scene * scene,
const Strip * strip,
bool missing )

◆ meta_stack_active_get()

MetaStack * blender::seq::meta_stack_active_get ( const Editing * ed)

◆ meta_stack_pop()

Strip * blender::seq::meta_stack_pop ( Editing * ed)

Close last Meta strip open for editing.

Parameters
edsequence editor data

Definition at line 484 of file sequencer.cc.

References BLI_remlink(), MEM_freeN(), meta_stack_active_get(), MetaStack::old_strip, and MetaStack::parent_strip.

Referenced by blender::ed::vse::sequencer_meta_toggle_exec().

◆ meta_stack_set()

void blender::seq::meta_stack_set ( const Scene * scene,
Strip * dst )

Open Meta strip content for editing.

Parameters
edsequence editor data
dstmeta strip or NULL for top level view

Definition at line 463 of file sequencer.cc.

References BLI_freelistN(), editing_get(), lookup_meta_by_strip(), and seq_meta_stack_alloc().

Referenced by blender::ed::vse::sequencer_meta_toggle_exec(), and sequencer_remove_listbase_pointers().

◆ metastrip_end_get()

int blender::seq::metastrip_end_get ( Strip * strip_meta)
static

◆ metastrip_start_get()

int blender::seq::metastrip_start_get ( Strip * strip_meta)
static

◆ modifier_apply_stack()

◆ modifier_blend_read_data()

void blender::seq::modifier_blend_read_data ( BlendDataReader * reader,
ListBase * lb )

◆ modifier_blend_write()

◆ modifier_clear()

void blender::seq::modifier_clear ( Strip * strip)

◆ modifier_copy()

◆ modifier_find_by_name()

◆ modifier_free()

◆ modifier_get_active()

◆ modifier_has_persistent_uid()

bool blender::seq::modifier_has_persistent_uid ( const Strip & strip,
int uid )
static

◆ modifier_list_copy()

void blender::seq::modifier_list_copy ( Strip * strip_new,
Strip * strip )

◆ modifier_move_to_index()

bool blender::seq::modifier_move_to_index ( Strip * strip,
StripModifierData * smd,
const int new_index )

◆ modifier_new()

◆ modifier_panel_header()

◆ modifier_panel_register()

◆ modifier_persistent_uid_init()

◆ modifier_persistent_uids_are_valid()

◆ modifier_remove()

bool blender::seq::modifier_remove ( Strip * strip,
StripModifierData * smd )

◆ modifier_render_mask_input()

ImBuf * blender::seq::modifier_render_mask_input ( const RenderData & context,
SeqRenderState & state,
int mask_input_type,
Strip * mask_strip,
Mask * mask_id,
int timeline_frame,
int fra_offset )
static

timeline_frame is offset by fra_offset only in case we are using a real mask.

Definition at line 300 of file sequencer/intern/modifiers/modifier.cc.

References seq_render_mask(), seq_render_strip(), state, STRIP_MASK_INPUT_ID, and STRIP_MASK_INPUT_STRIP.

Referenced by modifier_apply_stack().

◆ modifier_reorder()

void blender::seq::modifier_reorder ( bContext * C,
Panel * panel,
const int new_index )
static

◆ modifier_set_active()

◆ modifier_type_info_get()

◆ modifier_type_panel_id()

◆ modifier_types_init()

void blender::seq::modifier_types_init ( StripModifierTypeInfo * types[])
static

Definition at line 337 of file sequencer/intern/modifiers/modifier.cc.

References INIT_TYPE, None, and types.

Referenced by modifiers_init().

◆ modifier_ui_poll()

bool blender::seq::modifier_ui_poll ( const bContext * C,
PanelType *  )

◆ modifier_unique_name()

◆ modifiers_init()

void blender::seq::modifiers_init ( )

◆ mul_effect_get_handle()

◆ multi_camera_effect_get_handle()

◆ multiply_ibuf()

void blender::seq::multiply_ibuf ( ImBuf * ibuf,
const float fmul,
const bool multiply_alpha )
static

◆ must_render_strip()

bool blender::seq::must_render_strip ( const VectorSet< Strip * > & strips,
Strip * strip )

◆ must_update_strip_sound()

bool blender::seq::must_update_strip_sound ( Scene * scene,
Strip * strip )
static

◆ negative_bounds()

Bounds< float2 > blender::seq::negative_bounds ( )
static

Definition at line 750 of file strip_transform.cc.

Referenced by image_transform_bounding_box_from_collection().

◆ num_inputs_adjustment()

int blender::seq::num_inputs_adjustment ( )
static

Definition at line 24 of file vse_effect_adjustment.cc.

Referenced by adjustment_effect_get_handle().

◆ num_inputs_color()

int blender::seq::num_inputs_color ( )
static

Definition at line 32 of file vse_effect_solid_color.cc.

Referenced by solid_color_effect_get_handle().

◆ num_inputs_default()

int blender::seq::num_inputs_default ( )
static

Definition at line 107 of file effects.cc.

Referenced by effect_handle_for_blend_mode_get(), and effect_handle_get().

◆ num_inputs_gaussian_blur()

int blender::seq::num_inputs_gaussian_blur ( )
static

Definition at line 34 of file vse_effect_gaussian_blur.cc.

Referenced by gaussian_blur_effect_get_handle().

◆ num_inputs_glow()

int blender::seq::num_inputs_glow ( )
static

Definition at line 144 of file vse_effect_glow.cc.

Referenced by glow_effect_get_handle().

◆ num_inputs_multicam()

int blender::seq::num_inputs_multicam ( )
static

Definition at line 22 of file vse_effect_multi_camera.cc.

Referenced by multi_camera_effect_get_handle().

◆ num_inputs_speed()

int blender::seq::num_inputs_speed ( )
static

Definition at line 47 of file vse_effect_speed.cc.

Referenced by speed_effect_get_handle().

◆ num_inputs_text()

int blender::seq::num_inputs_text ( )
static

Definition at line 292 of file vse_effect_text.cc.

Referenced by text_effect_get_handle().

◆ num_inputs_wipe()

int blender::seq::num_inputs_wipe ( )
static

Definition at line 168 of file vse_effect_wipe.cc.

Referenced by wipe_effect_get_handle().

◆ offset_animdata()

◆ open_anim_file_multiview()

◆ open_anim_filepath()

void blender::seq::open_anim_filepath ( Strip * strip,
StripAnim * sanim,
const char * filepath,
bool openfile )
static

◆ original_strip_get() [1/2]

Strip * blender::seq::original_strip_get ( const Strip * strip,
ListBase * seqbase )
static

◆ original_strip_get() [2/2]

Strip * blender::seq::original_strip_get ( const Strip * strip,
Scene * scene )
static

Definition at line 149 of file prefetch.cc.

References Scene::ed, and original_strip_get().

◆ overlap_description_get()

eOvelapDescrition blender::seq::overlap_description_get ( const Scene * scene,
const Strip * transformed,
const Strip * target )
static

◆ pixels_to_scene_linear_byte()

void blender::seq::pixels_to_scene_linear_byte ( const ColorSpace * colorspace,
const uchar * pixels,
float4 * dst,
int64_t count )
static

◆ pixels_to_scene_linear_float()

void blender::seq::pixels_to_scene_linear_float ( const ColorSpace * colorspace,
float4 * pixels,
int64_t count )
static

Definition at line 53 of file MOD_tonemap.cc.

References count, and IMB_colormanagement_colorspace_to_scene_linear().

◆ prefetch_get_original_scene()

Scene * blender::seq::prefetch_get_original_scene ( const RenderData * context)

◆ prefetch_get_original_scene_and_strip()

Scene * blender::seq::prefetch_get_original_scene_and_strip ( const RenderData * context,
const Strip *& strip )

Definition at line 173 of file prefetch.cc.

References get_original_context(), and original_strip_get().

Referenced by source_image_cache_get(), and source_image_cache_put().

◆ prefetch_need_redraw()

◆ prefetch_stop()

◆ prefetch_stop_all()

void blender::seq::prefetch_stop_all ( )

Definition at line 300 of file prefetch.cc.

References G, and prefetch_stop().

Referenced by WM_jobs_kill_all(), and wm_set_working_color_space_exec().

◆ prepare_effect_imbufs()

◆ preview_cache_destroy()

void blender::seq::preview_cache_destroy ( Scene * scene)

◆ preview_cache_get_gpu_display_texture()

◆ preview_cache_get_gpu_texture()

◆ preview_cache_invalidate()

void blender::seq::preview_cache_invalidate ( Scene * scene)

◆ preview_cache_set_gpu_display_texture()

◆ preview_cache_set_gpu_texture()

◆ proxy_dir_get()

void blender::seq::proxy_dir_get ( Editing * ed,
Strip * strip,
char r_proxy_dirpath[FILE_MAX] )
static

◆ proxy_endjob()

◆ proxy_freejob()

void blender::seq::proxy_freejob ( void * pjv)
static

Definition at line 29 of file proxy_job.cc.

References BLI_freelistN(), MEM_freeN(), and blender::seq::ProxyJob::queue.

Referenced by ED_seq_proxy_job_get().

◆ proxy_rebuild()

◆ proxy_rebuild_context()

◆ proxy_rebuild_finish()

void blender::seq::proxy_rebuild_finish ( IndexBuildContext * context,
bool stop )

◆ proxy_set()

void blender::seq::proxy_set ( Strip * strip,
bool value )

◆ proxy_startjob()

void blender::seq::proxy_startjob ( void * pjv,
wmJobWorkerStatus * worker_status )
static

◆ query_all_strips()

blender::VectorSet< Strip * > blender::seq::query_all_strips ( ListBase * seqbase)

Query all strips in seqbase. This does not include strips nested in meta strips.

Parameters
seqbaseListBase in which strips are queried
Returns
set of strips

Definition at line 143 of file iterator.cc.

References blender::VectorSet< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add(), and LISTBASE_FOREACH.

Referenced by blender::ed::vse::all_strips_from_context(), blender::ed::vse::deselect_all_strips(), seq_get_snap_targets(), seq_time_gap_info_get(), and blender::ed::vse::sequencer_clipboard_paste_exec().

◆ query_all_strips_recursive() [1/2]

blender::VectorSet< Strip * > blender::seq::query_all_strips_recursive ( const ListBase * seqbase)

Query all strips in seqbase and nested meta strips.

Parameters
seqbaseListBase in which strips are queried
Returns
set of strips

Definition at line 111 of file iterator.cc.

References query_all_strips_recursive().

◆ query_all_strips_recursive() [2/2]

◆ query_by_reference()

blender::VectorSet< Strip * > blender::seq::query_by_reference ( Strip * strip_reference,
const Scene * scene,
ListBase * seqbase,
void strip_query_funcconst Scene *scene, Strip *strip_reference, ListBase *seqbase, blender::VectorSet< Strip * > &strips )

Query strips from seqbase. strip_reference is used by query function as filter condition.

Parameters
strip_referencereference strip for query function
seqbaseListBase in which strips are queried
strip_query_funcquery function callback
Returns
set of strips

Definition at line 69 of file iterator.cc.

Referenced by iterator_set_expand(), and strip_transform_handle_overwrite_trim().

◆ query_final_image_cache()

◆ query_intra_frame_cache()

◆ query_overwrite_targets()

◆ query_preview_cache()

◆ query_rendered_strips()

◆ query_right_side_strips()

◆ query_scene_strips()

◆ query_selected_strips()

◆ query_source_image_cache()

◆ query_strip_connected_and_effect_chain()

void blender::seq::query_strip_connected_and_effect_chain ( const Scene * scene,
Strip * reference_strip,
ListBase * seqbase,
blender::VectorSet< Strip * > & r_strips )

Query all connected strips, as well as all effect strips directly or indirectly connected to those connected strips. These steps repeat until there are no new strips to process.

Parameters
strip_referencereference strip
seqbaseListBase in which strips are queried
stripsset of strips to be filled

Definition at line 283 of file iterator.cc.

References blender::VectorSet< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add(), blender::Vector< T, InlineBufferCapacity, Allocator >::append(), connected_strips_get(), blender::VectorSet< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::contains(), blender::Vector< T, InlineBufferCapacity, Allocator >::is_empty(), blender::Vector< T, InlineBufferCapacity, Allocator >::pop_last(), and query_strip_effect_chain().

Referenced by edit_strip_split(), and blender::ed::vse::sequencer_meta_make_exec().

◆ query_strip_effect_chain()

void blender::seq::query_strip_effect_chain ( const Scene * scene,
Strip * reference_strip,
ListBase * seqbase,
blender::VectorSet< Strip * > & r_strips )

◆ query_strips_at_frame()

VectorSet< Strip * > blender::seq::query_strips_at_frame ( const Scene * scene,
ListBase * seqbase,
const int timeline_frame )
static

◆ query_strips_recursive_at_frame() [1/2]

blender::VectorSet< Strip * > blender::seq::query_strips_recursive_at_frame ( const Scene * scene,
const ListBase * seqbase,
int timeline_frame )

Query strips at timeline_frame in seqbase and nested meta strips.

Parameters
seqbaseListBase in which strips are queried
timeline_frameviewed frame
Returns
set of strips

Definition at line 134 of file iterator.cc.

References query_strips_recursive_at_frame().

◆ query_strips_recursive_at_frame() [2/2]

◆ query_thumbnail()

◆ query_thumbnail_cache()

◆ query_unselected_strips()

blender::VectorSet< Strip * > blender::seq::query_unselected_strips ( ListBase * seqbase)

Query all unselected strips in seqbase.

Parameters
seqbaseListBase in which strips are queried
Returns
set of strips

Definition at line 242 of file iterator.cc.

References blender::VectorSet< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add(), LISTBASE_FOREACH, and SELECT.

Referenced by query_overwrite_targets().

◆ relation_is_effect_of_strip()

bool blender::seq::relation_is_effect_of_strip ( const Strip * effect,
const Strip * input )

◆ relations_check_scene_recursion()

bool blender::seq::relations_check_scene_recursion ( Scene * scene,
ReportList * reports )

◆ relations_check_uids_unique_and_report()

void blender::seq::relations_check_uids_unique_and_report ( const Scene * scene)

A debug and development function which checks whether strips have unique UIDs. Errors will be reported to the console.

Definition at line 412 of file strip_relations.cc.

References BLI_gset_free(), BLI_gset_new(), BLI_session_uid_ghash_compare(), BLI_session_uid_ghash_hash(), Scene::ed, foreach_strip(), get_uids_cb(), and Editing::seqbase.

◆ relations_free_all_anim_ibufs()

void blender::seq::relations_free_all_anim_ibufs ( Scene * scene,
int timeline_frame )

Release FFmpeg handles of strips that are not currently displayed to minimize memory usage.

Definition at line 285 of file strip_relations.cc.

References editing_get(), MAXFRAME, and sequencer_all_free_anim_ibufs().

Referenced by render_give_ibuf().

◆ relations_free_imbuf()

◆ relations_invalidate_cache()

void blender::seq::relations_invalidate_cache ( Scene * scene,
Strip * strip )

Invalidates various caches related to a given strip:

  • Final cached frames over the length of the strip,
  • Intra-frame caches of the current frame,
  • Source/raw caches of the meta strip that contains this strip, if any,
  • Media presence cache of the strip,
  • Rebuilds speed index map if this is a speed effect strip,
  • Tags DEG for strip recalculation,
  • Stops prefetching job, if any.

Definition at line 156 of file strip_relations.cc.

References DEG_id_tag_update(), Strip::effectdata, Scene::id, ID_RECALC_SEQUENCER_STRIPS, intra_frame_cache_invalidate(), invalidate_final_cache_strip_range(), invalidate_raw_cache_of_parent_meta(), media_presence_invalidate_strip(), prefetch_stop(), preview_cache_invalidate(), strip_effect_speed_rebuild_map(), STRIP_TYPE_SPEED, and Strip::type.

Referenced by edit_move_strip_to_seqbase(), blender::ed::transform::image_origin_set(), blender::ed::transform::image_transform_set(), invalidate_strip_caches(), blender::ed::vse::modifier_move_to_index_exec(), blender::ed::transform::recalcData_sequencer(), blender::ed::transform::recalcData_sequencer_retiming(), relations_invalidate_cache_raw(), relations_invalidate_compositor_modifiers(), blender::ed::outliner::sequence_fn(), blender::ed::vse::sequencer_change_effect_type_exec(), blender::ed::vse::sequencer_clipboard_paste_exec(), blender::ed::vse::sequencer_meta_make_exec(), blender::ed::vse::sequencer_meta_separate_exec(), blender::ed::vse::sequencer_meta_toggle_exec(), blender::ed::vse::sequencer_mute_exec(), blender::ed::vse::sequencer_offset_clear_exec(), blender::ed::vse::sequencer_reassign_inputs_exec(), blender::ed::vse::sequencer_rendersize_exec(), blender::ed::vse::sequencer_snap_exec(), blender::ed::vse::sequencer_strip_transform_clear_exec(), blender::ed::vse::sequencer_strip_transform_fit_exec(), blender::ed::vse::sequencer_swap_inputs_exec(), blender::ed::vse::sequencer_unmute_exec(), blender::ed::vse::slip_strips_delta(), strip_add_generic_update(), blender::ed::vse::strip_modifier_add_exec(), blender::ed::vse::strip_modifier_copy_exec(), blender::ed::vse::strip_modifier_equalizer_redefine_exec(), blender::ed::vse::strip_modifier_move_exec(), blender::ed::vse::strip_modifier_remove_exec(), blender::ed::vse::swap_strips(), and transform_offset_after_frame().

◆ relations_invalidate_cache_raw()

◆ relations_invalidate_compositor_modifiers()

void blender::seq::relations_invalidate_compositor_modifiers ( const Main * bmain,
const bNodeTree * node_tree )

Invalidates the cache for all strips that uses the given node tree as a compositor modifier.

Definition at line 185 of file strip_relations.cc.

References editing_get(), LISTBASE_FOREACH, lookup_strips_by_compositor_node_group(), relations_invalidate_cache(), and Main::scenes.

Referenced by update_sequencer().

◆ relations_invalidate_movieclip_strips()

void blender::seq::relations_invalidate_movieclip_strips ( Main * bmain,
MovieClip * clip_target )

Definition at line 210 of file strip_relations.cc.

References ListBase::first, invalidate_movieclip_strips(), and Main::scenes.

◆ relations_invalidate_scene_strips()

void blender::seq::relations_invalidate_scene_strips ( const Main * bmain,
const Scene * scene_target )

◆ relations_render_loop_check()

bool blender::seq::relations_render_loop_check ( Strip * strip_main,
Strip * strip )

◆ relations_session_uid_generate()

void blender::seq::relations_session_uid_generate ( Strip * strip)

Generate new UID for the given strip.

Definition at line 389 of file strip_relations.cc.

References BLI_session_uid_generate(), Strip::runtime, and StripRuntime::session_uid.

Referenced by strip_alloc(), strip_duplicate(), and strip_read_data_cb().

◆ relations_strip_free_anim()

◆ render_give_ibuf()

◆ render_give_ibuf_direct()

ImBuf * blender::seq::render_give_ibuf_direct ( const RenderData * context,
float timeline_frame,
Strip * strip )

◆ render_give_stripelem()

◆ render_imbuf_from_sequencer_space()

◆ render_is_muted()

◆ render_new_render_data()

◆ render_pixel_from_sequencer_space_v4()

◆ rendersize_to_proxysize()

◆ rendersize_to_scale_factor()

◆ retiming_add_freeze_frame()

SeqRetimingKey * blender::seq::retiming_add_freeze_frame ( const Scene * scene,
Strip * strip,
SeqRetimingKey * key,
const int offset )

◆ retiming_add_key()

SeqRetimingKey * blender::seq::retiming_add_key ( const Scene * scene,
Strip * strip,
int timeline_frame )

◆ retiming_add_transition()

◆ retiming_data_clear()

void blender::seq::retiming_data_clear ( Strip * strip)

◆ retiming_data_ensure()

◆ retiming_data_is_editable()

◆ retiming_find_segment_start_key()

SeqRetimingKey * blender::seq::retiming_find_segment_start_key ( const Strip * strip,
float frame_index )

◆ retiming_is_active()

bool blender::seq::retiming_is_active ( const Strip * strip)

◆ retiming_is_allowed()

◆ retiming_is_last_key()

◆ retiming_key_get_by_timeline_frame()

SeqRetimingKey * blender::seq::retiming_key_get_by_timeline_frame ( const Scene * scene,
const Strip * strip,
const int timeline_frame )

◆ retiming_key_index_get()

◆ retiming_key_is_freeze_frame()

bool blender::seq::retiming_key_is_freeze_frame ( const SeqRetimingKey * key)

◆ retiming_key_is_transition_start()

◆ retiming_key_is_transition_type()

◆ retiming_key_overlap()

◆ retiming_key_speed_get()

◆ retiming_key_speed_set()

◆ retiming_key_timeline_frame_get()

◆ retiming_key_timeline_frame_set()

◆ retiming_keys_count()

◆ retiming_keys_get()

◆ retiming_last_key_get()

SeqRetimingKey * blender::seq::retiming_last_key_get ( const Strip * strip)

◆ retiming_remove_key()

void blender::seq::retiming_remove_key ( Strip * strip,
SeqRetimingKey * key )

◆ retiming_remove_multiple_keys()

◆ retiming_reset()

◆ retiming_selection_append()

◆ retiming_selection_clear()

◆ retiming_selection_contains()

◆ retiming_selection_copy()

void blender::seq::retiming_selection_copy ( SeqRetimingKey * dst,
const SeqRetimingKey * src )

◆ retiming_selection_get()

◆ retiming_selection_has_whole_transition()

◆ retiming_selection_remove()

◆ retiming_sound_animation_data_set()

◆ retiming_transition_key_frame_set()

◆ retiming_transition_start_get()

◆ scale_to_thumbnail_size()

void blender::seq::scale_to_thumbnail_size ( ImBuf * ibuf)
static

Definition at line 228 of file thumbnail_cache.cc.

References image_size_to_thumb_size(), IMB_scale(), Nearest, ImBuf::x, and ImBuf::y.

◆ scene_linear_to_image_chunk_byte()

◆ scene_linear_to_image_chunk_float()

◆ scene_sequencer_is_used()

bool blender::seq::scene_sequencer_is_used ( const Scene * scene,
ListBase * seqbase )
static

◆ select_active_get()

Strip * blender::seq::select_active_get ( const Scene * scene)

Definition at line 21 of file strip_select.cc.

References editing_get().

Referenced by active_mask_get(), buttons_context_path_strip(), composite_get_from_context(), blender::ed::vse::cursor_set_by_mouse_position(), blender::ed::vse::draw_multicam_highlight(), blender::ed::vse::filter_modifiers_by_sequence_type_itemf(), blender::ed::space_node::get_context_path_node_compositor(), blender::ed::outliner::get_sync_select_active_data(), blender::ed::vse::modifier_move_to_index_exec(), blender::ed::vse::modifier_set_active_exec(), modifier_ui_poll(), blender::ed::vse::preview_draw_all_image_overlays(), scene_new_sequencer_enum_itemf(), scene_new_sequencer_exec(), scene_new_sequencer_poll(), screen_ctx_active_strip(), select_active_get_pair(), blender::ed::vse::sequencer_add_duplicate_exec(), blender::ed::vse::sequencer_change_effect_type_exec(), blender::ed::vse::sequencer_change_path_exec(), blender::ed::vse::sequencer_change_path_invoke(), blender::ed::vse::sequencer_change_scene_exec(), blender::ed::vse::sequencer_clipboard_paste_exec(), blender::ed::vse::sequencer_draw_get_transform_preview(), blender::ed::vse::sequencer_draw_get_transform_preview_frame(), blender::ed::vse::sequencer_effect_poll(), blender::ed::vse::sequencer_generic_invoke_path__internal(), blender::ed::vse::sequencer_meta_make_exec(), blender::ed::vse::sequencer_meta_separate_exec(), blender::ed::vse::sequencer_meta_toggle_exec(), blender::ed::vse::sequencer_reassign_inputs_exec(), blender::ed::vse::sequencer_rendersize_exec(), blender::ed::vse::sequencer_retiming_data_show_exec(), blender::ed::vse::sequencer_select_grouped_exec(), blender::ed::vse::sequencer_swap_exec(), blender::ed::vse::sequencer_swap_inputs_exec(), blender::ed::vse::sequencer_swap_inputs_poll(), blender::ed::vse::sequencer_text_cursor_move_exec(), blender::ed::vse::sequencer_text_cursor_set_invoke(), blender::ed::vse::sequencer_text_cursor_set_modal(), blender::ed::vse::sequencer_text_delete_exec(), blender::ed::vse::sequencer_text_deselect_all_exec(), blender::ed::vse::sequencer_text_edit_copy_exec(), blender::ed::vse::sequencer_text_edit_cut_exec(), blender::ed::vse::sequencer_text_edit_mode_toggle_exec(), blender::ed::vse::sequencer_text_edit_paste_exec(), blender::ed::vse::sequencer_text_editing_active_poll(), blender::ed::vse::sequencer_text_editing_poll(), blender::ed::vse::sequencer_text_insert_exec(), blender::ed::vse::sequencer_text_line_break_exec(), blender::ed::vse::sequencer_text_select_all_exec(), blender::ed::vse::sequencer_write_copy_paste_file(), blender::ed::vse::strip_data_highlight_flags_set(), blender::ed::vse::strip_draw_context_get(), blender::ed::vse::strip_effect_get_new_inputs(), blender::ed::vse::strip_modifier_add_exec(), blender::ed::vse::strip_modifier_copy_exec(), blender::ed::vse::strip_modifier_equalizer_redefine_exec(), blender::ed::vse::strip_modifier_move_exec(), blender::ed::vse::strip_modifier_remove_exec(), blender::ed::vse::strip_select_from_preview(), blender::ed::vse::text_edit_draw(), blender::ed::vse::text_editing_update(), blender::ed::transform::transform_orientation_matrix_get(), and uiTemplateStripModifiers().

◆ select_active_get_pair()

bool blender::seq::select_active_get_pair ( Scene * scene,
Strip ** r_strip_act,
Strip ** r_strip_other )

◆ select_active_set()

◆ seq_anim_add_suffix()

void blender::seq::seq_anim_add_suffix ( Scene * scene,
MovieReader * anim,
const int view_id )

◆ seq_duplicate_postprocess()

◆ seq_edit_split_effect_inputs_intersect()

bool blender::seq::seq_edit_split_effect_inputs_intersect ( const Scene * scene,
const Strip * strip,
const int timeline_frame )
static

◆ seq_edit_split_handle_strip_offsets()

void blender::seq::seq_edit_split_handle_strip_offsets ( Main * bmain,
Scene * scene,
Strip * left_strip,
Strip * right_strip,
const int timeline_frame,
const eSplitMethod method )
static

◆ seq_edit_split_intersect_check()

bool blender::seq::seq_edit_split_intersect_check ( const Scene * scene,
const Strip * strip,
const int timeline_frame )
static

◆ seq_edit_split_operation_permitted_check()

bool blender::seq::seq_edit_split_operation_permitted_check ( const Scene * scene,
blender::Span< Strip * > strips,
const int timeline_frame,
const char ** r_error )
static

◆ seq_free_strip()

void blender::seq::seq_free_strip ( StripData * data)
static

Definition at line 104 of file sequencer.cc.

References data, MEM_freeN(), MOV_close(), and printf.

Referenced by seq_strip_free_ex().

◆ seq_free_strip_recurse()

void blender::seq::seq_free_strip_recurse ( Scene * scene,
Strip * strip,
bool do_id_user )

Cache must be freed before calling this function since it leaves the Editing::seqbase in an invalid state.

Definition at line 274 of file sequencer.cc.

References ListBase::first, Strip::next, seq_free_strip_recurse(), seq_strip_free_ex(), and Strip::seqbase.

Referenced by editing_free(), proxy_rebuild_finish(), and seq_free_strip_recurse().

◆ seq_get_movieclip_ibuf()

◆ seq_image_strip_is_multiview_render()

bool blender::seq::seq_image_strip_is_multiview_render ( Scene * scene,
Strip * strip,
int totfiles,
const char * filepath,
char * r_prefix,
const char * r_ext )
static

◆ seq_image_transform_matrix_get_ex()

float3x3 blender::seq::seq_image_transform_matrix_get_ex ( const Scene * scene,
const Strip * strip,
bool apply_rotation = true )
static

◆ seq_imbuf_assign_spaces()

◆ seq_imbuf_to_sequencer_space()

◆ seq_input_have_to_preprocess()

bool blender::seq::seq_input_have_to_preprocess ( const RenderData * context,
Strip * strip,
float  )
static

◆ SEQ_lookup_effects_by_strip()

blender::Span< Strip * > blender::seq::SEQ_lookup_effects_by_strip ( Editing * ed,
const Strip * key )

Find effect strips, that use strip strip as one of inputs. If lookup hash doesn't exist, it will be created. If hash is tagged as invalid, it will be rebuilt.

Parameters
keypointer to Strip inside of meta strip
Returns
collection of effect strips

Definition at line 203 of file strip_lookup.cc.

References blender::VectorSet< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::as_span(), BLI_assert, lock, lookup_lock, and strip_lookup_update_if_needed().

Referenced by retiming_key_timeline_frame_set(), retiming_reset(), strip_time_slip_strip_ex(), strip_time_translate_handles(), strip_time_update_effects_strip_range(), time_left_handle_frame_set(), time_right_handle_frame_set(), time_start_frame_set(), time_update_meta_strip_range(), and transform_translate_strip().

◆ seq_meta_stack_alloc()

MetaStack * blender::seq::seq_meta_stack_alloc ( const Scene * scene,
Strip * strip_meta )
static

◆ seq_multiview_name()

void blender::seq::seq_multiview_name ( Scene * scene,
const int view_id,
const char * prefix,
const char * ext,
char * r_path,
size_t r_size )

◆ seq_must_swap_input_in_blend_mode()

bool blender::seq::seq_must_swap_input_in_blend_mode ( Strip * strip)
static

◆ seq_mute_sound_strips_cb()

bool blender::seq::seq_mute_sound_strips_cb ( Strip * strip,
void * user_data )
static

Definition at line 1105 of file sequencer.cc.

References BKE_sound_remove_scene_sound(), and Strip::scene_sound.

Referenced by seq_update_scene_strip_sound().

◆ seq_need_scale_to_render_size()

bool blender::seq::seq_need_scale_to_render_size ( const Strip * strip,
bool is_proxy_image )
static

Effect, mask and scene in strip input strips are rendered in preview resolution. They are already down-scaled. input_preprocess() does not expect this to happen. Other strip types are rendered with original media resolution, unless proxies are enabled for them. With proxies is_proxy_image will be set correctly to true.

Definition at line 434 of file render.cc.

References Strip::flag, SEQ_SCENE_STRIPS, STRIP_TYPE_MASK, STRIP_TYPE_META, STRIP_TYPE_SCENE, and Strip::type.

Referenced by input_preprocess().

◆ seq_new_fix_links_recursive()

◆ seq_num_files()

int blender::seq::seq_num_files ( Scene * scene,
char views_format,
bool is_multiview )

The number of files will vary according to the stereo format.

Definition at line 29 of file multiview.cc.

References BKE_scene_multiview_num_views_get(), Scene::r, and R_IMF_VIEWS_STEREO_3D.

Referenced by add_movie_strip(), add_reload_new_file(), open_anim_file_multiview(), seq_render_image_strip(), and seq_render_movie_strip().

◆ seq_prefetch_anim_eval_context()

AnimationEvalContext blender::seq::seq_prefetch_anim_eval_context ( PrefetchJob * pfjob)
static

◆ seq_prefetch_cfra()

◆ seq_prefetch_do_suspend()

◆ seq_prefetch_frames()

◆ seq_prefetch_free()

◆ seq_prefetch_free_depsgraph()

void blender::seq::seq_prefetch_free_depsgraph ( PrefetchJob * pfjob)
static

◆ seq_prefetch_get_time_range()

void blender::seq::seq_prefetch_get_time_range ( Scene * scene,
int * r_start,
int * r_end )

◆ seq_prefetch_init_depsgraph()

◆ seq_prefetch_is_cache_full()

bool blender::seq::seq_prefetch_is_cache_full ( Scene * scene)
static

Definition at line 186 of file prefetch.cc.

References evict_caches_if_full().

Referenced by seq_prefetch_need_suspend().

◆ seq_prefetch_job_get()

◆ seq_prefetch_job_is_running()

bool blender::seq::seq_prefetch_job_is_running ( Scene * scene)

◆ seq_prefetch_job_is_waiting()

bool blender::seq::seq_prefetch_job_is_waiting ( Scene * scene)
static

Definition at line 120 of file prefetch.cc.

References seq_prefetch_job_get(), and blender::seq::PrefetchJob::waiting.

Referenced by prefetch_need_redraw().

◆ seq_prefetch_job_scrubbing_set()

void blender::seq::seq_prefetch_job_scrubbing_set ( Scene * scene,
bool is_scrubbing )
static

Definition at line 109 of file prefetch.cc.

References blender::seq::PrefetchJob::is_scrubbing, and seq_prefetch_job_get().

Referenced by seq_prefetch_start().

◆ seq_prefetch_must_skip_frame()

bool blender::seq::seq_prefetch_must_skip_frame ( PrefetchJob * pfjob,
ListBase * channels,
ListBase * seqbase )
static

◆ seq_prefetch_need_suspend()

◆ seq_prefetch_resume()

void blender::seq::seq_prefetch_resume ( Scene * scene)
static

◆ seq_prefetch_scene_strip_is_rendered()

bool blender::seq::seq_prefetch_scene_strip_is_rendered ( const Scene * scene,
ListBase * channels,
ListBase * seqbase,
blender::Span< Strip * > scene_strips,
int timeline_frame,
SeqRenderState state )
static

◆ seq_prefetch_start()

void blender::seq::seq_prefetch_start ( const RenderData * context,
float timeline_frame )

◆ seq_prefetch_start_ex()

◆ seq_prefetch_update_active_seqbase()

void blender::seq::seq_prefetch_update_active_seqbase ( PrefetchJob * pfjob)
static

◆ seq_prefetch_update_area()

◆ seq_prefetch_update_context()

◆ seq_prefetch_update_depsgraph()

void blender::seq::seq_prefetch_update_depsgraph ( PrefetchJob * pfjob)
static

◆ seq_prefetch_update_scene()

void blender::seq::seq_prefetch_update_scene ( Scene * scene)
static

◆ seq_proxy_build_frame()

◆ seq_proxy_context_count()

int blender::seq::seq_proxy_context_count ( Strip * strip,
Scene * scene )
static

◆ seq_proxy_fetch()

◆ seq_proxy_get_custom_file_filepath()

bool blender::seq::seq_proxy_get_custom_file_filepath ( Strip * strip,
char * filepath,
const int view_id )

◆ seq_proxy_get_filepath()

◆ seq_proxy_index_dir_set()

void blender::seq::seq_proxy_index_dir_set ( MovieReader * anim,
const char * base_dir )

◆ seq_proxy_multiview_context_invalid()

bool blender::seq::seq_proxy_multiview_context_invalid ( Strip * strip,
Scene * scene,
const int view_id,
MultiViewPrefixVars * prefix_vars )
static

Returns whether the file this context would read from even exist, if not, don't create the context.

Parameters
prefix_varsStores prefix variables for reuse, these variables are for internal use, the caller must not depend on them.
Note
This function must first a view_id of zero, to initialize prefix_vars for use with other views.

Definition at line 346 of file proxy.cc.

References BKE_scene_multiview_view_prefix_get(), BLI_access(), BLI_path_abs(), BLI_path_join, Strip::data, StripData::dirpath, blender::seq::MultiViewPrefixVars::ext, FILE_MAX, StripElem::filename, Scene::id, ID_BLEND_PATH_FROM_GLOBAL, blender::seq::MultiViewPrefixVars::prefix, Scene::r, R_IMF_VIEWS_INDIVIDUAL, R_MULTIVIEW, seq_multiview_name(), STRIP_TYPE_IMAGE, StripData::stripdata, Strip::type, and Strip::views_format.

Referenced by proxy_rebuild_context().

◆ seq_proxy_need_rebuild()

bool blender::seq::seq_proxy_need_rebuild ( Strip * strip,
MovieReader * anim )
static

◆ seq_render_effect_strip_impl()

◆ seq_render_give_ibuf_seqbase()

ImBuf * blender::seq::seq_render_give_ibuf_seqbase ( const RenderData * context,
SeqRenderState * state,
float timeline_frame,
int chan_shown,
ListBase * channels,
ListBase * seqbasep )

Definition at line 2089 of file render.cc.

References seq_render_strip_stack(), and state.

Referenced by do_adjustment_impl(), and do_multicam().

◆ seq_render_image_strip()

◆ seq_render_image_strip_view()

ImBuf * blender::seq::seq_render_image_strip_view ( const RenderData * context,
Strip * strip,
char * filepath,
char * prefix,
const char * ext,
int view_id )
static

◆ seq_render_mask()

◆ seq_render_mask_strip()

ImBuf * blender::seq::seq_render_mask_strip ( const RenderData * context,
Strip * strip,
float frame_index )
static

Definition at line 1382 of file render.cc.

References Strip::flag, Strip::mask, SEQ_MAKE_FLOAT, and seq_render_mask().

Referenced by do_render_strip_uncached().

◆ seq_render_movie_strip()

◆ seq_render_movie_strip_custom_file_proxy()

◆ seq_render_movie_strip_timecode_get()

IMB_Timecode_Type blender::seq::seq_render_movie_strip_timecode_get ( Strip * strip)
static

◆ seq_render_movie_strip_view()

◆ seq_render_movieclip_strip()

◆ seq_render_preprocess_ibuf()

ImBuf * blender::seq::seq_render_preprocess_ibuf ( const RenderData * context,
SeqRenderState * state,
Strip * strip,
ImBuf * ibuf,
float timeline_frame,
bool use_preprocess,
const bool is_proxy_image )
static

◆ seq_render_scene_strip()

ImBuf * blender::seq::seq_render_scene_strip ( const RenderData * context,
Strip * strip,
float frame_index,
float timeline_frame )
static

◆ seq_render_scene_strip_ex()

ImBuf * blender::seq::seq_render_scene_strip_ex ( const RenderData * context,
Strip * strip,
float frame_index,
float timeline_frame )
static

◆ seq_render_strip()

◆ seq_render_strip_stack()

◆ seq_render_strip_stack_apply_effect()

ImBuf * blender::seq::seq_render_strip_stack_apply_effect ( const RenderData * context,
SeqRenderState * state,
Strip * strip,
float timeline_frame,
ImBuf * ibuf1,
ImBuf * ibuf2 )
static

◆ seq_set_strip_done_cb()

bool blender::seq::seq_set_strip_done_cb ( Strip * strip,
void *  )
static

Definition at line 850 of file sequencer.cc.

References Strip::data, and StripData::done.

Referenced by blend_write().

◆ seq_shown_strips_get()

◆ seq_split_set_left_hold_offset()

void blender::seq::seq_split_set_left_hold_offset ( Main * bmain,
Scene * scene,
Strip * strip,
int timeline_frame )
static

◆ seq_split_set_right_hold_offset()

void blender::seq::seq_split_set_right_hold_offset ( Main * bmain,
Scene * scene,
Strip * strip,
int timeline_frame )
static

◆ seq_strip_alloc()

StripData * blender::seq::seq_strip_alloc ( int type)
static

Definition at line 86 of file sequencer.cc.

References data, MEM_callocN(), SEQ_TRANSFORM_FILTER_AUTO, and STRIP_TYPE_SOUND_RAM.

Referenced by strip_alloc().

◆ seq_strip_free_ex()

◆ seq_strip_proxy_alloc()

StripProxy * blender::seq::seq_strip_proxy_alloc ( )

◆ seq_time_gap_info_get()

void blender::seq::seq_time_gap_info_get ( const Scene * scene,
ListBase * seqbase,
int initial_frame,
GapInfo * r_gap_info )

Find first gap between strips after initial_frame and describe it by filling data of r_gap_info

Parameters
sceneScene in which strips are located.
seqbaseListBase in which strips are located.
initial_frameframe on timeline from where gaps are searched for.
r_gap_infodata structure describing gap, that will be filled in by this function.

Definition at line 382 of file strip_time.cc.

References blender::seq::GapInfo::gap_exists, blender::seq::GapInfo::gap_length, blender::seq::GapInfo::gap_start_frame, query_all_strips(), strip_exists_at_frame(), timeline_boundbox(), rctf::xmax, and rctf::xmin.

Referenced by edit_remove_gaps().

◆ seq_update_scene_strip_sound()

void blender::seq::seq_update_scene_strip_sound ( const Scene * scene,
Strip * strip )
static

◆ seq_update_sound_strips()

void blender::seq::seq_update_sound_strips ( Scene * scene,
Strip * strip )
static

◆ seqbase_dupli_recursive()

void blender::seq::seqbase_dupli_recursive ( Main * bmain,
const Scene * scene_src,
Scene * scene_dst,
ListBase * nseqbase,
const ListBase * seqbase,
const StripDuplicate dupe_flag,
const int flag,
blender::Map< Strip *, Strip * > & strip_map,
StripDuplicateContext & ctx )
static

◆ seqbase_duplicate_recursive()

void blender::seq::seqbase_duplicate_recursive ( Main * bmain,
const Scene * scene_src,
Scene * scene_dst,
ListBase * nseqbase,
const ListBase * seqbase,
const StripDuplicate dupe_flag,
const int flag )

◆ seqbase_unique_name()

◆ seqbase_unique_name_recursive_fn()

bool blender::seq::seqbase_unique_name_recursive_fn ( Strip * strip,
void * arg_pt )
static

Definition at line 74 of file sequencer/intern/utils.cc.

References ListBase::first, Strip::seqbase, and seqbase_unique_name().

Referenced by strip_unique_name_set().

◆ sequence_supports_modifiers()

int blender::seq::sequence_supports_modifiers ( Strip * strip)

Definition at line 544 of file sequencer/intern/modifiers/modifier.cc.

References STRIP_TYPE_SOUND_RAM, and Strip::type.

◆ sequencer_all_free_anim_ibufs()

◆ sequencer_check_scene_recursion()

Strip * blender::seq::sequencer_check_scene_recursion ( Scene * scene,
ListBase * seqbase )
static

◆ sequencer_flag_users_for_removal()

void blender::seq::sequencer_flag_users_for_removal ( Scene * scene,
ListBase * seqbase,
Strip * strip )
static

◆ sequencer_image_crop_init()

void blender::seq::sequencer_image_crop_init ( const Strip * strip,
const ImBuf * in,
float crop_scale_factor,
rctf * r_crop )
static

◆ sequencer_preprocess_transform_crop()

◆ sequencer_strip_generates_image()

bool blender::seq::sequencer_strip_generates_image ( Strip * strip)

◆ sequencer_use_crop()

bool blender::seq::sequencer_use_crop ( const Strip * strip)
static

◆ sequencer_use_transform()

bool blender::seq::sequencer_use_transform ( const Strip * strip)
static

Definition at line 368 of file render.cc.

References Strip::data, StripData::transform, and transform().

Referenced by input_preprocess(), and seq_input_have_to_preprocess().

◆ set_scale_to_fit()

void blender::seq::set_scale_to_fit ( const Strip * strip,
const int image_width,
const int image_height,
const int preview_width,
const int preview_height,
const eSeqImageFitMethod fit_method )

◆ set_strip_modifier_expand_flag()

void blender::seq::set_strip_modifier_expand_flag ( const bContext * ,
Panel * panel,
short expand_flag )
static

◆ shuffle_strip_test_overlap()

bool blender::seq::shuffle_strip_test_overlap ( const Scene * scene,
const Strip * strip1,
const Strip * strip2,
const int offset )
static

◆ shuffle_strip_time_offset_get()

int blender::seq::shuffle_strip_time_offset_get ( const Scene * scene,
blender::Span< Strip * > strips_to_shuffle,
ListBase * seqbasep,
char dir )
static

◆ skip_modifier()

◆ solid_color_effect_get_handle()

◆ sound_blend_read_data()

void blender::seq::sound_blend_read_data ( BlendDataReader * reader,
ListBase * lb )

◆ sound_blend_write()

void blender::seq::sound_blend_write ( BlendWriter * writer,
ListBase * soundbase )

◆ sound_equalizer_add()

◆ sound_equalizermodifier_add_graph()

EQCurveMappingData * blender::seq::sound_equalizermodifier_add_graph ( SoundEqualizerModifierData * semd,
float min_freq,
float max_freq )

Definition at line 214 of file sequencer/intern/sound.cc.

References sound_equalizer_add().

◆ sound_equalizermodifier_copy_data()

◆ sound_equalizermodifier_draw()

◆ sound_equalizermodifier_free()

◆ sound_equalizermodifier_init_data()

void blender::seq::sound_equalizermodifier_init_data ( StripModifierData * smd)

◆ sound_equalizermodifier_read()

void blender::seq::sound_equalizermodifier_read ( BlendDataReader * reader,
StripModifierData * smd )
static

◆ sound_equalizermodifier_recreator()

◆ sound_equalizermodifier_register()

void blender::seq::sound_equalizermodifier_register ( ARegionType * region_type)
static

◆ sound_equalizermodifier_remove_graph()

void blender::seq::sound_equalizermodifier_remove_graph ( SoundEqualizerModifierData * semd,
EQCurveMappingData * eqcmd )

◆ sound_equalizermodifier_set_graphs()

◆ sound_equalizermodifier_write()

void blender::seq::sound_equalizermodifier_write ( BlendWriter * writer,
const StripModifierData * smd )
static

◆ sound_modifier_recreator()

void * blender::seq::sound_modifier_recreator ( Strip * strip,
StripModifierData * smd,
void * sound,
bool & needs_update )

◆ sound_modifier_worker_info_get()

const SoundModifierWorkerInfo * blender::seq::sound_modifier_worker_info_get ( int type)

Definition at line 351 of file sequencer/intern/sound.cc.

References i, and workersSoundModifiers.

Referenced by sound_modifier_recreator().

◆ sound_pitch_get()

float blender::seq::sound_pitch_get ( const Scene * scene,
const Strip * strip )

◆ sound_update()

void blender::seq::sound_update ( Scene * scene,
bSound * sound )

◆ sound_update_bounds()

◆ sound_update_bounds_all()

void blender::seq::sound_update_bounds_all ( Scene * scene)

◆ sound_update_length()

void blender::seq::sound_update_length ( Main * bmain,
Scene * scene )

Definition at line 81 of file sequencer/intern/sound.cc.

References Scene::ed, Editing::seqbase, and UNUSED_VARS.

◆ source_image_cache_calc_memory_size()

size_t blender::seq::source_image_cache_calc_memory_size ( const Scene * scene)

◆ source_image_cache_clear()

◆ source_image_cache_destroy()

void blender::seq::source_image_cache_destroy ( Scene * scene)

◆ source_image_cache_evict()

◆ source_image_cache_get()

◆ source_image_cache_get_image_count()

size_t blender::seq::source_image_cache_get_image_count ( const Scene * scene)

◆ source_image_cache_invalidate_strip()

void blender::seq::source_image_cache_invalidate_strip ( Scene * scene,
const Strip * strip )

◆ source_image_cache_iterate()

void blender::seq::source_image_cache_iterate ( Scene * scene,
void * userdata,
void callback_itervoid *userdata, const Strip *strip, int timeline_frame )

◆ source_image_cache_put()

◆ speed_effect_get_handle()

◆ speed_effect_interpolation_ratio_get()

float blender::seq::speed_effect_interpolation_ratio_get ( Scene * scene,
Strip * strip_speed,
float timeline_frame )
static

Definition at line 177 of file vse_effect_speed.cc.

References floor, and strip_speed_effect_target_frame_get().

Referenced by do_speed_effect().

◆ store_opaque_black_pixel() [1/2]

void blender::seq::store_opaque_black_pixel ( float * dst)
inline

Definition at line 78 of file effects.hh.

◆ store_opaque_black_pixel() [2/2]

void blender::seq::store_opaque_black_pixel ( uchar * dst)
inline

Definition at line 70 of file effects.hh.

◆ store_pixel_premul() [1/2]

void blender::seq::store_pixel_premul ( float4 pix,
float * ptr )

Definition at line 270 of file sequencer/intern/modifiers/modifier.cc.

References ptr.

◆ store_pixel_premul() [2/2]

◆ store_pixel_raw() [1/2]

void blender::seq::store_pixel_raw ( float4 pix,
float * ptr )

Definition at line 292 of file sequencer/intern/modifiers/modifier.cc.

References ptr.

◆ store_pixel_raw() [2/2]

void blender::seq::store_pixel_raw ( float4 pix,
uchar * ptr )

◆ store_premul_pixel() [1/2]

void blender::seq::store_premul_pixel ( const blender::float4 & pix,
float * dst )
inline

Definition at line 65 of file effects.hh.

◆ store_premul_pixel() [2/2]

◆ strip_add_generic_update()

◆ strip_add_set_name()

◆ strip_add_set_view_transform()

◆ strip_alloc()

◆ strip_animation_duplicate()

◆ strip_blend_mode_handle_get()

◆ strip_by_compositor_node_group_lookup_build()

◆ strip_by_scene_lookup_build()

void blender::seq::strip_by_scene_lookup_build ( Strip * strip,
StripLookup * lookup )
static

◆ strip_can_have_thumbnail()

◆ strip_channel_set()

◆ strip_connections_free()

void blender::seq::strip_connections_free ( Strip * strip)
static

Definition at line 17 of file strip_connect.cc.

References BLI_listbase_clear(), Strip::connections, and LISTBASE_FOREACH_MUTABLE.

Referenced by disconnect().

◆ strip_doversion_250_sound_proxy_update_cb()

bool blender::seq::strip_doversion_250_sound_proxy_update_cb ( Strip * strip,
void * user_data )
static

◆ strip_drivers_duplicate()

void blender::seq::strip_drivers_duplicate ( Strip * strip,
AnimData * dst,
AnimationBackup * src )
static

◆ strip_duplicate()

Strip * blender::seq::strip_duplicate ( Main * bmain,
const Scene * scene_src,
Scene * scene_dst,
ListBase * new_seq_list,
Strip * strip,
const StripDuplicate dupe_flag,
const int flag,
blender::Map< Strip *, Strip * > & strip_map,
StripDuplicateContext & ctx )
static

Definition at line 592 of file sequencer.cc.

References blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add(), Set< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add(), StripProxy::anim, Strip::anims, BKE_id_copy_for_duplicate(), BKE_scene_duplicate(), BKE_sound_scene_add_scene_sound_defaults(), BLI_addtail(), BLI_assert, BLI_assert_unreachable, BLI_listbase_clear(), Strip::channels, channels_duplicate(), Strip::clip, Strip::connections, connections_duplicate(), blender::seq::EffectHandle::copy, StripData::crop, Data, Strip::data, Scene::ed, ListBase::first, flag, Mask::id, MovieClip::id, id_us_plus(), IDP_CopyProperty_ex(), is_strip_connected(), LIB_ID_COPY_DEFAULT, LIB_ID_CREATE_NO_MAIN, LIB_ID_CREATE_NO_USER_REFCOUNT, LIB_ID_DUPLICATE_IS_ROOT_ID, LIB_ID_DUPLICATE_IS_SUBPROCESS, Strip::mask, blender::seq::StripDuplicateContext::masks, MEM_dupallocN(), modifier_list_copy(), modifier_persistent_uids_are_valid(), Strip::modifiers, blender::seq::StripDuplicateContext::movieclips, Strip::prop, StripData::proxy, relations_session_uid_generate(), Strip::retiming_keys, Strip::retiming_keys_num, SCE_COPY_FULL, Strip::scene, Strip::scene_sound, blender::seq::StripDuplicateContext::scenes, Editing::seqbase, Strip::seqbase, Strip::sound, Strip::stereo3d_format, strip_effect_handle_get(), STRIP_TYPE_IMAGE, STRIP_TYPE_MASK, STRIP_TYPE_META, STRIP_TYPE_MOVIE, STRIP_TYPE_MOVIECLIP, STRIP_TYPE_SCENE, STRIP_TYPE_SOUND_RAM, strip_unique_name_set(), StripData::stripdata, Strip::system_properties, StripData::transform, Strip::type, U, UniqueName, USER_DUP_LINKED_ID, and USER_DUP_OBJECT.

Referenced by seqbase_dupli_recursive(), and strip_duplicate_recursive_impl().

◆ strip_duplicate_recursive()

Strip * blender::seq::strip_duplicate_recursive ( Main * bmain,
const Scene * scene_src,
Scene * scene_dst,
ListBase * new_seq_list,
Strip * strip,
const StripDuplicate dupe_flag )

◆ strip_duplicate_recursive_impl()

Strip * blender::seq::strip_duplicate_recursive_impl ( Main * bmain,
const Scene * scene_src,
Scene * scene_dst,
ListBase * new_seq_list,
Strip * strip,
const StripDuplicate dupe_flag,
blender::Map< Strip *, Strip * > & strip_map,
StripDuplicateContext & ctx )
static

◆ strip_effect_handle_get()

EffectHandle blender::seq::strip_effect_handle_get ( Strip * strip)

Get the effect handle for a given strip, and load the strip if it has not been loaded already. If strip is not an effect strip, returns empty EffectHandle.

Definition at line 290 of file effects.cc.

References effect_handle_get(), StripRuntime::flag, blender::seq::EffectHandle::load, Strip::runtime, STRIP_EFFECT_NOT_LOADED, and Strip::type.

Referenced by add_effect_strip(), seq_render_effect_strip_impl(), seq_strip_free_ex(), blender::ed::vse::sequencer_change_effect_type_exec(), strip_duplicate(), strip_speed_effect_target_frame_get(), and strip_update_effectdata_cb().

◆ strip_effect_speed_frame_map_ensure()

void blender::seq::strip_effect_speed_frame_map_ensure ( Scene * scene,
Strip * strip )
static

◆ strip_effect_speed_rebuild_map()

void blender::seq::strip_effect_speed_rebuild_map ( Scene * scene,
Strip * strip )

◆ strip_effect_speed_speed_factor_curve_get()

FCurve * blender::seq::strip_effect_speed_speed_factor_curve_get ( Scene * scene,
Strip * strip )
static

◆ strip_exists_at_frame()

bool blender::seq::strip_exists_at_frame ( const Scene * scene,
blender::Span< Strip * > strips,
const int timeline_frame )
static

Definition at line 370 of file strip_time.cc.

References time_strip_intersects_frame().

Referenced by seq_time_gap_info_get().

◆ strip_for_each_recursive() [1/2]

bool blender::seq::strip_for_each_recursive ( ListBase * seqbase,
blender::FunctionRef< bool(Strip *)> callback )
static

Definition at line 42 of file iterator.cc.

References LISTBASE_FOREACH, strip_for_each_recursive(), and STRIP_TYPE_META.

◆ strip_for_each_recursive() [2/2]

bool blender::seq::strip_for_each_recursive ( ListBase * seqbase,
ForEachFunc callback,
void * user_data )
static

◆ strip_free()

void blender::seq::strip_free ( Scene * scene,
Strip * strip )

Definition at line 269 of file sequencer.cc.

References seq_strip_free_ex().

Referenced by edit_remove_flagged_strips().

◆ strip_from_strip_elem()

Strip * blender::seq::strip_from_strip_elem ( ListBase * seqbase,
StripElem * se )

Only use as last resort when the StripElem is available but not the Strip. (needed for RNA)

Definition at line 383 of file sequencer/intern/utils.cc.

References ARRAY_HAS_ITEM, Strip::data, ListBase::first, Strip::len, Strip::next, Strip::seqbase, strip_from_strip_elem(), and StripData::stripdata.

Referenced by strip_from_strip_elem().

◆ strip_get_early_out_for_blend_mode()

StripEarlyOut blender::seq::strip_get_early_out_for_blend_mode ( Strip * strip)
static

◆ strip_give_name()

◆ strip_has_valid_data()

bool blender::seq::strip_has_valid_data ( const Strip * strip)

Check if an input referenced by this strip is valid (e.g. scene for a scene strip). Note that this only checks data block references, for missing media referenced by paths use media_presence_is_missing.

Definition at line 439 of file sequencer/intern/utils.cc.

References Strip::clip, Strip::mask, Strip::scene, Strip::sound, STRIP_TYPE_MASK, STRIP_TYPE_MOVIECLIP, STRIP_TYPE_SCENE, STRIP_TYPE_SOUND_RAM, and Strip::type.

Referenced by skip_modifier().

◆ strip_image_transform_quad_get_ex()

◆ strip_load_font_file()

int blender::seq::strip_load_font_file ( const std::string & path)
static

Definition at line 86 of file vse_effect_text.cc.

References BLF_addref_id(), BLF_is_loaded_id(), BLF_load_unique(), g_font_map, and lock.

Referenced by effect_text_font_load().

◆ strip_load_font_mem()

int blender::seq::strip_load_font_mem ( const std::string & name,
const uchar * data,
int data_size )
static

◆ strip_lookup_append_effect()

void blender::seq::strip_lookup_append_effect ( const Strip * input,
Strip * effect,
StripLookup * lookup )
static

◆ strip_lookup_build()

void blender::seq::strip_lookup_build ( const Editing * ed,
StripLookup * lookup )
static

Definition at line 110 of file strip_lookup.cc.

References strip_lookup_build_from_seqbase().

Referenced by strip_lookup_rebuild().

◆ strip_lookup_build_effect()

void blender::seq::strip_lookup_build_effect ( Strip * strip,
StripLookup * lookup )
static

◆ strip_lookup_build_from_seqbase()

void blender::seq::strip_lookup_build_from_seqbase ( Strip * parent_meta,
const ListBase * seqbase,
StripLookup * lookup )
static

◆ strip_lookup_free() [1/2]

void blender::seq::strip_lookup_free ( Editing * ed)

Free lookup hash data.

Definition at line 147 of file strip_lookup.cc.

References BLI_assert, lock, lookup_lock, and strip_lookup_free().

◆ strip_lookup_free() [2/2]

void blender::seq::strip_lookup_free ( StripLookup ** lookup)
static

Definition at line 122 of file strip_lookup.cc.

Referenced by editing_free(), strip_lookup_free(), and strip_lookup_rebuild().

◆ strip_lookup_invalidate()

void blender::seq::strip_lookup_invalidate ( const Editing * ed)

◆ strip_lookup_new()

StripLookup * blender::seq::strip_lookup_new ( )
static

Definition at line 116 of file strip_lookup.cc.

Referenced by strip_lookup_rebuild().

◆ strip_lookup_rebuild()

void blender::seq::strip_lookup_rebuild ( const Editing * ed,
StripLookup ** lookup )
static

◆ strip_lookup_update_if_needed()

◆ strip_open_anim_file()

◆ strip_read_data_cb()

◆ strip_retiming_add_key()

◆ strip_retiming_clamp_bounds_get()

Bounds< float > blender::seq::strip_retiming_clamp_bounds_get ( const Scene * scene,
const Strip * strip,
SeqRetimingKey * key )
static

◆ strip_retiming_clamp_timeline_frame()

int blender::seq::strip_retiming_clamp_timeline_frame ( const Scene * scene,
Strip * strip,
SeqRetimingKey * key,
const int timeline_frame )
static

◆ strip_retiming_clamp_transition_offset()

float blender::seq::strip_retiming_clamp_transition_offset ( const Scene * scene,
const Strip * strip,
SeqRetimingKey * start_key,
float offset )
static

◆ strip_retiming_cleanup_freeze_frame()

void blender::seq::strip_retiming_cleanup_freeze_frame ( SeqRetimingKey * key)
static

◆ strip_retiming_evaluate()

◆ strip_retiming_evaluate_arc_segment()

float blender::seq::strip_retiming_evaluate_arc_segment ( const SeqRetimingKey * key,
const float frame_index )
static

◆ strip_retiming_fix_transition()

◆ strip_retiming_fix_transitions()

void blender::seq::strip_retiming_fix_transitions ( const Scene * scene,
Strip * strip,
SeqRetimingKey * key )
static

◆ strip_retiming_key_offset()

void blender::seq::strip_retiming_key_offset ( const Scene * scene,
Strip * strip,
SeqRetimingKey * key,
const float offset )
static

◆ strip_retiming_line_segments_tangent_circle()

void blender::seq::strip_retiming_line_segments_tangent_circle ( const SeqRetimingKey * start_key,
double r_center[2],
double * radius )
static

◆ strip_retiming_range_data_get()

RetimingRangeData blender::seq::strip_retiming_range_data_get ( const Scene * scene,
const Strip * strip )
static

Definition at line 1058 of file strip_retiming.cc.

References Scene::ed, and lookup_meta_by_strip().

Referenced by retiming_sound_animation_data_set().

◆ strip_retiming_remove_key_ex()

◆ strip_retiming_remove_transition()

◆ strip_retiming_segment_as_line_segment()

void blender::seq::strip_retiming_segment_as_line_segment ( const SeqRetimingKey * start_key,
double r_v1[2],
double r_v2[2] )
static

◆ strip_retiming_segment_length_get()

double blender::seq::strip_retiming_segment_length_get ( const SeqRetimingKey * start_key)
static

Definition at line 186 of file strip_retiming.cc.

References SeqRetimingKey::strip_frame_index.

Referenced by strip_retiming_segment_step_get().

◆ strip_retiming_segment_step_get()

float blender::seq::strip_retiming_segment_step_get ( const SeqRetimingKey * start_key)
static

◆ strip_retiming_transition_is_linear()

bool blender::seq::strip_retiming_transition_is_linear ( const Strip * strip,
const SeqRetimingKey * key )
static

Definition at line 272 of file strip_retiming.cc.

References abs, and retiming_key_speed_get().

Referenced by strip_retiming_evaluate().

◆ strip_retiming_transition_offset()

◆ strip_sound_update_cb()

bool blender::seq::strip_sound_update_cb ( Strip * strip,
void * user_data )
static

◆ strip_speed_effect_target_frame_get()

◆ strip_time_effect_range_set()

◆ strip_time_media_playback_rate_factor_get()

float blender::seq::strip_time_media_playback_rate_factor_get ( const Scene * scene,
const Strip * strip )

◆ strip_time_slip_strip_ex()

◆ strip_time_translate_handles()

void blender::seq::strip_time_translate_handles ( const Scene * scene,
Strip * strip,
const int offset )

◆ strip_time_update_effects_strip_range() [1/2]

void blender::seq::strip_time_update_effects_strip_range ( const Scene * scene,
blender::Span< Strip * > effects )

Update strip startdisp and enddisp (n-input effects have no length to calculate these).

◆ strip_time_update_effects_strip_range() [2/2]

◆ strip_topmost_get()

◆ strip_transform_handle_expand_to_fit()

void blender::seq::strip_transform_handle_expand_to_fit ( Scene * scene,
ListBase * seqbasep,
blender::Span< Strip * > transformed_strips,
blender::Span< Strip * > time_dependent_strips,
bool use_sync_markers )
static

◆ strip_transform_handle_overlap_shuffle()

void blender::seq::strip_transform_handle_overlap_shuffle ( Scene * scene,
ListBase * seqbasep,
blender::Span< Strip * > transformed_strips,
blender::Span< Strip * > time_dependent_strips,
bool use_sync_markers )
static

◆ strip_transform_handle_overwrite()

◆ strip_transform_handle_overwrite_split()

void blender::seq::strip_transform_handle_overwrite_split ( Scene * scene,
ListBase * seqbasep,
const Strip * transformed,
Strip * target )
static

◆ strip_transform_handle_overwrite_trim()

◆ strip_unique_name_set()

◆ strip_unload_font()

void blender::seq::strip_unload_font ( int fontid)
static

Definition at line 140 of file vse_effect_text.cc.

References BLF_unload_id(), g_font_map, and lock.

Referenced by effect_text_font_unload().

◆ strip_update_mix_sounds()

void blender::seq::strip_update_mix_sounds ( Scene * scene,
Strip * strip )
static

◆ strip_update_muting_recursive()

void blender::seq::strip_update_muting_recursive ( ListBase * channels,
ListBase * seqbasep,
Strip * strip_meta,
const bool mute )
static

◆ strip_update_sound_bounds_recursive()

void blender::seq::strip_update_sound_bounds_recursive ( const Scene * scene,
Strip * strip_meta )

◆ strip_update_sound_bounds_recursive_impl()

void blender::seq::strip_update_sound_bounds_recursive_impl ( const Scene * scene,
Strip * strip_meta,
int start,
int end )
static

◆ strip_update_sound_modifiers()

void blender::seq::strip_update_sound_modifiers ( Strip * strip)
static

◆ strip_update_sound_properties()

◆ strip_update_sound_recursive()

void blender::seq::strip_update_sound_recursive ( Scene * scene,
ListBase * seqbasep,
bSound * sound )
static

◆ strip_write_data_cb()

◆ sub_effect_get_handle()

◆ text_box_width_get()

int blender::seq::text_box_width_get ( const Vector< LineInfo > & lines)
static

Definition at line 923 of file vse_effect_text.cc.

References text_box_width_get().

Referenced by apply_text_alignment(), calc_boundbox(), and text_box_width_get().

◆ text_draw()

◆ text_effect_calc_runtime()

◆ text_effect_font_init()

◆ text_effect_get_handle()

◆ text_effect_line_size_get()

int blender::seq::text_effect_line_size_get ( const RenderData * context,
const Strip * strip )
static

◆ text_gaussian_blur_x()

void blender::seq::text_gaussian_blur_x ( const Span< float > gaussian,
int half_size,
int start_line,
int width,
int height,
const uchar * rect,
uchar * dst,
const rcti & shadow_rect )
static

Definition at line 308 of file vse_effect_text.cc.

References blender::math::max(), blender::math::min(), x, rcti::xmax, rcti::xmin, and y.

Referenced by draw_text_shadow().

◆ text_gaussian_blur_y()

void blender::seq::text_gaussian_blur_y ( const Span< float > gaussian,
int half_size,
int start_line,
int width,
int height,
const uchar * rect,
uchar * dst,
const rcti & shadow_rect )
static

◆ thumbnail_cache_clear()

void blender::seq::thumbnail_cache_clear ( Scene * scene)

◆ thumbnail_cache_destroy()

void blender::seq::thumbnail_cache_destroy ( Scene * scene)

◆ thumbnail_cache_discard_requests_outside()

void blender::seq::thumbnail_cache_discard_requests_outside ( Scene * scene,
const rctf & rect )

Discard in-flight thumbnail loading requests that are outside of the given view (X coordinate: timeline frames, Y coordinate: channels).

Definition at line 604 of file thumbnail_cache.cc.

References lock, query_thumbnail_cache(), blender::seq::ThumbnailCache::requests_, thumb_cache_mutex, thumbnail_cache_discard_requests_outside(), rctf::xmax, rctf::xmin, rctf::ymax, and rctf::ymin.

Referenced by blender::ed::vse::draw_seq_strips(), and thumbnail_cache_discard_requests_outside().

◆ thumbnail_cache_get()

ImBuf * blender::seq::thumbnail_cache_get ( const bContext * C,
Scene * scene,
const Strip * strip,
float timeline_frame )

Get a thumbnail image for given strip at timeline_frame.

The function can return null if a strip type does not have a thumbnail, a source media file is not found, or the thumbnail has not been loaded yet.

A "closest" thumbnail if there is no exact match can also be returned, e.g. for a movie strip the closest frame that has a thumbnail already.

When there is no exact match, a request to load a thumbnail will be internally added and processed in the background.

Definition at line 502 of file thumbnail_cache.cc.

References Strip::anim_startofs, C, ensure_thumbnail_cache(), get_path_from_strip(), give_frame_index(), IMB_refImBuf(), lock, query_thumbnail(), blender::math::round(), strip_can_have_thumbnail(), STRIP_TYPE_MOVIE, thumb_cache_mutex, thumbnail_cache_get(), and Strip::type.

Referenced by blender::ed::vse::get_seq_strip_thumbnails(), and thumbnail_cache_get().

◆ thumbnail_cache_invalidate_strip()

◆ thumbnail_cache_maintain_capacity()

void blender::seq::thumbnail_cache_maintain_capacity ( Scene * scene)

◆ time_content_end_frame_get()

◆ time_find_next_prev_edit()

int blender::seq::time_find_next_prev_edit ( Scene * scene,
int timeline_frame,
short side,
bool do_skip_mute,
bool do_center,
bool do_unselected )

Find start or end position of next or previous strip.

Parameters
sceneVideo editing scene
timeline_framereference frame for searching
sidedirection of searching, SIDE_LEFT, SIDE_RIGHT or SIDE_BOTH.
do_centerfind closest strip center if true, otherwise finds closest handle position.
do_unselectedonly find closest position of unselected strip.

Definition at line 237 of file strip_time.cc.

References abs, channels_displayed_get(), editing_get(), i, LISTBASE_FOREACH, MAXFRAME, render_is_muted(), SELECT, SIDE_BOTH, SIDE_LEFT, SIDE_RIGHT, time_left_handle_frame_get(), and time_right_handle_frame_get().

Referenced by blender::ed::vse::strip_jump_internal().

◆ time_get_rounded_sound_offset()

int blender::seq::time_get_rounded_sound_offset ( const Strip * strip,
float frames_per_second )

Get the sound offset (if any) and round it to the nearest integer. This is mostly used in places where subframe data is not allowed (like re-timing key positions). Returns zero if strip is not a sound strip or if there is no offset.

Definition at line 631 of file strip_time.cc.

References bSound::offset_time, round_fl_to_int(), Strip::sound, Strip::sound_offset, STRIP_TYPE_SOUND_RAM, and Strip::type.

Referenced by content_frame_index_get(), blender::ed::vse::fake_retiming_key_init(), blender::ed::vse::left_fake_key_frame_get(), retiming_key_timeline_frame_get(), retiming_sound_animation_data_set(), blender::ed::vse::right_fake_key_frame_get(), and time_strip_length_get().

◆ time_handles_frame_set()

void blender::seq::time_handles_frame_set ( const Scene * scene,
Strip * strip,
int left_handle_timeline_frame,
int right_handle_timeline_frame )

This function has same effect as calling @time_right_handle_frame_set and @time_right_handle_frame_set. If both handles are to be set after strip length changes, it is recommended to use this function as the order of setting handles is important. See #131731.

Definition at line 541 of file strip_time.cc.

References time_left_handle_frame_set(), and time_right_handle_frame_set().

Referenced by add_reload_new_file(), and blender::ed::vse::sequencer_scene_frame_range_update_exec().

◆ time_has_left_still_frames()

bool blender::seq::time_has_left_still_frames ( const Scene * scene,
const Strip * strip )

Returns true if at beginning of strip there is no content to be rendered.

Definition at line 433 of file strip_time.cc.

References time_left_handle_frame_get(), and time_start_frame_get().

Referenced by time_has_still_frames().

◆ time_has_right_still_frames()

bool blender::seq::time_has_right_still_frames ( const Scene * scene,
const Strip * strip )

Returns true if at end of strip there is no content to be rendered.

Definition at line 438 of file strip_time.cc.

References time_content_end_frame_get(), and time_right_handle_frame_get().

Referenced by time_has_still_frames().

◆ time_has_still_frames()

bool blender::seq::time_has_still_frames ( const Scene * scene,
const Strip * strip )

Returns true if strip has frames without content to render.

Definition at line 443 of file strip_time.cc.

References time_has_left_still_frames(), and time_has_right_still_frames().

◆ time_left_handle_frame_get()

int blender::seq::time_left_handle_frame_get ( const Scene * scene,
const Strip * strip )

Get timeline frame where strip boundary starts.

Definition at line 480 of file strip_time.cc.

References Strip::input1, Strip::input2, Strip::start, Strip::startdisp, and Strip::startofs.

Referenced by add_reload_new_file(), ANIM_draw_scene_strip_range(), append_sequencer_strip_snap_target(), blender::ed::vse::can_select_handle(), blender::ed::transform::create_trans_seq_clamp_data(), do_adjustment_impl(), blender::ed::vse::draw_cache_stripe(), blender::ed::vse::drawmeta_contents(), edit_strip_split(), blender::ed::transform::effect_input_get(), blender::ed::vse::find_neighboring_strip(), blender::ed::vse::find_next_prev_strip(), blender::ed::transform::flushTransSeq(), get_default_fac_fade(), blender::ed::vse::inner_clickable_handle_size_get(), invalidate_final_cache_strip_range(), blender::ed::vse::left_fake_key_frame_get(), blender::ed::vse::mouse_over_key_get_from_strip(), overlap_description_get(), blender::ed::vse::padded_strips_under_mouse_get(), blender::ed::transform::points_build_sources_timeline_strips(), blender::ed::transform::points_build_targets_timeline(), proxy_rebuild(), blender::ed::vse::query_lower_channel_strips(), query_right_side_strips(), blender::ed::vse::realize_fake_keys(), blender::ed::vse::realize_fake_keys_in_rect(), relations_check_scene_recursion(), retiming_key_timeline_frame_set(), blender::ed::vse::select_active_side(), blender::ed::vse::select_active_side_range(), blender::ed::vse::select_grouped_time_overlap(), blender::ed::vse::select_linked_time_strip(), seq_edit_split_intersect_check(), seq_meta_stack_alloc(), seq_update_meta_disp_range(), blender::ed::vse::seq_view_collection_rect_timeline(), blender::ed::transform::SeqToTransData(), blender::ed::transform::SeqTransInfo(), blender::ed::vse::sequencer_add_movie_multiple_strips(), blender::ed::vse::sequencer_add_movie_sync_sound_strip(), blender::ed::vse::sequencer_add_sound_multiple_strips(), sequencer_all_free_anim_ibufs(), blender::ed::vse::sequencer_box_select_exec(), blender::ed::vse::sequencer_clipboard_paste_exec(), blender::ed::vse::sequencer_draw_get_transform_preview_frame(), blender::ed::vse::sequencer_export_subtitles_exec(), blender::ed::vse::sequencer_main_cursor(), blender::ed::vse::sequencer_meta_make_exec(), blender::ed::vse::sequencer_reassign_inputs_exec(), blender::ed::vse::sequencer_retiming_box_select_exec(), blender::ed::vse::sequencer_scene_frame_range_update_exec(), blender::ed::vse::sequencer_select_linked_handle(), blender::ed::vse::sequencer_select_side_exec(), blender::ed::vse::sequencer_select_side_of_frame(), blender::ed::vse::sequencer_select_side_of_frame_exec(), blender::ed::vse::sequencer_separate_images_exec(), blender::ed::vse::sequencer_set_range_to_strips_exec(), blender::ed::vse::sequencer_snap_exec(), blender::ed::vse::sequencer_split_exec(), blender::ed::vse::sequencer_split_invoke(), blender::ed::vse::sequencer_visible_strips_get(), shuffle_strip_test_overlap(), shuffle_strip_time_offset_get(), blender::ed::vse::slip_apply_clamp(), blender::ed::vse::slip_data_init(), blender::ed::vse::slip_strips_delta(), sound_update_bounds(), blender::ed::vse::strip_cmp_time_startdisp_channel(), blender::ed::vse::strip_draw_context_get(), strip_effect_speed_rebuild_map(), blender::ed::vse::strip_handle_draw_size_get(), blender::ed::vse::strip_rectf(), strip_speed_effect_target_frame_get(), blender::ed::vse::strip_start_screenspace_get(), strip_time_effect_range_set(), strip_time_slip_strip_ex(), strip_transform_handle_overwrite_split(), strip_transform_handle_overwrite_trim(), blender::ed::vse::strips_are_adjacent(), blender::ed::vse::swap_strips(), time_find_next_prev_edit(), time_has_left_still_frames(), time_right_handle_frame_set(), time_strip_intersects_frame(), time_update_meta_strip_range(), timeline_expand_boundbox(), transform_offset_after_frame(), blender::ed::transform::transform_seq_slide_cursor_get(), transform_seqbase_shuffle_ex(), transform_test_overlap(), transform_translate_strip(), and versioning_convert_strip_speed_factor().

◆ time_left_handle_frame_set()

◆ time_media_playback_rate_factor_get()

◆ time_right_handle_frame_get()

int blender::seq::time_right_handle_frame_get ( const Scene * scene,
const Strip * strip )

Get timeline frame where strip boundary ends.

Definition at line 489 of file strip_time.cc.

References Strip::enddisp, Strip::endofs, Strip::input1, Strip::input2, and time_content_end_frame_get().

Referenced by add_reload_new_file(), ANIM_draw_scene_strip_range(), append_sequencer_strip_snap_target(), blender::ed::vse::can_select_handle(), blender::ed::transform::create_trans_seq_clamp_data(), do_adjustment_impl(), do_versions_sequencer_speed_effect_recursive(), blender::ed::vse::draw_cache_stripe(), blender::ed::vse::drawmeta_contents(), edit_strip_split(), blender::ed::vse::find_neighboring_strip(), blender::ed::vse::find_next_prev_strip(), blender::ed::transform::flushTransSeq(), give_frame_index(), blender::ed::vse::inner_clickable_handle_size_get(), invalidate_final_cache_strip_range(), blender::ed::vse::mouse_over_key_get_from_strip(), overlap_description_get(), blender::ed::vse::padded_strips_under_mouse_get(), blender::ed::transform::points_build_sources_timeline_strips(), blender::ed::transform::points_build_targets_timeline(), proxy_rebuild(), blender::ed::vse::query_lower_channel_strips(), blender::ed::vse::realize_fake_keys(), blender::ed::vse::realize_fake_keys_in_rect(), retiming_key_timeline_frame_set(), blender::ed::vse::right_fake_key_frame_get(), blender::ed::vse::select_grouped_time_overlap(), blender::ed::vse::select_linked_time_strip(), seq_edit_split_intersect_check(), seq_meta_stack_alloc(), seq_update_meta_disp_range(), blender::ed::vse::seq_view_collection_rect_timeline(), blender::ed::transform::SeqToTransData(), blender::ed::transform::SeqTransInfo(), blender::ed::vse::sequencer_add_movie_multiple_strips(), blender::ed::vse::sequencer_add_movie_sync_sound_strip(), blender::ed::vse::sequencer_add_sound_multiple_strips(), sequencer_all_free_anim_ibufs(), blender::ed::vse::sequencer_box_select_exec(), blender::ed::vse::sequencer_draw_get_transform_preview_frame(), blender::ed::vse::sequencer_export_subtitles_exec(), blender::ed::vse::sequencer_generic_invoke_xy_guess_channel(), blender::ed::vse::sequencer_main_cursor(), blender::ed::vse::sequencer_meta_make_exec(), blender::ed::vse::sequencer_retiming_box_select_exec(), blender::ed::vse::sequencer_scene_frame_range_update_exec(), blender::ed::vse::sequencer_select_side_of_frame(), blender::ed::vse::sequencer_select_side_of_frame_exec(), blender::ed::vse::sequencer_separate_images_exec(), blender::ed::vse::sequencer_set_range_to_strips_exec(), blender::ed::vse::sequencer_split_exec(), blender::ed::vse::sequencer_split_invoke(), blender::ed::vse::sequencer_visible_strips_get(), shuffle_strip_test_overlap(), shuffle_strip_time_offset_get(), blender::ed::vse::slip_apply_clamp(), blender::ed::vse::slip_data_init(), blender::ed::vse::slip_strips_delta(), sound_update_bounds(), blender::ed::vse::strip_draw_context_get(), strip_effect_speed_rebuild_map(), blender::ed::vse::strip_end_screenspace_get(), blender::ed::vse::strip_get_text_strip_cb(), blender::ed::vse::strip_handle_draw_size_get(), blender::ed::vse::strip_rectf(), strip_speed_effect_target_frame_get(), strip_time_effect_range_set(), strip_time_slip_strip_ex(), strip_transform_handle_overwrite_split(), strip_transform_handle_overwrite_trim(), blender::ed::vse::strips_are_adjacent(), blender::ed::vse::swap_strips(), time_find_next_prev_edit(), time_has_right_still_frames(), time_left_handle_frame_set(), time_strip_intersects_frame(), time_update_meta_strip_range(), timeline_expand_boundbox(), blender::ed::transform::transform_seq_slide_cursor_get(), transform_seqbase_shuffle_ex(), transform_test_overlap(), and transform_translate_strip().

◆ time_right_handle_frame_set()

◆ time_slip_strip()

void blender::seq::time_slip_strip ( const Scene * scene,
Strip * strip,
int frame_delta,
float subframe_delta,
bool slip_keyframes )

Move contents of a strip without moving the strip handles.

Definition at line 625 of file strip_time.cc.

References strip_time_slip_strip_ex().

Referenced by blender::ed::vse::slip_strips_delta().

◆ time_start_frame_get()

◆ time_start_frame_set()

void blender::seq::time_start_frame_set ( const Scene * scene,
Strip * strip,
int timeline_frame )

Set frame where strip content starts. This function will also move strip handles.

Definition at line 467 of file strip_time.cc.

References Scene::ed, lookup_meta_by_strip(), SEQ_lookup_effects_by_strip(), Strip::start, strip_time_update_effects_strip_range(), and time_update_meta_strip_range().

Referenced by time_left_handle_frame_set().

◆ time_strip_fps_get()

float blender::seq::time_strip_fps_get ( Scene * scene,
Strip * strip )

Get FPS rate of source media. Movie, scene and movie-clip strips are supported. Returns 0 for unsupported strip or if media can't be loaded.

Definition at line 314 of file strip_time.cc.

References StripAnim::anim, Strip::anims, BKE_movieclip_get_fps(), BLI_listbase_is_empty(), Strip::clip, ListBase::first, float, MOV_get_fps(), Scene::r, Strip::scene, strip_open_anim_file(), STRIP_TYPE_MOVIE, STRIP_TYPE_MOVIECLIP, STRIP_TYPE_SCENE, and Strip::type.

◆ time_strip_intersects_frame()

bool blender::seq::time_strip_intersects_frame ( const Scene * scene,
const Strip * strip,
int timeline_frame )

Test if strip intersects with timeline frame.

Note
This checks if strip would be rendered at this frame. For rendering it is assumed, that timeline frame has width of 1 frame and therefore ends at timeline_frame + 1
Parameters
stripStrip to be checked
timeline_frameabsolute frame position
Returns
true if strip intersects with timeline frame.

Definition at line 427 of file strip_time.cc.

References time_left_handle_frame_get(), and time_right_handle_frame_get().

Referenced by blender::ed::vse::have_free_channels(), query_strips_at_frame(), query_strips_recursive_at_frame(), relations_free_imbuf(), blender::ed::vse::sequencer_add_duplicate_exec(), sequencer_all_free_anim_ibufs(), blender::ed::vse::sequencer_select_side_of_frame_exec(), blender::ed::vse::sequencer_text_editing_active_poll(), blender::ed::vse::sequencer_unmute_exec(), skip_modifier(), strip_exists_at_frame(), strip_topmost_get(), and blender::ed::transform::visible_retiming_keys_get().

◆ time_strip_length_get()

int blender::seq::time_strip_length_get ( const Scene * scene,
const Strip * strip )

◆ time_update_meta_strip_range()

◆ timeline_boundbox()

void blender::seq::timeline_boundbox ( const Scene * scene,
const ListBase * seqbase,
rctf * r_rect )

Define boundary rectangle of sequencer timeline and fill in rect data

Parameters
sceneScene in which strips are located
seqbaseListBase in which strips are located
rectdata structure describing rectangle, that will be filled in by this function

Definition at line 364 of file strip_time.cc.

References timeline_expand_boundbox(), and timeline_init_boundbox().

Referenced by blender::ed::vse::draw_timeline_seq_display(), seq_time_gap_info_get(), and blender::ed::vse::seq_view_collection_rect_timeline().

◆ timeline_expand_boundbox()

void blender::seq::timeline_expand_boundbox ( const Scene * scene,
const ListBase * seqbase,
rctf * rect )

Stretch the given rectangle to include the given strips boundaries

Parameters
seqbaseListBase in which strips are located
rectoutput parameter to be filled with strips' boundaries

Definition at line 350 of file strip_time.cc.

References LISTBASE_FOREACH, time_left_handle_frame_get(), time_right_handle_frame_get(), rctf::xmax, rctf::xmin, and rctf::ymax.

Referenced by blender::ed::vse::displayed_channel_range_get(), blender::ed::vse::sequencer_main_clamp_view(), blender::ed::vse::sequencer_view_all_exec(), and timeline_boundbox().

◆ timeline_init_boundbox()

void blender::seq::timeline_init_boundbox ( const Scene * scene,
rctf * r_rect )

Initialize given rectangle with the Scene's timeline boundaries.

Parameters
scenethe Scene instance whose timeline boundaries are extracted from
rectoutput parameter to be filled with timeline boundaries

Definition at line 342 of file strip_time.cc.

References Scene::r, rctf::xmax, rctf::xmin, rctf::ymax, and rctf::ymin.

Referenced by blender::ed::vse::sequencer_main_clamp_view(), blender::ed::vse::sequencer_view_all_exec(), and timeline_boundbox().

◆ tonemap_calc_chunk_luminance()

◆ tonemap_calc_input_luminance()

AreaLuminance blender::seq::tonemap_calc_input_luminance ( const ImBuf * ibuf)
static

Definition at line 242 of file MOD_tonemap.cc.

References init(), blender::threading::parallel_reduce(), and ImBuf::y.

Referenced by tonemapmodifier_apply().

◆ tonemap_rd_photoreceptor()

◆ tonemap_simple()

template<typename MaskSampler>
void blender::seq::tonemap_simple ( float4 * scene_linear,
MaskSampler & mask,
int image_x,
IndexRange y_range,
const AvgLogLum & avg )
static

◆ tonemapmodifier_apply()

◆ tonemapmodifier_init_data()

◆ tonemapmodifier_panel_draw()

◆ tonemapmodifier_register()

void blender::seq::tonemapmodifier_register ( ARegionType * region_type)
static

◆ tool_settings_copy()

SequencerToolSettings * blender::seq::tool_settings_copy ( SequencerToolSettings * tool_settings)

Definition at line 841 of file sequencer.cc.

References MEM_dupallocN(), and tool_settings_copy().

Referenced by BKE_toolsettings_copy(), and tool_settings_copy().

◆ tool_settings_ensure()

◆ tool_settings_fit_method_get()

◆ tool_settings_fit_method_set()

void blender::seq::tool_settings_fit_method_set ( Scene * scene,
eSeqImageFitMethod fit_method )

◆ tool_settings_free()

void blender::seq::tool_settings_free ( SequencerToolSettings * tool_settings)

Definition at line 386 of file sequencer.cc.

References MEM_freeN().

Referenced by BKE_toolsettings_free().

◆ tool_settings_init()

◆ tool_settings_overlap_mode_get()

eSeqOverlapMode blender::seq::tool_settings_overlap_mode_get ( Scene * scene)

◆ tool_settings_pivot_point_get()

int blender::seq::tool_settings_pivot_point_get ( Scene * scene)

◆ tool_settings_snap_distance_get()

int blender::seq::tool_settings_snap_distance_get ( Scene * scene)

◆ tool_settings_snap_flag_get()

short blender::seq::tool_settings_snap_flag_get ( Scene * scene)

◆ tool_settings_snap_mode_get()

short blender::seq::tool_settings_snap_mode_get ( Scene * scene)

◆ transform_effect_get_handle()

void blender::seq::transform_effect_get_handle ( EffectHandle & rval)

◆ transform_handle_overlap() [1/2]

◆ transform_handle_overlap() [2/2]

◆ transform_image_raw_size_get()

◆ transform_is_locked()

◆ transform_offset_after_frame()

void blender::seq::transform_offset_after_frame ( Scene * scene,
ListBase * seqbase,
int delta,
int timeline_frame )

Move strips and markers (if not locked) that start after timeline_frame by delta frames

Parameters
sceneScene in which strips are located
seqbaseListBase in which strips are located
deltaoffset in frames to be applied
timeline_frameframe on timeline from where strips are moved

Definition at line 566 of file strip_transform.cc.

References LISTBASE_FOREACH, ToolSettings::lock_markers, Scene::markers, relations_invalidate_cache(), time_left_handle_frame_get(), Scene::toolsettings, and transform_translate_strip().

Referenced by edit_remove_gaps(), and blender::ed::vse::sequencer_gap_insert_exec().

◆ transform_seqbase_shuffle()

◆ transform_seqbase_shuffle_ex()

bool blender::seq::transform_seqbase_shuffle_ex ( ListBase * seqbasep,
Strip * test,
Scene * evil_scene,
int channel_delta )

◆ transform_seqbase_shuffle_time() [1/2]

bool blender::seq::transform_seqbase_shuffle_time ( blender::Span< Strip * > strips_to_shuffle,
blender::Span< Strip * > time_dependent_strips,
ListBase * seqbasep,
Scene * evil_scene,
ListBase * markers,
const bool use_sync_markers )

◆ transform_seqbase_shuffle_time() [2/2]

bool blender::seq::transform_seqbase_shuffle_time ( blender::Span< Strip * > strips_to_shuffle,
ListBase * seqbasep,
Scene * evil_scene,
ListBase * markers,
const bool use_sync_markers )

◆ transform_single_image_check()

bool blender::seq::transform_single_image_check ( const Strip * strip)

Checks whether the strip functions as a single static display, which means it has only one unique frame of content and does not draw holds. This includes non-sequence image strips and all effect strips with no inputs (e.g. color, text).

Definition at line 40 of file strip_transform.cc.

References Strip::flag, and SEQ_SINGLE_FRAME_CONTENT.

Referenced by blender::ed::transform::create_trans_seq_clamp_data(), blender::ed::transform::flushTransSeq(), give_frame_index(), blender::ed::vse::sequencer_add_image_strip_exec(), blender::ed::vse::sequencer_main_cursor(), blender::ed::vse::slip_data_init(), blender::ed::vse::strip_draw_context_get(), and time_left_handle_frame_set().

◆ transform_strip_can_be_translated()

◆ transform_test_overlap() [1/2]

bool blender::seq::transform_test_overlap ( const Scene * scene,
ListBase * seqbasep,
Strip * test )

Definition at line 59 of file strip_transform.cc.

References ListBase::first, Strip::next, and transform_test_overlap().

◆ transform_test_overlap() [2/2]

◆ transform_translate_strip()

◆ use_proxy()

bool blender::seq::use_proxy ( Editing * ed,
Strip * strip )
static

◆ whiteBalance_apply()

void blender::seq::whiteBalance_apply ( ModifierApplyContext & context,
StripModifierData * smd,
ImBuf * mask )
static

◆ whiteBalance_init_data()

void blender::seq::whiteBalance_init_data ( StripModifierData * smd)
static

Definition at line 24 of file MOD_white_balance.cc.

References copy_v3_fl(), and WhiteBalanceModifierData::white_value.

◆ whiteBalance_panel_draw()

void blender::seq::whiteBalance_panel_draw ( const bContext * C,
Panel * panel )
static

◆ whiteBalance_register()

void blender::seq::whiteBalance_register ( ARegionType * region_type)
static

◆ wipe_effect_get_handle()

◆ wrap_width_get()

int blender::seq::wrap_width_get ( const TextVars * data,
const int2 image_size )
static

Definition at line 853 of file vse_effect_text.cc.

References data, and wrap_width_get().

Referenced by apply_word_wrapping(), and wrap_width_get().

Variable Documentation

◆ CB_TABLE_SIZE

int blender::seq::CB_TABLE_SIZE = 1024
staticconstexpr

Use a larger lookup table than 256 possible byte values: due to alpha pre-multiplication, dark values with low alphas might need more precision.

Definition at line 60 of file MOD_color_balance.cc.

Referenced by blender::seq::ColorBalanceApplyOp::apply(), make_cb_table_lgg(), and make_cb_table_sop().

◆ final_image_cache_mutex

◆ g_font_map

SeqFontMap blender::seq::g_font_map
static

◆ JFA_INVALID

uint16_t blender::seq::JFA_INVALID = 0xFFFF
constexpr

Definition at line 502 of file vse_effect_text.cc.

Referenced by jump_flooding_pass().

◆ lookup_lock

◆ MAX_CHANNELS

◆ MAX_THUMBNAILS

int blender::seq::MAX_THUMBNAILS = 5000
staticconstexpr

Definition at line 38 of file thumbnail_cache.cc.

Referenced by thumbnail_cache_maintain_capacity().

◆ modifiersTypes

StripModifierTypeInfo* blender::seq::modifiersTypes[NUM_STRIP_MODIFIER_TYPES] = {nullptr}
static

◆ presence_lock

◆ seq_render_mutex

blender::Mutex blender::seq::seq_render_mutex
static

Definition at line 95 of file render.cc.

Referenced by render_give_ibuf().

◆ seqModifierType_BrightContrast

StripModifierTypeInfo blender::seq::seqModifierType_BrightContrast
Initial value:
= {
"BrightContrast",
CTX_N_(BLT_I18NCONTEXT_ID_SEQUENCE, "Brightness/Contrast"),
"BrightContrastModifierData",
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
}
#define CTX_N_(context, msgid)
#define BLT_I18NCONTEXT_ID_SEQUENCE
static void brightcontrast_register(ARegionType *region_type)
static void brightcontrast_apply(ModifierApplyContext &context, StripModifierData *smd, ImBuf *mask)

Definition at line 106 of file MOD_brightness_contrast.cc.

◆ seqModifierType_ColorBalance

StripModifierTypeInfo blender::seq::seqModifierType_ColorBalance
Initial value:
= {
"ColorBalance",
"ColorBalanceModifierData",
nullptr,
nullptr,
nullptr,
nullptr,
}
static void colorBalance_init_data(StripModifierData *smd)
static void colorBalance_apply(ModifierApplyContext &context, StripModifierData *smd, ImBuf *mask)
static void colorBalance_register(ARegionType *region_type)

Definition at line 372 of file MOD_color_balance.cc.

◆ seqModifierType_Compositor

StripModifierTypeInfo blender::seq::seqModifierType_Compositor
Initial value:
= {
"Compositor",
"SequencerCompositorModifierData",
nullptr,
nullptr,
}
static void compositor_modifier_register(ARegionType *region_type)
static void compositor_modifier_init_data(StripModifierData *strip_modifier_data)
static void compositor_modifier_apply(ModifierApplyContext &context, StripModifierData *strip_modifier_data, ImBuf *mask)

Definition at line 270 of file MOD_compositor.cc.

◆ seqModifierType_Curves

StripModifierTypeInfo blender::seq::seqModifierType_Curves
Initial value:
= {
"Curves",
"CurvesModifierData",
}
static void curves_register(ARegionType *region_type)
static void curves_write(BlendWriter *writer, const StripModifierData *smd)
static void curves_apply(ModifierApplyContext &context, StripModifierData *smd, ImBuf *mask)
Definition MOD_curves.cc:72
static void curves_free_data(StripModifierData *smd)
Definition MOD_curves.cc:33
static void curves_copy_data(StripModifierData *target, StripModifierData *smd)
Definition MOD_curves.cc:40
static void curves_read(BlendDataReader *reader, StripModifierData *smd)
static void curves_init_data(StripModifierData *smd)
Definition MOD_curves.cc:26

Definition at line 122 of file MOD_curves.cc.

◆ seqModifierType_HueCorrect

StripModifierTypeInfo blender::seq::seqModifierType_HueCorrect
Initial value:
= {
"HueCorrect",
"HueCorrectModifierData",
}
static void hue_correct_register(ARegionType *region_type)
static void hue_correct_write(BlendWriter *writer, const StripModifierData *smd)
static void hue_correct_init_data(StripModifierData *smd)
static void hue_correct_free_data(StripModifierData *smd)
static void hue_correct_copy_data(StripModifierData *target, StripModifierData *smd)
static void hue_correct_apply(ModifierApplyContext &context, StripModifierData *smd, ImBuf *mask)
static void hue_correct_read(BlendDataReader *reader, StripModifierData *smd)

Definition at line 149 of file MOD_hue_correct.cc.

◆ seqModifierType_Mask

StripModifierTypeInfo blender::seq::seqModifierType_Mask
Initial value:
= {
"Mask",
"SequencerMaskModifierData",
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
}
static void maskmodifier_register(ARegionType *region_type)
static void maskmodifier_apply(ModifierApplyContext &context, StripModifierData *, ImBuf *mask)

Definition at line 85 of file sequencer/intern/modifiers/MOD_mask.cc.

◆ seqModifierType_None

StripModifierTypeInfo blender::seq::seqModifierType_None
Initial value:
= {
"None",
"StripModifierData",
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
}

Definition at line 17 of file sequencer/intern/modifiers/MOD_none.cc.

◆ seqModifierType_SoundEqualizer

StripModifierTypeInfo blender::seq::seqModifierType_SoundEqualizer
Initial value:
= {
"SoundEqualizer",
"SoundEqualizerModifierData",
nullptr,
}
void sound_equalizermodifier_init_data(StripModifierData *smd)
static void sound_equalizermodifier_write(BlendWriter *writer, const StripModifierData *smd)
void sound_equalizermodifier_free(StripModifierData *smd)
static void sound_equalizermodifier_read(BlendDataReader *reader, StripModifierData *smd)
static void sound_equalizermodifier_register(ARegionType *region_type)
void sound_equalizermodifier_copy_data(StripModifierData *target, StripModifierData *smd)

Definition at line 82 of file MOD_sound_equalizer.cc.

◆ seqModifierType_Tonemap

StripModifierTypeInfo blender::seq::seqModifierType_Tonemap
Initial value:
= {
"Tonemap",
"SequencerTonemapModifierData",
nullptr,
nullptr,
nullptr,
nullptr,
}
static void tonemapmodifier_init_data(StripModifierData *smd)
static void tonemapmodifier_apply(ModifierApplyContext &context, StripModifierData *smd, ImBuf *mask)
static void tonemapmodifier_register(ARegionType *region_type)

Definition at line 352 of file MOD_tonemap.cc.

◆ seqModifierType_WhiteBalance

StripModifierTypeInfo blender::seq::seqModifierType_WhiteBalance
Initial value:
= {
"WhiteBalance",
"WhiteBalanceModifierData",
nullptr,
nullptr,
nullptr,
nullptr,
}
static void whiteBalance_init_data(StripModifierData *smd)
static void whiteBalance_register(ARegionType *region_type)
static void whiteBalance_apply(ModifierApplyContext &context, StripModifierData *smd, ImBuf *mask)

Definition at line 97 of file MOD_white_balance.cc.

◆ source_image_cache_mutex

◆ STRIP_MODIFIER_TYPE_PANEL_PREFIX

char blender::seq::STRIP_MODIFIER_TYPE_PANEL_PREFIX[] = "STRIPMOD_PT_"
staticconstexpr

Definition at line 91 of file SEQ_modifier.hh.

Referenced by modifier_type_panel_id().

◆ thumb_cache_mutex

◆ THUMB_SIZE

int blender::seq::THUMB_SIZE = 256
staticconstexpr

◆ view3d_fn

DrawViewFn blender::seq::view3d_fn = nullptr

◆ workersSoundModifiers

const SoundModifierWorkerInfo blender::seq::workersSoundModifiers[]
Initial value:
= {
@ eSeqModifierType_SoundEqualizer
void * sound_equalizermodifier_recreator(Strip *strip, StripModifierData *smd, void *sound_in, bool &needs_update)

Definition at line 42 of file sequencer/intern/sound.cc.

Referenced by sound_modifier_worker_info_get().