{ "patcher" : { "fileversion" : 1, "rect" : [ 282.0, 44.0, 758.0, 806.0 ], "bgcolor" : [ 0.933333, 0.933333, 0.933333, 1.0 ], "bglocked" : 0, "defrect" : [ 282.0, 44.0, 758.0, 806.0 ], "openrect" : [ 0.0, 0.0, 0.0, 0.0 ], "openinpresentation" : 0, "default_fontsize" : 12.0, "default_fontface" : 0, "default_fontname" : "Arial", "gridonopen" : 0, "gridsize" : [ 15.0, 15.0 ], "gridsnaponopen" : 0, "toolbarvisible" : 1, "boxanimatetime" : 200, "imprint" : 0, "enablehscroll" : 1, "enablevscroll" : 1, "devicewidth" : 0.0, "boxes" : [ { "box" : { "maxclass" : "message", "text" : "clearmodels", "id" : "obj-58", "fontname" : "Arial", "numinlets" : 2, "numoutlets" : 1, "fontsize" : 12.0, "patching_rect" : [ 345.0, 765.0, 75.0, 18.0 ], "outlettype" : [ "" ] } } , { "box" : { "maxclass" : "comment", "text" : "Move the circles around, and then some.", "linecount" : 2, "id" : "obj-54", "fontname" : "Arial", "numinlets" : 1, "presentation_rect" : [ 165.0, 538.0, 0.0, 0.0 ], "numoutlets" : 0, "fontsize" : 12.0, "patching_rect" : [ 165.0, 540.0, 150.0, 34.0 ] } } , { "box" : { "maxclass" : "comment", "text" : "Enable Area Of Contact. Check finger data for the added info.", "linecount" : 3, "id" : "obj-52", "fontname" : "Arial", "numinlets" : 1, "presentation_rect" : [ 166.0, 485.0, 0.0, 0.0 ], "numoutlets" : 0, "fontsize" : 12.0, "patching_rect" : [ 165.0, 480.0, 142.0, 48.0 ] } } , { "box" : { "maxclass" : "comment", "text" : "Create ten circles.", "id" : "obj-49", "fontname" : "Arial", "numinlets" : 1, "presentation_rect" : [ 171.0, 382.0, 0.0, 0.0 ], "numoutlets" : 0, "fontsize" : 12.0, "patching_rect" : [ 165.0, 375.0, 150.0, 20.0 ] } } , { "box" : { "maxclass" : "message", "text" : "js \"\ntouch = function(type, x, y, id, area) {\n if (type != 'E') {\n var a = area / 0.8;\n var s = 'model ' + id + ' scale ' + a + ' ' + a + ' ' + a;\n fs.cmd(s);\n } else {\n fs.cmd('model ' + id + ' scale 0 0 0');\n }\n\n s = 'model ' + id + ' position ' + x + ' ' + y;\n fs.cmd(s);\n};\n\"", "linecount" : 14, "id" : "obj-48", "fontname" : "Arial", "numinlets" : 2, "numoutlets" : 1, "fontsize" : 12.0, "patching_rect" : [ 345.0, 525.0, 291.0, 198.0 ], "outlettype" : [ "" ] } } , { "box" : { "maxclass" : "message", "text" : "area 1", "id" : "obj-46", "fontname" : "Arial", "numinlets" : 2, "numoutlets" : 1, "fontsize" : 12.0, "patching_rect" : [ 345.0, 480.0, 45.0, 18.0 ], "outlettype" : [ "" ] } } , { "box" : { "maxclass" : "message", "text" : "js \"\nfor (var i = 0; i < 10; i++) {\n circle(i, 8);\n}\n\"", "linecount" : 5, "id" : "obj-44", "fontname" : "Arial", "numinlets" : 2, "numoutlets" : 1, "fontsize" : 12.0, "patching_rect" : [ 345.0, 375.0, 149.0, 73.0 ], "outlettype" : [ "" ] } } , { "box" : { "maxclass" : "comment", "text" : "Use circles.", "id" : "obj-1", "fontname" : "Arial", "numinlets" : 1, "presentation_rect" : [ 299.0, 163.0, 0.0, 0.0 ], "numoutlets" : 0, "fontsize" : 12.0, "patching_rect" : [ 165.0, 165.0, 150.0, 20.0 ] } } , { "box" : { "maxclass" : "message", "text" : "js \"var circle = function(name, radius) {\n var xyz = [];\n var i;\n for(i=0; i<=63; i++) {\n xyz.push(Math.sin(i / 10.0) * radius);\n xyz.push(Math.cos(i / 10.0) * radius);\n xyz.push(0);\n }\n\n var s = 'model ' + name + ' xyz ' + xyz.join(' ');\n fs.cmd(s);\n fs.cmd('model ' + name + ' render line_loop');\n};\"", "linecount" : 13, "id" : "obj-5", "fontname" : "Arial", "numinlets" : 2, "numoutlets" : 1, "fontsize" : 12.0, "patching_rect" : [ 345.0, 165.0, 270.0, 184.0 ], "outlettype" : [ "" ] } } , { "box" : { "maxclass" : "comment", "text" : "That's all.", "id" : "obj-30", "fontname" : "Arial", "numinlets" : 1, "numoutlets" : 0, "fontsize" : 12.0, "patching_rect" : [ 345.0, 990.0, 86.0, 20.0 ] } } , { "box" : { "maxclass" : "newobj", "text" : "s toFantaStick", "hidden" : 1, "id" : "obj-12", "fontname" : "Arial", "numinlets" : 1, "numoutlets" : 0, "fontsize" : 12.0, "patching_rect" : [ 345.0, 810.0, 87.0, 20.0 ] } } , { "box" : { "maxclass" : "comment", "text" : "Go OpenGL.", "id" : "obj-9", "fontname" : "Arial", "numinlets" : 1, "numoutlets" : 0, "fontsize" : 12.0, "patching_rect" : [ 165.0, 120.0, 150.0, 20.0 ] } } , { "box" : { "maxclass" : "message", "text" : ";\rtoFantaStick opengl 1", "linecount" : 2, "id" : "obj-7", "fontname" : "Arial", "numinlets" : 2, "numoutlets" : 1, "fontsize" : 12.0, "patching_rect" : [ 345.0, 105.0, 135.0, 32.0 ], "outlettype" : [ "" ] } } , { "box" : { "maxclass" : "comment", "text" : "FantastickArea", "id" : "obj-4", "fontname" : "Arial", "numinlets" : 1, "numoutlets" : 0, "fontsize" : 18.0, "patching_rect" : [ 45.0, 30.0, 239.0, 27.0 ] } } , { "box" : { "maxclass" : "comment", "text" : "Open the FS help patch for the iDevice connection. Requires FS version 2.3 or later.", "id" : "obj-2", "fontname" : "Arial", "numinlets" : 1, "numoutlets" : 0, "fontsize" : 12.0, "patching_rect" : [ 45.0, 60.0, 498.0, 20.0 ] } } ], "lines" : [ { "patchline" : { "source" : [ "obj-58", 0 ], "destination" : [ "obj-12", 0 ], "hidden" : 1, "midpoints" : [ ] } } , { "patchline" : { "source" : [ "obj-48", 0 ], "destination" : [ "obj-12", 0 ], "hidden" : 1, "midpoints" : [ ] } } , { "patchline" : { "source" : [ "obj-46", 0 ], "destination" : [ "obj-12", 0 ], "hidden" : 1, "midpoints" : [ ] } } , { "patchline" : { "source" : [ "obj-44", 0 ], "destination" : [ "obj-12", 0 ], "hidden" : 1, "midpoints" : [ ] } } , { "patchline" : { "source" : [ "obj-5", 0 ], "destination" : [ "obj-12", 0 ], "hidden" : 1, "midpoints" : [ ] } } ] } }