Max patches for displaying energy distribution of ambisonic signals as point clouds in OpenGL
Marlon Schumacher
07.07.24 8041897857c9e03ecdd647588c060884ec09e019
Point_Cloud_GPU_edit.maxpat
@@ -3,14 +3,14 @@
      "fileversion" : 1,
      "appversion" :       {
         "major" : 8,
         "minor" : 5,
         "revision" : 6,
         "minor" : 6,
         "revision" : 3,
         "architecture" : "x64",
         "modernui" : 1
      }
,
      "classnamespace" : "box",
      "rect" : [ 347.0, 116.0, 1243.0, 880.0 ],
      "rect" : [ 34.0, 143.0, 1647.0, 880.0 ],
      "bglocked" : 0,
      "openinpresentation" : 0,
      "default_fontsize" : 12.0,
@@ -40,275 +40,121 @@
      "assistshowspatchername" : 0,
      "boxes" : [          {
            "box" :             {
               "format" : 6,
               "id" : "obj-54",
               "maxclass" : "flonum",
               "numinlets" : 1,
               "numoutlets" : 2,
               "outlettype" : [ "", "bang" ],
               "parameter_enable" : 0,
               "patching_rect" : [ 1152.0, 591.0, 50.0, 22.0 ]
            }
         }
,          {
            "box" :             {
               "id" : "obj-52",
               "maxclass" : "newobj",
               "numinlets" : 2,
               "numoutlets" : 1,
               "outlettype" : [ "" ],
               "patching_rect" : [ 1008.5, 563.205647110939026, 167.0, 22.0 ],
               "text" : "vexpr $f1*$f2 @scalarmode 1"
            }
         }
,          {
            "box" :             {
               "attr" : "point_mode",
               "fontface" : 0,
               "fontname" : "Arial",
               "fontsize" : 13.0,
               "id" : "obj-49",
               "maxclass" : "attrui",
               "numinlets" : 1,
               "numoutlets" : 1,
               "outlettype" : [ "" ],
               "parameter_enable" : 0,
               "patching_rect" : [ 113.5, 751.0, 181.0, 23.0 ]
            }
         }
,          {
            "box" :             {
               "id" : "obj-66",
               "maxclass" : "number",
               "numinlets" : 1,
               "numoutlets" : 2,
               "outlettype" : [ "", "bang" ],
               "parameter_enable" : 0,
               "patching_rect" : [ 514.0, 726.0, 50.0, 22.0 ]
            }
         }
,          {
            "box" :             {
               "id" : "obj-62",
               "maxclass" : "message",
               "numinlets" : 2,
               "numoutlets" : 1,
               "outlettype" : [ "" ],
               "patching_rect" : [ 514.0, 756.0, 58.0, 22.0 ],
               "text" : "plane $1"
            }
         }
,          {
            "box" :             {
               "fontface" : 0,
               "fontname" : "Arial",
               "fontsize" : 12.0,
               "id" : "obj-39",
               "maxclass" : "jit.fpsgui",
               "mode" : 3,
               "numinlets" : 1,
               "numoutlets" : 2,
               "outlettype" : [ "", "" ],
               "patching_rect" : [ 505.740723669528961, 668.0, 80.0, 35.0 ]
            }
         }
,          {
            "box" :             {
               "attr" : "color_mode",
               "fontface" : 0,
               "fontname" : "Arial",
               "fontsize" : 13.0,
               "id" : "obj-1",
               "lock" : 1,
               "maxclass" : "attrui",
               "numinlets" : 1,
               "numoutlets" : 1,
               "outlettype" : [ "" ],
               "parameter_enable" : 0,
               "patching_rect" : [ 221.0, 719.0, 164.0, 23.0 ],
               "text_width" : 83.0
            }
         }
,          {
            "box" :             {
               "id" : "obj-131",
               "linecount" : 3,
               "maxclass" : "comment",
               "numinlets" : 1,
               "numoutlets" : 0,
               "patching_rect" : [ 753.0, 68.0, 150.0, 47.0 ],
               "text" : "distance mapping would create a shape (deform the surface)"
            }
         }
,          {
            "box" :             {
               "id" : "obj-130",
               "maxclass" : "comment",
               "numinlets" : 1,
               "numoutlets" : 0,
               "patching_rect" : [ 753.0, 9.407397329807281, 150.0, 20.0 ],
               "text" : "this would make a surface"
            }
         }
,          {
            "box" :             {
               "id" : "obj-129",
               "maxclass" : "newobj",
               "numinlets" : 1,
               "numoutlets" : 2,
               "outlettype" : [ "jit_matrix", "" ],
               "patching_rect" : [ 705.740723669528961, 805.0, 60.0, 22.0 ],
               "text" : "jit.hsl2rgb"
            }
         }
,          {
            "box" :             {
               "fontname" : "Arial",
               "fontsize" : 13.0,
               "format" : 6,
               "id" : "obj-127",
               "maxclass" : "flonum",
               "numinlets" : 1,
               "numoutlets" : 2,
               "outlettype" : [ "", "bang" ],
               "parameter_enable" : 0,
               "patching_rect" : [ 798.0, 719.0, 54.0, 23.0 ],
               "triscale" : 0.9
            }
         }
,          {
            "box" :             {
               "fontname" : "Arial",
               "fontsize" : 13.0,
               "id" : "obj-32",
               "maxclass" : "newobj",
               "numinlets" : 2,
               "numoutlets" : 2,
               "outlettype" : [ "jit_matrix", "" ],
               "patching_rect" : [ 686.0, 751.0, 131.0, 23.0 ],
               "text" : "jit.op @op * @val 15."
            }
         }
,          {
            "box" :             {
               "id" : "obj-125",
               "maxclass" : "newobj",
               "numinlets" : 1,
               "numoutlets" : 2,
               "outlettype" : [ "", "" ],
               "patching_rect" : [ 1016.0, 609.0, 104.0, 22.0 ],
               "text" : "jit.fill colormatrix 3"
            }
         }
,          {
            "box" :             {
               "id" : "obj-124",
               "maxclass" : "newobj",
               "numinlets" : 1,
               "numoutlets" : 2,
               "outlettype" : [ "", "" ],
               "patching_rect" : [ 907.0, 609.0, 104.0, 22.0 ],
               "text" : "jit.fill colormatrix 2"
            }
         }
,          {
            "box" :             {
               "id" : "obj-123",
               "maxclass" : "newobj",
               "numinlets" : 1,
               "numoutlets" : 2,
               "outlettype" : [ "", "" ],
               "patching_rect" : [ 799.0, 609.0, 104.0, 22.0 ],
               "text" : "jit.fill colormatrix 1"
            }
         }
,          {
            "box" :             {
               "id" : "obj-122",
               "linecount" : 8,
               "maxclass" : "comment",
               "numinlets" : 1,
               "numoutlets" : 0,
               "patching_rect" : [ 603.0, 9.407397329807281, 150.0, 114.0 ],
               "text" : "use 4 planes (coordinates + RMS) then use jit.op with a threshold to set all points to 0 that do not exceed the RMS value. Better would be actually, not not have them in the matrix at all"
            }
         }
,          {
            "box" :             {
               "id" : "obj-118",
               "maxclass" : "jit.pwindow",
               "numinlets" : 1,
               "numoutlets" : 2,
               "onscreen" : 0,
               "outlettype" : [ "jit_matrix", "" ],
               "patching_rect" : [ 856.0, 694.205647110939026, 256.0, 32.0 ],
               "sync" : 1
            }
         }
,          {
            "box" :             {
               "cols" : 512,
               "fontface" : 0,
               "fontname" : "Arial",
               "fontsize" : 12.0,
               "id" : "obj-117",
               "maxclass" : "jit.cellblock",
               "numinlets" : 2,
               "numoutlets" : 4,
               "outlettype" : [ "list", "", "", "" ],
               "patching_rect" : [ 474.814444065093994, 799.828453183174133, 234.0, 79.0 ],
               "rows" : 1
            }
         }
,          {
            "box" :             {
               "id" : "obj-114",
               "maxclass" : "newobj",
               "numinlets" : 1,
               "numoutlets" : 2,
               "outlettype" : [ "", "" ],
               "patching_rect" : [ 686.0, 609.0, 104.0, 22.0 ],
               "text" : "jit.fill colormatrix 0"
            }
         }
,          {
            "box" :             {
               "id" : "obj-113",
               "maxclass" : "newobj",
               "numinlets" : 0,
               "numoutlets" : 1,
               "outlettype" : [ "" ],
               "patching_rect" : [ 502.0, 490.0, 71.0, 22.0 ],
               "text" : "r color-lines"
            }
         }
,          {
            "box" :             {
               "id" : "obj-59",
               "maxclass" : "newobj",
               "numinlets" : 0,
               "numoutlets" : 1,
               "outlettype" : [ "" ],
               "patching_rect" : [ 302.5, 651.063825130462646, 78.0, 22.0 ],
               "text" : "r color-points"
            }
         }
,          {
            "box" :             {
               "id" : "obj-57",
               "maxclass" : "newobj",
               "numinlets" : 1,
               "numoutlets" : 0,
               "patching_rect" : [ 651.0, 704.0, 80.0, 22.0 ],
               "text" : "s color-points"
            }
         }
,          {
            "box" :             {
               "format" : 6,
               "id" : "obj-51",
               "maxclass" : "flonum",
               "numinlets" : 1,
               "numoutlets" : 2,
               "outlettype" : [ "", "bang" ],
               "parameter_enable" : 0,
               "patching_rect" : [ 385.324179232120514, 447.169832110404968, 50.0, 22.0 ]
            }
         }
,          {
            "box" :             {
               "id" : "obj-56",
               "maxclass" : "message",
               "numinlets" : 2,
               "numoutlets" : 1,
               "outlettype" : [ "" ],
               "patching_rect" : [ 385.324179232120514, 476.169832110404968, 101.0, 22.0 ],
               "text" : "color $1 $1 $1 $1"
            }
         }
,          {
            "box" :             {
               "id" : "obj-50",
               "maxclass" : "newobj",
               "numinlets" : 1,
               "numoutlets" : 1,
               "outlettype" : [ "" ],
               "patching_rect" : [ 1480.0, 397.0, 73.0, 22.0 ],
               "text" : "loadmess 0."
            }
         }
,          {
            "box" :             {
               "format" : 6,
               "id" : "obj-45",
               "maxclass" : "flonum",
               "numinlets" : 1,
               "numoutlets" : 2,
               "outlettype" : [ "", "bang" ],
               "parameter_enable" : 0,
               "patching_rect" : [ 1480.0, 436.0, 50.0, 22.0 ]
            }
         }
,          {
            "box" :             {
               "id" : "obj-47",
               "maxclass" : "message",
               "numinlets" : 2,
               "numoutlets" : 1,
               "outlettype" : [ "" ],
               "patching_rect" : [ 1480.0, 472.0, 59.0, 22.0 ],
               "presentation_linecount" : 2,
               "text" : "thresh $1"
            }
         }
,          {
            "box" :             {
               "id" : "obj-39",
               "maxclass" : "newobj",
               "numinlets" : 1,
               "numoutlets" : 2,
               "outlettype" : [ "jit_matrix", "" ],
               "patcher" :                {
                  "fileversion" : 1,
                  "appversion" :                   {
                     "major" : 8,
                     "minor" : 5,
                     "revision" : 6,
                     "minor" : 6,
                     "revision" : 3,
                     "architecture" : "x64",
                     "modernui" : 1
                  }
,
                  "classnamespace" : "box",
                  "rect" : [ 59.0, 119.0, 640.0, 480.0 ],
                  "classnamespace" : "jit.gen",
                  "rect" : [ 59.0, 119.0, 600.0, 450.0 ],
                  "bglocked" : 0,
                  "openinpresentation" : 0,
                  "default_fontsize" : 12.0,
@@ -338,62 +184,132 @@
                  "assistshowspatchername" : 0,
                  "boxes" : [                      {
                        "box" :                         {
                           "comment" : "",
                           "id" : "obj-4",
                           "index" : 1,
                           "maxclass" : "outlet",
                           "numinlets" : 1,
                           "numoutlets" : 0,
                           "patching_rect" : [ 226.0, 235.0, 30.0, 30.0 ]
                           "id" : "obj-22",
                           "maxclass" : "newobj",
                           "numinlets" : 3,
                           "numoutlets" : 1,
                           "outlettype" : [ "" ],
                           "patching_rect" : [ 74.0, 352.0, 151.0, 22.0 ],
                           "text" : "vec 0. 0. 0."
                        }
                     }
,                      {
                        "box" :                         {
                           "attr" : "zlmaxsize",
                           "id" : "obj-10",
                           "maxclass" : "attrui",
                           "id" : "obj-21",
                           "maxclass" : "comment",
                           "numinlets" : 1,
                           "numoutlets" : 0,
                           "patching_rect" : [ 58.0, 115.5, 27.0, 20.0 ],
                           "text" : "dist"
                        }
                     }
,                      {
                        "box" :                         {
                           "id" : "obj-20",
                           "maxclass" : "comment",
                           "numinlets" : 1,
                           "numoutlets" : 0,
                           "patching_rect" : [ 229.0, 115.5, 25.0, 20.0 ],
                           "text" : "ele"
                        }
                     }
,                      {
                        "box" :                         {
                           "id" : "obj-19",
                           "maxclass" : "comment",
                           "numinlets" : 1,
                           "numoutlets" : 0,
                           "patching_rect" : [ 146.0, 122.0, 24.0, 20.0 ],
                           "text" : "azi"
                        }
                     }
,                      {
                        "box" :                         {
                           "id" : "obj-17",
                           "maxclass" : "newobj",
                           "numinlets" : 2,
                           "numoutlets" : 2,
                           "outlettype" : [ "", "" ],
                           "patching_rect" : [ 74.0, 231.0, 151.0, 22.0 ],
                           "text" : "poltocar"
                        }
                     }
,                      {
                        "box" :                         {
                           "id" : "obj-16",
                           "maxclass" : "newobj",
                           "numinlets" : 0,
                           "numoutlets" : 1,
                           "outlettype" : [ "" ],
                           "patching_rect" : [ 341.0, 136.0, 69.0, 22.0 ],
                           "text" : "param amp"
                        }
                     }
,                      {
                        "box" :                         {
                           "fontname" : "Arial",
                           "fontsize" : 12.0,
                           "id" : "obj-14",
                           "maxclass" : "newobj",
                           "numinlets" : 1,
                           "numoutlets" : 1,
                           "outlettype" : [ "" ],
                           "parameter_enable" : 0,
                           "patching_rect" : [ 310.0, 206.715393000000006, 150.0, 22.0 ]
                           "patching_rect" : [ 74.0, 182.0, 42.0, 22.0 ],
                           "text" : "* amp"
                        }
                     }
,                      {
                        "box" :                         {
                           "id" : "obj-15",
                           "maxclass" : "newobj",
                           "numinlets" : 1,
                           "numoutlets" : 1,
                           "outlettype" : [ "" ],
                           "patching_rect" : [ 74.0, 143.0, 41.0, 22.0 ],
                           "text" : "swiz z"
                        }
                     }
,                      {
                        "box" :                         {
                           "id" : "obj-9",
                           "maxclass" : "newobj",
                           "numinlets" : 1,
                           "numoutlets" : 1,
                           "outlettype" : [ "" ],
                           "patching_rect" : [ 206.0, 143.0, 41.0, 22.0 ],
                           "text" : "swiz y"
                        }
                     }
,                      {
                        "box" :                         {
                           "id" : "obj-8",
                           "maxclass" : "message",
                           "numinlets" : 2,
                           "maxclass" : "newobj",
                           "numinlets" : 1,
                           "numoutlets" : 1,
                           "outlettype" : [ "" ],
                           "patching_rect" : [ 321.0, 309.0, 50.0, 22.0 ],
                           "text" : "426"
                           "patching_rect" : [ 129.0, 143.0, 41.0, 22.0 ],
                           "text" : "swiz x"
                        }
                     }
,                      {
                        "box" :                         {
                           "id" : "obj-6",
                           "id" : "obj-7",
                           "maxclass" : "newobj",
                           "numinlets" : 2,
                           "numoutlets" : 2,
                           "outlettype" : [ "", "" ],
                           "patching_rect" : [ 310.0, 260.0, 135.0, 22.0 ],
                           "text" : "zl.len @zlmaxsize 1024"
                        }
                     }
,                      {
                        "box" :                         {
                           "id" : "obj-5",
                           "maxclass" : "newobj",
                           "numinlets" : 2,
                           "numoutlets" : 2,
                           "outlettype" : [ "", "" ],
                           "patching_rect" : [ 226.0, 128.0, 162.0, 22.0 ],
                           "text" : "route /EnergyVisualizer/RMS"
                           "patching_rect" : [ 74.0, 296.0, 74.0, 22.0 ],
                           "text" : "poltocar"
                        }
                     }
@@ -401,64 +317,972 @@
                        "box" :                         {
                           "id" : "obj-1",
                           "maxclass" : "newobj",
                           "numinlets" : 1,
                           "numinlets" : 0,
                           "numoutlets" : 1,
                           "outlettype" : [ "" ],
                           "patching_rect" : [ 226.0, 91.0, 97.0, 22.0 ],
                           "text" : "udpreceive 9010"
                           "patching_rect" : [ 129.0, 16.0, 28.0, 22.0 ],
                           "text" : "in 1"
                        }
                     }
,                      {
                        "box" :                         {
                           "id" : "obj-4",
                           "maxclass" : "newobj",
                           "numinlets" : 1,
                           "numoutlets" : 0,
                           "patching_rect" : [ 74.0, 405.0, 35.0, 22.0 ],
                           "text" : "out 1"
                        }
                     }
 ],
                  "lines" : [                      {
                        "patchline" :                         {
                           "destination" : [ "obj-5", 0 ],
                           "destination" : [ "obj-15", 0 ],
                           "order" : 2,
                           "source" : [ "obj-1", 0 ]
                        }
                     }
,                      {
                        "patchline" :                         {
                           "destination" : [ "obj-6", 0 ],
                           "source" : [ "obj-10", 0 ]
                           "destination" : [ "obj-8", 0 ],
                           "order" : 1,
                           "source" : [ "obj-1", 0 ]
                        }
                     }
,                      {
                        "patchline" :                         {
                           "destination" : [ "obj-9", 0 ],
                           "order" : 0,
                           "source" : [ "obj-1", 0 ]
                        }
                     }
,                      {
                        "patchline" :                         {
                           "destination" : [ "obj-17", 0 ],
                           "source" : [ "obj-14", 0 ]
                        }
                     }
,                      {
                        "patchline" :                         {
                           "destination" : [ "obj-14", 0 ],
                           "source" : [ "obj-15", 0 ]
                        }
                     }
,                      {
                        "patchline" :                         {
                           "destination" : [ "obj-22", 2 ],
                           "source" : [ "obj-17", 1 ]
                        }
                     }
,                      {
                        "patchline" :                         {
                           "destination" : [ "obj-7", 0 ],
                           "source" : [ "obj-17", 0 ]
                        }
                     }
,                      {
                        "patchline" :                         {
                           "destination" : [ "obj-4", 0 ],
                           "order" : 1,
                           "source" : [ "obj-5", 0 ]
                           "source" : [ "obj-22", 0 ]
                        }
                     }
,                      {
                        "patchline" :                         {
                           "destination" : [ "obj-6", 0 ],
                           "order" : 0,
                           "source" : [ "obj-5", 0 ]
                           "destination" : [ "obj-22", 1 ],
                           "source" : [ "obj-7", 1 ]
                        }
                     }
,                      {
                        "patchline" :                         {
                           "destination" : [ "obj-8", 1 ],
                           "source" : [ "obj-6", 0 ]
                           "destination" : [ "obj-22", 0 ],
                           "source" : [ "obj-7", 0 ]
                        }
                     }
,                      {
                        "patchline" :                         {
                           "destination" : [ "obj-7", 1 ],
                           "source" : [ "obj-8", 0 ]
                        }
                     }
,                      {
                        "patchline" :                         {
                           "destination" : [ "obj-17", 1 ],
                           "source" : [ "obj-9", 0 ]
                        }
                     }
 ]
               }
,
               "patching_rect" : [ 1008.5, 528.576018452644348, 119.0, 22.0 ],
               "saved_object_attributes" :                {
               "patching_rect" : [ 1424.0, 677.319144606590271, 41.0, 22.0 ],
               "text" : "jit.gen"
            }
         }
,          {
            "box" :             {
               "id" : "obj-20",
               "maxclass" : "newobj",
               "numinlets" : 2,
               "numoutlets" : 1,
               "outlettype" : [ "" ],
               "patching_rect" : [ 1440.0, 244.0, 79.0, 22.0 ],
               "text" : "vexpr $f1*$f2"
            }
         }
,          {
            "box" :             {
               "id" : "obj-7",
               "maxclass" : "newobj",
               "numinlets" : 1,
               "numoutlets" : 1,
               "outlettype" : [ "" ],
               "patching_rect" : [ 507.446804881095886, 309.0, 73.0, 22.0 ],
               "text" : "loadmess 1."
            }
         }
,          {
            "box" :             {
               "id" : "obj-75",
               "maxclass" : "newobj",
               "numinlets" : 2,
               "numoutlets" : 2,
               "outlettype" : [ "jit_gl_texture", "" ],
               "patching_rect" : [ 223.404253721237183, 791.48935604095459, 145.0, 22.0 ],
               "text" : "jit.gl.slab @file tp.slide.jxs"
            }
         }
,          {
            "box" :             {
               "id" : "obj-74",
               "maxclass" : "number",
               "numinlets" : 1,
               "numoutlets" : 2,
               "outlettype" : [ "", "bang" ],
               "parameter_enable" : 0,
               "patching_rect" : [ 1370.0, 61.70212721824646, 50.0, 22.0 ]
            }
         }
,          {
            "box" :             {
               "format" : 6,
               "id" : "obj-72",
               "maxclass" : "flonum",
               "numinlets" : 1,
               "numoutlets" : 2,
               "outlettype" : [ "", "bang" ],
               "parameter_enable" : 0,
               "patching_rect" : [ 377.5, 371.276593089103699, 50.0, 22.0 ]
            }
         }
,          {
            "box" :             {
               "id" : "obj-73",
               "maxclass" : "message",
               "numinlets" : 2,
               "numoutlets" : 1,
               "outlettype" : [ "" ],
               "patching_rect" : [ 377.5, 409.574465155601501, 79.0, 22.0 ],
               "text" : "point_size $1"
            }
         }
,          {
            "box" :             {
               "id" : "obj-70",
               "maxclass" : "newobj",
               "numinlets" : 1,
               "numoutlets" : 0,
               "patching_rect" : [ 686.021535634994507, 819.148930311203003, 73.0, 22.0 ],
               "text" : "s color-lines"
            }
         }
,          {
            "box" :             {
               "id" : "obj-69",
               "maxclass" : "newobj",
               "numinlets" : 0,
               "numoutlets" : 1,
               "outlettype" : [ "" ],
               "patching_rect" : [ 146.808509588241577, 417.382598280906677, 39.0, 22.0 ],
               "text" : "r lobe"
            }
         }
,          {
            "box" :             {
               "id" : "obj-68",
               "maxclass" : "newobj",
               "numinlets" : 1,
               "numoutlets" : 0,
               "patching_rect" : [ 1338.0, 677.319144606590271, 41.0, 22.0 ],
               "text" : "s lobe"
            }
         }
,          {
            "box" :             {
               "id" : "obj-64",
               "maxclass" : "newobj",
               "numinlets" : 0,
               "numoutlets" : 1,
               "outlettype" : [ "" ],
               "patching_rect" : [ 1016.0, 521.5691938996315, 61.0, 22.0 ],
               "text" : "r rms-vals"
            }
         }
,          {
            "box" :             {
               "id" : "obj-63",
               "maxclass" : "newobj",
               "numinlets" : 0,
               "numoutlets" : 1,
               "outlettype" : [ "" ],
               "patching_rect" : [ 1370.0, 188.172051310539246, 61.0, 22.0 ],
               "text" : "r rms-vals"
            }
         }
,          {
            "box" :             {
               "id" : "obj-61",
               "maxclass" : "newobj",
               "numinlets" : 1,
               "numoutlets" : 0,
               "patching_rect" : [ 1370.0, 139.361701130867004, 63.0, 22.0 ],
               "text" : "s rms-vals"
            }
         }
,          {
            "box" :             {
               "format" : 6,
               "id" : "obj-60",
               "maxclass" : "flonum",
               "numinlets" : 1,
               "numoutlets" : 2,
               "outlettype" : [ "", "bang" ],
               "parameter_enable" : 0,
               "patching_rect" : [ 1214.893608331680298, 587.234038352966309, 50.0, 22.0 ]
            }
         }
,          {
            "box" :             {
               "id" : "obj-58",
               "maxclass" : "newobj",
               "numinlets" : 2,
               "numoutlets" : 1,
               "outlettype" : [ "" ],
               "patching_rect" : [ 1015.957439541816711, 605.319144606590271, 166.0, 22.0 ],
               "text" : "vexpr $f2-$f1 @scalarmode 1"
            }
         }
,          {
            "box" :             {
               "id" : "obj-55",
               "maxclass" : "newobj",
               "numinlets" : 1,
               "numoutlets" : 2,
               "outlettype" : [ "bang", "" ],
               "patching_rect" : [ 1015.957439541816711, 664.0, 29.5, 22.0 ],
               "text" : "t b l"
            }
         }
,          {
            "box" :             {
               "id" : "obj-53",
               "linecount" : 3,
               "maxclass" : "comment",
               "numinlets" : 1,
               "numoutlets" : 0,
               "patching_rect" : [ 676.5, 41.0, 153.0, 47.0 ],
               "text" : "NB: We could also make a bump map for a sphere out of this"
            }
         }
,          {
            "box" :             {
               "id" : "obj-26",
               "maxclass" : "newobj",
               "numinlets" : 0,
               "numoutlets" : 1,
               "outlettype" : [ "" ],
               "patching_rect" : [ 1390.566102385520935, 417.021273612976074, 39.0, 22.0 ],
               "text" : "r amp"
            }
         }
,          {
            "box" :             {
               "id" : "obj-44",
               "maxclass" : "newobj",
               "numinlets" : 1,
               "numoutlets" : 2,
               "outlettype" : [ "", "" ],
               "patching_rect" : [ 120.814444065093994, 114.0, 69.0, 22.0 ],
               "text" : "jit.gl.handle"
            }
         }
,          {
            "box" :             {
               "attr" : "slide_down",
               "attrfilter" : [ "slide_down" ],
               "fontface" : 0,
               "fontname" : "Arial",
               "fontsize" : 13.0,
               "id" : "obj-42",
               "maxclass" : "attrui",
               "numinlets" : 1,
               "numoutlets" : 1,
               "outlettype" : [ "" ],
               "parameter_enable" : 0,
               "patching_rect" : [ 1474.468074560165405, 543.617017388343811, 150.0, 23.0 ]
            }
         }
,          {
            "box" :             {
               "attr" : "slide_up",
               "attrfilter" : [ "slide_up" ],
               "fontface" : 0,
               "fontname" : "Arial",
               "fontsize" : 13.0,
               "id" : "obj-43",
               "maxclass" : "attrui",
               "numinlets" : 1,
               "numoutlets" : 1,
               "outlettype" : [ "" ],
               "parameter_enable" : 0,
               "patching_rect" : [ 1474.468074560165405, 509.574464440345764, 150.0, 23.0 ]
            }
         }
,          {
            "box" :             {
               "id" : "obj-40",
               "maxclass" : "newobj",
               "numinlets" : 1,
               "numoutlets" : 2,
               "outlettype" : [ "jit_matrix", "" ],
               "patching_rect" : [ 1338.0, 605.319144606590271, 201.0, 22.0 ],
               "text" : "jit.slide @slide_up 0 @slide_down 5"
            }
         }
,          {
            "box" :             {
               "id" : "obj-38",
               "maxclass" : "newobj",
               "numinlets" : 1,
               "numoutlets" : 2,
               "outlettype" : [ "bang", "" ],
               "patching_rect" : [ 1348.5, 507.54719340801239, 29.5, 22.0 ],
               "text" : "t b l"
            }
         }
,          {
            "box" :             {
               "format" : 6,
               "id" : "obj-37",
               "maxclass" : "flonum",
               "numinlets" : 1,
               "numoutlets" : 2,
               "outlettype" : [ "", "bang" ],
               "parameter_enable" : 0,
               "patching_rect" : [ 1390.566102385520935, 447.169832110404968, 50.0, 22.0 ]
            }
         }
,          {
            "box" :             {
               "id" : "obj-34",
               "maxclass" : "message",
               "numinlets" : 2,
               "numoutlets" : 1,
               "outlettype" : [ "" ],
               "patching_rect" : [ 1390.566102385520935, 482.97871994972229, 49.0, 22.0 ],
               "text" : "amp $1"
            }
         }
,          {
            "box" :             {
               "id" : "obj-24",
               "maxclass" : "newobj",
               "numinlets" : 1,
               "numoutlets" : 2,
               "outlettype" : [ "", "" ],
               "patching_rect" : [ 1370.0, 336.0, 94.0, 22.0 ],
               "text" : "jit.fill mymatrix 2"
            }
         }
,          {
            "box" :             {
               "id" : "obj-25",
               "maxclass" : "newobj",
               "numinlets" : 1,
               "numoutlets" : 2,
               "outlettype" : [ "", "" ],
               "patching_rect" : [ 1272.0, 336.0, 94.0, 22.0 ],
               "text" : "jit.fill mymatrix 1"
            }
         }
,          {
            "box" :             {
               "id" : "obj-27",
               "maxclass" : "newobj",
               "numinlets" : 1,
               "numoutlets" : 2,
               "outlettype" : [ "jit_matrix", "" ],
               "patching_rect" : [ 1173.0, 438.185178279876709, 178.0, 22.0 ],
               "text" : "jit.matrix mymatrix 3 float32 512"
            }
         }
,          {
            "box" :             {
               "id" : "obj-28",
               "maxclass" : "newobj",
               "numinlets" : 1,
               "numoutlets" : 2,
               "outlettype" : [ "", "" ],
               "patching_rect" : [ 1169.0, 336.0, 94.0, 22.0 ],
               "text" : "jit.fill mymatrix 0"
            }
         }
,          {
            "box" :             {
               "id" : "obj-17",
               "maxclass" : "newobj",
               "numinlets" : 1,
               "numoutlets" : 2,
               "outlettype" : [ "jit_matrix", "" ],
               "patcher" :                {
                  "fileversion" : 1,
                  "appversion" :                   {
                     "major" : 8,
                     "minor" : 6,
                     "revision" : 3,
                     "architecture" : "x64",
                     "modernui" : 1
                  }
,
                  "classnamespace" : "jit.gen",
                  "rect" : [ 59.0, 119.0, 545.0, 474.0 ],
                  "bglocked" : 0,
                  "openinpresentation" : 0,
                  "default_fontsize" : 12.0,
                  "default_fontface" : 0,
                  "default_fontname" : "Arial",
                  "gridonopen" : 1,
                  "gridsize" : [ 15.0, 15.0 ],
                  "gridsnaponopen" : 1,
                  "objectsnaponopen" : 1,
                  "statusbarvisible" : 2,
                  "toolbarvisible" : 1,
                  "lefttoolbarpinned" : 0,
                  "toptoolbarpinned" : 0,
                  "righttoolbarpinned" : 0,
                  "bottomtoolbarpinned" : 0,
                  "toolbars_unpinned_last_save" : 0,
                  "tallnewobj" : 0,
                  "boxanimatetime" : 200,
                  "enablehscroll" : 1,
                  "enablevscroll" : 1,
                  "devicewidth" : 0.0,
                  "description" : "",
                  "digest" : "",
                  "globalpatchername" : "",
                  "tags" : ""
                  "tags" : "",
                  "style" : "",
                  "subpatcher_template" : "",
                  "assistshowspatchername" : 0,
                  "boxes" : [                      {
                        "box" :                         {
                           "fontname" : "Arial",
                           "fontsize" : 12.0,
                           "id" : "obj-5",
                           "maxclass" : "newobj",
                           "numinlets" : 2,
                           "numoutlets" : 1,
                           "outlettype" : [ "" ],
                           "patching_rect" : [ 74.0, 249.0, 29.5, 22.0 ],
                           "text" : "*"
                        }
                     }
,                      {
                        "box" :                         {
                           "fontname" : "Arial",
                           "fontsize" : 12.0,
                           "id" : "obj-3",
                           "maxclass" : "newobj",
                           "numinlets" : 1,
                           "numoutlets" : 1,
                           "outlettype" : [ "" ],
                           "patching_rect" : [ 96.0, 220.0, 52.0, 22.0 ],
                           "text" : "> thresh"
                        }
                     }
,                      {
                        "box" :                         {
                           "id" : "obj-2",
                           "maxclass" : "newobj",
                           "numinlets" : 0,
                           "numoutlets" : 1,
                           "outlettype" : [ "" ],
                           "patching_rect" : [ 369.0, 213.0, 79.0, 22.0 ],
                           "text" : "param thresh"
                        }
                     }
,                      {
                        "box" :                         {
                           "id" : "obj-22",
                           "maxclass" : "newobj",
                           "numinlets" : 3,
                           "numoutlets" : 1,
                           "outlettype" : [ "" ],
                           "patching_rect" : [ 74.0, 382.0, 151.0, 22.0 ],
                           "text" : "vec 0. 0. 0."
                        }
                     }
,                      {
                        "box" :                         {
                           "id" : "obj-21",
                           "maxclass" : "comment",
                           "numinlets" : 1,
                           "numoutlets" : 0,
                           "patching_rect" : [ 58.0, 115.5, 27.0, 20.0 ],
                           "text" : "dist"
                        }
                     }
,                      {
                        "box" :                         {
                           "id" : "obj-20",
                           "maxclass" : "comment",
                           "numinlets" : 1,
                           "numoutlets" : 0,
                           "patching_rect" : [ 229.0, 115.5, 25.0, 20.0 ],
                           "text" : "ele"
                        }
                     }
,                      {
                        "box" :                         {
                           "id" : "obj-19",
                           "maxclass" : "comment",
                           "numinlets" : 1,
                           "numoutlets" : 0,
                           "patching_rect" : [ 146.0, 122.0, 24.0, 20.0 ],
                           "text" : "azi"
                        }
                     }
,                      {
                        "box" :                         {
                           "id" : "obj-17",
                           "maxclass" : "newobj",
                           "numinlets" : 2,
                           "numoutlets" : 2,
                           "outlettype" : [ "", "" ],
                           "patching_rect" : [ 74.0, 285.0, 151.0, 22.0 ],
                           "text" : "poltocar"
                        }
                     }
,                      {
                        "box" :                         {
                           "id" : "obj-16",
                           "maxclass" : "newobj",
                           "numinlets" : 0,
                           "numoutlets" : 1,
                           "outlettype" : [ "" ],
                           "patching_rect" : [ 341.0, 136.0, 69.0, 22.0 ],
                           "text" : "param amp"
                        }
                     }
,                      {
                        "box" :                         {
                           "fontname" : "Arial",
                           "fontsize" : 12.0,
                           "id" : "obj-14",
                           "maxclass" : "newobj",
                           "numinlets" : 1,
                           "numoutlets" : 1,
                           "outlettype" : [ "" ],
                           "patching_rect" : [ 74.0, 182.0, 42.0, 22.0 ],
                           "text" : "* amp"
                        }
                     }
,                      {
                        "box" :                         {
                           "id" : "obj-15",
                           "maxclass" : "newobj",
                           "numinlets" : 1,
                           "numoutlets" : 1,
                           "outlettype" : [ "" ],
                           "patching_rect" : [ 74.0, 143.0, 41.0, 22.0 ],
                           "text" : "swiz z"
                        }
                     }
,                      {
                        "box" :                         {
                           "id" : "obj-9",
                           "maxclass" : "newobj",
                           "numinlets" : 1,
                           "numoutlets" : 1,
                           "outlettype" : [ "" ],
                           "patching_rect" : [ 206.0, 143.0, 41.0, 22.0 ],
                           "text" : "swiz y"
                        }
                     }
,                      {
                        "box" :                         {
                           "id" : "obj-8",
                           "maxclass" : "newobj",
                           "numinlets" : 1,
                           "numoutlets" : 1,
                           "outlettype" : [ "" ],
                           "patching_rect" : [ 129.0, 143.0, 41.0, 22.0 ],
                           "text" : "swiz x"
                        }
                     }
,                      {
                        "box" :                         {
                           "id" : "obj-7",
                           "maxclass" : "newobj",
                           "numinlets" : 2,
                           "numoutlets" : 2,
                           "outlettype" : [ "", "" ],
                           "patching_rect" : [ 74.0, 333.0, 74.0, 22.0 ],
                           "text" : "poltocar"
                        }
                     }
,                      {
                        "box" :                         {
                           "id" : "obj-1",
                           "maxclass" : "newobj",
                           "numinlets" : 0,
                           "numoutlets" : 1,
                           "outlettype" : [ "" ],
                           "patching_rect" : [ 129.0, 16.0, 28.0, 22.0 ],
                           "text" : "in 1"
                        }
                     }
,                      {
                        "box" :                         {
                           "id" : "obj-4",
                           "maxclass" : "newobj",
                           "numinlets" : 1,
                           "numoutlets" : 0,
                           "patching_rect" : [ 74.0, 435.0, 35.0, 22.0 ],
                           "text" : "out 1"
                        }
                     }
 ],
                  "lines" : [                      {
                        "patchline" :                         {
                           "destination" : [ "obj-15", 0 ],
                           "order" : 2,
                           "source" : [ "obj-1", 0 ]
                        }
                     }
,                      {
                        "patchline" :                         {
                           "destination" : [ "obj-8", 0 ],
                           "order" : 1,
                           "source" : [ "obj-1", 0 ]
                        }
                     }
,                      {
                        "patchline" :                         {
                           "destination" : [ "obj-9", 0 ],
                           "order" : 0,
                           "source" : [ "obj-1", 0 ]
                        }
                     }
,                      {
                        "patchline" :                         {
                           "destination" : [ "obj-3", 0 ],
                           "order" : 0,
                           "source" : [ "obj-14", 0 ]
                        }
                     }
,                      {
                        "patchline" :                         {
                           "destination" : [ "obj-5", 0 ],
                           "order" : 1,
                           "source" : [ "obj-14", 0 ]
                        }
                     }
,                      {
                        "patchline" :                         {
                           "destination" : [ "obj-14", 0 ],
                           "source" : [ "obj-15", 0 ]
                        }
                     }
,                      {
                        "patchline" :                         {
                           "destination" : [ "obj-22", 2 ],
                           "source" : [ "obj-17", 1 ]
                        }
                     }
,                      {
                        "patchline" :                         {
                           "destination" : [ "obj-7", 0 ],
                           "source" : [ "obj-17", 0 ]
                        }
                     }
,                      {
                        "patchline" :                         {
                           "destination" : [ "obj-4", 0 ],
                           "source" : [ "obj-22", 0 ]
                        }
                     }
,                      {
                        "patchline" :                         {
                           "destination" : [ "obj-5", 1 ],
                           "source" : [ "obj-3", 0 ]
                        }
                     }
,                      {
                        "patchline" :                         {
                           "destination" : [ "obj-17", 0 ],
                           "source" : [ "obj-5", 0 ]
                        }
                     }
,                      {
                        "patchline" :                         {
                           "destination" : [ "obj-22", 1 ],
                           "source" : [ "obj-7", 1 ]
                        }
                     }
,                      {
                        "patchline" :                         {
                           "destination" : [ "obj-22", 0 ],
                           "source" : [ "obj-7", 0 ]
                        }
                     }
,                      {
                        "patchline" :                         {
                           "destination" : [ "obj-7", 1 ],
                           "source" : [ "obj-8", 0 ]
                        }
                     }
,                      {
                        "patchline" :                         {
                           "destination" : [ "obj-17", 1 ],
                           "source" : [ "obj-9", 0 ]
                        }
                     }
 ]
               }
,
               "text" : "p receive rms values"
               "patching_rect" : [ 1338.0, 568.319144606590271, 41.0, 22.0 ],
               "text" : "jit.gen"
            }
         }
,          {
            "box" :             {
               "id" : "obj-9",
               "maxclass" : "newobj",
               "numinlets" : 1,
               "numoutlets" : 2,
               "outlettype" : [ "bang", "float" ],
               "patching_rect" : [ 787.096808910369873, 729.03229022026062, 29.5, 22.0 ],
               "text" : "t b f"
            }
         }
,          {
            "box" :             {
               "format" : 6,
               "id" : "obj-54",
               "maxclass" : "flonum",
               "numinlets" : 1,
               "numoutlets" : 2,
               "outlettype" : [ "", "bang" ],
               "parameter_enable" : 0,
               "patching_rect" : [ 1164.0, 529.0, 50.0, 22.0 ]
            }
         }
,          {
            "box" :             {
               "id" : "obj-52",
               "maxclass" : "newobj",
               "numinlets" : 2,
               "numoutlets" : 1,
               "outlettype" : [ "" ],
               "patching_rect" : [ 1016.0, 558.576018452644348, 167.0, 22.0 ],
               "text" : "vexpr $f1*$f2 @scalarmode 1"
            }
         }
,          {
            "box" :             {
               "attr" : "point_mode",
               "fontface" : 0,
               "fontname" : "Arial",
               "fontsize" : 13.0,
               "id" : "obj-49",
               "maxclass" : "attrui",
               "numinlets" : 1,
               "numoutlets" : 1,
               "outlettype" : [ "" ],
               "parameter_enable" : 0,
               "patching_rect" : [ 158.510637164115906, 619.712761521339417, 233.333343625068665, 23.0 ]
            }
         }
,          {
            "box" :             {
               "attr" : "color_mode",
               "fontface" : 0,
               "fontname" : "Arial",
               "fontsize" : 13.0,
               "id" : "obj-1",
               "lock" : 1,
               "maxclass" : "attrui",
               "numinlets" : 1,
               "numoutlets" : 1,
               "outlettype" : [ "" ],
               "parameter_enable" : 0,
               "patching_rect" : [ 113.5, 587.705647110939026, 164.0, 23.0 ],
               "text_width" : 83.0
            }
         }
,          {
            "box" :             {
               "fontname" : "Arial",
               "fontsize" : 13.0,
               "format" : 6,
               "id" : "obj-127",
               "maxclass" : "flonum",
               "numinlets" : 1,
               "numoutlets" : 2,
               "outlettype" : [ "", "bang" ],
               "parameter_enable" : 0,
               "patching_rect" : [ 787.096808910369873, 685.297872066497803, 54.0, 23.0 ],
               "triscale" : 0.9
            }
         }
,          {
            "box" :             {
               "fontname" : "Arial",
               "fontsize" : 13.0,
               "id" : "obj-32",
               "maxclass" : "newobj",
               "numinlets" : 2,
               "numoutlets" : 2,
               "outlettype" : [ "jit_matrix", "" ],
               "patching_rect" : [ 686.021535634994507, 763.440893888473511, 131.0, 23.0 ],
               "text" : "jit.op @op * @val 0.2"
            }
         }
,          {
            "box" :             {
               "id" : "obj-125",
               "maxclass" : "newobj",
               "numinlets" : 1,
               "numoutlets" : 2,
               "outlettype" : [ "", "" ],
               "patching_rect" : [ 1015.957439541816711, 636.0, 104.0, 22.0 ],
               "text" : "jit.fill colormatrix 3"
            }
         }
,          {
            "box" :             {
               "id" : "obj-124",
               "maxclass" : "newobj",
               "numinlets" : 1,
               "numoutlets" : 2,
               "outlettype" : [ "", "" ],
               "patching_rect" : [ 906.382972240447998, 609.0, 104.0, 22.0 ],
               "text" : "jit.fill colormatrix 2"
            }
         }
,          {
            "box" :             {
               "id" : "obj-123",
               "maxclass" : "newobj",
               "numinlets" : 1,
               "numoutlets" : 2,
               "outlettype" : [ "", "" ],
               "patching_rect" : [ 799.0, 609.0, 104.0, 22.0 ],
               "text" : "jit.fill colormatrix 1"
            }
         }
,          {
            "box" :             {
               "id" : "obj-114",
               "maxclass" : "newobj",
               "numinlets" : 1,
               "numoutlets" : 2,
               "outlettype" : [ "", "" ],
               "patching_rect" : [ 686.0, 609.0, 104.0, 22.0 ],
               "text" : "jit.fill colormatrix 0"
            }
         }
@@ -469,7 +1293,7 @@
               "numinlets" : 1,
               "numoutlets" : 2,
               "outlettype" : [ "jit_matrix", "" ],
               "patching_rect" : [ 686.0, 651.828453183174133, 188.0, 22.0 ],
               "patching_rect" : [ 686.0, 651.063825130462646, 188.0, 22.0 ],
               "text" : "jit.matrix colormatrix 4 float32 512"
            }
