diff options
author | Peter Schlaile <peter@schlaile.de> | 2007-12-25 18:31:36 +0300 |
---|---|---|
committer | Peter Schlaile <peter@schlaile.de> | 2007-12-25 18:31:36 +0300 |
commit | a3a88f9591683df6274e50249e350de5ba2dc7d6 (patch) | |
tree | fa9e5e17b25c82ce4063798d90c06f5bb61c3ce5 /source/blender/makesdna | |
parent | 139cb3c0bc371bbc1740b6938bb61c9f80dbaadb (diff) |
== 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...
Diffstat (limited to 'source/blender/makesdna')
-rw-r--r-- | source/blender/makesdna/DNA_sequence_types.h | 39 |
1 files changed, 37 insertions, 2 deletions
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 |