Blender  V3.3
Functions
strip_time.c File Reference
#include "DNA_scene_types.h"
#include "DNA_sequence_types.h"
#include "BLI_listbase.h"
#include "BLI_math.h"
#include "BKE_movieclip.h"
#include "BKE_scene.h"
#include "BKE_sound.h"
#include "DNA_sound_types.h"
#include "IMB_imbuf.h"
#include "SEQ_channels.h"
#include "SEQ_iterator.h"
#include "SEQ_render.h"
#include "SEQ_sequencer.h"
#include "SEQ_time.h"
#include "SEQ_transform.h"
#include "sequencer.h"
#include "strip_time.h"
#include "utils.h"

Go to the source code of this file.

Functions

static float seq_time_media_playback_rate_factor_get (const Scene *scene, const Sequence *seq)
 
static float seq_time_playback_rate_factor_get (const Scene *scene, const Sequence *seq)
 
float seq_give_frame_index (const Scene *scene, Sequence *seq, float timeline_frame)
 
static int metaseq_start (Sequence *metaseq)
 
static int metaseq_end (Sequence *metaseq)
 
static void seq_update_sound_bounds_recursive_impl (const Scene *scene, Sequence *metaseq, int start, int end)
 
void seq_update_sound_bounds_recursive (const Scene *scene, Sequence *metaseq)
 
void SEQ_time_update_meta_strip_range (const Scene *scene, Sequence *seq_meta)
 
void seq_time_effect_range_set (const Scene *scene, Sequence *seq)
 
void seq_time_update_effects_strip_range (const Scene *scene, SeqCollection *effects)
 
int SEQ_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 SEQ_time_sequence_get_fps (Scene *scene, Sequence *seq)
 
void SEQ_timeline_init_boundbox (const Scene *scene, rctf *rect)
 
void SEQ_timeline_expand_boundbox (const Scene *scene, const ListBase *seqbase, rctf *rect)
 
void SEQ_timeline_boundbox (const Scene *scene, const ListBase *seqbase, rctf *rect)
 
static bool strip_exists_at_frame (const Scene *scene, SeqCollection *all_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 SEQ_time_strip_intersects_frame (const Scene *scene, const Sequence *seq, const int timeline_frame)
 
void SEQ_time_speed_factor_set (const Scene *scene, Sequence *seq, const float speed_factor)
 
bool SEQ_time_has_left_still_frames (const Scene *scene, const Sequence *seq)
 
bool SEQ_time_has_right_still_frames (const Scene *scene, const Sequence *seq)
 
bool SEQ_time_has_still_frames (const Scene *scene, const Sequence *seq)
 
int SEQ_time_strip_length_get (const Scene *scene, const Sequence *seq)
 
float SEQ_time_start_frame_get (const Sequence *seq)
 
void SEQ_time_start_frame_set (const Scene *scene, Sequence *seq, int timeline_frame)
 
int SEQ_time_left_handle_frame_get (const Scene *UNUSED(scene), const Sequence *seq)
 
int SEQ_time_right_handle_frame_get (const Scene *scene, const Sequence *seq)
 
void SEQ_time_left_handle_frame_set (const Scene *scene, Sequence *seq, int val)
 
void SEQ_time_right_handle_frame_set (const Scene *scene, Sequence *seq, int val)
 
void seq_time_translate_handles (const Scene *scene, Sequence *seq, const int offset)
 

Function Documentation

◆ metaseq_end()

static int metaseq_end ( Sequence metaseq)
static

◆ metaseq_start()

static int metaseq_start ( Sequence metaseq)
static

◆ seq_give_frame_index()

float seq_give_frame_index ( const Scene scene,
Sequence seq,
float  timeline_frame 
)

◆ seq_time_effect_range_set()

void seq_time_effect_range_set ( const Scene scene,
Sequence seq 
)

◆ SEQ_time_find_next_prev_edit()

int SEQ_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 
)

◆ seq_time_gap_info_get()

void seq_time_gap_info_get ( const Scene scene,
ListBase seqbase,
const int  initial_frame,
GapInfo r_gap_info 
)

◆ SEQ_time_has_left_still_frames()

bool SEQ_time_has_left_still_frames ( const Scene scene,
const Sequence seq 
)

◆ SEQ_time_has_right_still_frames()

bool SEQ_time_has_right_still_frames ( const Scene scene,
const Sequence seq 
)

◆ SEQ_time_has_still_frames()

bool SEQ_time_has_still_frames ( const Scene scene,
const Sequence seq 
)

◆ SEQ_time_left_handle_frame_get()

int SEQ_time_left_handle_frame_get ( const Scene UNUSEDscene,
const Sequence seq 
)

Definition at line 506 of file strip_time.c.

References Sequence::seq1, Sequence::seq2, Sequence::start, Sequence::startdisp, and Sequence::startofs.

