B. Bogart wrote:
If you don't mind putting the "grid" gui in the gemwindow then its pretty easy..
It's pretty easy with GridFlow, too, if you have image thumbnails prepared at the same (known) size.
It would be better once there is multi-window support in Gem.
GridFlow has multi-window support, and awesome mouse and keyboard support.
Attached is an example I made that displays a grid of images and handles clicks to give the number of the video that has been selected.
http://claudiusmaximus.goto10.org
#N canvas 48 79 638 517 10; #X obj 16 39 inlet; #X obj 473 39 inlet; #X text 522 39 window control; #X obj 16 446 outlet; #X text 70 446 number from 0 to rows*columns-1 being the selected image ; #X obj 16 294 #out window; #X obj 16 261 #redim ( ); #X obj 16 81 fork; #X obj 81 111 #dim; #X obj 81 131 #export_list; #X obj 81 151 unpack f f f f f; #X obj 81 181 *; #X obj 113 181 *; #X obj 81 201 pack f f f; #X text 14 9 Usage: [cm_image_grid rows columns height width channels] ; #X obj 16 61 #import ( 5 # $1 $2 $3 $4 $5 ); #X msg 81 221 ( 3 # $1 $2 $3 ); #X text 62 30 input exactly rows*columns images of dim[height , width , channels]; #X obj 16 346 unpack f f; #X obj 16 326 #mouse , , , , , , , , , , , , , , ,; #X obj 16 366 / $3; #X obj 16 386 int; #X obj 81 386 int; #X obj 81 366 / $4; #X obj 16 406 * $2; #X obj 16 426 +; #X obj 473 445 outlet; #X text 525 445 window output; #X obj 16 241 #transpose 1 2; #X connect 0 0 15 0; #X connect 1 0 5 0; #X connect 5 0 19 0; #X connect 5 0 26 0; #X connect 6 0 5 0; #X connect 7 0 28 0; #X connect 7 1 8 0; #X connect 8 0 9 0; #X connect 9 0 10 0; #X connect 10 0 11 0; #X connect 10 1 12 0; #X connect 10 2 11 1; #X connect 10 3 12 1; #X connect 10 4 13 2; #X connect 11 0 13 0; #X connect 12 0 13 1; #X connect 13 0 16 0; #X connect 15 0 7 0; #X connect 16 0 6 1; #X connect 18 0 20 0; #X connect 18 1 23 0; #X connect 19 0 18 0; #X connect 20 0 21 0; #X connect 21 0 24 0; #X connect 22 0 25 1; #X connect 23 0 22 0; #X connect 24 0 25 0; #X connect 25 0 3 0; #X connect 28 0 6 0;
#N canvas 286 523 450 300 10; #X obj 55 167 cm_image_grid 3 4 120 160 3; #X floatatom 55 201 5 0 0 0 - - -; #X obj 55 43 for 0 12 1; #X obj 55 147 #redim ( 120 160 3 ); #X obj 55 23 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #X obj 239 127 loadbang; #X msg 239 147 title ImageGrid; #X text 80 23 Create 12=3*4 equally sized images; #X obj 55 107 #hueshift; #X obj 55 63 t b f; #X obj 55 127 #clip; #X msg 55 86 ( 1 1 3 # 255 255 0 ); #X obj 113 64 * 3000; #X connect 0 0 1 0; #X connect 2 0 9 0; #X connect 3 0 0 0; #X connect 4 0 2 0; #X connect 5 0 6 0; #X connect 6 0 0 1; #X connect 8 0 10 0; #X connect 9 0 11 0; #X connect 9 1 12 0; #X connect 10 0 3 0; #X connect 11 0 8 0; #X connect 12 0 8 1;