Patch from ILdar AKHmetgaleev (akhil) - [#7864] correct scale in sequencer's glow
Added py-api write access to sequencer images.
This commit is contained in:
@@ -531,7 +531,44 @@ static PyObject *Sequence_getImages( BPy_Sequence * self )
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
static int Sequence_setImages( BPy_Sequence * self, PyObject *value )
|
||||
{
|
||||
Strip *strip;
|
||||
StripElem *se;
|
||||
int i;
|
||||
PyObject *list, *item;
|
||||
char *basepath, *name;
|
||||
|
||||
if (self->seq->type != SEQ_IMAGE) {
|
||||
return EXPP_ReturnIntError( PyExc_TypeError,
|
||||
"Sequence is not an image type" );
|
||||
}
|
||||
|
||||
if( !PyArg_ParseTuple
|
||||
( value, "sO!", &basepath, &PyList_Type, &list ) )
|
||||
return EXPP_ReturnIntError( PyExc_TypeError,
|
||||
"expected string and optional list argument" );
|
||||
|
||||
strip = self->seq->strip;
|
||||
se = strip->stripdata;
|
||||
|
||||
/* for now dont support different image list sizes */
|
||||
if (PyList_Size(list) != strip->len) {
|
||||
return EXPP_ReturnIntError( PyExc_TypeError,
|
||||
"at the moment only image lista with the same number of images as the strip are supported" );
|
||||
}
|
||||
|
||||
strncpy(strip->dir, basepath, sizeof(strip->dir));
|
||||
|
||||
for (i=0; i<strip->len; i++, se++) {
|
||||
name = PyString_AsString(PyList_GetItem(list, i));
|
||||
if (name) {
|
||||
strncpy(se->name, name, sizeof(se->name));
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
* get floating point attributes
|
||||
@@ -724,7 +761,7 @@ static PyGetSetDef BPy_Sequence_getseters[] = {
|
||||
"Sequence name",
|
||||
NULL},
|
||||
{"images",
|
||||
(getter)Sequence_getImages, (setter)NULL,
|
||||
(getter)Sequence_getImages, (setter)Sequence_setImages,
|
||||
"Sequence scene",
|
||||
NULL},
|
||||
|
||||
|
@@ -35,6 +35,7 @@
|
||||
#include "MEM_guardedalloc.h"
|
||||
#include "PIL_dynlib.h"
|
||||
|
||||
#include "DNA_scene_types.h"
|
||||
#include "DNA_sequence_types.h"
|
||||
|
||||
#include "BLI_blenlib.h"
|
||||
@@ -2494,9 +2495,10 @@ static void do_glow_effect_byte(Sequence *seq, float facf0, float facf1,
|
||||
unsigned char *outbuf=(unsigned char *)out;
|
||||
unsigned char *inbuf=(unsigned char *)rect1;
|
||||
GlowVars *glow = (GlowVars *)seq->effectdata;
|
||||
struct RenderData *rd = &G.scene->r;
|
||||
|
||||
RVIsolateHighlights_byte(inbuf, outbuf , x, y, glow->fMini*765, glow->fBoost, glow->fClamp);
|
||||
RVBlurBitmap2_byte (outbuf, x, y, glow->dDist,glow->dQuality);
|
||||
RVBlurBitmap2_byte (outbuf, x, y, glow->dDist * (rd->size / 100.0f),glow->dQuality);
|
||||
if (!glow->bNoComp)
|
||||
RVAddBitmaps_byte (inbuf , outbuf, outbuf, x, y);
|
||||
}
|
||||
@@ -2508,9 +2510,10 @@ static void do_glow_effect_float(Sequence *seq, float facf0, float facf1,
|
||||
float *outbuf = out;
|
||||
float *inbuf = rect1;
|
||||
GlowVars *glow = (GlowVars *)seq->effectdata;
|
||||
struct RenderData *rd = &G.scene->r;
|
||||
|
||||
RVIsolateHighlights_float(inbuf, outbuf , x, y, glow->fMini*3.0f, glow->fBoost, glow->fClamp);
|
||||
RVBlurBitmap2_float (outbuf, x, y, glow->dDist,glow->dQuality);
|
||||
RVBlurBitmap2_float (outbuf, x, y, glow->dDist * (rd->size / 100.0f),glow->dQuality);
|
||||
if (!glow->bNoComp)
|
||||
RVAddBitmaps_float (inbuf , outbuf, outbuf, x, y);
|
||||
}
|
||||
|
Reference in New Issue
Block a user