From d9a30746024f61d675464ecb35dd214e05c745bb Mon Sep 17 00:00:00 2001 From: Balint Laczko <45127463+balintlaczko@users.noreply.github.com> Date: Wed, 20 May 2026 18:15:42 +0200 Subject: [PATCH] fluid.jit.plotter update Changelog: ---------- - changed default background color to 0.95 0.95 0.95 0.95 1 for parity with fluid.plotter. - revamped dataset loading now uses tobuffer labelflip to avoid needing a for-loop to get the ids-to-samples mapping. (Unfortunately, now we need two tobuffer calls to build ids-to-samples and samples-to-ids, but that is still much faster than the previous for-loop.) - added option to load 1 to 7-dimensional datasets for the combined loading of positions, sizes, and/or colors - added dimmap message: remap input dimensions (think of zl.indexmap) - added lut and lutoffset messages: choose from different color maps (see: colorcet.com) - added misc/CET-colormaps.jxf: 60 color maps as a binarized jitter matrix - help patch/advanced tab: fixed dataset not clearing - help patch: added new tab "more dimensions & color maps" - updated reference --- .gitignore | 1 - help/fluid.jit.plotter.maxhelp | 15196 ++++++++++++---------- local_docs/fluid.jit.plotter.maxref.xml | 49 + misc/CET-colormaps.jxf | Bin 0 -> 46132 bytes patchers/fluid.jit.plotter.maxpat | 4451 +++++-- 5 files changed, 11975 insertions(+), 7722 deletions(-) create mode 100644 misc/CET-colormaps.jxf diff --git a/.gitignore b/.gitignore index 51b15c56..bea4a1bd 100644 --- a/.gitignore +++ b/.gitignore @@ -15,7 +15,6 @@ tmp **/package-info.json media docs -misc interfaces/max.db.json interfaces/flucoma-obj-qlookup.json /.vs diff --git a/help/fluid.jit.plotter.maxhelp b/help/fluid.jit.plotter.maxhelp index 26555355..85bacbe7 100644 --- a/help/fluid.jit.plotter.maxhelp +++ b/help/fluid.jit.plotter.maxhelp @@ -1,6707 +1,8491 @@ { - "patcher" : { - "fileversion" : 1, - "appversion" : { - "major" : 9, - "minor" : 0, - "revision" : 7, - "architecture" : "x64", - "modernui" : 1 - } -, - "classnamespace" : "box", - "rect" : [ 158.0, 188.0, 963.0, 818.0 ], - "gridsize" : [ 15.0, 15.0 ], - "showrootpatcherontab" : 0, - "showontab" : 0, - "boxes" : [ { - "box" : { - "id" : "obj-8", - "maxclass" : "newobj", - "numinlets" : 0, - "numoutlets" : 0, - "patcher" : { - "fileversion" : 1, - "appversion" : { - "major" : 9, - "minor" : 0, - "revision" : 7, - "architecture" : "x64", - "modernui" : 1 - } -, - "classnamespace" : "box", - "rect" : [ 158.0, 214.0, 963.0, 792.0 ], - "gridonopen" : 2, - "gridsize" : [ 10.0, 10.0 ], - "gridsnaponopen" : 2, - "showontab" : 1, - "boxes" : [ { - "box" : { - "id" : "obj-10", - "maxclass" : "newobj", - "numinlets" : 1, - "numoutlets" : 1, - "outlettype" : [ "int" ], - "patching_rect" : [ 760.0, 325.5, 40.0, 22.0 ], - "text" : "active" - } - - } -, { - "box" : { - "id" : "obj-34", - "maxclass" : "newobj", - "numinlets" : 3, - "numoutlets" : 1, - "outlettype" : [ "" ], - "patcher" : { - "fileversion" : 1, - "appversion" : { - "major" : 9, - "minor" : 0, - "revision" : 7, - "architecture" : "x64", - "modernui" : 1 - } -, - "classnamespace" : "box", - "rect" : [ 59.0, 119.0, 741.0, 335.0 ], - "gridsize" : [ 15.0, 15.0 ], - "boxes" : [ { - "box" : { - "id" : "obj-1", - "maxclass" : "newobj", - "numinlets" : 2, - "numoutlets" : 2, - "outlettype" : [ "", "" ], - "patching_rect" : [ 50.0, 231.0, 85.0, 22.0 ], - "text" : "route knearest" - } - - } -, { - "box" : { - "id" : "obj-16", - "maxclass" : "newobj", - "numinlets" : 1, - "numoutlets" : 1, - "outlettype" : [ "" ], - "patching_rect" : [ 50.0, 266.0, 101.0, 22.0 ], - "text" : "prepend highlight" - } - - } -, { - "box" : { - "fontsize" : 13.0, - "id" : "obj-57", - "maxclass" : "newobj", - "numinlets" : 2, - "numoutlets" : 1, - "outlettype" : [ "" ], - "patching_rect" : [ 50.0, 83.0, 50.0, 23.0 ], - "text" : "qlim 20" - } - - } -, { - "box" : { - "fontsize" : 13.0, - "id" : "obj-27", - "maxclass" : "message", - "numinlets" : 2, - "numoutlets" : 1, - "outlettype" : [ "" ], - "patching_rect" : [ 50.0, 143.0, 76.0, 23.0 ], - "text" : "knearest $2" - } - - } -, { - "box" : { - "fontsize" : 13.0, - "id" : "obj-22", - "maxclass" : "newobj", - "numinlets" : 1, - "numoutlets" : 1, - "outlettype" : [ "buffer" ], - "patching_rect" : [ 50.0, 113.0, 77.0, 23.0 ], - "text" : "fluid.list2buf" - } - - } -, { - "box" : { - "id" : "obj-15", - "maxclass" : "message", - "numinlets" : 2, - "numoutlets" : 1, - "outlettype" : [ "" ], - "patching_rect" : [ 174.0, 143.5, 173.0, 22.0 ], - "text" : "fit fluid.jit.plotter.help.advanced" - } - - } -, { - "box" : { - "id" : "obj-13", - "maxclass" : "newobj", - "numinlets" : 1, - "numoutlets" : 2, - "outlettype" : [ "", "" ], - "patching_rect" : [ 50.0, 196.0, 189.0, 22.0 ], - "text" : "fluid.kdtree~ @numneighbours 10" - } - - } -, { - "box" : { - "id" : "obj-12", - "linecount" : 3, - "maxclass" : "newobj", - "numinlets" : 1, - "numoutlets" : 2, - "outlettype" : [ "float", "bang" ], - "patching_rect" : [ 585.0, 202.0, 100.0, 49.0 ], - "text" : "buffer~ fluid.jit.plotter.help.advanced.point" - } - - } -, { - "box" : { - "id" : "obj-54", - "maxclass" : "newobj", - "numinlets" : 1, - "numoutlets" : 1, - "outlettype" : [ "" ], - "patching_rect" : [ 451.0, 232.0, 98.0, 22.0 ], - "text" : "prepend setpoint" - } - - } -, { - "box" : { - "id" : "obj-45", - "maxclass" : "newobj", - "numinlets" : 2, - "numoutlets" : 1, - "outlettype" : [ "" ], - "patching_rect" : [ 451.0, 202.0, 61.0, 22.0 ], - "text" : "join" - } - - } -, { - "box" : { - "id" : "obj-10", - "maxclass" : "message", - "numinlets" : 2, - "numoutlets" : 1, - "outlettype" : [ "" ], - "patching_rect" : [ 493.0, 169.0, 29.5, 22.0 ], - "text" : "$2" - } - - } -, { - "box" : { - "id" : "obj-38", - "linecount" : 2, - "maxclass" : "newobj", - "numinlets" : 1, - "numoutlets" : 1, - "outlettype" : [ "buffer" ], - "patching_rect" : [ 493.0, 129.0, 191.5, 35.0 ], - "text" : "fluid.list2buf @destination fluid.jit.plotter.help.advanced.point" - } - - } -, { - "box" : { - "id" : "obj-36", - "maxclass" : "newobj", - "numinlets" : 2, - "numoutlets" : 2, - "outlettype" : [ "", "" ], - "patching_rect" : [ 451.0, 100.0, 61.0, 22.0 ], - "text" : "list.slice 1" - } - - } -, { - "box" : { - "id" : "obj-11", - "maxclass" : "newobj", - "numinlets" : 1, - "numoutlets" : 2, - "outlettype" : [ "", "" ], - "patching_rect" : [ 451.0, 270.0, 235.0, 22.0 ], - "text" : "fluid.dataset~ fluid.jit.plotter.help.advanced" - } - - } -, { - "box" : { - "comment" : "", - "id" : "obj-29", - "index" : 1, - "maxclass" : "inlet", - "numinlets" : 0, - "numoutlets" : 1, - "outlettype" : [ "" ], - "patching_rect" : [ 50.0, 40.0, 30.0, 30.0 ] - } - - } -, { - "box" : { - "comment" : "", - "id" : "obj-30", - "index" : 2, - "maxclass" : "inlet", - "numinlets" : 0, - "numoutlets" : 1, - "outlettype" : [ "bang" ], - "patching_rect" : [ 174.0, 40.0, 30.0, 30.0 ] - } - - } -, { - "box" : { - "comment" : "", - "id" : "obj-32", - "index" : 3, - "maxclass" : "inlet", - "numinlets" : 0, - "numoutlets" : 1, - "outlettype" : [ "" ], - "patching_rect" : [ 451.0, 40.0, 30.0, 30.0 ] - } - - } -, { - "box" : { - "comment" : "", - "id" : "obj-33", - "index" : 1, - "maxclass" : "outlet", - "numinlets" : 1, - "numoutlets" : 0, - "patching_rect" : [ 50.0, 298.0, 30.0, 30.0 ] - } - - } - ], - "lines" : [ { - "patchline" : { - "destination" : [ "obj-16", 0 ], - "source" : [ "obj-1", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-45", 1 ], - "source" : [ "obj-10", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-1", 0 ], - "source" : [ "obj-13", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-13", 0 ], - "source" : [ "obj-15", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-33", 0 ], - "source" : [ "obj-16", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-27", 0 ], - "source" : [ "obj-22", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-13", 0 ], - "source" : [ "obj-27", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-57", 0 ], - "source" : [ "obj-29", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-15", 0 ], - "source" : [ "obj-30", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-36", 0 ], - "source" : [ "obj-32", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-38", 0 ], - "source" : [ "obj-36", 1 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-45", 0 ], - "source" : [ "obj-36", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-10", 0 ], - "source" : [ "obj-38", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-54", 0 ], - "source" : [ "obj-45", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-11", 0 ], - "source" : [ "obj-54", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-22", 0 ], - "source" : [ "obj-57", 0 ] - } - - } - ] - } -, - "patching_rect" : [ 20.0, 760.0, 450.0, 22.0 ], - "text" : "p highlight" - } - - } -, { - "box" : { - "fontsize" : 13.0, - "id" : "obj-5", - "linecount" : 2, - "maxclass" : "comment", - "numinlets" : 1, - "numoutlets" : 0, - "patching_rect" : [ 728.0, 240.0, 212.0, 36.0 ], - "saved_attribute_attributes" : { - "textcolor" : { - "expression" : "themecolor.theme_textcolor" - } - - } -, - "text" : "Change the ratio between highlighted and normal point size" - } - - } -, { - "box" : { - "fontsize" : 13.0, - "format" : 6, - "id" : "obj-8", - "maxclass" : "flonum", - "numinlets" : 1, - "numoutlets" : 2, - "outlettype" : [ "", "bang" ], - "parameter_enable" : 1, - "patching_rect" : [ 674.0, 245.0, 50.0, 23.0 ], - "saved_attribute_attributes" : { - "valueof" : { - "parameter_initial" : [ 2.4 ], - "parameter_initial_enable" : 1, - "parameter_invisible" : 1, - "parameter_longname" : "number[2]", - "parameter_modmode" : 0, - "parameter_shortname" : "number[2]", - "parameter_type" : 3 - } - - } -, - "varname" : "number[1]" - } - - } -, { - "box" : { - "fontsize" : 13.0, - "id" : "obj-9", - "maxclass" : "message", - "numinlets" : 2, - "numoutlets" : 1, - "outlettype" : [ "" ], - "patching_rect" : [ 674.0, 281.0, 108.0, 23.0 ], - "text" : "highlightscale $1" - } - - } -, { - "box" : { - "fontsize" : 13.0, - "id" : "obj-6", - "maxclass" : "comment", - "numinlets" : 1, - "numoutlets" : 0, - "patching_rect" : [ 10.0, 67.0, 474.0, 21.0 ], - "saved_attribute_attributes" : { - "textcolor" : { - "expression" : "themecolor.theme_textcolor" - } - - } -, - "text" : "Drawing through the \"advanced\" interface lets you draw at a lower level." - } - - } -, { - "box" : { - "bgcolor" : [ 1.0, 0.788235, 0.470588, 1.0 ], - "fontname" : "Arial Bold", - "fontsize" : 13.0, - "hint" : "", - "id" : "obj-2", - "ignoreclick" : 1, - "legacytextcolor" : 1, - "maxclass" : "textbutton", - "numinlets" : 1, - "numoutlets" : 3, - "outlettype" : [ "", "", "int" ], - "parameter_enable" : 0, - "patching_rect" : [ 291.0, 135.5, 20.0, 20.0 ], - "rounded" : 60.0, - "text" : "1", - "textcolor" : [ 0.34902, 0.34902, 0.34902, 1.0 ] - } - - } -, { - "box" : { - "fontsize" : 13.0, - "id" : "obj-20", - "maxclass" : "message", - "numinlets" : 2, - "numoutlets" : 1, - "outlettype" : [ "" ], - "patching_rect" : [ 81.0, 399.0, 96.0, 23.0 ], - "text" : "pointsize $1 $2" - } - - } -, { - "box" : { - "fontsize" : 13.0, - "id" : "obj-18", - "linecount" : 5, - "maxclass" : "comment", - "numinlets" : 1, - "numoutlets" : 0, - "patching_rect" : [ 102.0, 276.0, 113.0, 79.0 ], - "saved_attribute_attributes" : { - "textcolor" : { - "expression" : "themecolor.theme_textcolor" - } - - } -, - "text" : "Set the size of each point.\nFormat is:\n\n" - } - - } -, { - "box" : { - "fontsize" : 13.0, - "id" : "obj-17", - "maxclass" : "newobj", - "numinlets" : 1, - "numoutlets" : 1, - "outlettype" : [ "" ], - "patcher" : { - "fileversion" : 1, - "appversion" : { - "major" : 9, - "minor" : 0, - "revision" : 7, - "architecture" : "x64", - "modernui" : 1 - } -, - "classnamespace" : "box", - "rect" : [ 59.0, 106.0, 406.0, 234.0 ], - "gridsize" : [ 15.0, 15.0 ], - "boxes" : [ { - "box" : { - "id" : "obj-1", - "maxclass" : "newobj", - "numinlets" : 2, - "numoutlets" : 1, - "outlettype" : [ "float" ], - "patching_rect" : [ 77.5, 126.0, 100.0, 22.0 ], - "text" : "+ 0.5" - } - - } -, { - "box" : { - "id" : "obj-5", - "maxclass" : "newobj", - "numinlets" : 2, - "numoutlets" : 1, - "outlettype" : [ "" ], - "patching_rect" : [ 21.5, 158.0, 75.0, 22.0 ], - "text" : "join" - } - - } -, { - "box" : { - "id" : "obj-3", - "maxclass" : "newobj", - "numinlets" : 1, - "numoutlets" : 2, - "outlettype" : [ "int", "bang" ], - "patching_rect" : [ 22.0, 58.0, 74.5, 22.0 ], - "text" : "t i b" - } - - } -, { - "box" : { - "id" : "obj-4", - "linecount" : 2, - "maxclass" : "comment", - "numinlets" : 1, - "numoutlets" : 0, - "patching_rect" : [ 235.5, 88.5, 151.0, 33.0 ], - "text" : "The pointsize message sets the size of each point." - } - - } -, { - "box" : { - "id" : "obj-11", - "maxclass" : "newobj", - "numinlets" : 1, - "numoutlets" : 1, - "outlettype" : [ "" ], - "patching_rect" : [ 77.5, 94.0, 151.0, 22.0 ], - "text" : "expr random(0\\, 100) / 100." - } - - } -, { - "box" : { - "comment" : "", - "id" : "obj-86", - "index" : 1, - "maxclass" : "inlet", - "numinlets" : 0, - "numoutlets" : 1, - "outlettype" : [ "int" ], - "patching_rect" : [ 22.0, 11.0, 30.0, 30.0 ] - } - - } -, { - "box" : { - "comment" : "", - "id" : "obj-87", - "index" : 1, - "maxclass" : "outlet", - "numinlets" : 1, - "numoutlets" : 0, - "patching_rect" : [ 21.5, 190.0, 30.0, 30.0 ] - } - - } - ], - "lines" : [ { - "patchline" : { - "destination" : [ "obj-5", 1 ], - "source" : [ "obj-1", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-1", 0 ], - "source" : [ "obj-11", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-11", 0 ], - "source" : [ "obj-3", 1 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-5", 0 ], - "source" : [ "obj-3", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-87", 0 ], - "source" : [ "obj-5", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-3", 0 ], - "source" : [ "obj-86", 0 ] - } - - } - ] - } -, - "patching_rect" : [ 81.0, 364.0, 154.0, 23.0 ], - "text" : "p \"generate random size\"" - } - - } -, { - "box" : { - "fontsize" : 13.0, - "id" : "obj-44", - "linecount" : 4, - "maxclass" : "comment", - "numinlets" : 1, - "numoutlets" : 0, - "patching_rect" : [ 297.0, 283.0, 138.0, 65.0 ], - "saved_attribute_attributes" : { - "textcolor" : { - "expression" : "themecolor.theme_textcolor" - } - - } -, - "text" : "Set the pointcolor of each point. Format is:\n\n" - } - - } -, { - "box" : { - "fontsize" : 13.0, - "id" : "obj-43", - "linecount" : 5, - "maxclass" : "comment", - "numinlets" : 1, - "numoutlets" : 0, - "patching_rect" : [ 467.0, 283.0, 165.0, 79.0 ], - "saved_attribute_attributes" : { - "textcolor" : { - "expression" : "themecolor.theme_textcolor" - } - - } -, - "text" : "You don't need a fluid.dataset~ necessarily. Using the setpoint message you can create a plot point by point." - } - - } -, { - "box" : { - "fontsize" : 13.0, - "id" : "obj-35", - "maxclass" : "newobj", - "numinlets" : 1, - "numoutlets" : 1, - "outlettype" : [ "" ], - "patcher" : { - "fileversion" : 1, - "appversion" : { - "major" : 9, - "minor" : 0, - "revision" : 7, - "architecture" : "x64", - "modernui" : 1 - } -, - "classnamespace" : "box", - "rect" : [ 84.0, 131.0, 255.0, 347.0 ], - "gridsize" : [ 15.0, 15.0 ], - "boxes" : [ { - "box" : { - "comment" : "", - "id" : "obj-5", - "index" : 1, - "maxclass" : "inlet", - "numinlets" : 0, - "numoutlets" : 1, - "outlettype" : [ "int" ], - "patching_rect" : [ 16.5, 16.0, 30.0, 30.0 ] - } - - } -, { - "box" : { - "id" : "obj-13", - "maxclass" : "message", - "numinlets" : 2, - "numoutlets" : 1, - "outlettype" : [ "" ], - "patching_rect" : [ 164.0, 173.0, 52.0, 22.0 ], - "text" : "$1 1000" - } - - } -, { - "box" : { - "id" : "obj-14", - "maxclass" : "newobj", - "numinlets" : 3, - "numoutlets" : 2, - "outlettype" : [ "", "bang" ], - "patching_rect" : [ 164.0, 203.0, 41.0, 22.0 ], - "text" : "line 0." - } - - } -, { - "box" : { - "id" : "obj-11", - "maxclass" : "message", - "numinlets" : 2, - "numoutlets" : 1, - "outlettype" : [ "" ], - "patching_rect" : [ 90.0, 173.0, 52.0, 22.0 ], - "text" : "$1 1000" - } - - } -, { - "box" : { - "id" : "obj-12", - "maxclass" : "newobj", - "numinlets" : 3, - "numoutlets" : 2, - "outlettype" : [ "", "bang" ], - "patching_rect" : [ 90.0, 203.0, 41.0, 22.0 ], - "text" : "line 0." - } - - } -, { - "box" : { - "id" : "obj-6", - "maxclass" : "message", - "numinlets" : 2, - "numoutlets" : 1, - "outlettype" : [ "" ], - "patching_rect" : [ 16.0, 173.0, 52.0, 22.0 ], - "text" : "$1 1000" - } - - } -, { - "box" : { - "id" : "obj-4", - "maxclass" : "newobj", - "numinlets" : 2, - "numoutlets" : 1, - "outlettype" : [ "" ], - "patching_rect" : [ 164.0, 139.0, 73.0, 22.0 ], - "text" : "random 100" - } - - } -, { - "box" : { - "id" : "obj-3", - "maxclass" : "newobj", - "numinlets" : 2, - "numoutlets" : 1, - "outlettype" : [ "" ], - "patching_rect" : [ 90.0, 139.0, 73.0, 22.0 ], - "text" : "random 100" - } - - } -, { - "box" : { - "id" : "obj-2", - "maxclass" : "newobj", - "numinlets" : 2, - "numoutlets" : 1, - "outlettype" : [ "" ], - "patching_rect" : [ 16.0, 139.0, 73.0, 22.0 ], - "text" : "random 100" - } - - } -, { - "box" : { - "id" : "obj-1", - "maxclass" : "newobj", - "numinlets" : 3, - "numoutlets" : 2, - "outlettype" : [ "", "bang" ], - "patching_rect" : [ 16.0, 203.0, 41.0, 22.0 ], - "text" : "line 0." - } - - } -, { - "box" : { - "id" : "obj-28", - "maxclass" : "newobj", - "numinlets" : 1, - "numoutlets" : 1, - "outlettype" : [ "" ], - "patching_rect" : [ 16.0, 267.0, 91.0, 22.0 ], - "text" : "vexpr $f1 / 100." - } - - } -, { - "box" : { - "id" : "obj-27", - "maxclass" : "newobj", - "numinlets" : 3, - "numoutlets" : 1, - "outlettype" : [ "" ], - "patching_rect" : [ 16.0, 232.0, 167.0, 22.0 ], - "text" : "join 3" - } - - } -, { - "box" : { - "id" : "obj-23", - "maxclass" : "newobj", - "numinlets" : 1, - "numoutlets" : 3, - "outlettype" : [ "bang", "bang", "bang" ], - "patching_rect" : [ 16.0, 95.0, 167.0, 22.0 ], - "text" : "t b b b" - } - - } -, { - "box" : { - "id" : "obj-17", - "maxclass" : "newobj", - "numinlets" : 2, - "numoutlets" : 1, - "outlettype" : [ "bang" ], - "patching_rect" : [ 16.0, 55.0, 76.0, 22.0 ], - "text" : "qmetro 1000" - } - - } -, { - "box" : { - "comment" : "", - "id" : "obj-34", - "index" : 1, - "maxclass" : "outlet", - "numinlets" : 1, - "numoutlets" : 0, - "patching_rect" : [ 16.0, 298.0, 30.0, 30.0 ] - } - - } - ], - "lines" : [ { - "patchline" : { - "destination" : [ "obj-27", 0 ], - "source" : [ "obj-1", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-12", 0 ], - "source" : [ "obj-11", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-27", 1 ], - "source" : [ "obj-12", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-14", 0 ], - "source" : [ "obj-13", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-27", 2 ], - "source" : [ "obj-14", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-23", 0 ], - "source" : [ "obj-17", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-6", 0 ], - "source" : [ "obj-2", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-2", 0 ], - "source" : [ "obj-23", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-3", 0 ], - "source" : [ "obj-23", 1 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-4", 0 ], - "source" : [ "obj-23", 2 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-28", 0 ], - "source" : [ "obj-27", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-34", 0 ], - "source" : [ "obj-28", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-11", 0 ], - "source" : [ "obj-3", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-13", 0 ], - "source" : [ "obj-4", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-17", 0 ], - "source" : [ "obj-5", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-1", 0 ], - "source" : [ "obj-6", 0 ] - } - - } - ] - } -, - "patching_rect" : [ 675.0, 325.0, 48.0, 23.0 ], - "text" : "p party" - } - - } -, { - "box" : { - "id" : "obj-4", - "maxclass" : "newobj", - "numinlets" : 1, - "numoutlets" : 1, - "outlettype" : [ "" ], - "patching_rect" : [ 620.0, 480.0, 29.0, 22.0 ], - "text" : "thru" - } - - } -, { - "box" : { - "bubble" : 1, - "fontsize" : 13.0, - "id" : "obj-105", - "maxclass" : "comment", - "numinlets" : 1, - "numoutlets" : 0, - "patching_rect" : [ 76.0, 133.0, 213.0, 25.0 ], - "text" : "generate a random set of points." - } - - } -, { - "box" : { - "id" : "obj-103", - "maxclass" : "button", - "numinlets" : 1, - "numoutlets" : 1, - "outlettype" : [ "bang" ], - "parameter_enable" : 0, - "patching_rect" : [ 50.0, 133.5, 24.0, 24.0 ] - } - - } -, { - "box" : { - "fontsize" : 13.0, - "id" : "obj-100", - "linecount" : 2, - "maxclass" : "comment", - "numinlets" : 1, - "numoutlets" : 0, - "patching_rect" : [ 728.0, 157.5, 131.0, 36.0 ], - "saved_attribute_attributes" : { - "textcolor" : { - "expression" : "themecolor.theme_textcolor" - } - - } -, - "text" : "Change the overall point size scale" - } - - } -, { - "box" : { - "fontsize" : 13.0, - "id" : "obj-99", - "linecount" : 2, - "maxclass" : "comment", - "numinlets" : 1, - "numoutlets" : 0, - "patching_rect" : [ 760.0, 98.0, 160.0, 36.0 ], - "saved_attribute_attributes" : { - "textcolor" : { - "expression" : "themecolor.theme_textcolor" - } - - } -, - "text" : "Change the shape of the points as they're drawn." - } - - } -, { - "box" : { - "fontsize" : 13.0, - "id" : "obj-97", - "linecount" : 2, - "maxclass" : "comment", - "numinlets" : 1, - "numoutlets" : 0, - "patching_rect" : [ 806.0, 385.0, 124.0, 36.0 ], - "saved_attribute_attributes" : { - "textcolor" : { - "expression" : "themecolor.theme_textcolor" - } - - } -, - "text" : "Change the background colour" - } - - } -, { - "box" : { - "fontsize" : 13.0, - "id" : "obj-95", - "maxclass" : "newobj", - "numinlets" : 1, - "numoutlets" : 1, - "outlettype" : [ "" ], - "patcher" : { - "fileversion" : 1, - "appversion" : { - "major" : 9, - "minor" : 0, - "revision" : 7, - "architecture" : "x64", - "modernui" : 1 - } -, - "classnamespace" : "box", - "rect" : [ 59.0, 106.0, 400.0, 263.0 ], - "gridsize" : [ 15.0, 15.0 ], - "boxes" : [ { - "box" : { - "id" : "obj-5", - "maxclass" : "newobj", - "numinlets" : 2, - "numoutlets" : 1, - "outlettype" : [ "" ], - "patching_rect" : [ 22.0, 213.0, 75.0, 22.0 ], - "text" : "join" - } - - } -, { - "box" : { - "id" : "obj-3", - "maxclass" : "newobj", - "numinlets" : 1, - "numoutlets" : 2, - "outlettype" : [ "int", "bang" ], - "patching_rect" : [ 22.0, 58.0, 74.5, 22.0 ], - "text" : "t i b" - } - - } -, { - "box" : { - "id" : "obj-4", - "linecount" : 6, - "maxclass" : "comment", - "numinlets" : 1, - "numoutlets" : 0, - "patching_rect" : [ 236.0, 94.0, 151.0, 87.0 ], - "text" : "the pointcolor message will set the colour for which points will be drawn as. It is determined in red, green, blue, alpha between 0.0 and 1.0." - } - - } -, { - "box" : { - "id" : "obj-2", - "maxclass" : "newobj", - "numinlets" : 2, - "numoutlets" : 3, - "outlettype" : [ "bang", "bang", "int" ], - "patching_rect" : [ 78.0, 94.0, 40.0, 22.0 ], - "text" : "uzi 3" - } - - } -, { - "box" : { - "id" : "obj-1", - "maxclass" : "newobj", - "numinlets" : 2, - "numoutlets" : 2, - "outlettype" : [ "", "" ], - "patching_rect" : [ 78.0, 181.0, 51.0, 22.0 ], - "text" : "zl.group" - } - - } -, { - "box" : { - "id" : "obj-11", - "maxclass" : "newobj", - "numinlets" : 1, - "numoutlets" : 1, - "outlettype" : [ "" ], - "patching_rect" : [ 78.0, 148.0, 151.0, 22.0 ], - "text" : "expr random(0\\, 100) / 100." - } - - } -, { - "box" : { - "comment" : "", - "id" : "obj-86", - "index" : 1, - "maxclass" : "inlet", - "numinlets" : 0, - "numoutlets" : 1, - "outlettype" : [ "int" ], - "patching_rect" : [ 22.0, 11.0, 30.0, 30.0 ] - } - - } -, { - "box" : { - "comment" : "", - "id" : "obj-87", - "index" : 1, - "maxclass" : "outlet", - "numinlets" : 1, - "numoutlets" : 0, - "patching_rect" : [ 22.0, 245.0, 30.0, 30.0 ] - } - - } - ], - "lines" : [ { - "patchline" : { - "destination" : [ "obj-5", 1 ], - "source" : [ "obj-1", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-1", 0 ], - "source" : [ "obj-11", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-1", 0 ], - "midpoints" : [ 98.0, 134.0, 64.0, 134.0, 64.0, 176.0, 87.5, 176.0 ], - "source" : [ "obj-2", 1 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-11", 0 ], - "midpoints" : [ 87.5, 119.0, 87.5, 119.0 ], - "source" : [ "obj-2", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-2", 0 ], - "source" : [ "obj-3", 1 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-5", 0 ], - "source" : [ "obj-3", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-87", 0 ], - "source" : [ "obj-5", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-3", 0 ], - "source" : [ "obj-86", 0 ] - } - - } - ] - } -, - "patching_rect" : [ 266.0, 364.0, 159.0, 23.0 ], - "text" : "p \"generate random color\"" - } - - } -, { - "box" : { - "fontsize" : 13.0, - "id" : "obj-93", - "maxclass" : "message", - "numinlets" : 2, - "numoutlets" : 1, - "outlettype" : [ "" ], - "patching_rect" : [ 266.0, 399.0, 152.0, 23.0 ], - "text" : "pointcolor $1 $2 $3 $4 1." - } - - } -, { - "box" : { - "fontsize" : 13.0, - "id" : "obj-89", - "maxclass" : "newobj", - "numinlets" : 1, - "numoutlets" : 3, - "outlettype" : [ "int", "int", "int" ], - "patching_rect" : [ 81.0, 246.5, 389.0, 23.0 ], - "text" : "t i i i" - } - - } -, { - "box" : { - "fontsize" : 13.0, - "id" : "obj-88", - "maxclass" : "newobj", - "numinlets" : 1, - "numoutlets" : 1, - "outlettype" : [ "" ], - "patcher" : { - "fileversion" : 1, - "appversion" : { - "major" : 9, - "minor" : 0, - "revision" : 7, - "architecture" : "x64", - "modernui" : 1 - } -, - "classnamespace" : "box", - "rect" : [ 59.0, 106.0, 494.0, 309.0 ], - "gridsize" : [ 15.0, 15.0 ], - "boxes" : [ { - "box" : { - "id" : "obj-5", - "linecount" : 5, - "maxclass" : "comment", - "numinlets" : 1, - "numoutlets" : 0, - "patching_rect" : [ 58.0, 18.0, 152.0, 74.0 ], - "text" : "Points are added to the plot with four arguments:\n\n\n" - } - - } -, { - "box" : { - "id" : "obj-3", - "linecount" : 3, - "maxclass" : "comment", - "numinlets" : 1, - "numoutlets" : 0, - "patching_rect" : [ 212.0, 31.5, 243.5, 47.0 ], - "text" : " can be anything and is designed to be extracted from the fluid.dataset~ dictionary dump" - } - - } -, { - "box" : { - "id" : "obj-57", - "maxclass" : "newobj", - "numinlets" : 1, - "numoutlets" : 3, - "outlettype" : [ "int", "bang", "bang" ], - "patching_rect" : [ 21.0, 116.0, 96.0, 22.0 ], - "text" : "t i b b" - } - - } -, { - "box" : { - "id" : "obj-13", - "maxclass" : "newobj", - "numinlets" : 3, - "numoutlets" : 1, - "outlettype" : [ "" ], - "patching_rect" : [ 21.0, 227.0, 96.0, 22.0 ], - "text" : "join 3" - } - - } -, { - "box" : { - "id" : "obj-12", - "maxclass" : "newobj", - "numinlets" : 1, - "numoutlets" : 1, - "outlettype" : [ "" ], - "patching_rect" : [ 216.833333333333314, 169.0, 151.0, 22.0 ], - "text" : "expr random(0\\, 100) / 100." - } - - } -, { - "box" : { - "id" : "obj-11", - "maxclass" : "newobj", - "numinlets" : 1, - "numoutlets" : 1, - "outlettype" : [ "" ], - "patching_rect" : [ 59.5, 169.0, 151.0, 22.0 ], - "text" : "expr random(0\\, 100) / 100." - } - - } -, { - "box" : { - "comment" : "", - "id" : "obj-86", - "index" : 1, - "maxclass" : "inlet", - "numinlets" : 0, - "numoutlets" : 1, - "outlettype" : [ "int" ], - "patching_rect" : [ 21.0, 18.0, 30.0, 30.0 ] - } - - } -, { - "box" : { - "comment" : "", - "id" : "obj-87", - "index" : 1, - "maxclass" : "outlet", - "numinlets" : 1, - "numoutlets" : 0, - "patching_rect" : [ 21.0, 268.0, 30.0, 30.0 ] - } - - } - ], - "lines" : [ { - "patchline" : { - "destination" : [ "obj-13", 1 ], - "source" : [ "obj-11", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-13", 2 ], - "midpoints" : [ 226.333333333333314, 213.0, 107.5, 213.0 ], - "source" : [ "obj-12", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-87", 0 ], - "source" : [ "obj-13", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-11", 0 ], - "source" : [ "obj-57", 1 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-12", 0 ], - "midpoints" : [ 107.5, 156.0, 226.333333333333314, 156.0 ], - "source" : [ "obj-57", 2 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-13", 0 ], - "midpoints" : [ 30.5, 141.0, 30.5, 141.0 ], - "source" : [ "obj-57", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-57", 0 ], - "midpoints" : [ 30.5, 50.0, 30.5, 50.0 ], - "source" : [ "obj-86", 0 ] - } - - } - ] - } -, - "patching_rect" : [ 451.0, 364.0, 159.0, 23.0 ], - "text" : "p \"generate random point\"" - } - - } -, { - "box" : { - "fontsize" : 13.0, - "id" : "obj-80", - "maxclass" : "newobj", - "numinlets" : 1, - "numoutlets" : 2, - "outlettype" : [ "bang", "clear" ], - "patching_rect" : [ 50.0, 171.0, 103.0, 23.0 ], - "text" : "t b clear" - } - - } -, { - "box" : { - "fontsize" : 13.0, - "id" : "obj-51", - "maxclass" : "message", - "numinlets" : 2, - "numoutlets" : 1, - "outlettype" : [ "" ], - "patching_rect" : [ 674.0, 121.0, 78.0, 23.0 ], - "text" : "shape circle" - } - - } -, { - "box" : { - "fontsize" : 13.0, - "id" : "obj-50", - "maxclass" : "message", - "numinlets" : 2, - "numoutlets" : 1, - "outlettype" : [ "" ], - "patching_rect" : [ 674.0, 84.0, 87.0, 23.0 ], - "text" : "shape square" - } - - } -, { - "box" : { - "fontsize" : 13.0, - "format" : 6, - "id" : "obj-48", - "maxclass" : "flonum", - "numinlets" : 1, - "numoutlets" : 2, - "outlettype" : [ "", "bang" ], - "parameter_enable" : 1, - "patching_rect" : [ 674.0, 163.0, 50.0, 23.0 ], - "saved_attribute_attributes" : { - "valueof" : { - "parameter_initial" : [ 1 ], - "parameter_initial_enable" : 1, - "parameter_invisible" : 1, - "parameter_longname" : "number[1]", - "parameter_modmode" : 0, - "parameter_shortname" : "number[1]", - "parameter_type" : 3 - } - - } -, - "varname" : "number" - } - - } -, { - "box" : { - "fontsize" : 13.0, - "id" : "obj-46", - "maxclass" : "message", - "numinlets" : 2, - "numoutlets" : 1, - "outlettype" : [ "" ], - "patching_rect" : [ 674.0, 199.0, 108.0, 23.0 ], - "text" : "pointsizescale $1" - } - - } -, { - "box" : { - "fontsize" : 13.0, - "id" : "obj-31", - "maxclass" : "newobj", - "numinlets" : 1, - "numoutlets" : 1, - "outlettype" : [ "" ], - "patching_rect" : [ 675.0, 439.0, 102.0, 23.0 ], - "text" : "prepend bgcolor" - } - - } -, { - "box" : { - "id" : "obj-26", - "maxclass" : "swatch", - "numinlets" : 3, - "numoutlets" : 2, - "outlettype" : [ "", "float" ], - "parameter_enable" : 0, - "patching_rect" : [ 675.0, 364.0, 125.0, 70.0 ], - "saturation" : 0.725490196078431 - } - - } -, { - "box" : { - "fontsize" : 13.0, - "id" : "obj-19", - "maxclass" : "newobj", - "numinlets" : 2, - "numoutlets" : 3, - "outlettype" : [ "bang", "bang", "int" ], - "patching_rect" : [ 50.0, 205.0, 50.0, 23.0 ], - "text" : "uzi 200" - } - - } -, { - "box" : { - "fontsize" : 13.0, - "id" : "obj-7", - "maxclass" : "message", - "numinlets" : 2, - "numoutlets" : 1, - "outlettype" : [ "" ], - "patching_rect" : [ 451.0, 399.0, 108.0, 23.0 ], - "text" : "setpoint $1 $2 $3" - } - - } -, { - "box" : { - "bgmode" : 0, - "border" : 0, - "clickthrough" : 0, - "enablehscroll" : 0, - "enablevscroll" : 0, - "id" : "obj-1", - "lockeddragscroll" : 0, - "lockedsize" : 0, - "maxclass" : "bpatcher", - "name" : "fluid.jit.plotter.maxpat", - "numinlets" : 2, - "numoutlets" : 2, - "offset" : [ 0.0, 0.0 ], - "outlettype" : [ "", "" ], - "patching_rect" : [ 50.0, 455.0, 284.0, 284.0 ], - "viewvisibility" : 1 - } - - } -, { - "box" : { - "border" : 0, - "filename" : "helpdetails.js", - "id" : "obj-3", - "ignoreclick" : 1, - "jsarguments" : [ "fluid.jit.plotter" ], - "maxclass" : "jsui", - "numinlets" : 1, - "numoutlets" : 1, - "outlettype" : [ "" ], - "parameter_enable" : 0, - "patching_rect" : [ 10.0, 10.0, 320.0, 54.0 ] - } - - } -, { - "box" : { - "angle" : 270.0, - "background" : 1, - "bgcolor" : [ 0.2, 0.2, 0.2, 0.0 ], - "border" : 2, - "bordercolor" : [ 0.0, 0.0, 0.0, 0.980392156862745 ], - "id" : "obj-41", - "maxclass" : "panel", - "mode" : 0, - "numinlets" : 1, - "numoutlets" : 0, - "patching_rect" : [ 666.0, 70.0, 274.0, 410.0 ], - "proportion" : 0.5 - } - - } - ], - "lines" : [ { - "patchline" : { - "destination" : [ "obj-34", 0 ], - "source" : [ "obj-1", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-35", 0 ], - "midpoints" : [ 769.5, 357.5, 741.91796875, 357.5, 741.91796875, 315.0, 684.5, 315.0 ], - "source" : [ "obj-10", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-80", 0 ], - "source" : [ "obj-103", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-20", 0 ], - "source" : [ "obj-17", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-34", 1 ], - "midpoints" : [ 75.0, 234.0, 20.0, 234.0, 20.0, 746.0, 245.0, 746.0 ], - "source" : [ "obj-19", 1 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-89", 0 ], - "source" : [ "obj-19", 2 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-1", 0 ], - "midpoints" : [ 90.5, 440.0, 59.5, 440.0 ], - "source" : [ "obj-20", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-31", 0 ], - "source" : [ "obj-26", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-4", 0 ], - "midpoints" : [ 684.5, 469.0, 629.5, 469.0 ], - "source" : [ "obj-31", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-1", 0 ], - "source" : [ "obj-34", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-26", 0 ], - "source" : [ "obj-35", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-1", 0 ], - "midpoints" : [ 629.5, 511.0, 346.0, 511.0, 346.0, 442.0, 59.5, 442.0 ], - "source" : [ "obj-4", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-4", 0 ], - "midpoints" : [ 683.5, 230.0, 629.5, 230.0 ], - "source" : [ "obj-46", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-46", 0 ], - "source" : [ "obj-48", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-4", 0 ], - "midpoints" : [ 683.5, 114.640625, 629.5, 114.640625 ], - "source" : [ "obj-50", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-4", 0 ], - "midpoints" : [ 683.5, 153.03125, 629.5, 153.03125 ], - "source" : [ "obj-51", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-1", 0 ], - "midpoints" : [ 460.5, 440.0, 59.5, 440.0 ], - "source" : [ "obj-7", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-9", 0 ], - "source" : [ "obj-8", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-1", 0 ], - "midpoints" : [ 143.5, 240.0, 61.0, 240.0, 61.0, 449.0, 59.5, 449.0 ], - "source" : [ "obj-80", 1 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-19", 0 ], - "source" : [ "obj-80", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-34", 2 ], - "order" : 0, - "source" : [ "obj-88", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-7", 0 ], - "midpoints" : [ 460.5, 389.0, 460.5, 389.0 ], - "order" : 1, - "source" : [ "obj-88", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-17", 0 ], - "source" : [ "obj-89", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-88", 0 ], - "source" : [ "obj-89", 2 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-95", 0 ], - "source" : [ "obj-89", 1 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-4", 0 ], - "midpoints" : [ 683.5, 312.5, 629.5, 312.5 ], - "source" : [ "obj-9", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-1", 0 ], - "midpoints" : [ 275.5, 440.0, 59.5, 440.0 ], - "source" : [ "obj-93", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-93", 0 ], - "source" : [ "obj-95", 0 ] - } - - } - ], - "styles" : [ { - "name" : "max6box", - "default" : { - "accentcolor" : [ 0.8, 0.839216, 0.709804, 1.0 ], - "bgcolor" : [ 1.0, 1.0, 1.0, 0.5 ], - "textcolor_inverse" : [ 0.0, 0.0, 0.0, 1.0 ] - } -, - "parentstyle" : "", - "multi" : 0 - } -, { - "name" : "max6inlet", - "default" : { - "color" : [ 0.423529, 0.372549, 0.27451, 1.0 ] - } -, - "parentstyle" : "", - "multi" : 0 - } -, { - "name" : "max6message", - "default" : { - "bgfillcolor" : { - "angle" : 270.0, - "autogradient" : 0, - "color" : [ 0.290196, 0.309804, 0.301961, 1.0 ], - "color1" : [ 0.866667, 0.866667, 0.866667, 1.0 ], - "color2" : [ 0.788235, 0.788235, 0.788235, 1.0 ], - "proportion" : 0.39, - "type" : "gradient" - } -, - "textcolor_inverse" : [ 0.0, 0.0, 0.0, 1.0 ] - } -, - "parentstyle" : "max6box", - "multi" : 0 - } -, { - "name" : "max6outlet", - "default" : { - "color" : [ 0.0, 0.454902, 0.498039, 1.0 ] - } -, - "parentstyle" : "", - "multi" : 0 - } - ] - } -, - "patching_rect" : [ 204.0, 24.0, 71.0, 22.0 ], - "text" : "p advanced", - "varname" : "advanced[1]" - } - - } -, { - "box" : { - "id" : "obj-7", - "maxclass" : "newobj", - "numinlets" : 0, - "numoutlets" : 0, - "patcher" : { - "fileversion" : 1, - "appversion" : { - "major" : 9, - "minor" : 0, - "revision" : 7, - "architecture" : "x64", - "modernui" : 1 - } -, - "classnamespace" : "box", - "rect" : [ 0.0, 26.0, 963.0, 792.0 ], - "gridsize" : [ 15.0, 15.0 ], - "showontab" : 1, - "boxes" : [ ], - "lines" : [ ] - } -, - "patching_rect" : [ 515.0, 23.0, 25.0, 22.0 ], - "text" : "p ?" - } - - } -, { - "box" : { - "id" : "obj-6", - "maxclass" : "newobj", - "numinlets" : 0, - "numoutlets" : 0, - "patcher" : { - "fileversion" : 1, - "appversion" : { - "major" : 9, - "minor" : 0, - "revision" : 7, - "architecture" : "x64", - "modernui" : 1 - } -, - "classnamespace" : "box", - "rect" : [ 0.0, 26.0, 963.0, 792.0 ], - "gridonopen" : 2, - "gridsize" : [ 10.0, 10.0 ], - "gridsnaponopen" : 2, - "showontab" : 1, - "boxes" : [ { - "box" : { - "bubble" : 1, - "id" : "obj-8", - "linecount" : 3, - "maxclass" : "comment", - "numinlets" : 1, - "numoutlets" : 0, - "patching_rect" : [ 630.5, 373.0, 180.0, 51.0 ], - "saved_attribute_attributes" : { - "bubble_bgcolor" : { - "expression" : "themecolor.theme_bubble_bgcolor" - } -, - "textcolor" : { - "expression" : "themecolor.theme_textcolor" - } - - } -, - "text" : "Zoom in the plot using option/alt+drag and explore! Pan around using shift+drag." - } - - } -, { - "box" : { - "dontreplace" : 1, - "id" : "obj-7", - "maxclass" : "message", - "numinlets" : 2, - "numoutlets" : 1, - "outlettype" : [ "" ], - "patching_rect" : [ 407.0, 590.0, 224.0, 22.0 ] - } - - } -, { - "box" : { - "id" : "obj-33", - "maxclass" : "message", - "numinlets" : 2, - "numoutlets" : 1, - "outlettype" : [ "" ], - "patching_rect" : [ 681.0, 500.0, 78.0, 22.0 ], - "text" : "zoomfactor 2" - } - - } -, { - "box" : { - "id" : "obj-30", - "maxclass" : "newobj", - "numinlets" : 1, - "numoutlets" : 2, - "outlettype" : [ "", "" ], - "patching_rect" : [ 681.0, 529.0, 67.0, 22.0 ], - "save" : [ "#N", "thispatcher", ";", "#Q", "end", ";" ], - "text" : "thispatcher" - } - - } -, { - "box" : { - "bubble" : 1, - "bubbleside" : 2, - "fontsize" : 13.0, - "id" : "obj-29", - "linecount" : 2, - "maxclass" : "comment", - "numinlets" : 1, - "numoutlets" : 0, - "patching_rect" : [ 640.0, 443.0, 162.0, 55.0 ], - "saved_attribute_attributes" : { - "bubble_bgcolor" : { - "expression" : "themecolor.theme_bubble_bgcolor" - } -, - "textcolor" : { - "expression" : "themecolor.theme_textcolor" - } - - } -, - "text" : "Alternatively you can also zoom the patcher." - } - - } -, { - "box" : { - "fontsize" : 13.0, - "id" : "obj-28", - "linecount" : 3, - "maxclass" : "comment", - "numinlets" : 1, - "numoutlets" : 0, - "patching_rect" : [ 640.0, 310.0, 186.0, 50.0 ], - "saved_attribute_attributes" : { - "textcolor" : { - "expression" : "themecolor.theme_textcolor" - } - - } -, - "text" : "On the first glance it looks like that almost the whole plot turned black." - } - - } -, { - "box" : { - "id" : "obj-27", - "maxclass" : "number", - "numinlets" : 1, - "numoutlets" : 2, - "outlettype" : [ "", "bang" ], - "parameter_enable" : 0, - "patching_rect" : [ 110.0, 490.0, 80.0, 22.0 ] - } - - } -, { - "box" : { - "id" : "obj-23", - "maxclass" : "newobj", - "numinlets" : 1, - "numoutlets" : 1, - "outlettype" : [ "" ], - "patching_rect" : [ 700.0, 80.0, 87.0, 22.0 ], - "text" : "loadmess 0.04" - } - - } -, { - "box" : { - "id" : "obj-19", - "maxclass" : "newobj", - "numinlets" : 2, - "numoutlets" : 2, - "outlettype" : [ "", "" ], - "patching_rect" : [ 110.0, 460.0, 61.0, 22.0 ], - "text" : "route size" - } - - } -, { - "box" : { - "bubble" : 1, - "fontsize" : 13.0, - "id" : "obj-10", - "maxclass" : "comment", - "numinlets" : 1, - "numoutlets" : 0, - "patching_rect" : [ 78.0, 129.5, 169.0, 25.0 ], - "saved_attribute_attributes" : { - "bubble_bgcolor" : { - "expression" : "themecolor.theme_bubble_bgcolor" - } -, - "textcolor" : { - "expression" : "themecolor.theme_textcolor" - } - - } -, - "text" : "Generate 1 million points" - } - - } -, { - "box" : { - "fontsize" : 13.0, - "id" : "obj-100", - "linecount" : 3, - "maxclass" : "comment", - "numinlets" : 1, - "numoutlets" : 0, - "patching_rect" : [ 700.0, 198.0, 193.0, 50.0 ], - "saved_attribute_attributes" : { - "textcolor" : { - "expression" : "themecolor.theme_textcolor" - } - - } -, - "text" : "Note that with large datasets it is likely that you have to reduce the default point size scale." - } - - } -, { - "box" : { - "format" : 6, - "id" : "obj-48", - "maxclass" : "flonum", - "numinlets" : 1, - "numoutlets" : 2, - "outlettype" : [ "", "bang" ], - "parameter_enable" : 0, - "patching_rect" : [ 700.0, 107.5, 50.0, 22.0 ] - } - - } -, { - "box" : { - "fontsize" : 13.0, - "id" : "obj-46", - "maxclass" : "message", - "numinlets" : 2, - "numoutlets" : 1, - "outlettype" : [ "" ], - "patching_rect" : [ 700.0, 140.0, 108.0, 23.0 ], - "text" : "pointsizescale $1" - } - - } -, { - "box" : { - "id" : "obj-79", - "maxclass" : "message", - "numinlets" : 2, - "numoutlets" : 1, - "outlettype" : [ "" ], - "patching_rect" : [ 66.0, 388.0, 30.0, 22.0 ], - "text" : "size" - } - - } -, { - "box" : { - "id" : "obj-72", - "maxclass" : "newobj", - "numinlets" : 2, - "numoutlets" : 1, - "outlettype" : [ "" ], - "patching_rect" : [ 320.0, 560.0, 47.0, 22.0 ], - "text" : "qlim 20" - } - - } -, { - "box" : { - "id" : "obj-55", - "maxclass" : "message", - "numinlets" : 2, - "numoutlets" : 1, - "outlettype" : [ "" ], - "patching_rect" : [ 20.0, 129.5, 55.0, 22.0 ], - "text" : "1000000" - } - - } -, { - "box" : { - "id" : "obj-1", - "maxclass" : "newobj", - "numinlets" : 1, - "numoutlets" : 1, - "outlettype" : [ "" ], - "patching_rect" : [ 320.0, 717.0, 101.0, 22.0 ], - "text" : "prepend highlight" - } - - } -, { - "box" : { - "id" : "obj-32", - "maxclass" : "message", - "numinlets" : 2, - "numoutlets" : 1, - "outlettype" : [ "" ], - "patching_rect" : [ 320.0, 198.0, 132.0, 22.0 ], - "text" : "refer help.large.dummy" - } - - } -, { - "box" : { - "id" : "obj-17", - "maxclass" : "message", - "numinlets" : 2, - "numoutlets" : 1, - "outlettype" : [ "" ], - "patching_rect" : [ 66.0, 623.0, 117.0, 22.0 ], - "text" : "fit help.large.dummy" - } - - } -, { - "box" : { - "id" : "obj-34", - "maxclass" : "message", - "numinlets" : 2, - "numoutlets" : 1, - "outlettype" : [ "" ], - "patching_rect" : [ 320.0, 623.0, 76.0, 22.0 ], - "text" : "knearest $2" - } - - } -, { - "box" : { - "id" : "obj-47", - "maxclass" : "newobj", - "numinlets" : 1, - "numoutlets" : 1, - "outlettype" : [ "buffer" ], - "patching_rect" : [ 320.0, 590.0, 77.0, 22.0 ], - "text" : "fluid.list2buf" - } - - } -, { - "box" : { - "id" : "obj-12", - "maxclass" : "newobj", - "numinlets" : 2, - "numoutlets" : 2, - "outlettype" : [ "", "" ], - "patching_rect" : [ 320.0, 688.0, 92.0, 22.0 ], - "text" : "route knearest" - } - - } -, { - "box" : { - "id" : "obj-15", - "maxclass" : "newobj", - "numinlets" : 1, - "numoutlets" : 2, - "outlettype" : [ "", "" ], - "patching_rect" : [ 320.0, 655.0, 324.0, 22.0 ], - "text" : "fluid.kdtree~ help.large.dummy.tree @numneighbours 1000" - } - - } -, { - "box" : { - "id" : "obj-21", - "maxclass" : "newobj", - "numinlets" : 1, - "numoutlets" : 1, - "outlettype" : [ "" ], - "patching_rect" : [ 110.0, 388.0, 98.0, 22.0 ], - "text" : "prepend setpoint" - } - - } -, { - "box" : { - "id" : "obj-20", - "maxclass" : "message", - "numinlets" : 2, - "numoutlets" : 1, - "outlettype" : [ "" ], - "patching_rect" : [ 184.0, 329.5, 29.5, 22.0 ], - "text" : "$2" - } - - } -, { - "box" : { - "id" : "obj-18", - "maxclass" : "newobj", - "numinlets" : 1, - "numoutlets" : 1, - "outlettype" : [ "buffer" ], - "patching_rect" : [ 184.0, 302.0, 72.0, 22.0 ], - "text" : "fluid.list2buf" - } - - } -, { - "box" : { - "id" : "obj-14", - "maxclass" : "newobj", - "numinlets" : 2, - "numoutlets" : 1, - "outlettype" : [ "" ], - "patching_rect" : [ 110.0, 357.0, 93.0, 22.0 ], - "text" : "join @triggers 1" - } - - } -, { - "box" : { - "id" : "obj-13", - "maxclass" : "newobj", - "numinlets" : 1, - "numoutlets" : 2, - "outlettype" : [ "", "" ], - "patching_rect" : [ 110.0, 430.0, 179.0, 22.0 ], - "text" : "fluid.dataset~ help.large.dummy" - } - - } -, { - "box" : { - "id" : "obj-11", - "maxclass" : "newobj", - "numinlets" : 1, - "numoutlets" : 2, - "outlettype" : [ "", "" ], - "patching_rect" : [ 20.0, 257.5, 41.0, 22.0 ], - "text" : "jit.spill" - } - - } -, { - "box" : { - "id" : "obj-4", - "maxclass" : "newobj", - "numinlets" : 1, - "numoutlets" : 2, - "outlettype" : [ "jit_matrix", "" ], - "patching_rect" : [ 20.0, 228.5, 109.0, 22.0 ], - "text" : "jit.noise 1 float64 2" - } - - } -, { - "box" : { - "id" : "obj-5", - "maxclass" : "newobj", - "numinlets" : 2, - "numoutlets" : 3, - "outlettype" : [ "bang", "bang", "int" ], - "patching_rect" : [ 20.0, 160.0, 109.0, 22.0 ], - "text" : "uzi 1 0" - } - - } -, { - "box" : { - "attr" : "numneighbours", - "id" : "obj-37", - "maxclass" : "attrui", - "numinlets" : 1, - "numoutlets" : 1, - "outlettype" : [ "" ], - "parameter_enable" : 0, - "patching_rect" : [ 407.0, 623.0, 173.0, 22.0 ], - "text_width" : 114.0 - } - - } -, { - "box" : { - "args" : [ "bpat" ], - "bgmode" : 0, - "border" : 0, - "clickthrough" : 0, - "enablehscroll" : 0, - "enablevscroll" : 0, - "id" : "obj-91", - "lockeddragscroll" : 0, - "lockedsize" : 0, - "maxclass" : "bpatcher", - "name" : "fluid.jit.plotter.maxpat", - "numinlets" : 2, - "numoutlets" : 2, - "offset" : [ 0.0, 0.0 ], - "outlettype" : [ "", "" ], - "patching_rect" : [ 320.0, 240.0, 311.0, 311.0 ], - "viewvisibility" : 1 - } - - } -, { - "box" : { - "bgcolor" : [ 1.0, 0.788235, 0.470588, 1.0 ], - "fontname" : "Arial Bold", - "hint" : "", - "id" : "obj-62", - "ignoreclick" : 1, - "legacytextcolor" : 1, - "maxclass" : "textbutton", - "numinlets" : 1, - "numoutlets" : 3, - "outlettype" : [ "", "", "int" ], - "parameter_enable" : 0, - "patching_rect" : [ 895.0, 213.0, 20.0, 20.0 ], - "rounded" : 60.0, - "text" : "4", - "textcolor" : [ 0.34902, 0.34902, 0.34902, 1.0 ] - } - - } -, { - "box" : { - "bgcolor" : [ 1.0, 0.788235, 0.470588, 1.0 ], - "fontname" : "Arial Bold", - "fontsize" : 13.0, - "hint" : "", - "id" : "obj-53", - "ignoreclick" : 1, - "legacytextcolor" : 1, - "maxclass" : "textbutton", - "numinlets" : 1, - "numoutlets" : 3, - "outlettype" : [ "", "", "int" ], - "parameter_enable" : 0, - "patching_rect" : [ 806.0, 450.0, 20.0, 20.0 ], - "rounded" : 60.0, - "text" : "3", - "textcolor" : [ 0.34902, 0.34902, 0.34902, 1.0 ] - } - - } -, { - "box" : { - "bgcolor" : [ 1.0, 0.788235, 0.470588, 1.0 ], - "fontname" : "Arial Bold", - "fontsize" : 13.0, - "hint" : "", - "id" : "obj-52", - "ignoreclick" : 1, - "legacytextcolor" : 1, - "maxclass" : "textbutton", - "numinlets" : 1, - "numoutlets" : 3, - "outlettype" : [ "", "", "int" ], - "parameter_enable" : 0, - "patching_rect" : [ 814.0, 389.0, 20.0, 20.0 ], - "rounded" : 60.0, - "text" : "2", - "textcolor" : [ 0.34902, 0.34902, 0.34902, 1.0 ] - } - - } -, { - "box" : { - "bgcolor" : [ 1.0, 0.788235, 0.470588, 1.0 ], - "fontname" : "Arial Bold", - "fontsize" : 13.0, - "hint" : "", - "id" : "obj-50", - "ignoreclick" : 1, - "legacytextcolor" : 1, - "maxclass" : "textbutton", - "numinlets" : 1, - "numoutlets" : 3, - "outlettype" : [ "", "", "int" ], - "parameter_enable" : 0, - "patching_rect" : [ 249.0, 132.0, 20.0, 20.0 ], - "rounded" : 60.0, - "text" : "1", - "textcolor" : [ 0.34902, 0.34902, 0.34902, 1.0 ] - } - - } -, { - "box" : { - "fontsize" : 13.0, - "id" : "obj-6", - "linecount" : 2, - "maxclass" : "comment", - "numinlets" : 1, - "numoutlets" : 0, - "patching_rect" : [ 10.0, 66.0, 578.0, 36.0 ], - "saved_attribute_attributes" : { - "textcolor" : { - "expression" : "themecolor.theme_textcolor" - } - - } -, - "text" : "fluid.jit.plotter really shines with very large datasets. Since it is based on a jit.gl.render instead of jsui, it can take datasets with millions of points and highlight thousands without much lag." - } - - } -, { - "box" : { - "border" : 0, - "filename" : "helpdetails.js", - "id" : "obj-3", - "ignoreclick" : 1, - "jsarguments" : [ "fluid.jit.plotter" ], - "maxclass" : "jsui", - "numinlets" : 1, - "numoutlets" : 1, - "outlettype" : [ "" ], - "parameter_enable" : 0, - "patching_rect" : [ 10.0, 10.0, 320.0, 54.0 ] - } - - } - ], - "lines" : [ { - "patchline" : { - "destination" : [ "obj-91", 0 ], - "midpoints" : [ 329.5, 747.0, 311.5, 747.0, 311.5, 229.0, 329.5, 229.0 ], - "source" : [ "obj-1", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-18", 0 ], - "source" : [ "obj-11", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-1", 0 ], - "source" : [ "obj-12", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-19", 0 ], - "source" : [ "obj-13", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-21", 0 ], - "source" : [ "obj-14", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-12", 0 ], - "source" : [ "obj-15", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-15", 0 ], - "source" : [ "obj-17", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-20", 0 ], - "source" : [ "obj-18", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-27", 0 ], - "source" : [ "obj-19", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-14", 1 ], - "source" : [ "obj-20", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-13", 0 ], - "source" : [ "obj-21", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-48", 0 ], - "source" : [ "obj-23", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-91", 0 ], - "source" : [ "obj-32", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-30", 0 ], - "source" : [ "obj-33", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-15", 0 ], - "midpoints" : [ 329.5, 657.789124000000015, 329.5, 657.789124000000015 ], - "source" : [ "obj-34", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-15", 0 ], - "source" : [ "obj-37", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-11", 0 ], - "source" : [ "obj-4", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-91", 1 ], - "midpoints" : [ 709.5, 174.0, 621.5, 174.0 ], - "source" : [ "obj-46", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-34", 0 ], - "source" : [ "obj-47", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-46", 0 ], - "source" : [ "obj-48", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-14", 0 ], - "source" : [ "obj-5", 2 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-17", 0 ], - "order" : 1, - "source" : [ "obj-5", 1 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-32", 0 ], - "order" : 0, - "source" : [ "obj-5", 1 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-4", 0 ], - "source" : [ "obj-5", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-79", 0 ], - "order" : 2, - "source" : [ "obj-5", 1 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-5", 0 ], - "source" : [ "obj-55", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-47", 0 ], - "order" : 1, - "source" : [ "obj-72", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-7", 1 ], - "midpoints" : [ 329.5, 585.5, 621.5, 585.5 ], - "order" : 0, - "source" : [ "obj-72", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-13", 0 ], - "source" : [ "obj-79", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-72", 0 ], - "source" : [ "obj-91", 0 ] - } - - } - ], - "styles" : [ { - "name" : "max6box", - "default" : { - "accentcolor" : [ 0.8, 0.839216, 0.709804, 1.0 ], - "bgcolor" : [ 1.0, 1.0, 1.0, 0.5 ], - "textcolor_inverse" : [ 0.0, 0.0, 0.0, 1.0 ] - } -, - "parentstyle" : "", - "multi" : 0 - } -, { - "name" : "max6inlet", - "default" : { - "color" : [ 0.423529, 0.372549, 0.27451, 1.0 ] - } -, - "parentstyle" : "", - "multi" : 0 - } -, { - "name" : "max6message", - "default" : { - "bgfillcolor" : { - "angle" : 270.0, - "autogradient" : 0, - "color" : [ 0.290196, 0.309804, 0.301961, 1.0 ], - "color1" : [ 0.866667, 0.866667, 0.866667, 1.0 ], - "color2" : [ 0.788235, 0.788235, 0.788235, 1.0 ], - "proportion" : 0.39, - "type" : "gradient" - } -, - "textcolor_inverse" : [ 0.0, 0.0, 0.0, 1.0 ] - } -, - "parentstyle" : "max6box", - "multi" : 0 - } -, { - "name" : "max6outlet", - "default" : { - "color" : [ 0.0, 0.454902, 0.498039, 1.0 ] - } -, - "parentstyle" : "", - "multi" : 0 - } - ] - } -, - "patching_rect" : [ 392.0, 23.0, 102.0, 22.0 ], - "text" : "p \"large datasets\"" - } - - } -, { - "box" : { - "id" : "obj-4", - "maxclass" : "newobj", - "numinlets" : 0, - "numoutlets" : 0, - "patcher" : { - "fileversion" : 1, - "appversion" : { - "major" : 9, - "minor" : 0, - "revision" : 7, - "architecture" : "x64", - "modernui" : 1 - } -, - "classnamespace" : "box", - "rect" : [ 0.0, 26.0, 963.0, 792.0 ], - "gridonopen" : 2, - "gridsize" : [ 10.0, 10.0 ], - "gridsnaponopen" : 2, - "showontab" : 1, - "boxes" : [ { - "box" : { - "bgcolor" : [ 1.0, 0.788235, 0.470588, 1.0 ], - "fontname" : "Arial Bold", - "fontsize" : 13.0, - "hint" : "", - "id" : "obj-52", - "ignoreclick" : 1, - "legacytextcolor" : 1, - "maxclass" : "textbutton", - "numinlets" : 1, - "numoutlets" : 3, - "outlettype" : [ "", "", "int" ], - "parameter_enable" : 0, - "patching_rect" : [ 862.625, 436.0, 20.0, 20.0 ], - "rounded" : 60.0, - "text" : "2", - "textcolor" : [ 0.34902, 0.34902, 0.34902, 1.0 ] - } - - } -, { - "box" : { - "bubble" : 1, - "bubbleside" : 2, - "fontsize" : 13.0, - "id" : "obj-25", - "linecount" : 3, - "maxclass" : "comment", - "numinlets" : 1, - "numoutlets" : 0, - "patching_rect" : [ 708.875, 419.0, 151.75, 69.0 ], - "text" : "alter the amount or direction of the panning (when shift + dragging)." - } - - } -, { - "box" : { - "id" : "obj-24", - "maxclass" : "message", - "numinlets" : 2, - "numoutlets" : 1, - "outlettype" : [ "" ], - "patching_rect" : [ 810.0, 490.0, 29.5, 22.0 ], - "text" : "-1" - } - - } -, { - "box" : { - "id" : "obj-23", - "maxclass" : "message", - "numinlets" : 2, - "numoutlets" : 1, - "outlettype" : [ "" ], - "patching_rect" : [ 730.0, 490.0, 29.5, 22.0 ], - "text" : "0.1" - } - - } -, { - "box" : { - "id" : "obj-22", - "maxclass" : "message", - "numinlets" : 2, - "numoutlets" : 1, - "outlettype" : [ "" ], - "patching_rect" : [ 770.0, 490.0, 29.5, 22.0 ], - "text" : "1" - } - - } -, { - "box" : { - "format" : 6, - "id" : "obj-20", - "maxclass" : "flonum", - "numinlets" : 1, - "numoutlets" : 2, - "outlettype" : [ "", "bang" ], - "parameter_enable" : 1, - "patching_rect" : [ 770.0, 530.0, 50.0, 22.0 ], - "saved_attribute_attributes" : { - "valueof" : { - "parameter_initial" : [ 1 ], - "parameter_initial_enable" : 1, - "parameter_invisible" : 1, - "parameter_longname" : "number", - "parameter_modmode" : 0, - "parameter_shortname" : "number", - "parameter_type" : 3 - } - - } -, - "varname" : "number" - } - - } -, { - "box" : { - "id" : "obj-14", - "maxclass" : "message", - "numinlets" : 2, - "numoutlets" : 1, - "outlettype" : [ "" ], - "patching_rect" : [ 770.0, 560.0, 75.0, 22.0 ], - "text" : "panfactor $1" - } - - } -, { - "box" : { - "id" : "obj-4", - "maxclass" : "newobj", - "numinlets" : 1, - "numoutlets" : 3, - "outlettype" : [ "bang", "bang", "bang" ], - "patching_rect" : [ 37.0, 152.5, 63.0, 22.0 ], - "text" : "b 3" - } - - } -, { - "box" : { - "fontsize" : 13.0, - "id" : "obj-15", - "maxclass" : "newobj", - "numinlets" : 1, - "numoutlets" : 1, - "outlettype" : [ "" ], - "patcher" : { - "fileversion" : 1, - "appversion" : { - "major" : 9, - "minor" : 0, - "revision" : 7, - "architecture" : "x64", - "modernui" : 1 - } -, - "classnamespace" : "box", - "rect" : [ 59.0, 105.0, 243.0, 243.0 ], - "gridsize" : [ 15.0, 15.0 ], - "boxes" : [ { - "box" : { - "id" : "obj-1", - "linecount" : 2, - "maxclass" : "newobj", - "numinlets" : 1, - "numoutlets" : 2, - "outlettype" : [ "", "" ], - "patching_rect" : [ 85.0, 202.0, 109.0, 35.0 ], - "text" : "fluid.labelset~ clustering.zooming" - } - - } -, { - "box" : { - "id" : "obj-83", - "maxclass" : "message", - "numinlets" : 2, - "numoutlets" : 1, - "outlettype" : [ "" ], - "patching_rect" : [ 14.0, 167.5, 137.0, 22.0 ], - "text" : "refer clustering.zooming" - } - - } -, { - "box" : { - "id" : "obj-80", - "maxclass" : "newobj", - "numinlets" : 2, - "numoutlets" : 2, - "outlettype" : [ "", "" ], - "patching_rect" : [ 14.0, 133.5, 85.0, 22.0 ], - "text" : "route fitpredict" - } - - } -, { - "box" : { - "id" : "obj-78", - "linecount" : 2, - "maxclass" : "message", - "numinlets" : 2, - "numoutlets" : 1, - "outlettype" : [ "" ], - "patching_rect" : [ 14.0, 60.0, 180.0, 35.0 ], - "text" : "clear, fitpredict plotting.zooming clustering.zooming" - } - - } -, { - "box" : { - "id" : "obj-76", - "maxclass" : "newobj", - "numinlets" : 1, - "numoutlets" : 2, - "outlettype" : [ "", "" ], - "patching_rect" : [ 14.0, 103.0, 173.0, 22.0 ], - "text" : "fluid.kmeans~ @numclusters 4" - } - - } -, { - "box" : { - "comment" : "", - "id" : "obj-13", - "index" : 1, - "maxclass" : "inlet", - "numinlets" : 0, - "numoutlets" : 1, - "outlettype" : [ "bang" ], - "patching_rect" : [ 14.0, 11.0, 30.0, 30.0 ] - } - - } -, { - "box" : { - "comment" : "", - "id" : "obj-14", - "index" : 1, - "maxclass" : "outlet", - "numinlets" : 1, - "numoutlets" : 0, - "patching_rect" : [ 14.0, 202.0, 30.0, 30.0 ] - } - - } - ], - "lines" : [ { - "patchline" : { - "destination" : [ "obj-78", 0 ], - "source" : [ "obj-13", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-80", 0 ], - "source" : [ "obj-76", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-76", 0 ], - "source" : [ "obj-78", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-83", 0 ], - "source" : [ "obj-80", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-14", 0 ], - "source" : [ "obj-83", 0 ] - } - - } - ] - } -, - "patching_rect" : [ 301.5, 200.0, 143.0, 23.0 ], - "text" : "p \"cluster random data\"" - } - - } -, { - "box" : { - "fontsize" : 13.0, - "id" : "obj-6", - "maxclass" : "newobj", - "numinlets" : 1, - "numoutlets" : 1, - "outlettype" : [ "" ], - "patcher" : { - "fileversion" : 1, - "appversion" : { - "major" : 9, - "minor" : 0, - "revision" : 7, - "architecture" : "x64", - "modernui" : 1 - } -, - "classnamespace" : "box", - "rect" : [ 35.0, 100.0, 563.0, 464.0 ], - "gridsize" : [ 15.0, 15.0 ], - "boxes" : [ { - "box" : { - "id" : "obj-68", - "maxclass" : "message", - "numinlets" : 2, - "numoutlets" : 1, - "outlettype" : [ "" ], - "patching_rect" : [ 205.0, 383.40283203125, 124.0, 22.0 ], - "text" : "refer plotting.zooming" - } - - } -, { - "box" : { - "id" : "obj-17", - "maxclass" : "newobj", - "numinlets" : 1, - "numoutlets" : 2, - "outlettype" : [ "", "" ], - "patching_rect" : [ 53.0, 348.90283203125, 171.0, 22.0 ], - "text" : "fluid.dataset~ plotting.zooming" - } - - } -, { - "box" : { - "id" : "obj-24", - "maxclass" : "newobj", - "numinlets" : 3, - "numoutlets" : 1, - "outlettype" : [ "" ], - "patching_rect" : [ 101.0, 221.90283203125, 96.0, 22.0 ], - "text" : "sprintf %s %f %f" - } - - } -, { - "box" : { - "id" : "obj-23", - "maxclass" : "newobj", - "numinlets" : 1, - "numoutlets" : 1, - "outlettype" : [ "" ], - "patching_rect" : [ 380.25, 178.90283203125, 168.0, 22.0 ], - "text" : "expr random(-250\\, 250) / 100." - } - - } -, { - "box" : { - "id" : "obj-22", - "maxclass" : "newobj", - "numinlets" : 1, - "numoutlets" : 1, - "outlettype" : [ "" ], - "patching_rect" : [ 210.25, 178.90283203125, 168.0, 22.0 ], - "text" : "expr random(-250\\, 250) / 100." - } - - } -, { - "box" : { - "id" : "obj-21", - "maxclass" : "newobj", - "numinlets" : 1, - "numoutlets" : 1, - "outlettype" : [ "" ], - "patching_rect" : [ 101.0, 178.90283203125, 92.0, 22.0 ], - "text" : "sprintf entry-%i:" - } - - } -, { - "box" : { - "id" : "obj-16", - "maxclass" : "newobj", - "numinlets" : 1, - "numoutlets" : 2, - "outlettype" : [ "int", "bang" ], - "patching_rect" : [ 101.0, 132.90283203125, 128.25, 22.0 ], - "text" : "t i b" - } - - } -, { - "box" : { - "id" : "obj-74", - "maxclass" : "newobj", - "numinlets" : 2, - "numoutlets" : 3, - "outlettype" : [ "bang", "bang", "int" ], - "patching_rect" : [ 39.0, 94.90283203125, 47.0, 22.0 ], - "text" : "uzi 100" - } - - } -, { - "box" : { - "id" : "obj-71", - "maxclass" : "newobj", - "numinlets" : 3, - "numoutlets" : 1, - "outlettype" : [ "dictionary" ], - "patching_rect" : [ 53.0, 285.90283203125, 121.0, 22.0 ], - "text" : "dict.pack data: cols:2" - } - - } -, { - "box" : { - "id" : "obj-70", - "maxclass" : "newobj", - "numinlets" : 1, - "numoutlets" : 1, - "outlettype" : [ "dictionary" ], - "patching_rect" : [ 53.0, 251.90283203125, 61.0, 22.0 ], - "text" : "dict.group" - } - - } -, { - "box" : { - "id" : "obj-54", - "maxclass" : "newobj", - "numinlets" : 1, - "numoutlets" : 2, - "outlettype" : [ "", "" ], - "patching_rect" : [ 138.5, 94.90283203125, 171.0, 22.0 ], - "text" : "fluid.dataset~ plotting.zooming" - } - - } -, { - "box" : { - "id" : "obj-52", - "maxclass" : "newobj", - "numinlets" : 1, - "numoutlets" : 2, - "outlettype" : [ "bang", "clear" ], - "patching_rect" : [ 39.0, 58.90283203125, 118.5, 22.0 ], - "text" : "t b clear" - } - - } -, { - "box" : { - "id" : "obj-43", - "maxclass" : "newobj", - "numinlets" : 1, - "numoutlets" : 1, - "outlettype" : [ "" ], - "patching_rect" : [ 53.0, 316.90283203125, 81.0, 22.0 ], - "text" : "prepend load" - } - - } -, { - "box" : { - "comment" : "", - "id" : "obj-2", - "index" : 1, - "maxclass" : "inlet", - "numinlets" : 0, - "numoutlets" : 1, - "outlettype" : [ "bang" ], - "patching_rect" : [ 39.0, 24.000000031249996, 30.0, 30.0 ] - } - - } -, { - "box" : { - "comment" : "", - "id" : "obj-4", - "index" : 1, - "maxclass" : "outlet", - "numinlets" : 1, - "numoutlets" : 0, - "patching_rect" : [ 205.0, 418.805664031249989, 30.0, 30.0 ] - } - - } - ], - "lines" : [ { - "patchline" : { - "destination" : [ "obj-21", 0 ], - "source" : [ "obj-16", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-22", 0 ], - "order" : 1, - "source" : [ "obj-16", 1 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-23", 0 ], - "order" : 0, - "source" : [ "obj-16", 1 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-68", 0 ], - "source" : [ "obj-17", 1 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-52", 0 ], - "source" : [ "obj-2", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-24", 0 ], - "source" : [ "obj-21", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-24", 1 ], - "source" : [ "obj-22", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-24", 2 ], - "source" : [ "obj-23", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-70", 0 ], - "source" : [ "obj-24", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-17", 0 ], - "source" : [ "obj-43", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-54", 0 ], - "source" : [ "obj-52", 1 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-74", 0 ], - "source" : [ "obj-52", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-4", 0 ], - "source" : [ "obj-68", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-71", 0 ], - "source" : [ "obj-70", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-43", 0 ], - "source" : [ "obj-71", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-16", 0 ], - "source" : [ "obj-74", 2 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-70", 0 ], - "source" : [ "obj-74", 1 ] - } - - } - ] - } -, - "patching_rect" : [ 81.0, 200.0, 156.0, 23.0 ], - "text" : "p \"generate random data\"" - } - - } -, { - "box" : { - "bgcolor" : [ 1.0, 0.788235, 0.470588, 1.0 ], - "fontname" : "Arial Bold", - "fontsize" : 13.0, - "hint" : "", - "id" : "obj-10", - "ignoreclick" : 1, - "legacytextcolor" : 1, - "maxclass" : "textbutton", - "numinlets" : 1, - "numoutlets" : 3, - "outlettype" : [ "", "", "int" ], - "parameter_enable" : 0, - "patching_rect" : [ 277.5, 113.5, 20.0, 20.0 ], - "rounded" : 60.0, - "text" : "1", - "textcolor" : [ 0.34902, 0.34902, 0.34902, 1.0 ] - } - - } -, { - "box" : { - "bubble" : 1, - "fontsize" : 13.0, - "id" : "obj-105", - "maxclass" : "comment", - "numinlets" : 1, - "numoutlets" : 0, - "patching_rect" : [ 63.0, 111.0, 213.0, 25.0 ], - "text" : "generate a random set of points." - } - - } -, { - "box" : { - "id" : "obj-103", - "maxclass" : "button", - "numinlets" : 1, - "numoutlets" : 1, - "outlettype" : [ "bang" ], - "parameter_enable" : 0, - "patching_rect" : [ 37.0, 111.0, 24.0, 24.0 ] - } - - } -, { - "box" : { - "fontsize" : 13.0, - "id" : "obj-2", - "linecount" : 4, - "maxclass" : "comment", - "numinlets" : 1, - "numoutlets" : 0, - "patching_rect" : [ 460.0, 210.0, 279.0, 65.0 ], - "saved_attribute_attributes" : { - "textcolor" : { - "expression" : "themecolor.theme_textcolor" - } - - } -, - "text" : "The range of the generated data sits between -2.5 and 2.5 but the view of the data is set to be between -5 and 5 on both axes to have some whitespace around the edges." - } - - } -, { - "box" : { - "id" : "obj-1", - "maxclass" : "comment", - "numinlets" : 1, - "numoutlets" : 0, - "patching_rect" : [ 10.0, 67.0, 427.0, 20.0 ], - "saved_attribute_attributes" : { - "textcolor" : { - "expression" : "themecolor.theme_textcolor" - } - - } -, - "text" : "fluid.jit.plotter has a zoom feature allowing you to zone in on subsets of the plot" - } - - } -, { - "box" : { - "dontreplace" : 1, - "fontsize" : 13.0, - "id" : "obj-13", - "maxclass" : "message", - "numinlets" : 2, - "numoutlets" : 1, - "outlettype" : [ "" ], - "patching_rect" : [ 429.5, 665.0, 97.0, 23.0 ] - } - - } -, { - "box" : { - "dontreplace" : 1, - "fontsize" : 13.0, - "id" : "obj-11", - "maxclass" : "message", - "numinlets" : 2, - "numoutlets" : 1, - "outlettype" : [ "" ], - "patching_rect" : [ 305.0, 665.0, 96.0, 23.0 ] - } - - } -, { - "box" : { - "fontsize" : 13.0, - "id" : "obj-8", - "maxclass" : "newobj", - "numinlets" : 3, - "numoutlets" : 3, - "outlettype" : [ "", "", "" ], - "patching_rect" : [ 382.0, 630.0, 270.0, 23.0 ], - "text" : "route zoomxrange zoomyrange" - } - - } -, { - "box" : { - "fontsize" : 13.0, - "id" : "obj-9", - "linecount" : 2, - "maxclass" : "comment", - "numinlets" : 1, - "numoutlets" : 0, - "patching_rect" : [ 658.0, 623.5, 258.0, 36.0 ], - "saved_attribute_attributes" : { - "textcolor" : { - "expression" : "themecolor.theme_textcolor" - } - - } -, - "text" : "The selected range is output from the right in response to drag + modifier events." - } - - } -, { - "box" : { - "fontsize" : 13.0, - "id" : "obj-7", - "linecount" : 14, - "maxclass" : "comment", - "numinlets" : 1, - "numoutlets" : 0, - "patching_rect" : [ 410.0, 360.0, 279.0, 210.0 ], - "saved_attribute_attributes" : { - "textcolor" : { - "expression" : "themecolor.theme_textcolor" - } - - } -, - "text" : "You can interactively control the range of the x and y areas using different keyboard modifiers while clicking and dragging.\n\nIf you (hold option / alt / winkey + drag) a box will be drawn over the canvas, showing which area of the plot you will \"zoom\" in on in.\n\nIf you (control + drag) it resets the x and y ranges to the last stored values received from a message (such as range [-5 5]).\n\nIf you (shift + drag) you can pan the view around within the current zoom range. " - } - - } -, { - "box" : { - "fontsize" : 13.0, - "id" : "obj-5", - "maxclass" : "message", - "numinlets" : 2, - "numoutlets" : 1, - "outlettype" : [ "" ], - "patching_rect" : [ 381.0, 240.0, 68.0, 23.0 ], - "text" : "range -5 5" - } - - } -, { - "box" : { - "bgmode" : 0, - "border" : 0, - "clickthrough" : 0, - "enablehscroll" : 0, - "enablevscroll" : 0, - "id" : "obj-58", - "lockeddragscroll" : 0, - "lockedsize" : 0, - "maxclass" : "bpatcher", - "name" : "fluid.jit.plotter.maxpat", - "numinlets" : 2, - "numoutlets" : 2, - "offset" : [ 0.0, 0.0 ], - "outlettype" : [ "", "" ], - "patching_rect" : [ 81.0, 290.0, 320.0, 320.0 ], - "viewvisibility" : 1 - } - - } -, { - "box" : { - "border" : 0, - "filename" : "helpdetails.js", - "id" : "obj-3", - "ignoreclick" : 1, - "jsarguments" : [ "fluid.jit.plotter" ], - "maxclass" : "jsui", - "numinlets" : 1, - "numoutlets" : 1, - "outlettype" : [ "" ], - "parameter_enable" : 0, - "patching_rect" : [ 10.0, 10.0, 320.0, 54.0 ] - } - - } - ], - "lines" : [ { - "patchline" : { - "destination" : [ "obj-4", 0 ], - "source" : [ "obj-103", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-58", 0 ], - "midpoints" : [ 779.5, 590.0, 405.0, 590.0, 405.0, 279.0, 90.5, 279.0 ], - "source" : [ "obj-14", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-58", 1 ], - "midpoints" : [ 311.0, 271.0, 391.5, 271.0 ], - "source" : [ "obj-15", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-14", 0 ], - "source" : [ "obj-20", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-20", 0 ], - "source" : [ "obj-22", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-20", 0 ], - "source" : [ "obj-23", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-20", 0 ], - "source" : [ "obj-24", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-15", 0 ], - "midpoints" : [ 68.5, 187.25, 311.0, 187.25 ], - "source" : [ "obj-4", 1 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-5", 0 ], - "midpoints" : [ 46.5, 233.75, 390.5, 233.75 ], - "source" : [ "obj-4", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-6", 0 ], - "source" : [ "obj-4", 2 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-58", 1 ], - "source" : [ "obj-5", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-8", 0 ], - "source" : [ "obj-58", 1 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-58", 0 ], - "source" : [ "obj-6", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-11", 1 ], - "source" : [ "obj-8", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-13", 1 ], - "source" : [ "obj-8", 1 ] - } - - } - ], - "styles" : [ { - "name" : "max6box", - "default" : { - "accentcolor" : [ 0.8, 0.839216, 0.709804, 1.0 ], - "bgcolor" : [ 1.0, 1.0, 1.0, 0.5 ], - "textcolor_inverse" : [ 0.0, 0.0, 0.0, 1.0 ] - } -, - "parentstyle" : "", - "multi" : 0 - } -, { - "name" : "max6inlet", - "default" : { - "color" : [ 0.423529, 0.372549, 0.27451, 1.0 ] - } -, - "parentstyle" : "", - "multi" : 0 - } -, { - "name" : "max6message", - "default" : { - "bgfillcolor" : { - "angle" : 270.0, - "autogradient" : 0, - "color" : [ 0.290196, 0.309804, 0.301961, 1.0 ], - "color1" : [ 0.866667, 0.866667, 0.866667, 1.0 ], - "color2" : [ 0.788235, 0.788235, 0.788235, 1.0 ], - "proportion" : 0.39, - "type" : "gradient" - } -, - "textcolor_inverse" : [ 0.0, 0.0, 0.0, 1.0 ] - } -, - "parentstyle" : "max6box", - "multi" : 0 - } -, { - "name" : "max6outlet", - "default" : { - "color" : [ 0.0, 0.454902, 0.498039, 1.0 ] - } -, - "parentstyle" : "", - "multi" : 0 - } - ] - } -, - "patching_rect" : [ 291.0, 24.0, 86.0, 22.0 ], - "text" : "p click'n'drag" - } - - } -, { - "box" : { - "id" : "obj-3", - "maxclass" : "newobj", - "numinlets" : 0, - "numoutlets" : 0, - "patcher" : { - "fileversion" : 1, - "appversion" : { - "major" : 9, - "minor" : 0, - "revision" : 7, - "architecture" : "x64", - "modernui" : 1 - } -, - "classnamespace" : "box", - "rect" : [ 0.0, 26.0, 963.0, 792.0 ], - "gridonopen" : 2, - "gridsize" : [ 10.0, 10.0 ], - "gridsnaponopen" : 2, - "showontab" : 1, - "boxes" : [ { - "box" : { - "fontsize" : 13.0, - "id" : "obj-4", - "maxclass" : "newobj", - "numinlets" : 2, - "numoutlets" : 1, - "outlettype" : [ "" ], - "patching_rect" : [ 370.5, 292.5, 44.0, 23.0 ], - "text" : "pak f f" - } - - } -, { - "box" : { - "fontsize" : 13.0, - "id" : "obj-1", - "maxclass" : "newobj", - "numinlets" : 2, - "numoutlets" : 1, - "outlettype" : [ "" ], - "patching_rect" : [ 235.25, 292.5, 44.0, 23.0 ], - "text" : "pak f f" - } - - } -, { - "box" : { - "fontsize" : 13.0, - "id" : "obj-28", - "maxclass" : "message", - "numinlets" : 2, - "numoutlets" : 1, - "outlettype" : [ "" ], - "patching_rect" : [ 425.5, 203.902831999999989, 31.0, 23.0 ], - "text" : "600" - } - - } -, { - "box" : { - "fontsize" : 13.0, - "id" : "obj-26", - "maxclass" : "message", - "numinlets" : 2, - "numoutlets" : 1, - "outlettype" : [ "" ], - "patching_rect" : [ 370.5, 203.902831999999989, 31.0, 23.0 ], - "text" : "40" - } - - } -, { - "box" : { - "fontsize" : 13.0, - "id" : "obj-25", - "maxclass" : "message", - "numinlets" : 2, - "numoutlets" : 1, - "outlettype" : [ "" ], - "patching_rect" : [ 300.0, 203.902831999999989, 45.0, 23.0 ], - "text" : "10000" - } - - } -, { - "box" : { - "fontsize" : 13.0, - "id" : "obj-24", - "maxclass" : "message", - "numinlets" : 2, - "numoutlets" : 1, - "outlettype" : [ "" ], - "patching_rect" : [ 235.25, 203.902831999999989, 32.0, 23.0 ], - "text" : "0" - } - - } -, { - "box" : { - "bgcolor" : [ 1.0, 0.788235, 0.470588, 1.0 ], - "fontname" : "Arial Bold", - "fontsize" : 13.0, - "hint" : "", - "id" : "obj-11", - "ignoreclick" : 1, - "legacytextcolor" : 1, - "maxclass" : "textbutton", - "numinlets" : 1, - "numoutlets" : 3, - "outlettype" : [ "", "", "int" ], - "parameter_enable" : 0, - "patching_rect" : [ 850.0, 206.902831999999989, 20.0, 20.0 ], - "rounded" : 60.0, - "text" : "3", - "textcolor" : [ 0.34902, 0.34902, 0.34902, 1.0 ] - } - - } -, { - "box" : { - "bubble" : 1, - "fontsize" : 13.0, - "id" : "obj-13", - "linecount" : 4, - "maxclass" : "comment", - "numinlets" : 1, - "numoutlets" : 0, - "patching_rect" : [ 470.0, 180.902831999999989, 378.0, 69.0 ], - "text" : "Click these messages to start adjusting the range to the minimum and maximum of the original data. You will see that the data is now visible in the space. Wiggle the number boxes to see how it affects the display of points." - } - - } -, { - "box" : { - "bgcolor" : [ 1.0, 0.788235, 0.470588, 1.0 ], - "fontname" : "Arial Bold", - "fontsize" : 13.0, - "hint" : "", - "id" : "obj-7", - "ignoreclick" : 1, - "legacytextcolor" : 1, - "maxclass" : "textbutton", - "numinlets" : 1, - "numoutlets" : 3, - "outlettype" : [ "", "", "int" ], - "parameter_enable" : 0, - "patching_rect" : [ 731.0, 532.5, 20.0, 20.0 ], - "rounded" : 60.0, - "text" : "2", - "textcolor" : [ 0.34902, 0.34902, 0.34902, 1.0 ] - } - - } -, { - "box" : { - "fontsize" : 13.0, - "id" : "obj-8", - "linecount" : 2, - "maxclass" : "comment", - "numinlets" : 1, - "numoutlets" : 0, - "patching_rect" : [ 390.0, 524.5, 339.0, 36.0 ], - "saved_attribute_attributes" : { - "textcolor" : { - "expression" : "themecolor.theme_textcolor" - } - - } -, - "text" : "You'll notice that there is nothing in the plotter. By default it is displaying the 0 to 1 range in both dimensions." - } - - } -, { - "box" : { - "fontsize" : 13.0, - "id" : "obj-2", - "linecount" : 2, - "maxclass" : "comment", - "numinlets" : 1, - "numoutlets" : 0, - "patching_rect" : [ 10.0, 67.0, 736.0, 36.0 ], - "saved_attribute_attributes" : { - "textcolor" : { - "expression" : "themecolor.theme_textcolor" - } - - } -, - "text" : "By default, the range of the fluid.jit.plotter is between 0 and 1 for both the X and Y axis. You can modify the displayed range of the plotter with two messages, xrange and yrange. Each message accepts two values, the minimum and maximum for each." - } - - } -, { - "box" : { - "fontsize" : 13.0, - "format" : 6, - "id" : "obj-19", - "maxclass" : "flonum", - "numinlets" : 1, - "numoutlets" : 2, - "outlettype" : [ "", "bang" ], - "parameter_enable" : 0, - "patching_rect" : [ 425.5, 245.0, 54.0, 23.0 ] - } - - } -, { - "box" : { - "fontsize" : 13.0, - "format" : 6, - "id" : "obj-20", - "maxclass" : "flonum", - "numinlets" : 1, - "numoutlets" : 2, - "outlettype" : [ "", "bang" ], - "parameter_enable" : 0, - "patching_rect" : [ 370.5, 245.0, 50.0, 23.0 ] - } - - } -, { - "box" : { - "fontsize" : 13.0, - "id" : "obj-18", - "maxclass" : "message", - "numinlets" : 2, - "numoutlets" : 1, - "outlettype" : [ "" ], - "patching_rect" : [ 370.0, 332.305664031249989, 84.0, 23.0 ], - "text" : "yrange $1 $2" - } - - } -, { - "box" : { - "fontsize" : 13.0, - "id" : "obj-17", - "maxclass" : "message", - "numinlets" : 2, - "numoutlets" : 1, - "outlettype" : [ "" ], - "patching_rect" : [ 235.25, 332.305664031249989, 84.0, 23.0 ], - "text" : "xrange $1 $2" - } - - } -, { - "box" : { - "fontsize" : 13.0, - "format" : 6, - "id" : "obj-12", - "maxclass" : "flonum", - "numinlets" : 1, - "numoutlets" : 2, - "outlettype" : [ "", "bang" ], - "parameter_enable" : 0, - "patching_rect" : [ 300.0, 245.0, 59.5, 23.0 ] - } - - } -, { - "box" : { - "fontsize" : 13.0, - "format" : 6, - "id" : "obj-9", - "maxclass" : "flonum", - "numinlets" : 1, - "numoutlets" : 2, - "outlettype" : [ "", "bang" ], - "parameter_enable" : 0, - "patching_rect" : [ 235.25, 245.0, 54.75, 23.0 ] - } - - } -, { - "box" : { - "bgcolor" : [ 1.0, 0.788235, 0.470588, 1.0 ], - "fontname" : "Arial Bold", - "fontsize" : 13.0, - "hint" : "", - "id" : "obj-50", - "ignoreclick" : 1, - "legacytextcolor" : 1, - "maxclass" : "textbutton", - "numinlets" : 1, - "numoutlets" : 3, - "outlettype" : [ "", "", "int" ], - "parameter_enable" : 0, - "patching_rect" : [ 390.0, 147.0, 20.0, 20.0 ], - "rounded" : 60.0, - "text" : "1", - "textcolor" : [ 0.34902, 0.34902, 0.34902, 1.0 ] - } - - } -, { - "box" : { - "bubble" : 1, - "fontsize" : 13.0, - "id" : "obj-48", - "linecount" : 4, - "maxclass" : "comment", - "numinlets" : 1, - "numoutlets" : 0, - "patching_rect" : [ 90.0, 122.5, 299.0, 69.0 ], - "text" : "Generate random data between a range that is not normal. In this case the horizontal values range between 0 and 10000, and the vertical values range between 40 and 600." - } - - } -, { - "box" : { - "bgmode" : 0, - "border" : 0, - "clickthrough" : 0, - "enablehscroll" : 0, - "enablevscroll" : 0, - "id" : "obj-36", - "lockeddragscroll" : 0, - "lockedsize" : 0, - "maxclass" : "bpatcher", - "name" : "fluid.jit.plotter.maxpat", - "numinlets" : 2, - "numoutlets" : 2, - "offset" : [ 0.0, 0.0 ], - "outlettype" : [ "", "" ], - "patching_rect" : [ 60.0, 380.0, 325.0, 325.0 ], - "viewvisibility" : 1 - } - - } -, { - "box" : { - "id" : "obj-10", - "maxclass" : "button", - "numinlets" : 1, - "numoutlets" : 1, - "outlettype" : [ "bang" ], - "parameter_enable" : 0, - "patching_rect" : [ 60.0, 145.0, 24.0, 24.0 ] - } - - } -, { - "box" : { - "fontsize" : 13.0, - "id" : "obj-5", - "maxclass" : "newobj", - "numinlets" : 1, - "numoutlets" : 1, - "outlettype" : [ "" ], - "patcher" : { - "fileversion" : 1, - "appversion" : { - "major" : 9, - "minor" : 0, - "revision" : 7, - "architecture" : "x64", - "modernui" : 1 - } -, - "classnamespace" : "box", - "rect" : [ 35.0, 124.0, 499.0, 496.0 ], - "gridsize" : [ 15.0, 15.0 ], - "boxes" : [ { - "box" : { - "id" : "obj-6", - "maxclass" : "message", - "numinlets" : 2, - "numoutlets" : 1, - "outlettype" : [ "" ], - "patching_rect" : [ 162.5, 422.0, 85.0, 22.0 ], - "text" : "refer plotting.3" - } - - } -, { - "box" : { - "id" : "obj-5", - "maxclass" : "newobj", - "numinlets" : 2, - "numoutlets" : 2, - "outlettype" : [ "", "" ], - "patching_rect" : [ 162.5, 387.0, 62.0, 22.0 ], - "text" : "route load" - } - - } -, { - "box" : { - "id" : "obj-17", - "maxclass" : "newobj", - "numinlets" : 1, - "numoutlets" : 2, - "outlettype" : [ "", "" ], - "patching_rect" : [ 49.5, 349.90283203125, 132.0, 22.0 ], - "text" : "fluid.dataset~ plotting.3" - } - - } -, { - "box" : { - "id" : "obj-24", - "maxclass" : "newobj", - "numinlets" : 3, - "numoutlets" : 1, - "outlettype" : [ "" ], - "patching_rect" : [ 97.5, 216.90283203125, 237.5, 22.0 ], - "text" : "sprintf %s %f %f" - } - - } -, { - "box" : { - "id" : "obj-23", - "maxclass" : "newobj", - "numinlets" : 1, - "numoutlets" : 1, - "outlettype" : [ "" ], - "patching_rect" : [ 354.75, 177.90283203125, 124.0, 22.0 ], - "text" : "expr random(40\\, 600)" - } - - } -, { - "box" : { - "id" : "obj-22", - "maxclass" : "newobj", - "numinlets" : 1, - "numoutlets" : 1, - "outlettype" : [ "" ], - "patching_rect" : [ 206.75, 177.90283203125, 131.0, 22.0 ], - "text" : "expr random(0\\, 10000)" - } - - } -, { - "box" : { - "id" : "obj-21", - "maxclass" : "newobj", - "numinlets" : 1, - "numoutlets" : 1, - "outlettype" : [ "" ], - "patching_rect" : [ 97.5, 177.90283203125, 92.0, 22.0 ], - "text" : "sprintf entry-%i:" - } - - } -, { - "box" : { - "id" : "obj-16", - "maxclass" : "newobj", - "numinlets" : 1, - "numoutlets" : 2, - "outlettype" : [ "int", "bang" ], - "patching_rect" : [ 97.5, 131.90283203125, 128.25, 22.0 ], - "text" : "t i b" - } - - } -, { - "box" : { - "id" : "obj-74", - "maxclass" : "newobj", - "numinlets" : 2, - "numoutlets" : 3, - "outlettype" : [ "bang", "bang", "int" ], - "patching_rect" : [ 35.5, 93.90283203125, 47.0, 22.0 ], - "text" : "uzi 100" - } - - } -, { - "box" : { - "id" : "obj-71", - "maxclass" : "newobj", - "numinlets" : 3, - "numoutlets" : 1, - "outlettype" : [ "dictionary" ], - "patching_rect" : [ 49.5, 286.90283203125, 121.0, 22.0 ], - "text" : "dict.pack data: cols:2" - } - - } -, { - "box" : { - "id" : "obj-70", - "maxclass" : "newobj", - "numinlets" : 1, - "numoutlets" : 1, - "outlettype" : [ "dictionary" ], - "patching_rect" : [ 49.5, 252.90283203125, 61.0, 22.0 ], - "text" : "dict.group" - } - - } -, { - "box" : { - "id" : "obj-54", - "maxclass" : "newobj", - "numinlets" : 1, - "numoutlets" : 2, - "outlettype" : [ "", "" ], - "patching_rect" : [ 134.5, 93.90283203125, 132.0, 22.0 ], - "text" : "fluid.dataset~ plotting.3" - } - - } -, { - "box" : { - "id" : "obj-52", - "maxclass" : "newobj", - "numinlets" : 1, - "numoutlets" : 2, - "outlettype" : [ "bang", "clear" ], - "patching_rect" : [ 35.5, 53.90283203125, 118.5, 22.0 ], - "text" : "t b clear" - } - - } -, { - "box" : { - "id" : "obj-43", - "maxclass" : "newobj", - "numinlets" : 1, - "numoutlets" : 1, - "outlettype" : [ "" ], - "patching_rect" : [ 49.5, 317.90283203125, 81.0, 22.0 ], - "text" : "prepend load" - } - - } -, { - "box" : { - "comment" : "", - "id" : "obj-2", - "index" : 1, - "maxclass" : "inlet", - "numinlets" : 0, - "numoutlets" : 1, - "outlettype" : [ "bang" ], - "patching_rect" : [ 35.5, 19.000000031249996, 30.0, 30.0 ] - } - - } -, { - "box" : { - "comment" : "", - "id" : "obj-4", - "index" : 1, - "maxclass" : "outlet", - "numinlets" : 1, - "numoutlets" : 0, - "patching_rect" : [ 162.5, 452.805664031249989, 30.0, 30.0 ] - } - - } - ], - "lines" : [ { - "patchline" : { - "destination" : [ "obj-21", 0 ], - "source" : [ "obj-16", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-22", 0 ], - "order" : 1, - "source" : [ "obj-16", 1 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-23", 0 ], - "order" : 0, - "source" : [ "obj-16", 1 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-5", 0 ], - "source" : [ "obj-17", 1 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-52", 0 ], - "source" : [ "obj-2", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-24", 0 ], - "source" : [ "obj-21", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-24", 1 ], - "source" : [ "obj-22", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-24", 2 ], - "source" : [ "obj-23", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-70", 0 ], - "source" : [ "obj-24", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-17", 0 ], - "source" : [ "obj-43", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-6", 0 ], - "source" : [ "obj-5", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-54", 0 ], - "source" : [ "obj-52", 1 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-74", 0 ], - "source" : [ "obj-52", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-4", 0 ], - "source" : [ "obj-6", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-71", 0 ], - "source" : [ "obj-70", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-43", 0 ], - "source" : [ "obj-71", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-16", 0 ], - "source" : [ "obj-74", 2 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-70", 0 ], - "source" : [ "obj-74", 1 ] - } - - } - ] - } -, - "patching_rect" : [ 60.0, 245.0, 156.0, 23.0 ], - "text" : "p \"generate random data\"" - } - - } -, { - "box" : { - "border" : 0, - "filename" : "helpdetails.js", - "id" : "obj-3", - "ignoreclick" : 1, - "jsarguments" : [ "fluid.jit.plotter" ], - "maxclass" : "jsui", - "numinlets" : 1, - "numoutlets" : 1, - "outlettype" : [ "" ], - "parameter_enable" : 0, - "patching_rect" : [ 10.0, 10.0, 320.0, 55.0 ] - } - - } - ], - "lines" : [ { - "patchline" : { - "destination" : [ "obj-17", 0 ], - "source" : [ "obj-1", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-5", 0 ], - "midpoints" : [ 69.5, 171.0, 69.5, 171.0 ], - "source" : [ "obj-10", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-1", 1 ], - "midpoints" : [ 309.5, 278.5, 269.75, 278.5 ], - "source" : [ "obj-12", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-36", 0 ], - "midpoints" : [ 244.75, 367.0, 69.5, 367.0 ], - "source" : [ "obj-17", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-36", 0 ], - "midpoints" : [ 379.5, 367.0, 69.5, 367.0 ], - "source" : [ "obj-18", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-4", 1 ], - "midpoints" : [ 435.0, 278.5, 405.0, 278.5 ], - "source" : [ "obj-19", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-4", 0 ], - "midpoints" : [ 380.0, 269.5, 380.0, 269.5 ], - "source" : [ "obj-20", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-9", 0 ], - "source" : [ "obj-24", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-12", 0 ], - "source" : [ "obj-25", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-20", 0 ], - "source" : [ "obj-26", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-19", 0 ], - "source" : [ "obj-28", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-18", 0 ], - "source" : [ "obj-4", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-36", 0 ], - "midpoints" : [ 69.5, 270.0, 69.5, 270.0 ], - "source" : [ "obj-5", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-1", 0 ], - "midpoints" : [ 244.75, 269.5, 244.75, 269.5 ], - "source" : [ "obj-9", 0 ] - } - - } - ], - "styles" : [ { - "name" : "max6box", - "default" : { - "accentcolor" : [ 0.8, 0.839216, 0.709804, 1.0 ], - "bgcolor" : [ 1.0, 1.0, 1.0, 0.5 ], - "textcolor_inverse" : [ 0.0, 0.0, 0.0, 1.0 ] - } -, - "parentstyle" : "", - "multi" : 0 - } -, { - "name" : "max6inlet", - "default" : { - "color" : [ 0.423529, 0.372549, 0.27451, 1.0 ] - } -, - "parentstyle" : "", - "multi" : 0 - } -, { - "name" : "max6message", - "default" : { - "bgfillcolor" : { - "angle" : 270.0, - "autogradient" : 0, - "color" : [ 0.290196, 0.309804, 0.301961, 1.0 ], - "color1" : [ 0.866667, 0.866667, 0.866667, 1.0 ], - "color2" : [ 0.788235, 0.788235, 0.788235, 1.0 ], - "proportion" : 0.39, - "type" : "gradient" - } -, - "textcolor_inverse" : [ 0.0, 0.0, 0.0, 1.0 ] - } -, - "parentstyle" : "max6box", - "multi" : 0 - } -, { - "name" : "max6outlet", - "default" : { - "color" : [ 0.0, 0.454902, 0.498039, 1.0 ] - } -, - "parentstyle" : "", - "multi" : 0 - } - ] - } -, - "patching_rect" : [ 68.0, 24.0, 49.0, 22.0 ], - "text" : "p range" - } - - } -, { - "box" : { - "id" : "obj-1", - "maxclass" : "newobj", - "numinlets" : 0, - "numoutlets" : 0, - "patcher" : { - "fileversion" : 1, - "appversion" : { - "major" : 9, - "minor" : 0, - "revision" : 7, - "architecture" : "x64", - "modernui" : 1 - } -, - "classnamespace" : "box", - "rect" : [ 0.0, 26.0, 963.0, 792.0 ], - "gridonopen" : 2, - "gridsize" : [ 10.0, 10.0 ], - "gridsnaponopen" : 2, - "showontab" : 1, - "boxes" : [ { - "box" : { - "arrows" : 2, - "id" : "obj-66", - "justification" : 1, - "maxclass" : "live.line", - "numinlets" : 1, - "numoutlets" : 0, - "patching_rect" : [ 163.0, 341.0, 12.5, 61.0 ] - } - - } -, { - "box" : { - "bgcolor" : [ 1.0, 0.788235, 0.470588, 1.0 ], - "fontname" : "Arial Bold", - "fontsize" : 13.0, - "hint" : "", - "id" : "obj-64", - "ignoreclick" : 1, - "legacytextcolor" : 1, - "maxclass" : "textbutton", - "numinlets" : 1, - "numoutlets" : 3, - "outlettype" : [ "", "", "int" ], - "parameter_enable" : 0, - "patching_rect" : [ 772.0, 248.5, 20.0, 20.0 ], - "rounded" : 60.0, - "text" : "5", - "textcolor" : [ 0.34902, 0.34902, 0.34902, 1.0 ] - } - - } -, { - "box" : { - "bubble" : 1, - "bubbleside" : 0, - "fontsize" : 13.0, - "id" : "obj-65", - "maxclass" : "comment", - "numinlets" : 1, - "numoutlets" : 0, - "patching_rect" : [ 598.0, 228.5, 172.0, 40.0 ], - "text" : "Highlight multiple identifiers." - } - - } -, { - "box" : { - "bgcolor" : [ 1.0, 0.788235, 0.470588, 1.0 ], - "fontname" : "Arial Bold", - "hint" : "", - "id" : "obj-62", - "ignoreclick" : 1, - "legacytextcolor" : 1, - "maxclass" : "textbutton", - "numinlets" : 1, - "numoutlets" : 3, - "outlettype" : [ "", "", "int" ], - "parameter_enable" : 0, - "patching_rect" : [ 159.5, 319.0, 20.0, 20.0 ], - "rounded" : 60.0, - "text" : "4", - "textcolor" : [ 0.34902, 0.34902, 0.34902, 1.0 ] - } - - } -, { - "box" : { - "id" : "obj-63", - "linecount" : 7, - "maxclass" : "comment", - "numinlets" : 1, - "numoutlets" : 0, - "patching_rect" : [ 100.0, 404.0, 106.0, 100.0 ], - "saved_attribute_attributes" : { - "textcolor" : { - "expression" : "themecolor.theme_textcolor" - } - - } -, - "text" : "The highlight message dictates which \"identifiers\" will be emphasised visually in the plotter." - } - - } -, { - "box" : { - "fontsize" : 13.0, - "id" : "obj-61", - "maxclass" : "comment", - "numinlets" : 1, - "numoutlets" : 0, - "patching_rect" : [ 305.0, 658.0, 355.0, 21.0 ], - "saved_attribute_attributes" : { - "textcolor" : { - "expression" : "themecolor.theme_textcolor" - } - - } -, - "text" : "Query for the nearest point in the original data to the mouse." - } - - } -, { - "box" : { - "fontsize" : 13.0, - "id" : "obj-57", - "maxclass" : "newobj", - "numinlets" : 2, - "numoutlets" : 1, - "outlettype" : [ "" ], - "patching_rect" : [ 222.5, 700.0, 50.0, 23.0 ], - "text" : "qlim 20" - } - - } -, { - "box" : { - "fontsize" : 13.0, - "id" : "obj-55", - "maxclass" : "comment", - "numinlets" : 1, - "numoutlets" : 0, - "patching_rect" : [ 305.0, 616.0, 258.0, 21.0 ], - "saved_attribute_attributes" : { - "textcolor" : { - "expression" : "themecolor.theme_textcolor" - } - - } -, - "text" : "Store the coordinates in a temporary buffer." - } - - } -, { - "box" : { - "bgcolor" : [ 1.0, 0.788235, 0.470588, 1.0 ], - "fontname" : "Arial Bold", - "fontsize" : 13.0, - "hint" : "", - "id" : "obj-53", - "ignoreclick" : 1, - "legacytextcolor" : 1, - "maxclass" : "textbutton", - "numinlets" : 1, - "numoutlets" : 3, - "outlettype" : [ "", "", "int" ], - "parameter_enable" : 0, - "patching_rect" : [ 849.0, 577.0, 20.0, 20.0 ], - "rounded" : 60.0, - "text" : "3", - "textcolor" : [ 0.34902, 0.34902, 0.34902, 1.0 ] - } - - } -, { - "box" : { - "bubble" : 1, - "fontsize" : 13.0, - "id" : "obj-54", - "linecount" : 2, - "maxclass" : "comment", - "numinlets" : 1, - "numoutlets" : 0, - "patching_rect" : [ 390.0, 565.5, 457.0, 40.0 ], - "text" : "These are the coordinates of your mouse inside the two-dimensional space according to the ranges which have been set by xrange and yrange." - } - - } -, { - "box" : { - "bgcolor" : [ 1.0, 0.788235, 0.470588, 1.0 ], - "fontname" : "Arial Bold", - "fontsize" : 13.0, - "hint" : "", - "id" : "obj-52", - "ignoreclick" : 1, - "legacytextcolor" : 1, - "maxclass" : "textbutton", - "numinlets" : 1, - "numoutlets" : 3, - "outlettype" : [ "", "", "int" ], - "parameter_enable" : 0, - "patching_rect" : [ 768.0, 412.5, 20.0, 20.0 ], - "rounded" : 60.0, - "text" : "2", - "textcolor" : [ 0.34902, 0.34902, 0.34902, 1.0 ] - } - - } -, { - "box" : { - "bubble" : 1, - "fontsize" : 13.0, - "id" : "obj-51", - "maxclass" : "comment", - "numinlets" : 1, - "numoutlets" : 0, - "patching_rect" : [ 488.5, 410.0, 278.0, 25.0 ], - "text" : "Move your mouse around the fluid.jit.plotter." - } - - } -, { - "box" : { - "bgcolor" : [ 1.0, 0.788235, 0.470588, 1.0 ], - "fontname" : "Arial Bold", - "fontsize" : 13.0, - "hint" : "", - "id" : "obj-50", - "ignoreclick" : 1, - "legacytextcolor" : 1, - "maxclass" : "textbutton", - "numinlets" : 1, - "numoutlets" : 3, - "outlettype" : [ "", "", "int" ], - "parameter_enable" : 0, - "patching_rect" : [ 680.0, 112.5, 20.0, 20.0 ], - "rounded" : 60.0, - "text" : "1", - "textcolor" : [ 0.34902, 0.34902, 0.34902, 1.0 ] - } - - } -, { - "box" : { - "bubble" : 1, - "fontsize" : 13.0, - "id" : "obj-48", - "maxclass" : "comment", - "numinlets" : 1, - "numoutlets" : 0, - "patching_rect" : [ 97.0, 110.0, 580.0, 25.0 ], - "text" : "Generate random data and cluster it. Also fit a fluid.kdtree~ so we can query for the closest data." - } - - } -, { - "box" : { - "fontsize" : 13.0, - "id" : "obj-40", - "maxclass" : "newobj", - "numinlets" : 1, - "numoutlets" : 1, - "outlettype" : [ "" ], - "patching_rect" : [ 50.0, 319.0, 108.0, 23.0 ], - "text" : "prepend highlight" - } - - } -, { - "box" : { - "fontsize" : 13.0, - "id" : "obj-37", - "maxclass" : "newobj", - "numinlets" : 2, - "numoutlets" : 2, - "outlettype" : [ "", "" ], - "patching_rect" : [ 50.0, 275.0, 92.0, 23.0 ], - "text" : "route knearest" - } - - } -, { - "box" : { - "bgmode" : 0, - "border" : 0, - "clickthrough" : 0, - "enablehscroll" : 0, - "enablevscroll" : 0, - "id" : "obj-36", - "lockeddragscroll" : 0, - "lockedsize" : 0, - "maxclass" : "bpatcher", - "name" : "fluid.jit.plotter.maxpat", - "numinlets" : 2, - "numoutlets" : 2, - "offset" : [ 0.0, 0.0 ], - "outlettype" : [ "", "" ], - "patching_rect" : [ 222.0, 286.0, 264.0, 264.0 ], - "viewvisibility" : 1 - } - - } -, { - "box" : { - "fontsize" : 13.0, - "id" : "obj-33", - "maxclass" : "message", - "numinlets" : 2, - "numoutlets" : 1, - "outlettype" : [ "" ], - "patching_rect" : [ 555.0, 201.5, 189.0, 23.0 ], - "text" : "highlight entry-1 entry-4 entry-9" - } - - } -, { - "box" : { - "fontsize" : 13.0, - "id" : "obj-31", - "maxclass" : "message", - "numinlets" : 2, - "numoutlets" : 1, - "outlettype" : [ "" ], - "patching_rect" : [ 50.0, 201.5, 75.0, 23.0 ], - "text" : "fit plotting.2" - } - - } -, { - "box" : { - "fontsize" : 13.0, - "id" : "obj-27", - "maxclass" : "message", - "numinlets" : 2, - "numoutlets" : 1, - "outlettype" : [ "" ], - "patching_rect" : [ 222.5, 658.0, 76.0, 23.0 ], - "text" : "knearest $2" - } - - } -, { - "box" : { - "fontsize" : 13.0, - "id" : "obj-22", - "maxclass" : "newobj", - "numinlets" : 1, - "numoutlets" : 1, - "outlettype" : [ "buffer" ], - "patching_rect" : [ 222.5, 616.0, 77.0, 23.0 ], - "text" : "fluid.list2buf" - } - - } -, { - "box" : { - "dontreplace" : 1, - "fontsize" : 13.0, - "id" : "obj-21", - "maxclass" : "message", - "numinlets" : 2, - "numoutlets" : 1, - "outlettype" : [ "" ], - "patching_rect" : [ 222.5, 574.0, 161.5, 23.0 ] - } - - } -, { - "box" : { - "fontsize" : 13.0, - "id" : "obj-16", - "maxclass" : "newobj", - "numinlets" : 1, - "numoutlets" : 2, - "outlettype" : [ "", "" ], - "patching_rect" : [ 50.0, 237.0, 80.0, 23.0 ], - "text" : "fluid.kdtree~" - } - - } -, { - "box" : { - "fontsize" : 13.0, - "id" : "obj-15", - "maxclass" : "newobj", - "numinlets" : 1, - "numoutlets" : 1, - "outlettype" : [ "" ], - "patcher" : { - "fileversion" : 1, - "appversion" : { - "major" : 9, - "minor" : 0, - "revision" : 7, - "architecture" : "x64", - "modernui" : 1 - } -, - "classnamespace" : "box", - "rect" : [ 59.0, 105.0, 243.0, 243.0 ], - "gridsize" : [ 15.0, 15.0 ], - "boxes" : [ { - "box" : { - "id" : "obj-1", - "maxclass" : "newobj", - "numinlets" : 1, - "numoutlets" : 2, - "outlettype" : [ "", "" ], - "patching_rect" : [ 70.0, 206.0, 147.0, 22.0 ], - "text" : "fluid.labelset~ clustering.2" - } - - } -, { - "box" : { - "id" : "obj-83", - "maxclass" : "message", - "numinlets" : 2, - "numoutlets" : 1, - "outlettype" : [ "" ], - "patching_rect" : [ 14.0, 167.5, 98.0, 22.0 ], - "text" : "refer clustering.2" - } - - } -, { - "box" : { - "id" : "obj-80", - "maxclass" : "newobj", - "numinlets" : 2, - "numoutlets" : 2, - "outlettype" : [ "", "" ], - "patching_rect" : [ 14.0, 133.5, 85.0, 22.0 ], - "text" : "route fitpredict" - } - - } -, { - "box" : { - "id" : "obj-78", - "maxclass" : "message", - "numinlets" : 2, - "numoutlets" : 1, - "outlettype" : [ "" ], - "patching_rect" : [ 14.0, 71.0, 203.0, 22.0 ], - "text" : "clear, fitpredict plotting.2 clustering.2" - } - - } -, { - "box" : { - "id" : "obj-76", - "maxclass" : "newobj", - "numinlets" : 1, - "numoutlets" : 2, - "outlettype" : [ "", "" ], - "patching_rect" : [ 14.0, 103.0, 173.0, 22.0 ], - "text" : "fluid.kmeans~ @numclusters 4" - } - - } -, { - "box" : { - "comment" : "", - "id" : "obj-13", - "index" : 1, - "maxclass" : "inlet", - "numinlets" : 0, - "numoutlets" : 1, - "outlettype" : [ "bang" ], - "patching_rect" : [ 14.0, 11.0, 30.0, 30.0 ] - } - - } -, { - "box" : { - "comment" : "", - "id" : "obj-14", - "index" : 1, - "maxclass" : "outlet", - "numinlets" : 1, - "numoutlets" : 0, - "patching_rect" : [ 14.0, 202.0, 30.0, 30.0 ] - } - - } - ], - "lines" : [ { - "patchline" : { - "destination" : [ "obj-78", 0 ], - "source" : [ "obj-13", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-80", 0 ], - "source" : [ "obj-76", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-76", 0 ], - "source" : [ "obj-78", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-83", 0 ], - "source" : [ "obj-80", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-14", 0 ], - "source" : [ "obj-83", 0 ] - } - - } - ] - } -, - "patching_rect" : [ 222.5, 201.5, 143.0, 23.0 ], - "text" : "p \"cluster random data\"" - } - - } -, { - "box" : { - "id" : "obj-10", - "maxclass" : "button", - "numinlets" : 1, - "numoutlets" : 1, - "outlettype" : [ "bang" ], - "parameter_enable" : 0, - "patching_rect" : [ 50.0, 110.0, 24.0, 24.0 ] - } - - } -, { - "box" : { - "fontsize" : 13.0, - "id" : "obj-8", - "maxclass" : "newobj", - "numinlets" : 1, - "numoutlets" : 3, - "outlettype" : [ "bang", "bang", "bang" ], - "patching_rect" : [ 50.0, 148.597168000000011, 364.0, 23.0 ], - "text" : "t b b b" - } - - } -, { - "box" : { - "fontsize" : 13.0, - "id" : "obj-5", - "maxclass" : "newobj", - "numinlets" : 1, - "numoutlets" : 1, - "outlettype" : [ "" ], - "patcher" : { - "fileversion" : 1, - "appversion" : { - "major" : 9, - "minor" : 0, - "revision" : 7, - "architecture" : "x64", - "modernui" : 1 - } -, - "classnamespace" : "box", - "rect" : [ 35.0, 100.0, 569.0, 464.0 ], - "gridsize" : [ 15.0, 15.0 ], - "boxes" : [ { - "box" : { - "id" : "obj-68", - "maxclass" : "message", - "numinlets" : 2, - "numoutlets" : 1, - "outlettype" : [ "" ], - "patching_rect" : [ 166.0, 382.40283203125, 85.0, 22.0 ], - "text" : "refer plotting.2" - } - - } -, { - "box" : { - "id" : "obj-17", - "maxclass" : "newobj", - "numinlets" : 1, - "numoutlets" : 2, - "outlettype" : [ "", "" ], - "patching_rect" : [ 53.0, 348.90283203125, 132.0, 22.0 ], - "text" : "fluid.dataset~ plotting.2" - } - - } -, { - "box" : { - "id" : "obj-24", - "maxclass" : "newobj", - "numinlets" : 3, - "numoutlets" : 1, - "outlettype" : [ "" ], - "patching_rect" : [ 101.0, 221.90283203125, 96.0, 22.0 ], - "text" : "sprintf %s %f %f" - } - - } -, { - "box" : { - "id" : "obj-23", - "maxclass" : "newobj", - "numinlets" : 1, - "numoutlets" : 1, - "outlettype" : [ "" ], - "patching_rect" : [ 380.25, 178.90283203125, 164.0, 22.0 ], - "text" : "expr random(0\\, 1000) / 1000." - } - - } -, { - "box" : { - "id" : "obj-22", - "maxclass" : "newobj", - "numinlets" : 1, - "numoutlets" : 1, - "outlettype" : [ "" ], - "patching_rect" : [ 210.25, 178.90283203125, 164.0, 22.0 ], - "text" : "expr random(0\\, 1000) / 1000." - } - - } -, { - "box" : { - "id" : "obj-21", - "maxclass" : "newobj", - "numinlets" : 1, - "numoutlets" : 1, - "outlettype" : [ "" ], - "patching_rect" : [ 101.0, 178.90283203125, 92.0, 22.0 ], - "text" : "sprintf entry-%i:" - } - - } -, { - "box" : { - "id" : "obj-16", - "maxclass" : "newobj", - "numinlets" : 1, - "numoutlets" : 2, - "outlettype" : [ "int", "bang" ], - "patching_rect" : [ 101.0, 132.90283203125, 128.25, 22.0 ], - "text" : "t i b" - } - - } -, { - "box" : { - "id" : "obj-74", - "maxclass" : "newobj", - "numinlets" : 2, - "numoutlets" : 3, - "outlettype" : [ "bang", "bang", "int" ], - "patching_rect" : [ 39.0, 94.90283203125, 47.0, 22.0 ], - "text" : "uzi 100" - } - - } -, { - "box" : { - "id" : "obj-71", - "maxclass" : "newobj", - "numinlets" : 3, - "numoutlets" : 1, - "outlettype" : [ "dictionary" ], - "patching_rect" : [ 53.0, 285.90283203125, 121.0, 22.0 ], - "text" : "dict.pack data: cols:2" - } - - } -, { - "box" : { - "id" : "obj-70", - "maxclass" : "newobj", - "numinlets" : 1, - "numoutlets" : 1, - "outlettype" : [ "dictionary" ], - "patching_rect" : [ 53.0, 251.90283203125, 61.0, 22.0 ], - "text" : "dict.group" - } - - } -, { - "box" : { - "id" : "obj-54", - "maxclass" : "newobj", - "numinlets" : 1, - "numoutlets" : 2, - "outlettype" : [ "", "" ], - "patching_rect" : [ 138.5, 94.90283203125, 132.0, 22.0 ], - "text" : "fluid.dataset~ plotting.2" - } - - } -, { - "box" : { - "id" : "obj-52", - "maxclass" : "newobj", - "numinlets" : 1, - "numoutlets" : 2, - "outlettype" : [ "bang", "clear" ], - "patching_rect" : [ 39.0, 58.90283203125, 118.5, 22.0 ], - "text" : "t b clear" - } - - } -, { - "box" : { - "id" : "obj-43", - "maxclass" : "newobj", - "numinlets" : 1, - "numoutlets" : 1, - "outlettype" : [ "" ], - "patching_rect" : [ 53.0, 316.90283203125, 81.0, 22.0 ], - "text" : "prepend load" - } - - } -, { - "box" : { - "comment" : "", - "id" : "obj-2", - "index" : 1, - "maxclass" : "inlet", - "numinlets" : 0, - "numoutlets" : 1, - "outlettype" : [ "bang" ], - "patching_rect" : [ 39.0, 24.000000031249996, 30.0, 30.0 ] - } - - } -, { - "box" : { - "comment" : "", - "id" : "obj-4", - "index" : 1, - "maxclass" : "outlet", - "numinlets" : 1, - "numoutlets" : 0, - "patching_rect" : [ 166.0, 417.805664031249989, 30.0, 30.0 ] - } - - } - ], - "lines" : [ { - "patchline" : { - "destination" : [ "obj-21", 0 ], - "source" : [ "obj-16", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-22", 0 ], - "order" : 1, - "source" : [ "obj-16", 1 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-23", 0 ], - "order" : 0, - "source" : [ "obj-16", 1 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-68", 0 ], - "source" : [ "obj-17", 1 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-52", 0 ], - "source" : [ "obj-2", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-24", 0 ], - "source" : [ "obj-21", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-24", 1 ], - "source" : [ "obj-22", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-24", 2 ], - "source" : [ "obj-23", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-70", 0 ], - "source" : [ "obj-24", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-17", 0 ], - "source" : [ "obj-43", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-54", 0 ], - "source" : [ "obj-52", 1 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-74", 0 ], - "source" : [ "obj-52", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-4", 0 ], - "source" : [ "obj-68", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-71", 0 ], - "source" : [ "obj-70", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-43", 0 ], - "source" : [ "obj-71", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-16", 0 ], - "source" : [ "obj-74", 2 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-70", 0 ], - "source" : [ "obj-74", 1 ] - } - - } - ] - } -, - "patching_rect" : [ 395.0, 201.5, 156.0, 23.0 ], - "text" : "p \"generate random data\"" - } - - } -, { - "box" : { - "fontsize" : 13.0, - "id" : "obj-6", - "maxclass" : "comment", - "numinlets" : 1, - "numoutlets" : 0, - "patching_rect" : [ 10.0, 66.0, 239.0, 21.0 ], - "saved_attribute_attributes" : { - "textcolor" : { - "expression" : "themecolor.theme_textcolor" - } - - } -, - "text" : "An abstraction for plotting fluid.dataset~" - } - - } -, { - "box" : { - "border" : 0, - "filename" : "helpdetails.js", - "id" : "obj-3", - "ignoreclick" : 1, - "jsarguments" : [ "fluid.jit.plotter" ], - "maxclass" : "jsui", - "numinlets" : 1, - "numoutlets" : 1, - "outlettype" : [ "" ], - "parameter_enable" : 0, - "patching_rect" : [ 10.0, 10.0, 320.0, 54.0 ] - } - - } - ], - "lines" : [ { - "patchline" : { - "destination" : [ "obj-8", 0 ], - "source" : [ "obj-10", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-36", 1 ], - "midpoints" : [ 232.0, 272.0, 476.5, 272.0 ], - "source" : [ "obj-15", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-37", 0 ], - "source" : [ "obj-16", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-22", 0 ], - "source" : [ "obj-21", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-27", 0 ], - "source" : [ "obj-22", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-57", 0 ], - "midpoints" : [ 232.0, 695.0, 232.0, 695.0 ], - "source" : [ "obj-27", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-16", 0 ], - "source" : [ "obj-31", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-36", 0 ], - "midpoints" : [ 564.5, 272.0, 231.5, 272.0 ], - "source" : [ "obj-33", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-21", 1 ], - "midpoints" : [ 231.5, 560.0, 374.5, 560.0 ], - "order" : 0, - "source" : [ "obj-36", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-21", 0 ], - "order" : 1, - "source" : [ "obj-36", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-40", 0 ], - "source" : [ "obj-37", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-36", 0 ], - "midpoints" : [ 59.5, 350.0, 215.0, 350.0, 215.0, 275.0, 231.5, 275.0 ], - "source" : [ "obj-40", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-36", 0 ], - "midpoints" : [ 404.5, 272.0, 231.5, 272.0 ], - "source" : [ "obj-5", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-16", 0 ], - "midpoints" : [ 232.0, 732.0, 45.0, 732.0, 45.0, 232.0, 59.5, 232.0 ], - "source" : [ "obj-57", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-15", 0 ], - "source" : [ "obj-8", 1 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-31", 0 ], - "source" : [ "obj-8", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-5", 0 ], - "source" : [ "obj-8", 2 ] - } - - } - ], - "styles" : [ { - "name" : "max6box", - "default" : { - "accentcolor" : [ 0.8, 0.839216, 0.709804, 1.0 ], - "bgcolor" : [ 1.0, 1.0, 1.0, 0.5 ], - "textcolor_inverse" : [ 0.0, 0.0, 0.0, 1.0 ] - } -, - "parentstyle" : "", - "multi" : 0 - } -, { - "name" : "max6inlet", - "default" : { - "color" : [ 0.423529, 0.372549, 0.27451, 1.0 ] - } -, - "parentstyle" : "", - "multi" : 0 - } -, { - "name" : "max6message", - "default" : { - "bgfillcolor" : { - "angle" : 270.0, - "autogradient" : 0, - "color" : [ 0.290196, 0.309804, 0.301961, 1.0 ], - "color1" : [ 0.866667, 0.866667, 0.866667, 1.0 ], - "color2" : [ 0.788235, 0.788235, 0.788235, 1.0 ], - "proportion" : 0.39, - "type" : "gradient" - } -, - "textcolor_inverse" : [ 0.0, 0.0, 0.0, 1.0 ] - } -, - "parentstyle" : "max6box", - "multi" : 0 - } -, { - "name" : "max6outlet", - "default" : { - "color" : [ 0.0, 0.454902, 0.498039, 1.0 ] - } -, - "parentstyle" : "", - "multi" : 0 - } - ] - } -, - "patching_rect" : [ 126.0, 24.0, 65.0, 22.0 ], - "text" : "p querying" - } - - } -, { - "box" : { - "id" : "obj-5", - "maxclass" : "newobj", - "numinlets" : 0, - "numoutlets" : 0, - "patcher" : { - "fileversion" : 1, - "appversion" : { - "major" : 9, - "minor" : 0, - "revision" : 7, - "architecture" : "x64", - "modernui" : 1 - } -, - "classnamespace" : "box", - "rect" : [ 0.0, 26.0, 963.0, 792.0 ], - "gridonopen" : 2, - "gridsize" : [ 10.0, 10.0 ], - "gridsnaponopen" : 2, - "showontab" : 1, - "boxes" : [ { - "box" : { - "id" : "obj-14", - "maxclass" : "message", - "numinlets" : 2, - "numoutlets" : 1, - "outlettype" : [ "" ], - "patching_rect" : [ 90.0, 528.0, 35.0, 22.0 ], - "text" : "reset" - } - - } -, { - "box" : { - "id" : "obj-13", - "maxclass" : "message", - "numinlets" : 2, - "numoutlets" : 1, - "outlettype" : [ "" ], - "patching_rect" : [ 28.0, 528.0, 35.0, 22.0 ], - "text" : "clear" - } - - } -, { - "box" : { - "fontsize" : 13.0, - "id" : "obj-6", - "linecount" : 2, - "maxclass" : "comment", - "numinlets" : 1, - "numoutlets" : 0, - "patching_rect" : [ 28.0, 490.0, 100.0, 36.0 ], - "saved_attribute_attributes" : { - "textcolor" : { - "expression" : "themecolor.theme_textcolor" - } - - } -, - "text" : "...just like clear or reset" - } - - } -, { - "box" : { - "id" : "obj-8", - "maxclass" : "newobj", - "numinlets" : 2, - "numoutlets" : 2, - "outlettype" : [ "", "" ], - "patching_rect" : [ 702.0, 720.0, 69.0, 22.0 ], - "text" : "route dump" - } - - } -, { - "box" : { - "id" : "obj-7", - "maxclass" : "message", - "numinlets" : 2, - "numoutlets" : 1, - "outlettype" : [ "" ], - "patching_rect" : [ 550.0, 660.0, 39.0, 22.0 ], - "text" : "dump" - } - - } -, { - "box" : { - "fontsize" : 13.0, - "id" : "obj-4", - "maxclass" : "newobj", - "numinlets" : 1, - "numoutlets" : 2, - "outlettype" : [ "", "" ], - "patching_rect" : [ 550.0, 690.0, 171.0, 23.0 ], - "text" : "fluid.dataset~ help.plotting.1" - } - - } -, { - "box" : { - "fontsize" : 13.0, - "id" : "obj-3", - "linecount" : 8, - "maxclass" : "comment", - "numinlets" : 1, - "numoutlets" : 0, - "patching_rect" : [ 550.0, 530.0, 240.0, 123.0 ], - "saved_attribute_attributes" : { - "textcolor" : { - "expression" : "themecolor.theme_textcolor" - } - - } -, - "text" : "fluid.jit.plotter aims for speed with large datasets (– check the last tab).\nUsing the refer message instead of a dictionary avoids some copying and gives you several times the load speed with large datasets.\nNevertheless, the dictionary input still works, just like with fluid.plotter. " - } - - } -, { - "box" : { - "fontsize" : 13.0, - "id" : "obj-43", - "linecount" : 3, - "maxclass" : "comment", - "numinlets" : 1, - "numoutlets" : 0, - "patching_rect" : [ 550.0, 422.0, 113.0, 50.0 ], - "saved_attribute_attributes" : { - "textcolor" : { - "expression" : "themecolor.theme_textcolor" - } - - } -, - "text" : "refer without arguments resets all colors to black" - } - - } -, { - "box" : { - "fontsize" : 13.0, - "id" : "obj-41", - "linecount" : 3, - "maxclass" : "comment", - "numinlets" : 1, - "numoutlets" : 0, - "patching_rect" : [ 28.0, 422.0, 100.0, 50.0 ], - "saved_attribute_attributes" : { - "textcolor" : { - "expression" : "themecolor.theme_textcolor" - } - - } -, - "text" : "refer without arguments erases the plot" - } - - } -, { - "box" : { - "id" : "obj-24", - "maxclass" : "message", - "numinlets" : 2, - "numoutlets" : 1, - "outlettype" : [ "" ], - "patching_rect" : [ 130.0, 422.0, 33.0, 22.0 ], - "text" : "refer" - } - - } -, { - "box" : { - "id" : "obj-20", - "maxclass" : "message", - "numinlets" : 2, - "numoutlets" : 1, - "outlettype" : [ "" ], - "patching_rect" : [ 509.0, 422.0, 33.0, 22.0 ], - "text" : "refer" - } - - } -, { - "box" : { - "fontsize" : 13.0, - "id" : "obj-12", - "linecount" : 5, - "maxclass" : "comment", - "numinlets" : 1, - "numoutlets" : 0, - "patching_rect" : [ 490.0, 333.5, 240.0, 79.0 ], - "saved_attribute_attributes" : { - "textcolor" : { - "expression" : "themecolor.theme_textcolor" - } - - } -, - "text" : "The right inlet expects the name of a fluid.labelset~ with the refer message.\nEach unique label in the fluid.labelset~ will be randomly assigned to a colour inside the fluid.plotter." - } - - } -, { - "box" : { - "bgcolor" : [ 1.0, 0.788235, 0.470588, 1.0 ], - "fontname" : "Arial Bold", - "fontsize" : 13.0, - "hint" : "", - "id" : "obj-42", - "ignoreclick" : 1, - "legacytextcolor" : 1, - "maxclass" : "textbutton", - "numinlets" : 1, - "numoutlets" : 3, - "outlettype" : [ "", "", "int" ], - "parameter_enable" : 0, - "patching_rect" : [ 352.5, 132.0, 20.0, 20.0 ], - "rounded" : 60.0, - "text" : "1", - "textcolor" : [ 0.34902, 0.34902, 0.34902, 1.0 ] - } - - } -, { - "box" : { - "bubble" : 1, - "id" : "obj-37", - "maxclass" : "comment", - "numinlets" : 1, - "numoutlets" : 0, - "patching_rect" : [ 200.0, 130.0, 149.0, 24.0 ], - "text" : "Select a prefab dataset" - } - - } -, { - "box" : { - "fontsize" : 13.0, - "id" : "obj-10", - "maxclass" : "newobj", - "numinlets" : 1, - "numoutlets" : 2, - "outlettype" : [ "", "" ], - "patching_rect" : [ 691.0, 170.0, 148.0, 23.0 ], - "text" : "fluid.labelset~ clustering" - } - - } -, { - "box" : { - "id" : "obj-9", - "maxclass" : "message", - "numinlets" : 2, - "numoutlets" : 1, - "outlettype" : [ "" ], - "patching_rect" : [ 177.0, 300.0, 111.0, 22.0 ], - "text" : "refer help.plotting.1" - } - - } -, { - "box" : { - "id" : "obj-5", - "maxclass" : "newobj", - "numinlets" : 2, - "numoutlets" : 2, - "outlettype" : [ "bang", "" ], - "patching_rect" : [ 177.0, 270.0, 51.0, 22.0 ], - "text" : "sel read" - } - - } -, { - "box" : { - "border" : 0, - "filename" : "helpdetails.js", - "id" : "obj-2", - "ignoreclick" : 1, - "jsarguments" : [ "fluid.jit.plotter" ], - "maxclass" : "jsui", - "numinlets" : 1, - "numoutlets" : 1, - "outlettype" : [ "" ], - "parameter_enable" : 0, - "patching_rect" : [ 10.0, 10.0, 410.0, 110.0 ] - } - - } -, { - "box" : { - "id" : "obj-11", - "maxclass" : "message", - "numinlets" : 2, - "numoutlets" : 1, - "outlettype" : [ "" ], - "patching_rect" : [ 25.0, 200.0, 49.0, 22.0 ], - "text" : "read $1" - } - - } -, { - "box" : { - "bgmode" : 0, - "border" : 0, - "clickthrough" : 0, - "enablehscroll" : 0, - "enablevscroll" : 0, - "id" : "obj-1", - "lockeddragscroll" : 0, - "lockedsize" : 0, - "maxclass" : "bpatcher", - "name" : "fluid.dataloader.maxpat", - "numinlets" : 0, - "numoutlets" : 1, - "offset" : [ 0.0, 0.0 ], - "outlettype" : [ "" ], - "patching_rect" : [ 25.0, 130.0, 175.0, 63.363631999999996 ], - "viewvisibility" : 1 - } - - } -, { - "box" : { - "bgcolor" : [ 1.0, 0.788235, 0.470588, 1.0 ], - "fontname" : "Arial Bold", - "fontsize" : 13.0, - "hint" : "", - "id" : "obj-21", - "ignoreclick" : 1, - "legacytextcolor" : 1, - "maxclass" : "textbutton", - "numinlets" : 1, - "numoutlets" : 3, - "outlettype" : [ "", "", "int" ], - "parameter_enable" : 0, - "patching_rect" : [ 843.0, 132.5, 20.0, 20.0 ], - "rounded" : 60.0, - "text" : "2", - "textcolor" : [ 0.34902, 0.34902, 0.34902, 1.0 ] - } - - } -, { - "box" : { - "bubble" : 1, - "fontsize" : 13.0, - "id" : "obj-22", - "maxclass" : "comment", - "numinlets" : 1, - "numoutlets" : 0, - "patching_rect" : [ 718.0, 129.0, 117.0, 25.0 ], - "text" : "Cluster the data" - } - - } -, { - "box" : { - "fontsize" : 13.0, - "id" : "obj-83", - "maxclass" : "message", - "numinlets" : 2, - "numoutlets" : 1, - "outlettype" : [ "" ], - "patching_rect" : [ 480.0, 300.0, 94.0, 23.0 ], - "text" : "refer clustering" - } - - } -, { - "box" : { - "fontsize" : 13.0, - "id" : "obj-80", - "maxclass" : "newobj", - "numinlets" : 2, - "numoutlets" : 2, - "outlettype" : [ "", "" ], - "patching_rect" : [ 480.0, 210.0, 91.0, 23.0 ], - "text" : "route fitpredict" - } - - } -, { - "box" : { - "fontsize" : 13.0, - "id" : "obj-78", - "maxclass" : "message", - "numinlets" : 2, - "numoutlets" : 1, - "outlettype" : [ "" ], - "patching_rect" : [ 480.0, 130.0, 236.0, 23.0 ], - "text" : "clear, fitpredict help.plotting.1 clustering" - } - - } -, { - "box" : { - "fontsize" : 13.0, - "id" : "obj-76", - "maxclass" : "newobj", - "numinlets" : 1, - "numoutlets" : 2, - "outlettype" : [ "", "" ], - "patching_rect" : [ 480.0, 170.0, 187.0, 23.0 ], - "text" : "fluid.kmeans~ @numclusters 4" - } - - } -, { - "box" : { - "fontsize" : 13.0, - "id" : "obj-72", - "linecount" : 3, - "maxclass" : "comment", - "numinlets" : 1, - "numoutlets" : 0, - "patching_rect" : [ 190.0, 333.5, 243.0, 50.0 ], - "saved_attribute_attributes" : { - "textcolor" : { - "expression" : "themecolor.theme_textcolor" - } - - } -, - "text" : "Use the refer message with the name of a fluid.dataset~. The fluid.dataset~ must be only two dimensions." - } - - } -, { - "box" : { - "bgmode" : 0, - "border" : 0, - "clickthrough" : 0, - "enablehscroll" : 0, - "enablevscroll" : 0, - "id" : "obj-58", - "lockeddragscroll" : 0, - "lockedsize" : 0, - "maxclass" : "bpatcher", - "name" : "fluid.jit.plotter.maxpat", - "numinlets" : 2, - "numoutlets" : 2, - "offset" : [ 0.0, 0.0 ], - "outlettype" : [ "", "" ], - "patching_rect" : [ 177.0, 422.0, 322.0, 322.0 ], - "viewvisibility" : 1 - } - - } -, { - "box" : { - "fontsize" : 13.0, - "id" : "obj-17", - "maxclass" : "newobj", - "numinlets" : 1, - "numoutlets" : 2, - "outlettype" : [ "", "" ], - "patching_rect" : [ 25.0, 230.0, 171.0, 23.0 ], - "text" : "fluid.dataset~ help.plotting.1" - } - - } - ], - "lines" : [ { - "patchline" : { - "destination" : [ "obj-11", 0 ], - "source" : [ "obj-1", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-17", 0 ], - "source" : [ "obj-11", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-58", 0 ], - "midpoints" : [ 37.5, 567.0, 170.0, 567.0, 170.0, 411.0, 186.5, 411.0 ], - "source" : [ "obj-13", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-58", 0 ], - "midpoints" : [ 99.5, 559.0, 170.0, 559.0, 170.0, 411.0, 186.5, 411.0 ], - "source" : [ "obj-14", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-5", 0 ], - "source" : [ "obj-17", 1 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-58", 1 ], - "midpoints" : [ 518.5, 454.0, 504.0, 454.0, 504.0, 411.0, 489.5, 411.0 ], - "source" : [ "obj-20", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-58", 0 ], - "midpoints" : [ 139.5, 454.0, 170.0, 454.0, 170.0, 411.0, 186.5, 411.0 ], - "source" : [ "obj-24", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-8", 0 ], - "source" : [ "obj-4", 1 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-9", 0 ], - "source" : [ "obj-5", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-4", 0 ], - "source" : [ "obj-7", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-80", 0 ], - "source" : [ "obj-76", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-76", 0 ], - "source" : [ "obj-78", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-58", 0 ], - "midpoints" : [ 711.5, 752.0, 170.0, 752.0, 170.0, 411.0, 186.5, 411.0 ], - "source" : [ "obj-8", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-83", 0 ], - "source" : [ "obj-80", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-58", 1 ], - "source" : [ "obj-83", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-58", 0 ], - "source" : [ "obj-9", 0 ] - } - - } - ], - "styles" : [ { - "name" : "max6box", - "default" : { - "accentcolor" : [ 0.8, 0.839216, 0.709804, 1.0 ], - "bgcolor" : [ 1.0, 1.0, 1.0, 0.5 ], - "textcolor_inverse" : [ 0.0, 0.0, 0.0, 1.0 ] - } -, - "parentstyle" : "", - "multi" : 0 - } -, { - "name" : "max6inlet", - "default" : { - "color" : [ 0.423529, 0.372549, 0.27451, 1.0 ] - } -, - "parentstyle" : "", - "multi" : 0 - } -, { - "name" : "max6message", - "default" : { - "bgfillcolor" : { - "angle" : 270.0, - "autogradient" : 0, - "color" : [ 0.290196, 0.309804, 0.301961, 1.0 ], - "color1" : [ 0.866667, 0.866667, 0.866667, 1.0 ], - "color2" : [ 0.788235, 0.788235, 0.788235, 1.0 ], - "proportion" : 0.39, - "type" : "gradient" - } -, - "textcolor_inverse" : [ 0.0, 0.0, 0.0, 1.0 ] - } -, - "parentstyle" : "max6box", - "multi" : 0 - } -, { - "name" : "max6outlet", - "default" : { - "color" : [ 0.0, 0.454902, 0.498039, 1.0 ] - } -, - "parentstyle" : "", - "multi" : 0 - } - ] - } -, - "patching_rect" : [ 13.0, 23.0, 47.0, 22.0 ], - "text" : "p basic" - } - - } - ], - "lines" : [ ], - "parameters" : { - "obj-4::obj-20" : [ "number", "number", 0 ], - "obj-8::obj-48" : [ "number[1]", "number[1]", 0 ], - "obj-8::obj-8" : [ "number[2]", "number[2]", 0 ], - "parameterbanks" : { - "0" : { - "index" : 0, - "name" : "", - "parameters" : [ "-", "-", "-", "-", "-", "-", "-", "-" ] - } - - } -, - "inherited_shortname" : 1 - } -, - "dependency_cache" : [ { - "name" : "fluid.buf2list.mxo", - "type" : "iLaX" - } -, { - "name" : "fluid.bufcompose~.mxo", - "type" : "iLaX" - } -, { - "name" : "fluid.dataloader.maxpat", - "bootpath" : "~/Documents/Max 9/Packages/FluidCorpusManipulation/patchers", - "patcherrelativepath" : "../../../Max 9/Packages/FluidCorpusManipulation/patchers", - "type" : "JSON", - "implicit" : 1 - } -, { - "name" : "fluid.dataset~.mxo", - "type" : "iLaX" - } -, { - "name" : "fluid.jit.plotter.labels2colors.js", - "bootpath" : "~/Documents/Max 9/Packages/FluidCorpusManipulation/javascript", - "patcherrelativepath" : "../../../Max 9/Packages/FluidCorpusManipulation/javascript", - "type" : "TEXT", - "implicit" : 1 - } -, { - "name" : "fluid.jit.plotter.maxpat", - "bootpath" : "~/Documents/Max 9/Packages/FluidCorpusManipulation/patchers", - "patcherrelativepath" : "../../../Max 9/Packages/FluidCorpusManipulation/patchers", - "type" : "JSON", - "implicit" : 1 - } -, { - "name" : "fluid.jit.plotter.resize.pwindow.js", - "bootpath" : "~/Documents/Max 9/Packages/FluidCorpusManipulation/javascript", - "patcherrelativepath" : "../../../Max 9/Packages/FluidCorpusManipulation/javascript", - "type" : "TEXT", - "implicit" : 1 - } -, { - "name" : "fluid.kdtree~.mxo", - "type" : "iLaX" - } -, { - "name" : "fluid.kmeans~.mxo", - "type" : "iLaX" - } -, { - "name" : "fluid.labelset~.mxo", - "type" : "iLaX" - } -, { - "name" : "fluid.list2buf.mxo", - "type" : "iLaX" - } -, { - "name" : "helpdetails.js", - "bootpath" : "C74:/help/resources", - "type" : "TEXT", - "implicit" : 1 - } -, { - "name" : "thru.maxpat", - "bootpath" : "C74:/patchers/m4l/Pluggo for Live resources/patches", - "type" : "JSON", - "implicit" : 1 - } - ], - "autosave" : 0, - "styles" : [ { - "name" : "max6box", - "default" : { - "accentcolor" : [ 0.8, 0.839216, 0.709804, 1.0 ], - "bgcolor" : [ 1.0, 1.0, 1.0, 0.5 ], - "textcolor_inverse" : [ 0.0, 0.0, 0.0, 1.0 ] - } -, - "parentstyle" : "", - "multi" : 0 - } -, { - "name" : "max6inlet", - "default" : { - "color" : [ 0.423529, 0.372549, 0.27451, 1.0 ] - } -, - "parentstyle" : "", - "multi" : 0 - } -, { - "name" : "max6message", - "default" : { - "bgfillcolor" : { - "angle" : 270.0, - "autogradient" : 0, - "color" : [ 0.290196, 0.309804, 0.301961, 1.0 ], - "color1" : [ 0.866667, 0.866667, 0.866667, 1.0 ], - "color2" : [ 0.788235, 0.788235, 0.788235, 1.0 ], - "proportion" : 0.39, - "type" : "gradient" - } -, - "textcolor_inverse" : [ 0.0, 0.0, 0.0, 1.0 ] - } -, - "parentstyle" : "max6box", - "multi" : 0 - } -, { - "name" : "max6outlet", - "default" : { - "color" : [ 0.0, 0.454902, 0.498039, 1.0 ] - } -, - "parentstyle" : "", - "multi" : 0 - } - ] - } - -} + "patcher": { + "fileversion": 1, + "appversion": { + "major": 9, + "minor": 1, + "revision": 4, + "architecture": "x64", + "modernui": 1 + }, + "classnamespace": "box", + "rect": [ 241.0, 172.0, 951.0, 818.0 ], + "showrootpatcherontab": 0, + "showontab": 0, + "boxes": [ + { + "box": { + "id": "obj-2", + "maxclass": "newobj", + "numinlets": 0, + "numoutlets": 0, + "patcher": { + "fileversion": 1, + "appversion": { + "major": 9, + "minor": 1, + "revision": 4, + "architecture": "x64", + "modernui": 1 + }, + "classnamespace": "box", + "rect": [ 241.0, 198.0, 951.0, 792.0 ], + "bglocked": 1, + "gridonopen": 2, + "gridsize": [ 10.0, 10.0 ], + "gridsnaponopen": 2, + "showontab": 1, + "boxes": [ + { + "box": { + "bgcolor": [ 1.0, 0.788235, 0.470588, 1.0 ], + "fontname": "Arial Bold", + "fontsize": 13.0, + "hint": "", + "id": "obj-45", + "ignoreclick": 1, + "legacytextcolor": 1, + "maxclass": "textbutton", + "numinlets": 1, + "numoutlets": 3, + "outlettype": [ "", "", "int" ], + "parameter_enable": 0, + "patching_rect": [ 800.0, 680.0, 20.0, 20.0 ], + "rounded": 60.0, + "text": "7", + "textcolor": [ 0.34902, 0.34902, 0.34902, 1.0 ] + } + }, + { + "box": { + "id": "obj-44", + "maxclass": "comment", + "numinlets": 1, + "numoutlets": 0, + "patching_rect": [ 580.0, 650.0, 308.0, 20.0 ], + "text": "Remap displayed dimensions with the dimmap message" + } + }, + { + "box": { + "bubble": 1, + "fontsize": 13.0, + "id": "obj-42", + "maxclass": "comment", + "numinlets": 1, + "numoutlets": 0, + "patching_rect": [ 710.0, 678.0, 87.0, 25.0 ], + "text": "look inside" + } + }, + { + "box": { + "id": "obj-40", + "maxclass": "newobj", + "numinlets": 0, + "numoutlets": 1, + "outlettype": [ "" ], + "patcher": { + "fileversion": 1, + "appversion": { + "major": 9, + "minor": 1, + "revision": 4, + "architecture": "x64", + "modernui": 1 + }, + "classnamespace": "box", + "rect": [ 422.0, 302.0, 929.0, 557.0 ], + "boxes": [ + { + "box": { + "bubble": 1, + "id": "obj-9", + "linecount": 2, + "maxclass": "comment", + "numinlets": 1, + "numoutlets": 0, + "patching_rect": [ 475.0, 24.0, 139.0, 37.0 ], + "text": "check how this works to get an intuition" + } + }, + { + "box": { + "id": "obj-7", + "maxclass": "newobj", + "numinlets": 2, + "numoutlets": 2, + "outlettype": [ "", "" ], + "patching_rect": [ 394.0, 32.0, 79.0, 22.0 ], + "text": "list.indexmap" + } + }, + { + "box": { + "id": "obj-3", + "maxclass": "message", + "numinlets": 2, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 674.0, 287.0, 45.0, 22.0 ], + "text": "0 1 3 2" + } + }, + { + "box": { + "bubble": 1, + "id": "obj-2", + "linecount": 2, + "maxclass": "comment", + "numinlets": 1, + "numoutlets": 0, + "patching_rect": [ 726.0, 280.0, 183.0, 37.0 ], + "presentation_linecount": 2, + "text": "realistic example: swap sizes and colors" + } + }, + { + "box": { + "bubble": 1, + "bubbleside": 3, + "id": "obj-6", + "linecount": 2, + "maxclass": "comment", + "numinlets": 1, + "numoutlets": 0, + "patching_rect": [ 30.0, 279.0, 183.0, 37.0 ], + "text": "...or to create a higher-dim dataset from a lower-dim one" + } + }, + { + "box": { + "id": "obj-252", + "maxclass": "message", + "numinlets": 2, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 220.0, 287.0, 65.0, 22.0 ], + "text": "0 1 3 2 3 2" + } + }, + { + "box": { + "bubble": 1, + "bubbleside": 3, + "id": "obj-250", + "linecount": 3, + "maxclass": "comment", + "numinlets": 1, + "numoutlets": 0, + "patching_rect": [ 30.0, 148.0, 183.0, 51.0 ], + "text": "dimmap could be used to \"clip\" a high-dimensional dataset to a smaller one" + } + }, + { + "box": { + "id": "obj-249", + "maxclass": "message", + "numinlets": 2, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 220.0, 403.0, 51.0, 22.0 ], + "text": "dimmap" + } + }, + { + "box": { + "id": "obj-247", + "maxclass": "message", + "numinlets": 2, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 224.0, 181.0, 29.5, 22.0 ], + "text": "1 2" + } + }, + { + "box": { + "bubble": 1, + "bubbleside": 3, + "id": "obj-246", + "linecount": 3, + "maxclass": "comment", + "numinlets": 1, + "numoutlets": 0, + "patching_rect": [ 30.0, 388.0, 183.0, 51.0 ], + "text": "dimmap without arguments reverts to the original number/order of dimensions" + } + }, + { + "box": { + "id": "obj-244", + "maxclass": "message", + "numinlets": 2, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 224.0, 148.0, 35.0, 22.0 ], + "text": "0 1 2" + } + }, + { + "box": { + "id": "obj-242", + "linecount": 5, + "maxclass": "comment", + "numinlets": 1, + "numoutlets": 0, + "patching_rect": [ 30.0, 24.0, 345.0, 74.0 ], + "text": "The dimmap message lets you map dataset dimensions to plot dimensions. It works like list.indexmap: the number values refer to dataset column indices (with 0 being the first column), and their position in the list will decide which plot dimension they will map to (check the parent patch's cheat sheet on the left)." + } + }, + { + "box": { + "id": "obj-236", + "maxclass": "message", + "numinlets": 2, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 574.0, 181.0, 45.0, 22.0 ], + "text": "3 2 1 0" + } + }, + { + "box": { + "id": "obj-237", + "maxclass": "message", + "numinlets": 2, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 522.0, 181.0, 45.0, 22.0 ], + "text": "2 3 1 0" + } + }, + { + "box": { + "id": "obj-238", + "maxclass": "message", + "numinlets": 2, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 466.0, 181.0, 45.0, 22.0 ], + "text": "3 1 2 3" + } + }, + { + "box": { + "id": "obj-239", + "maxclass": "message", + "numinlets": 2, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 409.0, 181.0, 45.0, 22.0 ], + "text": "0 2 1 3" + } + }, + { + "box": { + "id": "obj-240", + "maxclass": "message", + "numinlets": 2, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 352.0, 181.0, 45.0, 22.0 ], + "text": "0 1 3 2" + } + }, + { + "box": { + "id": "obj-235", + "linecount": 4, + "maxclass": "comment", + "numinlets": 1, + "numoutlets": 0, + "patching_rect": [ 637.0, 148.0, 272.0, 60.0 ], + "text": "Note, that if the first two are not \"0 1\" then querying will be \"out of sync\" (it will not highlight what is actually under the mouse since the kdtree is unaware of the dimension remapping)" + } + }, + { + "box": { + "id": "obj-233", + "maxclass": "message", + "numinlets": 2, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 574.0, 148.0, 45.0, 22.0 ], + "text": "1 2 3 0" + } + }, + { + "box": { + "id": "obj-231", + "maxclass": "message", + "numinlets": 2, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 522.0, 148.0, 45.0, 22.0 ], + "text": "0 1 0 1" + } + }, + { + "box": { + "id": "obj-230", + "maxclass": "message", + "numinlets": 2, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 466.0, 148.0, 45.0, 22.0 ], + "text": "1 0 2 3" + } + }, + { + "box": { + "id": "obj-229", + "maxclass": "message", + "numinlets": 2, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 409.0, 148.0, 45.0, 22.0 ], + "text": "1 1 1 1" + } + }, + { + "box": { + "id": "obj-228", + "maxclass": "message", + "numinlets": 2, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 352.0, 148.0, 45.0, 22.0 ], + "text": "0 1 2 3" + } + }, + { + "box": { + "id": "obj-226", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 352.0, 403.0, 99.0, 22.0 ], + "text": "prepend dimmap" + } + }, + { + "box": { + "comment": "", + "id": "obj-1", + "index": 1, + "maxclass": "outlet", + "numinlets": 1, + "numoutlets": 0, + "patching_rect": [ 352.0, 512.0, 30.0, 30.0 ] + } + } + ], + "lines": [ + { + "patchline": { + "destination": [ "obj-1", 0 ], + "source": [ "obj-226", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-226", 0 ], + "source": [ "obj-228", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-226", 0 ], + "source": [ "obj-229", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-226", 0 ], + "source": [ "obj-230", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-226", 0 ], + "source": [ "obj-231", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-226", 0 ], + "source": [ "obj-233", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-226", 0 ], + "source": [ "obj-236", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-226", 0 ], + "source": [ "obj-237", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-226", 0 ], + "source": [ "obj-238", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-226", 0 ], + "source": [ "obj-239", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-226", 0 ], + "source": [ "obj-240", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-226", 0 ], + "source": [ "obj-244", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-226", 0 ], + "source": [ "obj-247", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-1", 0 ], + "source": [ "obj-249", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-226", 0 ], + "source": [ "obj-252", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-226", 0 ], + "source": [ "obj-3", 0 ] + } + } + ] + }, + "patching_rect": [ 580.0, 680.0, 125.0, 22.0 ], + "text": "p \"remap dimensions\"" + } + }, + { + "box": { + "id": "obj-38", + "maxclass": "comment", + "numinlets": 1, + "numoutlets": 0, + "patching_rect": [ 597.0, 581.0, 303.0, 20.0 ], + "text": "Thanks, Rodrigo, for the suggestions about color maps!" + } + }, + { + "box": { + "id": "obj-36", + "linecount": 4, + "maxclass": "comment", + "numinlets": 1, + "numoutlets": 0, + "patching_rect": [ 689.0, 476.0, 170.0, 60.0 ], + "text": "Note that you will only see the effects of the lut and lutoffset messages if your displayed dataset has 4 dimensions." + } + }, + { + "box": { + "bgcolor": [ 1.0, 0.788235, 0.470588, 1.0 ], + "fontname": "Arial Bold", + "fontsize": 13.0, + "hint": "", + "id": "obj-30", + "ignoreclick": 1, + "legacytextcolor": 1, + "maxclass": "textbutton", + "numinlets": 1, + "numoutlets": 3, + "outlettype": [ "", "", "int" ], + "parameter_enable": 0, + "patching_rect": [ 863.0, 438.5, 20.0, 20.0 ], + "rounded": 60.0, + "text": "6", + "textcolor": [ 0.34902, 0.34902, 0.34902, 1.0 ] + } + }, + { + "box": { + "bubble": 1, + "fontsize": 13.0, + "id": "obj-31", + "maxclass": "comment", + "numinlets": 1, + "numoutlets": 0, + "patching_rect": [ 723.0, 436.5, 139.0, 25.0 ], + "text": "offset the color map" + } + }, + { + "box": { + "id": "obj-29", + "maxclass": "textbutton", + "numinlets": 1, + "numoutlets": 3, + "outlettype": [ "", "", "int" ], + "parameter_enable": 0, + "patching_rect": [ 689.0, 324.5, 192.0, 21.0 ], + "text": "Check out the color maps online" + } + }, + { + "box": { + "hidden": 1, + "id": "obj-26", + "linecount": 3, + "maxclass": "message", + "numinlets": 2, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 689.0, 369.5, 180.0, 49.0 ], + "text": ";\rmax launchbrowser https://colorcet.com/gallery.html" + } + }, + { + "box": { + "bgcolor": [ 1.0, 0.788235, 0.470588, 1.0 ], + "fontname": "Arial Bold", + "fontsize": 13.0, + "hint": "", + "id": "obj-24", + "ignoreclick": 1, + "legacytextcolor": 1, + "maxclass": "textbutton", + "numinlets": 1, + "numoutlets": 3, + "outlettype": [ "", "", "int" ], + "parameter_enable": 0, + "patching_rect": [ 770.0, 292.0, 20.0, 20.0 ], + "rounded": 60.0, + "text": "5", + "textcolor": [ 0.34902, 0.34902, 0.34902, 1.0 ] + } + }, + { + "box": { + "bubble": 1, + "fontsize": 13.0, + "id": "obj-23", + "maxclass": "comment", + "numinlets": 1, + "numoutlets": 0, + "patching_rect": [ 630.0, 289.5, 139.0, 25.0 ], + "presentation_linecount": 2, + "text": "choose a color map" + } + }, + { + "box": { + "id": "obj-22", + "linecount": 8, + "maxclass": "comment", + "numinlets": 1, + "numoutlets": 0, + "patching_rect": [ 580.0, 155.0, 310.0, 114.0 ], + "text": "Colors can be defined in RGB, RGBA, or, as a 1D input number (between 0 and 1) for a color map that acts as a lookup table (LUT).\n\nfluid.jit.plotter implements 59 perceptually uniform color maps according to Peter Kovesi's research.\n\nAdditionally there is an HSL color map on the 60th slot." + } + }, + { + "box": { + "bgcolor": [ 1.0, 0.788235, 0.470588, 1.0 ], + "fontname": "Arial Bold", + "fontsize": 13.0, + "hint": "", + "id": "obj-20", + "ignoreclick": 1, + "legacytextcolor": 1, + "maxclass": "textbutton", + "numinlets": 1, + "numoutlets": 3, + "outlettype": [ "", "", "int" ], + "parameter_enable": 0, + "patching_rect": [ 580.0, 131.0, 20.0, 20.0 ], + "rounded": 60.0, + "text": "4", + "textcolor": [ 0.34902, 0.34902, 0.34902, 1.0 ] + } + }, + { + "box": { + "bgcolor": [ 1.0, 0.788235, 0.470588, 1.0 ], + "fontname": "Arial Bold", + "fontsize": 13.0, + "hint": "", + "id": "obj-19", + "ignoreclick": 1, + "legacytextcolor": 1, + "maxclass": "textbutton", + "numinlets": 1, + "numoutlets": 3, + "outlettype": [ "", "", "int" ], + "parameter_enable": 0, + "patching_rect": [ 480.0, 292.0, 20.0, 20.0 ], + "rounded": 60.0, + "text": "3", + "textcolor": [ 0.34902, 0.34902, 0.34902, 1.0 ] + } + }, + { + "box": { + "bubble": 1, + "fontsize": 13.0, + "id": "obj-18", + "maxclass": "comment", + "numinlets": 1, + "numoutlets": 0, + "patching_rect": [ 268.5, 158.5, 87.0, 25.0 ], + "text": "look inside" + } + }, + { + "box": { + "id": "obj-94", + "linecount": 8, + "maxclass": "comment", + "numinlets": 1, + "numoutlets": 0, + "patching_rect": [ 70.0, 291.0, 118.0, 114.0 ], + "presentation_linecount": 8, + "text": "Dims:\n1: x (=y)\n2: x, y\n3: x, y, size\n4: x, y, size, LUT x\n5: x, y, r, g, b (a=1)\n6: x, y, r, g, b, a\n7: x, y, size, r, g, b, a" + } + }, + { + "box": { + "id": "obj-139", + "linecount": 5, + "maxclass": "comment", + "numinlets": 1, + "numoutlets": 0, + "patching_rect": [ 70.0, 201.0, 118.0, 74.0 ], + "presentation_linecount": 4, + "text": "Based on the number of columns in the dataset, the plotter will interpret it this way:" + } + }, + { + "box": { + "id": "obj-17", + "maxclass": "newobj", + "numinlets": 2, + "numoutlets": 1, + "outlettype": [ "" ], + "patcher": { + "fileversion": 1, + "appversion": { + "major": 9, + "minor": 1, + "revision": 4, + "architecture": "x64", + "modernui": 1 + }, + "classnamespace": "box", + "rect": [ 59.0, 114.0, 154.0, 299.0 ], + "boxes": [ + { + "box": { + "id": "obj-10", + "maxclass": "newobj", + "numinlets": 2, + "numoutlets": 2, + "outlettype": [ "", "" ], + "patching_rect": [ 22.0, 180.0, 85.0, 22.0 ], + "text": "route knearest" + } + }, + { + "box": { + "id": "obj-8", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 22.0, 209.0, 101.0, 22.0 ], + "text": "prepend highlight" + } + }, + { + "box": { + "id": "obj-7", + "maxclass": "message", + "numinlets": 2, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 22.0, 109.0, 71.0, 22.0 ], + "text": "knearest $2" + } + }, + { + "box": { + "id": "obj-11", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 1, + "outlettype": [ "buffer" ], + "patching_rect": [ 22.0, 79.0, 72.0, 22.0 ], + "text": "fluid.list2buf" + } + }, + { + "box": { + "id": "obj-1", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 2, + "outlettype": [ "", "" ], + "patching_rect": [ 22.0, 149.0, 74.0, 22.0 ], + "text": "fluid.kdtree~" + } + }, + { + "box": { + "comment": "", + "id": "obj-14", + "index": 1, + "maxclass": "inlet", + "numinlets": 0, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 22.0, 19.0, 30.0, 30.0 ] + } + }, + { + "box": { + "comment": "", + "id": "obj-15", + "index": 2, + "maxclass": "inlet", + "numinlets": 0, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 57.0, 19.0, 30.0, 30.0 ] + } + }, + { + "box": { + "comment": "", + "id": "obj-16", + "index": 1, + "maxclass": "outlet", + "numinlets": 1, + "numoutlets": 0, + "patching_rect": [ 22.0, 249.0, 30.0, 30.0 ] + } + } + ], + "lines": [ + { + "patchline": { + "destination": [ "obj-10", 0 ], + "source": [ "obj-1", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-8", 0 ], + "source": [ "obj-10", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-7", 0 ], + "source": [ "obj-11", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-11", 0 ], + "source": [ "obj-14", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-1", 0 ], + "source": [ "obj-15", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-1", 0 ], + "source": [ "obj-7", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-16", 0 ], + "source": [ "obj-8", 0 ] + } + } + ] + }, + "patching_rect": [ 240.0, 751.0, 128.0, 22.0 ], + "text": "p \"query with a kdtree\"" + } + }, + { + "box": { + "id": "obj-9", + "maxclass": "message", + "numinlets": 2, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 50.0, 709.0, 169.0, 22.0 ], + "presentation_linecount": 6, + "text": "fit fluid.jit.plotter.help.multi.pos" + } + }, + { + "box": { + "floatoutput": 1, + "id": "obj-165", + "maxclass": "slider", + "numinlets": 1, + "numoutlets": 1, + "outlettype": [ "" ], + "parameter_enable": 0, + "patching_rect": [ 580.0, 440.0, 141.0, 18.0 ], + "size": 1.0 + } + }, + { + "box": { + "format": 6, + "id": "obj-164", + "maxclass": "flonum", + "numinlets": 1, + "numoutlets": 2, + "outlettype": [ "", "bang" ], + "parameter_enable": 0, + "patching_rect": [ 580.0, 466.0, 50.0, 22.0 ] + } + }, + { + "box": { + "id": "obj-162", + "maxclass": "message", + "numinlets": 2, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 580.0, 495.0, 67.0, 22.0 ], + "text": "lutoffset $1" + } + }, + { + "box": { + "id": "obj-158", + "maxclass": "number", + "maximum": 59, + "minimum": 0, + "numinlets": 1, + "numoutlets": 2, + "outlettype": [ "", "bang" ], + "parameter_enable": 0, + "patching_rect": [ 580.0, 291.0, 50.0, 22.0 ] + } + }, + { + "box": { + "id": "obj-156", + "maxclass": "comment", + "numinlets": 1, + "numoutlets": 0, + "patching_rect": [ 210.0, 383.0, 24.0, 20.0 ], + "text": "7D" + } + }, + { + "box": { + "id": "obj-155", + "maxclass": "message", + "numinlets": 2, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 240.0, 382.0, 243.0, 22.0 ], + "presentation_linecount": 4, + "text": "refer fluid.jit.plotter.help.multi.pos+size+rgba" + } + }, + { + "box": { + "id": "obj-154", + "maxclass": "comment", + "numinlets": 1, + "numoutlets": 0, + "patching_rect": [ 210.0, 353.0, 24.0, 20.0 ], + "text": "6D" + } + }, + { + "box": { + "id": "obj-153", + "maxclass": "message", + "numinlets": 2, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 240.0, 352.0, 215.0, 22.0 ], + "presentation_linecount": 4, + "text": "refer fluid.jit.plotter.help.multi.pos+rgba" + } + }, + { + "box": { + "id": "obj-152", + "maxclass": "comment", + "numinlets": 1, + "numoutlets": 0, + "patching_rect": [ 210.0, 322.0, 24.0, 20.0 ], + "text": "5D" + } + }, + { + "box": { + "id": "obj-151", + "maxclass": "message", + "numinlets": 2, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 240.0, 321.0, 208.0, 22.0 ], + "presentation_linecount": 4, + "text": "refer fluid.jit.plotter.help.multi.pos+rgb" + } + }, + { + "box": { + "id": "obj-150", + "maxclass": "comment", + "numinlets": 1, + "numoutlets": 0, + "patching_rect": [ 210.0, 292.0, 24.0, 20.0 ], + "text": "4D" + } + }, + { + "box": { + "id": "obj-149", + "maxclass": "message", + "numinlets": 2, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 240.0, 291.0, 238.0, 22.0 ], + "presentation_linecount": 4, + "text": "refer fluid.jit.plotter.help.multi.pos+size+lutx" + } + }, + { + "box": { + "id": "obj-114", + "maxclass": "comment", + "numinlets": 1, + "numoutlets": 0, + "patching_rect": [ 210.0, 262.0, 24.0, 20.0 ], + "text": "3D" + } + }, + { + "box": { + "id": "obj-113", + "maxclass": "comment", + "numinlets": 1, + "numoutlets": 0, + "patching_rect": [ 210.0, 232.0, 24.0, 20.0 ], + "text": "2D" + } + }, + { + "box": { + "id": "obj-112", + "maxclass": "comment", + "numinlets": 1, + "numoutlets": 0, + "patching_rect": [ 210.0, 202.0, 24.0, 20.0 ], + "text": "1D" + } + }, + { + "box": { + "id": "obj-97", + "maxclass": "message", + "numinlets": 2, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 240.0, 201.0, 186.0, 22.0 ], + "presentation_linecount": 5, + "text": "refer fluid.jit.plotter.help.multi.size" + } + }, + { + "box": { + "id": "obj-93", + "maxclass": "message", + "numinlets": 2, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 620.0, 379.0, 38.0, 22.0 ], + "text": "lut $1" + } + }, + { + "box": { + "id": "obj-33", + "items": [ "C1", ",", "C1s", ",", "C2", ",", "C2s", ",", "C3", ",", "C3s", ",", "C4", ",", "C4s", ",", "C5", ",", "C5s", ",", "C6", ",", "C6s", ",", "C7", ",", "C7s", ",", "CBC1", ",", "CBC2", ",", "CBD1", ",", "CBL1", ",", "CBL2", ",", "D01", ",", "D01A", ",", "D02", ",", "D03", ",", "D04", ",", "D06", ",", "D07", ",", "D08", ",", "D09", ",", "D10", ",", "D11", ",", "D12", ",", "D13", ",", "I1", ",", "I2", ",", "I3", ",", "L01", ",", "L02", ",", "L03", ",", "L04", ",", "L05", ",", "L06", ",", "L07", ",", "L08", ",", "L09", ",", "L10", ",", "L11", ",", "L12", ",", "L13", ",", "L14", ",", "L15", ",", "L16", ",", "L17", ",", "L18", ",", "L19", ",", "L20", ",", "R1", ",", "R2", ",", "R3", ",", "R4", ",", "HSL" ], + "maxclass": "umenu", + "numinlets": 1, + "numoutlets": 3, + "outlettype": [ "int", "", "" ], + "parameter_enable": 0, + "patching_rect": [ 580.0, 324.0, 100.0, 22.0 ] + } + }, + { + "box": { + "id": "obj-118", + "maxclass": "message", + "numinlets": 2, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 240.0, 261.0, 212.0, 22.0 ], + "presentation_linecount": 4, + "text": "refer fluid.jit.plotter.help.multi.pos+size" + } + }, + { + "box": { + "id": "obj-12", + "maxclass": "message", + "numinlets": 2, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 240.0, 231.0, 184.0, 22.0 ], + "presentation_linecount": 5, + "text": "refer fluid.jit.plotter.help.multi.pos" + } + }, + { + "box": { + "bgmode": 0, + "border": 0, + "clickthrough": 0, + "enablehscroll": 0, + "enablevscroll": 0, + "id": "obj-58", + "lockeddragscroll": 0, + "lockedsize": 0, + "maxclass": "bpatcher", + "name": "fluid.jit.plotter.maxpat", + "numinlets": 2, + "numoutlets": 2, + "offset": [ 0.0, 0.0 ], + "outlettype": [ "", "" ], + "patching_rect": [ 240.0, 431.0, 294.0, 301.0 ], + "viewvisibility": 1 + } + }, + { + "box": { + "bgcolor": [ 1.0, 0.788235, 0.470588, 1.0 ], + "fontname": "Arial Bold", + "fontsize": 13.0, + "hint": "", + "id": "obj-140", + "ignoreclick": 1, + "legacytextcolor": 1, + "maxclass": "textbutton", + "numinlets": 1, + "numoutlets": 3, + "outlettype": [ "", "", "int" ], + "parameter_enable": 0, + "patching_rect": [ 30.0, 228.0, 20.0, 20.0 ], + "rounded": 60.0, + "text": "2", + "textcolor": [ 0.34902, 0.34902, 0.34902, 1.0 ] + } + }, + { + "box": { + "id": "obj-5", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 1, + "outlettype": [ "bang" ], + "patcher": { + "fileversion": 1, + "appversion": { + "major": 9, + "minor": 1, + "revision": 4, + "architecture": "x64", + "modernui": 1 + }, + "classnamespace": "box", + "rect": [ 61.0, 110.0, 1136.0, 889.0 ], + "boxes": [ + { + "box": { + "id": "obj-13", + "linecount": 2, + "maxclass": "comment", + "numinlets": 1, + "numoutlets": 0, + "patching_rect": [ 814.0, 628.5, 174.0, 33.0 ], + "presentation_linecount": 2, + "text": "Using transfornjoin to generate the combination datasets" + } + }, + { + "box": { + "id": "obj-12", + "linecount": 3, + "maxclass": "comment", + "numinlets": 1, + "numoutlets": 0, + "patching_rect": [ 525.0, 93.0, 240.0, 47.0 ], + "text": "Here, we generate random datasets for position (2D), color (4D), size (1D), and \"lutx\" (1D—a lookup table x value for color)" + } + }, + { + "box": { + "id": "obj-147", + "maxclass": "comment", + "numinlets": 1, + "numoutlets": 0, + "patching_rect": [ 631.0, 820.0, 24.0, 20.0 ], + "text": "7D" + } + }, + { + "box": { + "id": "obj-146", + "maxclass": "comment", + "numinlets": 1, + "numoutlets": 0, + "patching_rect": [ 316.0, 820.0, 24.0, 20.0 ], + "text": "6D" + } + }, + { + "box": { + "id": "obj-142", + "maxclass": "comment", + "numinlets": 1, + "numoutlets": 0, + "patching_rect": [ 909.0, 753.0, 24.0, 20.0 ], + "text": "5D" + } + }, + { + "box": { + "id": "obj-143", + "maxclass": "message", + "numinlets": 2, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 678.0, 744.0, 32.0, 22.0 ], + "text": "print" + } + }, + { + "box": { + "id": "obj-145", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 2, + "outlettype": [ "", "" ], + "patching_rect": [ 678.0, 775.0, 255.0, 22.0 ], + "text": "fluid.dataset~ fluid.jit.plotter.help.multi.pos+rgb" + } + }, + { + "box": { + "id": "obj-138", + "maxclass": "comment", + "numinlets": 1, + "numoutlets": 0, + "patching_rect": [ 626.0, 753.0, 24.0, 20.0 ], + "text": "4D" + } + }, + { + "box": { + "id": "obj-135", + "maxclass": "comment", + "numinlets": 1, + "numoutlets": 0, + "patching_rect": [ 312.0, 753.0, 24.0, 20.0 ], + "text": "3D" + } + }, + { + "box": { + "id": "obj-121", + "maxclass": "message", + "numinlets": 2, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 365.0, 744.0, 32.0, 22.0 ], + "text": "print" + } + }, + { + "box": { + "id": "obj-129", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 2, + "outlettype": [ "", "" ], + "patching_rect": [ 365.0, 775.0, 285.0, 22.0 ], + "text": "fluid.dataset~ fluid.jit.plotter.help.multi.pos+size+lutx" + } + }, + { + "box": { + "id": "obj-115", + "maxclass": "message", + "numinlets": 2, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 77.0, 811.0, 32.0, 22.0 ], + "text": "print" + } + }, + { + "box": { + "id": "obj-117", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 2, + "outlettype": [ "", "" ], + "patching_rect": [ 77.0, 842.0, 262.0, 22.0 ], + "text": "fluid.dataset~ fluid.jit.plotter.help.multi.pos+rgba" + } + }, + { + "box": { + "id": "obj-127", + "maxclass": "message", + "numinlets": 2, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 365.0, 811.0, 32.0, 22.0 ], + "text": "print" + } + }, + { + "box": { + "id": "obj-130", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 2, + "outlettype": [ "", "" ], + "patching_rect": [ 365.0, 842.0, 290.0, 22.0 ], + "text": "fluid.dataset~ fluid.jit.plotter.help.multi.pos+size+rgba" + } + }, + { + "box": { + "id": "obj-119", + "maxclass": "message", + "numinlets": 2, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 77.0, 744.0, 32.0, 22.0 ], + "text": "print" + } + }, + { + "box": { + "id": "obj-122", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 2, + "outlettype": [ "", "" ], + "patching_rect": [ 77.0, 775.0, 259.0, 22.0 ], + "text": "fluid.dataset~ fluid.jit.plotter.help.multi.pos+size" + } + }, + { + "box": { + "comment": "", + "id": "obj-10", + "index": 1, + "maxclass": "outlet", + "numinlets": 1, + "numoutlets": 0, + "patching_rect": [ 30.0, 842.0, 30.0, 30.0 ] + } + }, + { + "box": { + "id": "obj-9", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 2, + "outlettype": [ "bang", "bang" ], + "patching_rect": [ 30.0, 573.0, 29.5, 22.0 ], + "text": "b 2" + } + }, + { + "box": { + "id": "obj-90", + "linecount": 5, + "maxclass": "message", + "numinlets": 2, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 77.0, 607.0, 716.0, 76.0 ], + "text": "clear, addrange 0 1, transformjoin fluid.jit.plotter.help.multi.size fluid.jit.plotter.help.multi.pos fluid.jit.plotter.help.multi.pos+size, clear, addrange 0 1, transformjoin fluid.jit.plotter.help.multi.lutx fluid.jit.plotter.help.multi.pos+size fluid.jit.plotter.help.multi.pos+size+lutx, clear, addrange 0 3, transformjoin fluid.jit.plotter.help.multi.color fluid.jit.plotter.help.multi.pos fluid.jit.plotter.help.multi.pos+rgb, clear, addrange 0 4, transformjoin fluid.jit.plotter.help.multi.color fluid.jit.plotter.help.multi.pos fluid.jit.plotter.help.multi.pos+rgba, clear, addrange 0 4, transformjoin fluid.jit.plotter.help.multi.color fluid.jit.plotter.help.multi.pos+size fluid.jit.plotter.help.multi.pos+size+rgba" + } + }, + { + "box": { + "id": "obj-88", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 2, + "outlettype": [ "", "" ], + "patching_rect": [ 77.0, 692.0, 110.0, 22.0 ], + "text": "fluid.datasetquery~" + } + }, + { + "box": { + "fontsize": 13.0, + "id": "obj-5", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 2, + "outlettype": [ "", "" ], + "patching_rect": [ 113.0, 93.0, 249.0, 23.0 ], + "text": "fluid.dataset~ fluid.jit.plotter.help.multi.lutx" + } + }, + { + "box": { + "fontsize": 13.0, + "id": "obj-6", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 2, + "outlettype": [ "", "" ], + "patching_rect": [ 98.0, 121.0, 252.0, 23.0 ], + "text": "fluid.dataset~ fluid.jit.plotter.help.multi.size" + } + }, + { + "box": { + "fontsize": 13.0, + "id": "obj-7", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 2, + "outlettype": [ "", "" ], + "patching_rect": [ 77.0, 149.0, 257.0, 23.0 ], + "text": "fluid.dataset~ fluid.jit.plotter.help.multi.color" + } + }, + { + "box": { + "fontsize": 13.0, + "id": "obj-8", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 2, + "outlettype": [ "", "" ], + "patching_rect": [ 48.0, 177.0, 250.0, 23.0 ], + "text": "fluid.dataset~ fluid.jit.plotter.help.multi.pos" + } + }, + { + "box": { + "id": "obj-3", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 2, + "outlettype": [ "bang", "clear" ], + "patching_rect": [ 16.0, 52.5, 51.0, 22.0 ], + "text": "t b clear" + } + }, + { + "box": { + "comment": "", + "id": "obj-2", + "index": 1, + "maxclass": "inlet", + "numinlets": 0, + "numoutlets": 1, + "outlettype": [ "bang" ], + "patching_rect": [ 16.0, 12.5, 30.0, 30.0 ] + } + }, + { + "box": { + "id": "obj-100", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 865.0, 494.0, 98.0, 22.0 ], + "text": "prepend setpoint" + } + }, + { + "box": { + "id": "obj-101", + "maxclass": "newobj", + "numinlets": 2, + "numoutlets": 2, + "outlettype": [ "", "" ], + "patching_rect": [ 865.0, 459.0, 37.0, 22.0 ], + "text": "zl.rev" + } + }, + { + "box": { + "id": "obj-102", + "maxclass": "newobj", + "numinlets": 2, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 865.0, 427.0, 53.0, 22.0 ], + "text": "join" + } + }, + { + "box": { + "id": "obj-1", + "maxclass": "newobj", + "numinlets": 2, + "numoutlets": 2, + "outlettype": [ "", "" ], + "patching_rect": [ 865.0, 397.0, 70.0, 22.0 ], + "text": "route buffer" + } + }, + { + "box": { + "id": "obj-104", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 1, + "outlettype": [ "buffer" ], + "patching_rect": [ 865.0, 361.0, 72.0, 22.0 ], + "text": "fluid.list2buf" + } + }, + { + "box": { + "id": "obj-4", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 2, + "outlettype": [ "", "" ], + "patching_rect": [ 865.0, 328.0, 41.0, 22.0 ], + "text": "jit.spill" + } + }, + { + "box": { + "id": "obj-106", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 2, + "outlettype": [ "jit_matrix", "" ], + "patching_rect": [ 865.0, 297.0, 109.0, 22.0 ], + "text": "jit.noise 1 float32 1" + } + }, + { + "box": { + "id": "obj-107", + "maxclass": "newobj", + "numinlets": 2, + "numoutlets": 2, + "outlettype": [ "", "" ], + "patching_rect": [ 899.0, 253.0, 180.0, 22.0 ], + "text": "combine entry- num @triggers 1" + } + }, + { + "box": { + "fontsize": 13.0, + "id": "obj-110", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 2, + "outlettype": [ "", "" ], + "patching_rect": [ 865.0, 526.0, 249.0, 23.0 ], + "text": "fluid.dataset~ fluid.jit.plotter.help.multi.lutx" + } + }, + { + "box": { + "id": "obj-72", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 579.0, 494.0, 98.0, 22.0 ], + "text": "prepend setpoint" + } + }, + { + "box": { + "id": "obj-73", + "maxclass": "newobj", + "numinlets": 2, + "numoutlets": 2, + "outlettype": [ "", "" ], + "patching_rect": [ 579.0, 459.0, 37.0, 22.0 ], + "text": "zl.rev" + } + }, + { + "box": { + "id": "obj-74", + "maxclass": "newobj", + "numinlets": 2, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 579.0, 427.0, 53.0, 22.0 ], + "text": "join" + } + }, + { + "box": { + "id": "obj-75", + "maxclass": "newobj", + "numinlets": 2, + "numoutlets": 2, + "outlettype": [ "", "" ], + "patching_rect": [ 579.0, 397.0, 70.0, 22.0 ], + "text": "route buffer" + } + }, + { + "box": { + "id": "obj-76", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 1, + "outlettype": [ "buffer" ], + "patching_rect": [ 579.0, 361.0, 72.0, 22.0 ], + "text": "fluid.list2buf" + } + }, + { + "box": { + "id": "obj-77", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 2, + "outlettype": [ "", "" ], + "patching_rect": [ 579.0, 328.0, 41.0, 22.0 ], + "text": "jit.spill" + } + }, + { + "box": { + "id": "obj-78", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 2, + "outlettype": [ "jit_matrix", "" ], + "patching_rect": [ 579.0, 297.0, 109.0, 22.0 ], + "text": "jit.noise 1 float32 1" + } + }, + { + "box": { + "id": "obj-79", + "maxclass": "newobj", + "numinlets": 2, + "numoutlets": 2, + "outlettype": [ "", "" ], + "patching_rect": [ 613.0, 253.0, 180.0, 22.0 ], + "text": "combine entry- num @triggers 1" + } + }, + { + "box": { + "fontsize": 13.0, + "id": "obj-85", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 2, + "outlettype": [ "", "" ], + "patching_rect": [ 579.0, 526.0, 252.0, 23.0 ], + "text": "fluid.dataset~ fluid.jit.plotter.help.multi.size" + } + }, + { + "box": { + "id": "obj-32", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 278.0, 494.0, 98.0, 22.0 ], + "text": "prepend setpoint" + } + }, + { + "box": { + "id": "obj-37", + "maxclass": "newobj", + "numinlets": 2, + "numoutlets": 2, + "outlettype": [ "", "" ], + "patching_rect": [ 278.0, 459.0, 37.0, 22.0 ], + "text": "zl.rev" + } + }, + { + "box": { + "id": "obj-38", + "maxclass": "newobj", + "numinlets": 2, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 278.0, 427.0, 53.0, 22.0 ], + "text": "join" + } + }, + { + "box": { + "id": "obj-40", + "maxclass": "newobj", + "numinlets": 2, + "numoutlets": 2, + "outlettype": [ "", "" ], + "patching_rect": [ 278.0, 397.0, 70.0, 22.0 ], + "text": "route buffer" + } + }, + { + "box": { + "id": "obj-43", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 1, + "outlettype": [ "buffer" ], + "patching_rect": [ 278.0, 361.0, 72.0, 22.0 ], + "text": "fluid.list2buf" + } + }, + { + "box": { + "id": "obj-50", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 2, + "outlettype": [ "", "" ], + "patching_rect": [ 278.0, 328.0, 41.0, 22.0 ], + "text": "jit.spill" + } + }, + { + "box": { + "id": "obj-54", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 2, + "outlettype": [ "jit_matrix", "" ], + "patching_rect": [ 278.0, 297.0, 109.0, 22.0 ], + "text": "jit.noise 1 float32 4" + } + }, + { + "box": { + "id": "obj-56", + "maxclass": "newobj", + "numinlets": 2, + "numoutlets": 2, + "outlettype": [ "", "" ], + "patching_rect": [ 312.0, 253.0, 180.0, 22.0 ], + "text": "combine entry- num @triggers 1" + } + }, + { + "box": { + "fontsize": 13.0, + "id": "obj-69", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 2, + "outlettype": [ "", "" ], + "patching_rect": [ 278.0, 526.0, 257.0, 23.0 ], + "text": "fluid.dataset~ fluid.jit.plotter.help.multi.color" + } + }, + { + "box": { + "id": "obj-39", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 16.0, 498.0, 98.0, 22.0 ], + "text": "prepend setpoint" + } + }, + { + "box": { + "id": "obj-36", + "maxclass": "newobj", + "numinlets": 2, + "numoutlets": 2, + "outlettype": [ "", "" ], + "patching_rect": [ 16.0, 463.0, 37.0, 22.0 ], + "text": "zl.rev" + } + }, + { + "box": { + "id": "obj-35", + "maxclass": "newobj", + "numinlets": 2, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 16.0, 431.0, 53.0, 22.0 ], + "text": "join" + } + }, + { + "box": { + "id": "obj-34", + "maxclass": "newobj", + "numinlets": 2, + "numoutlets": 2, + "outlettype": [ "", "" ], + "patching_rect": [ 16.0, 400.0, 70.0, 22.0 ], + "text": "route buffer" + } + }, + { + "box": { + "id": "obj-29", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 1, + "outlettype": [ "buffer" ], + "patching_rect": [ 16.0, 365.0, 72.0, 22.0 ], + "text": "fluid.list2buf" + } + }, + { + "box": { + "id": "obj-28", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 2, + "outlettype": [ "", "" ], + "patching_rect": [ 16.0, 332.0, 41.0, 22.0 ], + "text": "jit.spill" + } + }, + { + "box": { + "id": "obj-27", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 2, + "outlettype": [ "jit_matrix", "" ], + "patching_rect": [ 16.0, 301.0, 109.0, 22.0 ], + "text": "jit.noise 1 float32 2" + } + }, + { + "box": { + "id": "obj-26", + "maxclass": "newobj", + "numinlets": 2, + "numoutlets": 2, + "outlettype": [ "", "" ], + "patching_rect": [ 50.0, 257.0, 180.0, 22.0 ], + "text": "combine entry- num @triggers 1" + } + }, + { + "box": { + "id": "obj-19", + "maxclass": "newobj", + "numinlets": 2, + "numoutlets": 3, + "outlettype": [ "bang", "bang", "int" ], + "patching_rect": [ 16.0, 206.0, 47.0, 22.0 ], + "text": "uzi 200" + } + }, + { + "box": { + "fontsize": 13.0, + "id": "obj-17", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 2, + "outlettype": [ "", "" ], + "patching_rect": [ 16.0, 526.0, 250.0, 23.0 ], + "text": "fluid.dataset~ fluid.jit.plotter.help.multi.pos" + } + } + ], + "lines": [ + { + "patchline": { + "destination": [ "obj-102", 0 ], + "source": [ "obj-1", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-110", 0 ], + "source": [ "obj-100", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-100", 0 ], + "source": [ "obj-101", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-101", 0 ], + "source": [ "obj-102", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-1", 0 ], + "source": [ "obj-104", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-4", 0 ], + "source": [ "obj-106", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-102", 1 ], + "source": [ "obj-107", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-117", 0 ], + "source": [ "obj-115", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-122", 0 ], + "source": [ "obj-119", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-129", 0 ], + "source": [ "obj-121", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-130", 0 ], + "source": [ "obj-127", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-145", 0 ], + "source": [ "obj-143", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-106", 0 ], + "midpoints": [ 25.5, 282.87109375, 874.5, 282.87109375 ], + "order": 0, + "source": [ "obj-19", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-107", 1 ], + "midpoints": [ 53.5, 231.17578125, 1069.5, 231.17578125 ], + "order": 0, + "source": [ "obj-19", 2 ] + } + }, + { + "patchline": { + "destination": [ "obj-26", 1 ], + "midpoints": [ 53.5, 250.15234375, 220.5, 250.15234375 ], + "order": 3, + "source": [ "obj-19", 2 ] + } + }, + { + "patchline": { + "destination": [ "obj-27", 0 ], + "order": 3, + "source": [ "obj-19", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-54", 0 ], + "midpoints": [ 25.5, 294.14453125, 287.5, 294.14453125 ], + "order": 2, + "source": [ "obj-19", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-56", 1 ], + "midpoints": [ 53.5, 242.53515625, 482.5, 242.53515625 ], + "order": 2, + "source": [ "obj-19", 2 ] + } + }, + { + "patchline": { + "destination": [ "obj-78", 0 ], + "midpoints": [ 25.5, 288.9375, 588.5, 288.9375 ], + "order": 1, + "source": [ "obj-19", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-79", 1 ], + "midpoints": [ 53.5, 237.16015625, 783.5, 237.16015625 ], + "order": 1, + "source": [ "obj-19", 2 ] + } + }, + { + "patchline": { + "destination": [ "obj-9", 0 ], + "source": [ "obj-19", 1 ] + } + }, + { + "patchline": { + "destination": [ "obj-3", 0 ], + "source": [ "obj-2", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-35", 1 ], + "source": [ "obj-26", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-28", 0 ], + "source": [ "obj-27", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-29", 0 ], + "source": [ "obj-28", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-34", 0 ], + "source": [ "obj-29", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-19", 0 ], + "source": [ "obj-3", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-5", 0 ], + "order": 0, + "source": [ "obj-3", 1 ] + } + }, + { + "patchline": { + "destination": [ "obj-6", 0 ], + "order": 1, + "source": [ "obj-3", 1 ] + } + }, + { + "patchline": { + "destination": [ "obj-7", 0 ], + "order": 2, + "source": [ "obj-3", 1 ] + } + }, + { + "patchline": { + "destination": [ "obj-8", 0 ], + "order": 3, + "source": [ "obj-3", 1 ] + } + }, + { + "patchline": { + "destination": [ "obj-69", 0 ], + "source": [ "obj-32", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-35", 0 ], + "source": [ "obj-34", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-36", 0 ], + "source": [ "obj-35", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-39", 0 ], + "source": [ "obj-36", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-32", 0 ], + "source": [ "obj-37", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-37", 0 ], + "source": [ "obj-38", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-17", 0 ], + "source": [ "obj-39", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-104", 0 ], + "source": [ "obj-4", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-38", 0 ], + "source": [ "obj-40", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-40", 0 ], + "source": [ "obj-43", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-43", 0 ], + "source": [ "obj-50", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-50", 0 ], + "source": [ "obj-54", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-38", 1 ], + "source": [ "obj-56", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-85", 0 ], + "source": [ "obj-72", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-72", 0 ], + "source": [ "obj-73", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-73", 0 ], + "source": [ "obj-74", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-74", 0 ], + "source": [ "obj-75", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-75", 0 ], + "source": [ "obj-76", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-76", 0 ], + "source": [ "obj-77", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-77", 0 ], + "source": [ "obj-78", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-74", 1 ], + "source": [ "obj-79", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-10", 0 ], + "source": [ "obj-9", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-90", 0 ], + "source": [ "obj-9", 1 ] + } + }, + { + "patchline": { + "destination": [ "obj-88", 0 ], + "source": [ "obj-90", 0 ] + } + } + ] + }, + "patching_rect": [ 50.0, 160.0, 216.0, 22.0 ], + "text": "p \"generate multidimensional datasets\"" + } + }, + { + "box": { + "fontsize": 13.0, + "id": "obj-6", + "linecount": 3, + "maxclass": "comment", + "numinlets": 1, + "numoutlets": 0, + "patching_rect": [ 10.0, 68.0, 730.0, 50.0 ], + "saved_attribute_attributes": { + "textcolor": { + "expression": "themecolor.theme_textcolor" + } + }, + "text": "Load all point attributes (position, size, color) together efficiently as a single dataset. This method is much faster than setting points individually (see the \"advanced\" tab). It also lets you conveniently save your whole plotter data in a single dataset and (re)load it when needed." + } + }, + { + "box": { + "bgcolor": [ 1.0, 0.788235, 0.470588, 1.0 ], + "fontname": "Arial Bold", + "fontsize": 13.0, + "hint": "", + "id": "obj-2", + "ignoreclick": 1, + "legacytextcolor": 1, + "maxclass": "textbutton", + "numinlets": 1, + "numoutlets": 3, + "outlettype": [ "", "", "int" ], + "parameter_enable": 0, + "patching_rect": [ 291.0, 131.0, 20.0, 20.0 ], + "rounded": 60.0, + "text": "1", + "textcolor": [ 0.34902, 0.34902, 0.34902, 1.0 ] + } + }, + { + "box": { + "bubble": 1, + "fontsize": 13.0, + "id": "obj-105", + "maxclass": "comment", + "numinlets": 1, + "numoutlets": 0, + "patching_rect": [ 76.0, 128.5, 213.0, 25.0 ], + "text": "generate a random set of points." + } + }, + { + "box": { + "id": "obj-103", + "maxclass": "button", + "numinlets": 1, + "numoutlets": 1, + "outlettype": [ "bang" ], + "parameter_enable": 0, + "patching_rect": [ 50.0, 129.0, 24.0, 24.0 ] + } + }, + { + "box": { + "border": 0, + "filename": "helpdetails.js", + "id": "obj-3", + "ignoreclick": 1, + "jsarguments": [ "fluid.jit.plotter" ], + "maxclass": "jsui", + "numinlets": 1, + "numoutlets": 1, + "outlettype": [ "" ], + "parameter_enable": 0, + "patching_rect": [ 10.0, 10.0, 320.0, 54.0 ] + } + }, + { + "box": { + "angle": 270.0, + "background": 1, + "bgcolor": [ 0.2, 0.2, 0.2, 0.0 ], + "border": 2, + "bordercolor": [ 0.0, 0.0, 0.0, 0.980392156862745 ], + "id": "obj-39", + "maxclass": "panel", + "mode": 0, + "numinlets": 1, + "numoutlets": 0, + "patching_rect": [ 570.0, 640.0, 330.0, 90.0 ], + "proportion": 0.5 + } + }, + { + "box": { + "angle": 270.0, + "background": 1, + "bgcolor": [ 0.2, 0.2, 0.2, 0.0 ], + "border": 2, + "bordercolor": [ 0.0, 0.0, 0.0, 0.980392156862745 ], + "id": "obj-41", + "maxclass": "panel", + "mode": 0, + "numinlets": 1, + "numoutlets": 0, + "patching_rect": [ 570.0, 120.0, 330.0, 481.0 ], + "proportion": 0.5 + } + } + ], + "lines": [ + { + "patchline": { + "destination": [ "obj-5", 0 ], + "source": [ "obj-103", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-58", 0 ], + "source": [ "obj-118", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-58", 0 ], + "source": [ "obj-12", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-58", 0 ], + "source": [ "obj-149", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-58", 0 ], + "source": [ "obj-151", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-58", 0 ], + "source": [ "obj-153", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-58", 0 ], + "source": [ "obj-155", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-33", 0 ], + "source": [ "obj-158", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-58", 0 ], + "midpoints": [ 589.5, 527.0, 555.86328125, 527.0, 555.86328125, 421.0, 249.5, 421.0 ], + "source": [ "obj-162", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-162", 0 ], + "source": [ "obj-164", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-164", 0 ], + "source": [ "obj-165", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-58", 0 ], + "midpoints": [ 249.5, 779.79296875, 226.80859375, 779.79296875, 226.80859375, 421.0, 249.5, 421.0 ], + "source": [ "obj-17", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-26", 0 ], + "hidden": 1, + "source": [ "obj-29", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-93", 0 ], + "source": [ "obj-33", 1 ] + } + }, + { + "patchline": { + "destination": [ "obj-58", 0 ], + "midpoints": [ 589.5, 718.546875, 544.30078125, 718.546875, 544.30078125, 421.0, 249.5, 421.0 ], + "source": [ "obj-40", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-9", 0 ], + "source": [ "obj-5", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-17", 0 ], + "source": [ "obj-58", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-17", 1 ], + "source": [ "obj-9", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-58", 0 ], + "midpoints": [ 629.5, 412.6640625, 249.5, 412.6640625 ], + "source": [ "obj-93", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-58", 0 ], + "source": [ "obj-97", 0 ] + } + } + ], + "styles": [ + { + "name": "max6box", + "default": { + "accentcolor": [ 0.8, 0.839216, 0.709804, 1.0 ], + "bgcolor": [ 1.0, 1.0, 1.0, 0.5 ], + "textcolor_inverse": [ 0.0, 0.0, 0.0, 1.0 ] + }, + "parentstyle": "", + "multi": 0 + }, + { + "name": "max6inlet", + "default": { + "color": [ 0.423529, 0.372549, 0.27451, 1.0 ] + }, + "parentstyle": "", + "multi": 0 + }, + { + "name": "max6message", + "default": { + "bgfillcolor": { + "angle": 270.0, + "autogradient": 0, + "color": [ 0.290196, 0.309804, 0.301961, 1.0 ], + "color1": [ 0.866667, 0.866667, 0.866667, 1.0 ], + "color2": [ 0.788235, 0.788235, 0.788235, 1.0 ], + "proportion": 0.39, + "type": "gradient" + }, + "textcolor_inverse": [ 0.0, 0.0, 0.0, 1.0 ] + }, + "parentstyle": "max6box", + "multi": 0 + }, + { + "name": "max6outlet", + "default": { + "color": [ 0.0, 0.454902, 0.498039, 1.0 ] + }, + "parentstyle": "", + "multi": 0 + } + ] + }, + "patching_rect": [ 287.0, 24.0, 192.0, 22.0 ], + "presentation_linecount": 4, + "text": "p \"more dimensions & color maps\"", + "varname": "advanced[2]" + } + }, + { + "box": { + "id": "obj-8", + "maxclass": "newobj", + "numinlets": 0, + "numoutlets": 0, + "patcher": { + "fileversion": 1, + "appversion": { + "major": 9, + "minor": 1, + "revision": 4, + "architecture": "x64", + "modernui": 1 + }, + "classnamespace": "box", + "rect": [ 0.0, 26.0, 951.0, 792.0 ], + "gridonopen": 2, + "gridsize": [ 10.0, 10.0 ], + "gridsnaponopen": 2, + "showontab": 1, + "boxes": [ + { + "box": { + "id": "obj-11", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 2, + "outlettype": [ "", "" ], + "patching_rect": [ 150.0, 205.5, 235.0, 22.0 ], + "text": "fluid.dataset~ fluid.jit.plotter.help.advanced" + } + }, + { + "box": { + "id": "obj-10", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 1, + "outlettype": [ "int" ], + "patching_rect": [ 760.0, 325.5, 40.0, 22.0 ], + "text": "active" + } + }, + { + "box": { + "id": "obj-34", + "maxclass": "newobj", + "numinlets": 3, + "numoutlets": 1, + "outlettype": [ "" ], + "patcher": { + "fileversion": 1, + "appversion": { + "major": 9, + "minor": 1, + "revision": 4, + "architecture": "x64", + "modernui": 1 + }, + "classnamespace": "box", + "rect": [ 59.0, 119.0, 741.0, 335.0 ], + "boxes": [ + { + "box": { + "id": "obj-1", + "maxclass": "newobj", + "numinlets": 2, + "numoutlets": 2, + "outlettype": [ "", "" ], + "patching_rect": [ 50.0, 231.0, 85.0, 22.0 ], + "text": "route knearest" + } + }, + { + "box": { + "id": "obj-16", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 50.0, 266.0, 101.0, 22.0 ], + "text": "prepend highlight" + } + }, + { + "box": { + "fontsize": 13.0, + "id": "obj-57", + "maxclass": "newobj", + "numinlets": 2, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 50.0, 83.0, 50.0, 23.0 ], + "text": "qlim 20" + } + }, + { + "box": { + "fontsize": 13.0, + "id": "obj-27", + "maxclass": "message", + "numinlets": 2, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 50.0, 143.0, 76.0, 23.0 ], + "text": "knearest $2" + } + }, + { + "box": { + "fontsize": 13.0, + "id": "obj-22", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 1, + "outlettype": [ "buffer" ], + "patching_rect": [ 50.0, 113.0, 77.0, 23.0 ], + "text": "fluid.list2buf" + } + }, + { + "box": { + "id": "obj-15", + "maxclass": "message", + "numinlets": 2, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 174.0, 143.5, 173.0, 22.0 ], + "text": "fit fluid.jit.plotter.help.advanced" + } + }, + { + "box": { + "id": "obj-13", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 2, + "outlettype": [ "", "" ], + "patching_rect": [ 50.0, 196.0, 189.0, 22.0 ], + "text": "fluid.kdtree~ @numneighbours 10" + } + }, + { + "box": { + "id": "obj-12", + "linecount": 3, + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 2, + "outlettype": [ "float", "bang" ], + "patching_rect": [ 585.0, 202.0, 100.0, 49.0 ], + "text": "buffer~ fluid.jit.plotter.help.advanced.point" + } + }, + { + "box": { + "id": "obj-54", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 451.0, 232.0, 98.0, 22.0 ], + "text": "prepend setpoint" + } + }, + { + "box": { + "id": "obj-45", + "maxclass": "newobj", + "numinlets": 2, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 451.0, 202.0, 61.0, 22.0 ], + "text": "join" + } + }, + { + "box": { + "id": "obj-10", + "maxclass": "message", + "numinlets": 2, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 493.0, 169.0, 29.5, 22.0 ], + "text": "$2" + } + }, + { + "box": { + "id": "obj-38", + "linecount": 2, + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 1, + "outlettype": [ "buffer" ], + "patching_rect": [ 493.0, 129.0, 191.5, 35.0 ], + "text": "fluid.list2buf @destination fluid.jit.plotter.help.advanced.point" + } + }, + { + "box": { + "id": "obj-36", + "maxclass": "newobj", + "numinlets": 2, + "numoutlets": 2, + "outlettype": [ "", "" ], + "patching_rect": [ 451.0, 100.0, 61.0, 22.0 ], + "text": "list.slice 1" + } + }, + { + "box": { + "id": "obj-11", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 2, + "outlettype": [ "", "" ], + "patching_rect": [ 451.0, 270.0, 235.0, 22.0 ], + "text": "fluid.dataset~ fluid.jit.plotter.help.advanced" + } + }, + { + "box": { + "comment": "", + "id": "obj-29", + "index": 1, + "maxclass": "inlet", + "numinlets": 0, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 50.0, 40.0, 30.0, 30.0 ] + } + }, + { + "box": { + "comment": "", + "id": "obj-30", + "index": 2, + "maxclass": "inlet", + "numinlets": 0, + "numoutlets": 1, + "outlettype": [ "bang" ], + "patching_rect": [ 174.0, 40.0, 30.0, 30.0 ] + } + }, + { + "box": { + "comment": "", + "id": "obj-32", + "index": 3, + "maxclass": "inlet", + "numinlets": 0, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 451.0, 40.0, 30.0, 30.0 ] + } + }, + { + "box": { + "comment": "", + "id": "obj-33", + "index": 1, + "maxclass": "outlet", + "numinlets": 1, + "numoutlets": 0, + "patching_rect": [ 50.0, 298.0, 30.0, 30.0 ] + } + } + ], + "lines": [ + { + "patchline": { + "destination": [ "obj-16", 0 ], + "source": [ "obj-1", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-45", 1 ], + "source": [ "obj-10", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-1", 0 ], + "source": [ "obj-13", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-13", 0 ], + "source": [ "obj-15", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-33", 0 ], + "source": [ "obj-16", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-27", 0 ], + "source": [ "obj-22", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-13", 0 ], + "source": [ "obj-27", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-57", 0 ], + "source": [ "obj-29", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-15", 0 ], + "source": [ "obj-30", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-36", 0 ], + "source": [ "obj-32", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-38", 0 ], + "source": [ "obj-36", 1 ] + } + }, + { + "patchline": { + "destination": [ "obj-45", 0 ], + "source": [ "obj-36", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-10", 0 ], + "source": [ "obj-38", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-54", 0 ], + "source": [ "obj-45", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-11", 0 ], + "source": [ "obj-54", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-22", 0 ], + "source": [ "obj-57", 0 ] + } + } + ] + }, + "patching_rect": [ 20.0, 760.0, 450.0, 22.0 ], + "text": "p highlight" + } + }, + { + "box": { + "fontsize": 13.0, + "id": "obj-5", + "linecount": 2, + "maxclass": "comment", + "numinlets": 1, + "numoutlets": 0, + "patching_rect": [ 728.0, 240.0, 212.0, 36.0 ], + "saved_attribute_attributes": { + "textcolor": { + "expression": "themecolor.theme_textcolor" + } + }, + "text": "Change the ratio between highlighted and normal point size" + } + }, + { + "box": { + "fontsize": 13.0, + "format": 6, + "id": "obj-8", + "maxclass": "flonum", + "numinlets": 1, + "numoutlets": 2, + "outlettype": [ "", "bang" ], + "parameter_enable": 1, + "patching_rect": [ 674.0, 245.0, 50.0, 23.0 ], + "saved_attribute_attributes": { + "valueof": { + "parameter_initial": [ 2.4 ], + "parameter_initial_enable": 1, + "parameter_invisible": 1, + "parameter_longname": "number[2]", + "parameter_modmode": 0, + "parameter_shortname": "number[2]", + "parameter_type": 3 + } + }, + "varname": "number[1]" + } + }, + { + "box": { + "fontsize": 13.0, + "id": "obj-9", + "maxclass": "message", + "numinlets": 2, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 674.0, 281.0, 108.0, 23.0 ], + "text": "highlightscale $1" + } + }, + { + "box": { + "fontsize": 13.0, + "id": "obj-6", + "maxclass": "comment", + "numinlets": 1, + "numoutlets": 0, + "patching_rect": [ 10.0, 67.0, 474.0, 21.0 ], + "saved_attribute_attributes": { + "textcolor": { + "expression": "themecolor.theme_textcolor" + } + }, + "text": "Drawing through the \"advanced\" interface lets you draw at a lower level." + } + }, + { + "box": { + "bgcolor": [ 1.0, 0.788235, 0.470588, 1.0 ], + "fontname": "Arial Bold", + "fontsize": 13.0, + "hint": "", + "id": "obj-2", + "ignoreclick": 1, + "legacytextcolor": 1, + "maxclass": "textbutton", + "numinlets": 1, + "numoutlets": 3, + "outlettype": [ "", "", "int" ], + "parameter_enable": 0, + "patching_rect": [ 291.0, 135.5, 20.0, 20.0 ], + "rounded": 60.0, + "text": "1", + "textcolor": [ 0.34902, 0.34902, 0.34902, 1.0 ] + } + }, + { + "box": { + "fontsize": 13.0, + "id": "obj-20", + "maxclass": "message", + "numinlets": 2, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 81.0, 399.0, 96.0, 23.0 ], + "text": "pointsize $1 $2" + } + }, + { + "box": { + "fontsize": 13.0, + "id": "obj-18", + "linecount": 5, + "maxclass": "comment", + "numinlets": 1, + "numoutlets": 0, + "patching_rect": [ 102.0, 276.0, 113.0, 79.0 ], + "saved_attribute_attributes": { + "textcolor": { + "expression": "themecolor.theme_textcolor" + } + }, + "text": "Set the size of each point.\nFormat is:\n\n" + } + }, + { + "box": { + "fontsize": 13.0, + "id": "obj-17", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 1, + "outlettype": [ "" ], + "patcher": { + "fileversion": 1, + "appversion": { + "major": 9, + "minor": 1, + "revision": 4, + "architecture": "x64", + "modernui": 1 + }, + "classnamespace": "box", + "rect": [ 59.0, 106.0, 406.0, 234.0 ], + "boxes": [ + { + "box": { + "id": "obj-1", + "maxclass": "newobj", + "numinlets": 2, + "numoutlets": 1, + "outlettype": [ "float" ], + "patching_rect": [ 77.5, 126.0, 100.0, 22.0 ], + "text": "+ 0.5" + } + }, + { + "box": { + "id": "obj-5", + "maxclass": "newobj", + "numinlets": 2, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 21.5, 158.0, 75.0, 22.0 ], + "text": "join" + } + }, + { + "box": { + "id": "obj-3", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 2, + "outlettype": [ "int", "bang" ], + "patching_rect": [ 22.0, 58.0, 74.5, 22.0 ], + "text": "t i b" + } + }, + { + "box": { + "id": "obj-4", + "linecount": 2, + "maxclass": "comment", + "numinlets": 1, + "numoutlets": 0, + "patching_rect": [ 235.5, 88.5, 151.0, 33.0 ], + "text": "The pointsize message sets the size of each point." + } + }, + { + "box": { + "id": "obj-11", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 77.5, 94.0, 151.0, 22.0 ], + "text": "expr random(0\\, 100) / 100." + } + }, + { + "box": { + "comment": "", + "id": "obj-86", + "index": 1, + "maxclass": "inlet", + "numinlets": 0, + "numoutlets": 1, + "outlettype": [ "int" ], + "patching_rect": [ 22.0, 11.0, 30.0, 30.0 ] + } + }, + { + "box": { + "comment": "", + "id": "obj-87", + "index": 1, + "maxclass": "outlet", + "numinlets": 1, + "numoutlets": 0, + "patching_rect": [ 21.5, 190.0, 30.0, 30.0 ] + } + } + ], + "lines": [ + { + "patchline": { + "destination": [ "obj-5", 1 ], + "source": [ "obj-1", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-1", 0 ], + "source": [ "obj-11", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-11", 0 ], + "source": [ "obj-3", 1 ] + } + }, + { + "patchline": { + "destination": [ "obj-5", 0 ], + "source": [ "obj-3", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-87", 0 ], + "source": [ "obj-5", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-3", 0 ], + "source": [ "obj-86", 0 ] + } + } + ] + }, + "patching_rect": [ 81.0, 364.0, 154.0, 23.0 ], + "text": "p \"generate random size\"" + } + }, + { + "box": { + "fontsize": 13.0, + "id": "obj-44", + "linecount": 4, + "maxclass": "comment", + "numinlets": 1, + "numoutlets": 0, + "patching_rect": [ 297.0, 283.0, 138.0, 65.0 ], + "saved_attribute_attributes": { + "textcolor": { + "expression": "themecolor.theme_textcolor" + } + }, + "text": "Set the pointcolor of each point. Format is:\n\n" + } + }, + { + "box": { + "fontsize": 13.0, + "id": "obj-43", + "linecount": 5, + "maxclass": "comment", + "numinlets": 1, + "numoutlets": 0, + "patching_rect": [ 467.0, 283.0, 165.0, 79.0 ], + "saved_attribute_attributes": { + "textcolor": { + "expression": "themecolor.theme_textcolor" + } + }, + "text": "You don't need a fluid.dataset~ necessarily. Using the setpoint message you can create a plot point by point." + } + }, + { + "box": { + "fontsize": 13.0, + "id": "obj-35", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 1, + "outlettype": [ "" ], + "patcher": { + "fileversion": 1, + "appversion": { + "major": 9, + "minor": 1, + "revision": 4, + "architecture": "x64", + "modernui": 1 + }, + "classnamespace": "box", + "rect": [ 84.0, 131.0, 255.0, 347.0 ], + "boxes": [ + { + "box": { + "comment": "", + "id": "obj-5", + "index": 1, + "maxclass": "inlet", + "numinlets": 0, + "numoutlets": 1, + "outlettype": [ "int" ], + "patching_rect": [ 16.5, 16.0, 30.0, 30.0 ] + } + }, + { + "box": { + "id": "obj-13", + "maxclass": "message", + "numinlets": 2, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 164.0, 173.0, 52.0, 22.0 ], + "text": "$1 1000" + } + }, + { + "box": { + "id": "obj-14", + "maxclass": "newobj", + "numinlets": 3, + "numoutlets": 2, + "outlettype": [ "", "bang" ], + "patching_rect": [ 164.0, 203.0, 41.0, 22.0 ], + "text": "line 0." + } + }, + { + "box": { + "id": "obj-11", + "maxclass": "message", + "numinlets": 2, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 90.0, 173.0, 52.0, 22.0 ], + "text": "$1 1000" + } + }, + { + "box": { + "id": "obj-12", + "maxclass": "newobj", + "numinlets": 3, + "numoutlets": 2, + "outlettype": [ "", "bang" ], + "patching_rect": [ 90.0, 203.0, 41.0, 22.0 ], + "text": "line 0." + } + }, + { + "box": { + "id": "obj-6", + "maxclass": "message", + "numinlets": 2, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 16.0, 173.0, 52.0, 22.0 ], + "text": "$1 1000" + } + }, + { + "box": { + "id": "obj-4", + "maxclass": "newobj", + "numinlets": 2, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 164.0, 139.0, 73.0, 22.0 ], + "text": "random 100" + } + }, + { + "box": { + "id": "obj-3", + "maxclass": "newobj", + "numinlets": 2, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 90.0, 139.0, 73.0, 22.0 ], + "text": "random 100" + } + }, + { + "box": { + "id": "obj-2", + "maxclass": "newobj", + "numinlets": 2, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 16.0, 139.0, 73.0, 22.0 ], + "text": "random 100" + } + }, + { + "box": { + "id": "obj-1", + "maxclass": "newobj", + "numinlets": 3, + "numoutlets": 2, + "outlettype": [ "", "bang" ], + "patching_rect": [ 16.0, 203.0, 41.0, 22.0 ], + "text": "line 0." + } + }, + { + "box": { + "id": "obj-28", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 16.0, 267.0, 91.0, 22.0 ], + "text": "vexpr $f1 / 100." + } + }, + { + "box": { + "id": "obj-27", + "maxclass": "newobj", + "numinlets": 3, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 16.0, 232.0, 167.0, 22.0 ], + "text": "join 3" + } + }, + { + "box": { + "id": "obj-23", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 3, + "outlettype": [ "bang", "bang", "bang" ], + "patching_rect": [ 16.0, 95.0, 167.0, 22.0 ], + "text": "t b b b" + } + }, + { + "box": { + "id": "obj-17", + "maxclass": "newobj", + "numinlets": 2, + "numoutlets": 1, + "outlettype": [ "bang" ], + "patching_rect": [ 16.0, 55.0, 76.0, 22.0 ], + "text": "qmetro 1000" + } + }, + { + "box": { + "comment": "", + "id": "obj-34", + "index": 1, + "maxclass": "outlet", + "numinlets": 1, + "numoutlets": 0, + "patching_rect": [ 16.0, 298.0, 30.0, 30.0 ] + } + } + ], + "lines": [ + { + "patchline": { + "destination": [ "obj-27", 0 ], + "source": [ "obj-1", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-12", 0 ], + "source": [ "obj-11", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-27", 1 ], + "source": [ "obj-12", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-14", 0 ], + "source": [ "obj-13", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-27", 2 ], + "source": [ "obj-14", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-23", 0 ], + "source": [ "obj-17", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-6", 0 ], + "source": [ "obj-2", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-2", 0 ], + "source": [ "obj-23", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-3", 0 ], + "source": [ "obj-23", 1 ] + } + }, + { + "patchline": { + "destination": [ "obj-4", 0 ], + "source": [ "obj-23", 2 ] + } + }, + { + "patchline": { + "destination": [ "obj-28", 0 ], + "source": [ "obj-27", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-34", 0 ], + "source": [ "obj-28", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-11", 0 ], + "source": [ "obj-3", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-13", 0 ], + "source": [ "obj-4", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-17", 0 ], + "source": [ "obj-5", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-1", 0 ], + "source": [ "obj-6", 0 ] + } + } + ] + }, + "patching_rect": [ 675.0, 325.0, 48.0, 23.0 ], + "text": "p party" + } + }, + { + "box": { + "id": "obj-4", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 620.0, 480.0, 29.0, 22.0 ], + "text": "thru" + } + }, + { + "box": { + "bubble": 1, + "fontsize": 13.0, + "id": "obj-105", + "maxclass": "comment", + "numinlets": 1, + "numoutlets": 0, + "patching_rect": [ 76.0, 133.0, 213.0, 25.0 ], + "text": "generate a random set of points." + } + }, + { + "box": { + "id": "obj-103", + "maxclass": "button", + "numinlets": 1, + "numoutlets": 1, + "outlettype": [ "bang" ], + "parameter_enable": 0, + "patching_rect": [ 50.0, 133.5, 24.0, 24.0 ] + } + }, + { + "box": { + "fontsize": 13.0, + "id": "obj-100", + "linecount": 2, + "maxclass": "comment", + "numinlets": 1, + "numoutlets": 0, + "patching_rect": [ 728.0, 157.5, 131.0, 36.0 ], + "saved_attribute_attributes": { + "textcolor": { + "expression": "themecolor.theme_textcolor" + } + }, + "text": "Change the overall point size scale" + } + }, + { + "box": { + "fontsize": 13.0, + "id": "obj-99", + "linecount": 2, + "maxclass": "comment", + "numinlets": 1, + "numoutlets": 0, + "patching_rect": [ 760.0, 98.0, 160.0, 36.0 ], + "saved_attribute_attributes": { + "textcolor": { + "expression": "themecolor.theme_textcolor" + } + }, + "text": "Change the shape of the points as they're drawn." + } + }, + { + "box": { + "fontsize": 13.0, + "id": "obj-97", + "linecount": 2, + "maxclass": "comment", + "numinlets": 1, + "numoutlets": 0, + "patching_rect": [ 806.0, 385.0, 124.0, 36.0 ], + "saved_attribute_attributes": { + "textcolor": { + "expression": "themecolor.theme_textcolor" + } + }, + "text": "Change the background colour" + } + }, + { + "box": { + "fontsize": 13.0, + "id": "obj-95", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 1, + "outlettype": [ "" ], + "patcher": { + "fileversion": 1, + "appversion": { + "major": 9, + "minor": 1, + "revision": 4, + "architecture": "x64", + "modernui": 1 + }, + "classnamespace": "box", + "rect": [ 59.0, 106.0, 400.0, 263.0 ], + "boxes": [ + { + "box": { + "id": "obj-5", + "maxclass": "newobj", + "numinlets": 2, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 22.0, 213.0, 75.0, 22.0 ], + "text": "join" + } + }, + { + "box": { + "id": "obj-3", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 2, + "outlettype": [ "int", "bang" ], + "patching_rect": [ 22.0, 58.0, 74.5, 22.0 ], + "text": "t i b" + } + }, + { + "box": { + "id": "obj-4", + "linecount": 6, + "maxclass": "comment", + "numinlets": 1, + "numoutlets": 0, + "patching_rect": [ 236.0, 94.0, 151.0, 87.0 ], + "text": "the pointcolor message will set the colour for which points will be drawn as. It is determined in red, green, blue, alpha between 0.0 and 1.0." + } + }, + { + "box": { + "id": "obj-2", + "maxclass": "newobj", + "numinlets": 2, + "numoutlets": 3, + "outlettype": [ "bang", "bang", "int" ], + "patching_rect": [ 78.0, 94.0, 40.0, 22.0 ], + "text": "uzi 3" + } + }, + { + "box": { + "id": "obj-1", + "maxclass": "newobj", + "numinlets": 2, + "numoutlets": 2, + "outlettype": [ "", "" ], + "patching_rect": [ 78.0, 181.0, 51.0, 22.0 ], + "text": "zl.group" + } + }, + { + "box": { + "id": "obj-11", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 78.0, 148.0, 151.0, 22.0 ], + "text": "expr random(0\\, 100) / 100." + } + }, + { + "box": { + "comment": "", + "id": "obj-86", + "index": 1, + "maxclass": "inlet", + "numinlets": 0, + "numoutlets": 1, + "outlettype": [ "int" ], + "patching_rect": [ 22.0, 11.0, 30.0, 30.0 ] + } + }, + { + "box": { + "comment": "", + "id": "obj-87", + "index": 1, + "maxclass": "outlet", + "numinlets": 1, + "numoutlets": 0, + "patching_rect": [ 22.0, 245.0, 30.0, 30.0 ] + } + } + ], + "lines": [ + { + "patchline": { + "destination": [ "obj-5", 1 ], + "source": [ "obj-1", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-1", 0 ], + "source": [ "obj-11", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-1", 0 ], + "midpoints": [ 98.0, 134.0, 64.0, 134.0, 64.0, 176.0, 87.5, 176.0 ], + "source": [ "obj-2", 1 ] + } + }, + { + "patchline": { + "destination": [ "obj-11", 0 ], + "midpoints": [ 87.5, 119.0, 87.5, 119.0 ], + "source": [ "obj-2", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-2", 0 ], + "source": [ "obj-3", 1 ] + } + }, + { + "patchline": { + "destination": [ "obj-5", 0 ], + "source": [ "obj-3", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-87", 0 ], + "source": [ "obj-5", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-3", 0 ], + "source": [ "obj-86", 0 ] + } + } + ] + }, + "patching_rect": [ 266.0, 364.0, 159.0, 23.0 ], + "text": "p \"generate random color\"" + } + }, + { + "box": { + "fontsize": 13.0, + "id": "obj-93", + "maxclass": "message", + "numinlets": 2, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 266.0, 399.0, 152.0, 23.0 ], + "text": "pointcolor $1 $2 $3 $4 1." + } + }, + { + "box": { + "fontsize": 13.0, + "id": "obj-89", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 3, + "outlettype": [ "int", "int", "int" ], + "patching_rect": [ 81.0, 246.5, 389.0, 23.0 ], + "text": "t i i i" + } + }, + { + "box": { + "fontsize": 13.0, + "id": "obj-88", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 1, + "outlettype": [ "" ], + "patcher": { + "fileversion": 1, + "appversion": { + "major": 9, + "minor": 1, + "revision": 4, + "architecture": "x64", + "modernui": 1 + }, + "classnamespace": "box", + "rect": [ 59.0, 106.0, 494.0, 309.0 ], + "boxes": [ + { + "box": { + "id": "obj-5", + "linecount": 5, + "maxclass": "comment", + "numinlets": 1, + "numoutlets": 0, + "patching_rect": [ 58.0, 18.0, 152.0, 74.0 ], + "text": "Points are added to the plot with four arguments:\n\n\n" + } + }, + { + "box": { + "id": "obj-3", + "linecount": 3, + "maxclass": "comment", + "numinlets": 1, + "numoutlets": 0, + "patching_rect": [ 212.0, 31.5, 243.5, 47.0 ], + "text": " can be anything and is designed to be extracted from the fluid.dataset~ dictionary dump" + } + }, + { + "box": { + "id": "obj-57", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 3, + "outlettype": [ "int", "bang", "bang" ], + "patching_rect": [ 21.0, 116.0, 96.0, 22.0 ], + "text": "t i b b" + } + }, + { + "box": { + "id": "obj-13", + "maxclass": "newobj", + "numinlets": 3, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 21.0, 227.0, 96.0, 22.0 ], + "text": "join 3" + } + }, + { + "box": { + "id": "obj-12", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 216.83333333333331, 169.0, 151.0, 22.0 ], + "text": "expr random(0\\, 100) / 100." + } + }, + { + "box": { + "id": "obj-11", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 59.5, 169.0, 151.0, 22.0 ], + "text": "expr random(0\\, 100) / 100." + } + }, + { + "box": { + "comment": "", + "id": "obj-86", + "index": 1, + "maxclass": "inlet", + "numinlets": 0, + "numoutlets": 1, + "outlettype": [ "int" ], + "patching_rect": [ 21.0, 18.0, 30.0, 30.0 ] + } + }, + { + "box": { + "comment": "", + "id": "obj-87", + "index": 1, + "maxclass": "outlet", + "numinlets": 1, + "numoutlets": 0, + "patching_rect": [ 21.0, 268.0, 30.0, 30.0 ] + } + } + ], + "lines": [ + { + "patchline": { + "destination": [ "obj-13", 1 ], + "source": [ "obj-11", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-13", 2 ], + "midpoints": [ 226.33333333333331, 213.0, 107.5, 213.0 ], + "source": [ "obj-12", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-87", 0 ], + "source": [ "obj-13", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-11", 0 ], + "source": [ "obj-57", 1 ] + } + }, + { + "patchline": { + "destination": [ "obj-12", 0 ], + "midpoints": [ 107.5, 156.0, 226.33333333333331, 156.0 ], + "source": [ "obj-57", 2 ] + } + }, + { + "patchline": { + "destination": [ "obj-13", 0 ], + "midpoints": [ 30.5, 141.0, 30.5, 141.0 ], + "source": [ "obj-57", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-57", 0 ], + "midpoints": [ 30.5, 50.0, 30.5, 50.0 ], + "source": [ "obj-86", 0 ] + } + } + ] + }, + "patching_rect": [ 451.0, 364.0, 159.0, 23.0 ], + "text": "p \"generate random point\"" + } + }, + { + "box": { + "fontsize": 13.0, + "id": "obj-80", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 2, + "outlettype": [ "bang", "clear" ], + "patching_rect": [ 50.0, 171.0, 103.0, 23.0 ], + "text": "t b clear" + } + }, + { + "box": { + "fontsize": 13.0, + "id": "obj-51", + "maxclass": "message", + "numinlets": 2, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 674.0, 121.0, 78.0, 23.0 ], + "text": "shape circle" + } + }, + { + "box": { + "fontsize": 13.0, + "id": "obj-50", + "maxclass": "message", + "numinlets": 2, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 674.0, 84.0, 87.0, 23.0 ], + "text": "shape square" + } + }, + { + "box": { + "fontsize": 13.0, + "format": 6, + "id": "obj-48", + "maxclass": "flonum", + "numinlets": 1, + "numoutlets": 2, + "outlettype": [ "", "bang" ], + "parameter_enable": 1, + "patching_rect": [ 674.0, 163.0, 50.0, 23.0 ], + "saved_attribute_attributes": { + "valueof": { + "parameter_initial": [ 1 ], + "parameter_initial_enable": 1, + "parameter_invisible": 1, + "parameter_longname": "number[1]", + "parameter_modmode": 0, + "parameter_shortname": "number[1]", + "parameter_type": 3 + } + }, + "varname": "number" + } + }, + { + "box": { + "fontsize": 13.0, + "id": "obj-46", + "maxclass": "message", + "numinlets": 2, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 674.0, 199.0, 108.0, 23.0 ], + "text": "pointsizescale $1" + } + }, + { + "box": { + "fontsize": 13.0, + "id": "obj-31", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 675.0, 439.0, 102.0, 23.0 ], + "text": "prepend bgcolor" + } + }, + { + "box": { + "id": "obj-26", + "maxclass": "swatch", + "numinlets": 3, + "numoutlets": 2, + "outlettype": [ "", "float" ], + "parameter_enable": 0, + "patching_rect": [ 675.0, 364.0, 125.0, 70.0 ], + "saturation": 0.8784313725490196 + } + }, + { + "box": { + "fontsize": 13.0, + "id": "obj-19", + "maxclass": "newobj", + "numinlets": 2, + "numoutlets": 3, + "outlettype": [ "bang", "bang", "int" ], + "patching_rect": [ 50.0, 205.0, 50.0, 23.0 ], + "text": "uzi 200" + } + }, + { + "box": { + "fontsize": 13.0, + "id": "obj-7", + "maxclass": "message", + "numinlets": 2, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 451.0, 399.0, 108.0, 23.0 ], + "text": "setpoint $1 $2 $3" + } + }, + { + "box": { + "bgmode": 0, + "border": 0, + "clickthrough": 0, + "enablehscroll": 0, + "enablevscroll": 0, + "id": "obj-1", + "lockeddragscroll": 0, + "lockedsize": 0, + "maxclass": "bpatcher", + "name": "fluid.jit.plotter.maxpat", + "numinlets": 2, + "numoutlets": 2, + "offset": [ 0.0, 0.0 ], + "outlettype": [ "", "" ], + "patching_rect": [ 50.0, 455.0, 284.0, 284.0 ], + "viewvisibility": 1 + } + }, + { + "box": { + "border": 0, + "filename": "helpdetails.js", + "id": "obj-3", + "ignoreclick": 1, + "jsarguments": [ "fluid.jit.plotter" ], + "maxclass": "jsui", + "numinlets": 1, + "numoutlets": 1, + "outlettype": [ "" ], + "parameter_enable": 0, + "patching_rect": [ 10.0, 10.0, 320.0, 54.0 ] + } + }, + { + "box": { + "angle": 270.0, + "background": 1, + "bgcolor": [ 0.2, 0.2, 0.2, 0.0 ], + "border": 2, + "bordercolor": [ 0.0, 0.0, 0.0, 0.980392156862745 ], + "id": "obj-41", + "maxclass": "panel", + "mode": 0, + "numinlets": 1, + "numoutlets": 0, + "patching_rect": [ 666.0, 70.0, 274.0, 410.0 ], + "proportion": 0.5 + } + } + ], + "lines": [ + { + "patchline": { + "destination": [ "obj-34", 0 ], + "source": [ "obj-1", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-35", 0 ], + "midpoints": [ 769.5, 357.5, 741.91796875, 357.5, 741.91796875, 315.0, 684.5, 315.0 ], + "source": [ "obj-10", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-80", 0 ], + "source": [ "obj-103", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-20", 0 ], + "source": [ "obj-17", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-34", 1 ], + "midpoints": [ 75.0, 234.0, 20.0, 234.0, 20.0, 746.0, 245.0, 746.0 ], + "source": [ "obj-19", 1 ] + } + }, + { + "patchline": { + "destination": [ "obj-89", 0 ], + "source": [ "obj-19", 2 ] + } + }, + { + "patchline": { + "destination": [ "obj-1", 0 ], + "midpoints": [ 90.5, 440.0, 59.5, 440.0 ], + "source": [ "obj-20", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-31", 0 ], + "source": [ "obj-26", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-4", 0 ], + "midpoints": [ 684.5, 469.0, 629.5, 469.0 ], + "source": [ "obj-31", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-1", 0 ], + "source": [ "obj-34", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-26", 0 ], + "source": [ "obj-35", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-1", 0 ], + "midpoints": [ 629.5, 511.0, 346.0, 511.0, 346.0, 442.0, 59.5, 442.0 ], + "source": [ "obj-4", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-4", 0 ], + "midpoints": [ 683.5, 230.0, 629.5, 230.0 ], + "source": [ "obj-46", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-46", 0 ], + "source": [ "obj-48", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-4", 0 ], + "midpoints": [ 683.5, 114.640625, 629.5, 114.640625 ], + "source": [ "obj-50", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-4", 0 ], + "midpoints": [ 683.5, 153.03125, 629.5, 153.03125 ], + "source": [ "obj-51", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-1", 0 ], + "midpoints": [ 460.5, 440.0, 59.5, 440.0 ], + "source": [ "obj-7", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-9", 0 ], + "source": [ "obj-8", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-1", 0 ], + "midpoints": [ 143.5, 240.0, 61.0, 240.0, 61.0, 449.0, 59.5, 449.0 ], + "order": 1, + "source": [ "obj-80", 1 ] + } + }, + { + "patchline": { + "destination": [ "obj-11", 0 ], + "order": 0, + "source": [ "obj-80", 1 ] + } + }, + { + "patchline": { + "destination": [ "obj-19", 0 ], + "source": [ "obj-80", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-34", 2 ], + "order": 0, + "source": [ "obj-88", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-7", 0 ], + "midpoints": [ 460.5, 389.0, 460.5, 389.0 ], + "order": 1, + "source": [ "obj-88", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-17", 0 ], + "source": [ "obj-89", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-88", 0 ], + "source": [ "obj-89", 2 ] + } + }, + { + "patchline": { + "destination": [ "obj-95", 0 ], + "source": [ "obj-89", 1 ] + } + }, + { + "patchline": { + "destination": [ "obj-4", 0 ], + "midpoints": [ 683.5, 312.5, 629.5, 312.5 ], + "source": [ "obj-9", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-1", 0 ], + "midpoints": [ 275.5, 440.0, 59.5, 440.0 ], + "source": [ "obj-93", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-93", 0 ], + "source": [ "obj-95", 0 ] + } + } + ], + "styles": [ + { + "name": "max6box", + "default": { + "accentcolor": [ 0.8, 0.839216, 0.709804, 1.0 ], + "bgcolor": [ 1.0, 1.0, 1.0, 0.5 ], + "textcolor_inverse": [ 0.0, 0.0, 0.0, 1.0 ] + }, + "parentstyle": "", + "multi": 0 + }, + { + "name": "max6inlet", + "default": { + "color": [ 0.423529, 0.372549, 0.27451, 1.0 ] + }, + "parentstyle": "", + "multi": 0 + }, + { + "name": "max6message", + "default": { + "bgfillcolor": { + "angle": 270.0, + "autogradient": 0, + "color": [ 0.290196, 0.309804, 0.301961, 1.0 ], + "color1": [ 0.866667, 0.866667, 0.866667, 1.0 ], + "color2": [ 0.788235, 0.788235, 0.788235, 1.0 ], + "proportion": 0.39, + "type": "gradient" + }, + "textcolor_inverse": [ 0.0, 0.0, 0.0, 1.0 ] + }, + "parentstyle": "max6box", + "multi": 0 + }, + { + "name": "max6outlet", + "default": { + "color": [ 0.0, 0.454902, 0.498039, 1.0 ] + }, + "parentstyle": "", + "multi": 0 + } + ] + }, + "patching_rect": [ 204.0, 24.0, 71.0, 22.0 ], + "text": "p advanced", + "varname": "advanced[1]" + } + }, + { + "box": { + "id": "obj-7", + "maxclass": "newobj", + "numinlets": 0, + "numoutlets": 0, + "patcher": { + "fileversion": 1, + "appversion": { + "major": 9, + "minor": 1, + "revision": 4, + "architecture": "x64", + "modernui": 1 + }, + "classnamespace": "box", + "rect": [ 0.0, 26.0, 951.0, 792.0 ], + "showontab": 1, + "boxes": [], + "lines": [] + }, + "patching_rect": [ 715.0, 23.0, 25.0, 22.0 ], + "text": "p ?" + } + }, + { + "box": { + "id": "obj-6", + "maxclass": "newobj", + "numinlets": 0, + "numoutlets": 0, + "patcher": { + "fileversion": 1, + "appversion": { + "major": 9, + "minor": 1, + "revision": 4, + "architecture": "x64", + "modernui": 1 + }, + "classnamespace": "box", + "rect": [ 0.0, 26.0, 951.0, 792.0 ], + "gridonopen": 2, + "gridsize": [ 10.0, 10.0 ], + "gridsnaponopen": 2, + "showontab": 1, + "boxes": [ + { + "box": { + "bubble": 1, + "id": "obj-8", + "linecount": 3, + "maxclass": "comment", + "numinlets": 1, + "numoutlets": 0, + "patching_rect": [ 630.5, 373.0, 180.0, 51.0 ], + "saved_attribute_attributes": { + "bubble_bgcolor": { + "expression": "themecolor.theme_bubble_bgcolor" + }, + "textcolor": { + "expression": "themecolor.theme_textcolor" + } + }, + "text": "Zoom in the plot using option/alt+drag and explore! Pan around using shift+drag." + } + }, + { + "box": { + "dontreplace": 1, + "id": "obj-7", + "maxclass": "message", + "numinlets": 2, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 407.0, 590.0, 224.0, 22.0 ] + } + }, + { + "box": { + "id": "obj-33", + "maxclass": "message", + "numinlets": 2, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 681.0, 500.0, 78.0, 22.0 ], + "text": "zoomfactor 2" + } + }, + { + "box": { + "id": "obj-30", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 2, + "outlettype": [ "", "" ], + "patching_rect": [ 681.0, 529.0, 67.0, 22.0 ], + "save": [ "#N", "thispatcher", ";", "#Q", "end", ";" ], + "text": "thispatcher" + } + }, + { + "box": { + "bubble": 1, + "bubbleside": 2, + "fontsize": 13.0, + "id": "obj-29", + "linecount": 2, + "maxclass": "comment", + "numinlets": 1, + "numoutlets": 0, + "patching_rect": [ 640.0, 443.0, 162.0, 55.0 ], + "saved_attribute_attributes": { + "bubble_bgcolor": { + "expression": "themecolor.theme_bubble_bgcolor" + }, + "textcolor": { + "expression": "themecolor.theme_textcolor" + } + }, + "text": "Alternatively you can also zoom the patcher." + } + }, + { + "box": { + "fontsize": 13.0, + "id": "obj-28", + "linecount": 3, + "maxclass": "comment", + "numinlets": 1, + "numoutlets": 0, + "patching_rect": [ 640.0, 310.0, 186.0, 50.0 ], + "saved_attribute_attributes": { + "textcolor": { + "expression": "themecolor.theme_textcolor" + } + }, + "text": "On the first glance it looks like that almost the whole plot turned black." + } + }, + { + "box": { + "id": "obj-27", + "maxclass": "number", + "numinlets": 1, + "numoutlets": 2, + "outlettype": [ "", "bang" ], + "parameter_enable": 0, + "patching_rect": [ 110.0, 490.0, 80.0, 22.0 ] + } + }, + { + "box": { + "id": "obj-23", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 700.0, 80.0, 87.0, 22.0 ], + "text": "loadmess 0.04" + } + }, + { + "box": { + "id": "obj-19", + "maxclass": "newobj", + "numinlets": 2, + "numoutlets": 2, + "outlettype": [ "", "" ], + "patching_rect": [ 110.0, 460.0, 61.0, 22.0 ], + "text": "route size" + } + }, + { + "box": { + "bubble": 1, + "fontsize": 13.0, + "id": "obj-10", + "maxclass": "comment", + "numinlets": 1, + "numoutlets": 0, + "patching_rect": [ 78.0, 129.5, 169.0, 25.0 ], + "saved_attribute_attributes": { + "bubble_bgcolor": { + "expression": "themecolor.theme_bubble_bgcolor" + }, + "textcolor": { + "expression": "themecolor.theme_textcolor" + } + }, + "text": "Generate 1 million points" + } + }, + { + "box": { + "fontsize": 13.0, + "id": "obj-100", + "linecount": 3, + "maxclass": "comment", + "numinlets": 1, + "numoutlets": 0, + "patching_rect": [ 700.0, 198.0, 193.0, 50.0 ], + "saved_attribute_attributes": { + "textcolor": { + "expression": "themecolor.theme_textcolor" + } + }, + "text": "Note that with large datasets it is likely that you have to reduce the default point size scale." + } + }, + { + "box": { + "format": 6, + "id": "obj-48", + "maxclass": "flonum", + "numinlets": 1, + "numoutlets": 2, + "outlettype": [ "", "bang" ], + "parameter_enable": 0, + "patching_rect": [ 700.0, 107.5, 50.0, 22.0 ] + } + }, + { + "box": { + "fontsize": 13.0, + "id": "obj-46", + "maxclass": "message", + "numinlets": 2, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 700.0, 140.0, 108.0, 23.0 ], + "text": "pointsizescale $1" + } + }, + { + "box": { + "id": "obj-79", + "maxclass": "message", + "numinlets": 2, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 66.0, 388.0, 30.0, 22.0 ], + "text": "size" + } + }, + { + "box": { + "id": "obj-72", + "maxclass": "newobj", + "numinlets": 2, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 320.0, 560.0, 47.0, 22.0 ], + "text": "qlim 20" + } + }, + { + "box": { + "id": "obj-55", + "maxclass": "message", + "numinlets": 2, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 20.0, 129.5, 55.0, 22.0 ], + "text": "1000000" + } + }, + { + "box": { + "id": "obj-1", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 320.0, 717.0, 101.0, 22.0 ], + "text": "prepend highlight" + } + }, + { + "box": { + "id": "obj-32", + "maxclass": "message", + "numinlets": 2, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 320.0, 198.0, 132.0, 22.0 ], + "text": "refer help.large.dummy" + } + }, + { + "box": { + "id": "obj-17", + "maxclass": "message", + "numinlets": 2, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 66.0, 623.0, 117.0, 22.0 ], + "text": "fit help.large.dummy" + } + }, + { + "box": { + "id": "obj-34", + "maxclass": "message", + "numinlets": 2, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 320.0, 623.0, 76.0, 22.0 ], + "text": "knearest $2" + } + }, + { + "box": { + "id": "obj-47", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 1, + "outlettype": [ "buffer" ], + "patching_rect": [ 320.0, 590.0, 77.0, 22.0 ], + "text": "fluid.list2buf" + } + }, + { + "box": { + "id": "obj-12", + "maxclass": "newobj", + "numinlets": 2, + "numoutlets": 2, + "outlettype": [ "", "" ], + "patching_rect": [ 320.0, 688.0, 92.0, 22.0 ], + "text": "route knearest" + } + }, + { + "box": { + "id": "obj-15", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 2, + "outlettype": [ "", "" ], + "patching_rect": [ 320.0, 655.0, 324.0, 22.0 ], + "text": "fluid.kdtree~ help.large.dummy.tree @numneighbours 1000" + } + }, + { + "box": { + "id": "obj-21", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 110.0, 388.0, 98.0, 22.0 ], + "text": "prepend setpoint" + } + }, + { + "box": { + "id": "obj-20", + "maxclass": "message", + "numinlets": 2, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 184.0, 329.5, 29.5, 22.0 ], + "text": "$2" + } + }, + { + "box": { + "id": "obj-18", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 1, + "outlettype": [ "buffer" ], + "patching_rect": [ 184.0, 302.0, 72.0, 22.0 ], + "text": "fluid.list2buf" + } + }, + { + "box": { + "id": "obj-14", + "maxclass": "newobj", + "numinlets": 2, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 110.0, 357.0, 93.0, 22.0 ], + "text": "join @triggers 1" + } + }, + { + "box": { + "id": "obj-13", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 2, + "outlettype": [ "", "" ], + "patching_rect": [ 110.0, 430.0, 179.0, 22.0 ], + "text": "fluid.dataset~ help.large.dummy" + } + }, + { + "box": { + "id": "obj-11", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 2, + "outlettype": [ "", "" ], + "patching_rect": [ 20.0, 257.5, 41.0, 22.0 ], + "text": "jit.spill" + } + }, + { + "box": { + "id": "obj-4", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 2, + "outlettype": [ "jit_matrix", "" ], + "patching_rect": [ 20.0, 228.5, 109.0, 22.0 ], + "text": "jit.noise 1 float64 2" + } + }, + { + "box": { + "id": "obj-5", + "maxclass": "newobj", + "numinlets": 2, + "numoutlets": 3, + "outlettype": [ "bang", "bang", "int" ], + "patching_rect": [ 20.0, 160.0, 109.0, 22.0 ], + "text": "uzi 1 0" + } + }, + { + "box": { + "attr": "numneighbours", + "id": "obj-37", + "maxclass": "attrui", + "numinlets": 1, + "numoutlets": 1, + "outlettype": [ "" ], + "parameter_enable": 0, + "patching_rect": [ 407.0, 623.0, 173.0, 22.0 ], + "text_width": 114.0 + } + }, + { + "box": { + "args": [ "bpat" ], + "bgmode": 0, + "border": 0, + "clickthrough": 0, + "enablehscroll": 0, + "enablevscroll": 0, + "id": "obj-91", + "lockeddragscroll": 0, + "lockedsize": 0, + "maxclass": "bpatcher", + "name": "fluid.jit.plotter.maxpat", + "numinlets": 2, + "numoutlets": 2, + "offset": [ 0.0, 0.0 ], + "outlettype": [ "", "" ], + "patching_rect": [ 320.0, 240.0, 311.0, 311.0 ], + "viewvisibility": 1 + } + }, + { + "box": { + "bgcolor": [ 1.0, 0.788235, 0.470588, 1.0 ], + "fontname": "Arial Bold", + "hint": "", + "id": "obj-62", + "ignoreclick": 1, + "legacytextcolor": 1, + "maxclass": "textbutton", + "numinlets": 1, + "numoutlets": 3, + "outlettype": [ "", "", "int" ], + "parameter_enable": 0, + "patching_rect": [ 895.0, 213.0, 20.0, 20.0 ], + "rounded": 60.0, + "text": "4", + "textcolor": [ 0.34902, 0.34902, 0.34902, 1.0 ] + } + }, + { + "box": { + "bgcolor": [ 1.0, 0.788235, 0.470588, 1.0 ], + "fontname": "Arial Bold", + "fontsize": 13.0, + "hint": "", + "id": "obj-53", + "ignoreclick": 1, + "legacytextcolor": 1, + "maxclass": "textbutton", + "numinlets": 1, + "numoutlets": 3, + "outlettype": [ "", "", "int" ], + "parameter_enable": 0, + "patching_rect": [ 806.0, 450.0, 20.0, 20.0 ], + "rounded": 60.0, + "text": "3", + "textcolor": [ 0.34902, 0.34902, 0.34902, 1.0 ] + } + }, + { + "box": { + "bgcolor": [ 1.0, 0.788235, 0.470588, 1.0 ], + "fontname": "Arial Bold", + "fontsize": 13.0, + "hint": "", + "id": "obj-52", + "ignoreclick": 1, + "legacytextcolor": 1, + "maxclass": "textbutton", + "numinlets": 1, + "numoutlets": 3, + "outlettype": [ "", "", "int" ], + "parameter_enable": 0, + "patching_rect": [ 814.0, 389.0, 20.0, 20.0 ], + "rounded": 60.0, + "text": "2", + "textcolor": [ 0.34902, 0.34902, 0.34902, 1.0 ] + } + }, + { + "box": { + "bgcolor": [ 1.0, 0.788235, 0.470588, 1.0 ], + "fontname": "Arial Bold", + "fontsize": 13.0, + "hint": "", + "id": "obj-50", + "ignoreclick": 1, + "legacytextcolor": 1, + "maxclass": "textbutton", + "numinlets": 1, + "numoutlets": 3, + "outlettype": [ "", "", "int" ], + "parameter_enable": 0, + "patching_rect": [ 249.0, 132.0, 20.0, 20.0 ], + "rounded": 60.0, + "text": "1", + "textcolor": [ 0.34902, 0.34902, 0.34902, 1.0 ] + } + }, + { + "box": { + "fontsize": 13.0, + "id": "obj-6", + "linecount": 2, + "maxclass": "comment", + "numinlets": 1, + "numoutlets": 0, + "patching_rect": [ 10.0, 66.0, 578.0, 36.0 ], + "saved_attribute_attributes": { + "textcolor": { + "expression": "themecolor.theme_textcolor" + } + }, + "text": "fluid.jit.plotter really shines with very large datasets. Since it is based on a jit.gl.render instead of jsui, it can take datasets with millions of points and highlight thousands without much lag." + } + }, + { + "box": { + "border": 0, + "filename": "helpdetails.js", + "id": "obj-3", + "ignoreclick": 1, + "jsarguments": [ "fluid.jit.plotter" ], + "maxclass": "jsui", + "numinlets": 1, + "numoutlets": 1, + "outlettype": [ "" ], + "parameter_enable": 0, + "patching_rect": [ 10.0, 10.0, 320.0, 54.0 ] + } + } + ], + "lines": [ + { + "patchline": { + "destination": [ "obj-91", 0 ], + "midpoints": [ 329.5, 747.0, 311.5, 747.0, 311.5, 229.0, 329.5, 229.0 ], + "source": [ "obj-1", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-18", 0 ], + "source": [ "obj-11", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-1", 0 ], + "source": [ "obj-12", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-19", 0 ], + "source": [ "obj-13", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-21", 0 ], + "source": [ "obj-14", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-12", 0 ], + "source": [ "obj-15", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-15", 0 ], + "source": [ "obj-17", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-20", 0 ], + "source": [ "obj-18", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-27", 0 ], + "source": [ "obj-19", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-14", 1 ], + "source": [ "obj-20", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-13", 0 ], + "source": [ "obj-21", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-48", 0 ], + "source": [ "obj-23", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-91", 0 ], + "source": [ "obj-32", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-30", 0 ], + "source": [ "obj-33", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-15", 0 ], + "midpoints": [ 329.5, 657.789124, 329.5, 657.789124 ], + "source": [ "obj-34", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-15", 0 ], + "source": [ "obj-37", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-11", 0 ], + "source": [ "obj-4", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-91", 1 ], + "midpoints": [ 709.5, 174.0, 621.5, 174.0 ], + "source": [ "obj-46", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-34", 0 ], + "source": [ "obj-47", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-46", 0 ], + "source": [ "obj-48", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-14", 0 ], + "source": [ "obj-5", 2 ] + } + }, + { + "patchline": { + "destination": [ "obj-17", 0 ], + "order": 1, + "source": [ "obj-5", 1 ] + } + }, + { + "patchline": { + "destination": [ "obj-32", 0 ], + "order": 0, + "source": [ "obj-5", 1 ] + } + }, + { + "patchline": { + "destination": [ "obj-4", 0 ], + "source": [ "obj-5", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-79", 0 ], + "order": 2, + "source": [ "obj-5", 1 ] + } + }, + { + "patchline": { + "destination": [ "obj-5", 0 ], + "source": [ "obj-55", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-47", 0 ], + "order": 1, + "source": [ "obj-72", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-7", 1 ], + "midpoints": [ 329.5, 585.5, 621.5, 585.5 ], + "order": 0, + "source": [ "obj-72", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-13", 0 ], + "source": [ "obj-79", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-72", 0 ], + "source": [ "obj-91", 0 ] + } + } + ], + "styles": [ + { + "name": "max6box", + "default": { + "accentcolor": [ 0.8, 0.839216, 0.709804, 1.0 ], + "bgcolor": [ 1.0, 1.0, 1.0, 0.5 ], + "textcolor_inverse": [ 0.0, 0.0, 0.0, 1.0 ] + }, + "parentstyle": "", + "multi": 0 + }, + { + "name": "max6inlet", + "default": { + "color": [ 0.423529, 0.372549, 0.27451, 1.0 ] + }, + "parentstyle": "", + "multi": 0 + }, + { + "name": "max6message", + "default": { + "bgfillcolor": { + "angle": 270.0, + "autogradient": 0, + "color": [ 0.290196, 0.309804, 0.301961, 1.0 ], + "color1": [ 0.866667, 0.866667, 0.866667, 1.0 ], + "color2": [ 0.788235, 0.788235, 0.788235, 1.0 ], + "proportion": 0.39, + "type": "gradient" + }, + "textcolor_inverse": [ 0.0, 0.0, 0.0, 1.0 ] + }, + "parentstyle": "max6box", + "multi": 0 + }, + { + "name": "max6outlet", + "default": { + "color": [ 0.0, 0.454902, 0.498039, 1.0 ] + }, + "parentstyle": "", + "multi": 0 + } + ] + }, + "patching_rect": [ 592.0, 23.0, 102.0, 22.0 ], + "text": "p \"large datasets\"" + } + }, + { + "box": { + "id": "obj-4", + "maxclass": "newobj", + "numinlets": 0, + "numoutlets": 0, + "patcher": { + "fileversion": 1, + "appversion": { + "major": 9, + "minor": 1, + "revision": 4, + "architecture": "x64", + "modernui": 1 + }, + "classnamespace": "box", + "rect": [ 0.0, 26.0, 951.0, 792.0 ], + "gridonopen": 2, + "gridsize": [ 10.0, 10.0 ], + "gridsnaponopen": 2, + "showontab": 1, + "boxes": [ + { + "box": { + "bgcolor": [ 1.0, 0.788235, 0.470588, 1.0 ], + "fontname": "Arial Bold", + "fontsize": 13.0, + "hint": "", + "id": "obj-52", + "ignoreclick": 1, + "legacytextcolor": 1, + "maxclass": "textbutton", + "numinlets": 1, + "numoutlets": 3, + "outlettype": [ "", "", "int" ], + "parameter_enable": 0, + "patching_rect": [ 862.625, 436.0, 20.0, 20.0 ], + "rounded": 60.0, + "text": "2", + "textcolor": [ 0.34902, 0.34902, 0.34902, 1.0 ] + } + }, + { + "box": { + "bubble": 1, + "bubbleside": 2, + "fontsize": 13.0, + "id": "obj-25", + "linecount": 3, + "maxclass": "comment", + "numinlets": 1, + "numoutlets": 0, + "patching_rect": [ 708.875, 419.0, 151.75, 69.0 ], + "text": "alter the amount or direction of the panning (when shift + dragging)." + } + }, + { + "box": { + "id": "obj-24", + "maxclass": "message", + "numinlets": 2, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 810.0, 490.0, 29.5, 22.0 ], + "text": "-1" + } + }, + { + "box": { + "id": "obj-23", + "maxclass": "message", + "numinlets": 2, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 730.0, 490.0, 29.5, 22.0 ], + "text": "0.1" + } + }, + { + "box": { + "id": "obj-22", + "maxclass": "message", + "numinlets": 2, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 770.0, 490.0, 29.5, 22.0 ], + "text": "1" + } + }, + { + "box": { + "format": 6, + "id": "obj-20", + "maxclass": "flonum", + "numinlets": 1, + "numoutlets": 2, + "outlettype": [ "", "bang" ], + "parameter_enable": 1, + "patching_rect": [ 770.0, 530.0, 50.0, 22.0 ], + "saved_attribute_attributes": { + "valueof": { + "parameter_initial": [ 1 ], + "parameter_initial_enable": 1, + "parameter_invisible": 1, + "parameter_longname": "number", + "parameter_modmode": 0, + "parameter_shortname": "number", + "parameter_type": 3 + } + }, + "varname": "number" + } + }, + { + "box": { + "id": "obj-14", + "maxclass": "message", + "numinlets": 2, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 770.0, 560.0, 75.0, 22.0 ], + "text": "panfactor $1" + } + }, + { + "box": { + "id": "obj-4", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 3, + "outlettype": [ "bang", "bang", "bang" ], + "patching_rect": [ 37.0, 152.5, 63.0, 22.0 ], + "text": "b 3" + } + }, + { + "box": { + "fontsize": 13.0, + "id": "obj-15", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 1, + "outlettype": [ "" ], + "patcher": { + "fileversion": 1, + "appversion": { + "major": 9, + "minor": 1, + "revision": 4, + "architecture": "x64", + "modernui": 1 + }, + "classnamespace": "box", + "rect": [ 59.0, 105.0, 243.0, 243.0 ], + "boxes": [ + { + "box": { + "id": "obj-1", + "linecount": 2, + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 2, + "outlettype": [ "", "" ], + "patching_rect": [ 85.0, 202.0, 109.0, 35.0 ], + "text": "fluid.labelset~ clustering.zooming" + } + }, + { + "box": { + "id": "obj-83", + "maxclass": "message", + "numinlets": 2, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 14.0, 167.5, 137.0, 22.0 ], + "text": "refer clustering.zooming" + } + }, + { + "box": { + "id": "obj-80", + "maxclass": "newobj", + "numinlets": 2, + "numoutlets": 2, + "outlettype": [ "", "" ], + "patching_rect": [ 14.0, 133.5, 85.0, 22.0 ], + "text": "route fitpredict" + } + }, + { + "box": { + "id": "obj-78", + "linecount": 2, + "maxclass": "message", + "numinlets": 2, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 14.0, 60.0, 180.0, 35.0 ], + "text": "clear, fitpredict plotting.zooming clustering.zooming" + } + }, + { + "box": { + "id": "obj-76", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 2, + "outlettype": [ "", "" ], + "patching_rect": [ 14.0, 103.0, 173.0, 22.0 ], + "text": "fluid.kmeans~ @numclusters 4" + } + }, + { + "box": { + "comment": "", + "id": "obj-13", + "index": 1, + "maxclass": "inlet", + "numinlets": 0, + "numoutlets": 1, + "outlettype": [ "bang" ], + "patching_rect": [ 14.0, 11.0, 30.0, 30.0 ] + } + }, + { + "box": { + "comment": "", + "id": "obj-14", + "index": 1, + "maxclass": "outlet", + "numinlets": 1, + "numoutlets": 0, + "patching_rect": [ 14.0, 202.0, 30.0, 30.0 ] + } + } + ], + "lines": [ + { + "patchline": { + "destination": [ "obj-78", 0 ], + "source": [ "obj-13", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-80", 0 ], + "source": [ "obj-76", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-76", 0 ], + "source": [ "obj-78", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-83", 0 ], + "source": [ "obj-80", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-14", 0 ], + "source": [ "obj-83", 0 ] + } + } + ] + }, + "patching_rect": [ 301.5, 200.0, 143.0, 23.0 ], + "text": "p \"cluster random data\"" + } + }, + { + "box": { + "fontsize": 13.0, + "id": "obj-6", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 1, + "outlettype": [ "" ], + "patcher": { + "fileversion": 1, + "appversion": { + "major": 9, + "minor": 1, + "revision": 4, + "architecture": "x64", + "modernui": 1 + }, + "classnamespace": "box", + "rect": [ 35.0, 100.0, 563.0, 464.0 ], + "boxes": [ + { + "box": { + "id": "obj-68", + "maxclass": "message", + "numinlets": 2, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 205.0, 383.40283203125, 124.0, 22.0 ], + "text": "refer plotting.zooming" + } + }, + { + "box": { + "id": "obj-17", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 2, + "outlettype": [ "", "" ], + "patching_rect": [ 53.0, 348.90283203125, 171.0, 22.0 ], + "text": "fluid.dataset~ plotting.zooming" + } + }, + { + "box": { + "id": "obj-24", + "maxclass": "newobj", + "numinlets": 3, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 101.0, 221.90283203125, 96.0, 22.0 ], + "text": "sprintf %s %f %f" + } + }, + { + "box": { + "id": "obj-23", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 380.25, 178.90283203125, 168.0, 22.0 ], + "text": "expr random(-250\\, 250) / 100." + } + }, + { + "box": { + "id": "obj-22", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 210.25, 178.90283203125, 168.0, 22.0 ], + "text": "expr random(-250\\, 250) / 100." + } + }, + { + "box": { + "id": "obj-21", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 101.0, 178.90283203125, 92.0, 22.0 ], + "text": "sprintf entry-%i:" + } + }, + { + "box": { + "id": "obj-16", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 2, + "outlettype": [ "int", "bang" ], + "patching_rect": [ 101.0, 132.90283203125, 128.25, 22.0 ], + "text": "t i b" + } + }, + { + "box": { + "id": "obj-74", + "maxclass": "newobj", + "numinlets": 2, + "numoutlets": 3, + "outlettype": [ "bang", "bang", "int" ], + "patching_rect": [ 39.0, 94.90283203125, 47.0, 22.0 ], + "text": "uzi 100" + } + }, + { + "box": { + "id": "obj-71", + "maxclass": "newobj", + "numinlets": 3, + "numoutlets": 1, + "outlettype": [ "dictionary" ], + "patching_rect": [ 53.0, 285.90283203125, 121.0, 22.0 ], + "text": "dict.pack data: cols:2" + } + }, + { + "box": { + "id": "obj-70", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 1, + "outlettype": [ "dictionary" ], + "patching_rect": [ 53.0, 251.90283203125, 61.0, 22.0 ], + "text": "dict.group" + } + }, + { + "box": { + "id": "obj-54", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 2, + "outlettype": [ "", "" ], + "patching_rect": [ 138.5, 94.90283203125, 171.0, 22.0 ], + "text": "fluid.dataset~ plotting.zooming" + } + }, + { + "box": { + "id": "obj-52", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 2, + "outlettype": [ "bang", "clear" ], + "patching_rect": [ 39.0, 58.90283203125, 118.5, 22.0 ], + "text": "t b clear" + } + }, + { + "box": { + "id": "obj-43", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 53.0, 316.90283203125, 81.0, 22.0 ], + "text": "prepend load" + } + }, + { + "box": { + "comment": "", + "id": "obj-2", + "index": 1, + "maxclass": "inlet", + "numinlets": 0, + "numoutlets": 1, + "outlettype": [ "bang" ], + "patching_rect": [ 39.0, 24.000000031249996, 30.0, 30.0 ] + } + }, + { + "box": { + "comment": "", + "id": "obj-4", + "index": 1, + "maxclass": "outlet", + "numinlets": 1, + "numoutlets": 0, + "patching_rect": [ 205.0, 418.80566403125, 30.0, 30.0 ] + } + } + ], + "lines": [ + { + "patchline": { + "destination": [ "obj-21", 0 ], + "source": [ "obj-16", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-22", 0 ], + "order": 1, + "source": [ "obj-16", 1 ] + } + }, + { + "patchline": { + "destination": [ "obj-23", 0 ], + "order": 0, + "source": [ "obj-16", 1 ] + } + }, + { + "patchline": { + "destination": [ "obj-68", 0 ], + "source": [ "obj-17", 1 ] + } + }, + { + "patchline": { + "destination": [ "obj-52", 0 ], + "source": [ "obj-2", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-24", 0 ], + "source": [ "obj-21", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-24", 1 ], + "source": [ "obj-22", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-24", 2 ], + "source": [ "obj-23", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-70", 0 ], + "source": [ "obj-24", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-17", 0 ], + "source": [ "obj-43", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-54", 0 ], + "source": [ "obj-52", 1 ] + } + }, + { + "patchline": { + "destination": [ "obj-74", 0 ], + "source": [ "obj-52", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-4", 0 ], + "source": [ "obj-68", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-71", 0 ], + "source": [ "obj-70", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-43", 0 ], + "source": [ "obj-71", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-16", 0 ], + "source": [ "obj-74", 2 ] + } + }, + { + "patchline": { + "destination": [ "obj-70", 0 ], + "source": [ "obj-74", 1 ] + } + } + ] + }, + "patching_rect": [ 81.0, 200.0, 156.0, 23.0 ], + "text": "p \"generate random data\"" + } + }, + { + "box": { + "bgcolor": [ 1.0, 0.788235, 0.470588, 1.0 ], + "fontname": "Arial Bold", + "fontsize": 13.0, + "hint": "", + "id": "obj-10", + "ignoreclick": 1, + "legacytextcolor": 1, + "maxclass": "textbutton", + "numinlets": 1, + "numoutlets": 3, + "outlettype": [ "", "", "int" ], + "parameter_enable": 0, + "patching_rect": [ 277.5, 113.5, 20.0, 20.0 ], + "rounded": 60.0, + "text": "1", + "textcolor": [ 0.34902, 0.34902, 0.34902, 1.0 ] + } + }, + { + "box": { + "bubble": 1, + "fontsize": 13.0, + "id": "obj-105", + "maxclass": "comment", + "numinlets": 1, + "numoutlets": 0, + "patching_rect": [ 63.0, 111.0, 213.0, 25.0 ], + "text": "generate a random set of points." + } + }, + { + "box": { + "id": "obj-103", + "maxclass": "button", + "numinlets": 1, + "numoutlets": 1, + "outlettype": [ "bang" ], + "parameter_enable": 0, + "patching_rect": [ 37.0, 111.0, 24.0, 24.0 ] + } + }, + { + "box": { + "fontsize": 13.0, + "id": "obj-2", + "linecount": 4, + "maxclass": "comment", + "numinlets": 1, + "numoutlets": 0, + "patching_rect": [ 460.0, 210.0, 279.0, 65.0 ], + "saved_attribute_attributes": { + "textcolor": { + "expression": "themecolor.theme_textcolor" + } + }, + "text": "The range of the generated data sits between -2.5 and 2.5 but the view of the data is set to be between -5 and 5 on both axes to have some whitespace around the edges." + } + }, + { + "box": { + "id": "obj-1", + "maxclass": "comment", + "numinlets": 1, + "numoutlets": 0, + "patching_rect": [ 10.0, 67.0, 427.0, 20.0 ], + "saved_attribute_attributes": { + "textcolor": { + "expression": "themecolor.theme_textcolor" + } + }, + "text": "fluid.jit.plotter has a zoom feature allowing you to zone in on subsets of the plot" + } + }, + { + "box": { + "dontreplace": 1, + "fontsize": 13.0, + "id": "obj-13", + "linecount": 2, + "maxclass": "message", + "numinlets": 2, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 429.5, 665.0, 97.0, 38.0 ], + "text": "-0.747461 1.565039" + } + }, + { + "box": { + "dontreplace": 1, + "fontsize": 13.0, + "id": "obj-11", + "linecount": 2, + "maxclass": "message", + "numinlets": 2, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 305.0, 665.0, 96.0, 38.0 ], + "text": "-1.703125 0.796875" + } + }, + { + "box": { + "fontsize": 13.0, + "id": "obj-8", + "maxclass": "newobj", + "numinlets": 3, + "numoutlets": 3, + "outlettype": [ "", "", "" ], + "patching_rect": [ 382.0, 630.0, 270.0, 23.0 ], + "text": "route zoomxrange zoomyrange" + } + }, + { + "box": { + "fontsize": 13.0, + "id": "obj-9", + "linecount": 2, + "maxclass": "comment", + "numinlets": 1, + "numoutlets": 0, + "patching_rect": [ 658.0, 623.5, 258.0, 36.0 ], + "saved_attribute_attributes": { + "textcolor": { + "expression": "themecolor.theme_textcolor" + } + }, + "text": "The selected range is output from the right in response to drag + modifier events." + } + }, + { + "box": { + "fontsize": 13.0, + "id": "obj-7", + "linecount": 14, + "maxclass": "comment", + "numinlets": 1, + "numoutlets": 0, + "patching_rect": [ 410.0, 360.0, 279.0, 210.0 ], + "saved_attribute_attributes": { + "textcolor": { + "expression": "themecolor.theme_textcolor" + } + }, + "text": "You can interactively control the range of the x and y areas using different keyboard modifiers while clicking and dragging.\n\nIf you (hold option / alt / winkey + drag) a box will be drawn over the canvas, showing which area of the plot you will \"zoom\" in on in.\n\nIf you (control + drag) it resets the x and y ranges to the last stored values received from a message (such as range [-5 5]).\n\nIf you (shift + drag) you can pan the view around within the current zoom range. " + } + }, + { + "box": { + "fontsize": 13.0, + "id": "obj-5", + "maxclass": "message", + "numinlets": 2, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 381.0, 240.0, 68.0, 23.0 ], + "text": "range -5 5" + } + }, + { + "box": { + "bgmode": 0, + "border": 0, + "clickthrough": 0, + "enablehscroll": 0, + "enablevscroll": 0, + "id": "obj-58", + "lockeddragscroll": 0, + "lockedsize": 0, + "maxclass": "bpatcher", + "name": "fluid.jit.plotter.maxpat", + "numinlets": 2, + "numoutlets": 2, + "offset": [ 0.0, 0.0 ], + "outlettype": [ "", "" ], + "patching_rect": [ 81.0, 290.0, 320.0, 320.0 ], + "viewvisibility": 1 + } + }, + { + "box": { + "border": 0, + "filename": "helpdetails.js", + "id": "obj-3", + "ignoreclick": 1, + "jsarguments": [ "fluid.jit.plotter" ], + "maxclass": "jsui", + "numinlets": 1, + "numoutlets": 1, + "outlettype": [ "" ], + "parameter_enable": 0, + "patching_rect": [ 10.0, 10.0, 320.0, 54.0 ] + } + } + ], + "lines": [ + { + "patchline": { + "destination": [ "obj-4", 0 ], + "source": [ "obj-103", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-58", 0 ], + "midpoints": [ 779.5, 590.0, 405.0, 590.0, 405.0, 279.0, 90.5, 279.0 ], + "source": [ "obj-14", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-58", 1 ], + "midpoints": [ 311.0, 271.0, 391.5, 271.0 ], + "source": [ "obj-15", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-14", 0 ], + "source": [ "obj-20", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-20", 0 ], + "source": [ "obj-22", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-20", 0 ], + "source": [ "obj-23", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-20", 0 ], + "source": [ "obj-24", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-15", 0 ], + "midpoints": [ 68.5, 187.25, 311.0, 187.25 ], + "source": [ "obj-4", 1 ] + } + }, + { + "patchline": { + "destination": [ "obj-5", 0 ], + "midpoints": [ 46.5, 233.75, 390.5, 233.75 ], + "source": [ "obj-4", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-6", 0 ], + "source": [ "obj-4", 2 ] + } + }, + { + "patchline": { + "destination": [ "obj-58", 1 ], + "source": [ "obj-5", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-8", 0 ], + "source": [ "obj-58", 1 ] + } + }, + { + "patchline": { + "destination": [ "obj-58", 0 ], + "source": [ "obj-6", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-11", 1 ], + "source": [ "obj-8", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-13", 1 ], + "source": [ "obj-8", 1 ] + } + } + ], + "styles": [ + { + "name": "max6box", + "default": { + "accentcolor": [ 0.8, 0.839216, 0.709804, 1.0 ], + "bgcolor": [ 1.0, 1.0, 1.0, 0.5 ], + "textcolor_inverse": [ 0.0, 0.0, 0.0, 1.0 ] + }, + "parentstyle": "", + "multi": 0 + }, + { + "name": "max6inlet", + "default": { + "color": [ 0.423529, 0.372549, 0.27451, 1.0 ] + }, + "parentstyle": "", + "multi": 0 + }, + { + "name": "max6message", + "default": { + "bgfillcolor": { + "angle": 270.0, + "autogradient": 0, + "color": [ 0.290196, 0.309804, 0.301961, 1.0 ], + "color1": [ 0.866667, 0.866667, 0.866667, 1.0 ], + "color2": [ 0.788235, 0.788235, 0.788235, 1.0 ], + "proportion": 0.39, + "type": "gradient" + }, + "textcolor_inverse": [ 0.0, 0.0, 0.0, 1.0 ] + }, + "parentstyle": "max6box", + "multi": 0 + }, + { + "name": "max6outlet", + "default": { + "color": [ 0.0, 0.454902, 0.498039, 1.0 ] + }, + "parentstyle": "", + "multi": 0 + } + ] + }, + "patching_rect": [ 491.0, 24.0, 86.0, 22.0 ], + "text": "p click'n'drag" + } + }, + { + "box": { + "id": "obj-3", + "maxclass": "newobj", + "numinlets": 0, + "numoutlets": 0, + "patcher": { + "fileversion": 1, + "appversion": { + "major": 9, + "minor": 1, + "revision": 4, + "architecture": "x64", + "modernui": 1 + }, + "classnamespace": "box", + "rect": [ 0.0, 26.0, 951.0, 792.0 ], + "gridonopen": 2, + "gridsize": [ 10.0, 10.0 ], + "gridsnaponopen": 2, + "showontab": 1, + "boxes": [ + { + "box": { + "fontsize": 13.0, + "id": "obj-4", + "maxclass": "newobj", + "numinlets": 2, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 370.5, 292.5, 44.0, 23.0 ], + "text": "pak f f" + } + }, + { + "box": { + "fontsize": 13.0, + "id": "obj-1", + "maxclass": "newobj", + "numinlets": 2, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 235.25, 292.5, 44.0, 23.0 ], + "text": "pak f f" + } + }, + { + "box": { + "fontsize": 13.0, + "id": "obj-28", + "maxclass": "message", + "numinlets": 2, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 425.5, 203.902832, 31.0, 23.0 ], + "text": "600" + } + }, + { + "box": { + "fontsize": 13.0, + "id": "obj-26", + "maxclass": "message", + "numinlets": 2, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 370.5, 203.902832, 31.0, 23.0 ], + "text": "40" + } + }, + { + "box": { + "fontsize": 13.0, + "id": "obj-25", + "maxclass": "message", + "numinlets": 2, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 300.0, 203.902832, 45.0, 23.0 ], + "text": "10000" + } + }, + { + "box": { + "fontsize": 13.0, + "id": "obj-24", + "maxclass": "message", + "numinlets": 2, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 235.25, 203.902832, 32.0, 23.0 ], + "text": "0" + } + }, + { + "box": { + "bgcolor": [ 1.0, 0.788235, 0.470588, 1.0 ], + "fontname": "Arial Bold", + "fontsize": 13.0, + "hint": "", + "id": "obj-11", + "ignoreclick": 1, + "legacytextcolor": 1, + "maxclass": "textbutton", + "numinlets": 1, + "numoutlets": 3, + "outlettype": [ "", "", "int" ], + "parameter_enable": 0, + "patching_rect": [ 850.0, 206.902832, 20.0, 20.0 ], + "rounded": 60.0, + "text": "3", + "textcolor": [ 0.34902, 0.34902, 0.34902, 1.0 ] + } + }, + { + "box": { + "bubble": 1, + "fontsize": 13.0, + "id": "obj-13", + "linecount": 4, + "maxclass": "comment", + "numinlets": 1, + "numoutlets": 0, + "patching_rect": [ 470.0, 180.902832, 378.0, 69.0 ], + "text": "Click these messages to start adjusting the range to the minimum and maximum of the original data. You will see that the data is now visible in the space. Wiggle the number boxes to see how it affects the display of points." + } + }, + { + "box": { + "bgcolor": [ 1.0, 0.788235, 0.470588, 1.0 ], + "fontname": "Arial Bold", + "fontsize": 13.0, + "hint": "", + "id": "obj-7", + "ignoreclick": 1, + "legacytextcolor": 1, + "maxclass": "textbutton", + "numinlets": 1, + "numoutlets": 3, + "outlettype": [ "", "", "int" ], + "parameter_enable": 0, + "patching_rect": [ 731.0, 532.5, 20.0, 20.0 ], + "rounded": 60.0, + "text": "2", + "textcolor": [ 0.34902, 0.34902, 0.34902, 1.0 ] + } + }, + { + "box": { + "fontsize": 13.0, + "id": "obj-8", + "linecount": 2, + "maxclass": "comment", + "numinlets": 1, + "numoutlets": 0, + "patching_rect": [ 390.0, 524.5, 339.0, 36.0 ], + "saved_attribute_attributes": { + "textcolor": { + "expression": "themecolor.theme_textcolor" + } + }, + "text": "You'll notice that there is nothing in the plotter. By default it is displaying the 0 to 1 range in both dimensions." + } + }, + { + "box": { + "fontsize": 13.0, + "id": "obj-2", + "linecount": 2, + "maxclass": "comment", + "numinlets": 1, + "numoutlets": 0, + "patching_rect": [ 10.0, 67.0, 736.0, 36.0 ], + "saved_attribute_attributes": { + "textcolor": { + "expression": "themecolor.theme_textcolor" + } + }, + "text": "By default, the range of the fluid.jit.plotter is between 0 and 1 for both the X and Y axis. You can modify the displayed range of the plotter with two messages, xrange and yrange. Each message accepts two values, the minimum and maximum for each." + } + }, + { + "box": { + "fontsize": 13.0, + "format": 6, + "id": "obj-19", + "maxclass": "flonum", + "numinlets": 1, + "numoutlets": 2, + "outlettype": [ "", "bang" ], + "parameter_enable": 0, + "patching_rect": [ 425.5, 245.0, 54.0, 23.0 ] + } + }, + { + "box": { + "fontsize": 13.0, + "format": 6, + "id": "obj-20", + "maxclass": "flonum", + "numinlets": 1, + "numoutlets": 2, + "outlettype": [ "", "bang" ], + "parameter_enable": 0, + "patching_rect": [ 370.5, 245.0, 50.0, 23.0 ] + } + }, + { + "box": { + "fontsize": 13.0, + "id": "obj-18", + "maxclass": "message", + "numinlets": 2, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 370.0, 332.30566403125, 84.0, 23.0 ], + "text": "yrange $1 $2" + } + }, + { + "box": { + "fontsize": 13.0, + "id": "obj-17", + "maxclass": "message", + "numinlets": 2, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 235.25, 332.30566403125, 84.0, 23.0 ], + "text": "xrange $1 $2" + } + }, + { + "box": { + "fontsize": 13.0, + "format": 6, + "id": "obj-12", + "maxclass": "flonum", + "numinlets": 1, + "numoutlets": 2, + "outlettype": [ "", "bang" ], + "parameter_enable": 0, + "patching_rect": [ 300.0, 245.0, 59.5, 23.0 ] + } + }, + { + "box": { + "fontsize": 13.0, + "format": 6, + "id": "obj-9", + "maxclass": "flonum", + "numinlets": 1, + "numoutlets": 2, + "outlettype": [ "", "bang" ], + "parameter_enable": 0, + "patching_rect": [ 235.25, 245.0, 54.75, 23.0 ] + } + }, + { + "box": { + "bgcolor": [ 1.0, 0.788235, 0.470588, 1.0 ], + "fontname": "Arial Bold", + "fontsize": 13.0, + "hint": "", + "id": "obj-50", + "ignoreclick": 1, + "legacytextcolor": 1, + "maxclass": "textbutton", + "numinlets": 1, + "numoutlets": 3, + "outlettype": [ "", "", "int" ], + "parameter_enable": 0, + "patching_rect": [ 390.0, 147.0, 20.0, 20.0 ], + "rounded": 60.0, + "text": "1", + "textcolor": [ 0.34902, 0.34902, 0.34902, 1.0 ] + } + }, + { + "box": { + "bubble": 1, + "fontsize": 13.0, + "id": "obj-48", + "linecount": 4, + "maxclass": "comment", + "numinlets": 1, + "numoutlets": 0, + "patching_rect": [ 90.0, 122.5, 299.0, 69.0 ], + "text": "Generate random data between a range that is not normal. In this case the horizontal values range between 0 and 10000, and the vertical values range between 40 and 600." + } + }, + { + "box": { + "bgmode": 0, + "border": 0, + "clickthrough": 0, + "enablehscroll": 0, + "enablevscroll": 0, + "id": "obj-36", + "lockeddragscroll": 0, + "lockedsize": 0, + "maxclass": "bpatcher", + "name": "fluid.jit.plotter.maxpat", + "numinlets": 2, + "numoutlets": 2, + "offset": [ 0.0, 0.0 ], + "outlettype": [ "", "" ], + "patching_rect": [ 60.0, 380.0, 325.0, 325.0 ], + "viewvisibility": 1 + } + }, + { + "box": { + "id": "obj-10", + "maxclass": "button", + "numinlets": 1, + "numoutlets": 1, + "outlettype": [ "bang" ], + "parameter_enable": 0, + "patching_rect": [ 60.0, 145.0, 24.0, 24.0 ] + } + }, + { + "box": { + "fontsize": 13.0, + "id": "obj-5", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 1, + "outlettype": [ "" ], + "patcher": { + "fileversion": 1, + "appversion": { + "major": 9, + "minor": 1, + "revision": 4, + "architecture": "x64", + "modernui": 1 + }, + "classnamespace": "box", + "rect": [ 35.0, 124.0, 499.0, 496.0 ], + "boxes": [ + { + "box": { + "id": "obj-6", + "maxclass": "message", + "numinlets": 2, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 162.5, 422.0, 85.0, 22.0 ], + "text": "refer plotting.3" + } + }, + { + "box": { + "id": "obj-5", + "maxclass": "newobj", + "numinlets": 2, + "numoutlets": 2, + "outlettype": [ "", "" ], + "patching_rect": [ 162.5, 387.0, 62.0, 22.0 ], + "text": "route load" + } + }, + { + "box": { + "id": "obj-17", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 2, + "outlettype": [ "", "" ], + "patching_rect": [ 49.5, 349.90283203125, 132.0, 22.0 ], + "text": "fluid.dataset~ plotting.3" + } + }, + { + "box": { + "id": "obj-24", + "maxclass": "newobj", + "numinlets": 3, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 97.5, 216.90283203125, 237.5, 22.0 ], + "text": "sprintf %s %f %f" + } + }, + { + "box": { + "id": "obj-23", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 354.75, 177.90283203125, 124.0, 22.0 ], + "text": "expr random(40\\, 600)" + } + }, + { + "box": { + "id": "obj-22", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 206.75, 177.90283203125, 131.0, 22.0 ], + "text": "expr random(0\\, 10000)" + } + }, + { + "box": { + "id": "obj-21", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 97.5, 177.90283203125, 92.0, 22.0 ], + "text": "sprintf entry-%i:" + } + }, + { + "box": { + "id": "obj-16", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 2, + "outlettype": [ "int", "bang" ], + "patching_rect": [ 97.5, 131.90283203125, 128.25, 22.0 ], + "text": "t i b" + } + }, + { + "box": { + "id": "obj-74", + "maxclass": "newobj", + "numinlets": 2, + "numoutlets": 3, + "outlettype": [ "bang", "bang", "int" ], + "patching_rect": [ 35.5, 93.90283203125, 47.0, 22.0 ], + "text": "uzi 100" + } + }, + { + "box": { + "id": "obj-71", + "maxclass": "newobj", + "numinlets": 3, + "numoutlets": 1, + "outlettype": [ "dictionary" ], + "patching_rect": [ 49.5, 286.90283203125, 121.0, 22.0 ], + "text": "dict.pack data: cols:2" + } + }, + { + "box": { + "id": "obj-70", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 1, + "outlettype": [ "dictionary" ], + "patching_rect": [ 49.5, 252.90283203125, 61.0, 22.0 ], + "text": "dict.group" + } + }, + { + "box": { + "id": "obj-54", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 2, + "outlettype": [ "", "" ], + "patching_rect": [ 134.5, 93.90283203125, 132.0, 22.0 ], + "text": "fluid.dataset~ plotting.3" + } + }, + { + "box": { + "id": "obj-52", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 2, + "outlettype": [ "bang", "clear" ], + "patching_rect": [ 35.5, 53.90283203125, 118.5, 22.0 ], + "text": "t b clear" + } + }, + { + "box": { + "id": "obj-43", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 49.5, 317.90283203125, 81.0, 22.0 ], + "text": "prepend load" + } + }, + { + "box": { + "comment": "", + "id": "obj-2", + "index": 1, + "maxclass": "inlet", + "numinlets": 0, + "numoutlets": 1, + "outlettype": [ "bang" ], + "patching_rect": [ 35.5, 19.000000031249996, 30.0, 30.0 ] + } + }, + { + "box": { + "comment": "", + "id": "obj-4", + "index": 1, + "maxclass": "outlet", + "numinlets": 1, + "numoutlets": 0, + "patching_rect": [ 162.5, 452.80566403125, 30.0, 30.0 ] + } + } + ], + "lines": [ + { + "patchline": { + "destination": [ "obj-21", 0 ], + "source": [ "obj-16", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-22", 0 ], + "order": 1, + "source": [ "obj-16", 1 ] + } + }, + { + "patchline": { + "destination": [ "obj-23", 0 ], + "order": 0, + "source": [ "obj-16", 1 ] + } + }, + { + "patchline": { + "destination": [ "obj-5", 0 ], + "source": [ "obj-17", 1 ] + } + }, + { + "patchline": { + "destination": [ "obj-52", 0 ], + "source": [ "obj-2", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-24", 0 ], + "source": [ "obj-21", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-24", 1 ], + "source": [ "obj-22", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-24", 2 ], + "source": [ "obj-23", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-70", 0 ], + "source": [ "obj-24", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-17", 0 ], + "source": [ "obj-43", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-6", 0 ], + "source": [ "obj-5", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-54", 0 ], + "source": [ "obj-52", 1 ] + } + }, + { + "patchline": { + "destination": [ "obj-74", 0 ], + "source": [ "obj-52", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-4", 0 ], + "source": [ "obj-6", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-71", 0 ], + "source": [ "obj-70", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-43", 0 ], + "source": [ "obj-71", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-16", 0 ], + "source": [ "obj-74", 2 ] + } + }, + { + "patchline": { + "destination": [ "obj-70", 0 ], + "source": [ "obj-74", 1 ] + } + } + ] + }, + "patching_rect": [ 60.0, 245.0, 156.0, 23.0 ], + "text": "p \"generate random data\"" + } + }, + { + "box": { + "border": 0, + "filename": "helpdetails.js", + "id": "obj-3", + "ignoreclick": 1, + "jsarguments": [ "fluid.jit.plotter" ], + "maxclass": "jsui", + "numinlets": 1, + "numoutlets": 1, + "outlettype": [ "" ], + "parameter_enable": 0, + "patching_rect": [ 10.0, 10.0, 320.0, 55.0 ] + } + } + ], + "lines": [ + { + "patchline": { + "destination": [ "obj-17", 0 ], + "source": [ "obj-1", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-5", 0 ], + "midpoints": [ 69.5, 171.0, 69.5, 171.0 ], + "source": [ "obj-10", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-1", 1 ], + "midpoints": [ 309.5, 278.5, 269.75, 278.5 ], + "source": [ "obj-12", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-36", 0 ], + "midpoints": [ 244.75, 367.0, 69.5, 367.0 ], + "source": [ "obj-17", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-36", 0 ], + "midpoints": [ 379.5, 367.0, 69.5, 367.0 ], + "source": [ "obj-18", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-4", 1 ], + "midpoints": [ 435.0, 278.5, 405.0, 278.5 ], + "source": [ "obj-19", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-4", 0 ], + "midpoints": [ 380.0, 269.5, 380.0, 269.5 ], + "source": [ "obj-20", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-9", 0 ], + "source": [ "obj-24", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-12", 0 ], + "source": [ "obj-25", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-20", 0 ], + "source": [ "obj-26", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-19", 0 ], + "source": [ "obj-28", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-18", 0 ], + "source": [ "obj-4", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-36", 0 ], + "midpoints": [ 69.5, 270.0, 69.5, 270.0 ], + "source": [ "obj-5", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-1", 0 ], + "midpoints": [ 244.75, 269.5, 244.75, 269.5 ], + "source": [ "obj-9", 0 ] + } + } + ], + "styles": [ + { + "name": "max6box", + "default": { + "accentcolor": [ 0.8, 0.839216, 0.709804, 1.0 ], + "bgcolor": [ 1.0, 1.0, 1.0, 0.5 ], + "textcolor_inverse": [ 0.0, 0.0, 0.0, 1.0 ] + }, + "parentstyle": "", + "multi": 0 + }, + { + "name": "max6inlet", + "default": { + "color": [ 0.423529, 0.372549, 0.27451, 1.0 ] + }, + "parentstyle": "", + "multi": 0 + }, + { + "name": "max6message", + "default": { + "bgfillcolor": { + "angle": 270.0, + "autogradient": 0, + "color": [ 0.290196, 0.309804, 0.301961, 1.0 ], + "color1": [ 0.866667, 0.866667, 0.866667, 1.0 ], + "color2": [ 0.788235, 0.788235, 0.788235, 1.0 ], + "proportion": 0.39, + "type": "gradient" + }, + "textcolor_inverse": [ 0.0, 0.0, 0.0, 1.0 ] + }, + "parentstyle": "max6box", + "multi": 0 + }, + { + "name": "max6outlet", + "default": { + "color": [ 0.0, 0.454902, 0.498039, 1.0 ] + }, + "parentstyle": "", + "multi": 0 + } + ] + }, + "patching_rect": [ 68.0, 24.0, 49.0, 22.0 ], + "text": "p range" + } + }, + { + "box": { + "id": "obj-1", + "maxclass": "newobj", + "numinlets": 0, + "numoutlets": 0, + "patcher": { + "fileversion": 1, + "appversion": { + "major": 9, + "minor": 1, + "revision": 4, + "architecture": "x64", + "modernui": 1 + }, + "classnamespace": "box", + "rect": [ 0.0, 26.0, 951.0, 792.0 ], + "gridonopen": 2, + "gridsize": [ 10.0, 10.0 ], + "gridsnaponopen": 2, + "showontab": 1, + "boxes": [ + { + "box": { + "arrows": 2, + "id": "obj-66", + "justification": 1, + "maxclass": "live.line", + "numinlets": 1, + "numoutlets": 0, + "patching_rect": [ 163.0, 341.0, 12.5, 61.0 ] + } + }, + { + "box": { + "bgcolor": [ 1.0, 0.788235, 0.470588, 1.0 ], + "fontname": "Arial Bold", + "fontsize": 13.0, + "hint": "", + "id": "obj-64", + "ignoreclick": 1, + "legacytextcolor": 1, + "maxclass": "textbutton", + "numinlets": 1, + "numoutlets": 3, + "outlettype": [ "", "", "int" ], + "parameter_enable": 0, + "patching_rect": [ 772.0, 248.5, 20.0, 20.0 ], + "rounded": 60.0, + "text": "5", + "textcolor": [ 0.34902, 0.34902, 0.34902, 1.0 ] + } + }, + { + "box": { + "bubble": 1, + "bubbleside": 0, + "fontsize": 13.0, + "id": "obj-65", + "maxclass": "comment", + "numinlets": 1, + "numoutlets": 0, + "patching_rect": [ 598.0, 228.5, 172.0, 40.0 ], + "text": "Highlight multiple identifiers." + } + }, + { + "box": { + "bgcolor": [ 1.0, 0.788235, 0.470588, 1.0 ], + "fontname": "Arial Bold", + "hint": "", + "id": "obj-62", + "ignoreclick": 1, + "legacytextcolor": 1, + "maxclass": "textbutton", + "numinlets": 1, + "numoutlets": 3, + "outlettype": [ "", "", "int" ], + "parameter_enable": 0, + "patching_rect": [ 159.5, 319.0, 20.0, 20.0 ], + "rounded": 60.0, + "text": "4", + "textcolor": [ 0.34902, 0.34902, 0.34902, 1.0 ] + } + }, + { + "box": { + "id": "obj-63", + "linecount": 7, + "maxclass": "comment", + "numinlets": 1, + "numoutlets": 0, + "patching_rect": [ 100.0, 404.0, 106.0, 100.0 ], + "saved_attribute_attributes": { + "textcolor": { + "expression": "themecolor.theme_textcolor" + } + }, + "text": "The highlight message dictates which \"identifiers\" will be emphasised visually in the plotter." + } + }, + { + "box": { + "fontsize": 13.0, + "id": "obj-61", + "maxclass": "comment", + "numinlets": 1, + "numoutlets": 0, + "patching_rect": [ 305.0, 658.0, 355.0, 21.0 ], + "saved_attribute_attributes": { + "textcolor": { + "expression": "themecolor.theme_textcolor" + } + }, + "text": "Query for the nearest point in the original data to the mouse." + } + }, + { + "box": { + "fontsize": 13.0, + "id": "obj-57", + "maxclass": "newobj", + "numinlets": 2, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 222.5, 700.0, 50.0, 23.0 ], + "text": "qlim 20" + } + }, + { + "box": { + "fontsize": 13.0, + "id": "obj-55", + "maxclass": "comment", + "numinlets": 1, + "numoutlets": 0, + "patching_rect": [ 305.0, 616.0, 258.0, 21.0 ], + "saved_attribute_attributes": { + "textcolor": { + "expression": "themecolor.theme_textcolor" + } + }, + "text": "Store the coordinates in a temporary buffer." + } + }, + { + "box": { + "bgcolor": [ 1.0, 0.788235, 0.470588, 1.0 ], + "fontname": "Arial Bold", + "fontsize": 13.0, + "hint": "", + "id": "obj-53", + "ignoreclick": 1, + "legacytextcolor": 1, + "maxclass": "textbutton", + "numinlets": 1, + "numoutlets": 3, + "outlettype": [ "", "", "int" ], + "parameter_enable": 0, + "patching_rect": [ 849.0, 577.0, 20.0, 20.0 ], + "rounded": 60.0, + "text": "3", + "textcolor": [ 0.34902, 0.34902, 0.34902, 1.0 ] + } + }, + { + "box": { + "bubble": 1, + "fontsize": 13.0, + "id": "obj-54", + "linecount": 2, + "maxclass": "comment", + "numinlets": 1, + "numoutlets": 0, + "patching_rect": [ 390.0, 565.5, 457.0, 40.0 ], + "text": "These are the coordinates of your mouse inside the two-dimensional space according to the ranges which have been set by xrange and yrange." + } + }, + { + "box": { + "bgcolor": [ 1.0, 0.788235, 0.470588, 1.0 ], + "fontname": "Arial Bold", + "fontsize": 13.0, + "hint": "", + "id": "obj-52", + "ignoreclick": 1, + "legacytextcolor": 1, + "maxclass": "textbutton", + "numinlets": 1, + "numoutlets": 3, + "outlettype": [ "", "", "int" ], + "parameter_enable": 0, + "patching_rect": [ 768.0, 412.5, 20.0, 20.0 ], + "rounded": 60.0, + "text": "2", + "textcolor": [ 0.34902, 0.34902, 0.34902, 1.0 ] + } + }, + { + "box": { + "bubble": 1, + "fontsize": 13.0, + "id": "obj-51", + "maxclass": "comment", + "numinlets": 1, + "numoutlets": 0, + "patching_rect": [ 488.5, 410.0, 278.0, 25.0 ], + "text": "Move your mouse around the fluid.jit.plotter." + } + }, + { + "box": { + "bgcolor": [ 1.0, 0.788235, 0.470588, 1.0 ], + "fontname": "Arial Bold", + "fontsize": 13.0, + "hint": "", + "id": "obj-50", + "ignoreclick": 1, + "legacytextcolor": 1, + "maxclass": "textbutton", + "numinlets": 1, + "numoutlets": 3, + "outlettype": [ "", "", "int" ], + "parameter_enable": 0, + "patching_rect": [ 680.0, 112.5, 20.0, 20.0 ], + "rounded": 60.0, + "text": "1", + "textcolor": [ 0.34902, 0.34902, 0.34902, 1.0 ] + } + }, + { + "box": { + "bubble": 1, + "fontsize": 13.0, + "id": "obj-48", + "maxclass": "comment", + "numinlets": 1, + "numoutlets": 0, + "patching_rect": [ 97.0, 110.0, 580.0, 25.0 ], + "text": "Generate random data and cluster it. Also fit a fluid.kdtree~ so we can query for the closest data." + } + }, + { + "box": { + "fontsize": 13.0, + "id": "obj-40", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 50.0, 319.0, 108.0, 23.0 ], + "text": "prepend highlight" + } + }, + { + "box": { + "fontsize": 13.0, + "id": "obj-37", + "maxclass": "newobj", + "numinlets": 2, + "numoutlets": 2, + "outlettype": [ "", "" ], + "patching_rect": [ 50.0, 275.0, 92.0, 23.0 ], + "text": "route knearest" + } + }, + { + "box": { + "bgmode": 0, + "border": 0, + "clickthrough": 0, + "enablehscroll": 0, + "enablevscroll": 0, + "id": "obj-36", + "lockeddragscroll": 0, + "lockedsize": 0, + "maxclass": "bpatcher", + "name": "fluid.jit.plotter.maxpat", + "numinlets": 2, + "numoutlets": 2, + "offset": [ 0.0, 0.0 ], + "outlettype": [ "", "" ], + "patching_rect": [ 222.0, 286.0, 264.0, 264.0 ], + "viewvisibility": 1 + } + }, + { + "box": { + "fontsize": 13.0, + "id": "obj-33", + "maxclass": "message", + "numinlets": 2, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 555.0, 201.5, 189.0, 23.0 ], + "text": "highlight entry-1 entry-4 entry-9" + } + }, + { + "box": { + "fontsize": 13.0, + "id": "obj-31", + "maxclass": "message", + "numinlets": 2, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 50.0, 201.5, 75.0, 23.0 ], + "text": "fit plotting.2" + } + }, + { + "box": { + "fontsize": 13.0, + "id": "obj-27", + "maxclass": "message", + "numinlets": 2, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 222.5, 658.0, 76.0, 23.0 ], + "text": "knearest $2" + } + }, + { + "box": { + "fontsize": 13.0, + "id": "obj-22", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 1, + "outlettype": [ "buffer" ], + "patching_rect": [ 222.5, 616.0, 77.0, 23.0 ], + "text": "fluid.list2buf" + } + }, + { + "box": { + "dontreplace": 1, + "fontsize": 13.0, + "id": "obj-21", + "maxclass": "message", + "numinlets": 2, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 222.5, 574.0, 161.5, 23.0 ] + } + }, + { + "box": { + "fontsize": 13.0, + "id": "obj-16", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 2, + "outlettype": [ "", "" ], + "patching_rect": [ 50.0, 237.0, 80.0, 23.0 ], + "text": "fluid.kdtree~" + } + }, + { + "box": { + "fontsize": 13.0, + "id": "obj-15", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 1, + "outlettype": [ "" ], + "patcher": { + "fileversion": 1, + "appversion": { + "major": 9, + "minor": 1, + "revision": 4, + "architecture": "x64", + "modernui": 1 + }, + "classnamespace": "box", + "rect": [ 59.0, 105.0, 243.0, 243.0 ], + "boxes": [ + { + "box": { + "id": "obj-1", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 2, + "outlettype": [ "", "" ], + "patching_rect": [ 70.0, 206.0, 147.0, 22.0 ], + "text": "fluid.labelset~ clustering.2" + } + }, + { + "box": { + "id": "obj-83", + "maxclass": "message", + "numinlets": 2, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 14.0, 167.5, 98.0, 22.0 ], + "text": "refer clustering.2" + } + }, + { + "box": { + "id": "obj-80", + "maxclass": "newobj", + "numinlets": 2, + "numoutlets": 2, + "outlettype": [ "", "" ], + "patching_rect": [ 14.0, 133.5, 85.0, 22.0 ], + "text": "route fitpredict" + } + }, + { + "box": { + "id": "obj-78", + "maxclass": "message", + "numinlets": 2, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 14.0, 71.0, 203.0, 22.0 ], + "text": "clear, fitpredict plotting.2 clustering.2" + } + }, + { + "box": { + "id": "obj-76", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 2, + "outlettype": [ "", "" ], + "patching_rect": [ 14.0, 103.0, 173.0, 22.0 ], + "text": "fluid.kmeans~ @numclusters 4" + } + }, + { + "box": { + "comment": "", + "id": "obj-13", + "index": 1, + "maxclass": "inlet", + "numinlets": 0, + "numoutlets": 1, + "outlettype": [ "bang" ], + "patching_rect": [ 14.0, 11.0, 30.0, 30.0 ] + } + }, + { + "box": { + "comment": "", + "id": "obj-14", + "index": 1, + "maxclass": "outlet", + "numinlets": 1, + "numoutlets": 0, + "patching_rect": [ 14.0, 202.0, 30.0, 30.0 ] + } + } + ], + "lines": [ + { + "patchline": { + "destination": [ "obj-78", 0 ], + "source": [ "obj-13", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-80", 0 ], + "source": [ "obj-76", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-76", 0 ], + "source": [ "obj-78", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-83", 0 ], + "source": [ "obj-80", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-14", 0 ], + "source": [ "obj-83", 0 ] + } + } + ] + }, + "patching_rect": [ 222.5, 201.5, 143.0, 23.0 ], + "text": "p \"cluster random data\"" + } + }, + { + "box": { + "id": "obj-10", + "maxclass": "button", + "numinlets": 1, + "numoutlets": 1, + "outlettype": [ "bang" ], + "parameter_enable": 0, + "patching_rect": [ 50.0, 110.0, 24.0, 24.0 ] + } + }, + { + "box": { + "fontsize": 13.0, + "id": "obj-8", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 3, + "outlettype": [ "bang", "bang", "bang" ], + "patching_rect": [ 50.0, 148.597168, 364.0, 23.0 ], + "text": "t b b b" + } + }, + { + "box": { + "fontsize": 13.0, + "id": "obj-5", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 1, + "outlettype": [ "" ], + "patcher": { + "fileversion": 1, + "appversion": { + "major": 9, + "minor": 1, + "revision": 4, + "architecture": "x64", + "modernui": 1 + }, + "classnamespace": "box", + "rect": [ 35.0, 100.0, 569.0, 464.0 ], + "boxes": [ + { + "box": { + "id": "obj-68", + "maxclass": "message", + "numinlets": 2, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 166.0, 382.40283203125, 85.0, 22.0 ], + "text": "refer plotting.2" + } + }, + { + "box": { + "id": "obj-17", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 2, + "outlettype": [ "", "" ], + "patching_rect": [ 53.0, 348.90283203125, 132.0, 22.0 ], + "text": "fluid.dataset~ plotting.2" + } + }, + { + "box": { + "id": "obj-24", + "maxclass": "newobj", + "numinlets": 3, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 101.0, 221.90283203125, 96.0, 22.0 ], + "text": "sprintf %s %f %f" + } + }, + { + "box": { + "id": "obj-23", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 380.25, 178.90283203125, 164.0, 22.0 ], + "text": "expr random(0\\, 1000) / 1000." + } + }, + { + "box": { + "id": "obj-22", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 210.25, 178.90283203125, 164.0, 22.0 ], + "text": "expr random(0\\, 1000) / 1000." + } + }, + { + "box": { + "id": "obj-21", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 101.0, 178.90283203125, 92.0, 22.0 ], + "text": "sprintf entry-%i:" + } + }, + { + "box": { + "id": "obj-16", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 2, + "outlettype": [ "int", "bang" ], + "patching_rect": [ 101.0, 132.90283203125, 128.25, 22.0 ], + "text": "t i b" + } + }, + { + "box": { + "id": "obj-74", + "maxclass": "newobj", + "numinlets": 2, + "numoutlets": 3, + "outlettype": [ "bang", "bang", "int" ], + "patching_rect": [ 39.0, 94.90283203125, 47.0, 22.0 ], + "text": "uzi 100" + } + }, + { + "box": { + "id": "obj-71", + "maxclass": "newobj", + "numinlets": 3, + "numoutlets": 1, + "outlettype": [ "dictionary" ], + "patching_rect": [ 53.0, 285.90283203125, 121.0, 22.0 ], + "text": "dict.pack data: cols:2" + } + }, + { + "box": { + "id": "obj-70", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 1, + "outlettype": [ "dictionary" ], + "patching_rect": [ 53.0, 251.90283203125, 61.0, 22.0 ], + "text": "dict.group" + } + }, + { + "box": { + "id": "obj-54", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 2, + "outlettype": [ "", "" ], + "patching_rect": [ 138.5, 94.90283203125, 132.0, 22.0 ], + "text": "fluid.dataset~ plotting.2" + } + }, + { + "box": { + "id": "obj-52", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 2, + "outlettype": [ "bang", "clear" ], + "patching_rect": [ 39.0, 58.90283203125, 118.5, 22.0 ], + "text": "t b clear" + } + }, + { + "box": { + "id": "obj-43", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 53.0, 316.90283203125, 81.0, 22.0 ], + "text": "prepend load" + } + }, + { + "box": { + "comment": "", + "id": "obj-2", + "index": 1, + "maxclass": "inlet", + "numinlets": 0, + "numoutlets": 1, + "outlettype": [ "bang" ], + "patching_rect": [ 39.0, 24.000000031249996, 30.0, 30.0 ] + } + }, + { + "box": { + "comment": "", + "id": "obj-4", + "index": 1, + "maxclass": "outlet", + "numinlets": 1, + "numoutlets": 0, + "patching_rect": [ 166.0, 417.80566403125, 30.0, 30.0 ] + } + } + ], + "lines": [ + { + "patchline": { + "destination": [ "obj-21", 0 ], + "source": [ "obj-16", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-22", 0 ], + "order": 1, + "source": [ "obj-16", 1 ] + } + }, + { + "patchline": { + "destination": [ "obj-23", 0 ], + "order": 0, + "source": [ "obj-16", 1 ] + } + }, + { + "patchline": { + "destination": [ "obj-68", 0 ], + "source": [ "obj-17", 1 ] + } + }, + { + "patchline": { + "destination": [ "obj-52", 0 ], + "source": [ "obj-2", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-24", 0 ], + "source": [ "obj-21", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-24", 1 ], + "source": [ "obj-22", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-24", 2 ], + "source": [ "obj-23", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-70", 0 ], + "source": [ "obj-24", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-17", 0 ], + "source": [ "obj-43", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-54", 0 ], + "source": [ "obj-52", 1 ] + } + }, + { + "patchline": { + "destination": [ "obj-74", 0 ], + "source": [ "obj-52", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-4", 0 ], + "source": [ "obj-68", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-71", 0 ], + "source": [ "obj-70", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-43", 0 ], + "source": [ "obj-71", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-16", 0 ], + "source": [ "obj-74", 2 ] + } + }, + { + "patchline": { + "destination": [ "obj-70", 0 ], + "source": [ "obj-74", 1 ] + } + } + ] + }, + "patching_rect": [ 395.0, 201.5, 156.0, 23.0 ], + "text": "p \"generate random data\"" + } + }, + { + "box": { + "fontsize": 13.0, + "id": "obj-6", + "maxclass": "comment", + "numinlets": 1, + "numoutlets": 0, + "patching_rect": [ 10.0, 66.0, 239.0, 21.0 ], + "saved_attribute_attributes": { + "textcolor": { + "expression": "themecolor.theme_textcolor" + } + }, + "text": "An abstraction for plotting fluid.dataset~" + } + }, + { + "box": { + "border": 0, + "filename": "helpdetails.js", + "id": "obj-3", + "ignoreclick": 1, + "jsarguments": [ "fluid.jit.plotter" ], + "maxclass": "jsui", + "numinlets": 1, + "numoutlets": 1, + "outlettype": [ "" ], + "parameter_enable": 0, + "patching_rect": [ 10.0, 10.0, 320.0, 54.0 ] + } + } + ], + "lines": [ + { + "patchline": { + "destination": [ "obj-8", 0 ], + "source": [ "obj-10", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-36", 1 ], + "midpoints": [ 232.0, 272.0, 476.5, 272.0 ], + "source": [ "obj-15", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-37", 0 ], + "source": [ "obj-16", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-22", 0 ], + "source": [ "obj-21", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-27", 0 ], + "source": [ "obj-22", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-57", 0 ], + "midpoints": [ 232.0, 695.0, 232.0, 695.0 ], + "source": [ "obj-27", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-16", 0 ], + "source": [ "obj-31", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-36", 0 ], + "midpoints": [ 564.5, 272.0, 231.5, 272.0 ], + "source": [ "obj-33", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-21", 1 ], + "midpoints": [ 231.5, 560.0, 374.5, 560.0 ], + "order": 0, + "source": [ "obj-36", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-21", 0 ], + "order": 1, + "source": [ "obj-36", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-40", 0 ], + "source": [ "obj-37", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-36", 0 ], + "midpoints": [ 59.5, 350.0, 215.0, 350.0, 215.0, 275.0, 231.5, 275.0 ], + "source": [ "obj-40", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-36", 0 ], + "midpoints": [ 404.5, 272.0, 231.5, 272.0 ], + "source": [ "obj-5", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-16", 0 ], + "midpoints": [ 232.0, 732.0, 45.0, 732.0, 45.0, 232.0, 59.5, 232.0 ], + "source": [ "obj-57", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-15", 0 ], + "source": [ "obj-8", 1 ] + } + }, + { + "patchline": { + "destination": [ "obj-31", 0 ], + "source": [ "obj-8", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-5", 0 ], + "source": [ "obj-8", 2 ] + } + } + ], + "styles": [ + { + "name": "max6box", + "default": { + "accentcolor": [ 0.8, 0.839216, 0.709804, 1.0 ], + "bgcolor": [ 1.0, 1.0, 1.0, 0.5 ], + "textcolor_inverse": [ 0.0, 0.0, 0.0, 1.0 ] + }, + "parentstyle": "", + "multi": 0 + }, + { + "name": "max6inlet", + "default": { + "color": [ 0.423529, 0.372549, 0.27451, 1.0 ] + }, + "parentstyle": "", + "multi": 0 + }, + { + "name": "max6message", + "default": { + "bgfillcolor": { + "angle": 270.0, + "autogradient": 0, + "color": [ 0.290196, 0.309804, 0.301961, 1.0 ], + "color1": [ 0.866667, 0.866667, 0.866667, 1.0 ], + "color2": [ 0.788235, 0.788235, 0.788235, 1.0 ], + "proportion": 0.39, + "type": "gradient" + }, + "textcolor_inverse": [ 0.0, 0.0, 0.0, 1.0 ] + }, + "parentstyle": "max6box", + "multi": 0 + }, + { + "name": "max6outlet", + "default": { + "color": [ 0.0, 0.454902, 0.498039, 1.0 ] + }, + "parentstyle": "", + "multi": 0 + } + ] + }, + "patching_rect": [ 126.0, 24.0, 65.0, 22.0 ], + "text": "p querying" + } + }, + { + "box": { + "id": "obj-5", + "maxclass": "newobj", + "numinlets": 0, + "numoutlets": 0, + "patcher": { + "fileversion": 1, + "appversion": { + "major": 9, + "minor": 1, + "revision": 4, + "architecture": "x64", + "modernui": 1 + }, + "classnamespace": "box", + "rect": [ 0.0, 26.0, 951.0, 792.0 ], + "gridonopen": 2, + "gridsize": [ 10.0, 10.0 ], + "gridsnaponopen": 2, + "showontab": 1, + "boxes": [ + { + "box": { + "id": "obj-14", + "maxclass": "message", + "numinlets": 2, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 90.0, 528.0, 35.0, 22.0 ], + "text": "reset" + } + }, + { + "box": { + "id": "obj-13", + "maxclass": "message", + "numinlets": 2, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 28.0, 528.0, 35.0, 22.0 ], + "text": "clear" + } + }, + { + "box": { + "fontsize": 13.0, + "id": "obj-6", + "linecount": 2, + "maxclass": "comment", + "numinlets": 1, + "numoutlets": 0, + "patching_rect": [ 28.0, 490.0, 100.0, 36.0 ], + "saved_attribute_attributes": { + "textcolor": { + "expression": "themecolor.theme_textcolor" + } + }, + "text": "...just like clear or reset" + } + }, + { + "box": { + "id": "obj-8", + "maxclass": "newobj", + "numinlets": 2, + "numoutlets": 2, + "outlettype": [ "", "" ], + "patching_rect": [ 702.0, 720.0, 69.0, 22.0 ], + "text": "route dump" + } + }, + { + "box": { + "id": "obj-7", + "maxclass": "message", + "numinlets": 2, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 550.0, 660.0, 39.0, 22.0 ], + "text": "dump" + } + }, + { + "box": { + "fontsize": 13.0, + "id": "obj-4", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 2, + "outlettype": [ "", "" ], + "patching_rect": [ 550.0, 690.0, 171.0, 23.0 ], + "text": "fluid.dataset~ help.plotting.1" + } + }, + { + "box": { + "fontsize": 13.0, + "id": "obj-3", + "linecount": 8, + "maxclass": "comment", + "numinlets": 1, + "numoutlets": 0, + "patching_rect": [ 550.0, 530.0, 240.0, 123.0 ], + "saved_attribute_attributes": { + "textcolor": { + "expression": "themecolor.theme_textcolor" + } + }, + "text": "fluid.jit.plotter aims for speed with large datasets (– check the last tab).\nUsing the refer message instead of a dictionary avoids some copying and gives you several times the load speed with large datasets.\nNevertheless, the dictionary input still works, just like with fluid.plotter. " + } + }, + { + "box": { + "fontsize": 13.0, + "id": "obj-43", + "linecount": 3, + "maxclass": "comment", + "numinlets": 1, + "numoutlets": 0, + "patching_rect": [ 550.0, 422.0, 113.0, 50.0 ], + "saved_attribute_attributes": { + "textcolor": { + "expression": "themecolor.theme_textcolor" + } + }, + "text": "refer without arguments resets all colors to black" + } + }, + { + "box": { + "fontsize": 13.0, + "id": "obj-41", + "linecount": 3, + "maxclass": "comment", + "numinlets": 1, + "numoutlets": 0, + "patching_rect": [ 28.0, 422.0, 100.0, 50.0 ], + "saved_attribute_attributes": { + "textcolor": { + "expression": "themecolor.theme_textcolor" + } + }, + "text": "refer without arguments erases the plot" + } + }, + { + "box": { + "id": "obj-24", + "maxclass": "message", + "numinlets": 2, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 130.0, 422.0, 33.0, 22.0 ], + "text": "refer" + } + }, + { + "box": { + "id": "obj-20", + "maxclass": "message", + "numinlets": 2, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 509.0, 422.0, 33.0, 22.0 ], + "text": "refer" + } + }, + { + "box": { + "fontsize": 13.0, + "id": "obj-12", + "linecount": 5, + "maxclass": "comment", + "numinlets": 1, + "numoutlets": 0, + "patching_rect": [ 490.0, 333.5, 240.0, 79.0 ], + "saved_attribute_attributes": { + "textcolor": { + "expression": "themecolor.theme_textcolor" + } + }, + "text": "The right inlet expects the name of a fluid.labelset~ with the refer message.\nEach unique label in the fluid.labelset~ will be randomly assigned to a colour inside the fluid.plotter." + } + }, + { + "box": { + "bgcolor": [ 1.0, 0.788235, 0.470588, 1.0 ], + "fontname": "Arial Bold", + "fontsize": 13.0, + "hint": "", + "id": "obj-42", + "ignoreclick": 1, + "legacytextcolor": 1, + "maxclass": "textbutton", + "numinlets": 1, + "numoutlets": 3, + "outlettype": [ "", "", "int" ], + "parameter_enable": 0, + "patching_rect": [ 352.5, 132.0, 20.0, 20.0 ], + "rounded": 60.0, + "text": "1", + "textcolor": [ 0.34902, 0.34902, 0.34902, 1.0 ] + } + }, + { + "box": { + "bubble": 1, + "id": "obj-37", + "maxclass": "comment", + "numinlets": 1, + "numoutlets": 0, + "patching_rect": [ 200.0, 130.0, 149.0, 24.0 ], + "text": "Select a prefab dataset" + } + }, + { + "box": { + "fontsize": 13.0, + "id": "obj-10", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 2, + "outlettype": [ "", "" ], + "patching_rect": [ 691.0, 170.0, 148.0, 23.0 ], + "text": "fluid.labelset~ clustering" + } + }, + { + "box": { + "id": "obj-9", + "maxclass": "message", + "numinlets": 2, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 177.0, 300.0, 111.0, 22.0 ], + "text": "refer help.plotting.1" + } + }, + { + "box": { + "id": "obj-5", + "maxclass": "newobj", + "numinlets": 2, + "numoutlets": 2, + "outlettype": [ "bang", "" ], + "patching_rect": [ 177.0, 270.0, 51.0, 22.0 ], + "text": "sel read" + } + }, + { + "box": { + "border": 0, + "filename": "helpdetails.js", + "id": "obj-2", + "ignoreclick": 1, + "jsarguments": [ "fluid.jit.plotter" ], + "maxclass": "jsui", + "numinlets": 1, + "numoutlets": 1, + "outlettype": [ "" ], + "parameter_enable": 0, + "patching_rect": [ 10.0, 10.0, 410.0, 110.0 ] + } + }, + { + "box": { + "id": "obj-11", + "maxclass": "message", + "numinlets": 2, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 25.0, 200.0, 49.0, 22.0 ], + "text": "read $1" + } + }, + { + "box": { + "bgmode": 0, + "border": 0, + "clickthrough": 0, + "enablehscroll": 0, + "enablevscroll": 0, + "id": "obj-1", + "lockeddragscroll": 0, + "lockedsize": 0, + "maxclass": "bpatcher", + "name": "fluid.dataloader.maxpat", + "numinlets": 0, + "numoutlets": 1, + "offset": [ 0.0, 0.0 ], + "outlettype": [ "" ], + "patching_rect": [ 25.0, 130.0, 175.0, 63.363631999999996 ], + "viewvisibility": 1 + } + }, + { + "box": { + "bgcolor": [ 1.0, 0.788235, 0.470588, 1.0 ], + "fontname": "Arial Bold", + "fontsize": 13.0, + "hint": "", + "id": "obj-21", + "ignoreclick": 1, + "legacytextcolor": 1, + "maxclass": "textbutton", + "numinlets": 1, + "numoutlets": 3, + "outlettype": [ "", "", "int" ], + "parameter_enable": 0, + "patching_rect": [ 843.0, 132.5, 20.0, 20.0 ], + "rounded": 60.0, + "text": "2", + "textcolor": [ 0.34902, 0.34902, 0.34902, 1.0 ] + } + }, + { + "box": { + "bubble": 1, + "fontsize": 13.0, + "id": "obj-22", + "maxclass": "comment", + "numinlets": 1, + "numoutlets": 0, + "patching_rect": [ 718.0, 129.0, 117.0, 25.0 ], + "text": "Cluster the data" + } + }, + { + "box": { + "fontsize": 13.0, + "id": "obj-83", + "maxclass": "message", + "numinlets": 2, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 480.0, 300.0, 94.0, 23.0 ], + "text": "refer clustering" + } + }, + { + "box": { + "fontsize": 13.0, + "id": "obj-80", + "maxclass": "newobj", + "numinlets": 2, + "numoutlets": 2, + "outlettype": [ "", "" ], + "patching_rect": [ 480.0, 210.0, 91.0, 23.0 ], + "text": "route fitpredict" + } + }, + { + "box": { + "fontsize": 13.0, + "id": "obj-78", + "maxclass": "message", + "numinlets": 2, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 480.0, 130.0, 236.0, 23.0 ], + "text": "clear, fitpredict help.plotting.1 clustering" + } + }, + { + "box": { + "fontsize": 13.0, + "id": "obj-76", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 2, + "outlettype": [ "", "" ], + "patching_rect": [ 480.0, 170.0, 187.0, 23.0 ], + "text": "fluid.kmeans~ @numclusters 4" + } + }, + { + "box": { + "fontsize": 13.0, + "id": "obj-72", + "linecount": 3, + "maxclass": "comment", + "numinlets": 1, + "numoutlets": 0, + "patching_rect": [ 190.0, 333.5, 243.0, 50.0 ], + "saved_attribute_attributes": { + "textcolor": { + "expression": "themecolor.theme_textcolor" + } + }, + "text": "Use the refer message with the name of a fluid.dataset~. The fluid.dataset~ must be only two dimensions." + } + }, + { + "box": { + "bgmode": 0, + "border": 0, + "clickthrough": 0, + "enablehscroll": 0, + "enablevscroll": 0, + "id": "obj-58", + "lockeddragscroll": 0, + "lockedsize": 0, + "maxclass": "bpatcher", + "name": "fluid.jit.plotter.maxpat", + "numinlets": 2, + "numoutlets": 2, + "offset": [ 0.0, 0.0 ], + "outlettype": [ "", "" ], + "patching_rect": [ 177.0, 422.0, 322.0, 322.0 ], + "viewvisibility": 1 + } + }, + { + "box": { + "fontsize": 13.0, + "id": "obj-17", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 2, + "outlettype": [ "", "" ], + "patching_rect": [ 25.0, 230.0, 171.0, 23.0 ], + "text": "fluid.dataset~ help.plotting.1" + } + } + ], + "lines": [ + { + "patchline": { + "destination": [ "obj-11", 0 ], + "source": [ "obj-1", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-17", 0 ], + "source": [ "obj-11", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-58", 0 ], + "midpoints": [ 37.5, 567.0, 170.0, 567.0, 170.0, 411.0, 186.5, 411.0 ], + "source": [ "obj-13", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-58", 0 ], + "midpoints": [ 99.5, 559.0, 170.0, 559.0, 170.0, 411.0, 186.5, 411.0 ], + "source": [ "obj-14", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-5", 0 ], + "source": [ "obj-17", 1 ] + } + }, + { + "patchline": { + "destination": [ "obj-58", 1 ], + "midpoints": [ 518.5, 454.0, 504.0, 454.0, 504.0, 411.0, 489.5, 411.0 ], + "source": [ "obj-20", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-58", 0 ], + "midpoints": [ 139.5, 454.0, 170.0, 454.0, 170.0, 411.0, 186.5, 411.0 ], + "source": [ "obj-24", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-8", 0 ], + "source": [ "obj-4", 1 ] + } + }, + { + "patchline": { + "destination": [ "obj-9", 0 ], + "source": [ "obj-5", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-4", 0 ], + "source": [ "obj-7", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-80", 0 ], + "source": [ "obj-76", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-76", 0 ], + "source": [ "obj-78", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-58", 0 ], + "midpoints": [ 711.5, 752.0, 170.0, 752.0, 170.0, 411.0, 186.5, 411.0 ], + "source": [ "obj-8", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-83", 0 ], + "source": [ "obj-80", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-58", 1 ], + "source": [ "obj-83", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-58", 0 ], + "source": [ "obj-9", 0 ] + } + } + ], + "styles": [ + { + "name": "max6box", + "default": { + "accentcolor": [ 0.8, 0.839216, 0.709804, 1.0 ], + "bgcolor": [ 1.0, 1.0, 1.0, 0.5 ], + "textcolor_inverse": [ 0.0, 0.0, 0.0, 1.0 ] + }, + "parentstyle": "", + "multi": 0 + }, + { + "name": "max6inlet", + "default": { + "color": [ 0.423529, 0.372549, 0.27451, 1.0 ] + }, + "parentstyle": "", + "multi": 0 + }, + { + "name": "max6message", + "default": { + "bgfillcolor": { + "angle": 270.0, + "autogradient": 0, + "color": [ 0.290196, 0.309804, 0.301961, 1.0 ], + "color1": [ 0.866667, 0.866667, 0.866667, 1.0 ], + "color2": [ 0.788235, 0.788235, 0.788235, 1.0 ], + "proportion": 0.39, + "type": "gradient" + }, + "textcolor_inverse": [ 0.0, 0.0, 0.0, 1.0 ] + }, + "parentstyle": "max6box", + "multi": 0 + }, + { + "name": "max6outlet", + "default": { + "color": [ 0.0, 0.454902, 0.498039, 1.0 ] + }, + "parentstyle": "", + "multi": 0 + } + ] + }, + "patching_rect": [ 13.0, 23.0, 47.0, 22.0 ], + "text": "p basic" + } + } + ], + "lines": [], + "parameters": { + "obj-4::obj-20": [ "number", "number", 0 ], + "obj-8::obj-48": [ "number[1]", "number[1]", 0 ], + "obj-8::obj-8": [ "number[2]", "number[2]", 0 ], + "parameterbanks": { + "0": { + "index": 0, + "name": "", + "parameters": [ "-", "-", "-", "-", "-", "-", "-", "-" ], + "buttons": [ "-", "-", "-", "-", "-", "-", "-", "-" ] + } + }, + "inherited_shortname": 1 + }, + "autosave": 0, + "styles": [ + { + "name": "max6box", + "default": { + "accentcolor": [ 0.8, 0.839216, 0.709804, 1.0 ], + "bgcolor": [ 1.0, 1.0, 1.0, 0.5 ], + "textcolor_inverse": [ 0.0, 0.0, 0.0, 1.0 ] + }, + "parentstyle": "", + "multi": 0 + }, + { + "name": "max6inlet", + "default": { + "color": [ 0.423529, 0.372549, 0.27451, 1.0 ] + }, + "parentstyle": "", + "multi": 0 + }, + { + "name": "max6message", + "default": { + "bgfillcolor": { + "angle": 270.0, + "autogradient": 0, + "color": [ 0.290196, 0.309804, 0.301961, 1.0 ], + "color1": [ 0.866667, 0.866667, 0.866667, 1.0 ], + "color2": [ 0.788235, 0.788235, 0.788235, 1.0 ], + "proportion": 0.39, + "type": "gradient" + }, + "textcolor_inverse": [ 0.0, 0.0, 0.0, 1.0 ] + }, + "parentstyle": "max6box", + "multi": 0 + }, + { + "name": "max6outlet", + "default": { + "color": [ 0.0, 0.454902, 0.498039, 1.0 ] + }, + "parentstyle": "", + "multi": 0 + } + ] + } +} \ No newline at end of file diff --git a/local_docs/fluid.jit.plotter.maxref.xml b/local_docs/fluid.jit.plotter.maxref.xml index f03303d6..be7e76b1 100644 --- a/local_docs/fluid.jit.plotter.maxref.xml +++ b/local_docs/fluid.jit.plotter.maxref.xml @@ -19,6 +19,16 @@ under the European Union’s Horizon 2020 research and innovation programme It is a performance-oriented variant of the fluid.plotter object, based on OpenGL, which allows it to be more efficient and to handle larger datasets (potentially with millions of points). To use it, use the refer message (left inlet) with the name of a fluid.dataset~ that contains the 2D coordinates of the points. Similarly, you can use the refer message (right inlet) with the name of a fluid.labelset~ to be used for assigning colors to the points based on pre-defined color palettes. +It is also possible to load datasets with up-to 7 dimensions. In this case, the dimensions will be interpreted in the following ways: +
    +
  • 1D: x (=y)
  • +
  • 2D: x, y
  • +
  • 3D: x, y, size
  • +
  • 4D: x, y, size, LUT x
  • +
  • 5D: x, y, r, g, b (a=1)
  • +
  • 6D: x, y, r, g, b, a
  • +
  • 7D: x, y, size, r, g, b, a
  • +
The interface of fluid.jit.plotter is in parity with that of fluid.plotter, offering a drop-in replacement for the latter. @@ -180,6 +190,45 @@ The interface of fluid.jit.plotter is in parity with that of fluid.plotter, offe + + + + + + Set the color lookup table (LUT) to use when displaying a 4D dataset. + + + Set the color lookup table (LUT) to use when displaying a 4D dataset. + Possible options are C1, C1s, C2, C2s, C3, C3s, C4, C4s, C5, C5s, C6, C6s, C7, C7s, CBC1, CBC2, CBD1, CBL1, CBL2, D01, D01A, D02, D03, D04, D06, D07, D08, D09, D10, D11, D12, D13, I1, I2, I3, L01, L02, L03, L04, L05, L06, L07, L08, L09, L10, L11, L12, L13, L14, L15, L16, L17, L18, L19, L20, R1, R2, R3, R4, HSL. Apart from HSL, these are taken from
Peter Kovesi's research on perceptually uniform color maps. + + + + + + + + + Offset for the color lookup table (LUT) when displaying a 4D dataset. + + + Set the offset for the color lookup table (LUT) when displaying a 4D dataset. This allows to shift the mapping of values to colors in the LUT. + + + + + + + + + Map dataset dimensions to displayed dimensions. + + + Map dataset dimensions to displayed dimensions. This allows to specify which dimensions of the dataset should be interpreted as x, y, size, color, etc. when loading datasets with more than 2 dimensions. + The dimmap message without arguments reverts to the original number/order of dimensions. + It is possible to specify less or more dimensions than those present in the dataset. See list.indexmap to get an intuition about the syntax. + + + diff --git a/misc/CET-colormaps.jxf b/misc/CET-colormaps.jxf new file mode 100644 index 0000000000000000000000000000000000000000..e7d965e7e475f25da50bee1430b00506695723f9 GIT binary patch literal 46132 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

+LWunk!Vm;M3c-#;?j|8OQ;^FU$k`0! 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 " + "id": "obj-33", + "maxclass": "newobj", + "numinlets": 3, + "numoutlets": 3, + "outlettype": [ "bang", "bang", "" ], + "patching_rect": [ 17.0, 308.0, 44.0, 22.0 ], + "text": "sel 1 0" } }, { "box": { - "comment": "", - "id": "obj-1", - "index": 1, - "maxclass": "inlet", - "numinlets": 0, + "id": "obj-32", + "maxclass": "newobj", + "numinlets": 2, "numoutlets": 1, - "outlettype": [ "" ], - "patching_rect": [ 17.0, 16.0, 30.0, 30.0 ] + "outlettype": [ "int" ], + "patching_rect": [ 17.0, 270.0, 33.0, 22.0 ], + "text": "== 1" } }, { "box": { - "id": "obj-52", + "id": "obj-31", "maxclass": "newobj", "numinlets": 2, "numoutlets": 2, - "outlettype": [ "bang", "" ], - "patching_rect": [ 17.0, 252.0, 74.0, 22.0 ], - "text": "sel notfound" + "outlettype": [ "", "" ], + "patching_rect": [ 17.0, 235.0, 73.0, 22.0 ], + "text": "zl 32767 len" } }, { "box": { - "id": "obj-45", + "id": "obj-25", "maxclass": "newobj", - "numinlets": 2, - "numoutlets": 2, - "outlettype": [ "", "" ], - "patching_rect": [ 47.0, 111.0, 61.0, 22.0 ], - "text": "list.slice 1" + "numinlets": 3, + "numoutlets": 1, + "outlettype": [ "list" ], + "patching_rect": [ 17.0, 197.0, 40.0, 22.0 ], + "text": "atoi" } }, { "box": { - "id": "obj-37", + "id": "obj-17", "maxclass": "newobj", - "numinlets": 1, - "numoutlets": 3, - "outlettype": [ "bang", "", "notfound" ], - "patching_rect": [ 17.0, 73.0, 78.0, 22.0 ], - "text": "t b l notfound" + "numinlets": 2, + "numoutlets": 2, + "outlettype": [ "", "" ], + "patching_rect": [ 17.0, 162.0, 89.0, 22.0 ], + "text": "combine label ." } }, { "box": { - "id": "obj-30", + "id": "obj-61", "maxclass": "newobj", "numinlets": 2, "numoutlets": 2, "outlettype": [ "", "" ], - "patching_rect": [ 17.0, 221.0, 78.0, 22.0 ], - "text": "list.reg" + "patching_rect": [ 17.0, 126.0, 81.0, 22.0 ], + "text": "route getlabel" } }, { "box": { - "id": "obj-9", + "id": "obj-60", "maxclass": "newobj", "numinlets": 1, + "numoutlets": 2, + "outlettype": [ "", "" ], + "patching_rect": [ 17.0, 98.0, 134.0, 22.0 ], + "text": "fluid.labelset~ #0_ids" + } + }, + { + "box": { + "id": "obj-58", + "maxclass": "message", + "numinlets": 2, "numoutlets": 1, "outlettype": [ "" ], - "patching_rect": [ 47.0, 150.0, 57.0, 22.0 ], - "text": "tosymbol" + "patching_rect": [ 17.0, 70.0, 67.0, 22.0 ], + "text": "getlabel $1" } }, { "box": { - "id": "obj-5", - "maxclass": "newobj", + "id": "obj-2", + "maxclass": "comment", "numinlets": 1, - "numoutlets": 4, - "outlettype": [ "", "", "", "" ], - "patching_rect": [ 47.0, 183.0, 121.0, 22.0 ], - "saved_object_attributes": { - "embed": 0, - "precision": 6 - }, - "text": "coll #0_ids2samps" + "numoutlets": 0, + "patching_rect": [ 50.0, 21.0, 115.0, 20.0 ], + "text": " " + } + }, + { + "box": { + "comment": "", + "id": "obj-1", + "index": 1, + "maxclass": "inlet", + "numinlets": 0, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 17.0, 16.0, 30.0, 30.0 ] } }, { @@ -2530,7 +4758,7 @@ "maxclass": "outlet", "numinlets": 1, "numoutlets": 0, - "patching_rect": [ 17.0, 314.0, 30.0, 30.0 ] + "patching_rect": [ 17.0, 444.0, 30.0, 30.0 ] } }, { @@ -2541,75 +4769,69 @@ "maxclass": "outlet", "numinlets": 1, "numoutlets": 0, - "patching_rect": [ 72.0, 314.0, 30.0, 30.0 ] + "patching_rect": [ 72.0, 444.0, 30.0, 30.0 ] } } ], "lines": [ { "patchline": { - "destination": [ "obj-37", 0 ], + "destination": [ "obj-58", 0 ], "source": [ "obj-1", 0 ] } }, { "patchline": { - "destination": [ "obj-63", 0 ], - "source": [ "obj-3", 0 ] - } - }, - { - "patchline": { - "destination": [ "obj-52", 0 ], - "source": [ "obj-30", 0 ] + "destination": [ "obj-25", 0 ], + "source": [ "obj-17", 0 ] } }, { "patchline": { - "destination": [ "obj-30", 1 ], - "source": [ "obj-37", 2 ] + "destination": [ "obj-31", 0 ], + "source": [ "obj-25", 0 ] } }, { "patchline": { - "destination": [ "obj-30", 0 ], - "source": [ "obj-37", 0 ] + "destination": [ "obj-32", 0 ], + "source": [ "obj-31", 0 ] } }, { "patchline": { - "destination": [ "obj-45", 0 ], - "source": [ "obj-37", 1 ] + "destination": [ "obj-33", 0 ], + "source": [ "obj-32", 0 ] } }, { "patchline": { - "destination": [ "obj-9", 0 ], - "source": [ "obj-45", 0 ] + "destination": [ "obj-62", 0 ], + "source": [ "obj-33", 0 ] } }, { "patchline": { - "destination": [ "obj-30", 1 ], - "source": [ "obj-5", 0 ] + "destination": [ "obj-63", 0 ], + "source": [ "obj-33", 1 ] } }, { "patchline": { - "destination": [ "obj-3", 0 ], - "source": [ "obj-52", 1 ] + "destination": [ "obj-60", 0 ], + "source": [ "obj-58", 0 ] } }, { "patchline": { - "destination": [ "obj-62", 0 ], - "source": [ "obj-52", 0 ] + "destination": [ "obj-61", 0 ], + "source": [ "obj-60", 0 ] } }, { "patchline": { - "destination": [ "obj-5", 0 ], - "source": [ "obj-9", 0 ] + "destination": [ "obj-17", 0 ], + "source": [ "obj-61", 0 ] } } ] @@ -2665,7 +4887,7 @@ "maxclass": "newobj", "numinlets": 1, "numoutlets": 0, - "patching_rect": [ 25.0, 830.0, 114.0, 22.0 ], + "patching_rect": [ 25.0, 830.0, 119.0, 22.0 ], "text": "s #0_to_jit_buffer" } }, @@ -2676,7 +4898,7 @@ "numinlets": 2, "numoutlets": 1, "outlettype": [ "" ], - "patching_rect": [ 25.0, 802.0, 229.0, 22.0 ], + "patching_rect": [ 25.0, 802.0, 234.0, 22.0 ], "text": "set #0_points_2d, outputlast $1, output" } }, @@ -2697,8 +4919,8 @@ "maxclass": "comment", "numinlets": 1, "numoutlets": 0, - "patching_rect": [ 209.0, 720.0, 113.0, 20.0 ], - "text": "map label to buf idx" + "patching_rect": [ 226.0, 719.0, 171.0, 20.0 ], + "text": "map buffer frame to dataset ID" } }, { @@ -2708,8 +4930,8 @@ "numinlets": 2, "numoutlets": 1, "outlettype": [ "" ], - "patching_rect": [ 84.0, 693.0, 69.0, 22.0 ], - "text": "store $1 $2" + "patching_rect": [ 84.0, 693.0, 83.0, 22.0 ], + "text": "setlabel $2 $1" } }, { @@ -2717,14 +4939,10 @@ "id": "obj-90", "maxclass": "newobj", "numinlets": 1, - "numoutlets": 4, - "outlettype": [ "", "", "", "" ], - "patching_rect": [ 84.0, 718.0, 121.0, 22.0 ], - "saved_object_attributes": { - "embed": 0, - "precision": 6 - }, - "text": "coll #0_ids2samps" + "numoutlets": 2, + "outlettype": [ "", "" ], + "patching_rect": [ 84.0, 718.0, 161.0, 22.0 ], + "text": "fluid.labelset~ #0_frames" } }, { @@ -2744,8 +4962,8 @@ "maxclass": "comment", "numinlets": 1, "numoutlets": 0, - "patching_rect": [ 284.0, 666.0, 113.0, 20.0 ], - "text": "map buf idx to label" + "patching_rect": [ 284.0, 666.0, 171.0, 20.0 ], + "text": "map dataset ID to buffer frame" } }, { @@ -2756,7 +4974,7 @@ "numoutlets": 1, "outlettype": [ "" ], "patching_rect": [ 143.0, 634.0, 83.0, 22.0 ], - "text": "setlabel $2 $1" + "text": "setlabel $1 $2" } }, { @@ -2862,7 +5080,7 @@ "numinlets": 1, "numoutlets": 2, "outlettype": [ "", "" ], - "patching_rect": [ 143.0, 665.0, 134.0, 22.0 ], + "patching_rect": [ 143.0, 665.0, 140.0, 22.0 ], "text": "fluid.labelset~ #0_ids" } }, @@ -2888,7 +5106,7 @@ "appversion": { "major": 9, "minor": 1, - "revision": 1, + "revision": 4, "architecture": "x64", "modernui": 1 }, @@ -3066,7 +5284,7 @@ "appversion": { "major": 9, "minor": 1, - "revision": 1, + "revision": 4, "architecture": "x64", "modernui": 1 }, @@ -3352,7 +5570,7 @@ "numinlets": 2, "numoutlets": 1, "outlettype": [ "" ], - "patching_rect": [ 616.0, 279.0, 153.0, 22.0 ], + "patching_rect": [ 616.0, 279.0, 158.0, 22.0 ], "text": "setpoint $1 #0_set_point" } }, @@ -3364,7 +5582,7 @@ "numinlets": 1, "numoutlets": 1, "outlettype": [ "buffer" ], - "patching_rect": [ 658.0, 206.0, 91.0, 62.0 ], + "patching_rect": [ 658.0, 206.0, 97.0, 62.0 ], "text": "fluid.list2buf @autosize 0 @destination #0_set_point" } }, @@ -3386,7 +5604,7 @@ "numinlets": 1, "numoutlets": 2, "outlettype": [ "", "" ], - "patching_rect": [ 616.0, 308.0, 156.0, 22.0 ], + "patching_rect": [ 616.0, 308.0, 162.0, 22.0 ], "text": "fluid.dataset~ #0_internal" } }, @@ -3407,7 +5625,7 @@ "maxclass": "newobj", "numinlets": 1, "numoutlets": 0, - "patching_rect": [ 890.0, 239.0, 114.0, 22.0 ], + "patching_rect": [ 890.0, 239.0, 119.0, 22.0 ], "text": "s #0_to_jit_buffer" } }, @@ -3427,41 +5645,20 @@ "id": "obj-34", "maxclass": "newobj", "numinlets": 1, - "numoutlets": 3, - "outlettype": [ "", "", "" ], - "patching_rect": [ 341.0, 112.0, 569.0, 22.0 ], - "text": "t l l l" - } - }, - { - "box": { - "id": "obj-33", - "linecount": 3, - "maxclass": "comment", - "numinlets": 1, - "numoutlets": 0, - "patching_rect": [ 1267.0, 502.0, 202.0, 47.0 ], - "text": "this will populate the coll ids2samps with the first sample (loaded from the ids labelset)" - } - }, - { - "box": { - "id": "obj-65", - "maxclass": "newobj", - "numinlets": 1, - "numoutlets": 0, - "patching_rect": [ 1114.0, 502.0, 150.0, 22.0 ], - "text": "s #0_request_ids_dump" + "numoutlets": 3, + "outlettype": [ "", "", "" ], + "patching_rect": [ 341.0, 112.0, 569.0, 22.0 ], + "text": "t l l l" } }, { "box": { "id": "obj-32", - "linecount": 4, + "linecount": 3, "maxclass": "comment", "numinlets": 1, "numoutlets": 0, - "patching_rect": [ 1273.0, 367.0, 202.0, 60.0 ], + "patching_rect": [ 1198.0, 337.0, 250.0, 47.0 ], "text": "set reference to this internal dataset; this will:\n- reset everything\n- trigger jit.buffer to mesh" } }, @@ -3472,21 +5669,10 @@ "numinlets": 2, "numoutlets": 1, "outlettype": [ "" ], - "patching_rect": [ 1189.0, 367.0, 81.0, 22.0 ], + "patching_rect": [ 1114.0, 337.0, 87.0, 22.0 ], "text": "#0_internal" } }, - { - "box": { - "id": "obj-29", - "maxclass": "newobj", - "numinlets": 1, - "numoutlets": 2, - "outlettype": [ "bang", "bang" ], - "patching_rect": [ 1114.0, 333.0, 94.0, 22.0 ], - "text": "b 2" - } - }, { "box": { "id": "obj-25", @@ -3525,7 +5711,7 @@ "numinlets": 2, "numoutlets": 1, "outlettype": [ "" ], - "patching_rect": [ 1154.0, 244.0, 185.0, 22.0 ], + "patching_rect": [ 1154.0, 244.0, 190.0, 22.0 ], "text": "clear, setpoint $1 #0_set_point" } }, @@ -3536,7 +5722,7 @@ "numinlets": 1, "numoutlets": 2, "outlettype": [ "float", "bang" ], - "patching_rect": [ 1305.0, 206.0, 192.0, 22.0 ], + "patching_rect": [ 1305.0, 206.0, 198.0, 22.0 ], "text": "buffer~ #0_set_point @samps 2" } }, @@ -3547,7 +5733,7 @@ "numinlets": 1, "numoutlets": 1, "outlettype": [ "buffer" ], - "patching_rect": [ 1196.0, 177.0, 301.0, 22.0 ], + "patching_rect": [ 1196.0, 177.0, 307.0, 22.0 ], "text": "fluid.list2buf @autosize 0 @destination #0_set_point" } }, @@ -3587,14 +5773,10 @@ "id": "obj-64", "maxclass": "newobj", "numinlets": 1, - "numoutlets": 4, - "outlettype": [ "", "", "", "" ], - "patching_rect": [ 1376.0, 798.0, 121.0, 22.0 ], - "saved_object_attributes": { - "embed": 0, - "precision": 6 - }, - "text": "coll #0_ids2samps" + "numoutlets": 2, + "outlettype": [ "", "" ], + "patching_rect": [ 1376.0, 798.0, 161.0, 22.0 ], + "text": "fluid.labelset~ #0_frames" } }, { @@ -3604,7 +5786,7 @@ "numinlets": 1, "numoutlets": 2, "outlettype": [ "", "" ], - "patching_rect": [ 1232.0, 798.0, 134.0, 22.0 ], + "patching_rect": [ 1232.0, 798.0, 140.0, 22.0 ], "text": "fluid.labelset~ #0_ids" } }, @@ -3615,7 +5797,7 @@ "numinlets": 1, "numoutlets": 2, "outlettype": [ "float", "bang" ], - "patching_rect": [ 1087.0, 798.0, 135.0, 22.0 ], + "patching_rect": [ 1087.0, 798.0, 141.0, 22.0 ], "text": "buffer~ #0_points_2d" } }, @@ -3637,7 +5819,7 @@ "numinlets": 1, "numoutlets": 2, "outlettype": [ "", "" ], - "patching_rect": [ 926.0, 798.0, 156.0, 22.0 ], + "patching_rect": [ 926.0, 798.0, 162.0, 22.0 ], "text": "fluid.dataset~ #0_internal" } }, @@ -3670,7 +5852,7 @@ "numinlets": 1, "numoutlets": 2, "outlettype": [ "", "" ], - "patching_rect": [ 1154.0, 273.0, 156.0, 22.0 ], + "patching_rect": [ 1154.0, 273.0, 162.0, 22.0 ], "text": "fluid.dataset~ #0_internal" } }, @@ -3680,7 +5862,7 @@ "maxclass": "comment", "numinlets": 1, "numoutlets": 0, - "patching_rect": [ 1224.0, 449.0, 106.0, 20.0 ], + "patching_rect": [ 1149.0, 419.0, 106.0, 20.0 ], "text": "to [p handle_refer]" } }, @@ -3714,7 +5896,7 @@ "maxclass": "outlet", "numinlets": 1, "numoutlets": 0, - "patching_rect": [ 1189.0, 444.0, 30.0, 30.0 ] + "patching_rect": [ 1114.0, 414.0, 30.0, 30.0 ] } } ], @@ -3795,22 +5977,10 @@ "source": [ "obj-23", 1 ] } }, - { - "patchline": { - "destination": [ "obj-29", 0 ], - "source": [ "obj-23", 0 ] - } - }, { "patchline": { "destination": [ "obj-31", 0 ], - "source": [ "obj-29", 1 ] - } - }, - { - "patchline": { - "destination": [ "obj-65", 0 ], - "source": [ "obj-29", 0 ] + "source": [ "obj-23", 0 ] } }, { @@ -4052,7 +6222,7 @@ "numinlets": 1, "numoutlets": 2, "outlettype": [ "", "" ], - "patching_rect": [ 1943.0, 858.0, 156.0, 22.0 ], + "patching_rect": [ 1943.0, 858.0, 163.0, 22.0 ], "text": "fluid.dataset~ #0_internal" } }, @@ -4089,13 +6259,275 @@ "appversion": { "major": 9, "minor": 1, - "revision": 1, + "revision": 4, "architecture": "x64", "modernui": 1 }, "classnamespace": "box", - "rect": [ 534.0, 213.0, 481.0, 711.0 ], + "rect": [ 83.0, 184.0, 1377.0, 683.0 ], "boxes": [ + { + "box": { + "id": "obj-29", + "maxclass": "message", + "numinlets": 2, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 1194.25, 187.0, 87.0, 22.0 ], + "text": "setall 0 0 0 0.8" + } + }, + { + "box": { + "id": "obj-30", + "maxclass": "message", + "numinlets": 2, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 1036.25, 188.0, 47.0, 22.0 ], + "text": "setall 1" + } + }, + { + "box": { + "id": "obj-53", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 2, + "outlettype": [ "jit_matrix", "" ], + "patching_rect": [ 1194.25, 218.0, 161.0, 22.0 ], + "text": "jit.matrix #0_point_colors" + } + }, + { + "box": { + "id": "obj-52", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 2, + "outlettype": [ "jit_matrix", "" ], + "patching_rect": [ 1036.25, 218.0, 150.0, 22.0 ], + "text": "jit.matrix #0_pointsizes" + } + }, + { + "box": { + "id": "obj-28", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 0, + "patching_rect": [ 870.25, 260.0, 133.0, 22.0 ], + "text": "s #0_reset_dimmap" + } + }, + { + "box": { + "id": "obj-27", + "maxclass": "newobj", + "numinlets": 2, + "numoutlets": 2, + "outlettype": [ "", "" ], + "patching_rect": [ 870.25, 188.0, 66.0, 22.0 ], + "text": "route bang" + } + }, + { + "box": { + "id": "obj-19", + "maxclass": "comment", + "numinlets": 1, + "numoutlets": 0, + "patching_rect": [ 816.0, 103.0, 54.0, 20.0 ], + "text": "dimmap" + } + }, + { + "box": { + "id": "obj-20", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 0, + "patching_rect": [ 800.25, 330.0, 165.0, 22.0 ], + "text": "s #0_update_point_colors" + } + }, + { + "box": { + "id": "obj-22", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 0, + "patching_rect": [ 820.25, 300.0, 158.0, 22.0 ], + "text": "s #0_redraw_highlighted" + } + }, + { + "box": { + "id": "obj-23", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 3, + "outlettype": [ "bang", "", "bang" ], + "patching_rect": [ 800.0, 139.0, 413.0, 22.0 ], + "text": "t b l b" + } + }, + { + "box": { + "id": "obj-24", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 0, + "patching_rect": [ 917.25, 224.0, 100.0, 22.0 ], + "text": "s #0_dimmap" + } + }, + { + "box": { + "id": "obj-17", + "maxclass": "comment", + "numinlets": 1, + "numoutlets": 0, + "patching_rect": [ 580.0, 103.0, 54.0, 20.0 ], + "text": "lut offset" + } + }, + { + "box": { + "id": "obj-14", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 0, + "patching_rect": [ 546.3333333333333, 192.0, 165.0, 22.0 ], + "text": "s #0_update_point_colors" + } + }, + { + "box": { + "id": "obj-15", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 0, + "patching_rect": [ 566.3333333333333, 162.0, 158.0, 22.0 ], + "text": "s #0_redraw_highlighted" + } + }, + { + "box": { + "id": "obj-16", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 2, + "outlettype": [ "bang", "float" ], + "patching_rect": [ 546.3333333333333, 102.0, 29.5, 22.0 ], + "text": "t b f" + } + }, + { + "box": { + "id": "obj-11", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 0, + "patching_rect": [ 626.3333333333333, 132.0, 99.0, 22.0 ], + "text": "s #0_lutoffset" + } + }, + { + "box": { + "id": "obj-10", + "maxclass": "comment", + "numinlets": 1, + "numoutlets": 0, + "patching_rect": [ 347.66666666666663, 103.0, 55.0, 20.0 ], + "text": "lut name" + } + }, + { + "box": { + "id": "obj-8", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 0, + "patching_rect": [ 292.66666666666663, 192.0, 165.0, 22.0 ], + "text": "s #0_update_point_colors" + } + }, + { + "box": { + "id": "obj-9", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 0, + "patching_rect": [ 312.66666666666663, 162.0, 158.0, 22.0 ], + "text": "s #0_redraw_highlighted" + } + }, + { + "box": { + "id": "obj-7", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 2, + "outlettype": [ "bang", "" ], + "patching_rect": [ 292.66666666666663, 102.0, 51.0, 22.0 ], + "text": "t b l" + } + }, + { + "box": { + "id": "obj-84", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 0, + "patching_rect": [ 324.66666666666663, 134.0, 126.0, 22.0 ], + "text": "s #0_cet-colormap" + } + }, + { + "box": { + "id": "obj-1", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 159.0, 385.0, 71.0, 22.0 ], + "text": "fromsymbol" + } + }, + { + "box": { + "id": "obj-61", + "maxclass": "newobj", + "numinlets": 2, + "numoutlets": 2, + "outlettype": [ "", "" ], + "patching_rect": [ 159.0, 353.0, 81.0, 22.0 ], + "text": "route getlabel" + } + }, + { + "box": { + "id": "obj-60", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 2, + "outlettype": [ "", "" ], + "patching_rect": [ 159.0, 325.0, 140.0, 22.0 ], + "text": "fluid.labelset~ #0_ids" + } + }, + { + "box": { + "id": "obj-58", + "maxclass": "message", + "numinlets": 2, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 159.0, 297.0, 67.0, 22.0 ], + "text": "getlabel $1" + } + }, { "box": { "id": "obj-6", @@ -4108,7 +6540,7 @@ "appversion": { "major": 9, "minor": 1, - "revision": 1, + "revision": 4, "architecture": "x64", "modernui": 1 }, @@ -4316,7 +6748,7 @@ } ] }, - "patching_rect": [ 301.0, 436.5, 169.0, 22.0 ], + "patching_rect": [ 301.0, 258.0, 169.0, 22.0 ], "text": "p fill_alpha_1_if_not_specified" } }, @@ -4327,7 +6759,7 @@ "numinlets": 1, "numoutlets": 1, "outlettype": [ "" ], - "patching_rect": [ 159.0, 436.5, 57.0, 22.0 ], + "patching_rect": [ 159.0, 258.0, 57.0, 22.0 ], "text": "tosymbol" } }, @@ -4338,31 +6770,10 @@ "numinlets": 2, "numoutlets": 1, "outlettype": [ "" ], - "patching_rect": [ 159.0, 532.0, 145.0, 22.0 ], + "patching_rect": [ 159.0, 448.0, 145.0, 22.0 ], "text": "setcell $1 val $2 $3 $4 $5" } }, - { - "box": { - "id": "obj-65", - "maxclass": "newobj", - "numinlets": 1, - "numoutlets": 0, - "patching_rect": [ 222.0, 346.0, 150.0, 22.0 ], - "text": "s #0_request_ids_dump" - } - }, - { - "box": { - "id": "obj-1", - "maxclass": "newobj", - "numinlets": 1, - "numoutlets": 2, - "outlettype": [ "", "bang" ], - "patching_rect": [ 182.0, 317.0, 59.0, 22.0 ], - "text": "t l b" - } - }, { "box": { "id": "obj-40", @@ -4375,7 +6786,7 @@ "appversion": { "major": 9, "minor": 1, - "revision": 1, + "revision": 4, "architecture": "x64", "modernui": 1 }, @@ -4477,7 +6888,7 @@ } ] }, - "patching_rect": [ 39.0, 580.0, 79.0, 22.0 ], + "patching_rect": [ 39.0, 478.0, 79.0, 22.0 ], "text": "p bangthresh" } }, @@ -4487,7 +6898,7 @@ "maxclass": "newobj", "numinlets": 1, "numoutlets": 0, - "patching_rect": [ 39.0, 647.0, 159.0, 22.0 ], + "patching_rect": [ 39.0, 545.0, 165.0, 22.0 ], "text": "s #0_update_point_colors" } }, @@ -4497,7 +6908,7 @@ "maxclass": "newobj", "numinlets": 1, "numoutlets": 0, - "patching_rect": [ 59.0, 617.0, 153.0, 22.0 ], + "patching_rect": [ 59.0, 515.0, 158.0, 22.0 ], "text": "s #0_redraw_highlighted" } }, @@ -4508,7 +6919,7 @@ "numinlets": 1, "numoutlets": 2, "outlettype": [ "bang", "" ], - "patching_rect": [ 39.0, 117.0, 162.0, 22.0 ], + "patching_rect": [ 39.0, 132.0, 139.0, 22.0 ], "text": "t b l" } }, @@ -4519,7 +6930,7 @@ "numinlets": 1, "numoutlets": 2, "outlettype": [ "jit_matrix", "" ], - "patching_rect": [ 159.0, 563.0, 155.0, 22.0 ], + "patching_rect": [ 159.0, 479.0, 160.0, 22.0 ], "text": "jit.matrix #0_point_colors" } }, @@ -4530,7 +6941,7 @@ "numinlets": 2, "numoutlets": 1, "outlettype": [ "" ], - "patching_rect": [ 159.0, 502.0, 161.0, 22.0 ], + "patching_rect": [ 159.0, 418.0, 161.0, 22.0 ], "text": "join" } }, @@ -4541,84 +6952,10 @@ "numinlets": 2, "numoutlets": 2, "outlettype": [ "", "" ], - "patching_rect": [ 159.0, 404.0, 161.0, 22.0 ], + "patching_rect": [ 159.0, 226.0, 161.0, 22.0 ], "text": "list.slice 1" } }, - { - "box": { - "id": "obj-11", - "maxclass": "newobj", - "numinlets": 1, - "numoutlets": 4, - "outlettype": [ "", "", "", "" ], - "patching_rect": [ 159.0, 469.0, 121.0, 22.0 ], - "saved_object_attributes": { - "embed": 0, - "precision": 6 - }, - "text": "coll #0_ids2samps" - } - }, - { - "box": { - "id": "obj-58", - "maxclass": "newobj", - "numinlets": 2, - "numoutlets": 1, - "outlettype": [ "int" ], - "patching_rect": [ 159.0, 253.0, 29.5, 22.0 ], - "text": "+ 1" - } - }, - { - "box": { - "id": "obj-57", - "maxclass": "newobj", - "numinlets": 2, - "numoutlets": 2, - "outlettype": [ "", "" ], - "patching_rect": [ 159.0, 283.0, 42.0, 22.0 ], - "text": "gate 2" - } - }, - { - "box": { - "id": "obj-56", - "maxclass": "newobj", - "numinlets": 2, - "numoutlets": 1, - "outlettype": [ "int" ], - "patching_rect": [ 217.0, 210.0, 33.0, 22.0 ], - "text": "== 0" - } - }, - { - "box": { - "id": "obj-55", - "maxclass": "newobj", - "numinlets": 1, - "numoutlets": 4, - "outlettype": [ "", "", "", "" ], - "patching_rect": [ 217.0, 178.0, 121.0, 22.0 ], - "saved_object_attributes": { - "embed": 0, - "precision": 6 - }, - "text": "coll #0_ids2samps" - } - }, - { - "box": { - "id": "obj-48", - "maxclass": "newobj", - "numinlets": 1, - "numoutlets": 2, - "outlettype": [ "", "length" ], - "patching_rect": [ 182.0, 149.0, 54.0, 22.0 ], - "text": "t l length" - } - }, { "box": { "id": "obj-3", @@ -4626,7 +6963,7 @@ "maxclass": "comment", "numinlets": 1, "numoutlets": 0, - "patching_rect": [ 382.0, 121.0, 77.0, 33.0 ], + "patching_rect": [ 1086.0, 98.0, 77.0, 33.0 ], "text": "other messages" } }, @@ -4638,7 +6975,7 @@ "maxclass": "outlet", "numinlets": 1, "numoutlets": 0, - "patching_rect": [ 350.0, 121.0, 30.0, 30.0 ] + "patching_rect": [ 1054.0, 98.0, 30.0, 30.0 ] } }, { @@ -4647,7 +6984,7 @@ "maxclass": "comment", "numinlets": 1, "numoutlets": 0, - "patching_rect": [ 52.0, 44.0, 61.0, 20.0 ], + "patching_rect": [ 52.0, 97.0, 61.0, 20.0 ], "text": "pointcolor" } }, @@ -4655,11 +6992,11 @@ "box": { "id": "obj-154", "maxclass": "newobj", - "numinlets": 2, - "numoutlets": 2, - "outlettype": [ "", "" ], - "patching_rect": [ 39.0, 87.0, 330.0, 22.0 ], - "text": "route pointcolor" + "numinlets": 5, + "numoutlets": 5, + "outlettype": [ "", "", "", "", "" ], + "patching_rect": [ 39.0, 71.0, 1034.0, 22.0 ], + "text": "route pointcolor lut lutoffset dimmap" } }, { @@ -4676,22 +7013,10 @@ } ], "lines": [ - { - "patchline": { - "destination": [ "obj-12", 0 ], - "source": [ "obj-1", 0 ] - } - }, - { - "patchline": { - "destination": [ "obj-65", 0 ], - "source": [ "obj-1", 1 ] - } - }, { "patchline": { "destination": [ "obj-13", 0 ], - "source": [ "obj-11", 0 ] + "source": [ "obj-1", 0 ] } }, { @@ -4712,24 +7037,68 @@ "source": [ "obj-13", 0 ] } }, + { + "patchline": { + "destination": [ "obj-16", 0 ], + "source": [ "obj-154", 2 ] + } + }, { "patchline": { "destination": [ "obj-21", 0 ], "source": [ "obj-154", 0 ] } }, + { + "patchline": { + "destination": [ "obj-23", 0 ], + "source": [ "obj-154", 3 ] + } + }, { "patchline": { "destination": [ "obj-241", 0 ], + "source": [ "obj-154", 4 ] + } + }, + { + "patchline": { + "destination": [ "obj-7", 0 ], "source": [ "obj-154", 1 ] } }, + { + "patchline": { + "destination": [ "obj-11", 0 ], + "source": [ "obj-16", 1 ] + } + }, + { + "patchline": { + "destination": [ "obj-14", 0 ], + "order": 1, + "source": [ "obj-16", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-15", 0 ], + "order": 0, + "source": [ "obj-16", 0 ] + } + }, { "patchline": { "destination": [ "obj-25", 0 ], "source": [ "obj-18", 0 ] } }, + { + "patchline": { + "destination": [ "obj-12", 0 ], + "source": [ "obj-21", 1 ] + } + }, { "patchline": { "destination": [ "obj-40", 0 ], @@ -4738,75 +7107,91 @@ }, { "patchline": { - "destination": [ "obj-48", 0 ], - "source": [ "obj-21", 1 ] + "destination": [ "obj-20", 0 ], + "order": 1, + "source": [ "obj-23", 0 ] } }, { "patchline": { - "destination": [ "obj-154", 0 ], - "source": [ "obj-243", 0 ] + "destination": [ "obj-22", 0 ], + "order": 0, + "source": [ "obj-23", 0 ] } }, { "patchline": { - "destination": [ "obj-167", 0 ], + "destination": [ "obj-27", 0 ], + "source": [ "obj-23", 1 ] + } + }, + { + "patchline": { + "destination": [ "obj-29", 0 ], "order": 0, - "source": [ "obj-40", 0 ] + "source": [ "obj-23", 2 ] } }, { "patchline": { - "destination": [ "obj-4", 0 ], + "destination": [ "obj-30", 0 ], "order": 1, - "source": [ "obj-40", 0 ] + "source": [ "obj-23", 2 ] } }, { "patchline": { - "destination": [ "obj-55", 0 ], - "source": [ "obj-48", 1 ] + "destination": [ "obj-154", 0 ], + "source": [ "obj-243", 0 ] } }, { "patchline": { - "destination": [ "obj-57", 1 ], - "source": [ "obj-48", 0 ] + "destination": [ "obj-24", 0 ], + "source": [ "obj-27", 1 ] } }, { "patchline": { - "destination": [ "obj-11", 0 ], - "source": [ "obj-5", 0 ] + "destination": [ "obj-28", 0 ], + "source": [ "obj-27", 0 ] } }, { "patchline": { - "destination": [ "obj-56", 0 ], - "source": [ "obj-55", 0 ] + "destination": [ "obj-53", 0 ], + "source": [ "obj-29", 0 ] } }, { "patchline": { - "destination": [ "obj-58", 0 ], - "source": [ "obj-56", 0 ] + "destination": [ "obj-52", 0 ], + "source": [ "obj-30", 0 ] } }, { "patchline": { - "destination": [ "obj-1", 0 ], - "source": [ "obj-57", 1 ] + "destination": [ "obj-167", 0 ], + "order": 0, + "source": [ "obj-40", 0 ] } }, { "patchline": { - "destination": [ "obj-12", 0 ], - "source": [ "obj-57", 0 ] + "destination": [ "obj-4", 0 ], + "order": 1, + "source": [ "obj-40", 0 ] } }, { "patchline": { - "destination": [ "obj-57", 0 ], + "destination": [ "obj-58", 0 ], + "source": [ "obj-5", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-60", 0 ], "source": [ "obj-58", 0 ] } }, @@ -4815,21 +7200,43 @@ "destination": [ "obj-13", 1 ], "source": [ "obj-6", 0 ] } + }, + { + "patchline": { + "destination": [ "obj-61", 0 ], + "source": [ "obj-60", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-1", 0 ], + "source": [ "obj-61", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-8", 0 ], + "order": 1, + "source": [ "obj-7", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-84", 0 ], + "source": [ "obj-7", 1 ] + } + }, + { + "patchline": { + "destination": [ "obj-9", 0 ], + "order": 0, + "source": [ "obj-7", 0 ] + } } ] }, - "patching_rect": [ 1258.0, 384.5, 113.0, 22.0 ], - "text": "p handle_pointcolor" - } - }, - { - "box": { - "id": "obj-65", - "maxclass": "newobj", - "numinlets": 1, - "numoutlets": 0, - "patching_rect": [ 1731.0, 580.5, 150.0, 22.0 ], - "text": "s #0_request_ids_dump" + "patching_rect": [ 1258.0, 384.5, 133.0, 22.0 ], + "text": "p handle_pointcolor_lut" } }, { @@ -4854,7 +7261,7 @@ "appversion": { "major": 9, "minor": 1, - "revision": 1, + "revision": 4, "architecture": "x64", "modernui": 1 }, @@ -5025,32 +7432,22 @@ "appversion": { "major": 9, "minor": 1, - "revision": 1, + "revision": 4, "architecture": "x64", "modernui": 1 }, "classnamespace": "box", - "rect": [ 134.0, 172.0, 284.0, 296.0 ], - "boxes": [ - { - "box": { - "id": "obj-65", - "maxclass": "newobj", - "numinlets": 1, - "numoutlets": 0, - "patching_rect": [ 21.0, 253.0, 150.0, 22.0 ], - "text": "s #0_request_ids_dump" - } - }, + "rect": [ 134.0, 172.0, 284.0, 267.0 ], + "boxes": [ { "box": { "id": "obj-2", "maxclass": "newobj", "numinlets": 1, - "numoutlets": 2, - "outlettype": [ "bang", "" ], - "patching_rect": [ 21.0, 172.0, 98.0, 22.0 ], - "text": "t b #0_internal" + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 21.0, 172.0, 75.0, 22.0 ], + "text": "t #0_internal" } }, { @@ -5104,7 +7501,7 @@ "maxclass": "comment", "numinlets": 1, "numoutlets": 0, - "patching_rect": [ 132.0, 206.0, 112.0, 33.0 ], + "patching_rect": [ 53.0, 206.0, 112.0, 33.0 ], "text": "dataset name sent to [p handle_refer]" } }, @@ -5138,7 +7535,7 @@ "maxclass": "outlet", "numinlets": 1, "numoutlets": 0, - "patching_rect": [ 100.0, 206.0, 30.0, 30.0 ] + "patching_rect": [ 21.0, 206.0, 30.0, 30.0 ] } } ], @@ -5146,12 +7543,6 @@ { "patchline": { "destination": [ "obj-210", 0 ], - "source": [ "obj-2", 1 ] - } - }, - { - "patchline": { - "destination": [ "obj-65", 0 ], "source": [ "obj-2", 0 ] } }, @@ -5202,7 +7593,7 @@ "maxclass": "newobj", "numinlets": 1, "numoutlets": 0, - "patching_rect": [ 1642.0, 646.5, 159.0, 22.0 ], + "patching_rect": [ 1642.0, 619.0, 166.0, 22.0 ], "text": "s #0_update_point_colors" } }, @@ -5260,7 +7651,7 @@ "appversion": { "major": 9, "minor": 1, - "revision": 1, + "revision": 4, "architecture": "x64", "modernui": 1 }, @@ -5428,7 +7819,7 @@ "appversion": { "major": 9, "minor": 1, - "revision": 1, + "revision": 4, "architecture": "x64", "modernui": 1 }, @@ -6555,7 +8946,7 @@ "appversion": { "major": 9, "minor": 1, - "revision": 1, + "revision": 4, "architecture": "x64", "modernui": 1 }, @@ -6906,7 +9297,7 @@ "appversion": { "major": 9, "minor": 1, - "revision": 1, + "revision": 4, "architecture": "x64", "modernui": 1 }, @@ -7139,7 +9530,7 @@ "appversion": { "major": 9, "minor": 1, - "revision": 1, + "revision": 4, "architecture": "x64", "modernui": 1 }, @@ -7169,7 +9560,7 @@ "appversion": { "major": 9, "minor": 1, - "revision": 1, + "revision": 4, "architecture": "x64", "modernui": 1 }, @@ -7635,7 +10026,7 @@ "appversion": { "major": 9, "minor": 1, - "revision": 1, + "revision": 4, "architecture": "x64", "modernui": 1 }, @@ -7938,7 +10329,7 @@ "appversion": { "major": 9, "minor": 1, - "revision": 1, + "revision": 4, "architecture": "x64", "modernui": 1 }, @@ -8734,7 +11125,7 @@ "appversion": { "major": 9, "minor": 1, - "revision": 1, + "revision": 4, "architecture": "x64", "modernui": 1 }, @@ -9026,7 +11417,7 @@ "appversion": { "major": 9, "minor": 1, - "revision": 1, + "revision": 4, "architecture": "x64", "modernui": 1 }, @@ -9079,7 +11470,7 @@ "appversion": { "major": 9, "minor": 1, - "revision": 1, + "revision": 4, "architecture": "x64", "modernui": 1 }, @@ -9799,13 +12190,68 @@ "appversion": { "major": 9, "minor": 1, - "revision": 1, + "revision": 4, "architecture": "x64", "modernui": 1 }, "classnamespace": "box", - "rect": [ 296.0, 110.0, 791.0, 882.0 ], + "rect": [ 134.0, 95.0, 791.0, 988.0 ], "boxes": [ + { + "box": { + "id": "obj-19", + "maxclass": "newobj", + "numinlets": 0, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 306.0, 1048.0, 79.0, 22.0 ], + "text": "r #0_dimmap" + } + }, + { + "box": { + "id": "obj-18", + "maxclass": "newobj", + "numinlets": 0, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 190.0, 1048.0, 101.0, 22.0 ], + "text": "r #0_init_dimmap" + } + }, + { + "box": { + "id": "obj-16", + "maxclass": "newobj", + "numinlets": 2, + "numoutlets": 2, + "outlettype": [ "", "" ], + "patching_rect": [ 130.0, 1087.0, 79.0, 22.0 ], + "text": "list.indexmap" + } + }, + { + "box": { + "id": "obj-29", + "maxclass": "newobj", + "numinlets": 0, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 38.0, 63.0, 132.0, 22.0 ], + "text": "r #0_to_highlighted_list" + } + }, + { + "box": { + "id": "obj-14", + "maxclass": "newobj", + "numinlets": 2, + "numoutlets": 2, + "outlettype": [ "", "" ], + "patching_rect": [ 130.0, 1122.0, 61.0, 22.0 ], + "text": "list.slice 2" + } + }, { "box": { "id": "obj-17", @@ -9813,7 +12259,7 @@ "numinlets": 2, "numoutlets": 1, "outlettype": [ "" ], - "patching_rect": [ 343.0, 261.0, 45.0, 22.0 ], + "patching_rect": [ 344.0, 297.0, 45.0, 22.0 ], "text": "dim $1" } }, @@ -9824,7 +12270,7 @@ "numinlets": 2, "numoutlets": 1, "outlettype": [ "" ], - "patching_rect": [ 300.0, 324.0, 129.0, 22.0 ], + "patching_rect": [ 301.0, 360.0, 129.0, 22.0 ], "text": "dim $1, setall 0 0 0 0.8" } }, @@ -9835,7 +12281,7 @@ "numinlets": 1, "numoutlets": 1, "outlettype": [ "int" ], - "patching_rect": [ 46.638049870729446, 422.0, 22.0, 22.0 ], + "patching_rect": [ 48.0, 458.0, 22.0, 22.0 ], "text": "t 1" } }, @@ -9846,7 +12292,7 @@ "maxclass": "comment", "numinlets": 1, "numoutlets": 0, - "patching_rect": [ 31.0, 318.0, 144.0, 47.0 ], + "patching_rect": [ 32.0, 354.0, 144.0, 47.0 ], "text": "check for case \"highlight -1\" which should mean \"hide highlighted mesh\"" } }, @@ -9856,7 +12302,7 @@ "maxclass": "comment", "numinlets": 1, "numoutlets": 0, - "patching_rect": [ 225.63804987072945, 420.0, 117.0, 20.0 ], + "patching_rect": [ 227.0, 456.0, 117.0, 20.0 ], "text": "disable mesh (bang)" } }, @@ -9868,7 +12314,7 @@ "maxclass": "outlet", "numinlets": 1, "numoutlets": 0, - "patching_rect": [ 192.13804987072945, 415.0, 30.0, 30.0 ] + "patching_rect": [ 193.0, 451.0, 30.0, 30.0 ] } }, { @@ -9878,7 +12324,7 @@ "numinlets": 3, "numoutlets": 3, "outlettype": [ "bang", "bang", "" ], - "patching_rect": [ 179.63804987072945, 381.0, 44.0, 22.0 ], + "patching_rect": [ 181.0, 417.0, 44.0, 22.0 ], "text": "sel 0 1" } }, @@ -9889,7 +12335,7 @@ "numinlets": 2, "numoutlets": 2, "outlettype": [ "", "" ], - "patching_rect": [ 179.63804987072945, 349.0, 87.0, 22.0 ], + "patching_rect": [ 181.0, 385.0, 87.0, 22.0 ], "text": "list.compare -1" } }, @@ -9900,7 +12346,7 @@ "numinlets": 2, "numoutlets": 2, "outlettype": [ "", "" ], - "patching_rect": [ 179.63804987072945, 318.0, 49.0, 22.0 ], + "patching_rect": [ 181.0, 354.0, 49.0, 22.0 ], "text": "list.reg" } }, @@ -9911,7 +12357,7 @@ "numinlets": 1, "numoutlets": 2, "outlettype": [ "", "" ], - "patching_rect": [ 12.638049870729446, 291.0, 186.0, 22.0 ], + "patching_rect": [ 14.0, 327.0, 186.0, 22.0 ], "text": "if $i1 != 1 then $i1 else out2 bang" } }, @@ -9922,7 +12368,7 @@ "numinlets": 1, "numoutlets": 3, "outlettype": [ "", "", "" ], - "patching_rect": [ 128.63804987072945, 733.0, 87.36195012927055, 22.0 ], + "patching_rect": [ 130.0, 769.0, 87.36195012927055, 22.0 ], "text": "t l l l" } }, @@ -9933,7 +12379,7 @@ "numinlets": 2, "numoutlets": 1, "outlettype": [ "" ], - "patching_rect": [ 545.0, 261.0, 89.0, 22.0 ], + "patching_rect": [ 546.0, 297.0, 89.0, 22.0 ], "text": "dim $1, setall 1" } }, @@ -9944,7 +12390,7 @@ "numinlets": 1, "numoutlets": 2, "outlettype": [ "jit_matrix", "" ], - "patching_rect": [ 545.0, 291.0, 215.0, 22.0 ], + "patching_rect": [ 546.0, 327.0, 215.0, 22.0 ], "text": "jit.matrix #0_highlighted_pointsizes" } }, @@ -9955,7 +12401,7 @@ "maxclass": "comment", "numinlets": 1, "numoutlets": 0, - "patching_rect": [ 343.63804987072945, 809.0, 99.0, 33.0 ], + "patching_rect": [ 345.0, 845.0, 99.0, 33.0 ], "text": "fetch point size, store in matrix" } }, @@ -9970,26 +12416,55 @@ "appversion": { "major": 9, "minor": 1, - "revision": 1, + "revision": 4, "architecture": "x64", "modernui": 1 }, "classnamespace": "box", - "rect": [ 575.0, -1231.0, 599.0, 304.0 ], + "rect": [ 134.0, 167.0, 599.0, 411.0 ], "boxes": [ { "box": { - "id": "obj-44", + "id": "obj-4", "maxclass": "newobj", "numinlets": 1, - "numoutlets": 4, - "outlettype": [ "", "", "", "" ], - "patching_rect": [ 44.0, 72.0, 121.0, 22.0 ], - "saved_object_attributes": { - "embed": 0, - "precision": 6 - }, - "text": "coll #0_ids2samps" + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 44.0, 153.0, 71.0, 22.0 ], + "text": "fromsymbol" + } + }, + { + "box": { + "id": "obj-61", + "maxclass": "newobj", + "numinlets": 2, + "numoutlets": 2, + "outlettype": [ "", "" ], + "patching_rect": [ 44.0, 120.0, 81.0, 22.0 ], + "text": "route getlabel" + } + }, + { + "box": { + "id": "obj-60", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 2, + "outlettype": [ "", "" ], + "patching_rect": [ 44.0, 92.0, 134.0, 22.0 ], + "text": "fluid.labelset~ #0_ids" + } + }, + { + "box": { + "id": "obj-58", + "maxclass": "message", + "numinlets": 2, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 44.0, 64.0, 67.0, 22.0 ], + "text": "getlabel $1" } }, { @@ -9999,7 +12474,7 @@ "numinlets": 2, "numoutlets": 2, "outlettype": [ "", "" ], - "patching_rect": [ 180.0, 155.0, 61.0, 22.0 ], + "patching_rect": [ 180.0, 240.0, 61.0, 22.0 ], "text": "list.ecils 1" } }, @@ -10010,7 +12485,7 @@ "numinlets": 1, "numoutlets": 1, "outlettype": [ "" ], - "patching_rect": [ 44.0, 98.0, 91.0, 22.0 ], + "patching_rect": [ 44.0, 183.0, 91.0, 22.0 ], "text": "prepend getcell" } }, @@ -10021,7 +12496,7 @@ "numinlets": 1, "numoutlets": 2, "outlettype": [ "jit_matrix", "" ], - "patching_rect": [ 44.0, 128.0, 155.0, 22.0 ], + "patching_rect": [ 44.0, 213.0, 155.0, 22.0 ], "text": "jit.matrix #0_pointsizes" } }, @@ -10032,7 +12507,7 @@ "numinlets": 2, "numoutlets": 1, "outlettype": [ "" ], - "patching_rect": [ 222.0, 196.0, 29.5, 22.0 ], + "patching_rect": [ 222.0, 281.0, 29.5, 22.0 ], "text": "join" } }, @@ -10042,7 +12517,7 @@ "maxclass": "comment", "numinlets": 1, "numoutlets": 0, - "patching_rect": [ 443.0, 261.0, 124.0, 20.0 ], + "patching_rect": [ 443.0, 346.0, 124.0, 20.0 ], "text": "set cell in color matrix" } }, @@ -10053,7 +12528,7 @@ "numinlets": 2, "numoutlets": 1, "outlettype": [ "" ], - "patching_rect": [ 222.0, 229.0, 95.0, 22.0 ], + "patching_rect": [ 222.0, 314.0, 95.0, 22.0 ], "text": "setcell $2 val $1" } }, @@ -10064,7 +12539,7 @@ "numinlets": 1, "numoutlets": 2, "outlettype": [ "jit_matrix", "" ], - "patching_rect": [ 222.0, 261.0, 219.0, 22.0 ], + "patching_rect": [ 222.0, 346.0, 219.0, 22.0 ], "text": "jit.matrix #0_highlighted_pointsizes" } }, @@ -10124,7 +12599,7 @@ { "patchline": { "destination": [ "obj-1", 1 ], - "midpoints": [ 475.5, 185.0, 242.0, 185.0 ], + "midpoints": [ 475.5, 270.23046875, 242.0, 270.23046875 ], "source": [ "obj-10", 0 ] } }, @@ -10136,7 +12611,7 @@ }, { "patchline": { - "destination": [ "obj-44", 0 ], + "destination": [ "obj-58", 0 ], "source": [ "obj-123", 0 ] } }, @@ -10161,12 +12636,30 @@ { "patchline": { "destination": [ "obj-3", 0 ], - "source": [ "obj-44", 0 ] + "source": [ "obj-4", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-60", 0 ], + "source": [ "obj-58", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-61", 0 ], + "source": [ "obj-60", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-4", 0 ], + "source": [ "obj-61", 0 ] } } ] }, - "patching_rect": [ 163.63804987072945, 809.0, 178.31902493536472, 22.0 ], + "patching_rect": [ 165.0, 845.0, 178.31902493536472, 22.0 ], "text": "p fill_highlighted_sizes_matrix" } }, @@ -10177,7 +12670,7 @@ "numinlets": 2, "numoutlets": 2, "outlettype": [ "bang", "" ], - "patching_rect": [ 234.0, 38.0, 54.0, 22.0 ], + "patching_rect": [ 221.0, 40.0, 54.0, 22.0 ], "text": "sel bang" } }, @@ -10187,7 +12680,7 @@ "maxclass": "newobj", "numinlets": 1, "numoutlets": 0, - "patching_rect": [ 234.0, 94.0, 77.0, 22.0 ], + "patching_rect": [ 221.0, 96.0, 77.0, 22.0 ], "text": "s #0_draw" } }, @@ -10198,7 +12691,7 @@ "numinlets": 1, "numoutlets": 2, "outlettype": [ "bang", "bang" ], - "patching_rect": [ 234.0, 61.0, 29.5, 22.0 ], + "patching_rect": [ 221.0, 63.0, 29.5, 22.0 ], "text": "b 2" } }, @@ -10209,7 +12702,7 @@ "maxclass": "comment", "numinlets": 1, "numoutlets": 0, - "patching_rect": [ 392.0, 14.0, 162.0, 33.0 ], + "patching_rect": [ 379.0, 16.0, 162.0, 33.0 ], "text": "redraw highlighted points when color scheme changes" } }, @@ -10220,7 +12713,7 @@ "numinlets": 0, "numoutlets": 1, "outlettype": [ "" ], - "patching_rect": [ 234.0, 14.0, 151.0, 22.0 ], + "patching_rect": [ 221.0, 16.0, 151.0, 22.0 ], "text": "r #0_redraw_highlighted" } }, @@ -10231,7 +12724,7 @@ "numinlets": 2, "numoutlets": 2, "outlettype": [ "", "" ], - "patching_rect": [ 12.638049870729446, 94.0, 149.0, 22.0 ], + "patching_rect": [ 14.0, 130.0, 149.0, 22.0 ], "text": "list.reg @zlmaxsize 32767" } }, @@ -10241,7 +12734,7 @@ "maxclass": "comment", "numinlets": 1, "numoutlets": 0, - "patching_rect": [ 46.638049870729446, 15.0, 79.0, 20.0 ], + "patching_rect": [ 48.0, 17.0, 79.0, 20.0 ], "text": "highlight (list)" } }, @@ -10252,7 +12745,7 @@ "maxclass": "comment", "numinlets": 1, "numoutlets": 0, - "patching_rect": [ 304.63804987072945, 937.0, 201.0, 60.0 ], + "patching_rect": [ 306.0, 973.0, 201.0, 60.0 ], "text": "we have to go through the dataset (instead of fetching from the matrix) because dataset IDs aren't guaranteed to match matrix indices" } }, @@ -10262,7 +12755,7 @@ "maxclass": "comment", "numinlets": 1, "numoutlets": 0, - "patching_rect": [ 102.63804987072945, 1089.0, 177.0, 20.0 ], + "patching_rect": [ 104.0, 1238.0, 177.0, 20.0 ], "text": "update highlighted mesh (bang)" } }, @@ -10272,7 +12765,7 @@ "maxclass": "comment", "numinlets": 1, "numoutlets": 0, - "patching_rect": [ 624.6380498707294, 1058.0, 84.0, 20.0 ], + "patching_rect": [ 626.0, 1203.0, 84.0, 20.0 ], "text": "store in matrix" } }, @@ -10282,7 +12775,7 @@ "maxclass": "comment", "numinlets": 1, "numoutlets": 0, - "patching_rect": [ 534.6380498707294, 1025.0, 53.0, 20.0 ], + "patching_rect": [ 536.0, 1170.0, 53.0, 20.0 ], "text": "(x, y, ID)" } }, @@ -10292,7 +12785,7 @@ "maxclass": "comment", "numinlets": 1, "numoutlets": 0, - "patching_rect": [ 202.63804987072945, 975.0, 83.0, 20.0 ], + "patching_rect": [ 204.0, 1011.0, 83.0, 20.0 ], "text": "fetch point XY" } }, @@ -10302,7 +12795,7 @@ "maxclass": "comment", "numinlets": 1, "numoutlets": 0, - "patching_rect": [ 140.63804987072945, 706.0, 63.0, 20.0 ], + "patching_rect": [ 142.0, 742.0, 63.0, 20.0 ], "text": "dataset ID" } }, @@ -10312,7 +12805,7 @@ "maxclass": "comment", "numinlets": 1, "numoutlets": 0, - "patching_rect": [ 140.63804987072945, 655.0, 116.0, 20.0 ], + "patching_rect": [ 142.0, 691.0, 116.0, 20.0 ], "text": "index in highlited list" } }, @@ -10323,7 +12816,7 @@ "maxclass": "comment", "numinlets": 1, "numoutlets": 0, - "patching_rect": [ 372.63804987072945, 764.0, 99.0, 33.0 ], + "patching_rect": [ 374.0, 800.0, 99.0, 33.0 ], "text": "fetch point color, store in matrix" } }, @@ -10334,7 +12827,7 @@ "maxclass": "comment", "numinlets": 1, "numoutlets": 0, - "patching_rect": [ 28.638049870729446, 471.0, 143.0, 33.0 ], + "patching_rect": [ 30.0, 507.0, 143.0, 33.0 ], "text": "iterate through the list of highlighted IDs" } }, @@ -10345,7 +12838,7 @@ "maxclass": "comment", "numinlets": 1, "numoutlets": 0, - "patching_rect": [ 311.63804987072945, 220.5, 178.0, 33.0 ], + "patching_rect": [ 313.0, 257.0, 178.0, 33.0 ], "text": "set dimensions for the matrices of the highlighted mesh" } }, @@ -10356,7 +12849,7 @@ "numinlets": 0, "numoutlets": 1, "outlettype": [ "" ], - "patching_rect": [ 147.63804987072945, 873.0, 150.0, 22.0 ], + "patching_rect": [ 149.0, 909.0, 150.0, 22.0 ], "text": "r #0_refer_datasetname" } }, @@ -10367,7 +12860,7 @@ "numinlets": 1, "numoutlets": 2, "outlettype": [ "", "" ], - "patching_rect": [ 128.63804987072945, 907.0, 80.0, 22.0 ], + "patching_rect": [ 130.0, 943.0, 80.0, 22.0 ], "text": "fluid.dataset~", "varname": "dataset[1]" } @@ -10379,7 +12872,7 @@ "numinlets": 1, "numoutlets": 2, "outlettype": [ "jit_matrix", "" ], - "patching_rect": [ 504.63804987072945, 1089.0, 187.0, 22.0 ], + "patching_rect": [ 506.0, 1234.0, 187.0, 22.0 ], "text": "jit.matrix #0_highlighted_points" } }, @@ -10394,26 +12887,55 @@ "appversion": { "major": 9, "minor": 1, - "revision": 1, + "revision": 4, "architecture": "x64", "modernui": 1 }, "classnamespace": "box", - "rect": [ -403.0, -1323.0, 599.0, 304.0 ], + "rect": [ 134.0, 167.0, 599.0, 437.0 ], "boxes": [ { "box": { - "id": "obj-44", + "id": "obj-4", "maxclass": "newobj", "numinlets": 1, - "numoutlets": 4, - "outlettype": [ "", "", "", "" ], - "patching_rect": [ 44.0, 72.0, 121.0, 22.0 ], - "saved_object_attributes": { - "embed": 0, - "precision": 6 - }, - "text": "coll #0_ids2samps" + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 44.0, 159.5, 71.0, 22.0 ], + "text": "fromsymbol" + } + }, + { + "box": { + "id": "obj-61", + "maxclass": "newobj", + "numinlets": 2, + "numoutlets": 2, + "outlettype": [ "", "" ], + "patching_rect": [ 44.0, 127.0, 81.0, 22.0 ], + "text": "route getlabel" + } + }, + { + "box": { + "id": "obj-60", + "maxclass": "newobj", + "numinlets": 1, + "numoutlets": 2, + "outlettype": [ "", "" ], + "patching_rect": [ 44.0, 99.0, 134.0, 22.0 ], + "text": "fluid.labelset~ #0_ids" + } + }, + { + "box": { + "id": "obj-58", + "maxclass": "message", + "numinlets": 2, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 44.0, 71.0, 67.0, 22.0 ], + "text": "getlabel $1" } }, { @@ -10423,7 +12945,7 @@ "numinlets": 2, "numoutlets": 2, "outlettype": [ "", "" ], - "patching_rect": [ 180.0, 155.0, 61.0, 22.0 ], + "patching_rect": [ 180.0, 249.0, 61.0, 22.0 ], "text": "list.ecils 4" } }, @@ -10434,7 +12956,7 @@ "numinlets": 1, "numoutlets": 1, "outlettype": [ "" ], - "patching_rect": [ 44.0, 98.0, 91.0, 22.0 ], + "patching_rect": [ 44.0, 192.0, 91.0, 22.0 ], "text": "prepend getcell" } }, @@ -10445,7 +12967,7 @@ "numinlets": 1, "numoutlets": 2, "outlettype": [ "jit_matrix", "" ], - "patching_rect": [ 44.0, 128.0, 155.0, 22.0 ], + "patching_rect": [ 44.0, 222.0, 155.0, 22.0 ], "text": "jit.matrix #0_point_colors" } }, @@ -10456,7 +12978,7 @@ "numinlets": 2, "numoutlets": 1, "outlettype": [ "" ], - "patching_rect": [ 222.0, 196.0, 29.5, 22.0 ], + "patching_rect": [ 222.0, 290.0, 29.5, 22.0 ], "text": "join" } }, @@ -10466,7 +12988,7 @@ "maxclass": "comment", "numinlets": 1, "numoutlets": 0, - "patching_rect": [ 443.0, 261.0, 124.0, 20.0 ], + "patching_rect": [ 443.0, 355.0, 124.0, 20.0 ], "text": "set cell in color matrix" } }, @@ -10477,7 +12999,7 @@ "numinlets": 2, "numoutlets": 1, "outlettype": [ "" ], - "patching_rect": [ 222.0, 229.0, 145.0, 22.0 ], + "patching_rect": [ 222.0, 323.0, 145.0, 22.0 ], "text": "setcell $5 val $1 $2 $3 $4" } }, @@ -10488,7 +13010,7 @@ "numinlets": 1, "numoutlets": 2, "outlettype": [ "jit_matrix", "" ], - "patching_rect": [ 222.0, 261.0, 219.0, 22.0 ], + "patching_rect": [ 222.0, 355.0, 219.0, 22.0 ], "text": "jit.matrix #0_highlighted_point_colors" } }, @@ -10548,7 +13070,7 @@ { "patchline": { "destination": [ "obj-1", 1 ], - "midpoints": [ 475.5, 185.0, 242.0, 185.0 ], + "midpoints": [ 475.5, 278.0, 242.0, 278.0 ], "source": [ "obj-10", 0 ] } }, @@ -10560,7 +13082,7 @@ }, { "patchline": { - "destination": [ "obj-44", 0 ], + "destination": [ "obj-58", 0 ], "source": [ "obj-123", 0 ] } }, @@ -10585,12 +13107,30 @@ { "patchline": { "destination": [ "obj-3", 0 ], - "source": [ "obj-44", 0 ] + "source": [ "obj-4", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-60", 0 ], + "source": [ "obj-58", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-61", 0 ], + "source": [ "obj-60", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-4", 0 ], + "source": [ "obj-61", 0 ] } } ] }, - "patching_rect": [ 197.63804987072945, 764.0, 173.0, 22.0 ], + "patching_rect": [ 199.0, 800.0, 173.0, 22.0 ], "text": "p fill_highlighted_colors_matrix" } }, @@ -10601,7 +13141,7 @@ "numinlets": 1, "numoutlets": 2, "outlettype": [ "jit_matrix", "" ], - "patching_rect": [ 300.0, 358.0, 219.0, 22.0 ], + "patching_rect": [ 301.0, 394.0, 219.0, 22.0 ], "text": "jit.matrix #0_highlighted_point_colors" } }, @@ -10612,7 +13152,7 @@ "numinlets": 1, "numoutlets": 2, "outlettype": [ "jit_matrix", "" ], - "patching_rect": [ 343.0, 291.0, 187.0, 22.0 ], + "patching_rect": [ 344.0, 327.0, 187.0, 22.0 ], "text": "jit.matrix #0_highlighted_points" } }, @@ -10623,7 +13163,7 @@ "numinlets": 2, "numoutlets": 1, "outlettype": [ "" ], - "patching_rect": [ 504.63804987072945, 1057.0, 111.0, 22.0 ], + "patching_rect": [ 506.0, 1202.0, 111.0, 22.0 ], "text": "setcell $3 val $1 $2" } }, @@ -10634,7 +13174,7 @@ "numinlets": 2, "numoutlets": 1, "outlettype": [ "" ], - "patching_rect": [ 504.63804987072945, 1024.0, 29.5, 22.0 ], + "patching_rect": [ 506.0, 1169.0, 29.5, 22.0 ], "text": "join" } }, @@ -10645,7 +13185,7 @@ "numinlets": 2, "numoutlets": 1, "outlettype": [ "" ], - "patching_rect": [ 128.63804987072945, 843.0, 167.0, 22.0 ], + "patching_rect": [ 130.0, 879.0, 167.0, 22.0 ], "text": "getpoint $1 #0_point_query" } }, @@ -10656,7 +13196,7 @@ "numinlets": 1, "numoutlets": 3, "outlettype": [ "int", "int", "int" ], - "patching_rect": [ 128.63804987072945, 631.0, 406.0, 22.0 ], + "patching_rect": [ 130.0, 667.0, 406.0, 22.0 ], "text": "t i i i" } }, @@ -10667,7 +13207,7 @@ "numinlets": 2, "numoutlets": 3, "outlettype": [ "bang", "bang", "int" ], - "patching_rect": [ 12.638049870729446, 511.0, 135.0, 22.0 ], + "patching_rect": [ 14.0, 547.0, 135.0, 22.0 ], "text": "uzi 1 0" } }, @@ -10678,7 +13218,7 @@ "numinlets": 1, "numoutlets": 2, "outlettype": [ "int", "int" ], - "patching_rect": [ 12.638049870729446, 190.5, 305.38804987072945, 22.0 ], + "patching_rect": [ 14.0, 227.0, 305.38804987072945, 22.0 ], "text": "t i i" } }, @@ -10689,7 +13229,7 @@ "numinlets": 2, "numoutlets": 2, "outlettype": [ "", "" ], - "patching_rect": [ 128.63804987072945, 680.0, 167.0, 22.0 ], + "patching_rect": [ 130.0, 716.0, 167.0, 22.0 ], "text": "list.lookup @zlmaxsize 32767" } }, @@ -10700,7 +13240,7 @@ "numinlets": 1, "numoutlets": 2, "outlettype": [ "", "" ], - "patching_rect": [ 12.638049870729446, 129.0, 283.0, 22.0 ], + "patching_rect": [ 14.0, 165.0, 283.0, 22.0 ], "text": "t l l" } }, @@ -10711,7 +13251,7 @@ "numinlets": 2, "numoutlets": 2, "outlettype": [ "", "" ], - "patching_rect": [ 12.638049870729446, 160.0, 147.0, 22.0 ], + "patching_rect": [ 14.0, 196.0, 147.0, 22.0 ], "text": "list.len @zlmaxsize 32767" } }, @@ -10722,7 +13262,7 @@ "numinlets": 2, "numoutlets": 1, "outlettype": [ "list" ], - "patching_rect": [ 128.63804987072945, 975.0, 72.0, 22.0 ], + "patching_rect": [ 130.0, 1011.0, 72.0, 22.0 ], "text": "fluid.buf2list" } }, @@ -10733,7 +13273,7 @@ "numinlets": 1, "numoutlets": 2, "outlettype": [ "float", "bang" ], - "patching_rect": [ 214.63804987072945, 907.0, 145.0, 22.0 ], + "patching_rect": [ 216.0, 943.0, 145.0, 22.0 ], "text": "buffer~ #0_point_query" } }, @@ -10744,7 +13284,7 @@ "numinlets": 2, "numoutlets": 2, "outlettype": [ "", "" ], - "patching_rect": [ 128.63804987072945, 944.0, 140.0, 22.0 ], + "patching_rect": [ 130.0, 980.0, 140.0, 22.0 ], "text": "substitute getpoint buffer" } }, @@ -10757,7 +13297,7 @@ "numinlets": 0, "numoutlets": 1, "outlettype": [ "" ], - "patching_rect": [ 12.638049870729446, 10.0, 30.0, 30.0 ] + "patching_rect": [ 14.0, 12.0, 30.0, 30.0 ] } }, { @@ -10768,7 +13308,7 @@ "maxclass": "outlet", "numinlets": 1, "numoutlets": 0, - "patching_rect": [ 70.63804987072945, 1081.0, 30.0, 30.0 ] + "patching_rect": [ 72.0, 1230.0, 30.0, 30.0 ] } } ], @@ -10806,7 +13346,7 @@ { "patchline": { "destination": [ "obj-59", 0 ], - "midpoints": [ 56.138049870729446, 454.6171875, 22.138049870729446, 454.6171875 ], + "midpoints": [ 57.5, 490.6171875, 23.5, 490.6171875 ], "source": [ "obj-12", 0 ] } }, @@ -10822,6 +13362,12 @@ "source": [ "obj-13", 0 ] } }, + { + "patchline": { + "destination": [ "obj-63", 0 ], + "source": [ "obj-14", 0 ] + } + }, { "patchline": { "destination": [ "obj-141", 0 ], @@ -10840,6 +13386,12 @@ "source": [ "obj-153", 0 ] } }, + { + "patchline": { + "destination": [ "obj-14", 0 ], + "source": [ "obj-16", 0 ] + } + }, { "patchline": { "destination": [ "obj-6", 0 ], @@ -10852,6 +13404,18 @@ "source": [ "obj-17", 0 ] } }, + { + "patchline": { + "destination": [ "obj-16", 1 ], + "source": [ "obj-18", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-16", 1 ], + "source": [ "obj-19", 0 ] + } + }, { "patchline": { "destination": [ "obj-21", 0 ], @@ -10864,6 +13428,12 @@ "source": [ "obj-21", 0 ] } }, + { + "patchline": { + "destination": [ "obj-1", 0 ], + "source": [ "obj-29", 0 ] + } + }, { "patchline": { "destination": [ "obj-12", 0 ], @@ -11018,7 +13588,7 @@ }, { "patchline": { - "destination": [ "obj-63", 0 ], + "destination": [ "obj-16", 0 ], "source": [ "obj-622", 0 ] } }, @@ -11073,7 +13643,7 @@ "appversion": { "major": 9, "minor": 1, - "revision": 1, + "revision": 4, "architecture": "x64", "modernui": 1 }, @@ -11742,7 +14312,7 @@ "numinlets": 1, "numoutlets": 4, "outlettype": [ "", "", "", "" ], - "patching_rect": [ 1943.0, 667.0, 95.0, 22.0 ], + "patching_rect": [ 1943.0, 667.0, 101.0, 22.0 ], "saved_object_attributes": { "embed": 0, "precision": 6 @@ -11757,7 +14327,7 @@ "numinlets": 1, "numoutlets": 4, "outlettype": [ "", "", "", "" ], - "patching_rect": [ 1943.0, 693.0, 137.0, 22.0 ], + "patching_rect": [ 1943.0, 693.0, 144.0, 22.0 ], "saved_object_attributes": { "embed": 0, "precision": 6 @@ -11772,7 +14342,7 @@ "numinlets": 2, "numoutlets": 5, "outlettype": [ "dictionary", "", "", "", "" ], - "patching_rect": [ 1944.0, 718.0, 134.0, 22.0 ], + "patching_rect": [ 1944.0, 718.0, 141.0, 22.0 ], "saved_object_attributes": { "legacy": 1, "parameter_enable": 0, @@ -11830,7 +14400,7 @@ "numinlets": 1, "numoutlets": 2, "outlettype": [ "jit_matrix", "" ], - "patching_rect": [ 1944.0, 191.0, 199.0, 22.0 ], + "patching_rect": [ 1944.0, 191.0, 205.0, 22.0 ], "text": "jit.matrix #0_zoomrect 2 float32 4" } }, @@ -11841,7 +14411,7 @@ "numinlets": 1, "numoutlets": 2, "outlettype": [ "jit_matrix", "" ], - "patching_rect": [ 1944.0, 165.0, 279.0, 22.0 ], + "patching_rect": [ 1944.0, 165.0, 285.0, 22.0 ], "text": "jit.matrix #0_highlighted_point_colors 4 float32 1" } }, @@ -11852,7 +14422,7 @@ "numinlets": 1, "numoutlets": 2, "outlettype": [ "jit_matrix", "" ], - "patching_rect": [ 1944.0, 105.0, 246.0, 22.0 ], + "patching_rect": [ 1944.0, 105.0, 253.0, 22.0 ], "text": "jit.matrix #0_highlighted_points 2 float32 1" } }, @@ -11940,12 +14510,12 @@ "appversion": { "major": 9, "minor": 1, - "revision": 1, + "revision": 4, "architecture": "x64", "modernui": 1 }, "classnamespace": "box", - "rect": [ 850.0, -737.0, 645.0, 302.0 ], + "rect": [ 229.0, 325.0, 645.0, 302.0 ], "boxes": [ { "box": { @@ -12269,7 +14839,7 @@ "appversion": { "major": 9, "minor": 1, - "revision": 1, + "revision": 4, "architecture": "x64", "modernui": 1 }, @@ -12637,7 +15207,7 @@ "maxclass": "newobj", "numinlets": 1, "numoutlets": 0, - "patching_rect": [ 501.9539833764235, 612.0, 115.0, 22.0 ], + "patching_rect": [ 501.9539833764235, 612.0, 121.0, 22.0 ], "text": "s #0_to_pwindow" } }, @@ -12653,250 +15223,184 @@ "appversion": { "major": 9, "minor": 1, - "revision": 1, + "revision": 4, "architecture": "x64", "modernui": 1 }, "classnamespace": "box", - "rect": [ 34.0, 100.0, 1660.0, 983.0 ], + "rect": [ 34.0, 95.0, 1660.0, 988.0 ], "boxes": [ { "box": { - "id": "obj-31", - "linecount": 2, - "maxclass": "message", - "numinlets": 2, - "numoutlets": 1, - "outlettype": [ "" ], - "patching_rect": [ 756.0, 789.0, 81.38804987072922, 35.0 ], - "text": "dim $1, setall 0 0 0 0.8" - } - }, - { - "box": { - "id": "obj-28", - "maxclass": "message", - "numinlets": 2, - "numoutlets": 1, - "outlettype": [ "" ], - "patching_rect": [ 634.1380498707292, 838.75, 89.0, 22.0 ], - "text": "dim $1, setall 1" - } - }, - { - "box": { - "id": "obj-35", - "maxclass": "newobj", - "numinlets": 1, - "numoutlets": 2, - "outlettype": [ "jit_matrix", "" ], - "patching_rect": [ 634.1380498707292, 868.75, 203.0, 22.0 ], - "text": "jit.matrix #0_pointsizes 1 float32 1" - } - }, - { - "box": { - "id": "obj-165", - "maxclass": "newobj", - "numinlets": 1, - "numoutlets": 2, - "outlettype": [ "jit_matrix", "" ], - "patching_rect": [ 756.0, 838.75, 155.0, 22.0 ], - "text": "jit.matrix #0_point_colors" - } - }, - { - "box": { - "id": "obj-25", - "maxclass": "newobj", - "numinlets": 1, - "numoutlets": 4, - "outlettype": [ "", "", "", "" ], - "patching_rect": [ 1160.0, 608.75, 121.0, 22.0 ], - "saved_object_attributes": { - "embed": 0, - "precision": 6 - }, - "text": "coll #0_ids2samps" - } - }, - { - "box": { - "id": "obj-24", - "maxclass": "newobj", - "numinlets": 1, - "numoutlets": 2, - "outlettype": [ "size", "clear" ], - "patching_rect": [ 1017.0, 575.75, 162.0, 22.0 ], - "text": "t size clear" - } - }, - { - "box": { - "id": "obj-66", + "id": "obj-48", "maxclass": "newobj", - "numinlets": 1, + "numinlets": 0, "numoutlets": 1, "outlettype": [ "" ], - "patching_rect": [ 1042.0, 873.75, 83.0, 22.0 ], - "text": "prepend store" + "patching_rect": [ 968.0, 636.0, 125.0, 22.0 ], + "text": "r #0_reset_dimmap" } }, { "box": { - "id": "obj-63", + "id": "obj-47", "maxclass": "newobj", "numinlets": 2, - "numoutlets": 2, - "outlettype": [ "", "" ], - "patching_rect": [ 1042.0, 838.75, 43.0, 22.0 ], - "text": "list.rev" + "numoutlets": 1, + "outlettype": [ "int" ], + "patching_rect": [ 968.0, 691.0, 29.5, 22.0 ], + "text": "i" } }, { "box": { - "id": "obj-64", - "maxclass": "newobj", + "id": "obj-32", + "linecount": 2, + "maxclass": "comment", "numinlets": 1, - "numoutlets": 4, - "outlettype": [ "", "", "", "" ], - "patching_rect": [ 1042.0, 907.0, 121.0, 22.0 ], - "saved_object_attributes": { - "embed": 0, - "precision": 6 - }, - "text": "coll #0_ids2samps" + "numoutlets": 0, + "patching_rect": [ 1062.0, 770.5, 241.0, 33.0 ], + "text": "initialize the indexmap (in handle_highlight) and the planemap (in jit_buffer)" } }, { "box": { - "id": "obj-62", + "id": "obj-37", "maxclass": "newobj", - "numinlets": 2, - "numoutlets": 1, - "outlettype": [ "" ], - "patching_rect": [ 1042.0, 807.75, 53.0, 22.0 ], - "text": "join" + "numinlets": 1, + "numoutlets": 0, + "patching_rect": [ 993.0, 808.0, 116.0, 22.0 ], + "text": "s #0_init_dimmap" } }, { "box": { - "id": "obj-61", + "id": "obj-38", "maxclass": "newobj", "numinlets": 2, "numoutlets": 2, "outlettype": [ "", "" ], - "patching_rect": [ 1076.0, 778.75, 81.0, 22.0 ], - "text": "route getlabel" + "patching_rect": [ 993.0, 776.0, 57.0, 22.0 ], + "text": "list.group" } }, { "box": { - "id": "obj-60", + "id": "obj-39", "maxclass": "newobj", - "numinlets": 1, - "numoutlets": 2, - "outlettype": [ "", "" ], - "patching_rect": [ 1076.0, 750.75, 134.0, 22.0 ], - "text": "fluid.labelset~ #0_ids" + "numinlets": 2, + "numoutlets": 3, + "outlettype": [ "bang", "bang", "int" ], + "patching_rect": [ 968.0, 736.5, 44.0, 22.0 ], + "text": "uzi 1 0" } }, { "box": { - "id": "obj-59", - "maxclass": "newobj", + "id": "obj-34", + "maxclass": "comment", "numinlets": 1, - "numoutlets": 2, - "outlettype": [ "int", "int" ], - "patching_rect": [ 1042.0, 695.75, 53.0, 22.0 ], - "text": "t i i" + "numoutlets": 0, + "patching_rect": [ 1396.5, 387.0, 169.0, 20.0 ], + "text": "clear the list of highlighted IDs" } }, { "box": { - "id": "obj-58", + "id": "obj-33", "maxclass": "message", "numinlets": 2, "numoutlets": 1, "outlettype": [ "" ], - "patching_rect": [ 1076.0, 722.75, 67.0, 22.0 ], - "text": "getlabel $1" + "patching_rect": [ 1348.4999999999989, 386.0, 43.0, 22.0 ], + "text": "zlclear" } }, { "box": { - "id": "obj-56", + "id": "obj-29", "maxclass": "newobj", - "numinlets": 2, - "numoutlets": 3, - "outlettype": [ "bang", "bang", "int" ], - "patching_rect": [ 1017.0, 666.75, 44.0, 22.0 ], - "text": "uzi 1 0" + "numinlets": 1, + "numoutlets": 0, + "patching_rect": [ 1348.4999999999989, 413.5, 147.0, 22.0 ], + "text": "s #0_to_highlighted_list" } }, { "box": { - "id": "obj-54", + "id": "obj-26", "maxclass": "newobj", - "numinlets": 2, + "numinlets": 1, "numoutlets": 2, - "outlettype": [ "", "" ], - "patching_rect": [ 1017.0, 637.75, 61.0, 22.0 ], - "text": "route size" + "outlettype": [ "bang", "bang" ], + "patching_rect": [ 1348.4999999999989, 296.0, 29.5, 22.0 ], + "text": "b 2" } }, { "box": { - "id": "obj-45", + "id": "obj-25", + "maxclass": "comment", + "numinlets": 1, + "numoutlets": 0, + "patching_rect": [ 785.0, 608.5, 144.0, 20.0 ], + "text": "buffer frame to dataset ID" + } + }, + { + "box": { + "id": "obj-24", "maxclass": "newobj", "numinlets": 1, "numoutlets": 2, "outlettype": [ "", "" ], - "patching_rect": [ 1017.0, 608.75, 134.0, 22.0 ], - "text": "fluid.labelset~ #0_ids" + "patching_rect": [ 616.0, 607.5, 156.0, 22.0 ], + "text": "fluid.labelset~ #0_frames" } }, { "box": { - "id": "obj-47", - "maxclass": "comment", - "numinlets": 1, - "numoutlets": 0, - "patching_rect": [ 1086.0, 547.5, 195.0, 20.0 ], - "text": "only do it once for a loaded dataset" + "id": "obj-31", + "linecount": 2, + "maxclass": "message", + "numinlets": 2, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 755.3880498707292, 808.0, 83.0, 35.0 ], + "text": "dim $1, setall 0 0 0 0.8" } }, { "box": { - "id": "obj-33", - "maxclass": "newobj", - "numinlets": 1, - "numoutlets": 2, - "outlettype": [ "int", "bang" ], - "patching_rect": [ 512.3880498707292, 654.0, 29.5, 22.0 ], - "text": "t i b" + "id": "obj-28", + "maxclass": "message", + "numinlets": 2, + "numoutlets": 1, + "outlettype": [ "" ], + "patching_rect": [ 633.3880498707292, 858.0, 89.0, 22.0 ], + "text": "dim $1, setall 1" } }, { "box": { - "id": "obj-29", + "id": "obj-35", "maxclass": "newobj", - "numinlets": 2, + "numinlets": 1, "numoutlets": 2, - "outlettype": [ "bang", "bang" ], - "patching_rect": [ 1017.0, 546.5, 65.0, 22.0 ], - "text": "onebang 1" + "outlettype": [ "jit_matrix", "" ], + "patching_rect": [ 633.3880498707292, 888.0, 203.0, 22.0 ], + "text": "jit.matrix #0_pointsizes 1 float32 1" } }, { "box": { - "id": "obj-65", + "id": "obj-165", "maxclass": "newobj", - "numinlets": 0, - "numoutlets": 1, - "outlettype": [ "" ], - "patching_rect": [ 1017.0, 483.5, 148.0, 22.0 ], - "text": "r #0_request_ids_dump" + "numinlets": 1, + "numoutlets": 2, + "outlettype": [ "jit_matrix", "" ], + "patching_rect": [ 755.3880498707292, 858.0, 155.0, 22.0 ], + "text": "jit.matrix #0_point_colors" } }, { @@ -13080,7 +15584,7 @@ "numinlets": 2, "numoutlets": 1, "outlettype": [ "" ], - "patching_rect": [ 1348.4999999999993, 321.5, 55.0, 22.0 ], + "patching_rect": [ 1388.0, 321.5, 55.0, 22.0 ], "text": "enable 0" } }, @@ -13090,7 +15594,7 @@ "maxclass": "newobj", "numinlets": 1, "numoutlets": 0, - "patching_rect": [ 1348.4999999999993, 352.5, 162.0, 22.0 ], + "patching_rect": [ 1388.0, 352.5, 162.0, 22.0 ], "text": "s #0_to_highlighted_mesh" } }, @@ -13110,7 +15614,7 @@ "maxclass": "comment", "numinlets": 1, "numoutlets": 0, - "patching_rect": [ 752.6380498707292, 547.5, 152.0, 20.0 ], + "patching_rect": [ 785.0, 548.5, 152.0, 20.0 ], "text": "dataset row at buffer frame" } }, @@ -13120,8 +15624,8 @@ "maxclass": "comment", "numinlets": 1, "numoutlets": 0, - "patching_rect": [ 752.6380498707292, 576.75, 144.0, 20.0 ], - "text": "buffer frame to dataset ID" + "patching_rect": [ 785.0, 577.5, 144.0, 20.0 ], + "text": "dataset ID to buffer frame" } }, { @@ -13130,7 +15634,7 @@ "maxclass": "comment", "numinlets": 1, "numoutlets": 0, - "patching_rect": [ 523.3880498707292, 791.0, 88.0, 20.0 ], + "patching_rect": [ 523.3880498707292, 810.0, 88.0, 20.0 ], "text": "buffer to matrix" } }, @@ -13140,7 +15644,7 @@ "maxclass": "comment", "numinlets": 1, "numoutlets": 0, - "patching_rect": [ 53.0, 835.5, 35.0, 20.0 ], + "patching_rect": [ 53.0, 946.0, 35.0, 20.0 ], "text": "bang" } }, @@ -13172,7 +15676,7 @@ "maxclass": "comment", "numinlets": 1, "numoutlets": 0, - "patching_rect": [ 523.3880498707292, 701.0, 168.0, 47.0 ], + "patching_rect": [ 523.3880498707292, 724.0, 168.0, 47.0 ], "text": "log number of points, update matrix dim and output matrix from jit.buffer" } }, @@ -13180,11 +15684,11 @@ "box": { "id": "obj-199", "maxclass": "newobj", - "numinlets": 2, - "numoutlets": 2, - "outlettype": [ "", "" ], - "patching_rect": [ 512.3880498707292, 614.5, 61.0, 22.0 ], - "text": "route size" + "numinlets": 3, + "numoutlets": 3, + "outlettype": [ "", "", "" ], + "patching_rect": [ 512.3880498707292, 636.0, 85.0, 22.0 ], + "text": "route size cols" } }, { @@ -13194,7 +15698,7 @@ "numinlets": 1, "numoutlets": 4, "outlettype": [ "int", "int", "int", "int" ], - "patching_rect": [ 512.3880498707292, 757.0, 384.25, 22.0 ], + "patching_rect": [ 512.3880498707292, 776.0, 384.25, 22.0 ], "text": "t i i i i" } }, @@ -13247,7 +15751,7 @@ "maxclass": "newobj", "numinlets": 1, "numoutlets": 0, - "patching_rect": [ 512.1380498707292, 925.75, 114.0, 22.0 ], + "patching_rect": [ 511.3880498707292, 945.0, 114.0, 22.0 ], "text": "s #0_to_jit_buffer" } }, @@ -13484,7 +15988,7 @@ "numinlets": 1, "numoutlets": 1, "outlettype": [ "" ], - "patching_rect": [ 877.6380498707292, 789.0, 87.0, 22.0 ], + "patching_rect": [ 877.3880498707292, 808.0, 87.0, 22.0 ], "text": "pv num_points" } }, @@ -13495,7 +15999,7 @@ "numinlets": 1, "numoutlets": 2, "outlettype": [ "", "" ], - "patching_rect": [ 600.6380498707292, 576.75, 134.0, 22.0 ], + "patching_rect": [ 616.0, 576.5, 134.0, 22.0 ], "text": "fluid.labelset~ #0_ids" } }, @@ -13528,7 +16032,7 @@ "numinlets": 2, "numoutlets": 1, "outlettype": [ "" ], - "patching_rect": [ 512.1380498707292, 898.75, 229.0, 22.0 ], + "patching_rect": [ 511.3880498707292, 918.0, 229.0, 22.0 ], "text": "set #0_points_2d, outputlast $1, output" } }, @@ -13539,7 +16043,7 @@ "numinlets": 1, "numoutlets": 2, "outlettype": [ "float", "bang" ], - "patching_rect": [ 600.6380498707292, 547.5, 135.0, 22.0 ], + "patching_rect": [ 616.0, 547.5, 135.0, 22.0 ], "text": "buffer~ #0_points_2d" } }, @@ -13550,8 +16054,8 @@ "numinlets": 2, "numoutlets": 1, "outlettype": [ "" ], - "patching_rect": [ 512.3880498707292, 483.5, 228.0, 22.0 ], - "text": "tobuffer #0_points_2d 0 #0_ids, size" + "patching_rect": [ 512.3880498707292, 483.5, 495.0, 22.0 ], + "text": "tobuffer #0_points_2d 0 #0_ids 1, tobuffer #0_points_2d 0 #0_frames 0, cols, size" } }, { @@ -13586,7 +16090,7 @@ "maxclass": "outlet", "numinlets": 1, "numoutlets": 0, - "patching_rect": [ 21.0, 830.5, 30.0, 30.0 ] + "patching_rect": [ 21.0, 941.0, 30.0, 30.0 ] } } ], @@ -13712,10 +16216,16 @@ }, { "patchline": { - "destination": [ "obj-33", 0 ], + "destination": [ "obj-198", 0 ], "source": [ "obj-199", 0 ] } }, + { + "patchline": { + "destination": [ "obj-47", 0 ], + "source": [ "obj-199", 1 ] + } + }, { "patchline": { "destination": [ "obj-122", 0 ], @@ -13742,14 +16252,14 @@ }, { "patchline": { - "destination": [ "obj-25", 0 ], - "source": [ "obj-24", 1 ] + "destination": [ "obj-33", 0 ], + "source": [ "obj-26", 0 ] } }, { "patchline": { - "destination": [ "obj-45", 0 ], - "source": [ "obj-24", 0 ] + "destination": [ "obj-55", 0 ], + "source": [ "obj-26", 1 ] } }, { @@ -13760,27 +16270,32 @@ }, { "patchline": { - "destination": [ "obj-24", 0 ], - "source": [ "obj-29", 0 ] + "destination": [ "obj-165", 0 ], + "source": [ "obj-31", 0 ] } }, { "patchline": { - "destination": [ "obj-165", 0 ], - "source": [ "obj-31", 0 ] + "destination": [ "obj-29", 0 ], + "source": [ "obj-33", 0 ] } }, { "patchline": { - "destination": [ "obj-198", 0 ], - "source": [ "obj-33", 0 ] + "destination": [ "obj-37", 0 ], + "source": [ "obj-38", 0 ] } }, { "patchline": { - "destination": [ "obj-29", 1 ], - "midpoints": [ 532.3880498707292, 686.0, 1006.4440249353646, 686.0, 1006.4440249353646, 535.5, 1072.5, 535.5 ], - "source": [ "obj-33", 1 ] + "destination": [ "obj-38", 0 ], + "source": [ "obj-39", 2 ] + } + }, + { + "patchline": { + "destination": [ "obj-38", 0 ], + "source": [ "obj-39", 1 ] } }, { @@ -13815,7 +16330,7 @@ }, { "patchline": { - "destination": [ "obj-55", 0 ], + "destination": [ "obj-26", 0 ], "source": [ "obj-4", 5 ] } }, @@ -13845,8 +16360,14 @@ }, { "patchline": { - "destination": [ "obj-54", 0 ], - "source": [ "obj-45", 0 ] + "destination": [ "obj-39", 0 ], + "source": [ "obj-47", 0 ] + } + }, + { + "patchline": { + "destination": [ "obj-47", 0 ], + "source": [ "obj-48", 0 ] } }, { @@ -13867,12 +16388,6 @@ "source": [ "obj-529", 0 ] } }, - { - "patchline": { - "destination": [ "obj-56", 0 ], - "source": [ "obj-54", 0 ] - } - }, { "patchline": { "destination": [ "obj-53", 0 ], @@ -13885,66 +16400,6 @@ "source": [ "obj-553", 0 ] } }, - { - "patchline": { - "destination": [ "obj-59", 0 ], - "source": [ "obj-56", 2 ] - } - }, - { - "patchline": { - "destination": [ "obj-60", 0 ], - "source": [ "obj-58", 0 ] - } - }, - { - "patchline": { - "destination": [ "obj-58", 0 ], - "source": [ "obj-59", 1 ] - } - }, - { - "patchline": { - "destination": [ "obj-62", 0 ], - "source": [ "obj-59", 0 ] - } - }, - { - "patchline": { - "destination": [ "obj-61", 0 ], - "source": [ "obj-60", 0 ] - } - }, - { - "patchline": { - "destination": [ "obj-62", 1 ], - "source": [ "obj-61", 0 ] - } - }, - { - "patchline": { - "destination": [ "obj-63", 0 ], - "source": [ "obj-62", 0 ] - } - }, - { - "patchline": { - "destination": [ "obj-66", 0 ], - "source": [ "obj-63", 0 ] - } - }, - { - "patchline": { - "destination": [ "obj-29", 0 ], - "source": [ "obj-65", 0 ] - } - }, - { - "patchline": { - "destination": [ "obj-64", 0 ], - "source": [ "obj-66", 0 ] - } - }, { "patchline": { "destination": [ "obj-11", 0 ], @@ -14032,7 +16487,7 @@ "numinlets": 1, "numoutlets": 1, "outlettype": [ "" ], - "patching_rect": [ 1944.0, 245.5, 199.0, 22.0 ], + "patching_rect": [ 1944.0, 245.5, 206.0, 22.0 ], "text": "pv dataset_name #0_placeholder" } }, @@ -14064,7 +16519,7 @@ "numinlets": 0, "numoutlets": 1, "outlettype": [ "" ], - "patching_rect": [ 1022.0, 343.0, 222.0, 22.0 ], + "patching_rect": [ 1022.0, 343.0, 229.0, 22.0 ], "text": "r #0_update_highlighted_point_colors" } }, @@ -14075,7 +16530,7 @@ "numinlets": 0, "numoutlets": 1, "outlettype": [ "" ], - "patching_rect": [ 1005.0, 619.0, 157.0, 22.0 ], + "patching_rect": [ 1005.0, 619.0, 164.0, 22.0 ], "text": "r #0_update_point_colors" } }, @@ -14085,7 +16540,7 @@ "maxclass": "newobj", "numinlets": 1, "numoutlets": 0, - "patching_rect": [ 1687.0, 612.5, 153.0, 22.0 ], + "patching_rect": [ 1687.0, 590.0, 159.0, 22.0 ], "text": "s #0_redraw_highlighted" } }, @@ -14100,17 +16555,6 @@ "text": "t b l b" } }, - { - "box": { - "id": "obj-163", - "maxclass": "newobj", - "numinlets": 0, - "numoutlets": 1, - "outlettype": [ "" ], - "patching_rect": [ 928.0, 561.0, 112.0, 22.0 ], - "text": "r #0_to_jit_buffer" - } - }, { "box": { "id": "obj-121", @@ -14118,7 +16562,7 @@ "numinlets": 0, "numoutlets": 1, "outlettype": [ "" ], - "patching_rect": [ 1028.0, 417.0, 160.0, 22.0 ], + "patching_rect": [ 1028.0, 417.0, 167.0, 22.0 ], "text": "r #0_to_highlighted_mesh" } }, @@ -14149,7 +16593,7 @@ "numinlets": 0, "numoutlets": 1, "outlettype": [ "" ], - "patching_rect": [ 1032.0, 685.5, 128.0, 22.0 ], + "patching_rect": [ 1032.0, 685.5, 135.0, 22.0 ], "text": "r #0_to_main_mesh" } }, @@ -14171,7 +16615,7 @@ "numinlets": 0, "numoutlets": 1, "outlettype": [ "" ], - "patching_rect": [ 1312.0, 731.0, 125.0, 22.0 ], + "patching_rect": [ 1312.0, 731.0, 131.0, 22.0 ], "text": "r #0_mousing_gate" } }, @@ -14235,7 +16679,7 @@ "numinlets": 1, "numoutlets": 2, "outlettype": [ "", "" ], - "patching_rect": [ 1943.0, 804.0, 219.0, 22.0 ], + "patching_rect": [ 1943.0, 804.0, 226.0, 22.0 ], "text": "fluid.labelset~ #0_placeholder_labels" } }, @@ -14257,7 +16701,7 @@ "numinlets": 1, "numoutlets": 2, "outlettype": [ "", "" ], - "patching_rect": [ 1943.0, 774.0, 179.0, 22.0 ], + "patching_rect": [ 1943.0, 774.0, 186.0, 22.0 ], "text": "fluid.dataset~ #0_placeholder" } }, @@ -14279,7 +16723,7 @@ "numinlets": 1, "numoutlets": 2, "outlettype": [ "jit_matrix", "" ], - "patching_rect": [ 1005.0, 379.0, 219.0, 22.0 ], + "patching_rect": [ 1005.0, 379.0, 226.0, 22.0 ], "text": "jit.matrix #0_highlighted_point_colors" } }, @@ -14290,7 +16734,7 @@ "numinlets": 1, "numoutlets": 2, "outlettype": [ "jit_matrix", "" ], - "patching_rect": [ 1944.0, 79.0, 214.0, 22.0 ], + "patching_rect": [ 1944.0, 79.0, 221.0, 22.0 ], "text": "jit.matrix #0_point_colors 4 float32 1" } }, @@ -14306,7 +16750,7 @@ "appversion": { "major": 9, "minor": 1, - "revision": 1, + "revision": 4, "architecture": "x64", "modernui": 1 }, @@ -14515,7 +16959,7 @@ "appversion": { "major": 9, "minor": 1, - "revision": 1, + "revision": 4, "architecture": "x64", "modernui": 1 }, @@ -14942,12 +17386,12 @@ "appversion": { "major": 9, "minor": 1, - "revision": 1, + "revision": 4, "architecture": "x64", "modernui": 1 }, "classnamespace": "box", - "rect": [ -348.0, -1321.0, 304.0, 799.0 ], + "rect": [ 134.0, 167.0, 304.0, 799.0 ], "boxes": [ { "box": { @@ -14989,8 +17433,8 @@ "numinlets": 1, "numoutlets": 2, "outlettype": [ "", "" ], - "patching_rect": [ 106.0, 340.0, 134.0, 22.0 ], - "text": "fluid.labelset~ #0_ids" + "patching_rect": [ 106.0, 340.0, 156.0, 22.0 ], + "text": "fluid.labelset~ #0_frames" } }, { @@ -15384,7 +17828,7 @@ "numinlets": 1, "numoutlets": 2, "outlettype": [ "jit_matrix", "" ], - "patching_rect": [ 1005.0, 655.0, 155.0, 22.0 ], + "patching_rect": [ 1005.0, 655.0, 161.0, 22.0 ], "text": "jit.matrix #0_point_colors" } }, @@ -15434,7 +17878,7 @@ "appversion": { "major": 9, "minor": 1, - "revision": 1, + "revision": 4, "architecture": "x64", "modernui": 1 }, @@ -15807,17 +18251,6 @@ "text": "js fluid.jit.plotter.resize.pwindow" } }, - { - "box": { - "id": "obj-9", - "maxclass": "newobj", - "numinlets": 1, - "numoutlets": 3, - "outlettype": [ "jit_matrix", "jit_matrix", "" ], - "patching_rect": [ 928.0, 590.0, 58.0, 22.0 ], - "text": "jit.buffer~" - } - }, { "box": { "comment": "normalized mouse XY", @@ -15859,7 +18292,7 @@ "numinlets": 1, "numoutlets": 2, "outlettype": [ "jit_matrix", "" ], - "patching_rect": [ 938.0, 311.0, 187.0, 22.0 ], + "patching_rect": [ 938.0, 311.0, 193.0, 22.0 ], "text": "jit.matrix #0_highlighted_points" } }, @@ -15875,7 +18308,7 @@ "appversion": { "major": 9, "minor": 1, - "revision": 1, + "revision": 4, "architecture": "x64", "modernui": 1 }, @@ -16174,7 +18607,7 @@ "numinlets": 9, "numoutlets": 2, "outlettype": [ "", "" ], - "patching_rect": [ 938.0, 459.0, 294.0, 76.0 ], + "patching_rect": [ 938.0, 459.0, 300.0, 76.0 ], "text": "jit.gl.mesh @draw_mode points @antialias 1 @gl_color 0 0 0 1 @enable 0 @drawto #0_fluid.jit.plotter.node @point_mode user_shader @shader #0_highlighted_points_render @blend_enable 0 @depth_enable 1 @layer 1" } }, @@ -16197,7 +18630,7 @@ "numinlets": 9, "numoutlets": 2, "outlettype": [ "", "" ], - "patching_rect": [ 938.0, 722.0, 298.0, 62.0 ], + "patching_rect": [ 938.0, 722.0, 317.0, 62.0 ], "text": "jit.gl.mesh @draw_mode points @antialias 1 @gl_color 0 0 0 1 @drawto #0_fluid.jit.plotter.node @point_mode user_shader @shader #0_points_render @depth_enable 0 @blend_enable 1" } } @@ -16335,12 +18768,6 @@ "source": [ "obj-16", 2 ] } }, - { - "patchline": { - "destination": [ "obj-9", 0 ], - "source": [ "obj-163", 0 ] - } - }, { "patchline": { "destination": [ "obj-20", 0 ], @@ -16656,12 +19083,6 @@ "source": [ "obj-59", 0 ] } }, - { - "patchline": { - "destination": [ "obj-65", 0 ], - "source": [ "obj-59", 2 ] - } - }, { "patchline": { "destination": [ "obj-585", 0 ], @@ -16710,6 +19131,12 @@ "source": [ "obj-72", 0 ] } }, + { + "patchline": { + "destination": [ "obj-166", 0 ], + "source": [ "obj-73", 0 ] + } + }, { "patchline": { "destination": [ "obj-554", 3 ], @@ -16784,12 +19211,6 @@ "source": [ "obj-88", 1 ] } }, - { - "patchline": { - "destination": [ "obj-166", 0 ], - "source": [ "obj-9", 0 ] - } - }, { "patchline": { "destination": [ "obj-58", 0 ],