gephex--main--0.4--patch-1814

[email protected]
Newsgroups gmane.comp.video.gephex.devel
Message-ID <[email protected]>
Archive: [email protected]
New revision: gephex--main--0.4--patch-1814

--
Revision: gephex--main--0.4--patch-1814
Archive: [email protected]
Creator: GePhex <[email protected]>
Date: Mon Nov  8 19:28:17 CET 2004
Standard-date: 2004-11-08 18:28:17 GMT
New-files: modules/src/capturemodule/.arch-ids/v4l2capturedriver.cpp.id
    modules/src/capturemodule/.arch-ids/v4l2capturedriver.h.id
    modules/src/capturemodule/v4l2capturedriver.cpp
    modules/src/capturemodule/v4l2capturedriver.h
    modules/src/pongmodule/.arch-ids/=id
    modules/src/pongmodule/.arch-ids/Makefile.am.id
    modules/src/pongmodule/.arch-ids/pongmodule.cpp.id
    modules/src/pongmodule/.arch-ids/pongmodule.spec.id
    modules/src/pongmodule/.arch-ids/pongmodule.xpm.id
    modules/src/pongmodule/Makefile.am
    modules/src/pongmodule/pongmodule.cpp
    modules/src/pongmodule/pongmodule.spec
    modules/src/pongmodule/pongmodule.xpm
New-directories: modules/src/pongmodule
    modules/src/pongmodule/.arch-ids
Modified-files: configure.ac modules/src/Makefile.am
    modules/src/capturemodule/Makefile.am
    modules/src/capturemodule/capturemodule.cpp
    modules/src/ifsmodule/Makefile.am
    modules/src/ifsmodule/ifsmodule.cpp
    modules/src/ifsmodule/ifsmodule.spec
New-patches: [email protected]/gephex--v4l2--0.4--patch-1
    [email protected]/gephex--main--0.4--patch-1814
    [email protected]/gephex--ifsspeedup--0.4--patch-1
    [email protected]/gephex--piksel04--0.4--base-0
    [email protected]/gephex--piksel04--0.4--patch-1
    [email protected]/gephex--pong--0.4--patch-1
    [email protected]/gephex--pong--0.4--patch-2
    [email protected]/gephex--pong--0.4--patch-3
Summary: changes made during piksel04: v4l2 support, ifs speedup, ogl driver fix, pong module
Keywords: 

Patches applied:

 * [email protected]/gephex--v4l2--0.4--patch-1
   initial v4l2 support

 * [email protected]/gephex--ifsspeedup--0.4--patch-1
   interface changes and some speedup stuff

 * [email protected]/gephex--piksel04--0.4--base-0
   tag of [email protected]/gephex--main--0.4--patch-1811

 * [email protected]/gephex--piksel04--0.4--patch-1
   first version for piksel04

 * [email protected]/gephex--pong--0.4--patch-1
   the game of pong initial version

 * [email protected]/gephex--pong--0.4--patch-2
   and now the files

 * [email protected]/gephex--pong--0.4--patch-3
   new pong stuff

* added directories

    modules/src/pongmodule
    modules/src/pongmodule/.arch-ids
    {arch}/gephex/gephex--ifsspeedup
    {arch}/gephex/gephex--ifsspeedup/gephex--ifsspeedup--0.4
    {arch}/gephex/gephex--ifsspeedup/gephex--ifsspeedup--0.4/[email protected]
    {arch}/gephex/gephex--ifsspeedup/gephex--ifsspeedup--0.4/[email protected]/patch-log
    {arch}/gephex/gephex--piksel04
    {arch}/gephex/gephex--piksel04/gephex--piksel04--0.4
    {arch}/gephex/gephex--piksel04/gephex--piksel04--0.4/[email protected]
    {arch}/gephex/gephex--piksel04/gephex--piksel04--0.4/[email protected]/patch-log
    {arch}/gephex/gephex--pong
    {arch}/gephex/gephex--pong/gephex--pong--0.4
    {arch}/gephex/gephex--pong/gephex--pong--0.4/[email protected]
    {arch}/gephex/gephex--pong/gephex--pong--0.4/[email protected]/patch-log
    {arch}/gephex/gephex--v4l2
    {arch}/gephex/gephex--v4l2/gephex--v4l2--0.4
    {arch}/gephex/gephex--v4l2/gephex--v4l2--0.4/[email protected]
    {arch}/gephex/gephex--v4l2/gephex--v4l2--0.4/[email protected]/patch-log

