#N canvas 346 61 665 552 10; #X declare -lib Gem; #X text 452 8 GEM object; #X obj 8 340 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577 0; #X text 17 342 Arguments:; #X obj 8 56 cnv 15 430 280 empty empty empty 20 12 0 14 -233017 -66577 0; #X text 451 58 Example:; #X text 71 31 Class: pix object; #X obj 13 512 cnv 15 410 30 empty empty empty 20 12 0 14 -260818 -66577 0; #X text 50 12 Synopsis: [pix_freeframe]; #X text 63 353 : the plugin to load; #X text 13 72 This object allows you to load any FreeFrame video-effect. FreeFrame is an open \, cross-platform (osX \, linux \, w32) standard for realtime video effects.; #X text 15 513 You can get more information as well as links to public domain and commercial plugin-packs at http://freeframe.org; #X msg 455 330 gemList; #X text 28 56 Description: run a FreeFrame effect; #X obj 449 113 gemhead; #X obj 448 77 cnv 15 200 280 empty empty empty 20 12 0 14 -228992 -66577 0; #X obj 514 340 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577 0; #N canvas 0 0 450 300 gemwin 0; #X obj 132 136 gemwin; #X obj 67 89 outlet; #X obj 67 10 inlet; #X msg 67 70 set destroy; #X msg 132 112 create \, 1; #X msg 198 112 destroy; #X msg 156 71 set create; #X obj 67 41 route create; #X connect 2 0 7 0; #X connect 3 0 1 0; #X connect 4 0 0 0; #X connect 5 0 0 0; #X connect 6 0 1 0; #X connect 7 0 3 0; #X connect 7 0 4 0; #X connect 7 1 6 0; #X connect 7 1 5 0; #X restore 519 379 pd gemwin; #X msg 519 360 create; #X text 515 339 Create window:; #X obj 451 83 gemhead; #X obj 451 342 square 3; #X obj 451 320 pix_texture; #X obj 451 151 pix_film; #X obj 515 151 t f; #X obj 464 103 bng 25 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #N canvas 0 0 450 300 open 0; #X obj 85 49 inlet; #X obj 85 237 outlet; #X obj 85 145 openpanel; #X msg 85 179 open \$1; #X msg 259 213 auto 1; #X obj 268 179 loadbang; #X connect 0 0 2 0; #X connect 2 0 3 0; #X connect 3 0 1 0; #X connect 4 0 1 0; #X connect 5 0 4 0; #X restore 464 131 pd open; #X text 505 77 open a supported; #X text 506 88 movie-clip; #X text 523 114 macOS: quicktime; #X text 516 104 MS Windows: *.AVI; #X text 523 124 linux: depends...; #X obj 450 227 cnv 15 160 85 empty empty empty 20 12 0 14 -24198 -66577 0; #X floatatom 567 241 5 0 0 0 - - -; #X obj 463 241 hsl 100 15 0 1 0 0 empty empty friction -2 -6 0 10 -262144 -1 -1 0 1; #X obj 451 289 pix_freeframe WaveVFX; #X floatatom 567 270 5 0 0 0 - - -; #X obj 463 270 hsl 100 15 0 1 0 0 empty empty speed -2 -6 0 10 -262144 -1 -1 0 1; #X text 442 431 This example relies on; #X text 442 446 finding the "WaveVFX" plugin; #X text 443 461 (which is part of PeteWarden's; #X text 445 477 plugins) in Pd's search path; #X obj 451 179 pix_rgba; #X text 513 176 FreeFrame plugins; #X text 515 190 need RGBA images!; #X text 12 109 If you specify the plugin when creating the object (e.g [pix_freeframe WaveVFX] or [pix_WaveVFX] \, the plugin is fixed and you cannot change it (apart from deleting the object and creating a new one); #X text 13 154 However \, if you only create an object [pix_freeframe] (without specifying the plugin \, you will get a dynamic version \, where you can load in a plugin using the "load" message.; #X text 12 308 Plugins are searched in all the paths that Pd searches for abstractions \, ...!; #X text 13 284 FreeFrame numerical parameters are supposed to be in the range 0..1.; #X text 12 202 Most plugins have a number of parameters which you can use to change the behaviour of the effect while it runs. For each parameter exposed \, the [pix_freeframe] object will get one additional inlet \, which can be used to modify the given parameter. Alternatively (e.g. when using dynamic plugin instances) you can also use the parametername or "#" (starting from 1).; #X obj 7 376 cnv 15 430 130 empty empty empty 20 12 0 14 -233017 -66577 0; #X text 11 378 Inlets:; #X text 11 478 Outlets:; #X text 29 491 Outlet 1: gemlist; #X text 22 392 Inlet 1: gemlist; #X text 21 453 Inlet 2..N (if applicable): : depending on the settable parameter; #X text 22 406 Inlet 1: open : load another plugin (if applicable) ; #X text 22 419 Inlet 1: # : set parameter # (starting from 1); #X text 22 441 Inlet 1: : set parameter given by ; #X obj 538 8 declare -lib Gem; #X connect 16 0 17 0; #X connect 17 0 16 0; #X connect 19 0 22 0; #X connect 21 0 20 0; #X connect 22 0 41 0; #X connect 22 2 23 0; #X connect 23 0 22 1; #X connect 24 0 25 0; #X connect 25 0 22 0; #X connect 32 0 34 1; #X connect 33 0 32 0; #X connect 34 0 21 0; #X connect 35 0 34 2; #X connect 36 0 35 0; #X connect 41 0 34 0;