- saturation option for sequencer strips, runs before multiply and color balance.
[blender.git] / source / blender / makesdna / DNA_sequence_types.h
index a5a25adf37b626bcd9ad9aa2a22e747891ac621b..a5299ef081d02137b9191ce68d1cdad795084673 100644 (file)
@@ -17,7 +17,7 @@
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software Foundation,
- * Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
  *
  * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
  * All rights reserved.
@@ -72,12 +72,17 @@ typedef struct StripColorBalance {
        float gain[3];
        int flag;
        int pad;
-       float exposure;
-       float saturation;
+       // float exposure;
+       // float saturation;
 } StripColorBalance;
 
 typedef struct StripProxy {
        char dir[160];
+       char file[80];
+       struct anim *anim;
+       short size;
+       short quality;
+       int pad;
 } StripProxy;
 
 typedef struct Strip {
@@ -127,7 +132,7 @@ typedef struct Sequence {
        struct Sequence *next, *prev;
        void *tmp; /* tmp var for copying, and tagging for linked selection */
        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 */
+       char name[24]; /* SEQ_NAME_MAXSTR - name, set by default and needs to be unique, for RNA paths */
 
        int flag, type; /*flags bitmap (see below) and the type of sequence*/
        int len; /* the length of the contense of this strip - before handles are applied */
@@ -135,6 +140,7 @@ typedef struct Sequence {
        int startstill, endstill;
        int machine, depth; /*machine - the strip channel, depth - the depth in the sequence when dealing with metastrips */
        int startdisp, enddisp; /*starting and ending points in the sequence*/
+       float sat, pad;
        float mul, handsize;
                                        /* is sfra needed anymore? - it looks like its only used in one place */
        int sfra;               /* starting frame according to the timeline of the scene. */
@@ -142,10 +148,13 @@ typedef struct Sequence {
 
        Strip *strip;
 
-       struct Ipo *ipo;
+       struct Ipo *ipo;        // xxx depreceated... old animation system
        struct Scene *scene;
+       struct Object *scene_camera; /* override scene camera */
+
        struct anim *anim;
-       float facf0, facf1;
+       float effect_fader;
+       float speed_fader;
 
        PluginSeq *plugin;
 
@@ -155,9 +164,12 @@ typedef struct Sequence {
        ListBase seqbase;       /* list of strips for metastrips */
 
        struct bSound *sound;   /* the linked "bSound" object */
-        struct hdaudio *hdaudio; /* external hdaudio object */
+       void *scene_sound;
+       float volume;
+
        float level, pan;       /* level in dB (0=full), pan -1..1 */
-       int curpos;             /* last sample position in audio_fill() */
+       int scenenr;          /* for scene selection */
+       int multicam_source;  /* for multicam source selection */
        float strobe;
 
        void *effectdata;       /* Struct pointer for effect settings */
@@ -168,8 +180,6 @@ typedef struct Sequence {
        int blend_mode;
        float blend_opacity;
 
-       int scenenr;          /* for scene selection */
-       int pad;
 } Sequence;
 
 typedef struct MetaStack {
@@ -179,14 +189,18 @@ typedef struct MetaStack {
 } MetaStack;
 
 typedef struct Editing {
-       ListBase *seqbasep;
-       ListBase seqbase;
+       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;
        char act_imagedir[256];
        char act_sounddir[256];
+
+       int over_ofs, over_cfra;
+       int over_flag, pad;
+       rctf over_border;
 } Editing;
 
 /* ************* Effect Variable Structs ********* */
@@ -199,7 +213,7 @@ typedef struct GlowVars {
        float fMini;    /*      Minimum intensity to trigger a glow */
        float fClamp;
        float fBoost;   /*      Amount to multiply glow intensity */
-    float dDist;       /*      Radius of glow blurring */
+       float dDist;    /*      Radius of glow blurring */
        int     dQuality;
        int     bNoComp;        /*      SHOW/HIDE glow buffer */
 } GlowVars;
@@ -207,16 +221,17 @@ typedef struct GlowVars {
 typedef struct TransformVars {
        float ScalexIni;
        float ScaleyIni;
-       float ScalexFin;
-       float ScaleyFin;
+       float ScalexFin; /* deprecated - old transform strip */
+       float ScaleyFin; /* deprecated - old transform strip */
        float xIni;
-       float xFin;
+       float xFin; /* deprecated - old transform strip */
        float yIni;
-       float yFin;
+       float yFin; /* deprecated - old transform strip */
        float rotIni;
-       float rotFin;
+       float rotFin; /* deprecated - old transform strip */
        int percent;
        int interpolation;
+       int uniform_scale; /* preserve aspect/ratio when scaling */
 } TransformVars;
 
 typedef struct SolidColorVars {
@@ -232,6 +247,10 @@ typedef struct SpeedControlVars {
        int lastValidFrame;
 } SpeedControlVars;
 
+/* Editor->over_flag */
+#define SEQ_EDIT_OVERLAY_SHOW                  1
+#define SEQ_EDIT_OVERLAY_ABS                   2
+
 #define SEQ_STRIP_OFSBOTTOM            0.2f
 #define SEQ_STRIP_OFSTOP               0.8f
 
@@ -241,6 +260,7 @@ typedef struct SpeedControlVars {
 #define SEQ_SPEED_COMPRESS_IPO_Y 4
 
 /* ***************** SEQUENCE ****************** */
+#define SEQ_NAME_MAXSTR                        24
 
 /* seq->flag */
 #define SEQ_LEFTSEL                            2
@@ -262,6 +282,11 @@ typedef struct SpeedControlVars {
 #define SEQ_USE_CROP                           131072
 #define SEQ_USE_COLOR_BALANCE                  262144
 #define SEQ_USE_PROXY_CUSTOM_DIR               524288
+#define SEQ_USE_PROXY_CUSTOM_FILE             2097152
+#define SEQ_USE_EFFECT_DEFAULT_FADE           4194304
+
+/* convenience define for all selection flags */
+#define SEQ_ALLSEL     (SELECT+SEQ_LEFTSEL+SEQ_RIGHTSEL)
 
 /* deprecated, dont use a flag anymore*/
 /*#define SEQ_ACTIVE                            1048576*/
@@ -277,7 +302,7 @@ typedef struct SpeedControlVars {
 #define SEQ_MOVIE              3
 #define SEQ_RAM_SOUND          4
 #define SEQ_HD_SOUND            5
-#define SEQ_MOVIE_AND_HD_SOUND  6 /* helper for add_sequence */
+#define SEQ_SOUND              4
 
 #define SEQ_EFFECT             8
 #define SEQ_CROSS              8
@@ -294,7 +319,8 @@ typedef struct SpeedControlVars {
 #define SEQ_TRANSFORM          27
 #define SEQ_COLOR               28
 #define SEQ_SPEED               29
-#define SEQ_EFFECT_MAX          29
+#define SEQ_MULTICAM            30
+#define SEQ_EFFECT_MAX          30
 
 #define STRIPELEM_FAILED       0
 #define STRIPELEM_OK           1
@@ -307,5 +333,8 @@ typedef struct SpeedControlVars {
    otherwise, you can't really blend, right :) !)
 */
 
+
+#define SEQ_HAS_PATH(_seq) (ELEM5((_seq)->type, SEQ_MOVIE, SEQ_IMAGE, SEQ_SOUND, SEQ_RAM_SOUND, SEQ_HD_SOUND))
+
 #endif