diff --git a/veejay-current/libvje/Makefile.am b/veejay-current/libvje/Makefile.am index dcd298c5..b496a3d6 100644 --- a/veejay-current/libvje/Makefile.am +++ b/veejay-current/libvje/Makefile.am @@ -38,7 +38,7 @@ libvje_la_SOURCES = vj-effect.c vj-effman.c effects/common.c \ effects/crosspixel.c effects/morphology.c effects/ghost.c effects/blob.c effects/boids.c effects/nervous.c \ effects/cartonize.c effects/tripplicity.c effects/neighbours.c effects/neighbours2.c\ effects/neighbours3.c effects/neighbours4.c effects/neighbours5.c effects/cutstop.c\ - effects/maskstop.c effects/photoplay.c effects/videoplay.c + effects/maskstop.c effects/photoplay.c effects/videoplay.c effects/videowall.c libvje_la_LDFLAGS = $(VJE_ALL_LIB_OPTS) \ diff --git a/veejay-current/libvje/internal.h b/veejay-current/libvje/internal.h index 89ca9f9b..8fa36ae1 100644 --- a/veejay-current/libvje/internal.h +++ b/veejay-current/libvje/internal.h @@ -111,6 +111,7 @@ enum { VJ_VIDEO_EFFECT_DISSOLVE = 235, VJ_VIDEO_EFFECT_TRIPPLICITY = 236, VJ_VIDEO_EFFECT_VIDEOPLAY = 237, + VJ_VIDEO_EFFECT_VIDEOWALL = 238, // VJ_VIDEO_EFFECT_CHANNELMIX = 233, }; @@ -197,7 +198,7 @@ enum { #define VJ_IMAGE_EFFECT_MAX 175 #define VJ_VIDEO_EFFECT_MIN 200 -#define VJ_VIDEO_EFFECT_MAX 238 +#define VJ_VIDEO_EFFECT_MAX 239 #define VJ_VIDEO_COUNT (VJ_VIDEO_EFFECT_MAX - VJ_VIDEO_EFFECT_MIN) @@ -507,6 +508,8 @@ extern void photoplay_apply(VJFrame *frame, int w, int h, int a, int b, int c); extern void videoplay_apply(VJFrame *frame,VJFrame *B, int w, int h, int a, int b, int c); +extern void videowall_apply(VJFrame *frame,VJFrame *B, int w, int h, int a, int b, int c, int d); + #endif diff --git a/veejay-current/libvje/vj-effect.c b/veejay-current/libvje/vj-effect.c index 935e50a4..a1b4ea1d 100644 --- a/veejay-current/libvje/vj-effect.c +++ b/veejay-current/libvje/vj-effect.c @@ -139,7 +139,7 @@ #include "effects/maskstop.h" #include "effects/photoplay.h" #include "effects/videoplay.h" - +#include "effects/videowall.h" static struct { int (*mem_init)(int width, int height); @@ -188,6 +188,7 @@ static struct { maskstop_malloc, maskstop_free, VJ_IMAGE_EFFECT_MASKSTOP }, { photoplay_malloc, photoplay_free, VJ_IMAGE_EFFECT_PHOTOPLAY }, { videoplay_malloc, videoplay_free, VJ_VIDEO_EFFECT_VIDEOPLAY }, +{ videowall_malloc, videowall_free, VJ_VIDEO_EFFECT_VIDEOWALL }, { NULL , NULL ,0 }, }; @@ -400,7 +401,8 @@ void vj_effect_initialize(int width, int height) vj_effects[35] = dissolve_init(width,height); vj_effects[36] = tripplicity_init(width,height); vj_effects[37] = videoplay_init(width,height); - vj_effects[38] = dummy_init(width,height); + vj_effects[38] = videowall_init(width,height); + vj_effects[39] = dummy_init(width,height); vj_effects[i + 1] = mirrors2_init(width,height); vj_effects[i + 2] = mirrors_init(width,height); vj_effects[i + 3] = widthmirror_init(width,height); diff --git a/veejay-current/libvje/vj-effman.c b/veejay-current/libvje/vj-effman.c index 61632ef2..17f2a8fc 100644 --- a/veejay-current/libvje/vj-effman.c +++ b/veejay-current/libvje/vj-effman.c @@ -319,6 +319,10 @@ void vj_effman_apply_image_effect( void vj_effman_apply_video_effect( VJFrame **frames, VJFrameInfo *frameinfo ,vjp_kf *todo_info,int *arg, int entry, int e) { switch(e) { + case VJ_VIDEO_EFFECT_VIDEOWALL: + videowall_apply(frames[0],frames[1],frameinfo->width, + frameinfo->height,arg[0],arg[1],arg[2],arg[3]); + break; case VJ_VIDEO_EFFECT_VIDEOPLAY: videoplay_apply(frames[0],frames[1],frameinfo->width, frameinfo->height,arg[0],arg[1],arg[2]); diff --git a/veejay-current/libvje/vje.h b/veejay-current/libvje/vje.h index d74d8ff9..b6e3df0a 100644 --- a/veejay-current/libvje/vje.h +++ b/veejay-current/libvje/vje.h @@ -25,7 +25,7 @@ #include #include -#define MAX_EFFECTS 113 +#define MAX_EFFECTS 114 #define PARAM_WIDTH (1<<0x2) #define PARAM_HEIGHT (1<<0x3)