[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [60298] branches/soc-2013-vse/source/ blender/sequencer: Updating seqEffects.

Alexander Kuznetsov kuzsasha at gmail.com
Sun Sep 22 05:56:30 CEST 2013


Revision: 60298
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=60298
Author:   alexk
Date:     2013-09-22 03:56:30 +0000 (Sun, 22 Sep 2013)
Log Message:
-----------
Updating seqEffects. They read the input (like effectdata) and add apropriate commands into the buckets. They can add multiple seqCommands. 
They must be aware of number of inputs and outputs, allocate image placement on stack  and assign commands correctly. 

Added Paths:
-----------
    branches/soc-2013-vse/source/blender/sequencer/effects/
    branches/soc-2013-vse/source/blender/sequencer/effects/seqEffectBlendAdd.cpp
    branches/soc-2013-vse/source/blender/sequencer/effects/seqEffectBlendAdd.h
    branches/soc-2013-vse/source/blender/sequencer/effects/seqEffectBlendAlphaOver.cpp
    branches/soc-2013-vse/source/blender/sequencer/effects/seqEffectBlendAlphaOver.h
    branches/soc-2013-vse/source/blender/sequencer/effects/seqEffectBlendAlphaUnder.cpp
    branches/soc-2013-vse/source/blender/sequencer/effects/seqEffectBlendAlphaUnder.h
    branches/soc-2013-vse/source/blender/sequencer/effects/seqEffectBlendCross.cpp
    branches/soc-2013-vse/source/blender/sequencer/effects/seqEffectBlendCross.h
    branches/soc-2013-vse/source/blender/sequencer/effects/seqEffectBlendMultiply.cpp
    branches/soc-2013-vse/source/blender/sequencer/effects/seqEffectBlendMultiply.h
    branches/soc-2013-vse/source/blender/sequencer/effects/seqEffectBlendSubtract.cpp
    branches/soc-2013-vse/source/blender/sequencer/effects/seqEffectBlendSubtract.h
    branches/soc-2013-vse/source/blender/sequencer/effects/seqEffectBrightness.cpp
    branches/soc-2013-vse/source/blender/sequencer/effects/seqEffectBrightness.h
    branches/soc-2013-vse/source/blender/sequencer/effects/seqEffectColorBalance.cpp
    branches/soc-2013-vse/source/blender/sequencer/effects/seqEffectColorBalance.h
    branches/soc-2013-vse/source/blender/sequencer/effects/seqEffectHistogram.cpp
    branches/soc-2013-vse/source/blender/sequencer/effects/seqEffectHistogram.h
    branches/soc-2013-vse/source/blender/sequencer/effects/seqEffectTransform.cpp
    branches/soc-2013-vse/source/blender/sequencer/effects/seqEffectTransform.h
    branches/soc-2013-vse/source/blender/sequencer/effects/seqEffectVectorscope.cpp
    branches/soc-2013-vse/source/blender/sequencer/effects/seqEffectVectorscope.h
    branches/soc-2013-vse/source/blender/sequencer/effects/seqEffectWaveform.cpp
    branches/soc-2013-vse/source/blender/sequencer/effects/seqEffectWaveform.h
    branches/soc-2013-vse/source/blender/sequencer/effects/sequencer_seqEffect.cpp
    branches/soc-2013-vse/source/blender/sequencer/effects/sequencer_seqEffect.h

Added: branches/soc-2013-vse/source/blender/sequencer/effects/seqEffectBlendAdd.cpp
===================================================================
Added: branches/soc-2013-vse/source/blender/sequencer/effects/seqEffectBlendAdd.h
===================================================================
--- branches/soc-2013-vse/source/blender/sequencer/effects/seqEffectBlendAdd.h	                        (rev 0)
+++ branches/soc-2013-vse/source/blender/sequencer/effects/seqEffectBlendAdd.h	2013-09-22 03:56:30 UTC (rev 60298)
@@ -0,0 +1,38 @@
+#ifndef __SEQEFFECTBLENDADD_H__
+#define __SEQEFFECTBLENDADD_H__
+
+#include "sequencer_seqEffect.h"
+#include "commands/seqCommandBlendAdd.h"
+
+class seqEffectBlendAdd : public seqEffect
+{
+	int get_num_inputs(void) const
+	{
+		return 2;
+	};
+
+
+
+	int gen_command_for_bucket(seqBucket *bucket, Sequence *seq, void *effectdata, seqFrame *frm, seqCanvas *canvas, seqBucketIOdata* out_0 , seqBucketIOdata* inp_1 , seqBucketIOdata* inp_2 , seqBucketIOdata* inp_3) const
+	{
+		if(inp_1 == NULL && inp_2 == NULL)
+		{
+			BLI_assert(0);
+			return -1;
+		}
+
+		static TransitionVars def; def.factor = 1.0f;
+		TransitionVars *Vars = effectdata ? (TransitionVars*) effectdata : &def;
+
+		seqCommandBlendAdd *com = new seqCommandBlendAdd;
+
+		com->set_data(Vars->factor);
+
+		bucket->add_command_front(com, out_0, inp_1, inp_2);
+
+		return 2;
+	}
+};
+
+
+#endif /* __SEQEFFECTBLENDADD_H__ */

Added: branches/soc-2013-vse/source/blender/sequencer/effects/seqEffectBlendAlphaOver.cpp
===================================================================
Added: branches/soc-2013-vse/source/blender/sequencer/effects/seqEffectBlendAlphaOver.h
===================================================================
--- branches/soc-2013-vse/source/blender/sequencer/effects/seqEffectBlendAlphaOver.h	                        (rev 0)
+++ branches/soc-2013-vse/source/blender/sequencer/effects/seqEffectBlendAlphaOver.h	2013-09-22 03:56:30 UTC (rev 60298)
@@ -0,0 +1,42 @@
+#ifndef __SEQEFFECTBLENDALPHA_H__
+#define __SEQEFFECTBLENDALPHA_H__
+
+#include "sequencer_seqEffect.h"
+#include "commands/seqCommandBlendAlphaOver.h"
+
+class seqEffectBlendAlphaOver : public seqEffect
+{
+
+	int get_num_inputs(void) const
+	{
+		return 2;
+	};
+
+
+	int gen_command_for_bucket(seqBucket *bucket, Sequence *seq, void *effectdata, seqFrame *frm, seqCanvas *canvas,  seqBucketIOdata* out_0 , seqBucketIOdata* inp_1 , seqBucketIOdata* inp_2 , seqBucketIOdata* inp_3) const
+	{
+
+		if(inp_1 == NULL && inp_2 == NULL)
+		{
+			BLI_assert(0);
+			return -1;
+		}
+
+		static TransitionVars def; def.factor = 1.0f;
+		TransitionVars *Vars = effectdata ? (TransitionVars*) effectdata : &def;
+
+		seqCommandBlendAlphaOver *com = new seqCommandBlendAlphaOver;
+
+		com->set_data(Vars->factor);
+
+		bucket->add_command_front(com, out_0, inp_1, inp_2);
+
+		return 2;
+	}
+
+
+
+};
+
+
+#endif /* __SEQEFFECTBLENDALPHA_H__ */

Added: branches/soc-2013-vse/source/blender/sequencer/effects/seqEffectBlendAlphaUnder.cpp
===================================================================
Added: branches/soc-2013-vse/source/blender/sequencer/effects/seqEffectBlendAlphaUnder.h
===================================================================
--- branches/soc-2013-vse/source/blender/sequencer/effects/seqEffectBlendAlphaUnder.h	                        (rev 0)
+++ branches/soc-2013-vse/source/blender/sequencer/effects/seqEffectBlendAlphaUnder.h	2013-09-22 03:56:30 UTC (rev 60298)
@@ -0,0 +1,42 @@
+#ifndef __SEQEFFECTBLENDALPHAUNDER_H__
+#define __SEQEFFECTBLENDALPHAUNDER_H__
+
+#include "sequencer_seqEffect.h"
+#include "commands/seqCommandBlendAlphaUnder.h"
+
+class seqEffectBlendAlphaUnder : public seqEffect
+{
+
+	int get_num_inputs(void) const
+	{
+		return 2;
+	};
+
+
+	int gen_command_for_bucket(seqBucket *bucket, Sequence *seq, void *effectdata, seqFrame *frm, seqCanvas *canvas,  seqBucketIOdata* out_0 , seqBucketIOdata* inp_1 , seqBucketIOdata* inp_2 , seqBucketIOdata* inp_3) const
+	{
+
+		if(inp_1 == NULL && inp_2 == NULL)
+		{
+			BLI_assert(0);
+			return -1;
+		}
+
+		static TransitionVars def; def.factor = 1.0f;
+		TransitionVars *Vars = effectdata ? (TransitionVars*) effectdata : &def;
+
+		seqCommandBlendAlphaUnder *com = new seqCommandBlendAlphaUnder;
+
+		com->set_data(Vars->factor);
+
+		bucket->add_command_front(com, out_0, inp_1, inp_2);
+
+		return 2;
+	}
+
+
+
+};
+
+
+#endif /* __SEQEFFECTBLENDALPHAUNDER_H__ */

Added: branches/soc-2013-vse/source/blender/sequencer/effects/seqEffectBlendCross.cpp
===================================================================
Added: branches/soc-2013-vse/source/blender/sequencer/effects/seqEffectBlendCross.h
===================================================================
--- branches/soc-2013-vse/source/blender/sequencer/effects/seqEffectBlendCross.h	                        (rev 0)
+++ branches/soc-2013-vse/source/blender/sequencer/effects/seqEffectBlendCross.h	2013-09-22 03:56:30 UTC (rev 60298)
@@ -0,0 +1,38 @@
+#ifndef __SEQEFFECTBLENDCROSS_H__
+#define __SEQEFFECTBLENDCROSS_H__
+
+#include "sequencer_seqEffect.h"
+#include "commands/seqCommandBlendCross.h"
+
+class seqEffectBlendCross : public seqEffect
+{
+	int get_num_inputs(void) const
+	{
+		return 2;
+	};
+
+
+
+	int gen_command_for_bucket(seqBucket *bucket, Sequence *seq, void *effectdata, seqFrame *frm, seqCanvas *canvas, seqBucketIOdata* out_0 , seqBucketIOdata* inp_1 , seqBucketIOdata* inp_2 , seqBucketIOdata* inp_3) const
+	{
+		if(inp_1 == NULL && inp_2 == NULL)
+		{
+			BLI_assert(0);
+			return -1;
+		}
+
+		static TransitionVars def; def.factor = 1.0f;
+		TransitionVars *Vars = effectdata ? (TransitionVars*) effectdata : &def;
+
+		seqCommandBlendCross *com = new seqCommandBlendCross;
+
+		com->set_data(Vars->factor);
+
+		bucket->add_command_front(com, out_0, inp_1, inp_2);
+
+		return 2;
+	}
+};
+
+
+#endif /* __SEQEFFECTBLENDCROSS_H__ */

Added: branches/soc-2013-vse/source/blender/sequencer/effects/seqEffectBlendMultiply.cpp
===================================================================
Added: branches/soc-2013-vse/source/blender/sequencer/effects/seqEffectBlendMultiply.h
===================================================================
--- branches/soc-2013-vse/source/blender/sequencer/effects/seqEffectBlendMultiply.h	                        (rev 0)
+++ branches/soc-2013-vse/source/blender/sequencer/effects/seqEffectBlendMultiply.h	2013-09-22 03:56:30 UTC (rev 60298)
@@ -0,0 +1,38 @@
+#ifndef __SEQEFFECTBLENDMULTIPLY_H__
+#define __SEQEFFECTBLENDMULTIPLY_H__
+
+#include "sequencer_seqEffect.h"
+#include "commands/seqCommandBlendMultiply.h"
+
+class seqEffectBlendMultiply : public seqEffect
+{
+	int get_num_inputs(void) const
+	{
+		return 2;
+	};
+
+
+
+	int gen_command_for_bucket(seqBucket *bucket, Sequence *seq, void *effectdata, seqFrame *frm, seqCanvas *canvas, seqBucketIOdata* out_0 , seqBucketIOdata* inp_1 , seqBucketIOdata* inp_2 , seqBucketIOdata* inp_3) const
+	{
+		if(inp_1 == NULL && inp_2 == NULL)
+		{
+			BLI_assert(0);
+			return -1;
+		}
+
+		static TransitionVars def; def.factor = 1.0f;
+		TransitionVars *Vars = effectdata ? (TransitionVars*) effectdata : &def;
+
+		seqCommandBlendMultiply *com = new seqCommandBlendMultiply;
+
+		com->set_data(Vars->factor);
+
+		bucket->add_command_front(com, out_0, inp_1, inp_2);
+
+		return 2;
+	}
+};
+
+
+#endif /* __SEQEFFECTBLENDMULTIPLY_H__ */

Added: branches/soc-2013-vse/source/blender/sequencer/effects/seqEffectBlendSubtract.cpp
===================================================================
Added: branches/soc-2013-vse/source/blender/sequencer/effects/seqEffectBlendSubtract.h
===================================================================
--- branches/soc-2013-vse/source/blender/sequencer/effects/seqEffectBlendSubtract.h	                        (rev 0)
+++ branches/soc-2013-vse/source/blender/sequencer/effects/seqEffectBlendSubtract.h	2013-09-22 03:56:30 UTC (rev 60298)
@@ -0,0 +1,38 @@
+#ifndef __SEQEFFECTBLENDSUBTRACT_H__
+#define __SEQEFFECTBLENDSUBTRACT_H__
+
+#include "sequencer_seqEffect.h"
+#include "commands/seqCommandBlendSubtract.h"
+
+class seqEffectBlendSubtract : public seqEffect
+{
+	int get_num_inputs(void) const
+	{
+		return 2;
+	};
+
+
+
+	int gen_command_for_bucket(seqBucket *bucket, Sequence *seq, void *effectdata, seqFrame *frm, seqCanvas *canvas, seqBucketIOdata* out_0 , seqBucketIOdata* inp_1 , seqBucketIOdata* inp_2 , seqBucketIOdata* inp_3) const
+	{
+		if(inp_1 == NULL && inp_2 == NULL)
+		{
+			BLI_assert(0);
+			return -1;
+		}
+
+		static TransitionVars def; def.factor = 1.0f;
+		TransitionVars *Vars = effectdata ? (TransitionVars*) effectdata : &def;
+
+		seqCommandBlendSubtract *com = new seqCommandBlendSubtract;
+
+		com->set_data(Vars->factor);
+
+		bucket->add_command_front(com, out_0, inp_1, inp_2);
+
+		return 2;
+	}
+};
+
+
+#endif /* __SEQEFFECTBLENDSUBTRACT_H__ */

Added: branches/soc-2013-vse/source/blender/sequencer/effects/seqEffectBrightness.cpp
===================================================================
Added: branches/soc-2013-vse/source/blender/sequencer/effects/seqEffectBrightness.h
===================================================================
--- branches/soc-2013-vse/source/blender/sequencer/effects/seqEffectBrightness.h	                        (rev 0)
+++ branches/soc-2013-vse/source/blender/sequencer/effects/seqEffectBrightness.h	2013-09-22 03:56:30 UTC (rev 60298)
@@ -0,0 +1,51 @@
+#ifndef __SEQEFFECTBRIGHTNESS_H__
+#define __SEQEFFECTBRIGHTNESS_H__
+
+#include "sequencer_seqEffect.h"
+
+#include "commands/seqCommandBrightenss.h"
+
+
+class seqEffectBrightness : public seqEffect
+{
+
+
+	int get_num_inputs(void) const
+	{
+		return 1;
+	};
+
+
+	int gen_command_for_bucket(seqBucket *bucket, Sequence *seq, void *effectdata, seqFrame *frm, seqCanvas *canvas,  seqBucketIOdata* out_0 , seqBucketIOdata* inp_1 , seqBucketIOdata* inp_2 , seqBucketIOdata* inp_3) const
+	{
+
+		if(inp_1 == 0)
+		{
+			BLI_assert(0);
+			return -1;
+		}
+
+
+		static BrightContrastVars def = {0};
+		BrightContrastVars * Vars = effectdata ? (BrightContrastVars *) effectdata : &def;
+
+		seqBucket *b = out_0->get_bucket();
+
+		seqCommandBrightenss *com_brightness = new seqCommandBrightenss;
+
+		seqImageStackInfo ti = canvas->get_ssi();
+		ti.format = SEQ_ING_FORMAT_RGBA;
+		*inp_1 = b->new_image_on_stack(ti);
+
+		com_brightness->set_data(Vars->bright, Vars->bright);
+
+		bucket->add_command_front(com_brightness, out_0, inp_1);
+
+		return 1;
+	}
+
+
+
+};
+

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list