@@ -483,7 +1307,7 @@
               "numoutlets" : 2,
               "outlettype" : [ "", "bang" ],
               "parameter_enable" : 0,
               "patching_rect" : [ 474.814444065093994, 558.576018452644348, 50.0, 22.0 ]
               "patching_rect" : [ 474.814444065093994, 550.0, 50.0, 22.0 ]
            }
         }
@@ -526,74 +1350,13 @@
         }
,          {
            "box" :             {
               "id" : "obj-103",
               "maxclass" : "button",
               "numinlets" : 1,
               "numoutlets" : 1,
               "outlettype" : [ "bang" ],
               "parameter_enable" : 0,
               "patching_rect" : [ 1251.0, 308.0, 24.0, 24.0 ]
            }
         }
,          {
            "box" :             {
               "id" : "obj-102",
               "maxclass" : "button",
               "numinlets" : 1,
               "numoutlets" : 1,
               "outlettype" : [ "bang" ],
               "parameter_enable" : 0,
               "patching_rect" : [ 1194.0, 208.0, 24.0, 24.0 ]
            }
         }
,          {
            "box" :             {
               "id" : "obj-100",
               "maxclass" : "button",
               "numinlets" : 1,
               "numoutlets" : 1,
               "outlettype" : [ "bang" ],
               "parameter_enable" : 0,
               "patching_rect" : [ 1228.0, 422.0, 24.0, 24.0 ]
            }
         }
