Blender  V3.3
SEQ_sequencer.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-or-later
2  * Copyright 2004 Blender Foundation. All rights reserved. */
3 
4 #pragma once
5 
10 #ifdef __cplusplus
11 extern "C" {
12 #endif
13 
14 #include "DNA_scene_types.h"
15 
16 struct BlendDataReader;
17 struct BlendExpander;
18 struct BlendLibReader;
19 struct BlendWriter;
20 struct Depsgraph;
21 struct Editing;
22 struct Scene;
23 struct Sequence;
24 struct SequenceLookup;
26 
27 /* RNA enums, just to be more readable */
28 enum {
35 };
36 
37 /* seq_dupli' flags */
38 #define SEQ_DUPE_UNIQUE_NAME (1 << 0)
39 #define SEQ_DUPE_ALL (1 << 3) /* otherwise only selected are copied */
40 #define SEQ_DUPE_IS_RECURSIVE_CALL (1 << 4)
41 
44 void SEQ_tool_settings_free(struct SequencerToolSettings *tool_settings);
53 struct Editing *SEQ_editing_get(const struct Scene *scene);
54 struct Editing *SEQ_editing_ensure(struct Scene *scene);
55 void SEQ_editing_free(struct Scene *scene, bool do_id_user);
62 struct ListBase *SEQ_active_seqbase_get(const struct Editing *ed);
69 void SEQ_seqbase_active_set(struct Editing *ed, struct ListBase *seqbase);
70 struct Sequence *SEQ_sequence_alloc(ListBase *lb, int timeline_frame, int machine, int type);
71 void SEQ_sequence_free(struct Scene *scene, struct Sequence *seq);
77 struct MetaStack *SEQ_meta_stack_active_get(const struct Editing *ed);
84 void SEQ_meta_stack_set(const struct Scene *scene, struct Sequence *dst_seq);
90 struct Sequence *SEQ_meta_stack_pop(struct Editing *ed);
91 struct Sequence *SEQ_sequence_dupli_recursive(const struct Scene *scene_src,
92  struct Scene *scene_dst,
93  struct ListBase *new_seq_list,
94  struct Sequence *seq,
95  int dupe_flag);
96 void SEQ_sequence_base_dupli_recursive(const struct Scene *scene_src,
97  struct Scene *scene_dst,
98  struct ListBase *nseqbase,
99  const struct ListBase *seqbase,
100  int dupe_flag,
101  int flag);
102 bool SEQ_valid_strip_channel(struct Sequence *seq);
103 
107 void SEQ_blend_write(struct BlendWriter *writer, struct ListBase *seqbase);
108 void SEQ_blend_read(struct BlendDataReader *reader, struct ListBase *seqbase);
109 
110 void SEQ_blend_read_lib(struct BlendLibReader *reader,
111  struct Scene *scene,
112  struct ListBase *seqbase);
113 
114 void SEQ_blend_read_expand(struct BlendExpander *expander, struct ListBase *seqbase);
115 
116 /* Depsgraph update function. */
117 
124  struct Scene *scene,
125  struct ListBase *seqbase);
126 
127 /* Defined in sequence_lookup.c */
128 
129 typedef enum eSequenceLookupTag {
132 
143 struct Sequence *SEQ_sequence_lookup_seq_by_name(const struct Scene *scene, const char *key);
144 
158 
159 #ifdef __cplusplus
160 }
161 #endif
struct Depsgraph Depsgraph
Definition: DEG_depsgraph.h:35
eSeqOverlapMode
eSeqImageFitMethod
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum type
void SEQ_blend_read(struct BlendDataReader *reader, struct ListBase *seqbase)
Definition: sequencer.c:823
void SEQ_tool_settings_fit_method_set(struct Scene *scene, eSeqImageFitMethod fit_method)
Definition: sequencer.c:370
struct Sequence * SEQ_sequence_alloc(ListBase *lb, int timeline_frame, int machine, int type)
Definition: sequencer.c:113
@ SEQ_SIDE_RIGHT
Definition: SEQ_sequencer.h:32
@ SEQ_SIDE_MOUSE
Definition: SEQ_sequencer.h:29
@ SEQ_SIDE_BOTH
Definition: SEQ_sequencer.h:33
@ SEQ_SIDE_NO_CHANGE
Definition: SEQ_sequencer.h:34
@ SEQ_SIDE_LEFT
Definition: SEQ_sequencer.h:31
@ SEQ_SIDE_NONE
Definition: SEQ_sequencer.h:30
eSeqImageFitMethod SEQ_tool_settings_fit_method_get(struct Scene *scene)
Definition: sequencer.c:346
void SEQ_eval_sequences(struct Depsgraph *depsgraph, struct Scene *scene, struct ListBase *seqbase)
Definition: sequencer.c:978
short SEQ_tool_settings_snap_mode_get(struct Scene *scene)
Definition: sequencer.c:352
void SEQ_blend_write(struct BlendWriter *writer, struct ListBase *seqbase)
Definition: sequencer.c:755
eSequenceLookupTag
@ SEQ_LOOKUP_TAG_INVALID
void SEQ_sequence_lookup_tag(const struct Scene *scene, eSequenceLookupTag tag)
struct Sequence * SEQ_sequence_dupli_recursive(const struct Scene *scene_src, struct Scene *scene_dst, struct ListBase *new_seq_list, struct Sequence *seq, int dupe_flag)
struct MetaStack * SEQ_meta_stack_active_get(const struct Editing *ed)
void SEQ_tool_settings_free(struct SequencerToolSettings *tool_settings)
Definition: sequencer.c:341
void SEQ_sequence_lookup_free(const struct Scene *scene)
bool SEQ_valid_strip_channel(struct Sequence *seq)
Definition: sequencer.c:653
struct Editing * SEQ_editing_ensure(struct Scene *scene)
Definition: sequencer.c:246
void SEQ_meta_stack_set(const struct Scene *scene, struct Sequence *dst_seq)
int SEQ_tool_settings_snap_distance_get(struct Scene *scene)
Definition: sequencer.c:364
void SEQ_sequence_free(struct Scene *scene, struct Sequence *seq)
Definition: sequencer.c:224
void SEQ_sequence_base_dupli_recursive(const struct Scene *scene_src, struct Scene *scene_dst, struct ListBase *nseqbase, const struct ListBase *seqbase, int dupe_flag, int flag)
struct SequencerToolSettings * SEQ_tool_settings_copy(struct SequencerToolSettings *tool_settings)
Definition: sequencer.c:664
short SEQ_tool_settings_snap_flag_get(struct Scene *scene)
Definition: sequencer.c:358
eSeqOverlapMode SEQ_tool_settings_overlap_mode_get(struct Scene *scene)
Definition: sequencer.c:376
struct Sequence * SEQ_sequence_lookup_seq_by_name(const struct Scene *scene, const char *key)
struct Sequence * SEQ_meta_stack_pop(struct Editing *ed)
Definition: sequencer.c:453
struct SequencerToolSettings * SEQ_tool_settings_init(void)
Definition: sequencer.c:316
void SEQ_seqbase_active_set(struct Editing *ed, struct ListBase *seqbase)
Definition: sequencer.c:397
struct SequencerToolSettings * SEQ_tool_settings_ensure(struct Scene *scene)
Definition: sequencer.c:330
void SEQ_blend_read_lib(struct BlendLibReader *reader, struct Scene *scene, struct ListBase *seqbase)
Definition: sequencer.c:884
int SEQ_tool_settings_pivot_point_get(struct Scene *scene)
Definition: sequencer.c:382
void SEQ_blend_read_expand(struct BlendExpander *expander, struct ListBase *seqbase)
Definition: sequencer.c:919
struct Editing * SEQ_editing_get(const struct Scene *scene)
struct ListBase * SEQ_active_seqbase_get(const struct Editing *ed)
void SEQ_editing_free(struct Scene *scene, bool do_id_user)
Definition: sequencer.c:263
Scene scene
const Depsgraph * depsgraph
ListBase seqbase