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.h83
1 files changed, 77 insertions, 6 deletions
diff --git a/source/blender/makesdna/DNA_sequence_types.h b/source/blender/makesdna/DNA_sequence_types.h
index 16e8b8904fa..c83bddbfc64 100644
--- a/source/blender/makesdna/DNA_sequence_types.h
+++ b/source/blender/makesdna/DNA_sequence_types.h
@@ -34,6 +34,7 @@
#define __DNA_SEQUENCE_TYPES_H__
#include "DNA_defs.h"
+#include "DNA_color_types.h"
#include "DNA_listBase.h"
#include "DNA_vec_types.h"
@@ -101,11 +102,16 @@ typedef struct Strip {
StripColorBalance *color_balance;
} Strip;
-/* The sequence structure is the basic struct used by any strip. each of the strips uses a different sequence structure.*/
-/* WATCH IT: first part identical to ID (for use in ipo's)
- * the commend above is historic, probably we can drop the ID compatibility, but take care making this change */
-
-/* WATCH ITv2, this is really a 'Strip' in the UI!, name is highly confusing */
+/**
+ * The sequence structure is the basic struct used by any strip.
+ * each of the strips uses a different sequence structure.
+ *
+ * \warning The first part identical to ID (for use in ipo's)
+ * the commend above is historic, probably we can drop the ID compatibility,
+ * but take care making this change.
+ *
+ * \warning This is really a 'Strip' in the UI!, name is highly confusing.
+ */
typedef struct Sequence {
struct Sequence *next, *prev;
void *tmp; /* tmp var for copying, and tagging for linked selection */
@@ -167,6 +173,9 @@ typedef struct Sequence {
/* is sfra needed anymore? - it looks like its only used in one place */
int sfra, pad; /* starting frame according to the timeline of the scene. */
+
+ /* modifiers */
+ ListBase modifiers;
} Sequence;
typedef struct MetaStack {
@@ -229,6 +238,46 @@ typedef struct SpeedControlVars {
int lastValidFrame;
} SpeedControlVars;
+/* ***************** Sequence modifiers ****************** */
+
+typedef struct SequenceModifierData {
+ struct SequenceModifierData *next, *prev;
+ int type, flag;
+ char name[64]; /* MAX_NAME */
+
+ /* mask input, either sequence or maks ID */
+ int mask_input_type, pad;
+
+ struct Sequence *mask_sequence;
+ struct Mask *mask_id;
+} SequenceModifierData;
+
+typedef struct ColorBalanceModifierData {
+ SequenceModifierData modifier;
+
+ StripColorBalance color_balance;
+ float color_multiply;
+} ColorBalanceModifierData;
+
+typedef struct CurvesModifierData {
+ SequenceModifierData modifier;
+
+ struct CurveMapping curve_mapping;
+} CurvesModifierData;
+
+typedef struct HueCorrectModifierData {
+ SequenceModifierData modifier;
+
+ struct CurveMapping curve_mapping;
+} HueCorrectModifierData;
+
+typedef struct BrightContrastModifierData {
+ SequenceModifierData modifier;
+
+ float bright;
+ float contrast;
+} BrightContrastModifierData;
+
#define MAXSEQ 32
#define SELECT 1
@@ -352,5 +401,27 @@ enum {
#define SEQ_HAS_PATH(_seq) (ELEM4((_seq)->type, SEQ_TYPE_MOVIE, SEQ_TYPE_IMAGE, SEQ_TYPE_SOUND_RAM, SEQ_TYPE_SOUND_HD))
-#endif
+/* modifiers */
+
+/* SequenceModifierData->type */
+enum {
+ seqModifierType_ColorBalance = 1,
+ seqModifierType_Curves = 2,
+ seqModifierType_HueCorrect = 3,
+ seqModifierType_BrightContrast = 4,
+
+ NUM_SEQUENCE_MODIFIER_TYPES
+};
+/* SequenceModifierData->flag */
+enum {
+ SEQUENCE_MODIFIER_MUTE = (1 << 0),
+ SEQUENCE_MODIFIER_EXPANDED = (1 << 1),
+};
+
+enum {
+ SEQUENCE_MASK_INPUT_STRIP = 0,
+ SEQUENCE_MASK_INPUT_ID = 1
+};
+
+#endif