,          {
            "box" :             {
               "id" : "obj-96",
               "maxclass" : "newobj",
               "numinlets" : 1,
               "numoutlets" : 1,
               "outlettype" : [ "" ],
               "patching_rect" : [ 1229.0, 343.0, 25.0, 22.0 ],
               "text" : "iter"
            }
         }
,          {
            "box" :             {
               "id" : "obj-95",
               "linecount" : 2,
               "maxclass" : "newobj",
               "numinlets" : 2,
               "numoutlets" : 2,
               "outlettype" : [ "jit_matrix", "" ],
               "patching_rect" : [ 1141.0, 620.828453183174133, 274.0, 35.0 ],
               "text" : "jit.expr @expr (sin(norm[0]PI2.)norm[1]512.)+256 (cos(norm[0]PI2.)norm[1]512.)+256"
            }
         }
,          {
            "box" :             {
               "id" : "obj-94",
               "maxclass" : "newobj",
               "numinlets" : 2,
               "numoutlets" : 2,
               "outlettype" : [ "float", "float" ],
               "patching_rect" : [ 1016.0, 261.259250104427338, 51.0, 22.0 ],
               "text" : "poltocar"
               "patching_rect" : [ 1450.0, 138.361701130867004, 24.0, 24.0 ]
            }
         }