Referenced by check_seq_need_thumbnails(), do_adjustment_impl(), draw_cache_view(), draw_color_strip_band(), draw_effect_inputs_highlight(), draw_seq_background(), draw_seq_handle(), draw_seq_strip(), draw_seq_strip_thumbnail(), draw_seq_strips(), draw_seq_text_get_overlay_string(), draw_sequence_extensions_overlay(), drawmeta_contents(), effect_input_get(), find_nearest_seq(), find_neighboring_sequence(), find_next_prev_sequence(), flushTransSeq(), get_default_fac_fade(), overlap_description_get(), query_lower_channel_strips(), query_right_side_strips(), select_active_side(), select_active_side_range(), select_grouped_time_overlap(), select_linked_time(), SEQ_add_reload_new_file(), seq_cache_cleanup_sequence(), seq_cache_free_temp_cache(), seq_cache_thumbnail_cleanup(), seq_cmp_time_startdisp_channel(), seq_disk_cache_invalidate(), seq_edit_split_effect_intersect_check(), SEQ_edit_strip_split(), seq_effect_speed_rebuild_map(), seq_frame_apply_snap(), seq_meta_stack_alloc(), SEQ_proxy_rebuild(), seq_rectf(), seq_relations_check_depend(), SEQ_relations_check_scene_recursion(), SEQ_render_thumbnail_first_frame_get(), SEQ_render_thumbnail_next_frame_get(), SEQ_render_thumbnails_base_set(), SEQ_render_thumbnails_guaranteed_set_frame_step_get(), seq_snap_source_points_build(), seq_snap_target_points_build(), SEQ_sound_update_bounds(), seq_speed_effect_target_frame_get(), seq_time_effect_range_set(), SEQ_time_find_next_prev_edit(), SEQ_time_has_left_still_frames(), SEQ_time_right_handle_frame_set(), SEQ_time_speed_factor_set(), SEQ_time_strip_intersects_frame(), SEQ_time_update_meta_strip_range(), SEQ_timeline_expand_boundbox(), SEQ_transform_fix_single_image_seq_offsets(), seq_transform_handle_overwrite_split(), seq_transform_handle_overwrite_trim(), SEQ_transform_offset_after_frame(), SEQ_transform_seqbase_shuffle_ex(), SEQ_transform_test_overlap_seq_seq(), SEQ_transform_translate_sequence(), seq_update_meta_disp_range(), seq_view_collection_rect_timeline(), SeqToTransData(), SeqTransInfo(), sequence_handle_size_get_clamped(), sequencer_add_movie_clamp_sound_strip_length(), sequencer_add_movie_multiple_strips(), sequencer_add_sound_multiple_strips(), sequencer_all_free_anim_ibufs(), sequencer_box_select_exec(), sequencer_draw_get_transform_preview_frame(), sequencer_export_subtitles_exec(), sequencer_meta_make_exec(), sequencer_paste_exec(), sequencer_select_linked_handle(), sequencer_select_side_exec(), sequencer_select_side_of_frame(), sequencer_select_side_of_frame_exec(), sequencer_separate_images_exec(), sequencer_set_range_to_strips_exec(), sequencer_slip_apply_limits(), sequencer_snap_exec(), sequencer_split_exec(), sequencer_thumbnail_closest_guaranteed_frame_get(), sequencer_thumbnail_ghash_init(), shuffle_seq_test_overlap(), shuffle_seq_time_offset_get(), and swap_sequence().

◆ SEQ_time_left_handle_frame_set()

void SEQ_time_left_handle_frame_set ( const Scene scene,
Sequence seq,
int  val 
)

◆ seq_time_media_playback_rate_factor_get()

static float seq_time_media_playback_rate_factor_get ( const Scene scene,
const Sequence seq 
)
static

◆ seq_time_playback_rate_factor_get()

static float seq_time_playback_rate_factor_get ( const Scene scene,
const Sequence seq 
)
static

◆ SEQ_time_right_handle_frame_get()

int SEQ_time_right_handle_frame_get ( const Scene scene,
const Sequence seq 
)

Definition at line 515 of file strip_time.c.

References Sequence::enddisp, Sequence::endofs, scene, Sequence::seq1, Sequence::seq2, SEQ_time_strip_length_get(), and Sequence::start.