* added files

    modules/src/capturemodule/.arch-ids/v4l2capturedriver.cpp.id
    modules/src/capturemodule/.arch-ids/v4l2capturedriver.h.id
    modules/src/capturemodule/v4l2capturedriver.cpp
    modules/src/capturemodule/v4l2capturedriver.h
    modules/src/pongmodule/.arch-ids/=id
    modules/src/pongmodule/.arch-ids/Makefile.am.id
    modules/src/pongmodule/.arch-ids/pongmodule.cpp.id
    modules/src/pongmodule/.arch-ids/pongmodule.spec.id
    modules/src/pongmodule/.arch-ids/pongmodule.xpm.id
    modules/src/pongmodule/Makefile.am
    modules/src/pongmodule/pongmodule.cpp
    modules/src/pongmodule/pongmodule.spec
    modules/src/pongmodule/pongmodule.xpm
    {arch}/gephex/gephex--ifsspeedup/gephex--ifsspeedup--0.4/[email protected]/patch-log/patch-1
    {arch}/gephex/gephex--main/gephex--main--0.4/[email protected]/patch-log/patch-1814
    {arch}/gephex/gephex--piksel04/gephex--piksel04--0.4/[email protected]/patch-log/base-0
    {arch}/gephex/gephex--piksel04/gephex--piksel04--0.4/[email protected]/patch-log/patch-1
    {arch}/gephex/gephex--pong/gephex--pong--0.4/[email protected]/patch-log/patch-1
    {arch}/gephex/gephex--pong/gephex--pong--0.4/[email protected]/patch-log/patch-2
    {arch}/gephex/gephex--pong/gephex--pong--0.4/[email protected]/patch-log/patch-3
    {arch}/gephex/gephex--v4l2/gephex--v4l2--0.4/[email protected]/patch-log/patch-1

* modified files

--- orig/configure.ac
+++ mod/configure.ac
@@ -457,6 +457,7 @@
 modules/src/pixelizemodule/Makefile
 modules/src/planemodule/Makefile
 modules/src/plasmamodule/Makefile
+modules/src/pongmodule/Makefile
 modules/src/posnummodule/Makefile
 modules/src/rangeconvertmodule/Makefile
 modules/src/resultmodule/Makefile


--- orig/modules/src/Makefile.am
+++ mod/modules/src/Makefile.am
@@ -75,6 +75,7 @@
 	pixelizemodule \
 	planemodule \
 	plasmamodule \
+	pongmodule \
 	posnummodule \
 	rangeconvertmodule \
 	resultmodule \


--- orig/modules/src/capturemodule/Makefile.am
+++ mod/modules/src/capturemodule/Makefile.am
@@ -19,6 +19,8 @@
 	capturedriver.h \
 	v4lcapturedriver.cpp \
 	v4lcapturedriver.h \
+	v4l2capturedriver.cpp \
+	v4l2capturedriver.h \
 	v4l1.h \
 	v4l1.cpp \
 	videodev.h


--- orig/modules/src/capturemodule/capturemodule.cpp
+++ mod/modules/src/capturemodule/capturemodule.cpp
@@ -32,6 +32,7 @@
 
 #if defined(OS_POSIX)
 #include "v4lcapturedriver.h"
+#include "v4l2capturedriver.h"
 #elif defined(OS_WIN32)
 #include "dshowcapturedriver.h"
 #endif
@@ -41,7 +42,7 @@
 CaptureDriver* create_driver()
 {
 #if defined(OS_POSIX)
-  return new V4LCaptureDriver();
+  return new V4L2CaptureDriver();
 #elif defined(OS_WIN32)
   return new DSHOWCaptureDriver();
 #endif
@@ -168,7 +169,8 @@
   int device_num = trim_int(inst->in_device->number, 0, MAX_DEVICES-1);
     
   //check if device changed
-  if (my->device_num != device_num)
+  if (my->device_num != device_num || my->drv == 0 ||
+      !my->drv->is_open())
     {
       try
         {


--- orig/modules/src/ifsmodule/Makefile.am
+++ mod/modules/src/ifsmodule/Makefile.am
@@ -21,6 +21,7 @@
 
 INCLUDES = -I@srcdir@/../../../engine/src/engine \
            -I@srcdir@/../../../util/include \
+           -I@srcdir@/../../../util/src/misc \
            -I@srcdir@/../../../types/src/framebuffertype \
            -I@srcdir@/../../../types/src/ifstype \
            -I@srcdir@/../../../types/src/numbertype 


--- orig/modules/src/ifsmodule/ifsmodule.cpp
+++ mod/modules/src/ifsmodule/ifsmodule.cpp
@@ -26,6 +26,8 @@
 #include <cstdlib>
 #include <cassert>
 
+#include "crandgen.h"
+
 #if defined(HAVE_CONFIG_H)
   #include "config.h"
 #endif
@@ -41,7 +43,7 @@
 
 typedef struct _MyInstance {
 
-  uint_32* frameBuffer;
+  uint_8* frameBuffer;
   int xSize;
   int ySize;
 } MyInstance, *MyInstancePtr;
@@ -90,15 +92,19 @@
   };
 };
 
+uint_32 val2ch(uint_8 val)
+{
+  uint8_t gw= val << 4; 
+
+  return gw | (gw << 8) | (gw << 16); 
+}
 
 void update(void* instance)
 {
   InstancePtr inst = (InstancePtr) instance;
   MyInstancePtr my = inst->my;
 
-  int numDots = trim_int(inst->in_num_dot->number,1,10000000);
-  int recursionDeep = trim_int(inst->in_num_rec->number,0,40);
-  int amount = (int) (trim_double(inst->in_amount->number,0,1) * 255 + .5);
+  int numDots = trim_int(inst->in_num_dot->number,1,100000000);
 
   uint_32 pal[256];
   for (int i=0;i!=256;++i)
@@ -127,7 +133,7 @@
       delete[] my->frameBuffer;
       my->xSize=inst->out_out->xsize;
       my->ySize=inst->out_out->ysize;
-      my->frameBuffer= new uint_32[my->xSize*my->ySize];
+      my->frameBuffer= new uint_8[my->xSize*my->ySize];
 
     }
 
@@ -138,36 +144,41 @@
 	    &(my->frameBuffer[my->xSize*my->ySize]),
 	    0);
 
