From a3a88f9591683df6274e50249e350de5ba2dc7d6 Mon Sep 17 00:00:00 2001 From: Peter Schlaile Date: Tue, 25 Dec 2007 15:31:36 +0000 Subject: == Sequencer (includes a little bit of Peach :) == Reworked image / movie loading, to add the following features: - Mute strip - Lock strip (peach request :) - Crop / Translate _before_ image rescaling - N-keys editing of start, startofs, endofs, startstill, endstill Added (currently disabled) data structures for - proxy support - strip blend modes (currently only "REPLACE" works, which always did :) Planed: - automatic FPS rescaling - command keys to lock/mute a bunch of selected strips (which would complete the peach request to lock tracks) Caveats: now the N-keys dialog is four-tabbed. I think, we should move those tabs into the panels dialog in the future... --- source/blender/makesdna/DNA_sequence_types.h | 39 ++++++++++++++++++++++++++-- 1 file changed, 37 insertions(+), 2 deletions(-) (limited to 'source/blender/makesdna/DNA_sequence_types.h') diff --git a/source/blender/makesdna/DNA_sequence_types.h b/source/blender/makesdna/DNA_sequence_types.h index 0f9b55723bc..db3790e6ea3 100644 --- a/source/blender/makesdna/DNA_sequence_types.h +++ b/source/blender/makesdna/DNA_sequence_types.h @@ -56,12 +56,34 @@ typedef struct TStripElem { int nr; } TStripElem; +typedef struct StripCrop { + int top; + int bottom; + int left; + int right; +} StripCrop; + +typedef struct StripTransform { + int xofs; + int yofs; +} StripTransform; + +typedef struct StripProxy { + char dir[160]; + int format; + int width; + int height; +} StripProxy; + typedef struct Strip { struct Strip *next, *prev; int rt, len, us, done; StripElem *stripdata; char dir[160]; int orx, ory; + StripCrop *crop; + StripTransform *transform; + StripProxy *proxy; TStripElem *tstripdata; } Strip; @@ -96,7 +118,8 @@ typedef struct Sequence { void *lib; /* needed (to be like ipo), else it will raise libdata warnings, this should never be used */ char name[24]; /* name, not set by default and dosnt need to be unique as with ID's */ - short flag, type; /*flags bitmap (see below) and the type of sequence*/ + int flag, type; /*flags bitmap (see below) and the type of sequence*/ + int pad; int len; /* the length of the contense of this strip - before handles are applied */ int start, startofs, endofs; int startstill, endstill; @@ -129,7 +152,9 @@ typedef struct Sequence { void *effectdata; /* Struct pointer for effect settings */ int anim_preseek; - int pad; + int blend_mode; + float blend_opacity; + int pad2; } Sequence; typedef struct MetaStack { @@ -210,6 +235,12 @@ typedef struct SpeedControlVars { #define SEQ_FLAG_DELETE 1024 #define SEQ_FLIPX 2048 #define SEQ_FLIPY 4096 +#define SEQ_MAKE_FLOAT 8192 +#define SEQ_LOCK 16384 +#define SEQ_USE_PROXY 32768 +#define SEQ_USE_TRANSFORM 65536 +#define SEQ_USE_CROP 131072 + /* seq->type WATCH IT: SEQ_EFFECT BIT is used to determine if this is an effect strip!!! */ #define SEQ_IMAGE 0 @@ -240,5 +271,9 @@ typedef struct SpeedControlVars { #define STRIPELEM_OK 1 #define STRIPELEM_META 2 +#define SEQ_BLEND_REPLACE 0 +#define SEQ_BLEND_ALPHA_OVER 1 + + #endif -- cgit v1.2.3