@@ -604,36 +1367,8 @@
               "numinlets" : 2,
               "numoutlets" : 1,
               "outlettype" : [ "" ],
               "patching_rect" : [ 1141.0, 279.0, 79.0, 22.0 ],
               "patching_rect" : [ 1370.0, 285.0, 79.0, 22.0 ],
               "text" : "vexpr $f1*$f2"
            }
         }
,          {
            "box" :             {
               "id" : "obj-90",
               "maxclass" : "newobj",
               "numinlets" : 0,
               "numoutlets" : 0,
               "patching_rect" : [ 1196.0, 539.0, 79.0, 22.0 ],
               "text" : "xyz2AzDistEl"
            }
         }
,          {
            "box" :             {
               "id" : "obj-89",
               "linecount" : 2,
               "maxclass" : "newobj",
               "numinlets" : 1,
               "numoutlets" : 4,
               "outlettype" : [ "source", "speakers", "", "" ],
               "patching_rect" : [ 1187.0, 488.0, 88.0, 35.0 ],
               "saved_object_attributes" :                {
                  "parameter_enable" : 0
               }
,
               "text" : "spat.converter @format xyz"
            }
         }
@@ -645,7 +1380,7 @@
               "numoutlets" : 1,
               "outlettype" : [ "bang" ],
               "parameter_enable" : 0,
               "patching_rect" : [ 978.0, 165.0, 25.0, 25.0 ]
               "patching_rect" : [ 1173.0, 161.702126502990723, 25.0, 25.0 ]
            }
         }
