Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'source/blender/makesdna/DNA_sequence_types.h')
-rw-r--r--source/blender/makesdna/DNA_sequence_types.h216
1 files changed, 216 insertions, 0 deletions
diff --git a/source/blender/makesdna/DNA_sequence_types.h b/source/blender/makesdna/DNA_sequence_types.h
index 7cf4d9fdff7..dfb9aa0c417 100644
--- a/source/blender/makesdna/DNA_sequence_types.h
+++ b/source/blender/makesdna/DNA_sequence_types.h
@@ -212,12 +212,18 @@ typedef struct MetaStack {
} MetaStack;
typedef struct Editing {
+
+ /* old data format */
ListBase *seqbasep; /* pointer to the current list of seq's being edited (can be within a meta strip) */
ListBase seqbase; /* pointer to the top-most seq's */
ListBase metastack;
/* Context vars, used to be static */
Sequence *act_seq;
+
+ /* new data */
+ ListBase nstripbase;
+
char act_imagedir[1024]; /* 1024 = FILE_MAX */
char act_sounddir[1024]; /* 1024 = FILE_MAX */
char proxy_dir[1024]; /* 1024 = FILE_MAX */
@@ -396,6 +402,8 @@ enum {
/* don't include Grease Pencil in OpenGL previews of Scene strips */
SEQ_SCENE_NO_GPENCIL = (1 << 28),
SEQ_USE_VIEWS = (1 << 29),
+ /* access scene strips directly (like a metastrip) */
+ SEQ_SCENE_STRIPS = (1 << 30),
SEQ_INVALID_EFFECT = (1 << 31),
};
@@ -515,4 +523,212 @@ enum {
SEQUENCE_MASK_INPUT_ID = 1
};
+/************************* NEW DATA TYPES **********************************/
+
+#define STRIP_NAME_MAXSTR 64
+
+/* nstrip->type */
+enum {
+ NSTRIP_TYPE_DATA = 1,
+ NSTRIP_TYPE_FX,
+ NSTRIP_TYPE_CONTAINER,
+};
+
+/* nstrip->classtype */
+enum {
+ NSTRIP_CLASS_MOVIE = 1,
+ NSTRIP_CLASS_MOVIECLIP,
+ NSTRIP_CLASS_MASK,
+ NSTRIP_CLASS_IMAGE,
+ NSTRIP_CLASS_SOUND,
+ NSTRIP_CLASS_SCENE,
+ NSTRIP_CLASS_EFFECT,
+ NSTRIP_CLASS_CROSS,
+ NSTRIP_CLASS_ADD,
+ NSTRIP_CLASS_SUB,
+ NSTRIP_CLASS_ALPHAOVER,
+ NSTRIP_CLASS_ALPHAUNDER,
+ NSTRIP_CLASS_GAMCROSS,
+ NSTRIP_CLASS_MUL,
+ NSTRIP_CLASS_OVERDROP,
+ NSTRIP_CLASS_WIPE,
+ NSTRIP_CLASS_GLOW,
+ NSTRIP_CLASS_TRANSFORM,
+ NSTRIP_CLASS_COLOR,
+ NSTRIP_CLASS_SPEED,
+ NSTRIP_CLASS_MULTICAM,
+ NSTRIP_CLASS_ADJUSTMENT,
+ NSTRIP_CLASS_GAUSSIAN_BLUR,
+};
+
+/* nclip->flag */
+enum {
+ NSTRIP_LEFTSEL = (1 << 1),
+ NSTRIP_RIGHTSEL = (1 << 2),
+ NSTRIP_OVERLAP = (1 << 3),
+ NSTRIP_FILTERY = (1 << 4),
+ NSTRIP_MUTE = (1 << 5),
+ NSTRIP_REVERSE_FRAMES = (1 << 6),
+ NSTRIP_IPO_FRAME_LOCKED = (1 << 7),
+ NSTRIP_EFFECT_NOT_LOADED = (1 << 8),
+ NSTRIP_FLAG_DELETE = (1 << 9),
+ NSTRIP_FLIPX = (1 << 10),
+ NSTRIP_FLIPY = (1 << 11),
+ NSTRIP_MAKE_FLOAT = (1 << 12),
+ NSTRIP_LOCK = (1 << 13),
+ NSTRIP_USE_PROXY = (1 << 14),
+ NSTRIP_USE_TRANSFORM = (1 << 15),
+ NSTRIP_USE_CROP = (1 << 16),
+ NSTRIP_USE_PROXY_CUSTOM_DIR = (1 << 17),
+
+ NSTRIP_USE_PROXY_CUSTOM_FILE = (1 << 18),
+ NSTRIP_USE_EFFECT_DEFAULT_FADE = (1 << 19),
+ NSTRIP_USE_LINEAR_MODIFIERS = (1 << 20),
+
+ /* flags for whether those properties are animated or not */
+ NSTRIP_AUDIO_VOLUME_ANIMATED = (1 << 21),
+ NSTRIP_AUDIO_PITCH_ANIMATED = (1 << 22),
+ NSTRIP_AUDIO_PAN_ANIMATED = (1 << 23),
+ NSTRIP_AUDIO_DRAW_WAVEFORM = (1 << 24),
+
+ NCLIP_INVALID_EFFECT = (1 << 25),
+};
+/* This is the base class and it's strictly related to the visual clip in the sequencer */
+typedef struct NStrip {
+ struct NStrip *next, *prev;
+ char name[64]; /* STRIP_NAME_MAXSTR - name, set by default and needs to be unique, for RNA paths */
+
+ /* general use flags */
+ int flag;
+
+ /* the track this clip exists in (used to be "machine" in the old code) */
+ int track;
+
+ /* depth in the sequence (how many levels of clip inclusion deep the strip is) */
+ int depth;
+
+ /* main type, data or fx */
+ short type;
+
+ /* classtype identifier, to quickly determine the type of strip */
+ short classtype;
+
+ /* frame position in the timeline */
+ int start;
+ int end;
+
+ /* attachments point of clip. if the clip moves, the attachments do too */
+ ListBase attachments;
+} NStrip;
+
+/* a data clip, it includes movies, sounds or image sequences */
+typedef struct NDataStrip {
+ NStrip clip;
+
+ /* length of source data (depends on source data type) */
+ int len;
+
+ /* offset of data from start of the clip */
+ int offset;
+} NDataStrip;
+
+/* a data clip, it includes movies, sounds or image sequences */
+typedef struct NFXStrip {
+ NStrip clip;
+
+ /* fader of the effect */
+ float effect_fader;
+ float pad;
+
+ /* specialize those per fx */
+ struct NStrip *clip1, *clip2, *clip3;
+} NFXStrip;
+
+/* old metastrip, a clip that contains other clips */
+typedef struct NContainerStrip {
+ NStrip clip;
+
+ /* list of contained clips */
+ ListBase clips;
+} NContainerStrip;
+
+typedef struct NMovieStrip {
+ NDataStrip data;
+
+ /* render flags */
+ int render_flag;
+
+ int blend_mode;
+
+ /* saturation */
+ float saturation;
+
+ float blend_opacity;
+
+ /* streamindex for sound files with several streams */
+ short streamindex;
+
+ /* animation movie preseek */
+ short anim_preseek;
+
+ int pad;
+
+ /* modifiers */
+ ListBase modifiers;
+} NMovieStrip;
+
+typedef struct NAnimStrip {
+ NMovieStrip movie;
+
+ /* for amination file */
+ struct anim *anim;
+} NAnimStrip;
+
+typedef struct NTrackerStrip {
+ NMovieStrip movie;
+
+ /* source MovieClip strip */
+ struct MovieClip *clip;
+} NTrackerStrip;
+
+typedef struct NMaskStrip {
+ NDataStrip data;
+
+ /* source mask */
+ struct Mask *mask;
+} NMaskStrip;
+
+/* sound clip */
+typedef struct NSoundStrip {
+ NDataStrip data;
+
+ /* streamindex for sound files with several streams */
+ int streamindex;
+
+ /* sound volume */
+ float volume;
+
+ /* pitch (-0.1..10) */
+ float pitch;
+
+ /* pan -2..2 */
+ float pan;
+
+ /* the linked "bSound" object */
+ struct bSound *sound;
+} NSoundStrip;
+
+/* scene strip */
+typedef struct NSceneStrip {
+ NDataStrip data;
+
+ /* the linked scene */
+ struct Scene *scene;
+
+ /* override of scene camera */
+ struct Object *scene_camera;
+} NSceneStrip;
+
+
+
#endif /* __DNA_SEQUENCE_TYPES_H__ */