Blender V5.0
SEQ_time.hh
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2004 Blender Authors
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
5#pragma once
6
10
11struct ListBase;
12struct Scene;
13struct Strip;
14struct rctf;
15
16namespace blender::seq {
17
24void timeline_init_boundbox(const Scene *scene, rctf *r_rect);
31void timeline_expand_boundbox(const Scene *scene, const ListBase *seqbase, rctf *rect);
39void timeline_boundbox(const Scene *scene, const ListBase *seqbase, rctf *r_rect);
44float time_strip_fps_get(Scene *scene, Strip *strip);
54 int timeline_frame,
55 short side,
56 bool do_skip_mute,
57 bool do_center,
58 bool do_unselected);
68bool time_strip_intersects_frame(const Scene *scene, const Strip *strip, int timeline_frame);
69/* Convert timeline frame so strip frame index. */
70float give_frame_index(const Scene *scene, const Strip *strip, float timeline_frame);
74bool time_has_still_frames(const Scene *scene, const Strip *strip);
78bool time_has_left_still_frames(const Scene *scene, const Strip *strip);
82bool time_has_right_still_frames(const Scene *scene, const Strip *strip);
86int time_left_handle_frame_get(const Scene *scene, const Strip *strip);
90int time_right_handle_frame_get(const Scene *scene, const Strip *strip);
94void time_left_handle_frame_set(const Scene *scene, Strip *strip, int timeline_frame);
99void time_right_handle_frame_set(const Scene *scene, Strip *strip, int timeline_frame);
105void time_handles_frame_set(const Scene *scene,
106 Strip *strip,
107 int left_handle_timeline_frame,
108 int right_handle_timeline_frame);
113int time_strip_length_get(const Scene *scene, const Strip *strip);
117float time_start_frame_get(const Strip *strip);
121float time_content_end_frame_get(const Scene *scene, const Strip *strip);
126void time_start_frame_set(const Scene *scene, Strip *strip, int timeline_frame);
133void time_update_meta_strip_range(const Scene *scene, Strip *strip_meta);
137void time_slip_strip(
138 const Scene *scene, Strip *strip, int frame_delta, float subframe_delta, bool slip_keyframes);
143float time_media_playback_rate_factor_get(const Strip *strip, float scene_fps);
149int time_get_rounded_sound_offset(const Strip *strip, float frames_per_second);
150
151} // namespace blender::seq
struct ListBase ListBase
struct Scene Scene
struct Strip Strip
struct rctf rctf
int time_right_handle_frame_get(const Scene *scene, const Strip *strip)
float time_content_end_frame_get(const Scene *scene, const Strip *strip)
bool time_has_right_still_frames(const Scene *scene, const Strip *strip)
float time_media_playback_rate_factor_get(const Strip *strip, const float scene_fps)
Definition strip_time.cc:41
void timeline_boundbox(const Scene *scene, const ListBase *seqbase, rctf *r_rect)
bool time_has_left_still_frames(const Scene *scene, const Strip *strip)
float give_frame_index(const Scene *scene, const Strip *strip, float timeline_frame)
Definition strip_time.cc:52
float time_strip_fps_get(Scene *scene, Strip *strip)
int time_left_handle_frame_get(const Scene *, const Strip *strip)
int time_get_rounded_sound_offset(const Strip *strip, const float frames_per_second)
float time_start_frame_get(const Strip *strip)
int time_strip_length_get(const Scene *scene, const Strip *strip)
void timeline_expand_boundbox(const Scene *scene, const ListBase *seqbase, rctf *rect)
void time_update_meta_strip_range(const Scene *scene, Strip *strip_meta)
bool time_strip_intersects_frame(const Scene *scene, const Strip *strip, const int timeline_frame)
void time_slip_strip(const Scene *scene, Strip *strip, int frame_delta, float subframe_delta, bool slip_keyframes)
void time_handles_frame_set(const Scene *scene, Strip *strip, int left_handle_timeline_frame, int right_handle_timeline_frame)
void time_start_frame_set(const Scene *scene, Strip *strip, int timeline_frame)
void timeline_init_boundbox(const Scene *scene, rctf *r_rect)
bool time_has_still_frames(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)
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)