@@ -660,14 +1395,14 @@
                  "fileversion" : 1,
                  "appversion" :                   {
                     "major" : 8,
                     "minor" : 5,
                     "revision" : 6,
                     "minor" : 6,
                     "revision" : 3,
                     "architecture" : "x64",
                     "modernui" : 1
                  }
,
                  "classnamespace" : "box",
                  "rect" : [ 84.0, 144.0, 532.0, 388.0 ],
                  "rect" : [ 422.0, 249.0, 532.0, 388.0 ],
                  "bglocked" : 0,
                  "openinpresentation" : 0,
                  "default_fontsize" : 12.0,
@@ -931,7 +1666,7 @@
 ]
               }
,
               "patching_rect" : [ 978.0, 204.407397329807281, 190.0, 22.0 ],
               "patching_rect" : [ 1173.0, 220.212764382362366, 190.0, 22.0 ],
               "saved_object_attributes" :                {
                  "description" : "",
                  "digest" : "",
@@ -940,322 +1675,6 @@
               }
,
               "text" : "p polar"
            }
         }
,          {
            "box" :             {
               "id" : "obj-84",
               "maxclass" : "newobj",
               "numinlets" : 1,
               "numoutlets" : 3,
               "outlettype" : [ "", "", "" ],
               "patcher" :                {
                  "fileversion" : 1,
                  "appversion" :                   {
                     "major" : 8,
                     "minor" : 5,
                     "revision" : 6,
                     "architecture" : "x64",
                     "modernui" : 1
                  }
,
                  "classnamespace" : "box",
                  "rect" : [ 59.0, 119.0, 640.0, 480.0 ],
                  "bglocked" : 0,
                  "openinpresentation" : 0,
                  "default_fontsize" : 12.0,
                  "default_fontface" : 0,
                  "default_fontname" : "Arial",
                  "gridonopen" : 1,
                  "gridsize" : [ 15.0, 15.0 ],
                  "gridsnaponopen" : 1,
                  "objectsnaponopen" : 1,
                  "statusbarvisible" : 2,
                  "toolbarvisible" : 1,
                  "lefttoolbarpinned" : 0,
                  "toptoolbarpinned" : 0,
                  "righttoolbarpinned" : 0,
                  "bottomtoolbarpinned" : 0,
                  "toolbars_unpinned_last_save" : 0,
                  "tallnewobj" : 0,
                  "boxanimatetime" : 200,
                  "enablehscroll" : 1,
                  "enablevscroll" : 1,
                  "devicewidth" : 0.0,
                  "description" : "",
                  "digest" : "",
                  "tags" : "",
                  "style" : "",
                  "subpatcher_template" : "",
                  "assistshowspatchername" : 0,
                  "boxes" : [                      {
                        "box" :                         {
                           "id" : "obj-70",
                           "maxclass" : "newobj",
                           "numinlets" : 1,
                           "numoutlets" : 3,
                           "outlettype" : [ "bang", "bang", "bang" ],
                           "patching_rect" : [ 50.0, 100.0, 240.0, 22.0 ],
                           "text" : "t b b b"
                        }
                     }
,                      {
                        "box" :                         {
                           "id" : "obj-64",
                           "maxclass" : "message",
                           "numinlets" : 2,
                           "numoutlets" : 1,
                           "outlettype" : [ "" ],
                           "patching_rect" : [ 271.0, 131.0, 29.5, 22.0 ],
                           "text" : "z"
                        }
                     }
,                      {
                        "box" :                         {
                           "id" : "obj-67",
                           "maxclass" : "newobj",
                           "numinlets" : 1,
                           "numoutlets" : 4,
                           "outlettype" : [ "", "", "", "" ],
                           "patching_rect" : [ 271.0, 164.0, 102.0, 22.0 ],
                           "saved_object_attributes" :                            {
                              "embed" : 0,
                              "precision" : 6
                           }
,
                           "text" : "coll spherical-grid"
                        }
                     }
,                      {
                        "box" :                         {
                           "id" : "obj-62",
                           "maxclass" : "message",
                           "numinlets" : 2,
                           "numoutlets" : 1,
                           "outlettype" : [ "" ],
                           "patching_rect" : [ 161.0, 131.0, 29.5, 22.0 ],
                           "text" : "y"
                        }
                     }
,                      {
                        "box" :                         {
                           "id" : "obj-63",
                           "maxclass" : "newobj",
                           "numinlets" : 1,
                           "numoutlets" : 4,
                           "outlettype" : [ "", "", "", "" ],
                           "patching_rect" : [ 161.0, 164.0, 102.0, 22.0 ],
                           "saved_object_attributes" :                            {
                              "embed" : 0,
                              "precision" : 6
                           }
,
                           "text" : "coll spherical-grid"
                        }
                     }
,                      {
                        "box" :                         {
                           "id" : "obj-52",
                           "maxclass" : "message",
                           "numinlets" : 2,
                           "numoutlets" : 1,
                           "outlettype" : [ "" ],
                           "patching_rect" : [ 50.0, 131.0, 29.5, 22.0 ],
                           "text" : "x"
                        }
                     }
,                      {
                        "box" :                         {
                           "id" : "obj-49",
                           "maxclass" : "newobj",
                           "numinlets" : 1,
                           "numoutlets" : 4,
                           "outlettype" : [ "", "", "", "" ],
                           "patching_rect" : [ 50.0, 164.0, 102.0, 22.0 ],
                           "saved_object_attributes" :                            {
                              "embed" : 0,
                              "precision" : 6
                           }
,
                           "text" : "coll spherical-grid"
                        }
                     }
,                      {
                        "box" :                         {
                           "comment" : "",
                           "id" : "obj-79",
                           "index" : 1,
                           "maxclass" : "inlet",
                           "numinlets" : 0,
                           "numoutlets" : 1,
                           "outlettype" : [ "bang" ],
                           "patching_rect" : [ 50.0, 40.0, 30.0, 30.0 ]
                        }
                     }
,                      {
                        "box" :                         {
                           "comment" : "",
                           "id" : "obj-80",
                           "index" : 1,
                           "maxclass" : "outlet",
                           "numinlets" : 1,
                           "numoutlets" : 0,
                           "patching_rect" : [ 50.0, 246.0, 30.0, 30.0 ]
                        }
                     }
,                      {
                        "box" :                         {
                           "comment" : "",
                           "id" : "obj-81",
                           "index" : 2,
                           "maxclass" : "outlet",
                           "numinlets" : 1,
                           "numoutlets" : 0,
                           "patching_rect" : [ 161.0, 246.0, 30.0, 30.0 ]
                        }
                     }
,                      {
                        "box" :                         {
                           "comment" : "",
                           "id" : "obj-83",
                           "index" : 3,
                           "maxclass" : "outlet",
                           "numinlets" : 1,
                           "numoutlets" : 0,
                           "patching_rect" : [ 271.0, 246.0, 30.0, 30.0 ]
                        }
                     }
 ],
                  "lines" : [                      {
                        "patchline" :                         {
                           "destination" : [ "obj-80", 0 ],
                           "source" : [ "obj-49", 0 ]
                        }
                     }
,                      {
                        "patchline" :                         {
                           "destination" : [ "obj-49", 0 ],
                           "source" : [ "obj-52", 0 ]
                        }
                     }
,                      {
                        "patchline" :                         {
                           "destination" : [ "obj-63", 0 ],
                           "source" : [ "obj-62", 0 ]
                        }
                     }
,                      {
                        "patchline" :                         {
                           "destination" : [ "obj-81", 0 ],
                           "source" : [ "obj-63", 0 ]
                        }
                     }
,                      {
                        "patchline" :                         {
                           "destination" : [ "obj-67", 0 ],
                           "source" : [ "obj-64", 0 ]
                        }
                     }
,                      {
                        "patchline" :                         {
                           "destination" : [ "obj-83", 0 ],
                           "source" : [ "obj-67", 0 ]
                        }
                     }
,                      {
                        "patchline" :                         {
                           "destination" : [ "obj-52", 0 ],
                           "source" : [ "obj-70", 0 ]
                        }
                     }
,                      {
                        "patchline" :                         {
                           "destination" : [ "obj-62", 0 ],
                           "source" : [ "obj-70", 1 ]
                        }
                     }
,                      {
                        "patchline" :                         {
                           "destination" : [ "obj-64", 0 ],
                           "source" : [ "obj-70", 2 ]
                        }
                     }
,                      {
                        "patchline" :                         {
                           "destination" : [ "obj-70", 0 ],
                           "source" : [ "obj-79", 0 ]
                        }
                     }
 ]
               }
,
               "patching_rect" : [ 870.0, 217.407397329807281, 67.0, 22.0 ],
               "saved_object_attributes" :                {
                  "description" : "",
                  "digest" : "",
                  "globalpatchername" : "",
                  "tags" : ""
               }
,
               "text" : "p cartesian"
            }
         }
,          {
            "box" :             {
               "id" : "obj-72",
               "maxclass" : "button",
               "numinlets" : 1,
               "numoutlets" : 1,
               "outlettype" : [ "bang" ],
               "parameter_enable" : 0,
               "patching_rect" : [ 870.0, 172.0, 25.0, 25.0 ]
            }
         }
,          {
            "box" :             {
               "id" : "obj-69",
               "maxclass" : "newobj",
               "numinlets" : 1,
               "numoutlets" : 2,
               "outlettype" : [ "", "" ],
               "patching_rect" : [ 1077.0, 367.0, 94.0, 22.0 ],
               "text" : "jit.fill mymatrix 2"
            }
         }
,          {
            "box" :             {
               "id" : "obj-68",
               "maxclass" : "newobj",
               "numinlets" : 1,
               "numoutlets" : 2,
               "outlettype" : [ "", "" ],
               "patching_rect" : [ 973.0, 367.0, 94.0, 22.0 ],
               "text" : "jit.fill mymatrix 1"
            }
         }
