Blender V4.3
SEQ_sequencer.hh
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2004-2024 Blender Authors
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
5#pragma once
6
11#include "DNA_scene_types.h"
12
13struct BlendDataReader;
14struct BlendWriter;
15struct Depsgraph;
16struct Editing;
17struct Main;
18struct MetaStack;
19struct Scene;
21struct Sequence;
23
24constexpr int SEQ_MAX_CHANNELS = 128;
25
26/* RNA enums, just to be more readable */
27enum {
34};
35
36/* seq_dupli' flags */
37#define SEQ_DUPE_UNIQUE_NAME (1 << 0)
38#define SEQ_DUPE_ALL (1 << 3) /* otherwise only selected are copied */
39#define SEQ_DUPE_IS_RECURSIVE_CALL (1 << 4)
40
52Editing *SEQ_editing_get(const Scene *scene);
54void SEQ_editing_free(Scene *scene, bool do_id_user);
68void SEQ_seqbase_active_set(Editing *ed, ListBase *seqbase);
69Sequence *SEQ_sequence_alloc(ListBase *lb, int timeline_frame, int machine, int type);
70void SEQ_sequence_free(Scene *scene, Sequence *seq);
83void SEQ_meta_stack_set(const Scene *scene, Sequence *dst_seq);
91 Scene *scene_dst,
92 ListBase *new_seq_list,
93 Sequence *seq,
94 int dupe_flag);
95void SEQ_sequence_base_dupli_recursive(const Scene *scene_src,
96 Scene *scene_dst,
97 ListBase *nseqbase,
98 const ListBase *seqbase,
99 int dupe_flag,
100 int flag);
101bool SEQ_is_valid_strip_channel(const Sequence *seq);
102
106void SEQ_blend_write(BlendWriter *writer, ListBase *seqbase);
107void SEQ_blend_read(BlendDataReader *reader, ListBase *seqbase);
108
110
111/* Depsgraph update function. */
112
118void SEQ_eval_sequences(Depsgraph *depsgraph, Scene *scene, ListBase *seqbase);
119
130Sequence *SEQ_sequence_lookup_seq_by_name(const Scene *scene, const char *key);
131
137 const SeqTimelineChannel *channel);
138
144void SEQ_sequence_lookup_free(const Scene *scene);
145
149void SEQ_sequence_lookup_invalidate(const Scene *scene);
eSeqImageFitMethod
eSeqOverlapMode
void SEQ_tool_settings_free(SequencerToolSettings *tool_settings)
Definition sequencer.cc:369
Sequence * SEQ_sequence_lookup_owner_by_channel(const Scene *scene, const SeqTimelineChannel *channel)
Editing * SEQ_editing_ensure(Scene *scene)
Definition sequencer.cc:267
void SEQ_sequence_free(Scene *scene, Sequence *seq)
Definition sequencer.cc:245
SequencerToolSettings * SEQ_tool_settings_ensure(Scene *scene)
Definition sequencer.cc:358
ListBase * SEQ_active_seqbase_get(const Editing *ed)
Definition sequencer.cc:416
@ SEQ_SIDE_RIGHT
@ SEQ_SIDE_MOUSE
@ SEQ_SIDE_BOTH
@ SEQ_SIDE_NO_CHANGE
@ SEQ_SIDE_LEFT
@ SEQ_SIDE_NONE
short SEQ_tool_settings_snap_mode_get(Scene *scene)
Definition sequencer.cc:380
int SEQ_tool_settings_snap_distance_get(Scene *scene)
Definition sequencer.cc:392
void SEQ_editing_free(Scene *scene, bool do_id_user)
Definition sequencer.cc:284
void SEQ_doversion_250_sound_proxy_update(Main *bmain, Editing *ed)
Definition sequencer.cc:941
Sequence * SEQ_meta_stack_pop(Editing *ed)
Definition sequencer.cc:481
SequencerToolSettings * SEQ_tool_settings_init()
Definition sequencer.cc:342
short SEQ_tool_settings_snap_flag_get(Scene *scene)
Definition sequencer.cc:386
SequencerToolSettings * SEQ_tool_settings_copy(SequencerToolSettings *tool_settings)
Definition sequencer.cc:701
void SEQ_eval_sequences(Depsgraph *depsgraph, Scene *scene, ListBase *seqbase)
Sequence * SEQ_sequence_dupli_recursive(const Scene *scene_src, Scene *scene_dst, ListBase *new_seq_list, Sequence *seq, int dupe_flag)
Definition sequencer.cc:639
void SEQ_seqbase_active_set(Editing *ed, ListBase *seqbase)
Definition sequencer.cc:425
void SEQ_blend_read(BlendDataReader *reader, ListBase *seqbase)
Definition sequencer.cc:922
eSeqOverlapMode SEQ_tool_settings_overlap_mode_get(Scene *scene)
Definition sequencer.cc:404
void SEQ_sequence_lookup_invalidate(const Scene *scene)
int SEQ_tool_settings_pivot_point_get(Scene *scene)
Definition sequencer.cc:410
Sequence * SEQ_sequence_lookup_seq_by_name(const Scene *scene, const char *key)
void SEQ_sequence_lookup_free(const Scene *scene)
eSeqImageFitMethod SEQ_tool_settings_fit_method_get(Scene *scene)
Definition sequencer.cc:374
constexpr int SEQ_MAX_CHANNELS
void SEQ_meta_stack_set(const Scene *scene, Sequence *dst_seq)
Definition sequencer.cc:457
Sequence * SEQ_sequence_alloc(ListBase *lb, int timeline_frame, int machine, int type)
Definition sequencer.cc:123
void SEQ_sequence_base_dupli_recursive(const Scene *scene_src, Scene *scene_dst, ListBase *nseqbase, const ListBase *seqbase, int dupe_flag, int flag)
Definition sequencer.cc:653
void SEQ_tool_settings_fit_method_set(Scene *scene, eSeqImageFitMethod fit_method)
Definition sequencer.cc:398
Editing * SEQ_editing_get(const Scene *scene)
Definition sequencer.cc:262
bool SEQ_is_valid_strip_channel(const Sequence *seq)
Definition sequencer.cc:696
void SEQ_blend_write(BlendWriter *writer, ListBase *seqbase)
Definition sequencer.cc:803
MetaStack * SEQ_meta_stack_active_get(const Editing *ed)
Definition sequencer.cc:448
const Depsgraph * depsgraph
uint8_t flag
Definition wm_window.cc:138