Referenced by check_seq_need_thumbnails(), do_adjustment_impl(), do_versions_sequencer_speed_effect_recursive(), draw_cache_view(), draw_color_strip_band(), draw_effect_inputs_highlight(), draw_seq_background(), draw_seq_handle(), draw_seq_strip(), draw_seq_strip_thumbnail(), draw_seq_strips(), draw_seq_text_get_overlay_string(), draw_sequence_extensions_overlay(), drawmeta_contents(), find_nearest_seq(), find_neighboring_sequence(), find_next_prev_sequence(), flushTransSeq(), overlap_description_get(), query_lower_channel_strips(), select_grouped_time_overlap(), select_linked_time(), SEQ_add_reload_new_file(), seq_cache_cleanup_sequence(), seq_cache_free_temp_cache(), seq_disk_cache_invalidate(), seq_edit_split_effect_intersect_check(), SEQ_edit_strip_split(), seq_effect_speed_rebuild_map(), seq_frame_apply_snap(), seq_get_text_strip_cb(), seq_give_frame_index(), seq_meta_stack_alloc(), SEQ_proxy_rebuild(), seq_rectf(), seq_relations_check_depend(), SEQ_render_thumbnails(), SEQ_render_thumbnails_base_set(), SEQ_render_thumbnails_guaranteed_set_frame_step_get(), seq_snap_source_points_build(), seq_snap_target_points_build(), SEQ_sound_update_bounds(), seq_speed_effect_target_frame_get(), seq_time_effect_range_set(), SEQ_time_find_next_prev_edit(), SEQ_time_has_right_still_frames(), SEQ_time_left_handle_frame_set(), SEQ_time_strip_intersects_frame(), SEQ_time_update_meta_strip_range(), SEQ_timeline_expand_boundbox(), SEQ_transform_fix_single_image_seq_offsets(), seq_transform_handle_overwrite_split(), seq_transform_handle_overwrite_trim(), SEQ_transform_seqbase_shuffle_ex(), SEQ_transform_test_overlap_seq_seq(), SEQ_transform_translate_sequence(), seq_update_meta_disp_range(), seq_view_collection_rect_timeline(), SeqToTransData(), SeqTransInfo(), sequence_handle_size_get_clamped(), sequencer_add_movie_clamp_sound_strip_length(), sequencer_add_movie_multiple_strips(), sequencer_add_sound_multiple_strips(), sequencer_all_free_anim_ibufs(), sequencer_box_select_exec(), sequencer_draw_get_transform_preview_frame(), sequencer_export_subtitles_exec(), sequencer_generic_invoke_xy_guess_channel(), sequencer_meta_make_exec(), sequencer_select_side_of_frame(), sequencer_select_side_of_frame_exec(), sequencer_separate_images_exec(), sequencer_set_range_to_strips_exec(), sequencer_slip_apply_limits(), sequencer_split_exec(), shuffle_seq_test_overlap(), shuffle_seq_time_offset_get(), and swap_sequence().

◆ SEQ_time_right_handle_frame_set()

void SEQ_time_right_handle_frame_set ( const Scene scene,
Sequence seq,
int  val 
)

◆ SEQ_time_sequence_get_fps()

float SEQ_time_sequence_get_fps ( Scene scene,
Sequence seq 
)

◆ SEQ_time_speed_factor_set()

void SEQ_time_speed_factor_set ( const Scene scene,
Sequence seq,
const float  speed_factor 
)

◆ SEQ_time_start_frame_get()

float SEQ_time_start_frame_get ( const Sequence seq)

◆ SEQ_time_start_frame_set()

void SEQ_time_start_frame_set ( const Scene scene,
Sequence seq,
int  timeline_frame 
)

◆ SEQ_time_strip_intersects_frame()

bool SEQ_time_strip_intersects_frame ( const Scene scene,
const Sequence seq,
const int  timeline_frame 
)

◆ SEQ_time_strip_length_get()

int SEQ_time_strip_length_get ( const Scene scene,
const Sequence seq 
)

◆ seq_time_translate_handles()

void seq_time_translate_handles ( const Scene scene,
Sequence seq,
const int  offset 
)

◆ seq_time_update_effects_strip_range()

void seq_time_update_effects_strip_range ( const Scene scene,
SeqCollection effects 
)

◆ SEQ_time_update_meta_strip_range()

void SEQ_time_update_meta_strip_range ( const Scene scene,
Sequence seq_meta 
)

◆ SEQ_timeline_boundbox()

void SEQ_timeline_boundbox ( const Scene scene,
const ListBase seqbase,
rctf rect 
)

◆ SEQ_timeline_expand_boundbox()

void SEQ_timeline_expand_boundbox ( const Scene scene,
const ListBase seqbase,
rctf rect 
)

◆ SEQ_timeline_init_boundbox()

void SEQ_timeline_init_boundbox ( const Scene scene,
rctf rect 
)

◆ seq_update_sound_bounds_recursive()

void seq_update_sound_bounds_recursive ( const Scene scene,
Sequence metaseq 
)

◆ seq_update_sound_bounds_recursive_impl()

static void seq_update_sound_bounds_recursive_impl ( const Scene scene,
Sequence metaseq,
int  start,
int  end 
)
static

◆ strip_exists_at_frame()

static bool strip_exists_at_frame ( const Scene scene,
SeqCollection all_strips,
const int  timeline_frame 
)
static

Definition at line 379 of file strip_time.c.

References scene, SEQ_ITERATOR_FOREACH, and SEQ_time_strip_intersects_frame().

Referenced by seq_time_gap_info_get().