#N canvas 687 246 130 212 10; #X text 8 259 Gemwin Control (for gemwin); #X obj 229 200 s \$0-resolution; #X obj 1 1 cnv 5 128 210 empty empty Window_Management 5 6 1 9 -133153 -1 0; #X obj 7 53 tgl 15 0 \$0-window \$0 Window 20 8 1 8 -262144 -1 -1 0 1; #X obj 7 35 tgl 15 0 \$0-fsaa \$0 FSAA(6) 20 8 1 8 -262144 -1 -1 0 1; #X obj 7 17 tgl 15 0 \$0-fullscreen \$0 Fullscreen 20 8 1 8 -262144 -1 -1 0 1; #X obj 10 74 hsl 112 15 0 1 0 0 \$0-r \$0-s empty -2 -6 0 8 -258699 -1 -1 0 1; #X obj 10 89 hsl 112 15 0 1 0 0 \$0-g \$0-s empty -2 -6 0 8 -24198 -1 -1 0 1; #X obj 10 104 hsl 112 15 0 1 0 0 \$0-b \$0-s empty -2 -6 0 8 -62784 -1 -1 0 1; #X obj 76 17 tgl 15 0 \$0-light \$0 Light 20 8 1 8 -262144 -1 -1 0 1; #X text 6 352 In the future it would be nice to visuall choose a corner of the window to put the gemwin. We can get the size of the screen in tcl with winfo vrootheight . and winfo vrootwidth . Suggest on gem-dev? ; #X obj 215 115 commun /r \$0; #X obj 215 134 commun /g \$0; #X obj 215 153 commun /b \$0; #X obj 6 285 inlet; #X obj 226 253 s \$0-offset; #X obj 339 200 commun /resolution \$0; #X obj 76 35 tgl 15 0 \$0-cursor \$0-cursor-set Cursor 20 8 1 8 -262144 -1 -1 0 1; #X obj 309 253 commun /offset \$0; #X obj 215 5 commun /fullscreen \$0; #X obj 215 25 commun /fsaa \$0; #X obj 215 45 commun /light \$0; #X obj 215 65 commun /cursor \$0; #X obj 206 227 route bang; #X text 287 227 <- fix for initial bang; #X obj 222 170 route bang; #N canvas 107 93 694 550 interna 0; #X text 7 6 Gemwin Control (for gemwin); #X obj 10 44 cnv 15 650 400 empty empty empty 5 8 1 10 -260390 -1 0 ; #X msg 27 162 color \$1 \$2 \$3; #X obj 27 142 pack f f f; #X obj 27 223 s \$0-ctrl; #X obj 546 238 s \$0-ctrl; #X msg 546 133 640 480; #X obj 546 85 r \$0-resolution; #X obj 12 464 cnv 15 130 50 empty empty empty 5 8 1 10 -3121 -1 0; #X obj 214 57 r \$0-window; #X obj 220 150 s \$0-ctrl; #X obj 348 54 r \$0-fsaa; #X obj 348 147 s \$0-ctrl; #X msg 377 124 FSAA 0; #X obj 214 80 route 1 0; #X obj 348 77 route 1 0; #X obj 546 107 route 0 1 2; #X msg 563 153 1024 512; #X msg 580 173 512 512; #X obj 430 416 s \$0-ctrl; #X msg 430 395 offset \$1 \$2; #X msg 249 127 0 \, destroy; #X msg 220 104 create \, 1; #X obj 282 245 r \$0-resolution; #X obj 282 267 route 0 1 2; #X msg 282 293 5.3333 4; #X msg 299 313 8 4; #X msg 316 333 4 4; #X obj 443 130 loadbang; #X text 442 152 Defaults; #X obj 202 179 s windowCreate; #X text 198 199 Signal to FTGL render; #X msg 348 101 FSAA 6; #X obj 24 263 r \$0-frameRate; #X obj 24 285 route 0 1; #X msg 24 311 30; #X msg 54 331 60; #N canvas 0 22 455 226 dynamic 0; #X obj 82 69 f \$0; #X obj 81 93 makefilename pd-%d-interna; #X msg 16 144 \; \$3 obj 21 423 gemwindow \$1 \$2; #X obj 16 118 pack f f s; #X text 8 7 Dynamically generates the gemwindow abstraction at the correct framerate with the correct receive name.; #X obj 16 45 inlet; #X obj 82 46 loadbang; #X msg 143 46 bang; #X text 11 189 Crap \, we need to be able to delete the old one first! How? "cut" crashes when the patcher is not open!; #X connect 0 0 1 0; #X connect 0 0 3 1; #X connect 1 0 3 2; #X connect 3 0 2 0; #X connect 5 0 3 0; #X connect 6 0 0 0; #X connect 7 0 0 0; #X restore 24 357 pd dynamic patcher; #X obj 165 270 s \$0-ctrl; #X obj 165 230 r \$0-light; #X msg 165 250 lighting \$1; #X obj 166 334 s \$0-ctrl; #X obj 166 296 r \$0-fullscreen; #X msg 166 315 fullscreen \$1; #X obj 282 359 s pt.videoPlaneSize; #X obj 21 471 inlet; #N canvas 276 506 466 316 select 0; #X obj 18 17 inlet; #X obj 18 43 select 0 1 2 3 4 5; #X msg 18 67 1600 -50; #X msg 38 87 1600 0; #X msg 58 107 1280 -50; #X msg 78 127 1280 0; #X msg 98 147 1024 -50; #X msg 118 167 1024 0; #X msg 139 187 0 0; #X obj 35 226 outlet; #X connect 0 0 1 0; #X connect 1 0 2 0; #X connect 1 1 3 0; #X connect 1 2 4 0; #X connect 1 3 5 0; #X connect 1 4 6 0; #X connect 1 5 7 0; #X connect 1 6 8 0; #X connect 2 0 9 0; #X connect 3 0 9 0; #X connect 4 0 9 0; #X connect 5 0 9 0; #X connect 6 0 9 0; #X connect 7 0 9 0; #X connect 8 0 9 0; #X restore 430 374 pd select; #X obj 430 352 r \$0-offset; #X obj 427 311 s \$0-ctrl; #X obj 427 258 r \$0-cursor; #X msg 427 285 cursor \$1; #N canvas 672 103 529 518 memento 0; #X obj 29 66 t b f; #X msg 29 90 set; #X msg 59 90 substate \$1; #X obj 29 46 r pt.currentPreset; #X text 16 9 Does all the crap for memento naming/collection and abstraction registration \$1 is abst-name \$2 is \$0 variable; #X obj 305 75 inlet; #X obj 115 122 originator /pt/window \$0; #X obj 44 158 cnv 15 400 300 empty empty EXPERIMENTAL 20 12 0 14 -259544 -1 0; #X obj 234 360 pool OSC; #X obj 175 218 r \$0-RRADMIN; #X obj 157 307 prepend set; #X obj 182 252 t a b; #X obj 258 284 symbol \$1; #X msg 251 309 mkchdir \$1; #X connect 0 0 1 0; #X connect 0 1 2 0; #X connect 1 0 6 0; #X connect 2 0 6 0; #X connect 3 0 0 0; #X connect 5 0 6 1; #X connect 9 0 11 0; #X connect 10 0 8 0; #X connect 11 0 10 0; #X connect 11 1 12 0; #X connect 12 0 13 0; #X connect 13 0 8 0; #X restore 449 96 pd memento; #X obj 449 74 r pt.osc; #X text 431 51 receive OSC on pt.osc; #X obj 27 201 spigot; #X obj 27 73 interp3 \$0-r \$0-g \$0-b; #X obj 104 142 bang; #X obj 65 471 r \$0-ctrl; #X obj 546 418 s \$0-ctrl; #X obj 546 265 r \$0-framerate; #X obj 546 287 route 0 1 2 3; #X msg 546 313 15; #X msg 563 333 30; #X msg 580 353 60; #X msg 600 373 100; #X obj 546 396 prepend frame; #X text 8 25 Render \, Creation \, Colour? \, frame-rate \,; #X obj 165 400 s \$0-ctrl; #X obj 165 360 r \$0-border; #X msg 165 380 border \$1; #X obj 413 184 f \$0; #X obj 511 463 s pt.windowResolution; #X obj 546 216 prepend dimen; #X obj 21 493 gemwin 30; #X obj 546 196 t a; #X msg 414 204 \; \$1-border-set 1 \; \$1-cursor-set 1 \;; #X connect 2 0 54 0; #X connect 3 0 2 0; #X connect 6 0 74 0; #X connect 7 0 16 0; #X connect 9 0 14 0; #X connect 9 0 54 1; #X connect 11 0 15 0; #X connect 13 0 12 0; #X connect 14 0 22 0; #X connect 14 0 30 0; #X connect 14 1 21 0; #X connect 15 0 32 0; #X connect 15 1 13 0; #X connect 16 0 6 0; #X connect 16 1 17 0; #X connect 16 2 18 0; #X connect 17 0 74 0; #X connect 18 0 74 0; #X connect 20 0 19 0; #X connect 21 0 10 0; #X connect 22 0 10 0; #X connect 23 0 24 0; #X connect 24 0 25 0; #X connect 24 1 26 0; #X connect 24 2 27 0; #X connect 25 0 44 0; #X connect 26 0 44 0; #X connect 27 0 44 0; #X connect 28 0 6 0; #X connect 28 0 25 0; #X connect 28 0 70 0; #X connect 32 0 12 0; #X connect 33 0 34 0; #X connect 34 0 35 0; #X connect 34 1 36 0; #X connect 35 0 37 0; #X connect 36 0 37 0; #X connect 39 0 40 0; #X connect 40 0 38 0; #X connect 42 0 43 0; #X connect 43 0 41 0; #X connect 45 0 73 0; #X connect 46 0 20 0; #X connect 47 0 46 0; #X connect 49 0 50 0; #X connect 50 0 48 0; #X connect 52 0 51 0; #X connect 54 0 4 0; #X connect 55 0 3 0; #X connect 55 1 56 0; #X connect 55 1 3 1; #X connect 55 2 56 0; #X connect 55 2 3 2; #X connect 56 0 3 0; #X connect 57 0 73 0; #X connect 59 0 60 0; #X connect 60 0 61 0; #X connect 60 1 62 0; #X connect 60 2 63 0; #X connect 60 3 64 0; #X connect 61 0 65 0; #X connect 62 0 65 0; #X connect 63 0 65 0; #X connect 64 0 65 0; #X connect 65 0 58 0; #X connect 68 0 69 0; #X connect 69 0 67 0; #X connect 70 0 75 0; #X connect 72 0 5 0; #X connect 74 0 72 0; #X connect 74 0 71 0; #X restore 6 307 pd interna; #X obj 215 280 route bang; #X text 296 280 <- fix for initial bang; #X obj 215 306 s \$0-framerate; #X obj 318 306 commun /framerate \$0; #X obj 76 53 tgl 15 0 \$0-border \$0-border-set Border 20 8 1 8 -262144 -1 -1 1 1; #X obj 215 85 commun /border \$0; #X obj 4 124 popup 124 25 grey50 Resolution 640x480 1024x512 512x512 ; #X obj 4 153 popup 124 25 grey50 Offset 1600/-50 1600/0 1280/-50 1280/0 1024/-50 1024/0 0/0; #X obj 4 181 popup 124 25 grey50 Frame-rate 15fps 30fps 60fps 100fps ; #X connect 4 0 20 0; #X connect 5 0 19 0; #X connect 6 0 11 0; #X connect 7 0 12 0; #X connect 8 0 13 0; #X connect 9 0 21 0; #X connect 11 0 6 0; #X connect 12 0 7 0; #X connect 13 0 8 0; #X connect 14 0 26 0; #X connect 16 0 33 0; #X connect 17 0 22 0; #X connect 18 0 34 0; #X connect 19 0 5 0; #X connect 20 0 4 0; #X connect 21 0 9 0; #X connect 22 0 17 0; #X connect 23 1 15 0; #X connect 23 1 18 0; #X connect 25 1 16 0; #X connect 25 1 1 0; #X connect 27 1 29 0; #X connect 27 1 30 0; #X connect 30 0 35 0; #X connect 31 0 32 0; #X connect 32 0 31 0; #X connect 33 0 25 0; #X connect 34 0 23 0; #X connect 35 0 27 0; #X coords 0 0 1 1 130 212 1;