-  for (int i=0;i!=numDots;++i)
+  double x = 0.0;
+  double y = 0.0;
+
+  if (inst->in_ifs->numfun != 0)
+  for ( int i = 0; i != numDots; ++i )
     {
-      double x = 0.0;
-      double y = 0.0;
+      // random chose in [0..numFuns-1]
+      int fun=static_cast<int>((rnd_lcg1()>>16)%inst->in_ifs->numfun);
+      
+      double xn=inst->in_ifs->ifs[0][fun]*x + inst->in_ifs->ifs[1][fun]*y
+	+ inst->in_ifs->ifs[4][fun];
 
-      for (int j=0;j!=recursionDeep;++j)
-	{
-	  // random chose in [0..numFuns-1]
-	  int fun=static_cast<int>((static_cast<double>(rand())/RAND_MAX)*inst->in_ifs->numfun);
-	  double xn=inst->in_ifs->ifs[0][fun]*x+inst->in_ifs->ifs[1][fun]*y+inst->in_ifs->ifs[4][fun];
-	  double yn=inst->in_ifs->ifs[2][fun]*x+inst->in_ifs->ifs[3][fun]*y+inst->in_ifs->ifs[5][fun];
-	  x=xn;y=yn;
-	}
+      double yn=inst->in_ifs->ifs[2][fun]*x + inst->in_ifs->ifs[3][fun]*y
+	+ inst->in_ifs->ifs[5][fun];
 
+      x=xn;y=yn;
+      
       // hm there needs to be some aspect correction
       int x_pos=(int)((x+1.0)*my->xSize/2);
       int y_pos=(int)((y+1.0)*my->ySize/2);
       
       // clipping
       if((x_pos>0)&&(x_pos<my->xSize)&&(y_pos>0)&&(y_pos<my->ySize))
-      {
-	// increase lightness
-	my->frameBuffer[x_pos+y_pos*my->xSize]+=amount;
-      }
+	{
+	  // increase lightness
+	  uint8_t* pix = my->frameBuffer+(x_pos+y_pos*my->xSize);
+	  if ((*pix) != 15)
+	    ++(*pix);
+	}
     }
   
   // copy in the output frame
   // and replace intensities with palette entry
   std::transform(my->frameBuffer,
 		 &(my->frameBuffer[my->xSize*my->ySize]),
-		 inst->out_out->framebuffer,Val2Pal(pal));
+		 inst->out_out->framebuffer,val2ch);
 }
 


--- orig/modules/src/ifsmodule/ifsmodule.spec
+++ mod/modules/src/ifsmodule/ifsmodule.spec
@@ -22,7 +22,7 @@
 	hidden	= true
 	widget_type	=	number_selector
 	lower_bound	= 0
-	higher_bound = 1024
+	higher_bound = 2048
 	default	= 0
 	step_size = 1
 	help	= Wenn x_size und y_size > 0, wird das bild auf xsize x ysize skaliert
@@ -37,7 +37,7 @@
 	hidden	= true
 	widget_type	=	number_selector
 	lower_bound	= 0
-	higher_bound = 1024
+	higher_bound = 2048
 	default	= 0
 	step_size = 1
 	help	= Wenn x_size und y_size > 0, wird das bild auf xsize x ysize skaliert
@@ -55,21 +55,6 @@
 	help	= try something 5000 - 100000
     }
 
-    amount
-    {
-	name	=	lightness
-	type	=	typ_NumberType
-	const	=	true
-	strong_dependency = true
-	hidden	= true
-	widget_type	=	number_selector
-	lower_bound	= 0
-	higher_bound = 1
-	step_size = 0.01
-	default	= 0.2
-	help	= lightness
-    }
-
     ifs
     {
 	name	=	ifsin
@@ -78,19 +63,6 @@
 	strong_dependency = true
     }
 
-    num_rec
-    {
-	name	=	recdeep
-	type	=	typ_NumberType
-	const	=	true
-	strong_dependency = true
-	hidden	= true
-	widget_type	=	number_selector
-	lower_bound	= 0
-	higher_bound = 255
-	default	= 5
-	help	= puh
-    }
 }
 
 outputs
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.