@@ -1290,11 +1709,12 @@
               "id" : "obj-46",
               "maxclass" : "newobj",
               "numinlets" : 2,
               "numoutlets" : 4,
               "outlettype" : [ "dictionary", "", "", "" ],
               "numoutlets" : 5,
               "outlettype" : [ "dictionary", "", "", "", "" ],
               "patching_rect" : [ 978.0, 114.0, 244.0, 22.0 ],
               "saved_object_attributes" :                {
                  "embed" : 0,
                  "legacy" : 1,
                  "parameter_enable" : 0,
                  "parameter_mappable" : 0
               }
@@ -1305,72 +1725,23 @@
         }
,          {
            "box" :             {
               "id" : "obj-41",
               "maxclass" : "jit.pwindow",
               "numinlets" : 1,
               "numoutlets" : 2,
               "onscreen" : 0,
               "outlettype" : [ "jit_matrix", "" ],
               "patching_rect" : [ 870.0, 459.205647110939026, 256.0, 32.0 ],
               "sync" : 1
            }
         }
,          {
            "box" :             {
               "id" : "obj-35",
               "maxclass" : "newobj",
               "numinlets" : 1,
               "numoutlets" : 2,
               "outlettype" : [ "jit_matrix", "" ],
               "patching_rect" : [ 870.0, 419.814801871776581, 178.0, 22.0 ],
               "text" : "jit.matrix mymatrix 3 float32 512"
            }
         }
,          {
            "box" :             {
               "id" : "obj-26",
               "maxclass" : "newobj",
               "numinlets" : 1,
               "numoutlets" : 2,
               "outlettype" : [ "", "" ],
               "patching_rect" : [ 870.0, 367.0, 94.0, 22.0 ],
               "text" : "jit.fill mymatrix 0"
            }
         }
,          {
            "box" :             {
               "id" : "obj-21",
               "maxclass" : "newobj",
               "numinlets" : 1,
               "numoutlets" : 2,
               "outlettype" : [ "", "" ],
               "patching_rect" : [ 246.0, 181.0, 41.0, 22.0 ],
               "text" : "jit.spill"
            }
         }
,          {
            "box" :             {
               "id" : "obj-5",
               "maxclass" : "newobj",
               "numinlets" : 0,
               "numinlets" : 1,
               "numoutlets" : 1,
               "outlettype" : [ "" ],
               "patcher" :                {
                  "fileversion" : 1,
                  "appversion" :                   {
                     "major" : 8,
                     "minor" : 5,
                     "revision" : 6,
                     "minor" : 6,
                     "revision" : 3,
                     "architecture" : "x64",
                     "modernui" : 1
                  }
,
                  "classnamespace" : "box",
                  "rect" : [ 59.0, 119.0, 640.0, 480.0 ],
                  "rect" : [ -1550.0, 279.0, 640.0, 525.0 ],
                  "bglocked" : 0,
                  "openinpresentation" : 0,
                  "default_fontsize" : 12.0,
@@ -1400,50 +1771,168 @@
                  "assistshowspatchername" : 0,
                  "boxes" : [                      {
                        "box" :                         {
                           "id" : "obj-2",
                           "maxclass" : "newobj",
                           "numinlets" : 1,
                           "numoutlets" : 1,
                           "outlettype" : [ "" ],
                           "patching_rect" : [ 420.0, 211.0, 80.0, 22.0 ],
                           "text" : "loadmess 60."
                        }
                     }
,                      {
                        "box" :                         {
                           "comment" : "",
                           "id" : "obj-31",
                           "index" : 1,
                           "maxclass" : "inlet",
                           "numinlets" : 0,
                           "numoutlets" : 1,
                           "outlettype" : [ "" ],
                           "patching_rect" : [ 206.0, 40.0, 30.0, 30.0 ]
                        }
                     }
,                      {
                        "box" :                         {
                           "id" : "obj-30",
                           "maxclass" : "message",
                           "numinlets" : 2,
                           "numoutlets" : 1,
                           "outlettype" : [ "" ],
                           "patching_rect" : [ 134.0, 224.0, 29.5, 22.0 ],
                           "text" : "100"
                        }
                     }
,                      {
                        "box" :                         {
                           "id" : "obj-29",
                           "maxclass" : "message",
                           "numinlets" : 2,
                           "numoutlets" : 1,
                           "outlettype" : [ "" ],
                           "patching_rect" : [ 146.5, 186.0, 29.5, 22.0 ],
                           "text" : "0.1"
                        }
                     }
,                      {
                        "box" :                         {
                           "id" : "obj-27",
                           "maxclass" : "newobj",
                           "numinlets" : 3,
                           "numoutlets" : 3,
                           "outlettype" : [ "bang", "bang", "" ],
                           "patching_rect" : [ 134.0, 154.0, 44.0, 22.0 ],
                           "text" : "sel 1 2"
                        }
                     }
,                      {
                        "box" :                         {
                           "id" : "obj-26",
                           "maxclass" : "newobj",
                           "numinlets" : 1,
                           "numoutlets" : 0,
                           "patching_rect" : [ 135.5, 266.0, 41.0, 22.0 ],
                           "text" : "s amp"
                        }
                     }
,                      {
                        "box" :                         {
                           "id" : "obj-25",
                           "maxclass" : "number",
                           "numinlets" : 1,
                           "numoutlets" : 2,
                           "outlettype" : [ "", "bang" ],
                           "parameter_enable" : 0,
                           "patching_rect" : [ 206.0, 90.0, 50.0, 22.0 ]
                        }
                     }
,                      {
                        "box" :                         {
                           "id" : "obj-21",
                           "maxclass" : "newobj",
                           "numinlets" : 2,
                           "numoutlets" : 2,
                           "outlettype" : [ "", "" ],
                           "patching_rect" : [ 247.0, 161.0, 42.0, 22.0 ],
                           "text" : "gate 2"
                        }
                     }
,                      {
                        "box" :                         {
                           "id" : "obj-16",
                           "maxclass" : "newobj",
                           "numinlets" : 2,
                           "numoutlets" : 1,
                           "outlettype" : [ "" ],
                           "patching_rect" : [ 270.0, 251.0, 169.0, 22.0 ],
                           "text" : "vexpr $f1+$f2 @scalarmode 1"
                        }
                     }
,                      {
                        "box" :                         {
                           "id" : "obj-15",
                           "maxclass" : "newobj",
                           "numinlets" : 1,
                           "numoutlets" : 0,
                           "patching_rect" : [ 70.0, 358.0, 32.0, 22.0 ],
                           "text" : "print"
                        }
                     }
,                      {
                        "box" :                         {
                           "id" : "obj-14",
                           "maxclass" : "newobj",
                           "numinlets" : 2,
                           "numoutlets" : 2,
                           "outlettype" : [ "", "" ],
                           "patching_rect" : [ 70.0, 319.0, 55.0, 22.0 ],
                           "text" : "zl slice 3"
                        }
                     }
,                      {
                        "box" :                         {
                           "id" : "obj-13",
                           "maxclass" : "newobj",
                           "numinlets" : 1,
                           "numoutlets" : 1,
                           "outlettype" : [ "" ],
                           "patching_rect" : [ 270.0, 211.0, 39.0, 22.0 ],
                           "text" : "atodb"
                        }
                     }
,                      {
                        "box" :                         {
                           "id" : "obj-3",
                           "maxclass" : "button",
                           "numinlets" : 1,
                           "numoutlets" : 1,
                           "outlettype" : [ "bang" ],
                           "parameter_enable" : 0,
                           "patching_rect" : [ 459.0, 130.0, 24.0, 24.0 ]
                        }
                     }
,                      {
                        "box" :                         {
                           "comment" : "",
                           "id" : "obj-4",
                           "index" : 1,
                           "maxclass" : "outlet",
                           "numinlets" : 1,
                           "numoutlets" : 0,
                           "patching_rect" : [ 226.0, 235.0, 30.0, 30.0 ]
                        }
                     }
,                      {
                        "box" :                         {
                           "attr" : "zlmaxsize",
                           "id" : "obj-10",
                           "maxclass" : "attrui",
                           "numinlets" : 1,
                           "numoutlets" : 1,
                           "outlettype" : [ "" ],
                           "parameter_enable" : 0,
                           "patching_rect" : [ 310.0, 206.715393000000006, 150.0, 22.0 ]
                        }
                     }
,                      {
                        "box" :                         {
                           "id" : "obj-8",
                           "maxclass" : "message",
                           "numinlets" : 2,
                           "numoutlets" : 1,
                           "outlettype" : [ "" ],
                           "patching_rect" : [ 321.0, 309.0, 50.0, 22.0 ],
                           "text" : "426"
                        }
                     }
,                      {
                        "box" :                         {
                           "id" : "obj-6",
                           "maxclass" : "newobj",
                           "numinlets" : 2,
                           "numoutlets" : 2,
                           "outlettype" : [ "", "" ],
                           "patching_rect" : [ 310.0, 260.0, 135.0, 22.0 ],
                           "text" : "zl.len @zlmaxsize 1024"
                           "patching_rect" : [ 247.0, 295.0, 30.0, 30.0 ]
                        }
                     }
@@ -1454,7 +1943,7 @@
                           "numinlets" : 2,
                           "numoutlets" : 2,
                           "outlettype" : [ "", "" ],
                           "patching_rect" : [ 226.0, 128.0, 162.0, 22.0 ],
                           "patching_rect" : [ 268.5, 90.0, 162.0, 22.0 ],
                           "text" : "route /EnergyVisualizer/RMS"
                        }
@@ -1466,7 +1955,7 @@
                           "numinlets" : 1,
                           "numoutlets" : 1,
                           "outlettype" : [ "" ],
                           "patching_rect" : [ 226.0, 91.0, 97.0, 22.0 ],
                           "patching_rect" : [ 268.5, 53.0, 97.0, 22.0 ],
                           "text" : "udpreceive 9010"
                        }
@@ -1474,45 +1963,124 @@
 ],
                  "lines" : [                      {
                        "patchline" :                         {
                           "destination" : [ "obj-5", 0 ],
                           "destination" : [ "obj-3", 0 ],
                           "order" : 0,
                           "source" : [ "obj-1", 0 ]
                        }
                     }
,                      {
                        "patchline" :                         {
                           "destination" : [ "obj-6", 0 ],
                           "source" : [ "obj-10", 0 ]
                           "destination" : [ "obj-5", 0 ],
                           "order" : 1,
                           "source" : [ "obj-1", 0 ]
                        }
                     }
,                      {
                        "patchline" :                         {
                           "destination" : [ "obj-16", 0 ],
                           "source" : [ "obj-13", 0 ]
                        }
                     }
,                      {
                        "patchline" :                         {
                           "destination" : [ "obj-15", 0 ],
                           "source" : [ "obj-14", 0 ]
                        }
                     }
,                      {
                        "patchline" :                         {
                           "destination" : [ "obj-4", 0 ],
                           "order" : 1,
                           "source" : [ "obj-5", 0 ]
                           "source" : [ "obj-16", 0 ]
                        }
                     }
,                      {
                        "patchline" :                         {
                           "destination" : [ "obj-6", 0 ],
                           "destination" : [ "obj-16", 1 ],
                           "source" : [ "obj-2", 0 ]
                        }
                     }
,                      {
                        "patchline" :                         {
                           "destination" : [ "obj-13", 0 ],
                           "source" : [ "obj-21", 1 ]
                        }
                     }
,                      {
                        "patchline" :                         {
                           "destination" : [ "obj-4", 0 ],
                           "source" : [ "obj-21", 0 ]
                        }
                     }
,                      {
                        "patchline" :                         {
                           "destination" : [ "obj-21", 0 ],
                           "order" : 0,
                           "source" : [ "obj-5", 0 ]
                           "source" : [ "obj-25", 0 ]
                        }
                     }
,                      {
                        "patchline" :                         {
                           "destination" : [ "obj-8", 1 ],
                           "source" : [ "obj-6", 0 ]
                           "destination" : [ "obj-27", 0 ],
                           "order" : 1,
                           "source" : [ "obj-25", 0 ]
                        }
                     }
,                      {
                        "patchline" :                         {
                           "destination" : [ "obj-29", 0 ],
                           "source" : [ "obj-27", 1 ]
                        }
                     }
,                      {
                        "patchline" :                         {
                           "destination" : [ "obj-30", 0 ],
                           "source" : [ "obj-27", 0 ]
                        }
                     }
,                      {
                        "patchline" :                         {
                           "destination" : [ "obj-26", 0 ],
                           "source" : [ "obj-29", 0 ]
                        }
                     }
,                      {
                        "patchline" :                         {
                           "destination" : [ "obj-26", 0 ],
                           "source" : [ "obj-30", 0 ]
                        }
                     }
,                      {
                        "patchline" :                         {
                           "destination" : [ "obj-25", 0 ],
                           "source" : [ "obj-31", 0 ]
                        }
                     }
,                      {
                        "patchline" :                         {
                           "destination" : [ "obj-21", 1 ],
                           "source" : [ "obj-5", 0 ]
                        }
                     }
 ]
               }
