Hi all,
I have started messing with the Gem/Gridflow interoperability. Thanks to Mathieu Bouchard I've learned about the #pix_import and #pix_export through which Gridflow can obtain contents of the Gem window and process them further. Where I am at a loss is when Gridflow processes image and outputs data in "grid" format, how to feed this back to Gem (regular pix format, or whatever that is, is easily returned back via #pix_import, but the "grid" format is giving me trouble)?
The reason for this need is that I would like to maintain Gem window as the only visible window which contains both the output from Gem and Gridflow (i.e. a 3D cube with its faces textured with the output from the Gridflow). Attached patch sort of does that, but without any serious processing from the Gridflow's side (other than capturing the Gem window). The problem is with the part where the really interesting processing takes place in respect to the Gridflow, for instance object #remap_image. This object outputs a "grid" which I have no idea how to convert back to a format that can be imported back to Gem. All linking with Gem objects results in errors of various types suggesting that the two are obviously not compatible.
Any help would be greatly appreciated!
BTW, I am using Gem 0.90 and Gridflow 0.82 (on Linux).
Best wishes,
Ico
#N canvas 125 6 729 655 10; #X obj 111 118 loadbang; #X obj 26 12 gemhead; #X obj 26 333 rotateXYZ; #X obj 35 310 #unpack 3; #X obj 35 253 # +; #X obj 60 253 t a; #X obj 35 272 #cast f; #X obj 35 291 # / (f # 100); #X floatatom 111 31 5 0 0 0 - - -; #X obj 79 12 bang; #X obj 111 12 fps , period 5; #X obj 26 181 pix_texture; #X obj 248 411 #import_pix; #X obj 248 266 t a b; #X msg 287 266 snap; #X obj 248 318 pix_snap; #X obj 263 358 tgl 15 0 empty empty empty 0 -6 0 8 -241291 -1 -1 0 1; #X msg 263 372 yflip $1; #X msg 35 234 30 21 15; #X obj 26 382 cube 4; #X floatatom 151 181 5 0 0 0 - - -; #X msg 270 391 help; #X obj 135 265 tgl 15 0 empty empty empty 0 -6 0 8 -24198 -1 -1 0 1 ; #X obj 152 264 metro 50; #X obj 26 140 pix_video; #X msg 111 140 driver 1; #X obj 100 498 gemwin; #X msg 110 363 create; #X msg 125 397 1; #X msg 134 432 0; #X msg 172 432 destroy; #N canvas 95 194 292 181 Gem.init 0; #X obj 83 30 loadbang; #X msg 161 76 reset; #X obj 134 146 outlet; #X obj 88 51 t b b; #X msg 45 75 dimen 400 400; #X connect 0 0 3 0; #X connect 1 0 2 0; #X connect 3 0 4 0; #X connect 3 1 1 0; #X connect 4 0 2 0; #X restore 148 481 pd Gem.init; #X obj 608 309 #remap_image; #X obj 465 240 # -; #X obj 465 66 t a a a; #X obj 527 125 # % 2; #X obj 527 144 # * -2; #X obj 527 163 # + 1; #X obj 487 164 # *; #X obj 574 94 # / 2; #X obj 546 29 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -261681 -1 -1 0 1; #X obj 487 145 # -; #X obj 545 54 t f; #X obj 487 126 # %; #X obj 527 106 # /; #X obj 26 75 #export_pix; #X obj 25 206 translateXYZ 0 0 0; #X obj 249 16 gemhead 50; #X obj 336 99 vsl 15 128 0 512 0 0 empty empty empty 0 -8 0 8 -262144 -1 -1 0 1; #X obj 351 99 vsl 15 128 0 512 0 0 empty empty empty 0 -8 0 8 -262144 -1 -1 0 1; #X obj 390 99 vsl 15 128 0 512 0 0 empty empty empty 0 -8 0 8 -262144 -1 -1 0 1; #X obj 405 99 vsl 15 128 0 512 0 0 empty empty empty 0 -8 0 8 -262144 -1 -1 0 1; #X obj 336 76 #unpack; #X obj 389 76 #unpack; #X obj 326 233 #pack; #X obj 323 255 #export_list; #X obj 383 275 #export_list; #X obj 380 233 #pack; #X msg 336 56 128 128; #X msg 389 56 256 256; #X connect 0 0 25 0; #X connect 0 0 58 0; #X connect 0 0 59 0; #X connect 1 0 9 0; #X connect 1 0 45 0; #X connect 2 0 19 0; #X connect 3 0 2 1; #X connect 3 1 2 2; #X connect 3 2 2 3; #X connect 4 0 5 0; #X connect 4 0 6 0; #X connect 5 0 4 1; #X connect 6 0 7 0; #X connect 7 0 3 0; #X connect 9 0 10 0; #X connect 10 0 8 0; #X connect 11 0 46 0; #X connect 12 0 11 0; #X connect 12 1 32 0; #X connect 13 0 15 0; #X connect 13 1 14 0; #X connect 14 0 15 0; #X connect 15 0 12 0; #X connect 16 0 17 0; #X connect 17 0 12 0; #X connect 18 0 4 0; #X connect 20 0 46 3; #X connect 21 0 12 0; #X connect 22 0 23 0; #X connect 23 0 18 0; #X connect 24 0 11 0; #X connect 25 0 24 0; #X connect 27 0 26 0; #X connect 28 0 26 0; #X connect 29 0 26 0; #X connect 30 0 26 0; #X connect 31 0 26 0; #X connect 32 1 34 0; #X connect 33 0 32 1; #X connect 34 0 33 0; #X connect 34 1 43 0; #X connect 34 2 44 0; #X connect 35 0 36 0; #X connect 36 0 37 0; #X connect 37 0 38 1; #X connect 38 0 33 1; #X connect 39 0 41 1; #X connect 40 0 42 0; #X connect 41 0 38 0; #X connect 42 0 39 0; #X connect 42 0 43 1; #X connect 42 0 44 1; #X connect 43 0 41 0; #X connect 44 0 35 0; #X connect 45 0 24 0; #X connect 46 0 2 0; #X connect 47 0 13 0; #X connect 48 0 54 0; #X connect 49 0 54 1; #X connect 50 0 57 0; #X connect 51 0 57 1; #X connect 52 0 48 0; #X connect 52 1 49 0; #X connect 53 0 50 0; #X connect 53 1 51 0; #X connect 54 0 55 0; #X connect 55 0 15 1; #X connect 56 0 15 2; #X connect 57 0 56 0; #X connect 58 0 52 0; #X connect 59 0 53 0;