[PD-cvs] SF.net SVN: pure-data: [9893] trunk/externals
eighthave at users.sourceforge.net
eighthave at users.sourceforge.net
Sat May 24 03:51:07 CEST 2008
Revision: 9893
http://pure-data.svn.sourceforge.net/pure-data/?rev=9893&view=rev
Author: eighthave
Date: 2008-05-23 18:51:05 -0700 (Fri, 23 May 2008)
Log Message:
-----------
- First stabs at getting pdvjtools as part of Pd-extended
- build fixes for Mac OS X
- updated help files to standard names
Modified Paths:
--------------
trunk/externals/Makefile
trunk/externals/pdvjtools/videogrid/videogrid.cpp
Added Paths:
-----------
trunk/externals/pdvjtools/Makefile
trunk/externals/pdvjtools/imagegrid/imagegrid.libs
trunk/externals/pdvjtools/pdp_frei0r/pdp_frei0r-help.pd
trunk/externals/pdvjtools/pix_preview/pix_preview.cc
trunk/externals/pdvjtools/videogrid/videogrid.libs
Removed Paths:
-------------
trunk/externals/pdvjtools/pdp_frei0r/help_pdp_frei0r.pd
trunk/externals/pdvjtools/pix_preview/pix_preview.cpp
Modified: trunk/externals/Makefile
===================================================================
--- trunk/externals/Makefile 2008-05-24 01:44:50 UTC (rev 9892)
+++ trunk/externals/Makefile 2008-05-24 01:51:05 UTC (rev 9893)
@@ -43,20 +43,20 @@
# this variable is to support old "win" directories, rather than "windows"
BUILDSRC_OS_NAME = $(OS_NAME)
-CFLAGS = -DPD $(OPT_CFLAGS) -I$(pd_src)/src -Wall -W $(DEBUG_CFLAGS)
+CFLAGS = -DPD $(OPT_CFLAGS) -I$(pd_src)/src -Wall -W $(DEBUG_CFLAGS) -I$(gem_src)/src
LDFLAGS =
LIBS = -lm
ifeq ($(OS_NAME),darwin)
- CFLAGS += -I/sw/include -DMACOSX -DUNIX -Dunix
- LDFLAGS += -bundle -bundle_loader $(pd_src)/bin/pd -L/sw/lib \
- -weak_framework Carbon
+ CFLAGS += -I/sw/include -I$(externals_src)/pdp/include -DMACOSX -DUNIX -Dunix
+ LDFLAGS += -bundle -bundle_loader $(pd_src)/bin/pd -undefined dynamic_lookup \
+ -L/sw/lib -weak_framework Carbon
LIBS += -lc
DYLIB_LDFLAGS = -dynamiclib -undefined dynamic_lookup -read_only_relocs warning -L/sw/lib
STRIP = strip -x
endif
ifeq ($(OS_NAME),linux)
- CFLAGS += -DUNIX -Dunix -fPIC
+ CFLAGS += -I$(externals_src)/pdp/include -DUNIX -Dunix -fPIC
LDFLAGS += -Wl,-export_dynamic -shared
LIBS += -lc
DYLIB_LDFLAGS = $(LDFLAGS)
@@ -2091,6 +2091,45 @@
#------------------------------------------------------------------------------#
+# PDVJTOOLS
+PDVJTOOLS_NAME=pdvjtools
+PDVJTOOLS_OBJECTS := $(wildcard $(externals_src)/pdvjtools/*/*.c)
+PDVJTOOLS_CPP_OBJECTS := $(wildcard $(externals_src)/pdvjtools/*/*.cpp)
+pdvjtools: $(PDVJTOOLS_OBJECTS:.c=.$(EXTENSION)) \
+$(PDVJTOOLS_CPP_OBJECTS:.cpp=.$(EXTENSION))
+
+pdvjtools_install: pdvjtools
+ install -d $(objectsdir)/$(PDVJTOOLS_NAME)
+ $(scripts_src)/generate-libdir-metafile.sh $(objectsdir) $(PDVJTOOLS_NAME) \
+ --author "" \
+ --description "Pure Data Video Junk"
+ install -p $(PDVJTOOLS_OBJECTS:.c=.$(EXTENSION)) $(objectsdir)/$(PDVJTOOLS_NAME)
+ install -d $(helpdir)/$(PDVJTOOLS_NAME)
+ install -p $(externals_src)/pdvjtools/*/*-help.pd \
+ $(helpdir)/$(PDVJTOOLS_NAME)
+ install -d $(manualsdir)/$(PDVJTOOLS_NAME)
+ install -p $(externals_src)/pdvjtools/pdp_freeframe/INSTALL \
+ $(manualsdir)/$(PDVJTOOLS_NAME)/pdp_freeframe_INSTALL
+ install -p $(externals_src)/pdvjtools/pdp_frei0r/INSTALL \
+ $(manualsdir)/$(PDVJTOOLS_NAME)/pdp_frei0r_INSTALL
+# install -d $(readmesdir)
+# install -p $(externals_src)/pdvjtools/README \
+# $(readmesdir)/$(PDVJTOOLS_NAME).txt
+# install -d $(examplesdir)/$(PDVJTOOLS_NAME)
+# install -p $(externals_src)/pdvjtools/examples/*.pd \
+# $(examplesdir)/$(PDVJTOOLS_NAME)
+
+pdvjtools_clean:
+ -rm -f -- $(PDVJTOOLS_OBJECTS:.c=.$(EXTENSION))
+ -rm -f -- $(PDVJTOOLS_CPP_OBJECTS:.cpp=.$(EXTENSION))
+ -rm -f -- $(PDVJTOOLS_OBJECTS:.c=.o)
+ -rm -f -- $(PDVJTOOLS_CPP_OBJECTS:.cpp=.o)
+ -rm -f -- $(externals_src)/pdvjtools/*.bak
+ -rm -f -- $(externals_src)/pdvjtools/*.*~
+
+
+
+#------------------------------------------------------------------------------#
# PIDIP
PIDIP_NAME=pidip
$(externals_src)/pidip/configure: $(externals_src)/pidip/configure.ac
Added: trunk/externals/pdvjtools/Makefile
===================================================================
--- trunk/externals/pdvjtools/Makefile (rev 0)
+++ trunk/externals/pdvjtools/Makefile 2008-05-24 01:51:05 UTC (rev 9893)
@@ -0,0 +1,17 @@
+TARGET := $(shell pwd | sed 's|.*/\(.*\)$$|\1|')
+EXTERNALS_ROOT := $(shell pwd | sed 's|^\(/.*externals\).*|\1|')
+
+default:
+ make -C $(EXTERNALS_ROOT) $(TARGET)
+
+install:
+ make -C $(EXTERNALS_ROOT) $(TARGET)_install
+
+clean:
+ make -C $(EXTERNALS_ROOT) $(TARGET)_clean
+
+test_locations:
+ make -C $(EXTERNALS_ROOT) test_locations
+
+etags:
+ etags *.[ch] ~/code/pure-data/trunk/pd/src/*.[ch] /usr/include/*.h /usr/include/sys/*.h
Added: trunk/externals/pdvjtools/imagegrid/imagegrid.libs
===================================================================
--- trunk/externals/pdvjtools/imagegrid/imagegrid.libs (rev 0)
+++ trunk/externals/pdvjtools/imagegrid/imagegrid.libs 2008-05-24 01:51:05 UTC (rev 9893)
@@ -0,0 +1 @@
+-lMagick -lWand
Deleted: trunk/externals/pdvjtools/pdp_frei0r/help_pdp_frei0r.pd
===================================================================
--- trunk/externals/pdvjtools/pdp_frei0r/help_pdp_frei0r.pd 2008-05-24 01:44:50 UTC (rev 9892)
+++ trunk/externals/pdvjtools/pdp_frei0r/help_pdp_frei0r.pd 2008-05-24 01:51:05 UTC (rev 9893)
@@ -1,330 +0,0 @@
-#N canvas 528 22 996 665 10;
-#X floatatom 151 379 5 0 0 0 - - -;
-#X obj 196 377 hradio 15 1 0 49 empty empty empty 0 -6 0 8 -262144
--1 -1 0;
-#X obj 261 171 hsl 128 15 0 1 0 0 empty empty empty -2 -6 0 8 -262144
--1 -1 0 1;
-#X obj 401 171 hsl 128 15 0 1 0 0 empty empty empty -2 -6 0 8 -262144
--1 -1 0 1;
-#X obj 541 171 hsl 128 15 0 1 0 0 empty empty empty -2 -6 0 8 -262144
--1 -1 0 1;
-#X msg 258 191 param 3 \$1;
-#X msg 398 190 param 4 \$1;
-#X msg 539 190 param 5 \$1;
-#X text 197 358 Select the plugin;
-#X text 258 72 Adjust plugin parameters.;
-#X symbolatom 87 501 20 0 0 0 - - -;
-#X text 240 501 <-- plugin name;
-#X floatatom 106 479 5 0 0 0 - - -;
-#X text 154 477 <-- number of parameters;
-#X text 205 451 <-- parameter name;
-#X text 232 423 <-- parameter type;
-#X obj 263 112 hsl 128 15 0 1 0 0 empty empty empty -2 -6 0 8 -262144
--1 -1 0 1;
-#X obj 401 112 hsl 128 15 0 1 0 0 empty empty empty -2 -6 0 8 -262144
--1 -1 0 1;
-#X obj 542 112 hsl 128 15 0 1 0 0 empty empty empty -2 -6 0 8 -262144
--1 -1 0 1;
-#X obj 261 234 hsl 128 15 0 1 0 0 empty empty empty -2 -6 0 8 -262144
--1 -1 0 1;
-#X obj 402 234 hsl 128 15 0 1 0 0 empty empty empty -2 -6 0 8 -262144
--1 -1 0 1;
-#X obj 544 234 hsl 128 15 0 1 0 0 empty empty empty -2 -6 0 8 -262144
--1 -1 0 1;
-#X msg 260 131 param 0 \$1;
-#X msg 398 131 param 1 \$1;
-#X msg 539 131 param 2 \$1;
-#X msg 260 254 param 6 \$1;
-#X msg 399 253 param 7 \$1;
-#X msg 541 253 param 8 \$1;
-#N canvas 0 22 996 665 pname 0;
-#X obj 51 119 l2s;
-#X obj 80 119 l2s;
-#X obj 111 119 l2s;
-#X obj 143 119 l2s;
-#X obj 207 120 l2s;
-#X obj 236 120 l2s;
-#X obj 267 120 l2s;
-#X obj 298 119 l2s;
-#X obj 327 119 l2s;
-#X obj 97 51 inlet;
-#X obj 51 154 s ffparam0;
-#X obj 79 178 s ffparam1;
-#X obj 118 205 s ffparam2;
-#X obj 148 227 s ffparam3;
-#X obj 185 157 s ffparam4;
-#X obj 213 181 s ffparam5;
-#X obj 255 206 s ffparam6;
-#X obj 283 230 s ffparam7;
-#X obj 305 155 s ffparam8;
-#X obj 391 53 inlet;
-#X msg 390 79 symbol;
-#X obj 359 118 l2s;
-#X obj 391 118 l2s;
-#X obj 97 79 route 0 1 2 3 4 5 6 7 8 9 10;
-#X obj 357 178 s ffparam9;
-#X obj 414 202 s ffparam10;
-#X connect 0 0 10 0;
-#X connect 1 0 11 0;
-#X connect 2 0 12 0;
-#X connect 3 0 13 0;
-#X connect 4 0 14 0;
-#X connect 5 0 15 0;
-#X connect 6 0 16 0;
-#X connect 7 0 17 0;
-#X connect 8 0 18 0;
-#X connect 9 0 23 0;
-#X connect 19 0 20 0;
-#X connect 20 0 10 0;
-#X connect 20 0 11 0;
-#X connect 20 0 12 0;
-#X connect 20 0 13 0;
-#X connect 20 0 14 0;
-#X connect 20 0 15 0;
-#X connect 20 0 16 0;
-#X connect 20 0 17 0;
-#X connect 20 0 18 0;
-#X connect 20 0 24 0;
-#X connect 20 0 25 0;
-#X connect 21 0 24 0;
-#X connect 22 0 25 0;
-#X connect 23 0 0 0;
-#X connect 23 1 1 0;
-#X connect 23 2 2 0;
-#X connect 23 3 3 0;
-#X connect 23 4 4 0;
-#X connect 23 5 5 0;
-#X connect 23 6 6 0;
-#X connect 23 7 7 0;
-#X connect 23 8 8 0;
-#X connect 23 9 21 0;
-#X connect 23 10 22 0;
-#X restore 137 451 pd pname;
-#X symbolatom 260 93 18 0 0 0 - ffparam0 -;
-#X symbolatom 399 92 18 0 0 0 - ffparam1 -;
-#X symbolatom 538 92 18 0 0 0 - ffparam2 -;
-#X symbolatom 261 154 18 0 0 0 - ffparam3 -;
-#X symbolatom 400 153 18 0 0 0 - ffparam4 -;
-#X symbolatom 539 153 18 0 0 0 - ffparam5 -;
-#X symbolatom 261 214 18 0 0 0 - ffparam6 -;
-#X symbolatom 400 213 18 0 0 0 - ffparam7 -;
-#X symbolatom 539 213 18 0 0 0 - ffparam8 -;
-#X text 489 424 frei0r host for Pure Data Packet version 0.1;
-#X text 491 439 by Lluis Gomez i Bigorda (lluis at artefacte.org);
-#X text 510 452 & Yves Degoyon (ydegoyon at free.fr);
-#X text 491 495 made at piksel yearly gathering : http://www.piksel.no
-;
-#X obj 155 423 print type;
-#X text 491 467 using frei0r specification 1.1 by Georg Seidel \, Phillip
-Promesberger and Martin Bayer;
-#X obj 261 304 hsl 128 15 0 1 0 0 empty empty empty -2 -6 0 8 -262144
--1 -1 0 1;
-#X obj 404 304 hsl 128 15 0 1 0 0 empty empty empty -2 -6 0 8 -262144
--1 -1 0 1;
-#X symbolatom 261 283 18 0 0 0 - ffparam9 -;
-#X symbolatom 400 283 18 0 0 0 - ffparam10 -;
-#X msg 259 323 param 9 \$1;
-#X msg 401 323 param 10 \$1;
-#X obj 46 545 pdp_xv;
-#N canvas 222 59 450 300 input1 0;
-#X obj 49 181 pdp_qt;
-#X msg 49 49 bang;
-#X msg 110 111 loop 1;
-#X obj 50 214 pdp_scale 320 240;
-#X msg 167 111 open \$1;
-#X obj 167 89 openpanel;
-#X text 98 49 Load a mov file;
-#X obj 244 113 pdp_v4l;
-#X msg 244 58 bang;
-#X obj 49 250 outlet;
-#X obj 49 5 inlet;
-#X obj 251 7 inlet;
-#X obj 247 33 route 0;
-#X msg 298 59 stop;
-#X obj 50 28 route 0;
-#X msg 14 79 stop;
-#X obj 49 111 metro 80;
-#X obj 244 86 metro 80;
-#X connect 0 0 3 0;
-#X connect 1 0 2 0;
-#X connect 1 0 5 0;
-#X connect 1 0 16 0;
-#X connect 2 0 0 0;
-#X connect 3 0 9 0;
-#X connect 4 0 0 0;
-#X connect 5 0 4 0;
-#X connect 7 0 3 0;
-#X connect 8 0 17 0;
-#X connect 10 0 14 0;
-#X connect 11 0 12 0;
-#X connect 12 0 13 0;
-#X connect 12 1 8 0;
-#X connect 13 0 17 0;
-#X connect 14 0 15 0;
-#X connect 14 1 1 0;
-#X connect 15 0 16 0;
-#X connect 16 0 0 0;
-#X connect 17 0 7 0;
-#X restore 44 44 pd input1;
-#X text 49 24 .mov;
-#X text 115 24 cam;
-#X obj 102 10 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
-;
-#X obj 44 10 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
-;
-#X text 85 89 .mov;
-#X text 151 89 cam;
-#X obj 138 75 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
-;
-#X obj 80 75 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
-;
-#N canvas 222 59 450 300 input2 0;
-#X obj 49 181 pdp_qt;
-#X msg 49 49 bang;
-#X msg 110 111 loop 1;
-#X obj 50 214 pdp_scale 320 240;
-#X msg 167 111 open \$1;
-#X obj 167 89 openpanel;
-#X text 98 49 Load a mov file;
-#X obj 244 113 pdp_v4l;
-#X msg 244 58 bang;
-#X obj 49 250 outlet;
-#X obj 49 5 inlet;
-#X obj 251 7 inlet;
-#X obj 247 33 route 0;
-#X msg 298 59 stop;
-#X obj 50 28 route 0;
-#X msg 14 79 stop;
-#X obj 49 111 metro 80;
-#X obj 244 86 metro 80;
-#X connect 0 0 3 0;
-#X connect 1 0 2 0;
-#X connect 1 0 5 0;
-#X connect 1 0 16 0;
-#X connect 2 0 0 0;
-#X connect 3 0 9 0;
-#X connect 4 0 0 0;
-#X connect 5 0 4 0;
-#X connect 7 0 3 0;
-#X connect 8 0 17 0;
-#X connect 10 0 14 0;
-#X connect 11 0 12 0;
-#X connect 12 0 13 0;
-#X connect 12 1 8 0;
-#X connect 13 0 17 0;
-#X connect 14 0 15 0;
-#X connect 14 1 1 0;
-#X connect 15 0 16 0;
-#X connect 16 0 0 0;
-#X connect 17 0 7 0;
-#X restore 80 109 pd input2;
-#X text 116 148 .mov;
-#X text 182 148 cam;
-#X obj 169 134 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
-1;
-#X obj 111 134 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
-1;
-#N canvas 222 59 450 300 input3 0;
-#X obj 49 181 pdp_qt;
-#X msg 49 49 bang;
-#X msg 110 111 loop 1;
-#X obj 50 214 pdp_scale 320 240;
-#X msg 167 111 open \$1;
-#X obj 167 89 openpanel;
-#X text 98 49 Load a mov file;
-#X obj 244 113 pdp_v4l;
-#X msg 244 58 bang;
-#X obj 49 250 outlet;
-#X obj 49 5 inlet;
-#X obj 251 7 inlet;
-#X obj 247 33 route 0;
-#X msg 298 59 stop;
-#X obj 50 28 route 0;
-#X msg 14 79 stop;
-#X obj 49 111 metro 80;
-#X obj 244 86 metro 80;
-#X connect 0 0 3 0;
-#X connect 1 0 2 0;
-#X connect 1 0 5 0;
-#X connect 1 0 16 0;
-#X connect 2 0 0 0;
-#X connect 3 0 9 0;
-#X connect 4 0 0 0;
-#X connect 5 0 4 0;
-#X connect 7 0 3 0;
-#X connect 8 0 17 0;
-#X connect 10 0 14 0;
-#X connect 11 0 12 0;
-#X connect 12 0 13 0;
-#X connect 12 1 8 0;
-#X connect 13 0 17 0;
-#X connect 14 0 15 0;
-#X connect 14 1 1 0;
-#X connect 15 0 16 0;
-#X connect 16 0 0 0;
-#X connect 17 0 7 0;
-#X restore 111 168 pd input3;
-#X obj 43 202 pdp_scale 320 240;
-#X obj 69 232 pdp_scale 320 240;
-#X obj 93 262 pdp_scale 320 240;
-#X obj 905 409 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
-1;
-#X obj 905 461 pdp_control;
-#X msg 905 434 thread \$1;
-#X floatatom 905 522 5 0 0 0 - - -;
-#X obj 905 493 route pdp_drop;
-#X text 498 547 constructor : pdp_frei0r <index>;
-#X obj 46 376 pdp_frei0r 16;
-#X text 499 562 you can get the index from the list of loaded plugins
-;
-#X text 498 575 at startup ( check pd window );
-#X text 13 290 WARNING : sizes of inputs;
-#X text 12 302 _must_ be the same;
-#X msg 290 18 plugindir /usr/local/lib/frei0r;
-#X connect 0 0 75 3;
-#X connect 1 0 0 0;
-#X connect 2 0 5 0;
-#X connect 3 0 6 0;
-#X connect 4 0 7 0;
-#X connect 5 0 75 0;
-#X connect 6 0 75 0;
-#X connect 7 0 75 0;
-#X connect 12 0 28 1;
-#X connect 16 0 22 0;
-#X connect 17 0 23 0;
-#X connect 18 0 24 0;
-#X connect 19 0 25 0;
-#X connect 20 0 26 0;
-#X connect 21 0 27 0;
-#X connect 22 0 75 0;
-#X connect 23 0 75 0;
-#X connect 24 0 75 0;
-#X connect 25 0 75 0;
-#X connect 26 0 75 0;
-#X connect 27 0 75 0;
-#X connect 44 0 48 0;
-#X connect 45 0 49 0;
-#X connect 48 0 75 0;
-#X connect 49 0 75 0;
-#X connect 51 0 66 0;
-#X connect 54 0 51 1;
-#X connect 55 0 51 0;
-#X connect 58 0 60 1;
-#X connect 59 0 60 0;
-#X connect 60 0 67 0;
-#X connect 63 0 65 1;
-#X connect 64 0 65 0;
-#X connect 65 0 68 0;
-#X connect 66 0 75 0;
-#X connect 67 0 75 1;
-#X connect 68 0 75 2;
-#X connect 69 0 71 0;
-#X connect 70 0 73 0;
-#X connect 71 0 70 0;
-#X connect 73 0 72 0;
-#X connect 75 0 50 0;
-#X connect 75 1 10 0;
-#X connect 75 2 12 0;
-#X connect 75 3 28 0;
-#X connect 75 4 42 0;
-#X connect 80 0 75 0;
Copied: trunk/externals/pdvjtools/pdp_frei0r/pdp_frei0r-help.pd (from rev 9892, trunk/externals/pdvjtools/pdp_frei0r/help_pdp_frei0r.pd)
===================================================================
--- trunk/externals/pdvjtools/pdp_frei0r/pdp_frei0r-help.pd (rev 0)
+++ trunk/externals/pdvjtools/pdp_frei0r/pdp_frei0r-help.pd 2008-05-24 01:51:05 UTC (rev 9893)
@@ -0,0 +1,330 @@
+#N canvas 528 22 996 665 10;
+#X floatatom 151 379 5 0 0 0 - - -;
+#X obj 196 377 hradio 15 1 0 49 empty empty empty 0 -6 0 8 -262144
+-1 -1 0;
+#X obj 261 171 hsl 128 15 0 1 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 0 1;
+#X obj 401 171 hsl 128 15 0 1 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 0 1;
+#X obj 541 171 hsl 128 15 0 1 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 0 1;
+#X msg 258 191 param 3 \$1;
+#X msg 398 190 param 4 \$1;
+#X msg 539 190 param 5 \$1;
+#X text 197 358 Select the plugin;
+#X text 258 72 Adjust plugin parameters.;
+#X symbolatom 87 501 20 0 0 0 - - -;
+#X text 240 501 <-- plugin name;
+#X floatatom 106 479 5 0 0 0 - - -;
+#X text 154 477 <-- number of parameters;
+#X text 205 451 <-- parameter name;
+#X text 232 423 <-- parameter type;
+#X obj 263 112 hsl 128 15 0 1 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 0 1;
+#X obj 401 112 hsl 128 15 0 1 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 0 1;
+#X obj 542 112 hsl 128 15 0 1 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 0 1;
+#X obj 261 234 hsl 128 15 0 1 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 0 1;
+#X obj 402 234 hsl 128 15 0 1 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 0 1;
+#X obj 544 234 hsl 128 15 0 1 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 0 1;
+#X msg 260 131 param 0 \$1;
+#X msg 398 131 param 1 \$1;
+#X msg 539 131 param 2 \$1;
+#X msg 260 254 param 6 \$1;
+#X msg 399 253 param 7 \$1;
+#X msg 541 253 param 8 \$1;
+#N canvas 0 22 996 665 pname 0;
+#X obj 51 119 l2s;
+#X obj 80 119 l2s;
+#X obj 111 119 l2s;
+#X obj 143 119 l2s;
+#X obj 207 120 l2s;
+#X obj 236 120 l2s;
+#X obj 267 120 l2s;
+#X obj 298 119 l2s;
+#X obj 327 119 l2s;
+#X obj 97 51 inlet;
+#X obj 51 154 s ffparam0;
+#X obj 79 178 s ffparam1;
+#X obj 118 205 s ffparam2;
+#X obj 148 227 s ffparam3;
+#X obj 185 157 s ffparam4;
+#X obj 213 181 s ffparam5;
+#X obj 255 206 s ffparam6;
+#X obj 283 230 s ffparam7;
+#X obj 305 155 s ffparam8;
+#X obj 391 53 inlet;
+#X msg 390 79 symbol;
+#X obj 359 118 l2s;
+#X obj 391 118 l2s;
+#X obj 97 79 route 0 1 2 3 4 5 6 7 8 9 10;
+#X obj 357 178 s ffparam9;
+#X obj 414 202 s ffparam10;
+#X connect 0 0 10 0;
+#X connect 1 0 11 0;
+#X connect 2 0 12 0;
+#X connect 3 0 13 0;
+#X connect 4 0 14 0;
+#X connect 5 0 15 0;
+#X connect 6 0 16 0;
+#X connect 7 0 17 0;
+#X connect 8 0 18 0;
+#X connect 9 0 23 0;
+#X connect 19 0 20 0;
+#X connect 20 0 10 0;
+#X connect 20 0 11 0;
+#X connect 20 0 12 0;
+#X connect 20 0 13 0;
+#X connect 20 0 14 0;
+#X connect 20 0 15 0;
+#X connect 20 0 16 0;
+#X connect 20 0 17 0;
+#X connect 20 0 18 0;
+#X connect 20 0 24 0;
+#X connect 20 0 25 0;
+#X connect 21 0 24 0;
+#X connect 22 0 25 0;
+#X connect 23 0 0 0;
+#X connect 23 1 1 0;
+#X connect 23 2 2 0;
+#X connect 23 3 3 0;
+#X connect 23 4 4 0;
+#X connect 23 5 5 0;
+#X connect 23 6 6 0;
+#X connect 23 7 7 0;
+#X connect 23 8 8 0;
+#X connect 23 9 21 0;
+#X connect 23 10 22 0;
+#X restore 137 451 pd pname;
+#X symbolatom 260 93 18 0 0 0 - ffparam0 -;
+#X symbolatom 399 92 18 0 0 0 - ffparam1 -;
+#X symbolatom 538 92 18 0 0 0 - ffparam2 -;
+#X symbolatom 261 154 18 0 0 0 - ffparam3 -;
+#X symbolatom 400 153 18 0 0 0 - ffparam4 -;
+#X symbolatom 539 153 18 0 0 0 - ffparam5 -;
+#X symbolatom 261 214 18 0 0 0 - ffparam6 -;
+#X symbolatom 400 213 18 0 0 0 - ffparam7 -;
+#X symbolatom 539 213 18 0 0 0 - ffparam8 -;
+#X text 489 424 frei0r host for Pure Data Packet version 0.1;
+#X text 491 439 by Lluis Gomez i Bigorda (lluis at artefacte.org);
+#X text 510 452 & Yves Degoyon (ydegoyon at free.fr);
+#X text 491 495 made at piksel yearly gathering : http://www.piksel.no
+;
+#X obj 155 423 print type;
+#X text 491 467 using frei0r specification 1.1 by Georg Seidel \, Phillip
+Promesberger and Martin Bayer;
+#X obj 261 304 hsl 128 15 0 1 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 0 1;
+#X obj 404 304 hsl 128 15 0 1 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 0 1;
+#X symbolatom 261 283 18 0 0 0 - ffparam9 -;
+#X symbolatom 400 283 18 0 0 0 - ffparam10 -;
+#X msg 259 323 param 9 \$1;
+#X msg 401 323 param 10 \$1;
+#X obj 46 545 pdp_xv;
+#N canvas 222 59 450 300 input1 0;
+#X obj 49 181 pdp_qt;
+#X msg 49 49 bang;
+#X msg 110 111 loop 1;
+#X obj 50 214 pdp_scale 320 240;
+#X msg 167 111 open \$1;
+#X obj 167 89 openpanel;
+#X text 98 49 Load a mov file;
+#X obj 244 113 pdp_v4l;
+#X msg 244 58 bang;
+#X obj 49 250 outlet;
+#X obj 49 5 inlet;
+#X obj 251 7 inlet;
+#X obj 247 33 route 0;
+#X msg 298 59 stop;
+#X obj 50 28 route 0;
+#X msg 14 79 stop;
+#X obj 49 111 metro 80;
+#X obj 244 86 metro 80;
+#X connect 0 0 3 0;
+#X connect 1 0 2 0;
+#X connect 1 0 5 0;
+#X connect 1 0 16 0;
+#X connect 2 0 0 0;
+#X connect 3 0 9 0;
+#X connect 4 0 0 0;
+#X connect 5 0 4 0;
+#X connect 7 0 3 0;
+#X connect 8 0 17 0;
+#X connect 10 0 14 0;
+#X connect 11 0 12 0;
+#X connect 12 0 13 0;
+#X connect 12 1 8 0;
+#X connect 13 0 17 0;
+#X connect 14 0 15 0;
+#X connect 14 1 1 0;
+#X connect 15 0 16 0;
+#X connect 16 0 0 0;
+#X connect 17 0 7 0;
+#X restore 44 44 pd input1;
+#X text 49 24 .mov;
+#X text 115 24 cam;
+#X obj 102 10 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 44 10 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X text 85 89 .mov;
+#X text 151 89 cam;
+#X obj 138 75 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 80 75 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#N canvas 222 59 450 300 input2 0;
+#X obj 49 181 pdp_qt;
+#X msg 49 49 bang;
+#X msg 110 111 loop 1;
+#X obj 50 214 pdp_scale 320 240;
+#X msg 167 111 open \$1;
+#X obj 167 89 openpanel;
+#X text 98 49 Load a mov file;
+#X obj 244 113 pdp_v4l;
+#X msg 244 58 bang;
+#X obj 49 250 outlet;
+#X obj 49 5 inlet;
+#X obj 251 7 inlet;
+#X obj 247 33 route 0;
+#X msg 298 59 stop;
+#X obj 50 28 route 0;
+#X msg 14 79 stop;
+#X obj 49 111 metro 80;
+#X obj 244 86 metro 80;
+#X connect 0 0 3 0;
+#X connect 1 0 2 0;
+#X connect 1 0 5 0;
+#X connect 1 0 16 0;
+#X connect 2 0 0 0;
+#X connect 3 0 9 0;
+#X connect 4 0 0 0;
+#X connect 5 0 4 0;
+#X connect 7 0 3 0;
+#X connect 8 0 17 0;
+#X connect 10 0 14 0;
+#X connect 11 0 12 0;
+#X connect 12 0 13 0;
+#X connect 12 1 8 0;
+#X connect 13 0 17 0;
+#X connect 14 0 15 0;
+#X connect 14 1 1 0;
+#X connect 15 0 16 0;
+#X connect 16 0 0 0;
+#X connect 17 0 7 0;
+#X restore 80 109 pd input2;
+#X text 116 148 .mov;
+#X text 182 148 cam;
+#X obj 169 134 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 111 134 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#N canvas 222 59 450 300 input3 0;
+#X obj 49 181 pdp_qt;
+#X msg 49 49 bang;
+#X msg 110 111 loop 1;
+#X obj 50 214 pdp_scale 320 240;
+#X msg 167 111 open \$1;
+#X obj 167 89 openpanel;
+#X text 98 49 Load a mov file;
+#X obj 244 113 pdp_v4l;
+#X msg 244 58 bang;
+#X obj 49 250 outlet;
+#X obj 49 5 inlet;
+#X obj 251 7 inlet;
+#X obj 247 33 route 0;
+#X msg 298 59 stop;
+#X obj 50 28 route 0;
+#X msg 14 79 stop;
+#X obj 49 111 metro 80;
+#X obj 244 86 metro 80;
+#X connect 0 0 3 0;
+#X connect 1 0 2 0;
+#X connect 1 0 5 0;
+#X connect 1 0 16 0;
+#X connect 2 0 0 0;
+#X connect 3 0 9 0;
+#X connect 4 0 0 0;
+#X connect 5 0 4 0;
+#X connect 7 0 3 0;
+#X connect 8 0 17 0;
+#X connect 10 0 14 0;
+#X connect 11 0 12 0;
+#X connect 12 0 13 0;
+#X connect 12 1 8 0;
+#X connect 13 0 17 0;
+#X connect 14 0 15 0;
+#X connect 14 1 1 0;
+#X connect 15 0 16 0;
+#X connect 16 0 0 0;
+#X connect 17 0 7 0;
+#X restore 111 168 pd input3;
+#X obj 43 202 pdp_scale 320 240;
+#X obj 69 232 pdp_scale 320 240;
+#X obj 93 262 pdp_scale 320 240;
+#X obj 905 409 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 905 461 pdp_control;
+#X msg 905 434 thread \$1;
+#X floatatom 905 522 5 0 0 0 - - -;
+#X obj 905 493 route pdp_drop;
+#X text 498 547 constructor : pdp_frei0r <index>;
+#X obj 46 376 pdp_frei0r 16;
+#X text 499 562 you can get the index from the list of loaded plugins
+;
+#X text 498 575 at startup ( check pd window );
+#X text 13 290 WARNING : sizes of inputs;
+#X text 12 302 _must_ be the same;
+#X msg 290 18 plugindir /usr/local/lib/frei0r;
+#X connect 0 0 75 3;
+#X connect 1 0 0 0;
+#X connect 2 0 5 0;
+#X connect 3 0 6 0;
+#X connect 4 0 7 0;
+#X connect 5 0 75 0;
+#X connect 6 0 75 0;
+#X connect 7 0 75 0;
+#X connect 12 0 28 1;
+#X connect 16 0 22 0;
+#X connect 17 0 23 0;
+#X connect 18 0 24 0;
+#X connect 19 0 25 0;
+#X connect 20 0 26 0;
+#X connect 21 0 27 0;
+#X connect 22 0 75 0;
+#X connect 23 0 75 0;
+#X connect 24 0 75 0;
+#X connect 25 0 75 0;
+#X connect 26 0 75 0;
+#X connect 27 0 75 0;
+#X connect 44 0 48 0;
+#X connect 45 0 49 0;
+#X connect 48 0 75 0;
+#X connect 49 0 75 0;
+#X connect 51 0 66 0;
+#X connect 54 0 51 1;
+#X connect 55 0 51 0;
+#X connect 58 0 60 1;
+#X connect 59 0 60 0;
+#X connect 60 0 67 0;
+#X connect 63 0 65 1;
+#X connect 64 0 65 0;
+#X connect 65 0 68 0;
+#X connect 66 0 75 0;
+#X connect 67 0 75 1;
+#X connect 68 0 75 2;
+#X connect 69 0 71 0;
+#X connect 70 0 73 0;
+#X connect 71 0 70 0;
+#X connect 73 0 72 0;
+#X connect 75 0 50 0;
+#X connect 75 1 10 0;
+#X connect 75 2 12 0;
+#X connect 75 3 28 0;
+#X connect 75 4 42 0;
+#X connect 80 0 75 0;
Copied: trunk/externals/pdvjtools/pix_preview/pix_preview.cc (from rev 9891, trunk/externals/pdvjtools/pix_preview/pix_preview.cpp)
===================================================================
--- trunk/externals/pdvjtools/pix_preview/pix_preview.cc (rev 0)
+++ trunk/externals/pdvjtools/pix_preview/pix_preview.cc 2008-05-24 01:51:05 UTC (rev 9893)
@@ -0,0 +1,538 @@
+////////////////////////////////////////////////////////
+//
+// GEM - Graphics Environment for Multimedia
+//
+// zmoelnig at iem.kug.ac.at
+//
+// Implementation file
+//
+// Copyright (c) 1997-1998 Mark Danks.
+// Copyright (c) G\xFCnther Geiger.
+// Copyright (c) 2001-2002 IOhannes m zmoelnig. forum::f\xFCr::uml\xE4ute. IEM
+// Copyright (c) 2002 James Tittle & Chris Clepper
+// For information on usage and redistribution, and for a DISCLAIMER OF ALL
+// WARRANTIES, see the file, "GEM.LICENSE.TERMS" in this distribution.
+//
+/////////////////////////////////////////////////////////
+
+/////////////////////////////////////////////////////////
+//
+// pix_preview
+//
+// 0409:forum::f\xFCr::uml\xE4ute:2000
+// IOhannes m zmoelnig
+// mailto:zmoelnig at iem.kug.ac.at
+//
+/////////////////////////////////////////////////////////
+
+#include <iostream>
+#include <string>
+#include <sstream>
+using namespace std;
+#include "stdio.h"
+
+
+#include "m_pd.h"
+#include "m_imp.h"
+#include "g_canvas.h"
+#include "t_tk.h"
+
+#include "pix_preview.h"
+
+int guidebug=0;
+
+#define COLORGRID_SYS_VGUI2(a,b) if (guidebug) \
+ post(a,b);\
+ sys_vgui(a,b)
+
+#define COLORGRID_SYS_VGUI3(a,b,c) if (guidebug) \
+ post(a,b,c);\
+ sys_vgui(a,b,c)
+
+#define COLORGRID_SYS_VGUI4(a,b,c,d) if (guidebug) \
+ post(a,b,c,d);\
+ sys_vgui(a,b,c,d)
+
+#define COLORGRID_SYS_VGUI5(a,b,c,d,e) if (guidebug) \
+ post(a,b,c,d,e);\
+ sys_vgui(a,b,c,d,e)
+
+#define COLORGRID_SYS_VGUI6(a,b,c,d,e,f) if (guidebug) \
+ post(a,b,c,d,e,f);\
+ sys_vgui(a,b,c,d,e,f)
+
+#define COLORGRID_SYS_VGUI7(a,b,c,d,e,f,g) if (guidebug) \
+ post(a,b,c,d,e,f,g );\
+ sys_vgui(a,b,c,d,e,f,g)
+
+#define COLORGRID_SYS_VGUI8(a,b,c,d,e,f,g,h) if (guidebug) \
+ post(a,b,c,d,e,f,g,h );\
+ sys_vgui(a,b,c,d,e,f,g,h)
+
+#define COLORGRID_SYS_VGUI9(a,b,c,d,e,f,g,h,i) if (guidebug) \
+ post(a,b,c,d,e,f,g,h,i );\
+ sys_vgui(a,b,c,d,e,f,g,h,i)
+
+
+ char *fdata="R0lGODlhHAAcAIABAAAAAP///ywAAAAAHAAcAAACGoSPqcvtD6OctNqLs968+w+G4kiW5omm6ooUADs=";
+
+
+/* base64 conversion*/
+
+static const std::string base64_chars =
+ "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
+ "abcdefghijklmnopqrstuvwxyz"
+ "0123456789+/";
+
+std::string base64_encode(unsigned char const* bytes_to_encode, unsigned int in_len) {
+ std::string ret;
+ int i = 0;
+ int j = 0;
+ unsigned char char_array_3[3];
+ unsigned char char_array_4[4];
+
+ while (in_len--) {
+ char_array_3[i++] = *(bytes_to_encode++);
+ if (i == 3) {
+ char_array_4[0] = (char_array_3[0] & 0xfc) >> 2;
+ char_array_4[1] = ((char_array_3[0] & 0x03) << 4) + ((char_array_3[1] & 0xf0) >> 4);
+ char_array_4[2] = ((char_array_3[1] & 0x0f) << 2) + ((char_array_3[2] & 0xc0) >> 6);
+ char_array_4[3] = char_array_3[2] & 0x3f;
+
+ for(i = 0; (i <4) ; i++)
+ ret += base64_chars[char_array_4[i]];
+ i = 0;
+ }
+ }
+
+ if (i)
+ {
+ for(j = i; j < 3; j++)
+ char_array_3[j] = '\0';
+
+ char_array_4[0] = (char_array_3[0] & 0xfc) >> 2;
+ char_array_4[1] = ((char_array_3[0] & 0x03) << 4) + ((char_array_3[1] & 0xf0) >> 4);
+ char_array_4[2] = ((char_array_3[1] & 0x0f) << 2) + ((char_array_3[2] & 0xc0) >> 6);
+ char_array_4[3] = char_array_3[2] & 0x3f;
+
+ for (j = 0; (j < i + 1); j++)
+ ret += base64_chars[char_array_4[j]];
+
+ while((i++ < 3))
+ ret += '=';
+
+ }
+
+ return ret;
+
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+CPPEXTERN_NEW_WITH_TWO_ARGS(pix_preview, t_floatarg, A_DEFFLOAT, t_floatarg, A_DEFFLOAT)
+
+
+ /////////////////////////////////////////////////////////
+ //
+ // pix_preview
+ //
+ /////////////////////////////////////////////////////////
+ // Constructor
+ //
+ /////////////////////////////////////////////////////////
+ pix_preview :: pix_preview(t_floatarg fx, t_floatarg fy)
+{
+ #include "pix_preview.tk2c"
+ xsize = (int)fx;
+ ysize = (int)fy;
+ m_csize = 3;
+
+
+ image_widgetbehavior.w_getrectfn = image_getrect;
+ image_widgetbehavior.w_displacefn = image_displace;
+ image_widgetbehavior.w_selectfn = image_select;
+ image_widgetbehavior.w_activatefn = image_activate;
+ image_widgetbehavior.w_deletefn = image_delete;
+ image_widgetbehavior.w_visfn = image_vis;
+#if (PD_VERSION_MINOR > 31)
+ image_widgetbehavior.w_clickfn = NULL;
+ image_widgetbehavior.w_propertiesfn = NULL;
+#endif
+#if PD_MINOR_VERSION < 37
+ image_widgetbehavior.w_savefn = image_save;
+#endif
+
+
+ class_setwidget(pix_preview_class,&image_widgetbehavior);
+
+ if (xsize < 0) xsize = 0;
+ if (ysize < 0) ysize = 0;
+
+ m_xsize = xsize;
+ m_ysize = ysize;
+
+ oldimagex = xsize;
+ oldimagey = ysize;
+
+ m_bufsize = m_xsize * m_ysize * m_csize;
+
+ m_buffer = new t_atom[m_bufsize];
+
+ //m_dataOut = outlet_new(this->x_obj, &s_list);
+}
+
+/////////////////////////////////////////////////////////
+// Destructor
+//
+/////////////////////////////////////////////////////////
+pix_preview :: ~pix_preview()
+{
+}
+
+/////////////////////////////////////////////////////////
+// processImage
+//
+/////////////////////////////////////////////////////////
+void pix_preview :: processImage(imageStruct &image)
+{
+ int x = m_xsize, y = m_ysize, c = m_csize;
+
+ if (image.xsize != oldimagex) {
+ oldimagex = image.xsize;
+ m_xsize = ((!xsize) || (xsize > oldimagex))?oldimagex:xsize;
+ }
+ if (image.ysize != oldimagey) {
+ oldimagey = image.ysize;
+ m_ysize = ((!ysize) || (ysize > oldimagey))?oldimagey:ysize;
+ }
+
+ if (image.csize != m_csize) m_csize = image.csize;
+
+ if ( (m_xsize != x) || (m_ysize != y) || (m_csize != c) ) {
+ // resize the image buffer
+ if(m_buffer)delete [] m_buffer;
+ m_bufsize = m_xsize * m_ysize * m_csize;
+ m_buffer = new t_atom[m_bufsize];
+
+ m_xstep = m_csize * ((float)image.xsize/(float)m_xsize);
+ m_ystep = m_csize * ((float)image.ysize/(float)m_ysize) * image.xsize;
+ }
+
+ m_data = image.data;
+}
+
+/////////////////////////////////////////////////////////
+// processYUVImage
+//
+/////////////////////////////////////////////////////////
+void pix_preview :: processYUVImage(imageStruct &image)
+{
+ int x = m_xsize, y = m_ysize, c = m_csize;
+
+ if (image.xsize != oldimagex) {
+ oldimagex = image.xsize;
+ m_xsize = ((!xsize) || (xsize > oldimagex))?oldimagex:xsize;
+ }
+ if (image.ysize != oldimagey) {
+ oldimagey = image.ysize;
+ m_ysize = ((!ysize) || (ysize > oldimagey))?oldimagey:ysize;
+ }
+
+ if (image.csize != m_csize) m_csize = image.csize;
+
+ if ( (m_xsize != x) || (m_ysize != y) || (m_csize != c) ) {
+ // resize the image buffer
+ if(m_buffer)delete [] m_buffer;
+ m_bufsize = m_xsize * m_ysize * m_csize;
+ m_buffer = new t_atom[m_bufsize];
+
+ m_xstep = m_csize * ((float)image.xsize/(float)m_xsize);
+ m_ystep = m_csize * ((float)image.ysize/(float)m_ysize) * image.xsize;
+ }
+
+ m_data = image.data;
+}
+
+/////////////////////////////////////////////////////////
+// trigger
+//
+/////////////////////////////////////////////////////////
+void pix_preview :: trigger()
+{
+ if (!m_data) return;
+
+ int n = m_ysize, m = 0;
+ int i = 0;
+
+ unsigned char *data, *line;
+ stringstream sx,sy;
+
+ fprintf (stderr,"%d %d %d %d %d %d \n",xsize, ysize,m_xsize, m_ysize,oldimagex,oldimagey);
+
+ std::string pnm;
+ std::string pnm64;
+ pnm += "P6\n";
+ sx << m_xsize;
+ pnm += sx.str();
+ pnm += " ";
+ sy << m_ysize;
+ pnm += sy.str();
+ pnm += "\n255\n";
+
+ //fprintf (stderr,"%s",pnm.c_str());
+
+ /*/escriu el contingut de data a un arxiu.*/
+ char* ig_path = "/tmp/pixdump01.pnm";
+ FILE * fp = fopen(ig_path, "w");
+ fprintf (fp, "P6\n%d %d\n255\n", m_xsize, m_ysize);
+ data = line = m_data;
+ switch(m_csize){
+ case 4:
+/*
+ while (n > 0) {
+ while (m < m_xsize) {
+ int r, g, b, a;
+ r = (int)data[chRed];
+ fprintf (fp, "%c", (char)r);
+ i++;
+ g = (int)data[chGreen];
+ fprintf (fp, "%c", (char)g);
+ i++;
+ b = (int)data[chBlue];
+ fprintf (fp, "%c", (char)b);
+ i++;
+ a = (int)data[chAlpha];
+ i++;
+ m++;
+ data = line + (int)(m_xstep * (float)m);
+ }
+ m = 0;
+ n--;
+ line = m_data + (int)(m_ystep*n);
+ data = line;
+ }
+ fclose (fp);
+*/
+ while (n > 0) {
+ while (m < m_xsize) {
+ int r, g, b, a;
+ r = (int)data[chRed];
+ pnm += (char)r;
+ fprintf (fp, "%c", (char)r);
+ i++;
+ g = (int)data[chGreen];
+ pnm += (char)g;
+ fprintf (fp, "%c", (char)g);
+ i++;
+ b = (int)data[chBlue];
+ pnm += (char)b;
+ fprintf (fp, "%c", (char)b);
+ i++;
+ a = (int)data[chAlpha];
+ i++;
+ m++;
+ data = line + (int)(m_xstep * (float)m);
+ }
+ m = 0;
+ n--;
+ line = m_data + (int)(m_ystep*n);
+ data = line;
+ }
+ fclose (fp);
+
+
+ //std::cout << "NOT encoded: " << pnm << std::endl;
+
+ //pnm64 = base64_encode(reinterpret_cast<const unsigned char*>(pnm.c_str()), pnm.length());
+ //std::cout << "encoded: " << pnm64 << std::endl;
+
+
+
+ //m_glist = (t_glist *) canvas_getcurrent();
+
+
+ //sys_vgui("img%x put {%s}\n", this->x_obj, reinterpret_cast<const unsigned char*>(pnm64.c_str()) );
+ image_drawme((pix_preview *)this->x_obj, (t_glist *) this->getCanvas(), 0, m_xsize, m_ysize);
+// sys_vgui(".x%x.c coords %xS %d %d\n",
+// this->getCanvas(), this->x_obj,
+// text_xpix(this->x_obj, (t_glist *)this->getCanvas()) + (m_xsize/2), text_ypix(this->x_obj, (t_glist *)this->getCanvas()) + (m_ysize/2));
+ //fprintf (stderr, "%x %x - %d %d\n",x,(t_object*)x, text_xpix((t_object*)x, glist), text_ypix((t_object*)x, glist));
+
+ break;
+ case 2:
+ while (n < m_ysize) {
+ while (m < m_xsize/2) {
+ float y,u,y1,v;
+ u = (float)data[0] / 255.f;
+ SETFLOAT(&m_buffer[i], u);
+ i++;
+ y = (float)data[1] / 255.f;
+ SETFLOAT(&m_buffer[i], y);
+ i++;
+ v = (float)data[2] / 255.f;
+ SETFLOAT(&m_buffer[i], v);
+ i++;
+ y1 = (float)data[3] / 255.f;
+ SETFLOAT(&m_buffer[i], y1);
+ i++;
+ m++;
+ data = line + (int)(m_xstep * (float)m);
+ }
+ m = 0;
+ n++;
+ line = m_data + (int)(m_ystep*n);
+ data = line;
+ }
+ case 1: default:
+ int datasize=m_xsize*m_ysize*m_csize/4;
+ while (datasize--) {
+ float v;
+ v = (float)(*data++) / 255.f; SETFLOAT(&m_buffer[i], v);
+ v = (float)(*data++) / 255.f; SETFLOAT(&m_buffer[i+1], v);
+ v = (float)(*data++) / 255.f; SETFLOAT(&m_buffer[i+2], v);
+ v = (float)(*data++) / 255.f; SETFLOAT(&m_buffer[i+3], v);
+ i+=4;
+ }
+ }
+ //outlet_list(m_dataOut, gensym("list"), i, m_buffer);
+}
+
+/////////////////////////////////////////////////////////
+// static member function
+//
+/////////////////////////////////////////////////////////
+void pix_preview :: obj_setupCallback(t_class *classPtr)
+{
+ class_addbang(classPtr, (t_method)&pix_preview::triggerMessCallback);
+}
+
+void pix_preview :: triggerMessCallback(void *data)
+{
+ GetMyClass(data)->trigger();
+}
+
+
+
+
+/* widget helper functions */
+
+
+
+
+void pix_preview :: image_drawme(pix_preview *x, t_glist *glist, int firsttime, int m_xsize, int m_ysize)
+{
+ char* ig_path = "/tmp/pixdump01.pnm";
+ if (firsttime) {
+
+ sys_vgui("image create photo img%x -data {%s}\n",x,fdata);
+ sys_vgui(".x%x.c create image %d %d -image img%x -tags %xS\n",
+ glist_getcanvas(glist),text_xpix((t_object*)x, glist)+14, text_ypix((t_object*)x, glist)+14,x,x);
+ //fprintf (stderr, "%x %x - %d %d \n",x,(t_object*)x, text_xpix((t_object*)x, glist), text_ypix((t_object*)x, glist));
+ }
+ else {
+ sys_vgui(".x%x.c delete %xS\n", glist_getcanvas(glist), x);
+ sys_vgui(".x%x.c delete img%x\n", glist_getcanvas(glist), x);
+ sys_vgui("image create photo img%x -file %s\n",x,ig_path);
+ sys_vgui(".x%x.c create image %d %d -image img%x -tags %xS\n",
+ glist_getcanvas(glist),text_xpix((t_object*)x, glist)+(m_xsize/2), text_ypix((t_object*)x, glist)+(m_ysize/2),x,x);
+ //sys_vgui(".x%x.c coords %xS \
+%d %d\n",
+ // glist_getcanvas(glist), x,
+ // text_xpix((t_object*)x, glist), text_ypix((t_object*)x, glist));
+ //fprintf (stderr, "%x %x - %d %d\n",x,(t_object*)x, text_xpix((t_object*)x, glist), text_ypix((t_object*)x, glist));
+ }
+
+}
+
+void pix_preview :: image_erase(pix_preview* x,t_glist* glist)
+{
+ int n;
+ sys_vgui(".x%x.c delete %xS\n",
+ glist_getcanvas(glist), x);
+
+}
+
+
+/* ------------------------ image widgetbehaviour----------------------------- */
+
+
+void pix_preview :: image_getrect(t_gobj *z, t_glist *glist,
+ int *xp1, int *yp1, int *xp2, int *yp2)
+{
+ int width, height;
+ pix_preview* x = (pix_preview*)z;
+
+
+ width = 250;
+ height = 50;
+ *xp1 = text_xpix((t_object*)x, glist);
+ *yp1 = text_ypix((t_object*)x, glist);
+ *xp2 = text_xpix((t_object*)x, glist) + width;
+ *yp2 = text_ypix((t_object*)x, glist) + height;
+}
+
+void pix_preview :: image_displace(t_gobj *z, t_glist *glist,
+ int dx, int dy)
+{
+ t_object *x = (t_object *)z;
+ x->te_xpix += dx;
+ x->te_ypix += dy;
+ sys_vgui(".x%x.c coords %xSEL %d %d %d %d\n",
+ glist_getcanvas(glist), x,
+ text_xpix(x, glist), text_ypix(x, glist),
+ text_xpix(x, glist) + 25, text_ypix(x, glist) + 25);
+
+ //image_drawme((pix_preview *)x, glist, 0);
+ canvas_fixlinesfor(glist_getcanvas(glist),(t_text*) x);
+}
+
+void pix_preview :: image_select(t_gobj *z, t_glist *glist, int state)
+{ t_object *x = (t_object *)z;
+ if (state) {
+ sys_vgui(".x%x.c create rectangle \
+%d %d %d %d -tags %xSEL -outline blue\n",
+ glist_getcanvas(glist),
+ text_xpix(x, glist), text_ypix(x, glist),
+ text_xpix(x, glist) + 25, text_ypix(x, glist) + 25,
+ x);
+ }
+ else {
+ sys_vgui(".x%x.c delete %xSEL\n",
+ glist_getcanvas(glist), x);
+ }
+}
+
+
+void pix_preview :: image_activate(t_gobj *z, t_glist *glist, int state)
+{
+}
+
+void pix_preview :: image_delete(t_gobj *z, t_glist *glist)
+{
+
+ t_text *x = (t_text *)z;
+ pix_preview* s = (pix_preview*)z;
+ canvas_deletelinesfor(glist_getcanvas(glist), x);
+ image_erase(s, glist);
+}
+
+
+void pix_preview :: image_vis(t_gobj *z, t_glist *glist, int vis)
+{
+ pix_preview* s = (pix_preview*)z;
+ if (vis)
+ image_drawme(s, glist, 1, 28, 28);
+}
+
Deleted: trunk/externals/pdvjtools/pix_preview/pix_preview.cpp
===================================================================
--- trunk/externals/pdvjtools/pix_preview/pix_preview.cpp 2008-05-24 01:44:50 UTC (rev 9892)
+++ trunk/externals/pdvjtools/pix_preview/pix_preview.cpp 2008-05-24 01:51:05 UTC (rev 9893)
@@ -1,538 +0,0 @@
-////////////////////////////////////////////////////////
-//
-// GEM - Graphics Environment for Multimedia
-//
-// zmoelnig at iem.kug.ac.at
-//
-// Implementation file
-//
-// Copyright (c) 1997-1998 Mark Danks.
-// Copyright (c) G\xFCnther Geiger.
-// Copyright (c) 2001-2002 IOhannes m zmoelnig. forum::f\xFCr::uml\xE4ute. IEM
-// Copyright (c) 2002 James Tittle & Chris Clepper
-// For information on usage and redistribution, and for a DISCLAIMER OF ALL
-// WARRANTIES, see the file, "GEM.LICENSE.TERMS" in this distribution.
-//
-/////////////////////////////////////////////////////////
-
-/////////////////////////////////////////////////////////
-//
-// pix_preview
-//
-// 0409:forum::f\xFCr::uml\xE4ute:2000
-// IOhannes m zmoelnig
-// mailto:zmoelnig at iem.kug.ac.at
-//
-/////////////////////////////////////////////////////////
-
-#include <iostream>
-#include <string>
-#include <sstream>
-using namespace std;
-#include "stdio.h"
-
-
-#include "m_pd.h"
-#include "m_imp.h"
-#include "g_canvas.h"
-#include "t_tk.h"
-
-#include "pix_preview.h"
-
-int guidebug=0;
-
-#define COLORGRID_SYS_VGUI2(a,b) if (guidebug) \
- post(a,b);\
- sys_vgui(a,b)
-
-#define COLORGRID_SYS_VGUI3(a,b,c) if (guidebug) \
- post(a,b,c);\
- sys_vgui(a,b,c)
-
-#define COLORGRID_SYS_VGUI4(a,b,c,d) if (guidebug) \
- post(a,b,c,d);\
- sys_vgui(a,b,c,d)
-
-#define COLORGRID_SYS_VGUI5(a,b,c,d,e) if (guidebug) \
- post(a,b,c,d,e);\
- sys_vgui(a,b,c,d,e)
-
-#define COLORGRID_SYS_VGUI6(a,b,c,d,e,f) if (guidebug) \
- post(a,b,c,d,e,f);\
- sys_vgui(a,b,c,d,e,f)
-
-#define COLORGRID_SYS_VGUI7(a,b,c,d,e,f,g) if (guidebug) \
- post(a,b,c,d,e,f,g );\
- sys_vgui(a,b,c,d,e,f,g)
-
-#define COLORGRID_SYS_VGUI8(a,b,c,d,e,f,g,h) if (guidebug) \
- post(a,b,c,d,e,f,g,h );\
- sys_vgui(a,b,c,d,e,f,g,h)
-
-#define COLORGRID_SYS_VGUI9(a,b,c,d,e,f,g,h,i) if (guidebug) \
- post(a,b,c,d,e,f,g,h,i );\
- sys_vgui(a,b,c,d,e,f,g,h,i)
-
-
- char *fdata="R0lGODlhHAAcAIABAAAAAP///ywAAAAAHAAcAAACGoSPqcvtD6OctNqLs968+w+G4kiW5omm6ooUADs=";
-
-
-/* base64 conversion*/
-
-static const std::string base64_chars =
- "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
- "abcdefghijklmnopqrstuvwxyz"
- "0123456789+/";
-
-std::string base64_encode(unsigned char const* bytes_to_encode, unsigned int in_len) {
- std::string ret;
- int i = 0;
- int j = 0;
- unsigned char char_array_3[3];
- unsigned char char_array_4[4];
-
- while (in_len--) {
- char_array_3[i++] = *(bytes_to_encode++);
- if (i == 3) {
- char_array_4[0] = (char_array_3[0] & 0xfc) >> 2;
- char_array_4[1] = ((char_array_3[0] & 0x03) << 4) + ((char_array_3[1] & 0xf0) >> 4);
- char_array_4[2] = ((char_array_3[1] & 0x0f) << 2) + ((char_array_3[2] & 0xc0) >> 6);
- char_array_4[3] = char_array_3[2] & 0x3f;
-
- for(i = 0; (i <4) ; i++)
- ret += base64_chars[char_array_4[i]];
- i = 0;
- }
- }
-
- if (i)
- {
- for(j = i; j < 3; j++)
- char_array_3[j] = '\0';
-
- char_array_4[0] = (char_array_3[0] & 0xfc) >> 2;
- char_array_4[1] = ((char_array_3[0] & 0x03) << 4) + ((char_array_3[1] & 0xf0) >> 4);
- char_array_4[2] = ((char_array_3[1] & 0x0f) << 2) + ((char_array_3[2] & 0xc0) >> 6);
- char_array_4[3] = char_array_3[2] & 0x3f;
-
- for (j = 0; (j < i + 1); j++)
- ret += base64_chars[char_array_4[j]];
-
- while((i++ < 3))
- ret += '=';
-
- }
-
- return ret;
-
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-CPPEXTERN_NEW_WITH_TWO_ARGS(pix_preview, t_floatarg, A_DEFFLOAT, t_floatarg, A_DEFFLOAT)
-
-
- /////////////////////////////////////////////////////////
- //
- // pix_preview
- //
- /////////////////////////////////////////////////////////
- // Constructor
- //
- /////////////////////////////////////////////////////////
- pix_preview :: pix_preview(t_floatarg fx, t_floatarg fy)
-{
- #include "pix_preview.tk2c"
- xsize = (int)fx;
- ysize = (int)fy;
- m_csize = 3;
-
-
- image_widgetbehavior.w_getrectfn = image_getrect;
- image_widgetbehavior.w_displacefn = image_displace;
- image_widgetbehavior.w_selectfn = image_select;
- image_widgetbehavior.w_activatefn = image_activate;
- image_widgetbehavior.w_deletefn = image_delete;
- image_widgetbehavior.w_visfn = image_vis;
-#if (PD_VERSION_MINOR > 31)
- image_widgetbehavior.w_clickfn = NULL;
- image_widgetbehavior.w_propertiesfn = NULL;
-#endif
-#if PD_MINOR_VERSION < 37
- image_widgetbehavior.w_savefn = image_save;
-#endif
-
-
- class_setwidget(pix_preview_class,&image_widgetbehavior);
-
- if (xsize < 0) xsize = 0;
- if (ysize < 0) ysize = 0;
-
- m_xsize = xsize;
- m_ysize = ysize;
-
- oldimagex = xsize;
- oldimagey = ysize;
-
- m_bufsize = m_xsize * m_ysize * m_csize;
-
- m_buffer = new t_atom[m_bufsize];
-
- //m_dataOut = outlet_new(this->x_obj, &s_list);
-}
-
-/////////////////////////////////////////////////////////
-// Destructor
-//
-/////////////////////////////////////////////////////////
-pix_preview :: ~pix_preview()
-{
-}
-
-/////////////////////////////////////////////////////////
-// processImage
-//
-/////////////////////////////////////////////////////////
-void pix_preview :: processImage(imageStruct &image)
-{
- int x = m_xsize, y = m_ysize, c = m_csize;
-
- if (image.xsize != oldimagex) {
- oldimagex = image.xsize;
- m_xsize = ((!xsize) || (xsize > oldimagex))?oldimagex:xsize;
- }
- if (image.ysize != oldimagey) {
- oldimagey = image.ysize;
- m_ysize = ((!ysize) || (ysize > oldimagey))?oldimagey:ysize;
- }
-
- if (image.csize != m_csize) m_csize = image.csize;
-
- if ( (m_xsize != x) || (m_ysize != y) || (m_csize != c) ) {
- // resize the image buffer
- if(m_buffer)delete [] m_buffer;
- m_bufsize = m_xsize * m_ysize * m_csize;
- m_buffer = new t_atom[m_bufsize];
-
- m_xstep = m_csize * ((float)image.xsize/(float)m_xsize);
- m_ystep = m_csize * ((float)image.ysize/(float)m_ysize) * image.xsize;
- }
-
- m_data = image.data;
-}
-
-/////////////////////////////////////////////////////////
-// processYUVImage
-//
-/////////////////////////////////////////////////////////
-void pix_preview :: processYUVImage(imageStruct &image)
-{
- int x = m_xsize, y = m_ysize, c = m_csize;
-
- if (image.xsize != oldimagex) {
- oldimagex = image.xsize;
- m_xsize = ((!xsize) || (xsize > oldimagex))?oldimagex:xsize;
- }
- if (image.ysize != oldimagey) {
- oldimagey = image.ysize;
- m_ysize = ((!ysize) || (ysize > oldimagey))?oldimagey:ysize;
- }
-
- if (image.csize != m_csize) m_csize = image.csize;
-
- if ( (m_xsize != x) || (m_ysize != y) || (m_csize != c) ) {
- // resize the image buffer
- if(m_buffer)delete [] m_buffer;
- m_bufsize = m_xsize * m_ysize * m_csize;
- m_buffer = new t_atom[m_bufsize];
-
- m_xstep = m_csize * ((float)image.xsize/(float)m_xsize);
- m_ystep = m_csize * ((float)image.ysize/(float)m_ysize) * image.xsize;
- }
-
- m_data = image.data;
-}
-
-/////////////////////////////////////////////////////////
-// trigger
-//
-/////////////////////////////////////////////////////////
-void pix_preview :: trigger()
-{
- if (!m_data) return;
-
- int n = m_ysize, m = 0;
- int i = 0;
-
- unsigned char *data, *line;
- stringstream sx,sy;
-
- fprintf (stderr,"%d %d %d %d %d %d \n",xsize, ysize,m_xsize, m_ysize,oldimagex,oldimagey);
-
- std::string pnm;
- std::string pnm64;
- pnm += "P6\n";
- sx << m_xsize;
- pnm += sx.str();
- pnm += " ";
- sy << m_ysize;
- pnm += sy.str();
- pnm += "\n255\n";
-
- //fprintf (stderr,"%s",pnm.c_str());
-
- /*/escriu el contingut de data a un arxiu.*/
- char* ig_path = "/tmp/pixdump01.pnm";
- FILE * fp = fopen(ig_path, "w");
- fprintf (fp, "P6\n%d %d\n255\n", m_xsize, m_ysize);
- data = line = m_data;
- switch(m_csize){
- case 4:
-/*
- while (n > 0) {
- while (m < m_xsize) {
- int r, g, b, a;
- r = (int)data[chRed];
- fprintf (fp, "%c", (char)r);
- i++;
- g = (int)data[chGreen];
- fprintf (fp, "%c", (char)g);
- i++;
- b = (int)data[chBlue];
- fprintf (fp, "%c", (char)b);
- i++;
- a = (int)data[chAlpha];
- i++;
- m++;
- data = line + (int)(m_xstep * (float)m);
- }
- m = 0;
- n--;
- line = m_data + (int)(m_ystep*n);
- data = line;
- }
- fclose (fp);
-*/
- while (n > 0) {
- while (m < m_xsize) {
- int r, g, b, a;
- r = (int)data[chRed];
- pnm += (char)r;
- fprintf (fp, "%c", (char)r);
- i++;
- g = (int)data[chGreen];
- pnm += (char)g;
- fprintf (fp, "%c", (char)g);
- i++;
- b = (int)data[chBlue];
- pnm += (char)b;
- fprintf (fp, "%c", (char)b);
- i++;
- a = (int)data[chAlpha];
- i++;
- m++;
- data = line + (int)(m_xstep * (float)m);
- }
- m = 0;
- n--;
- line = m_data + (int)(m_ystep*n);
- data = line;
- }
- fclose (fp);
-
-
- //std::cout << "NOT encoded: " << pnm << std::endl;
-
- //pnm64 = base64_encode(reinterpret_cast<const unsigned char*>(pnm.c_str()), pnm.length());
- //std::cout << "encoded: " << pnm64 << std::endl;
-
-
-
- //m_glist = (t_glist *) canvas_getcurrent();
-
-
- //sys_vgui("img%x put {%s}\n", this->x_obj, reinterpret_cast<const unsigned char*>(pnm64.c_str()) );
- image_drawme((pix_preview *)this->x_obj, (t_glist *) this->getCanvas(), 0, m_xsize, m_ysize);
-// sys_vgui(".x%x.c coords %xS %d %d\n",
-// this->getCanvas(), this->x_obj,
-// text_xpix(this->x_obj, (t_glist *)this->getCanvas()) + (m_xsize/2), text_ypix(this->x_obj, (t_glist *)this->getCanvas()) + (m_ysize/2));
- //fprintf (stderr, "%x %x - %d %d\n",x,(t_object*)x, text_xpix((t_object*)x, glist), text_ypix((t_object*)x, glist));
-
- break;
- case 2:
- while (n < m_ysize) {
- while (m < m_xsize/2) {
- float y,u,y1,v;
- u = (float)data[0] / 255.f;
- SETFLOAT(&m_buffer[i], u);
- i++;
- y = (float)data[1] / 255.f;
- SETFLOAT(&m_buffer[i], y);
- i++;
- v = (float)data[2] / 255.f;
- SETFLOAT(&m_buffer[i], v);
- i++;
- y1 = (float)data[3] / 255.f;
- SETFLOAT(&m_buffer[i], y1);
- i++;
- m++;
- data = line + (int)(m_xstep * (float)m);
- }
- m = 0;
- n++;
- line = m_data + (int)(m_ystep*n);
- data = line;
- }
- case 1: default:
- int datasize=m_xsize*m_ysize*m_csize/4;
- while (datasize--) {
- float v;
- v = (float)(*data++) / 255.f; SETFLOAT(&m_buffer[i], v);
- v = (float)(*data++) / 255.f; SETFLOAT(&m_buffer[i+1], v);
- v = (float)(*data++) / 255.f; SETFLOAT(&m_buffer[i+2], v);
- v = (float)(*data++) / 255.f; SETFLOAT(&m_buffer[i+3], v);
- i+=4;
- }
- }
- //outlet_list(m_dataOut, gensym("list"), i, m_buffer);
-}
-
-/////////////////////////////////////////////////////////
-// static member function
-//
-/////////////////////////////////////////////////////////
-void pix_preview :: obj_setupCallback(t_class *classPtr)
-{
- class_addbang(classPtr, (t_method)&pix_preview::triggerMessCallback);
-}
-
-void pix_preview :: triggerMessCallback(void *data)
-{
- GetMyClass(data)->trigger();
-}
-
-
-
-
-/* widget helper functions */
-
-
-
-
-void pix_preview :: image_drawme(pix_preview *x, t_glist *glist, int firsttime, int m_xsize, int m_ysize)
-{
- char* ig_path = "/tmp/pixdump01.pnm";
- if (firsttime) {
-
- sys_vgui("image create photo img%x -data {%s}\n",x,fdata);
- sys_vgui(".x%x.c create image %d %d -image img%x -tags %xS\n",
- glist_getcanvas(glist),text_xpix((t_object*)x, glist)+14, text_ypix((t_object*)x, glist)+14,x,x);
- //fprintf (stderr, "%x %x - %d %d \n",x,(t_object*)x, text_xpix((t_object*)x, glist), text_ypix((t_object*)x, glist));
- }
- else {
- sys_vgui(".x%x.c delete %xS\n", glist_getcanvas(glist), x);
- sys_vgui(".x%x.c delete img%x\n", glist_getcanvas(glist), x);
- sys_vgui("image create photo img%x -file %s\n",x,ig_path);
- sys_vgui(".x%x.c create image %d %d -image img%x -tags %xS\n",
- glist_getcanvas(glist),text_xpix((t_object*)x, glist)+(m_xsize/2), text_ypix((t_object*)x, glist)+(m_ysize/2),x,x);
- //sys_vgui(".x%x.c coords %xS \
-%d %d\n",
- // glist_getcanvas(glist), x,
- // text_xpix((t_object*)x, glist), text_ypix((t_object*)x, glist));
- //fprintf (stderr, "%x %x - %d %d\n",x,(t_object*)x, text_xpix((t_object*)x, glist), text_ypix((t_object*)x, glist));
- }
-
-}
-
-void pix_preview :: image_erase(pix_preview* x,t_glist* glist)
-{
- int n;
- sys_vgui(".x%x.c delete %xS\n",
- glist_getcanvas(glist), x);
-
-}
-
-
-/* ------------------------ image widgetbehaviour----------------------------- */
-
-
-void pix_preview :: image_getrect(t_gobj *z, t_glist *glist,
- int *xp1, int *yp1, int *xp2, int *yp2)
-{
- int width, height;
- pix_preview* x = (pix_preview*)z;
-
-
- width = 250;
- height = 50;
- *xp1 = text_xpix((t_object*)x, glist);
- *yp1 = text_ypix((t_object*)x, glist);
- *xp2 = text_xpix((t_object*)x, glist) + width;
- *yp2 = text_ypix((t_object*)x, glist) + height;
-}
-
-void pix_preview :: image_displace(t_gobj *z, t_glist *glist,
- int dx, int dy)
-{
- t_object *x = (t_object *)z;
- x->te_xpix += dx;
- x->te_ypix += dy;
- sys_vgui(".x%x.c coords %xSEL %d %d %d %d\n",
- glist_getcanvas(glist), x,
- text_xpix(x, glist), text_ypix(x, glist),
- text_xpix(x, glist) + 25, text_ypix(x, glist) + 25);
-
- //image_drawme((pix_preview *)x, glist, 0);
- canvas_fixlinesfor(glist_getcanvas(glist),(t_text*) x);
-}
-
-void pix_preview :: image_select(t_gobj *z, t_glist *glist, int state)
-{ t_object *x = (t_object *)z;
- if (state) {
- sys_vgui(".x%x.c create rectangle \
-%d %d %d %d -tags %xSEL -outline blue\n",
- glist_getcanvas(glist),
- text_xpix(x, glist), text_ypix(x, glist),
- text_xpix(x, glist) + 25, text_ypix(x, glist) + 25,
- x);
- }
- else {
- sys_vgui(".x%x.c delete %xSEL\n",
- glist_getcanvas(glist), x);
- }
-}
-
-
-void pix_preview :: image_activate(t_gobj *z, t_glist *glist, int state)
-{
-}
-
-void pix_preview :: image_delete(t_gobj *z, t_glist *glist)
-{
-
- t_text *x = (t_text *)z;
- pix_preview* s = (pix_preview*)z;
- canvas_deletelinesfor(glist_getcanvas(glist), x);
- image_erase(s, glist);
-}
-
-
-void pix_preview :: image_vis(t_gobj *z, t_glist *glist, int vis)
-{
- pix_preview* s = (pix_preview*)z;
- if (vis)
- image_drawme(s, glist, 1, 28, 28);
-}
-
Modified: trunk/externals/pdvjtools/videogrid/videogrid.cpp
===================================================================
--- trunk/externals/pdvjtools/videogrid/videogrid.cpp 2008-05-24 01:44:50 UTC (rev 9892)
+++ trunk/externals/pdvjtools/videogrid/videogrid.cpp 2008-05-24 01:51:05 UTC (rev 9893)
@@ -34,8 +34,8 @@
#include "pthread.h"
/*ffmpeg includes*/
-#include <avcodec.h>
-#include <avformat.h>
+#include <ffmpeg/avcodec.h>
+#include <ffmpeg/avformat.h>
/*libquicktime includes*/
//#include <quicktime/lqt.h>
Added: trunk/externals/pdvjtools/videogrid/videogrid.libs
===================================================================
--- trunk/externals/pdvjtools/videogrid/videogrid.libs (rev 0)
+++ trunk/externals/pdvjtools/videogrid/videogrid.libs 2008-05-24 01:51:05 UTC (rev 9893)
@@ -0,0 +1 @@
+-lavcodec -lavformat -lavutil -lquicktime
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Pd-cvs
mailing list