,
               "patching_rect" : [ 1141.0, 157.407397329807281, 119.0, 22.0 ],
               "patching_rect" : [ 1370.0, 107.446807742118835, 119.0, 22.0 ],
               "saved_object_attributes" :                {
                  "description" : "",
                  "digest" : "",
@@ -1531,166 +2099,8 @@
               "maxclass" : "comment",
               "numinlets" : 1,
               "numoutlets" : 0,
               "patching_rect" : [ 572.740723669528961, 384.185178279876709, 193.0, 24.0 ],
               "patching_rect" : [ 559.574464082717896, 347.872337937355042, 193.0, 24.0 ],
               "text" : "change distance threshold here"
            }
         }
,          {
            "box" :             {
               "format" : 6,
               "id" : "obj-42",
               "maxclass" : "flonum",
               "numinlets" : 1,
               "numoutlets" : 2,
               "outlettype" : [ "", "bang" ],
               "parameter_enable" : 0,
               "patching_rect" : [ 530.740723669528961, 255.259250104427338, 99.629628002643585, 22.0 ]
            }
         }
,          {
            "box" :             {
               "id" : "obj-40",
               "maxclass" : "message",
               "numinlets" : 2,
               "numoutlets" : 1,
               "outlettype" : [ "" ],
               "patching_rect" : [ 530.740723669528961, 283.407397329807281, 87.0, 22.0 ],
               "text" : "scale $1 $1 $1"
            }
         }
,          {
            "box" :             {
               "id" : "obj-38",
               "maxclass" : "number",
               "numinlets" : 1,
               "numoutlets" : 2,
               "outlettype" : [ "", "bang" ],
               "parameter_enable" : 0,
               "patching_rect" : [ 392.324179232120514, 251.111102879047394, 74.444443643093109, 22.0 ]
            }
         }
,          {
            "box" :             {
               "id" : "obj-36",
               "maxclass" : "message",
               "numinlets" : 2,
               "numoutlets" : 1,
               "outlettype" : [ "" ],
               "patching_rect" : [ 462.222207069396973, 283.407397329807281, 45.0, 22.0 ],
               "text" : "dim $1"
            }
         }
,          {
            "box" :             {
               "id" : "obj-34",
               "maxclass" : "message",
               "numinlets" : 2,
               "numoutlets" : 1,
               "outlettype" : [ "" ],
               "patching_rect" : [ 392.324179232120514, 283.407397329807281, 65.0, 22.0 ],
               "text" : "dim $1 2 1"
            }
         }
,          {
            "box" :             {
               "id" : "obj-30",
               "maxclass" : "newobj",
               "numinlets" : 1,
               "numoutlets" : 2,
               "outlettype" : [ "", "" ],
               "patching_rect" : [ 120.851481199264526, 254.814806461334229, 131.0, 22.0 ],
               "text" : "jit.mo.time @speed 0.1"
            }
         }
,          {
            "box" :             {
               "id" : "obj-29",
               "maxclass" : "message",
               "numinlets" : 2,
               "numoutlets" : 1,
               "outlettype" : [ "" ],
               "patching_rect" : [ 120.851481199264526, 302.222212314605713, 108.0, 22.0 ],
               "text" : "offset 0 0 $1, bang"
            }
         }
,          {
            "box" :             {
               "id" : "obj-27",
               "maxclass" : "message",
               "numinlets" : 2,
               "numoutlets" : 1,
               "outlettype" : [ "" ],
               "patching_rect" : [ 261.481472909450531, 302.222212314605713, 109.0, 22.0 ],
               "text" : "setattr basis sign 1"
            }
         }
,          {
            "box" :             {
               "id" : "obj-25",
               "maxclass" : "newobj",
               "numinlets" : 1,
               "numoutlets" : 1,
               "outlettype" : [ "bang" ],
               "patching_rect" : [ 261.481472909450531, 274.814805805683136, 58.0, 22.0 ],
               "text" : "loadbang"
            }
         }
,          {
            "box" :             {
               "id" : "obj-24",
               "maxclass" : "newobj",
               "numinlets" : 1,
               "numoutlets" : 2,
               "outlettype" : [ "jit_matrix", "" ],
               "patching_rect" : [ 120.851481199264526, 419.814801871776581, 133.0, 22.0 ],
               "text" : "jit.matrix 3 float32 1000"
            }
         }
,          {
            "box" :             {
               "id" : "obj-23",
               "maxclass" : "newobj",
               "numinlets" : 1,
               "numoutlets" : 2,
               "outlettype" : [ "jit_matrix", "" ],
               "patching_rect" : [ 120.851481199264526, 354.814803183078766, 370.0, 22.0 ],
               "text" : "jit.bfg 3 float32 1000 2 1 @basis noise.simplex @scale 100 100 100"
            }
         }
,          {
            "box" :             {
               "format" : 6,
               "id" : "obj-22",
               "maxclass" : "flonum",
               "numinlets" : 1,
               "numoutlets" : 2,
               "outlettype" : [ "", "bang" ],
               "parameter_enable" : 0,
               "patching_rect" : [ 385.324179232120514, 424.576018452644348, 50.0, 22.0 ]
            }
         }
,          {
            "box" :             {
               "id" : "obj-20",
               "maxclass" : "message",
               "numinlets" : 2,
               "numoutlets" : 1,
               "outlettype" : [ "" ],
               "patching_rect" : [ 385.324179232120514, 454.205647110939026, 101.0, 22.0 ],
               "text" : "color $1 $1 $1 $1"
            }
         }
@@ -1701,8 +2111,8 @@
               "numinlets" : 9,
               "numoutlets" : 2,
               "outlettype" : [ "", "" ],
               "patching_rect" : [ 73.972340226173401, 633.828453183174133, 371.0, 22.0 ],
               "text" : "jit.gl.mesh game @draw_mode points @color 1 1 1 1 @point_size 5"
               "patching_rect" : [ 113.5, 677.659569621086121, 523.0, 22.0 ],
               "text" : "jit.gl.mesh game @draw_mode points @color 1 1 1 1 @point_size 50 @point_mode circle_depth"
            }
         }
@@ -1715,7 +2125,7 @@
               "numoutlets" : 2,
               "outlettype" : [ "", "bang" ],
               "parameter_enable" : 0,
               "patching_rect" : [ 520.740723669528961, 385.185178279876709, 50.0, 22.0 ]
               "patching_rect" : [ 507.446804881095886, 348.93616771697998, 50.0, 22.0 ]
            }
         }
@@ -1726,7 +2136,7 @@
               "numinlets" : 2,
               "numoutlets" : 1,
               "outlettype" : [ "" ],
               "patching_rect" : [ 520.740723669528961, 423.596483767032623, 97.0, 22.0 ],
               "patching_rect" : [ 507.446804881095886, 387.234039783477783, 97.0, 22.0 ],
               "text" : "distThreshold $1"
            }
@@ -1738,7 +2148,7 @@
               "numinlets" : 1,
               "numoutlets" : 1,
               "outlettype" : [ "" ],
               "patching_rect" : [ 520.740723669528961, 453.93761420249939, 90.0, 22.0 ],
               "patching_rect" : [ 507.446804881095886, 418.085103392601013, 90.0, 22.0 ],
               "text" : "prepend param"
            }
@@ -1750,7 +2160,7 @@
               "numinlets" : 1,
               "numoutlets" : 2,
               "outlettype" : [ "jit_gl_buffer", "" ],
               "patching_rect" : [ 120.814444065093994, 477.205647110939026, 205.0, 22.0 ],
               "patching_rect" : [ 146.808509588241577, 447.169832110404968, 205.0, 22.0 ],
               "text" : "jit.gl.buffer @type position @texbuf 1"
            }
@@ -1762,7 +2172,7 @@
               "numinlets" : 1,
               "numoutlets" : 2,
               "outlettype" : [ "", "" ],
               "patching_rect" : [ 520.740723669528961, 487.899602234363556, 326.0, 22.0 ],
               "patching_rect" : [ 507.446804881095886, 452.12765634059906, 326.0, 22.0 ],
               "text" : "jit.gl.shader game @name shadyLines @file shadyLines.jxs"
            }
@@ -1786,19 +2196,8 @@
               "numinlets" : 2,
               "numoutlets" : 1,
               "outlettype" : [ "" ],
               "patching_rect" : [ 133.0, 83.0, 70.0, 22.0 ],
               "patching_rect" : [ 131.182801485061646, 45.161292314529419, 70.0, 22.0 ],
               "text" : "anim_reset"
            }
         }
,          {
            "box" :             {
               "id" : "obj-7",
               "maxclass" : "newobj",
               "numinlets" : 1,
               "numoutlets" : 0,
               "patching_rect" : [ 514.0, 183.0, 51.0, 22.0 ],
               "text" : "s metro"
            }
         }
@@ -1809,7 +2208,7 @@
               "numinlets" : 1,
               "numoutlets" : 2,
               "outlettype" : [ "", "" ],
               "patching_rect" : [ 221.0, 83.0, 210.0, 22.0 ],
               "patching_rect" : [ 204.0, 80.5, 210.0, 22.0 ],
               "text" : "jit.anim.drive @ui_listen 1 @speed 20"
            }
@@ -1824,7 +2223,7 @@
               "numinlets" : 1,
               "numoutlets" : 2,
               "outlettype" : [ "", "" ],
               "patching_rect" : [ 416.0, 176.0, 80.0, 35.0 ]
               "patching_rect" : [ 419.5, 188.172051310539246, 80.0, 35.0 ]
            }
         }
@@ -1882,6 +2281,15 @@
,          {
            "patchline" :             {
               "destination" : [ "obj-15", 0 ],
               "order" : 1,
               "source" : [ "obj-109", 0 ]
            }
         }
,          {
            "patchline" :             {
               "destination" : [ "obj-8", 0 ],
               "order" : 0,
               "source" : [ "obj-109", 0 ]
            }
@@ -1902,7 +2310,7 @@
         }
,          {
            "patchline" :             {
               "destination" : [ "obj-118", 0 ],
               "destination" : [ "obj-32", 0 ],
               "order" : 0,
               "source" : [ "obj-112", 0 ]
            }
@@ -1910,24 +2318,9 @@
         }
,          {
            "patchline" :             {
               "destination" : [ "obj-32", 0 ],
               "destination" : [ "obj-57", 0 ],
               "order" : 1,
               "source" : [ "obj-112", 0 ]
            }
         }
,          {
            "patchline" :             {
               "destination" : [ "obj-39", 0 ],
               "order" : 2,
               "source" : [ "obj-112", 0 ]
            }
         }
,          {
            "patchline" :             {
               "destination" : [ "obj-52", 0 ],
               "source" : [ "obj-113", 0 ]
            }
         }
@@ -1954,14 +2347,14 @@
         }
,          {
            "patchline" :             {
               "destination" : [ "obj-112", 0 ],
               "destination" : [ "obj-55", 0 ],
               "source" : [ "obj-125", 0 ]
            }
         }
