Blender  V2.93
SEQ_sequencer.h
Go to the documentation of this file.
1 /*
2  * This program is free software; you can redistribute it and/or
3  * modify it under the terms of the GNU General Public License
4  * as published by the Free Software Foundation; either version 2
5  * of the License, or (at your option) any later version.
6  *
7  * This program is distributed in the hope that it will be useful,
8  * but WITHOUT ANY WARRANTY; without even the implied warranty of
9  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10  * GNU General Public License for more details.
11  *
12  * You should have received a copy of the GNU General Public License
13  * along with this program; if not, write to the Free Software Foundation,
14  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
15  *
16  * The Original Code is Copyright (C) 2004 Blender Foundation.
17  * All rights reserved.
18  */
19 
20 #pragma once
21 
26 #ifdef __cplusplus
27 extern "C" {
28 #endif
29 
30 #include "DNA_scene_types.h"
31 
32 struct Editing;
33 struct Scene;
34 struct Sequence;
36 
37 /* RNA enums, just to be more readable */
38 enum {
45 };
46 
47 #define SEQ_CACHE_COST_MAX 10.0f
48 
49 /* seq_dupli' flags */
50 #define SEQ_DUPE_UNIQUE_NAME (1 << 0)
51 #define SEQ_DUPE_CONTEXT (1 << 1)
52 #define SEQ_DUPE_ANIM (1 << 2)
53 #define SEQ_DUPE_ALL (1 << 3) /* otherwise only selected are copied */
54 #define SEQ_DUPE_IS_RECURSIVE_CALL (1 << 4)
55 
58 void SEQ_tool_settings_free(struct SequencerToolSettings *tool_settings);
62 struct Editing *SEQ_editing_get(struct Scene *scene, bool alloc);
63 struct Editing *SEQ_editing_ensure(struct Scene *scene);
64 void SEQ_editing_free(struct Scene *scene, const bool do_id_user);
65 struct ListBase *SEQ_active_seqbase_get(const struct Editing *ed);
66 void SEQ_seqbase_active_set(struct Editing *ed, struct ListBase *seqbase);
67 struct Sequence *SEQ_sequence_alloc(ListBase *lb, int timeline_frame, int machine, int type);
68 void SEQ_sequence_free(struct Scene *scene, struct Sequence *seq, const bool do_clean_animdata);
69 struct MetaStack *SEQ_meta_stack_alloc(struct Editing *ed, struct Sequence *seq_meta);
70 struct MetaStack *SEQ_meta_stack_active_get(const struct Editing *ed);
71 void SEQ_meta_stack_free(struct Editing *ed, struct MetaStack *ms);
72 void SEQ_offset_animdata(struct Scene *scene, struct Sequence *seq, int ofs);
73 void SEQ_dupe_animdata(struct Scene *scene, const char *name_src, const char *name_dst);
74 struct Sequence *SEQ_sequence_dupli_recursive(const struct Scene *scene_src,
75  struct Scene *scene_dst,
76  struct ListBase *new_seq_list,
77  struct Sequence *seq,
78  int dupe_flag);
79 void SEQ_sequence_base_dupli_recursive(const struct Scene *scene_src,
80  struct Scene *scene_dst,
81  struct ListBase *nseqbase,
82  const struct ListBase *seqbase,
83  int dupe_flag,
84  const int flag);
85 
86 #ifdef __cplusplus
87 }
88 #endif
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_sequence_free(struct Scene *scene, struct Sequence *seq, const bool do_clean_animdata)
Definition: sequencer.c:213
void SEQ_tool_settings_fit_method_set(struct Scene *scene, eSeqImageFitMethod fit_method)
Definition: sequencer.c:338
struct Sequence * SEQ_sequence_alloc(ListBase *lb, int timeline_frame, int machine, int type)
Definition: sequencer.c:113
eSeqImageFitMethod SEQ_tool_settings_fit_method_get(struct Scene *scene)
Definition: sequencer.c:332
void SEQ_meta_stack_free(struct Editing *ed, struct MetaStack *ms)
Definition: sequencer.c:393
void SEQ_editing_free(struct Scene *scene, const bool do_id_user)
Definition: sequencer.c:255
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:327
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, const int flag)
struct Editing * SEQ_editing_get(struct Scene *scene, bool alloc)
Definition: sequencer.c:232
@ SEQ_SIDE_RIGHT
Definition: SEQ_sequencer.h:42
@ SEQ_SIDE_MOUSE
Definition: SEQ_sequencer.h:39
@ SEQ_SIDE_BOTH
Definition: SEQ_sequencer.h:43
@ SEQ_SIDE_NO_CHANGE
Definition: SEQ_sequencer.h:44
@ SEQ_SIDE_LEFT
Definition: SEQ_sequencer.h:41
@ SEQ_SIDE_NONE
Definition: SEQ_sequencer.h:40
struct Editing * SEQ_editing_ensure(struct Scene *scene)
Definition: sequencer.c:240
struct SequencerToolSettings * SEQ_tool_settings_copy(struct SequencerToolSettings *tool_settings)
Definition: sequencer.c:719
struct MetaStack * SEQ_meta_stack_alloc(struct Editing *ed, struct Sequence *seq_meta)
Definition: sequencer.c:377
void SEQ_dupe_animdata(struct Scene *scene, const char *name_src, const char *name_dst)
Definition: sequencer.c:655
struct SequencerToolSettings * SEQ_tool_settings_init(void)
Definition: sequencer.c:308
void SEQ_seqbase_active_set(struct Editing *ed, struct ListBase *seqbase)
Definition: sequencer.c:365
struct SequencerToolSettings * SEQ_tool_settings_ensure(struct Scene *scene)
Definition: sequencer.c:316
struct ListBase * SEQ_active_seqbase_get(const struct Editing *ed)
void SEQ_offset_animdata(struct Scene *scene, struct Sequence *seq, int ofs)
Definition: sequencer.c:620
Scene scene
ListBase seqbase