Blender V4.5
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
10
11#include "DNA_scene_types.h"
12
13struct BlendDataReader;
14struct BlendWriter;
15struct Depsgraph;
16struct Editing;
17struct Main;
18struct MetaStack;
19struct Scene;
21struct Strip;
23
24namespace blender::seq {
25
26constexpr int MAX_CHANNELS = 128;
27
28/* RNA enums, just to be more readable */
29enum {
36};
37
38/* strip_duplicate' flags */
39#define STRIP_DUPE_UNIQUE_NAME (1 << 0)
40#define STRIP_DUPE_ALL (1 << 3) /* otherwise only selected are copied */
41
44void tool_settings_free(SequencerToolSettings *tool_settings);
53Editing *editing_get(const Scene *scene);
55void editing_free(Scene *scene, bool do_id_user);
69void active_seqbase_set(Editing *ed, ListBase *seqbase);
70Strip *strip_alloc(ListBase *lb, int timeline_frame, int channel, int type);
71void strip_free(Scene *scene, Strip *strip);
84void meta_stack_set(const Scene *scene, Strip *dst);
92 const Scene *scene_src, Scene *scene_dst, ListBase *new_seq_list, Strip *strip, int dupe_flag);
93void seqbase_duplicate_recursive(const Scene *scene_src,
94 Scene *scene_dst,
95 ListBase *nseqbase,
96 const ListBase *seqbase,
97 int dupe_flag,
98 int flag);
99bool is_valid_strip_channel(const Strip *strip);
100
104void blend_write(BlendWriter *writer, ListBase *seqbase);
105void blend_read(BlendDataReader *reader, ListBase *seqbase);
106
108
109/* Depsgraph update function. */
110
116void eval_strips(Depsgraph *depsgraph, Scene *scene, ListBase *seqbase);
117
128Strip *lookup_strip_by_name(Editing *ed, const char *key);
129
139
154Strip *lookup_meta_by_strip(Editing *ed, const Strip *key);
158void strip_lookup_free(Editing *ed);
159
163void strip_lookup_invalidate(const Editing *ed);
164
165} // namespace blender::seq
eSeqImageFitMethod
eSeqOverlapMode
BPy_StructRNA * depsgraph
Strip * lookup_meta_by_strip(Editing *ed, const Strip *key)
SequencerToolSettings * tool_settings_init()
Definition sequencer.cc:346
void eval_strips(Depsgraph *depsgraph, Scene *scene, ListBase *seqbase)
Strip * lookup_strip_by_name(Editing *ed, const char *key)
eSeqImageFitMethod tool_settings_fit_method_get(Scene *scene)
Definition sequencer.cc:378
void doversion_250_sound_proxy_update(Main *bmain, Editing *ed)
Definition sequencer.cc:970
Span< Strip * > lookup_strips_by_scene(Editing *ed, const Scene *key)
SequencerToolSettings * tool_settings_copy(SequencerToolSettings *tool_settings)
Definition sequencer.cc:720
void blend_write(BlendWriter *writer, ListBase *seqbase)
Definition sequencer.cc:822
void tool_settings_free(SequencerToolSettings *tool_settings)
Definition sequencer.cc:373
Editing * editing_get(const Scene *scene)
Definition sequencer.cc:272
void meta_stack_set(const Scene *scene, Strip *dst)
Definition sequencer.cc:461
void active_seqbase_set(Editing *ed, ListBase *seqbase)
Definition sequencer.cc:429
void strip_free(Scene *scene, Strip *strip)
Definition sequencer.cc:255
MetaStack * meta_stack_active_get(const Editing *ed)
Definition sequencer.cc:452
Strip * lookup_strip_by_channel_owner(Editing *ed, const SeqTimelineChannel *channel)
Editing * editing_ensure(Scene *scene)
Definition sequencer.cc:277
Strip * strip_duplicate_recursive(const Scene *scene_src, Scene *scene_dst, ListBase *new_seq_list, Strip *strip, int dupe_flag)
Definition sequencer.cc:645
void editing_free(Scene *scene, const bool do_id_user)
Definition sequencer.cc:293
constexpr int MAX_CHANNELS
int tool_settings_pivot_point_get(Scene *scene)
Definition sequencer.cc:414
void tool_settings_fit_method_set(Scene *scene, eSeqImageFitMethod fit_method)
Definition sequencer.cc:402
bool is_valid_strip_channel(const Strip *strip)
Definition sequencer.cc:715
short tool_settings_snap_flag_get(Scene *scene)
Definition sequencer.cc:390
SequencerToolSettings * tool_settings_ensure(Scene *scene)
Definition sequencer.cc:362
int tool_settings_snap_distance_get(Scene *scene)
Definition sequencer.cc:396
static void strip_lookup_free(StripLookup **lookup)
ListBase * active_seqbase_get(const Editing *ed)
Definition sequencer.cc:420
short tool_settings_snap_mode_get(Scene *scene)
Definition sequencer.cc:384
Strip * meta_stack_pop(Editing *ed)
Definition sequencer.cc:485
void blend_read(BlendDataReader *reader, ListBase *seqbase)
Definition sequencer.cc:949
Strip * strip_alloc(ListBase *lb, int timeline_frame, int channel, int type)
Definition sequencer.cc:130
void strip_lookup_invalidate(const Editing *ed)
void seqbase_duplicate_recursive(const Scene *scene_src, Scene *scene_dst, ListBase *nseqbase, const ListBase *seqbase, int dupe_flag, const int flag)
Definition sequencer.cc:692
eSeqOverlapMode tool_settings_overlap_mode_get(Scene *scene)
Definition sequencer.cc:408
uint8_t flag
Definition wm_window.cc:139