,          {
            "patchline" :             {
               "destination" : [ "obj-32", 1 ],
               "destination" : [ "obj-9", 0 ],
               "source" : [ "obj-127", 0 ]
            }
@@ -1998,6 +2391,13 @@
         }
,          {
            "patchline" :             {
               "destination" : [ "obj-40", 0 ],
               "source" : [ "obj-17", 0 ]
            }
         }
,          {
            "patchline" :             {
               "destination" : [ "obj-16", 0 ],
               "source" : [ "obj-18", 0 ]
            }
@@ -2006,7 +2406,7 @@
,          {
            "patchline" :             {
               "destination" : [ "obj-10", 0 ],
               "order" : 1,
               "order" : 0,
               "source" : [ "obj-19", 0 ]
            }
@@ -2014,7 +2414,7 @@
,          {
            "patchline" :             {
               "destination" : [ "obj-6", 0 ],
               "order" : 0,
               "order" : 1,
               "source" : [ "obj-19", 0 ]
            }
@@ -2022,36 +2422,13 @@
,          {
            "patchline" :             {
               "destination" : [ "obj-12", 0 ],
               "order" : 1,
               "source" : [ "obj-2", 1 ]
            }
         }
,          {
            "patchline" :             {
               "destination" : [ "obj-7", 0 ],
               "order" : 0,
               "source" : [ "obj-2", 1 ]
            }
         }
,          {
            "patchline" :             {
               "destination" : [ "obj-8", 0 ],
               "source" : [ "obj-20", 0 ]
            }
         }
,          {
            "patchline" :             {
               "destination" : [ "obj-20", 0 ],
               "source" : [ "obj-22", 0 ]
            }
         }
,          {
            "patchline" :             {
               "destination" : [ "obj-13", 0 ],
               "destination" : [ "obj-27", 0 ],
               "source" : [ "obj-24", 0 ]
            }
@@ -2065,22 +2442,22 @@
         }
,          {
            "patchline" :             {
               "destination" : [ "obj-35", 0 ],
               "destination" : [ "obj-37", 0 ],
               "source" : [ "obj-26", 0 ]
            }
         }
,          {
            "patchline" :             {
               "destination" : [ "obj-23", 0 ],
               "destination" : [ "obj-17", 0 ],
               "source" : [ "obj-27", 0 ]
            }
         }
,          {
            "patchline" :             {
               "destination" : [ "obj-23", 0 ],
               "source" : [ "obj-29", 0 ]
               "destination" : [ "obj-27", 0 ],
               "source" : [ "obj-28", 0 ]
            }
         }
@@ -2093,84 +2470,42 @@
         }
,          {
            "patchline" :             {
               "destination" : [ "obj-29", 0 ],
               "source" : [ "obj-30", 0 ]
            }
         }
,          {
            "patchline" :             {
               "destination" : [ "obj-117", 0 ],
               "order" : 0,
               "destination" : [ "obj-70", 0 ],
               "source" : [ "obj-32", 0 ]
            }
         }
,          {
            "patchline" :             {
               "destination" : [ "obj-15", 3 ],
               "order" : 2,
               "source" : [ "obj-32", 0 ]
            }
         }
,          {
            "patchline" :             {
               "destination" : [ "obj-8", 3 ],
               "order" : 1,
               "source" : [ "obj-32", 0 ]
            }
         }
,          {
            "patchline" :             {
               "destination" : [ "obj-23", 0 ],
               "destination" : [ "obj-38", 0 ],
               "source" : [ "obj-34", 0 ]
            }
         }
,          {
            "patchline" :             {
               "destination" : [ "obj-13", 0 ],
               "order" : 1,
               "source" : [ "obj-35", 0 ]
            }
         }
,          {
            "patchline" :             {
               "destination" : [ "obj-41", 0 ],
               "order" : 0,
               "source" : [ "obj-35", 0 ]
            }
         }
,          {
            "patchline" :             {
               "destination" : [ "obj-24", 0 ],
               "source" : [ "obj-36", 0 ]
            }
         }
,          {
            "patchline" :             {
               "destination" : [ "obj-34", 0 ],
               "order" : 1,
               "source" : [ "obj-37", 0 ]
            }
         }
,          {
            "patchline" :             {
               "destination" : [ "obj-17", 0 ],
               "source" : [ "obj-38", 1 ]
            }
         }
,          {
            "patchline" :             {
               "destination" : [ "obj-85", 0 ],
               "source" : [ "obj-38", 0 ]
            }
         }
,          {
            "patchline" :             {
               "destination" : [ "obj-36", 0 ],
               "order" : 0,
               "source" : [ "obj-38", 0 ]
            }
         }
,          {
            "patchline" :             {
               "destination" : [ "obj-23", 0 ],
               "destination" : [ "obj-68", 0 ],
               "source" : [ "obj-40", 0 ]
            }
@@ -2179,6 +2514,34 @@
            "patchline" :             {
               "destination" : [ "obj-40", 0 ],
               "source" : [ "obj-42", 0 ]
            }
         }
,          {
            "patchline" :             {
               "destination" : [ "obj-40", 0 ],
               "source" : [ "obj-43", 0 ]
            }
         }
,          {
            "patchline" :             {
               "destination" : [ "obj-2", 0 ],
               "source" : [ "obj-44", 0 ]
            }
         }
,          {
            "patchline" :             {
               "destination" : [ "obj-47", 0 ],
               "source" : [ "obj-45", 0 ]
            }
         }
,          {
            "patchline" :             {
               "destination" : [ "obj-17", 0 ],
               "source" : [ "obj-47", 0 ]
            }
         }
@@ -2206,7 +2569,7 @@
         }
,          {
            "patchline" :             {
               "destination" : [ "obj-93", 0 ],
               "destination" : [ "obj-61", 0 ],
               "order" : 1,
               "source" : [ "obj-5", 0 ]
            }
@@ -2214,7 +2577,21 @@
         }
,          {
            "patchline" :             {
               "destination" : [ "obj-125", 0 ],
               "destination" : [ "obj-45", 0 ],
               "source" : [ "obj-50", 0 ]
            }
         }
,          {
            "patchline" :             {
               "destination" : [ "obj-56", 0 ],
               "source" : [ "obj-51", 0 ]
            }
         }
,          {
            "patchline" :             {
               "destination" : [ "obj-58", 0 ],
               "source" : [ "obj-52", 0 ]
            }
@@ -2228,6 +2605,41 @@
         }
,          {
            "patchline" :             {
               "destination" : [ "obj-112", 0 ],
               "source" : [ "obj-55", 1 ]
            }
         }
,          {
            "patchline" :             {
               "destination" : [ "obj-112", 0 ],
               "source" : [ "obj-55", 0 ]
            }
         }
,          {
            "patchline" :             {
               "destination" : [ "obj-8", 0 ],
               "source" : [ "obj-56", 0 ]
            }
         }
,          {
            "patchline" :             {
               "destination" : [ "obj-125", 0 ],
               "source" : [ "obj-58", 0 ]
            }
         }
,          {
            "patchline" :             {
               "destination" : [ "obj-15", 3 ],
               "source" : [ "obj-59", 0 ]
            }
         }
,          {
            "patchline" :             {
               "destination" : [ "obj-10", 0 ],
               "source" : [ "obj-6", 0 ]
            }
@@ -2235,36 +2647,64 @@
         }
,          {
            "patchline" :             {
               "destination" : [ "obj-117", 0 ],
               "destination" : [ "obj-58", 1 ],
               "source" : [ "obj-60", 0 ]
            }
         }
,          {
            "patchline" :             {
               "destination" : [ "obj-8", 3 ],
               "source" : [ "obj-62", 0 ]
            }
         }
,          {
            "patchline" :             {
               "destination" : [ "obj-62", 0 ],
               "source" : [ "obj-66", 0 ]
               "destination" : [ "obj-93", 0 ],
               "source" : [ "obj-63", 0 ]
            }
         }
,          {
            "patchline" :             {
               "destination" : [ "obj-35", 0 ],
               "source" : [ "obj-68", 0 ]
               "destination" : [ "obj-52", 0 ],
               "source" : [ "obj-64", 0 ]
            }
         }
,          {
            "patchline" :             {
               "destination" : [ "obj-35", 0 ],
               "destination" : [ "obj-13", 0 ],
               "source" : [ "obj-69", 0 ]
            }
         }
,          {
            "patchline" :             {
               "destination" : [ "obj-84", 0 ],
               "destination" : [ "obj-18", 0 ],
               "source" : [ "obj-7", 0 ]
            }
         }
,          {
            "patchline" :             {
               "destination" : [ "obj-73", 0 ],
               "source" : [ "obj-72", 0 ]
            }
         }
,          {
            "patchline" :             {
               "destination" : [ "obj-8", 0 ],
               "source" : [ "obj-73", 0 ]
            }
         }
,          {
            "patchline" :             {
               "destination" : [ "obj-5", 0 ],
               "source" : [ "obj-74", 0 ]
            }
         }
@@ -2279,7 +2719,7 @@
            "patchline" :             {
               "destination" : [ "obj-114", 0 ],
               "order" : 1,
               "source" : [ "obj-84", 0 ]
               "source" : [ "obj-85", 0 ]
            }
         }
@@ -2287,7 +2727,7 @@
            "patchline" :             {
               "destination" : [ "obj-123", 0 ],
               "order" : 1,
               "source" : [ "obj-84", 1 ]
               "source" : [ "obj-85", 1 ]
            }
         }
@@ -2295,38 +2735,31 @@
            "patchline" :             {
               "destination" : [ "obj-124", 0 ],
               "order" : 1,
               "source" : [ "obj-84", 2 ]
               "source" : [ "obj-85", 2 ]
            }
         }
,          {
            "patchline" :             {
               "destination" : [ "obj-26", 0 ],
               "destination" : [ "obj-25", 0 ],
               "order" : 0,
               "source" : [ "obj-84", 0 ]
               "source" : [ "obj-85", 1 ]
            }
         }
,          {
            "patchline" :             {
               "destination" : [ "obj-68", 0 ],
               "destination" : [ "obj-28", 0 ],
               "order" : 0,
               "source" : [ "obj-84", 1 ]
            }
         }
,          {
            "patchline" :             {
               "destination" : [ "obj-69", 0 ],
               "order" : 0,
               "source" : [ "obj-84", 2 ]
               "source" : [ "obj-85", 0 ]
            }
         }
,          {
            "patchline" :             {
               "destination" : [ "obj-93", 1 ],
               "midpoints" : [ 1158.5, 252.203698664903641, 1210.5, 252.203698664903641 ],
               "midpoints" : [ 1353.5, 281.990932494401932, 1439.5, 281.990932494401932 ],
               "order" : 0,
               "source" : [ "obj-85", 2 ]
            }
@@ -2340,37 +2773,27 @@
         }
,          {
            "patchline" :             {
               "destination" : [ "obj-103", 0 ],
               "order" : 0,
               "source" : [ "obj-93", 0 ]
               "destination" : [ "obj-112", 0 ],
               "source" : [ "obj-9", 0 ]
            }
         }
,          {
            "patchline" :             {
               "destination" : [ "obj-96", 0 ],
               "order" : 1,
               "source" : [ "obj-93", 0 ]
               "destination" : [ "obj-32", 1 ],
               "source" : [ "obj-9", 1 ]
            }
         }
,          {
            "patchline" :             {
               "destination" : [ "obj-100", 0 ],
               "source" : [ "obj-96", 0 ]
               "destination" : [ "obj-24", 0 ],
               "source" : [ "obj-93", 0 ]
            }
         }
 ],
      "dependency_cache" : [          {
            "name" : "jit.mo.time.mxo",
            "type" : "iLaX"
         }
,          {
            "name" : "spat.converter.mxo",
            "type" : "iLaX"
         }
 ],
      "dependency_cache" : [  ],
      "autosave" : 0
   }