aboutsummaryrefslogtreecommitdiff
path: root/videogrid
diff options
context:
space:
mode:
authorN.N. <sergi_ll@users.sourceforge.net>2008-10-16 21:46:53 +0000
committerN.N. <sergi_ll@users.sourceforge.net>2008-10-16 21:46:53 +0000
commitf6f6f2022a394358556f49e8bfd9ee90b4ca4589 (patch)
tree7d2235e72916be79b1d6367ef110a6877004b868 /videogrid
parent6bd319d776af0bd32a6c22f52bef4a2826707dd3 (diff)
using ffmpeg, jump if file is not suported
svn path=/trunk/externals/pdvjtools/; revision=10331
Diffstat (limited to 'videogrid')
-rw-r--r--videogrid/videogrid-help.pd24
-rw-r--r--videogrid/videogrid.cc72
2 files changed, 51 insertions, 45 deletions
diff --git a/videogrid/videogrid-help.pd b/videogrid/videogrid-help.pd
index 68da1a3..08d0547 100644
--- a/videogrid/videogrid-help.pd
+++ b/videogrid/videogrid-help.pd
@@ -1,5 +1,5 @@
-#N canvas 323 160 580 404 10;
-#X symbolatom 72 324 60 0 0 0 - - -;
+#N canvas 323 160 563 400 10;
+#X symbolatom 116 317 60 0 0 0 - - -;
#X obj 26 110 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X text 24 13 VIDEOGRID;
@@ -9,9 +9,7 @@
added in the grid \, in form of image of its first frame.;
#X text 74 344 LOCATION OF THE SELECTED VIDEO;
#X text 24 93 LIST STDOUT;
-#X msg 156 127 putvideodir /usr/local/lib/pd/extra/videogrid/videos
-;
-#X obj 83 159 videogrid videogrid1 3 5 #F0F0F0 #0F0F0F #F1882B;
+#X obj 116 171 videogrid videogrid1 3 5 #F0F0F0 #0F0F0F #F1882B;
#X msg 156 77 putvideo \$1;
#X obj 268 74 openpanel;
#X obj 348 73 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
@@ -19,12 +17,14 @@ added in the grid \, in form of image of its first frame.;
#X msg 16 160 clear;
#X msg 13 212 seek \$1;
#X floatatom 19 185 5 0 0 0 - - -;
-#X connect 1 0 9 0;
-#X connect 8 0 9 0;
-#X connect 9 0 0 0;
+#X msg 156 127 putvideodir /home/medialab/opendijous/pd/Gem/examples/data/
+;
+#X connect 1 0 8 0;
+#X connect 8 0 0 0;
+#X connect 9 0 8 0;
#X connect 10 0 9 0;
#X connect 11 0 10 0;
-#X connect 12 0 11 0;
-#X connect 13 0 9 0;
-#X connect 14 0 9 0;
-#X connect 15 0 14 0;
+#X connect 12 0 8 0;
+#X connect 13 0 8 0;
+#X connect 14 0 13 0;
+#X connect 15 0 8 0;
diff --git a/videogrid/videogrid.cc b/videogrid/videogrid.cc
index 28f0260..1cd860d 100644
--- a/videogrid/videogrid.cc
+++ b/videogrid/videogrid.cc
@@ -158,7 +158,7 @@ int convertir_img_ff(pathimage pathFitxer, tipus_format f, int W, int H, int pos
// Retrieve stream information
if(av_find_stream_info(pFormatCtx)<0)
- return -1; // Couldn't find stream information
+ return -1; // Couldn't find stream information
// Dump information about file onto standard error
dump_format(pFormatCtx, 0, pathFitxer, false);
@@ -749,8 +749,8 @@ int format_adequat_v(path nomF){
t1 != NULL;
t1 = strtok(NULL,".") )
strcpy(extensio,t1);
- if(strcmp(extensio,"mov")==0) retorn = 1;
/*
+ if(strcmp(extensio,"mov")==0) retorn = 1;
if(strcmp(extensio,"eps")==0) retorn = 1;
if(strcmp(extensio,"gif")==0) retorn = 1;
if(strcmp(extensio,"jpg")==0) retorn = 1;
@@ -788,46 +788,52 @@ void videogrid_afegir_imatge(t_videogrid *x, path entrada)
}
sys_vgui(".x%x.c delete %xS%d\n", glist_getcanvas(x->x_glist), x, pos);
}
- /* encua el nou node */
- encuar(&x->x_cua, entrada);
- /* si no és el primer element a encuar incrementem la posicio de la última imatge insertada */
- if(numNodes(&x->x_cua) != 1) x->x_ultima_img ++;
- /* si assoleix el maxim torna a començar, inicialitzant la posició en el tauler de la última imatge insertada */
- if(x->x_ultima_img == maxim) x->x_ultima_img = 0;
+
/*
Quicktime per les conversions
*/
+ int fferror=0;
int nN = x->x_ultima_img;
if (format_adequat_v(entrada) == 1) {
convertir_img(entrada,FORMAT_MINIATURA, W_CELL, H_CELL, nN);
} else {
- convertir_img_ff(entrada,FORMAT_MINIATURA, W_CELL, H_CELL, nN);
+ fferror=convertir_img_ff(entrada,FORMAT_MINIATURA, W_CELL, H_CELL, nN);
+ }
+ post ("%d",fferror);
+ if (fferror>=0) {
+
+ /* encua el nou node */
+ encuar(&x->x_cua, entrada);
+ /* si no és el primer element a encuar incrementem la posicio de la última imatge insertada */
+ if(numNodes(&x->x_cua) != 1) x->x_ultima_img ++;
+ /* si assoleix el maxim torna a començar, inicialitzant la posició en el tauler de la última imatge insertada */
+ if(x->x_ultima_img == maxim) x->x_ultima_img = 0;
+
+ sprintf(nNstr, "%d", nN);
+ strcat(ig_path,nNstr);
+ strcat(ig_path,".");
+ strcat(ig_path,FORMAT_MINIATURA);
+ /*printf("Creacio de la imatge %s ...",ig_path);*/
+ sys_vgui("image create photo img%x%d -file %s\n",x,nN,ig_path);
+ /* printf("1. Creacio de la imatge %s ...",ig_path); */
+ sys_vgui(".x%x.c create image %d %d -image img%x%d -tags %xS%d\n",
+ glist_getcanvas(x->x_glist),
+ text_xpix(&x->x_obj, x->x_glist) + getX(x,nN) + (W_CELL/2),
+ text_ypix(&x->x_obj, x->x_glist) + getY(x,nN) + (H_CELL/2),
+ x,nN,x,nN);
+ /* printf("2. Creacio de la imatge %s ...",ig_path); */
+ if(nN == 0){
+ x->x_tauler_primer = x->x_cua.final;
+ /* post("Ara el primer del tauler es %s\n",x->x_tauler_primer->pathFitxer); */
+ }
+ /* printf("SURT de la creacio de la imatge %s ...",ig_path); */
+ /*
+ sys_vgui("image create photo img%x -file %s\n",x,entrada);
+ sys_vgui(".x%x.c create image %d %d -image img%x -tags %xS\n",
+ glist_getcanvas(glist),text_xpix(&x->x_obj, glist), text_ypix(&x->x_obj, glist),x,x);
+ */
}
-
- sprintf(nNstr, "%d", nN);
- strcat(ig_path,nNstr);
- strcat(ig_path,".");
- strcat(ig_path,FORMAT_MINIATURA);
- /*printf("Creacio de la imatge %s ...",ig_path);*/
- sys_vgui("image create photo img%x%d -file %s\n",x,nN,ig_path);
- /* printf("1. Creacio de la imatge %s ...",ig_path); */
- sys_vgui(".x%x.c create image %d %d -image img%x%d -tags %xS%d\n",
- glist_getcanvas(x->x_glist),
- text_xpix(&x->x_obj, x->x_glist) + getX(x,nN) + (W_CELL/2),
- text_ypix(&x->x_obj, x->x_glist) + getY(x,nN) + (H_CELL/2),
- x,nN,x,nN);
- /* printf("2. Creacio de la imatge %s ...",ig_path); */
- if(nN == 0){
- x->x_tauler_primer = x->x_cua.final;
- /* post("Ara el primer del tauler es %s\n",x->x_tauler_primer->pathFitxer); */
- }
- /* printf("SURT de la creacio de la imatge %s ...",ig_path); */
- /*
- sys_vgui("image create photo img%x -file %s\n",x,entrada);
- sys_vgui(".x%x.c create image %d %d -image img%x -tags %xS\n",
- glist_getcanvas(glist),text_xpix(&x->x_obj, glist), text_ypix(&x->x_obj, glist),x,x);
- */
}
/* dibuixa videogrid */