# HG changeset patch # User Andrew N Robertson # Date 1329949008 0 # Node ID c49a8f33afabd37acbeaa55a7cf955dfaf90a31b # Parent 690ec1eb8180a8ada410a509820b7c00a78d76c9 adding new OF source diff -r 690ec1eb8180 -r c49a8f33afab .DS_Store Binary file .DS_Store has changed diff -r 690ec1eb8180 -r c49a8f33afab BayesianDrumSyncPatch.maxpat --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/BayesianDrumSyncPatch.maxpat Wed Feb 22 22:16:48 2012 +0000 @@ -0,0 +1,17564 @@ +{ + "patcher" : { + "fileversion" : 1, + "rect" : [ 192.0, 63.0, 1488.0, 905.0 ], + "bglocked" : 0, + "defrect" : [ 192.0, 63.0, 1488.0, 905.0 ], + "openrect" : [ 0.0, 0.0, 0.0, 0.0 ], + "openinpresentation" : 1, + "default_fontsize" : 10.0, + "default_fontface" : 0, + "default_fontname" : "Verdana", + "gridonopen" : 0, + "gridsize" : [ 5.0, 5.0 ], + "gridsnaponopen" : 0, + "toolbarvisible" : 1, + "boxanimatetime" : 200, + "imprint" : 0, + "enablehscroll" : 1, + "enablevscroll" : 1, + "devicewidth" : 0.0, + "boxes" : [ { + "box" : { + "maxclass" : "newobj", + "text" : "delay 500", + "fontsize" : 10.0, + "patching_rect" : [ 1033.0, 622.0, 60.0, 19.0 ], + "numinlets" : 2, + "id" : "obj-52", + "fontname" : "Verdana", + "numoutlets" : 1, + "outlettype" : [ "bang" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "r endplay", + "fontsize" : 10.0, + "patching_rect" : [ 1037.0, 592.0, 58.0, 19.0 ], + "numinlets" : 0, + "id" : "obj-16", + "fontname" : "Verdana", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "p phasorsyncpatch", + "fontsize" : 10.0, + "patching_rect" : [ 195.0, 689.0, 105.0, 19.0 ], + "numinlets" : 2, + "id" : "obj-15", + "fontname" : "Verdana", + "numoutlets" : 2, + "outlettype" : [ "bang", "float" ], + "patcher" : { + "fileversion" : 1, + "rect" : [ 25.0, 69.0, 1041.0, 594.0 ], + "bglocked" : 0, + "defrect" : [ 25.0, 69.0, 1041.0, 594.0 ], + "openrect" : [ 0.0, 0.0, 0.0, 0.0 ], + "openinpresentation" : 0, + "default_fontsize" : 12.0, + "default_fontface" : 0, + "default_fontname" : "Arial", + "gridonopen" : 0, + "gridsize" : [ 15.0, 15.0 ], + "gridsnaponopen" : 0, + "toolbarvisible" : 1, + "boxanimatetime" : 200, + "imprint" : 0, + "enablehscroll" : 1, + "enablevscroll" : 1, + "devicewidth" : 0.0, + "boxes" : [ { + "box" : { + "maxclass" : "newobj", + "text" : "loadmess 500", + "fontsize" : 12.0, + "patching_rect" : [ 610.0, 74.0, 85.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-2", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "f 0.", + "fontsize" : 11.595187, + "patching_rect" : [ 220.0, 178.0, 32.5, 20.0 ], + "numinlets" : 2, + "id" : "obj-13", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "float" ] + } + + } +, { + "box" : { + "maxclass" : "message", + "text" : "0", + "fontsize" : 11.595187, + "patching_rect" : [ 178.0, 351.0, 32.5, 18.0 ], + "numinlets" : 2, + "id" : "obj-12", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "message", + "text" : "0", + "fontsize" : 11.595187, + "patching_rect" : [ 135.0, 307.0, 32.5, 18.0 ], + "numinlets" : 2, + "id" : "obj-10", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "sel 0 1", + "fontsize" : 11.595187, + "patching_rect" : [ 132.0, 270.0, 46.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-8", + "fontname" : "Arial", + "numoutlets" : 3, + "outlettype" : [ "bang", "bang", "" ] + } + + } +, { + "box" : { + "maxclass" : "toggle", + "patching_rect" : [ 132.0, 233.0, 20.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-7", + "numoutlets" : 1, + "outlettype" : [ "int" ] + } + + } +, { + "box" : { + "maxclass" : "inlet", + "patching_rect" : [ 72.0, 46.0, 25.0, 25.0 ], + "numinlets" : 0, + "id" : "obj-1", + "numoutlets" : 1, + "outlettype" : [ "int" ], + "comment" : "" + } + + } +, { + "box" : { + "maxclass" : "outlet", + "patching_rect" : [ 394.0, 425.0, 25.0, 25.0 ], + "numinlets" : 1, + "id" : "obj-57", + "numoutlets" : 0, + "comment" : "" + } + + } +, { + "box" : { + "maxclass" : "outlet", + "patching_rect" : [ 344.0, 424.0, 25.0, 25.0 ], + "numinlets" : 1, + "id" : "obj-56", + "numoutlets" : 0, + "comment" : "" + } + + } +, { + "box" : { + "maxclass" : "inlet", + "patching_rect" : [ 329.0, 104.0, 25.0, 25.0 ], + "numinlets" : 0, + "id" : "obj-53", + "numoutlets" : 1, + "outlettype" : [ "float" ], + "comment" : "" + } + + } +, { + "box" : { + "maxclass" : "number", + "fontsize" : 11.595187, + "patching_rect" : [ 435.0, 429.0, 50.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-52", + "fontname" : "Arial", + "numoutlets" : 2, + "outlettype" : [ "int", "bang" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "timer", + "fontsize" : 11.595187, + "patching_rect" : [ 410.0, 363.0, 36.0, 20.0 ], + "numinlets" : 2, + "id" : "obj-50", + "fontname" : "Arial", + "numoutlets" : 2, + "outlettype" : [ "float", "" ] + } + + } +, { + "box" : { + "maxclass" : "message", + "text" : "8000", + "fontsize" : 11.595187, + "patching_rect" : [ 704.0, 130.0, 36.0, 18.0 ], + "numinlets" : 2, + "id" : "obj-49", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "message", + "text" : "4000", + "fontsize" : 11.595187, + "patching_rect" : [ 663.0, 128.0, 36.0, 18.0 ], + "numinlets" : 2, + "id" : "obj-47", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "message", + "text" : "2000", + "fontsize" : 11.595187, + "patching_rect" : [ 624.0, 128.0, 36.0, 18.0 ], + "numinlets" : 2, + "id" : "obj-45", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "message", + "text" : "1000", + "fontsize" : 11.595187, + "patching_rect" : [ 585.0, 128.0, 36.0, 18.0 ], + "numinlets" : 2, + "id" : "obj-43", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "expr (1000 / $f1)", + "fontsize" : 11.595187, + "patching_rect" : [ 328.0, 154.0, 96.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-41", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "button", + "patching_rect" : [ 335.0, 370.847229, 20.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-36", + "numoutlets" : 1, + "outlettype" : [ "bang" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "edge~", + "fontsize" : 11.595187, + "patching_rect" : [ 328.0, 324.083313, 43.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-37", + "fontname" : "Arial", + "numoutlets" : 2, + "outlettype" : [ "bang", "bang" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "<~ -0.5", + "fontsize" : 11.595187, + "patching_rect" : [ 328.0, 295.402771, 47.0, 20.0 ], + "numinlets" : 2, + "id" : "obj-38", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "signal" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "delta~", + "fontsize" : 12.0, + "patching_rect" : [ 328.0, 270.0, 44.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-40", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "signal" ] + } + + } +, { + "box" : { + "maxclass" : "flonum", + "fontsize" : 11.595187, + "patching_rect" : [ 328.0, 188.0, 50.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-19", + "fontname" : "Arial", + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ] + } + + } +, { + "box" : { + "maxclass" : "flonum", + "fontsize" : 11.595187, + "patching_rect" : [ 539.0, 188.0, 50.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-20", + "fontname" : "Arial", + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "phasor~ 2", + "fontsize" : 11.595187, + "patching_rect" : [ 328.0, 234.0, 230.0, 20.0 ], + "numinlets" : 2, + "id" : "obj-25", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "signal" ] + } + + } +, { + "box" : { + "maxclass" : "comment", + "text" : "float/signal in sets frequency", + "fontsize" : 11.595187, + "patching_rect" : [ 377.0, 188.0, 155.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-27", + "fontname" : "Arial", + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "comment", + "text" : "float in sets phase", + "fontsize" : 11.595187, + "patching_rect" : [ 589.0, 188.0, 102.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-28", + "fontname" : "Arial", + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "comment", + "text" : "optional argument specifies initial frequency (default 0)", + "linecount" : 2, + "fontsize" : 11.595187, + "patching_rect" : [ 560.0, 227.0, 153.0, 33.0 ], + "numinlets" : 1, + "id" : "obj-31", + "fontname" : "Arial", + "numoutlets" : 0 + } + + } + ], + "lines" : [ { + "patchline" : { + "source" : [ "obj-13", 0 ], + "destination" : [ "obj-41", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-50", 0 ], + "destination" : [ "obj-57", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-36", 0 ], + "destination" : [ "obj-56", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-53", 0 ], + "destination" : [ "obj-41", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-20", 0 ], + "destination" : [ "obj-25", 1 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-19", 0 ], + "destination" : [ "obj-25", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-25", 0 ], + "destination" : [ "obj-40", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-50", 0 ], + "destination" : [ "obj-52", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-36", 0 ], + "destination" : [ "obj-50", 1 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-36", 0 ], + "destination" : [ "obj-50", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-49", 0 ], + "destination" : [ "obj-41", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-47", 0 ], + "destination" : [ "obj-41", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-45", 0 ], + "destination" : [ "obj-41", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-41", 0 ], + "destination" : [ "obj-19", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-43", 0 ], + "destination" : [ "obj-41", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-37", 0 ], + "destination" : [ "obj-36", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-38", 0 ], + "destination" : [ "obj-37", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-40", 0 ], + "destination" : [ "obj-38", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-1", 0 ], + "destination" : [ "obj-7", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-7", 0 ], + "destination" : [ "obj-8", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-8", 0 ], + "destination" : [ "obj-10", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-10", 0 ], + "destination" : [ "obj-20", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-10", 0 ], + "destination" : [ "obj-19", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-8", 1 ], + "destination" : [ "obj-12", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-12", 0 ], + "destination" : [ "obj-20", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-53", 0 ], + "destination" : [ "obj-13", 1 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-8", 1 ], + "destination" : [ "obj-13", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-2", 0 ], + "destination" : [ "obj-41", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } + ] + } +, + "saved_object_attributes" : { + "fontsize" : 12.0, + "default_fontface" : 0, + "default_fontname" : "Arial", + "fontname" : "Arial", + "default_fontsize" : 12.0, + "globalpatchername" : "", + "fontface" : 0 + } + + } + + } +, { + "box" : { + "maxclass" : "button", + "presentation_rect" : [ 284.0, 477.0, 20.0, 20.0 ], + "patching_rect" : [ 486.0, 790.0, 20.0, 20.0 ], + "numinlets" : 1, + "presentation" : 1, + "id" : "obj-158", + "numoutlets" : 1, + "outlettype" : [ "bang" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "s count_reset", + "fontsize" : 10.0, + "presentation_rect" : [ 293.0, 478.0, 79.0, 19.0 ], + "patching_rect" : [ 486.0, 816.0, 79.0, 19.0 ], + "numinlets" : 1, + "presentation" : 1, + "id" : "obj-159", + "fontname" : "Verdana", + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "comment", + "text" : "count", + "fontsize" : 10.0, + "presentation_rect" : [ 281.0, 437.0, 45.0, 19.0 ], + "patching_rect" : [ 640.0, 807.0, 150.0, 19.0 ], + "numinlets" : 1, + "presentation" : 1, + "id" : "obj-150", + "fontname" : "Verdana", + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "comment", + "text" : "mean kick error (ms)", + "fontsize" : 10.0, + "presentation_rect" : [ 203.0, 457.0, 118.0, 19.0 ], + "patching_rect" : [ 516.0, 762.0, 150.0, 19.0 ], + "numinlets" : 1, + "presentation" : 1, + "id" : "obj-120", + "fontname" : "Verdana", + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "flonum", + "fontsize" : 10.0, + "presentation_rect" : [ 322.0, 457.0, 50.0, 19.0 ], + "patching_rect" : [ 567.0, 795.0, 50.0, 19.0 ], + "numinlets" : 1, + "presentation" : 1, + "id" : "obj-57", + "fontname" : "Verdana", + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ] + } + + } +, { + "box" : { + "maxclass" : "number", + "fontsize" : 10.0, + "presentation_rect" : [ 322.0, 438.0, 40.0, 19.0 ], + "patching_rect" : [ 515.0, 794.0, 50.0, 19.0 ], + "numinlets" : 1, + "presentation" : 1, + "id" : "obj-33", + "fontname" : "Verdana", + "numoutlets" : 2, + "outlettype" : [ "int", "bang" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "unpack 0. 0. 0. 0.", + "fontsize" : 10.0, + "patching_rect" : [ 745.0, 744.0, 101.0, 19.0 ], + "numinlets" : 1, + "id" : "obj-148", + "fontname" : "Verdana", + "numoutlets" : 4, + "outlettype" : [ "float", "float", "float", "float" ] + } + + } +, { + "box" : { + "maxclass" : "comment", + "text" : "snare errors", + "fontsize" : 12.0, + "presentation_rect" : [ 280.0, 372.0, 79.0, 20.0 ], + "patching_rect" : [ 841.0, 778.0, 79.0, 20.0 ], + "numinlets" : 1, + "presentation" : 1, + "id" : "obj-67", + "fontname" : "Arial", + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "comment", + "text" : "kick errors", + "fontsize" : 12.0, + "presentation_rect" : [ 141.0, 372.0, 79.0, 20.0 ], + "patching_rect" : [ 680.0, 778.0, 79.0, 20.0 ], + "numinlets" : 1, + "presentation" : 1, + "id" : "obj-85", + "fontname" : "Arial", + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "flonum", + "fontsize" : 30.0, + "presentation_rect" : [ 276.0, 390.0, 91.0, 41.0 ], + "patching_rect" : [ 824.0, 796.0, 132.0, 41.0 ], + "numinlets" : 1, + "presentation" : 1, + "id" : "obj-104", + "fontname" : "Arial", + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ] + } + + } +, { + "box" : { + "maxclass" : "flonum", + "fontsize" : 30.0, + "presentation_rect" : [ 139.0, 389.0, 91.0, 41.0 ], + "patching_rect" : [ 687.0, 795.0, 132.0, 41.0 ], + "numinlets" : 1, + "presentation" : 1, + "id" : "obj-146", + "fontname" : "Arial", + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ] + } + + } +, { + "box" : { + "maxclass" : "message", + "text" : "/setBeatNow 0.", + "linecount" : 2, + "fontsize" : 10.0, + "patching_rect" : [ 480.0, 584.0, 50.0, 29.0 ], + "numinlets" : 2, + "id" : "obj-143", + "fontname" : "Verdana", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "/ 2.", + "fontsize" : 10.0, + "patching_rect" : [ 272.0, 174.0, 32.5, 19.0 ], + "numinlets" : 2, + "id" : "obj-98", + "fontname" : "Verdana", + "numoutlets" : 1, + "outlettype" : [ "float" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "split 150 850", + "fontsize" : 10.0, + "patching_rect" : [ 207.0, 124.0, 77.0, 19.0 ], + "numinlets" : 3, + "id" : "obj-90", + "fontname" : "Verdana", + "numoutlets" : 2, + "outlettype" : [ "int", "int" ] + } + + } +, { + "box" : { + "maxclass" : "number", + "fontsize" : 10.0, + "patching_rect" : [ 183.0, 159.0, 50.0, 19.0 ], + "numinlets" : 1, + "id" : "obj-88", + "fontname" : "Verdana", + "numoutlets" : 2, + "outlettype" : [ "int", "bang" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "timer", + "fontsize" : 10.0, + "patching_rect" : [ 207.0, 99.0, 37.0, 19.0 ], + "numinlets" : 2, + "id" : "obj-80", + "fontname" : "Verdana", + "numoutlets" : 2, + "outlettype" : [ "float", "" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "sel 32", + "fontsize" : 10.0, + "patching_rect" : [ 207.0, 72.0, 41.0, 19.0 ], + "numinlets" : 2, + "id" : "obj-78", + "fontname" : "Verdana", + "numoutlets" : 2, + "outlettype" : [ "bang", "" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "key", + "fontsize" : 10.0, + "patching_rect" : [ 207.0, 39.0, 59.5, 19.0 ], + "numinlets" : 0, + "id" : "obj-70", + "fontname" : "Verdana", + "numoutlets" : 4, + "outlettype" : [ "int", "int", "int", "int" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "loadmess 1", + "fontsize" : 10.0, + "patching_rect" : [ 129.0, 237.0, 68.0, 19.0 ], + "numinlets" : 1, + "id" : "obj-38", + "fontname" : "Verdana", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "loadmess 1", + "fontsize" : 10.0, + "patching_rect" : [ 352.0, 57.0, 68.0, 19.0 ], + "numinlets" : 1, + "id" : "obj-134", + "fontname" : "Verdana", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "s autothresholdMode", + "fontsize" : 10.0, + "presentation_rect" : [ 193.0, 25.0, 115.0, 19.0 ], + "patching_rect" : [ 352.0, 112.0, 115.0, 19.0 ], + "numinlets" : 1, + "presentation" : 1, + "id" : "obj-124", + "fontname" : "Verdana", + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "toggle", + "presentation_rect" : [ 168.0, 25.0, 20.0, 20.0 ], + "patching_rect" : [ 352.0, 83.0, 20.0, 20.0 ], + "numinlets" : 1, + "presentation" : 1, + "id" : "obj-112", + "numoutlets" : 1, + "outlettype" : [ "int" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "prepend set", + "fontsize" : 10.0, + "patching_rect" : [ 689.0, 252.0, 70.0, 19.0 ], + "numinlets" : 1, + "id" : "obj-96", + "fontname" : "Verdana", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "prepend set", + "fontsize" : 10.0, + "patching_rect" : [ 609.0, 251.0, 70.0, 19.0 ], + "numinlets" : 1, + "id" : "obj-92", + "fontname" : "Verdana", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "r set_snare", + "fontsize" : 10.0, + "patching_rect" : [ 610.0, 225.0, 68.0, 19.0 ], + "numinlets" : 0, + "id" : "obj-94", + "fontname" : "Verdana", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "r set_kick", + "fontsize" : 10.0, + "patching_rect" : [ 689.0, 225.0, 60.0, 19.0 ], + "numinlets" : 0, + "id" : "obj-89", + "fontname" : "Verdana", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "comment", + "text" : "stick hits to start", + "fontsize" : 10.0, + "presentation_rect" : [ 221.0, 75.0, 150.0, 19.0 ], + "patching_rect" : [ 562.0, 881.0, 150.0, 19.0 ], + "numinlets" : 1, + "presentation" : 1, + "id" : "obj-43", + "fontname" : "Verdana", + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "message", + "text" : "2", + "fontsize" : 10.0, + "patching_rect" : [ 1080.0, 230.0, 32.5, 17.0 ], + "numinlets" : 2, + "id" : "obj-97", + "fontname" : "Verdana", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "message", + "text" : "1", + "fontsize" : 10.0, + "patching_rect" : [ 1040.0, 230.0, 32.5, 17.0 ], + "numinlets" : 2, + "id" : "obj-95", + "fontname" : "Verdana", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "select main intro", + "fontsize" : 10.0, + "patching_rect" : [ 1040.0, 204.0, 95.0, 19.0 ], + "numinlets" : 1, + "id" : "obj-87", + "fontname" : "Verdana", + "numoutlets" : 3, + "outlettype" : [ "bang", "bang", "" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "gate 2", + "fontsize" : 10.0, + "patching_rect" : [ 1081.0, 249.0, 43.0, 19.0 ], + "numinlets" : 2, + "id" : "obj-9", + "fontname" : "Verdana", + "numoutlets" : 2, + "outlettype" : [ "", "" ] + } + + } +, { + "box" : { + "maxclass" : "comment", + "text" : "set beat to NOW", + "fontsize" : 10.0, + "presentation_rect" : [ 83.0, 142.0, 96.0, 19.0 ], + "patching_rect" : [ 596.0, 449.0, 150.0, 19.0 ], + "numinlets" : 1, + "presentation" : 1, + "id" : "obj-77", + "fontname" : "Verdana", + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "comment", + "text" : "beat period", + "fontsize" : 10.0, + "presentation_rect" : [ 247.0, 197.0, 72.0, 19.0 ], + "patching_rect" : [ 422.0, 719.0, 154.0, 19.0 ], + "numinlets" : 1, + "presentation" : 1, + "id" : "obj-41", + "fontname" : "Verdana", + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "comment", + "text" : "click (MaxMSP internal / External Audio Click)", + "linecount" : 2, + "fontsize" : 10.0, + "presentation_rect" : [ 419.0, 612.0, 254.0, 19.0 ], + "patching_rect" : [ 801.0, 655.0, 150.0, 31.0 ], + "numinlets" : 1, + "presentation" : 1, + "id" : "obj-28", + "fontname" : "Verdana", + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "comment", + "text" : "set volume levels and press play. The menu on left is what beat tracker click you will hear", + "linecount" : 4, + "fontsize" : 10.0, + "patching_rect" : [ 552.0, 133.0, 155.0, 55.0 ], + "numinlets" : 1, + "id" : "obj-242", + "fontname" : "Verdana", + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "comment", + "text" : "set starting tempo (roughly)", + "linecount" : 2, + "fontsize" : 10.0, + "patching_rect" : [ 551.0, 89.0, 150.0, 31.0 ], + "numinlets" : 1, + "id" : "obj-233", + "fontname" : "Verdana", + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "comment", + "text" : "set the keyboard input if tapping along", + "linecount" : 2, + "fontsize" : 10.0, + "patching_rect" : [ 553.0, 47.0, 150.0, 31.0 ], + "numinlets" : 1, + "id" : "obj-231", + "fontname" : "Verdana", + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "comment", + "text" : "load files on the right with the open", + "linecount" : 2, + "fontsize" : 10.0, + "patching_rect" : [ 552.0, 5.0, 150.0, 31.0 ], + "numinlets" : 1, + "id" : "obj-101", + "fontname" : "Verdana", + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "p eventCounter", + "fontsize" : 10.0, + "patching_rect" : [ 774.0, 613.0, 88.0, 19.0 ], + "numinlets" : 4, + "id" : "obj-237", + "fontname" : "Verdana", + "numoutlets" : 0, + "patcher" : { + "fileversion" : 1, + "rect" : [ 25.0, 69.0, 1118.0, 556.0 ], + "bglocked" : 0, + "defrect" : [ 25.0, 69.0, 1118.0, 556.0 ], + "openrect" : [ 0.0, 0.0, 0.0, 0.0 ], + "openinpresentation" : 0, + "default_fontsize" : 12.0, + "default_fontface" : 0, + "default_fontname" : "Arial", + "gridonopen" : 0, + "gridsize" : [ 15.0, 15.0 ], + "gridsnaponopen" : 0, + "toolbarvisible" : 1, + "boxanimatetime" : 200, + "imprint" : 0, + "enablehscroll" : 1, + "enablevscroll" : 1, + "devicewidth" : 0.0, + "boxes" : [ { + "box" : { + "maxclass" : "inlet", + "patching_rect" : [ 641.0, 91.0, 25.0, 25.0 ], + "numinlets" : 0, + "id" : "obj-12", + "numoutlets" : 1, + "outlettype" : [ "bang" ], + "comment" : "" + } + + } +, { + "box" : { + "maxclass" : "inlet", + "patching_rect" : [ 376.0, 64.0, 25.0, 25.0 ], + "numinlets" : 0, + "id" : "obj-13", + "numoutlets" : 1, + "outlettype" : [ "" ], + "comment" : "" + } + + } +, { + "box" : { + "maxclass" : "message", + "text" : "481 0 144855.875", + "fontsize" : 12.0, + "patching_rect" : [ 311.0, 429.0, 125.0, 18.0 ], + "numinlets" : 2, + "id" : "obj-11", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "message", + "text" : "0", + "fontsize" : 12.0, + "patching_rect" : [ 252.0, 115.0, 32.5, 18.0 ], + "numinlets" : 2, + "id" : "obj-8", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "message", + "text" : "1", + "fontsize" : 12.0, + "patching_rect" : [ 204.0, 113.0, 32.5, 18.0 ], + "numinlets" : 2, + "id" : "obj-5", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "inlet", + "patching_rect" : [ 252.0, 74.0, 25.0, 25.0 ], + "numinlets" : 0, + "id" : "obj-3", + "numoutlets" : 1, + "outlettype" : [ "bang" ], + "comment" : "" + } + + } +, { + "box" : { + "maxclass" : "message", + "text" : "clear", + "fontsize" : 12.0, + "patching_rect" : [ 241.0, 395.0, 37.0, 18.0 ], + "numinlets" : 2, + "id" : "obj-9", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "coll", + "fontsize" : 12.0, + "patching_rect" : [ 149.0, 429.0, 59.5, 20.0 ], + "numinlets" : 1, + "id" : "obj-7", + "fontname" : "Arial", + "numoutlets" : 4, + "outlettype" : [ "", "", "", "" ], + "saved_object_attributes" : { + "embed" : 0 + } + + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "append", + "fontsize" : 12.0, + "patching_rect" : [ 784.024841, 349.0, 51.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-28", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "prepend set", + "fontsize" : 12.0, + "patching_rect" : [ 900.0, 317.0, 74.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-27", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "loadbang", + "fontsize" : 12.0, + "patching_rect" : [ 900.0, 230.0, 60.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-16", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "bang" ] + } + + } +, { + "box" : { + "maxclass" : "message", + "text" : "BonkEvents", + "fontsize" : 12.0, + "patching_rect" : [ 900.0, 259.0, 75.0, 18.0 ], + "numinlets" : 2, + "id" : "obj-17", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "atoi", + "fontsize" : 10.0, + "patching_rect" : [ 900.0, 287.694214, 46.0, 18.0 ], + "numinlets" : 3, + "id" : "obj-21", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "list" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "t b b", + "fontsize" : 12.0, + "patching_rect" : [ 636.0, 156.0, 34.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-45", + "fontname" : "Arial", + "numoutlets" : 2, + "outlettype" : [ "bang", "bang" ] + } + + } +, { + "box" : { + "maxclass" : "message", + "text" : "getnamed newkicker", + "fontsize" : 11.595187, + "patching_rect" : [ 652.0, 182.0, 125.0, 18.0 ], + "numinlets" : 2, + "id" : "obj-18", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "message", + "text" : "JamesAl_Kick_Funk.wav", + "fontsize" : 11.595187, + "patching_rect" : [ 622.599976, 264.0, 205.0, 18.0 ], + "numinlets" : 2, + "id" : "obj-19", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "sfinfo~", + "fontsize" : 11.595187, + "patching_rect" : [ 584.0, 229.0, 234.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-30", + "fontname" : "Arial", + "numoutlets" : 6, + "outlettype" : [ "int", "int", "float", "float", "", "" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "prepend write", + "fontsize" : 10.0, + "patching_rect" : [ 620.561951, 423.586792, 71.0, 18.0 ], + "numinlets" : 1, + "id" : "obj-93", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "message", + "text" : "JamesAl_Kick_FunkBonkEvents", + "fontsize" : 10.0, + "presentation_rect" : [ 362.0, 197.0, 177.0, 16.0 ], + "patching_rect" : [ 621.561951, 398.586792, 177.0, 16.0 ], + "numinlets" : 2, + "presentation" : 1, + "id" : "obj-74", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "itoa", + "fontsize" : 10.0, + "patching_rect" : [ 784.024841, 372.033081, 46.0, 18.0 ], + "numinlets" : 3, + "id" : "obj-72", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "int" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "atoi", + "fontsize" : 10.0, + "patching_rect" : [ 784.024841, 295.694214, 46.0, 18.0 ], + "numinlets" : 3, + "id" : "obj-71", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "list" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "zl ecils 4", + "fontsize" : 10.0, + "patching_rect" : [ 784.024841, 318.694214, 49.0, 18.0 ], + "numinlets" : 2, + "id" : "obj-20", + "fontname" : "Arial", + "numoutlets" : 2, + "outlettype" : [ "", "" ] + } + + } +, { + "box" : { + "maxclass" : "button", + "patching_rect" : [ 623.388428, 366.0, 20.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-43", + "numoutlets" : 1, + "outlettype" : [ "bang" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "r start", + "fontsize" : 12.0, + "patching_rect" : [ 254.0, 233.0, 41.0, 20.0 ], + "numinlets" : 0, + "id" : "obj-47", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "button", + "patching_rect" : [ 255.0, 270.0, 20.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-124", + "numoutlets" : 1, + "outlettype" : [ "bang" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "counter 0 0 1000", + "fontsize" : 10.0, + "patching_rect" : [ 79.0, 320.0, 98.0, 19.0 ], + "numinlets" : 5, + "id" : "obj-99", + "fontname" : "Verdana", + "numoutlets" : 4, + "outlettype" : [ "int", "", "", "int" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "- 0.", + "fontsize" : 12.0, + "patching_rect" : [ 197.0, 355.0, 32.5, 20.0 ], + "numinlets" : 2, + "id" : "obj-67", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "float" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "cpuclock", + "fontsize" : 12.0, + "patching_rect" : [ 258.0, 352.0, 57.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-68", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "float" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "r start", + "fontsize" : 12.0, + "patching_rect" : [ 258.0, 322.0, 41.0, 20.0 ], + "numinlets" : 0, + "id" : "obj-31", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "pack 0 1 0.", + "fontsize" : 10.0, + "patching_rect" : [ 149.0, 391.0, 67.0, 19.0 ], + "numinlets" : 3, + "id" : "obj-88", + "fontname" : "Verdana", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "t b i b", + "fontsize" : 10.0, + "patching_rect" : [ 182.0, 161.0, 46.0, 19.0 ], + "numinlets" : 1, + "id" : "obj-85", + "fontname" : "Verdana", + "numoutlets" : 3, + "outlettype" : [ "bang", "int", "bang" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "cpuclock", + "fontsize" : 10.0, + "patching_rect" : [ 197.0, 317.0, 53.0, 19.0 ], + "numinlets" : 1, + "id" : "obj-84", + "fontname" : "Verdana", + "numoutlets" : 1, + "outlettype" : [ "float" ] + } + + } +, { + "box" : { + "maxclass" : "inlet", + "patching_rect" : [ 204.0, 72.0, 25.0, 25.0 ], + "numinlets" : 0, + "id" : "obj-1", + "numoutlets" : 1, + "outlettype" : [ "bang" ], + "comment" : "" + } + + } + ], + "lines" : [ { + "patchline" : { + "source" : [ "obj-12", 0 ], + "destination" : [ "obj-45", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-13", 0 ], + "destination" : [ "obj-124", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-88", 0 ], + "destination" : [ "obj-11", 1 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-85", 1 ], + "destination" : [ "obj-88", 1 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-8", 0 ], + "destination" : [ "obj-85", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-3", 0 ], + "destination" : [ "obj-8", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-5", 0 ], + "destination" : [ "obj-85", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-1", 0 ], + "destination" : [ "obj-5", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-85", 2 ], + "destination" : [ "obj-84", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-85", 0 ], + "destination" : [ "obj-99", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-67", 0 ], + "destination" : [ "obj-88", 2 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-88", 0 ], + "destination" : [ "obj-7", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-99", 0 ], + "destination" : [ "obj-88", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-84", 0 ], + "destination" : [ "obj-67", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-31", 0 ], + "destination" : [ "obj-68", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-68", 0 ], + "destination" : [ "obj-67", 1 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-124", 0 ], + "destination" : [ "obj-99", 3 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-47", 0 ], + "destination" : [ "obj-124", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-45", 0 ], + "destination" : [ "obj-19", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-45", 1 ], + "destination" : [ "obj-18", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-19", 0 ], + "destination" : [ "obj-43", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-19", 0 ], + "destination" : [ "obj-71", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-18", 0 ], + "destination" : [ "obj-30", 0 ], + "hidden" : 0, + "midpoints" : [ 661.5, 217.0, 593.5, 217.0 ] + } + + } +, { + "patchline" : { + "source" : [ "obj-30", 5 ], + "destination" : [ "obj-19", 1 ], + "hidden" : 0, + "midpoints" : [ 808.5, 257.0, 818.099976, 257.0 ] + } + + } +, { + "patchline" : { + "source" : [ "obj-72", 0 ], + "destination" : [ "obj-74", 1 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-43", 0 ], + "destination" : [ "obj-74", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-71", 0 ], + "destination" : [ "obj-20", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-74", 0 ], + "destination" : [ "obj-93", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-17", 0 ], + "destination" : [ "obj-21", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-16", 0 ], + "destination" : [ "obj-17", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-21", 0 ], + "destination" : [ "obj-27", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-20", 0 ], + "destination" : [ "obj-28", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-28", 0 ], + "destination" : [ "obj-72", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-27", 0 ], + "destination" : [ "obj-28", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-93", 0 ], + "destination" : [ "obj-7", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-124", 0 ], + "destination" : [ "obj-9", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-9", 0 ], + "destination" : [ "obj-7", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } + ] + } +, + "saved_object_attributes" : { + "fontsize" : 12.0, + "default_fontface" : 0, + "default_fontname" : "Arial", + "fontname" : "Arial", + "default_fontsize" : 12.0, + "globalpatchername" : "", + "fontface" : 0 + } + + } + + } +, { + "box" : { + "maxclass" : "comment", + "text" : "bayesian", + "fontsize" : 10.0, + "presentation_rect" : [ 101.0, 268.0, 66.0, 19.0 ], + "patching_rect" : [ 417.0, 350.0, 66.0, 19.0 ], + "numinlets" : 1, + "presentation" : 1, + "id" : "obj-60", + "fontname" : "Verdana", + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "comment", + "text" : "btrack", + "fontsize" : 10.0, + "patching_rect" : [ 30.0, 178.0, 43.0, 19.0 ], + "numinlets" : 1, + "id" : "obj-84", + "fontname" : "Verdana", + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "message", + "text" : "controllers", + "fontsize" : 10.0, + "patching_rect" : [ 27.0, 800.0, 63.0, 17.0 ], + "numinlets" : 2, + "id" : "obj-191", + "fontname" : "Verdana", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "button", + "patching_rect" : [ 117.0, 799.0, 20.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-115", + "numoutlets" : 1, + "outlettype" : [ "bang" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "pipe 1000", + "fontsize" : 10.0, + "patching_rect" : [ 114.0, 779.0, 62.0, 19.0 ], + "numinlets" : 2, + "id" : "obj-118", + "fontname" : "Verdana", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "t b l", + "fontsize" : 10.0, + "patching_rect" : [ 73.0, 764.0, 32.5, 19.0 ], + "numinlets" : 1, + "id" : "obj-121", + "fontname" : "Verdana", + "numoutlets" : 2, + "outlettype" : [ "bang", "" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "loadbang", + "fontsize" : 10.0, + "patching_rect" : [ 114.0, 753.0, 56.0, 19.0 ], + "numinlets" : 1, + "id" : "obj-125", + "fontname" : "Verdana", + "numoutlets" : 1, + "outlettype" : [ "bang" ] + } + + } +, { + "box" : { + "maxclass" : "message", + "text" : "set \"from MaxMSP 1\"", + "fontsize" : 9.0, + "patching_rect" : [ 113.0, 818.0, 149.0, 15.0 ], + "numinlets" : 2, + "id" : "obj-135", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "midiinfo", + "fontsize" : 9.0, + "patching_rect" : [ 54.0, 823.0, 46.0, 17.0 ], + "numinlets" : 2, + "id" : "obj-147", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "button", + "patching_rect" : [ 49.0, 766.0, 19.0, 19.0 ], + "numinlets" : 1, + "id" : "obj-149", + "fgcolor" : [ 0.760784, 0.709804, 0.811765, 1.0 ], + "numoutlets" : 1, + "outlettype" : [ "bang" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "s keyboard", + "fontsize" : 9.0, + "patching_rect" : [ 158.0, 885.0, 56.0, 17.0 ], + "numinlets" : 1, + "id" : "obj-156", + "fontname" : "Arial", + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "umenu", + "fontsize" : 18.0, + "items" : [ "IAC Driver Bus 1", ",", "IAC Driver IAC Bus 2", ",", "IAC Driver IAC Bus 3", ",", "to MaxMSP 1", ",", "to MaxMSP 2" ], + "types" : [ ], + "bgcolor" : [ 0.647059, 0.905882, 0.890196, 1.0 ], + "patching_rect" : [ 72.0, 850.0, 222.0, 27.0 ], + "numinlets" : 1, + "id" : "obj-164", + "fontname" : "Arial", + "textcolor" : [ 0.0, 0.098039, 0.392157, 1.0 ], + "numoutlets" : 3, + "outlettype" : [ "int", "", "" ] + } + + } +, { + "box" : { + "maxclass" : "button", + "patching_rect" : [ 83.0, 349.0, 41.0, 41.0 ], + "numinlets" : 1, + "id" : "obj-240", + "numoutlets" : 1, + "outlettype" : [ "bang" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "r bk_test_click", + "fontsize" : 12.0, + "patching_rect" : [ 177.0, 284.0, 87.0, 20.0 ], + "numinlets" : 0, + "id" : "obj-228", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "s phasorToggle", + "fontsize" : 10.0, + "patching_rect" : [ 75.0, 660.0, 86.0, 19.0 ], + "numinlets" : 1, + "id" : "obj-226", + "fontname" : "Verdana", + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "s write_all", + "fontsize" : 10.0, + "patching_rect" : [ 890.0, 631.0, 62.0, 19.0 ], + "numinlets" : 1, + "id" : "obj-166", + "fontname" : "Verdana", + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "comment", + "text" : "write all files", + "fontsize" : 10.0, + "patching_rect" : [ 895.0, 612.0, 79.0, 19.0 ], + "numinlets" : 1, + "id" : "obj-165", + "fontname" : "Verdana", + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "button", + "patching_rect" : [ 872.0, 611.0, 20.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-161", + "numoutlets" : 1, + "outlettype" : [ "bang" ] + } + + } +, { + "box" : { + "maxclass" : "umenu", + "fontsize" : 10.0, + "presentation_rect" : [ 58.0, 225.0, 100.0, 19.0 ], + "items" : [ "none", ",", "Bayesian", ",", "Btrack", ",", "CombFilter", ",", "B-Keeper", ",", "Human", "Tapper" ], + "types" : [ ], + "patching_rect" : [ 129.0, 261.0, 100.0, 19.0 ], + "numinlets" : 1, + "presentation" : 1, + "id" : "obj-99", + "fontname" : "Verdana", + "numoutlets" : 3, + "outlettype" : [ "int", "", "" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "switch 5", + "fontsize" : 10.0, + "patching_rect" : [ 134.0, 307.0, 73.0, 19.0 ], + "numinlets" : 6, + "id" : "obj-91", + "fontname" : "Verdana", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "send~ audioSignal", + "fontsize" : 10.0, + "patching_rect" : [ 283.0, 415.0, 104.0, 19.0 ], + "numinlets" : 1, + "id" : "obj-53", + "fontname" : "Verdana", + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "comment", + "text" : "write files", + "fontsize" : 10.0, + "patching_rect" : [ 293.0, 880.0, 150.0, 19.0 ], + "numinlets" : 1, + "id" : "obj-86", + "fontname" : "Verdana", + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "uzi 2", + "fontsize" : 10.0, + "patching_rect" : [ 82.0, 318.0, 46.0, 19.0 ], + "numinlets" : 2, + "id" : "obj-169", + "fontname" : "Verdana", + "numoutlets" : 3, + "outlettype" : [ "bang", "bang", "int" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "r start_bang", + "fontsize" : 10.0, + "patching_rect" : [ 81.0, 285.0, 74.0, 19.0 ], + "numinlets" : 0, + "id" : "obj-168", + "fontname" : "Verdana", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "flonum", + "fontsize" : 10.0, + "presentation_rect" : [ 192.0, 196.0, 50.0, 19.0 ], + "patching_rect" : [ 300.0, 685.0, 50.0, 19.0 ], + "numinlets" : 1, + "presentation" : 1, + "id" : "obj-145", + "fontname" : "Verdana", + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ] + } + + } +, { + "box" : { + "maxclass" : "message", + "text" : "0", + "fontsize" : 10.0, + "patching_rect" : [ 125.0, 707.0, 32.5, 17.0 ], + "numinlets" : 2, + "id" : "obj-123", + "fontname" : "Verdana", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "r reset", + "fontsize" : 10.0, + "patching_rect" : [ 125.0, 678.0, 44.0, 19.0 ], + "numinlets" : 0, + "id" : "obj-119", + "fontname" : "Verdana", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "gain~", + "presentation_rect" : [ 63.0, 317.0, 20.0, 140.0 ], + "interp" : 100.0, + "patching_rect" : [ 135.0, 436.0, 20.0, 140.0 ], + "numinlets" : 2, + "presentation" : 1, + "id" : "obj-117", + "numoutlets" : 2, + "outlettype" : [ "signal", "int" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "loadbang", + "fontsize" : 10.0, + "patching_rect" : [ 173.0, 330.0, 56.0, 19.0 ], + "numinlets" : 1, + "id" : "obj-114", + "fontname" : "Verdana", + "numoutlets" : 1, + "outlettype" : [ "bang" ] + } + + } +, { + "box" : { + "maxclass" : "message", + "text" : "open", + "fontsize" : 10.0, + "patching_rect" : [ 201.0, 376.0, 35.0, 17.0 ], + "numinlets" : 2, + "id" : "obj-113", + "fontname" : "Verdana", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "message", + "text" : "open cow2.wav", + "fontsize" : 10.0, + "patching_rect" : [ 173.0, 354.0, 88.0, 17.0 ], + "numinlets" : 2, + "id" : "obj-102", + "fontname" : "Verdana", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "message", + "text" : "1", + "fontsize" : 10.0, + "patching_rect" : [ 134.0, 357.0, 32.5, 17.0 ], + "numinlets" : 2, + "id" : "obj-100", + "fontname" : "Verdana", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "sfplay~", + "fontsize" : 10.0, + "patching_rect" : [ 134.0, 380.0, 48.0, 19.0 ], + "numinlets" : 2, + "id" : "obj-79", + "fontname" : "Verdana", + "numoutlets" : 2, + "outlettype" : [ "signal", "bang" ], + "save" : [ "#N", "sfplay~", "", 1, 120960, 0, "", ";" ] + } + + } +, { + "box" : { + "maxclass" : "button", + "patching_rect" : [ 195.0, 714.0, 20.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-62", + "numoutlets" : 1, + "outlettype" : [ "bang" ] + } + + } +, { + "box" : { + "maxclass" : "toggle", + "presentation_rect" : [ 393.0, 611.0, 20.0, 20.0 ], + "patching_rect" : [ 195.0, 655.0, 20.0, 20.0 ], + "numinlets" : 1, + "presentation" : 1, + "id" : "obj-59", + "numoutlets" : 1, + "outlettype" : [ "int" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "!- 1", + "fontsize" : 10.0, + "patching_rect" : [ 195.0, 625.0, 32.5, 19.0 ], + "numinlets" : 2, + "id" : "obj-56", + "fontname" : "Verdana", + "numoutlets" : 1, + "outlettype" : [ "int" ] + } + + } +, { + "box" : { + "maxclass" : "gswitch2", + "patching_rect" : [ 273.0, 591.0, 39.0, 32.0 ], + "numinlets" : 2, + "id" : "obj-50", + "numoutlets" : 2, + "outlettype" : [ "", "" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "loadmess 0", + "fontsize" : 10.0, + "patching_rect" : [ 27.0, 218.0, 68.0, 19.0 ], + "numinlets" : 1, + "id" : "obj-45", + "fontname" : "Verdana", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "comment", + "text" : "internal / ableton", + "fontsize" : 10.0, + "patching_rect" : [ 98.0, 219.0, 100.0, 19.0 ], + "numinlets" : 1, + "id" : "obj-39", + "fontname" : "Verdana", + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "gswitch", + "patching_rect" : [ 380.0, 292.0, 41.0, 32.0 ], + "numinlets" : 3, + "id" : "obj-36", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "toggle", + "patching_rect" : [ 45.0, 255.0, 20.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-35", + "numoutlets" : 1, + "outlettype" : [ "int" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "* 2.", + "fontsize" : 10.0, + "patching_rect" : [ 273.0, 659.0, 32.5, 19.0 ], + "numinlets" : 2, + "id" : "obj-32", + "fontname" : "Verdana", + "numoutlets" : 1, + "outlettype" : [ "float" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "/ 250.", + "fontsize" : 10.0, + "patching_rect" : [ 509.0, 493.0, 41.0, 19.0 ], + "numinlets" : 2, + "id" : "obj-30", + "fontname" : "Verdana", + "numoutlets" : 1, + "outlettype" : [ "float" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "t b b", + "fontsize" : 10.0, + "patching_rect" : [ 457.0, 457.0, 34.0, 19.0 ], + "numinlets" : 1, + "id" : "obj-10", + "fontname" : "Verdana", + "numoutlets" : 2, + "outlettype" : [ "bang", "bang" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "pack /setBeatNow 0.", + "fontsize" : 10.0, + "patching_rect" : [ 413.0, 521.0, 115.0, 19.0 ], + "numinlets" : 2, + "id" : "obj-7", + "fontname" : "Verdana", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "button", + "presentation_rect" : [ 60.0, 142.0, 20.0, 20.0 ], + "patching_rect" : [ 413.0, 474.0, 20.0, 20.0 ], + "numinlets" : 1, + "presentation" : 1, + "id" : "obj-29", + "numoutlets" : 1, + "outlettype" : [ "bang" ] + } + + } +, { + "box" : { + "maxclass" : "message", + "text" : "/uniformPhase", + "fontsize" : 10.0, + "presentation_rect" : [ 83.0, 194.0, 84.0, 17.0 ], + "patching_rect" : [ 568.0, 541.0, 84.0, 17.0 ], + "numinlets" : 2, + "presentation" : 1, + "id" : "obj-20", + "fontname" : "Verdana", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "button", + "presentation_rect" : [ 60.0, 194.0, 20.0, 20.0 ], + "patching_rect" : [ 568.0, 515.0, 20.0, 20.0 ], + "numinlets" : 1, + "presentation" : 1, + "id" : "obj-27", + "numoutlets" : 1, + "outlettype" : [ "bang" ] + } + + } +, { + "box" : { + "maxclass" : "message", + "text" : "/uniformTempo", + "fontsize" : 10.0, + "presentation_rect" : [ 83.0, 168.0, 87.0, 17.0 ], + "patching_rect" : [ 568.0, 492.0, 87.0, 17.0 ], + "numinlets" : 2, + "presentation" : 1, + "id" : "obj-18", + "fontname" : "Verdana", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "button", + "presentation_rect" : [ 60.0, 168.0, 20.0, 20.0 ], + "patching_rect" : [ 568.0, 464.0, 20.0, 20.0 ], + "numinlets" : 1, + "presentation" : 1, + "id" : "obj-12", + "numoutlets" : 1, + "outlettype" : [ "bang" ] + } + + } +, { + "box" : { + "maxclass" : "message", + "text" : "0", + "fontsize" : 10.0, + "presentation_rect" : [ 165.0, 55.0, 32.5, 17.0 ], + "patching_rect" : [ 624.0, 882.0, 32.5, 17.0 ], + "numinlets" : 2, + "presentation" : 1, + "id" : "obj-4", + "fontname" : "Verdana", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "flonum", + "fontsize" : 10.0, + "presentation_rect" : [ 192.0, 224.0, 50.0, 19.0 ], + "patching_rect" : [ 364.0, 714.0, 54.0, 19.0 ], + "numinlets" : 1, + "presentation" : 1, + "id" : "obj-24", + "fontname" : "Verdana", + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "expr (30000/$f1)", + "fontsize" : 10.0, + "patching_rect" : [ 364.0, 685.0, 101.0, 19.0 ], + "numinlets" : 1, + "id" : "obj-17", + "fontname" : "Verdana", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "flonum", + "fontsize" : 10.0, + "patching_rect" : [ 364.0, 660.0, 54.0, 19.0 ], + "numinlets" : 1, + "id" : "obj-14", + "fontname" : "Verdana", + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ] + } + + } +, { + "box" : { + "maxclass" : "flonum", + "fontsize" : 10.0, + "patching_rect" : [ 376.0, 446.0, 50.0, 19.0 ], + "numinlets" : 1, + "id" : "obj-11", + "fontname" : "Verdana", + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ] + } + + } +, { + "box" : { + "maxclass" : "button", + "presentation_rect" : [ 62.0, 250.0, 41.0, 41.0 ], + "patching_rect" : [ 378.0, 332.0, 41.0, 41.0 ], + "numinlets" : 1, + "presentation" : 1, + "id" : "obj-8", + "numoutlets" : 1, + "outlettype" : [ "bang" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "p click_input", + "fontsize" : 10.0, + "patching_rect" : [ 405.0, 265.0, 74.0, 19.0 ], + "numinlets" : 0, + "id" : "obj-103", + "fontname" : "Verdana", + "numoutlets" : 1, + "outlettype" : [ "bang" ], + "patcher" : { + "fileversion" : 1, + "rect" : [ 25.0, 69.0, 870.0, 504.0 ], + "bglocked" : 0, + "defrect" : [ 25.0, 69.0, 870.0, 504.0 ], + "openrect" : [ 0.0, 0.0, 0.0, 0.0 ], + "openinpresentation" : 0, + "default_fontsize" : 12.0, + "default_fontface" : 0, + "default_fontname" : "Arial", + "gridonopen" : 0, + "gridsize" : [ 15.0, 15.0 ], + "gridsnaponopen" : 0, + "toolbarvisible" : 1, + "boxanimatetime" : 200, + "imprint" : 0, + "enablehscroll" : 1, + "enablevscroll" : 1, + "devicewidth" : 0.0, + "boxes" : [ { + "box" : { + "maxclass" : "newobj", + "text" : "s clickbang", + "fontsize" : 12.0, + "patching_rect" : [ 545.0, 409.0, 70.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-7", + "fontname" : "Arial", + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "toggle", + "patching_rect" : [ 424.0, 339.0, 20.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-6", + "numoutlets" : 1, + "outlettype" : [ "int" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "loadmess 1", + "fontsize" : 12.0, + "patching_rect" : [ 398.0, 297.0, 72.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-4", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "udpreceive 12332", + "fontsize" : 12.0, + "patching_rect" : [ 430.0, 28.0, 106.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-1", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "outlet", + "patching_rect" : [ 472.0, 430.0, 25.0, 25.0 ], + "numinlets" : 1, + "id" : "obj-3", + "numoutlets" : 0, + "comment" : "" + } + + } +, { + "box" : { + "maxclass" : "button", + "patching_rect" : [ 475.0, 388.0, 20.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-2", + "numoutlets" : 1, + "outlettype" : [ "bang" ] + } + + } +, { + "box" : { + "maxclass" : "button", + "patching_rect" : [ 427.0, 102.0, 20.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-253", + "numoutlets" : 1, + "outlettype" : [ "bang" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "route /bonkBangTimeByOSC", + "fontsize" : 10.0, + "patching_rect" : [ 427.0, 65.0, 148.0, 18.0 ], + "numinlets" : 1, + "id" : "obj-254", + "fontname" : "Arial Bold", + "numoutlets" : 2, + "outlettype" : [ "", "" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "s click_signal", + "fontsize" : 9.0, + "patching_rect" : [ 591.0, 217.0, 71.0, 17.0 ], + "numinlets" : 1, + "id" : "obj-34", + "fontname" : "Arial", + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "number", + "fontsize" : 9.0, + "htextcolor" : [ 0.870588, 0.870588, 0.870588, 1.0 ], + "triscale" : 0.9, + "bgcolor" : [ 0.156863, 0.8, 0.54902, 1.0 ], + "patching_rect" : [ 538.0, 342.0, 35.0, 17.0 ], + "numinlets" : 1, + "id" : "obj-49", + "fontname" : "Arial", + "numoutlets" : 2, + "outlettype" : [ "int", "bang" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "r clickthresh", + "hidden" : 1, + "fontsize" : 9.0, + "patching_rect" : [ 519.0, 217.0, 68.0, 17.0 ], + "numinlets" : 0, + "id" : "obj-59", + "fontname" : "Arial", + "color" : [ 0.8, 0.611765, 0.380392, 1.0 ], + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "number", + "fontsize" : 18.0, + "htextcolor" : [ 0.870588, 0.870588, 0.870588, 1.0 ], + "triscale" : 0.9, + "bgcolor" : [ 0.156863, 0.8, 0.54902, 1.0 ], + "patching_rect" : [ 469.0, 108.0, 32.990234, 27.0 ], + "numinlets" : 1, + "id" : "obj-70", + "fontname" : "Arial", + "maximum" : 10, + "numoutlets" : 2, + "minimum" : 1, + "outlettype" : [ "int", "bang" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "r click_driver", + "hidden" : 1, + "fontsize" : 9.0, + "patching_rect" : [ 469.0, 86.0, 74.0, 17.0 ], + "numinlets" : 0, + "id" : "obj-72", + "fontname" : "Arial", + "color" : [ 0.156863, 0.8, 0.54902, 1.0 ], + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "adc~ 1 2 3 4 5 6 7 8 9 10", + "fontsize" : 14.0, + "patching_rect" : [ 489.0, 141.0, 194.0, 23.0 ], + "numinlets" : 1, + "id" : "obj-77", + "fontname" : "Arial", + "color" : [ 0.156863, 0.8, 0.54902, 1.0 ], + "numoutlets" : 10, + "outlettype" : [ "signal", "signal", "signal", "signal", "signal", "signal", "signal", "signal", "signal", "signal" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "selector~ 10", + "fontsize" : 9.0, + "patching_rect" : [ 469.0, 187.0, 211.0, 17.0 ], + "numinlets" : 11, + "id" : "obj-78", + "fontname" : "Arial", + "color" : [ 0.156863, 0.8, 0.54902, 1.0 ], + "numoutlets" : 1, + "outlettype" : [ "signal" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "split 4.", + "fontsize" : 9.0, + "patching_rect" : [ 492.0, 262.0, 42.0, 17.0 ], + "numinlets" : 3, + "id" : "obj-82", + "fontname" : "Arial", + "color" : [ 0.156863, 0.8, 0.54902, 1.0 ], + "numoutlets" : 2, + "outlettype" : [ "float", "float" ] + } + + } +, { + "box" : { + "maxclass" : "number", + "fontsize" : 9.0, + "htextcolor" : [ 0.870588, 0.870588, 0.870588, 1.0 ], + "triscale" : 0.9, + "bgcolor" : [ 0.866667, 0.866667, 0.866667, 1.0 ], + "patching_rect" : [ 412.0, 237.0, 35.0, 17.0 ], + "numinlets" : 1, + "id" : "obj-107", + "fontname" : "Arial", + "numoutlets" : 2, + "outlettype" : [ "int", "bang" ] + } + + } +, { + "box" : { + "maxclass" : "message", + "text" : "8", + "hidden" : 1, + "fontsize" : 9.0, + "patching_rect" : [ 568.0, 238.0, 16.0, 15.0 ], + "numinlets" : 2, + "id" : "obj-125", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "loadbang", + "hidden" : 1, + "fontsize" : 9.0, + "patching_rect" : [ 537.0, 262.0, 48.0, 17.0 ], + "numinlets" : 1, + "id" : "obj-126", + "fontname" : "Arial", + "color" : [ 0.156863, 0.8, 0.54902, 1.0 ], + "numoutlets" : 1, + "outlettype" : [ "bang" ] + } + + } +, { + "box" : { + "maxclass" : "gswitch", + "int" : 1, + "patching_rect" : [ 466.0, 325.0, 41.0, 32.0 ], + "numinlets" : 3, + "id" : "obj-155", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "button", + "patching_rect" : [ 524.0, 283.0, 15.0, 15.0 ], + "numinlets" : 1, + "id" : "obj-156", + "numoutlets" : 1, + "outlettype" : [ "bang" ] + } + + } +, { + "box" : { + "maxclass" : "number", + "fontsize" : 14.0, + "htextcolor" : [ 0.870588, 0.870588, 0.870588, 1.0 ], + "triscale" : 0.9, + "bgcolor" : [ 0.866667, 0.866667, 0.866667, 1.0 ], + "patching_rect" : [ 527.0, 236.0, 38.0, 23.0 ], + "numinlets" : 1, + "id" : "obj-157", + "fontname" : "Arial", + "numoutlets" : 2, + "outlettype" : [ "int", "bang" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "unpack 0 0 0", + "fontsize" : 9.0, + "patching_rect" : [ 450.0, 236.0, 67.0, 17.0 ], + "numinlets" : 1, + "id" : "obj-158", + "fontname" : "Arial", + "color" : [ 0.156863, 0.8, 0.54902, 1.0 ], + "numoutlets" : 3, + "outlettype" : [ "int", "int", "int" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "bonk~", + "fontsize" : 9.0, + "patching_rect" : [ 450.0, 213.0, 40.0, 17.0 ], + "numinlets" : 1, + "id" : "obj-159", + "fontname" : "Arial", + "color" : [ 0.156863, 0.8, 0.54902, 1.0 ], + "numoutlets" : 3, + "outlettype" : [ "list", "list", "list" ] + } + + } +, { + "box" : { + "maxclass" : "comment", + "text" : "MIDI CLICK IN", + "fontsize" : 18.0, + "patching_rect" : [ 502.0, 111.0, 128.0, 27.0 ], + "numinlets" : 1, + "id" : "obj-173", + "fontname" : "Helvetica Neue Black Condensed", + "numoutlets" : 0 + } + + } + ], + "lines" : [ { + "patchline" : { + "source" : [ "obj-1", 0 ], + "destination" : [ "obj-254", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-2", 0 ], + "destination" : [ "obj-3", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-155", 0 ], + "destination" : [ "obj-2", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-82", 1 ], + "destination" : [ "obj-49", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-82", 1 ], + "destination" : [ "obj-156", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-78", 0 ], + "destination" : [ "obj-34", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-78", 0 ], + "destination" : [ "obj-159", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-77", 0 ], + "destination" : [ "obj-78", 1 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-77", 1 ], + "destination" : [ "obj-78", 2 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-77", 2 ], + "destination" : [ "obj-78", 3 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-77", 3 ], + "destination" : [ "obj-78", 4 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-77", 4 ], + "destination" : [ "obj-78", 5 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-77", 5 ], + "destination" : [ "obj-78", 6 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-77", 6 ], + "destination" : [ "obj-78", 7 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-77", 7 ], + "destination" : [ "obj-78", 8 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-77", 8 ], + "destination" : [ "obj-78", 9 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-77", 9 ], + "destination" : [ "obj-78", 10 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-72", 0 ], + "destination" : [ "obj-70", 0 ], + "hidden" : 1, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-70", 0 ], + "destination" : [ "obj-78", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-59", 0 ], + "destination" : [ "obj-157", 0 ], + "hidden" : 1, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-159", 0 ], + "destination" : [ "obj-158", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-158", 1 ], + "destination" : [ "obj-82", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-158", 1 ], + "destination" : [ "obj-107", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-157", 0 ], + "destination" : [ "obj-82", 2 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-156", 0 ], + "destination" : [ "obj-155", 1 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-126", 0 ], + "destination" : [ "obj-125", 0 ], + "hidden" : 1, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-125", 0 ], + "destination" : [ "obj-157", 0 ], + "hidden" : 1, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-253", 0 ], + "destination" : [ "obj-155", 2 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-4", 0 ], + "destination" : [ "obj-6", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-6", 0 ], + "destination" : [ "obj-155", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-2", 0 ], + "destination" : [ "obj-7", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } + ] + } +, + "saved_object_attributes" : { + "fontsize" : 12.0, + "default_fontface" : 0, + "default_fontname" : "Arial", + "fontname" : "Arial", + "default_fontsize" : 12.0, + "globalpatchername" : "", + "fontface" : 0 + } + + } + + } +, { + "box" : { + "maxclass" : "message", + "text" : "4", + "fontsize" : 10.0, + "presentation_rect" : [ 205.0, 55.0, 32.5, 17.0 ], + "patching_rect" : [ 609.0, 867.0, 32.5, 17.0 ], + "numinlets" : 2, + "presentation" : 1, + "id" : "obj-5", + "fontname" : "Verdana", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "loadmess 100", + "fontsize" : 10.0, + "patching_rect" : [ 159.0, 408.0, 80.0, 19.0 ], + "numinlets" : 1, + "id" : "obj-2", + "fontname" : "Verdana", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "gain~", + "presentation_rect" : [ 88.0, 316.0, 20.0, 140.0 ], + "interp" : 100.0, + "patching_rect" : [ 160.0, 435.0, 20.0, 140.0 ], + "numinlets" : 2, + "presentation" : 1, + "id" : "obj-3", + "numoutlets" : 2, + "outlettype" : [ "signal", "int" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "p audio_input", + "fontsize" : 10.0, + "patching_rect" : [ 308.0, 388.0, 100.0, 19.0 ], + "numinlets" : 0, + "id" : "obj-160", + "fontname" : "Verdana", + "numoutlets" : 2, + "outlettype" : [ "signal", "" ], + "patcher" : { + "fileversion" : 1, + "rect" : [ 0.0, 90.0, 1404.0, 846.0 ], + "bglocked" : 0, + "defrect" : [ 0.0, 90.0, 1404.0, 846.0 ], + "openrect" : [ 0.0, 0.0, 0.0, 0.0 ], + "openinpresentation" : 0, + "default_fontsize" : 12.0, + "default_fontface" : 0, + "default_fontname" : "Arial", + "gridonopen" : 0, + "gridsize" : [ 15.0, 15.0 ], + "gridsnaponopen" : 0, + "toolbarvisible" : 1, + "boxanimatetime" : 200, + "imprint" : 0, + "enablehscroll" : 1, + "enablevscroll" : 1, + "devicewidth" : 0.0, + "visible" : 1, + "boxes" : [ { + "box" : { + "maxclass" : "lcd", + "patching_rect" : [ 1089.0, 771.0, 512.0, 128.0 ], + "numinlets" : 1, + "id" : "obj-82", + "numoutlets" : 4, + "bgtransparent" : 1, + "outlettype" : [ "list", "list", "int", "" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "qm.plot", + "fontsize" : 12.0, + "patching_rect" : [ 1114.0, 742.0, 50.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-77", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "print qm_snare", + "fontsize" : 12.0, + "patching_rect" : [ 992.0, 426.0, 92.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-72", + "fontname" : "Arial", + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "cpuclock", + "fontsize" : 12.0, + "patching_rect" : [ 989.0, 379.0, 57.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-73", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "float" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "print qm_kick", + "fontsize" : 12.0, + "patching_rect" : [ 928.0, 771.0, 81.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-67", + "fontname" : "Arial", + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "cpuclock", + "fontsize" : 12.0, + "patching_rect" : [ 925.0, 724.0, 57.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-70", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "float" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "print bonksnare", + "fontsize" : 12.0, + "patching_rect" : [ 38.0, 389.0, 93.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-65", + "fontname" : "Arial", + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "cpuclock", + "fontsize" : 12.0, + "patching_rect" : [ 75.0, 343.0, 57.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-66", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "float" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "print bonkkick", + "fontsize" : 12.0, + "patching_rect" : [ 377.0, 793.0, 84.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-64", + "fontname" : "Arial", + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "cpuclock", + "fontsize" : 12.0, + "patching_rect" : [ 374.0, 746.0, 57.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-63", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "float" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "loadmess 3", + "hidden" : 1, + "fontsize" : 8.0, + "patching_rect" : [ 1137.0, 568.0, 51.0, 16.0 ], + "numinlets" : 1, + "id" : "obj-49", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "comment", + "varname" : "autohelp_top_description[1]", + "text" : "sensitivity:", + "fontsize" : 11.595187, + "patching_rect" : [ 942.0, 595.0, 65.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-50", + "fontname" : "Arial", + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "prepend sensitivity", + "fontsize" : 8.0, + "patching_rect" : [ 1002.0, 625.0, 77.0, 16.0 ], + "numinlets" : 1, + "id" : "obj-51", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "umenu", + "fontsize" : 12.0, + "items" : [ "very", "high", ",", "high", ",", "medium", ",", "low", ",", "very", "low" ], + "types" : [ ], + "patching_rect" : [ 1002.0, 595.0, 90.0, 20.0 ], + "numinlets" : 1, + "align" : 1, + "id" : "obj-52", + "fontname" : "Arial", + "textcolor" : [ 0.360784, 0.360784, 0.360784, 1.0 ], + "numoutlets" : 3, + "outlettype" : [ "int", "", "" ], + "fontface" : 1 + } + + } +, { + "box" : { + "maxclass" : "comment", + "varname" : "autohelp_top_description[2]", + "text" : "threshold:", + "fontsize" : 11.595187, + "patching_rect" : [ 942.0, 565.0, 65.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-57", + "fontname" : "Arial", + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "textbutton", + "borderoncolor" : [ 0.537255, 0.537255, 0.537255, 1.0 ], + "fontsize" : 12.0, + "textoveroncolor" : [ 1.0, 1.0, 1.0, 1.0 ], + "bgovercolor" : [ 1.0, 1.0, 1.0, 1.0 ], + "mode" : 1, + "bordercolor" : [ 0.537255, 0.537255, 0.537255, 1.0 ], + "bgoveroncolor" : [ 0.360784, 0.360784, 0.360784, 1.0 ], + "text" : "adaptive", + "bgcolor" : [ 1.0, 1.0, 1.0, 1.0 ], + "patching_rect" : [ 1002.0, 565.0, 90.0, 20.0 ], + "numinlets" : 1, + "bgoncolor" : [ 0.360784, 0.360784, 0.360784, 1.0 ], + "id" : "obj-58", + "fontname" : "Arial", + "textcolor" : [ 0.360784, 0.360784, 0.360784, 1.0 ], + "numoutlets" : 3, + "texton" : "frozen", + "outlettype" : [ "", "", "int" ], + "textovercolor" : [ 0.360784, 0.360784, 0.360784, 1.0 ], + "fontface" : 1 + } + + } +, { + "box" : { + "maxclass" : "comment", + "varname" : "autohelp_top_description[5]", + "text" : "onset detection function output", + "fontsize" : 11.595187, + "patching_rect" : [ 987.0, 670.0, 167.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-59", + "fontname" : "Arial", + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "number", + "fontsize" : 11.595187, + "patching_rect" : [ 972.0, 700.0, 50.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-60", + "fontname" : "Arial", + "numoutlets" : 2, + "outlettype" : [ "int", "bang" ] + } + + } +, { + "box" : { + "maxclass" : "button", + "patching_rect" : [ 1538.0, 711.0, 53.0, 53.0 ], + "numinlets" : 1, + "id" : "obj-61", + "numoutlets" : 1, + "outlettype" : [ "bang" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "qm.onset~", + "fontsize" : 11.595187, + "patching_rect" : [ 867.0, 670.0, 65.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-62", + "fontname" : "Arial", + "numoutlets" : 2, + "outlettype" : [ "bang", "float" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "loadmess 3", + "hidden" : 1, + "fontsize" : 8.0, + "patching_rect" : [ 1208.0, 162.0, 51.0, 16.0 ], + "numinlets" : 1, + "id" : "obj-39", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "comment", + "varname" : "autohelp_top_description[6]", + "text" : "sensitivity:", + "fontsize" : 11.595187, + "patching_rect" : [ 1013.0, 189.0, 65.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-40", + "fontname" : "Arial", + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "prepend sensitivity", + "fontsize" : 8.0, + "patching_rect" : [ 1073.0, 219.0, 77.0, 16.0 ], + "numinlets" : 1, + "id" : "obj-41", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "umenu", + "fontsize" : 12.0, + "items" : [ "very", "high", ",", "high", ",", "medium", ",", "low", ",", "very", "low" ], + "types" : [ ], + "patching_rect" : [ 1073.0, 189.0, 90.0, 20.0 ], + "numinlets" : 1, + "align" : 1, + "id" : "obj-42", + "fontname" : "Arial", + "textcolor" : [ 0.360784, 0.360784, 0.360784, 1.0 ], + "numoutlets" : 3, + "outlettype" : [ "int", "", "" ], + "fontface" : 1 + } + + } +, { + "box" : { + "maxclass" : "comment", + "varname" : "autohelp_top_description[3]", + "text" : "threshold:", + "fontsize" : 11.595187, + "patching_rect" : [ 1013.0, 159.0, 65.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-43", + "fontname" : "Arial", + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "textbutton", + "borderoncolor" : [ 0.537255, 0.537255, 0.537255, 1.0 ], + "fontsize" : 12.0, + "textoveroncolor" : [ 1.0, 1.0, 1.0, 1.0 ], + "bgovercolor" : [ 1.0, 1.0, 1.0, 1.0 ], + "mode" : 1, + "bordercolor" : [ 0.537255, 0.537255, 0.537255, 1.0 ], + "bgoveroncolor" : [ 0.360784, 0.360784, 0.360784, 1.0 ], + "text" : "adaptive", + "bgcolor" : [ 1.0, 1.0, 1.0, 1.0 ], + "patching_rect" : [ 1073.0, 159.0, 90.0, 20.0 ], + "numinlets" : 1, + "bgoncolor" : [ 0.360784, 0.360784, 0.360784, 1.0 ], + "id" : "obj-44", + "fontname" : "Arial", + "textcolor" : [ 0.360784, 0.360784, 0.360784, 1.0 ], + "numoutlets" : 3, + "texton" : "frozen", + "outlettype" : [ "", "", "int" ], + "textovercolor" : [ 0.360784, 0.360784, 0.360784, 1.0 ], + "fontface" : 1 + } + + } +, { + "box" : { + "maxclass" : "comment", + "varname" : "autohelp_top_description[4]", + "text" : "onset detection function output", + "fontsize" : 11.595187, + "patching_rect" : [ 1058.0, 264.0, 167.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-45", + "fontname" : "Arial", + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "number", + "fontsize" : 11.595187, + "patching_rect" : [ 1043.0, 294.0, 50.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-46", + "fontname" : "Arial", + "numoutlets" : 2, + "outlettype" : [ "int", "bang" ] + } + + } +, { + "box" : { + "maxclass" : "button", + "patching_rect" : [ 938.0, 309.0, 53.0, 53.0 ], + "numinlets" : 1, + "id" : "obj-47", + "numoutlets" : 1, + "outlettype" : [ "bang" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "qm.onset~", + "fontsize" : 11.595187, + "patching_rect" : [ 938.0, 264.0, 65.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-48", + "fontname" : "Arial", + "numoutlets" : 2, + "outlettype" : [ "bang", "float" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "qm.onset~", + "fontsize" : 12.0, + "patching_rect" : [ 719.0, 251.0, 67.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-20", + "fontname" : "Arial", + "numoutlets" : 2, + "outlettype" : [ "bang", "float" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "send endplay", + "fontsize" : 12.0, + "patching_rect" : [ 614.0, 322.0, 82.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-36", + "fontname" : "Arial", + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "button", + "patching_rect" : [ 601.0, 283.0, 20.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-24", + "numoutlets" : 1, + "outlettype" : [ "bang" ] + } + + } +, { + "box" : { + "maxclass" : "message", + "text" : "0", + "fontsize" : 12.0, + "patching_rect" : [ 311.0, 273.0, 32.5, 18.0 ], + "numinlets" : 2, + "id" : "obj-34", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "number", + "fontsize" : 12.0, + "patching_rect" : [ 18.0, 333.0, 50.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-23", + "fontname" : "Arial", + "numoutlets" : 2, + "outlettype" : [ "int", "bang" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "r autothresholdMode", + "fontsize" : 10.0, + "patching_rect" : [ 146.0, 390.0, 114.0, 19.0 ], + "numinlets" : 0, + "id" : "obj-33", + "fontname" : "Verdana", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "send set_snare", + "fontsize" : 12.0, + "patching_rect" : [ 291.0, 390.0, 93.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-25", + "fontname" : "Arial", + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "toggle", + "patching_rect" : [ 270.0, 291.0, 20.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-26", + "numoutlets" : 1, + "outlettype" : [ "int" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "gate", + "fontsize" : 12.0, + "patching_rect" : [ 270.0, 322.0, 34.0, 20.0 ], + "numinlets" : 2, + "id" : "obj-27", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "loadmess 0.25", + "fontsize" : 10.0, + "patching_rect" : [ 349.0, 290.0, 84.0, 19.0 ], + "numinlets" : 1, + "id" : "obj-28", + "fontname" : "Verdana", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "flonum", + "fontsize" : 10.0, + "patching_rect" : [ 392.0, 325.0, 50.0, 19.0 ], + "numinlets" : 1, + "id" : "obj-29", + "fontname" : "Verdana", + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ] + } + + } +, { + "box" : { + "maxclass" : "flonum", + "fontsize" : 10.0, + "patching_rect" : [ 337.0, 325.0, 50.0, 19.0 ], + "numinlets" : 1, + "id" : "obj-30", + "fontname" : "Verdana", + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "p autoThreshold", + "fontsize" : 10.0, + "patching_rect" : [ 290.0, 357.0, 89.0, 18.0 ], + "numinlets" : 4, + "id" : "obj-32", + "fontname" : "Arial Bold", + "numoutlets" : 1, + "outlettype" : [ "float" ], + "patcher" : { + "fileversion" : 1, + "rect" : [ 25.0, 69.0, 813.0, 609.0 ], + "bglocked" : 0, + "defrect" : [ 25.0, 69.0, 813.0, 609.0 ], + "openrect" : [ 0.0, 0.0, 0.0, 0.0 ], + "openinpresentation" : 0, + "default_fontsize" : 12.0, + "default_fontface" : 0, + "default_fontname" : "Arial", + "gridonopen" : 0, + "gridsize" : [ 15.0, 15.0 ], + "gridsnaponopen" : 0, + "toolbarvisible" : 1, + "boxanimatetime" : 200, + "imprint" : 0, + "enablehscroll" : 1, + "enablevscroll" : 1, + "devicewidth" : 0.0, + "boxes" : [ { + "box" : { + "maxclass" : "comment", + "text" : "update", + "fontsize" : 12.0, + "patching_rect" : [ 547.0, 70.0, 51.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-33", + "fontname" : "Arial", + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "comment", + "text" : "threshold", + "fontsize" : 12.0, + "patching_rect" : [ 407.0, 65.0, 60.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-31", + "fontname" : "Arial", + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "comment", + "text" : "value", + "fontsize" : 12.0, + "patching_rect" : [ 265.0, 60.0, 46.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-29", + "fontname" : "Arial", + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "comment", + "text" : "room", + "fontsize" : 12.0, + "patching_rect" : [ 659.0, 70.0, 45.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-28", + "fontname" : "Arial", + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "+ 1.", + "fontsize" : 12.0, + "patching_rect" : [ 674.0, 181.0, 32.5, 20.0 ], + "numinlets" : 2, + "id" : "obj-21", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "float" ] + } + + } +, { + "box" : { + "maxclass" : "inlet", + "patching_rect" : [ 673.0, 90.0, 25.0, 25.0 ], + "numinlets" : 0, + "id" : "obj-19", + "numoutlets" : 1, + "outlettype" : [ "float" ], + "comment" : "" + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "/ 5.", + "fontsize" : 12.0, + "patching_rect" : [ 574.0, 264.0, 32.5, 20.0 ], + "numinlets" : 2, + "id" : "obj-12", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "float" ] + } + + } +, { + "box" : { + "maxclass" : "inlet", + "patching_rect" : [ 559.0, 90.0, 25.0, 25.0 ], + "numinlets" : 0, + "id" : "obj-7", + "numoutlets" : 1, + "outlettype" : [ "float" ], + "comment" : "" + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "t i b", + "fontsize" : 12.0, + "patching_rect" : [ 306.0, 167.0, 32.5, 20.0 ], + "numinlets" : 1, + "id" : "obj-27", + "fontname" : "Arial", + "numoutlets" : 2, + "outlettype" : [ "int", "bang" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "f 0.", + "fontsize" : 12.0, + "patching_rect" : [ 369.0, 219.0, 32.5, 20.0 ], + "numinlets" : 2, + "id" : "obj-26", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "float" ] + } + + } +, { + "box" : { + "maxclass" : "flonum", + "fontsize" : 12.0, + "patching_rect" : [ 293.0, 436.0, 50.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-25", + "fontname" : "Arial", + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ] + } + + } +, { + "box" : { + "maxclass" : "flonum", + "fontsize" : 12.0, + "patching_rect" : [ 301.0, 472.0, 50.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-20", + "fontname" : "Arial", + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ] + } + + } +, { + "box" : { + "maxclass" : "number", + "fontsize" : 12.0, + "patching_rect" : [ 225.0, 359.0, 50.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-18", + "fontname" : "Arial", + "numoutlets" : 2, + "outlettype" : [ "int", "bang" ] + } + + } +, { + "box" : { + "maxclass" : "inlet", + "patching_rect" : [ 272.0, 90.0, 25.0, 25.0 ], + "numinlets" : 0, + "id" : "obj-9", + "numoutlets" : 1, + "outlettype" : [ "" ], + "comment" : "" + } + + } +, { + "box" : { + "maxclass" : "inlet", + "patching_rect" : [ 423.0, 90.0, 25.0, 25.0 ], + "numinlets" : 0, + "id" : "obj-4", + "numoutlets" : 1, + "outlettype" : [ "int" ], + "comment" : "" + } + + } +, { + "box" : { + "maxclass" : "outlet", + "patching_rect" : [ 408.0, 229.0, 25.0, 25.0 ], + "numinlets" : 1, + "id" : "obj-1", + "numoutlets" : 0, + "comment" : "" + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "* 1.25", + "fontsize" : 12.0, + "patching_rect" : [ 278.0, 300.0, 43.0, 20.0 ], + "numinlets" : 2, + "id" : "obj-24", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "float" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "+ 0.", + "fontsize" : 12.0, + "patching_rect" : [ 408.0, 430.0, 32.5, 20.0 ], + "numinlets" : 2, + "id" : "obj-23", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "float" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "* 0.05", + "fontsize" : 12.0, + "patching_rect" : [ 408.0, 398.0, 42.0, 20.0 ], + "numinlets" : 2, + "id" : "obj-15", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "float" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "+ 0.", + "fontsize" : 12.0, + "patching_rect" : [ 355.0, 426.0, 32.5, 20.0 ], + "numinlets" : 2, + "id" : "obj-14", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "float" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "* 0.25", + "fontsize" : 12.0, + "patching_rect" : [ 355.0, 399.0, 43.0, 20.0 ], + "numinlets" : 2, + "id" : "obj-13", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "float" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "split 0 1000", + "fontsize" : 12.0, + "patching_rect" : [ 355.0, 371.0, 72.0, 20.0 ], + "numinlets" : 3, + "id" : "obj-11", + "fontname" : "Arial", + "numoutlets" : 2, + "outlettype" : [ "int", "int" ] + } + + } +, { + "box" : { + "maxclass" : "comment", + "text" : "level", + "fontsize" : 12.0, + "patching_rect" : [ 290.0, 207.0, 44.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-5", + "fontname" : "Arial", + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "-", + "fontsize" : 12.0, + "patching_rect" : [ 264.0, 328.0, 32.5, 20.0 ], + "numinlets" : 2, + "id" : "obj-3", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "int" ] + } + + } +, { + "box" : { + "maxclass" : "number", + "fontsize" : 12.0, + "patching_rect" : [ 269.0, 245.0, 50.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-2", + "fontname" : "Arial", + "numoutlets" : 2, + "outlettype" : [ "int", "bang" ] + } + + } + ], + "lines" : [ { + "patchline" : { + "source" : [ "obj-7", 0 ], + "destination" : [ "obj-13", 1 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-12", 0 ], + "destination" : [ "obj-15", 1 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-7", 0 ], + "destination" : [ "obj-12", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-11", 0 ], + "destination" : [ "obj-13", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-13", 0 ], + "destination" : [ "obj-25", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-13", 0 ], + "destination" : [ "obj-14", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-11", 1 ], + "destination" : [ "obj-15", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-15", 0 ], + "destination" : [ "obj-23", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-26", 0 ], + "destination" : [ "obj-1", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-23", 0 ], + "destination" : [ "obj-26", 1 ], + "hidden" : 0, + "midpoints" : [ 417.5, 469.0, 530.0, 469.0, 530.0, 205.0, 392.0, 205.0 ] + } + + } +, { + "patchline" : { + "source" : [ "obj-26", 0 ], + "destination" : [ "obj-23", 1 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-27", 0 ], + "destination" : [ "obj-2", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-27", 1 ], + "destination" : [ "obj-26", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-9", 0 ], + "destination" : [ "obj-27", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-14", 0 ], + "destination" : [ "obj-26", 1 ], + "hidden" : 0, + "midpoints" : [ 364.5, 493.0, 676.0, 493.0, 676.0, 205.0, 392.0, 205.0 ] + } + + } +, { + "patchline" : { + "source" : [ "obj-26", 0 ], + "destination" : [ "obj-14", 1 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-14", 0 ], + "destination" : [ "obj-20", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-4", 0 ], + "destination" : [ "obj-26", 1 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-3", 0 ], + "destination" : [ "obj-18", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-2", 0 ], + "destination" : [ "obj-3", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-3", 0 ], + "destination" : [ "obj-11", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-24", 0 ], + "destination" : [ "obj-3", 1 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-26", 0 ], + "destination" : [ "obj-24", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-19", 0 ], + "destination" : [ "obj-21", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-21", 0 ], + "destination" : [ "obj-24", 1 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } + ] + } +, + "saved_object_attributes" : { + "fontsize" : 12.0, + "default_fontface" : 0, + "default_fontname" : "Arial", + "fontname" : "Arial", + "default_fontsize" : 12.0, + "globalpatchername" : "", + "fontface" : 0 + } + + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "send set_kick", + "fontsize" : 12.0, + "patching_rect" : [ 311.0, 682.0, 83.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-22", + "fontname" : "Arial", + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "toggle", + "patching_rect" : [ 291.0, 581.0, 20.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-21", + "numoutlets" : 1, + "outlettype" : [ "int" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "gate", + "fontsize" : 12.0, + "patching_rect" : [ 291.0, 612.0, 34.0, 20.0 ], + "numinlets" : 2, + "id" : "obj-19", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "loadmess 0.25", + "fontsize" : 10.0, + "patching_rect" : [ 370.0, 580.0, 84.0, 19.0 ], + "numinlets" : 1, + "id" : "obj-11", + "fontname" : "Verdana", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "flonum", + "fontsize" : 10.0, + "patching_rect" : [ 413.0, 615.0, 50.0, 19.0 ], + "numinlets" : 1, + "id" : "obj-17", + "fontname" : "Verdana", + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ] + } + + } +, { + "box" : { + "maxclass" : "flonum", + "fontsize" : 10.0, + "patching_rect" : [ 358.0, 615.0, 50.0, 19.0 ], + "numinlets" : 1, + "id" : "obj-78", + "fontname" : "Verdana", + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "p autoThreshold", + "fontsize" : 10.0, + "patching_rect" : [ 311.0, 647.0, 89.0, 18.0 ], + "numinlets" : 4, + "id" : "obj-38", + "fontname" : "Arial Bold", + "numoutlets" : 1, + "outlettype" : [ "float" ], + "patcher" : { + "fileversion" : 1, + "rect" : [ 25.0, 69.0, 813.0, 609.0 ], + "bglocked" : 0, + "defrect" : [ 25.0, 69.0, 813.0, 609.0 ], + "openrect" : [ 0.0, 0.0, 0.0, 0.0 ], + "openinpresentation" : 0, + "default_fontsize" : 12.0, + "default_fontface" : 0, + "default_fontname" : "Arial", + "gridonopen" : 0, + "gridsize" : [ 15.0, 15.0 ], + "gridsnaponopen" : 0, + "toolbarvisible" : 1, + "boxanimatetime" : 200, + "imprint" : 0, + "enablehscroll" : 1, + "enablevscroll" : 1, + "devicewidth" : 0.0, + "boxes" : [ { + "box" : { + "maxclass" : "comment", + "text" : "update", + "fontsize" : 12.0, + "patching_rect" : [ 547.0, 70.0, 51.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-33", + "fontname" : "Arial", + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "comment", + "text" : "threshold", + "fontsize" : 12.0, + "patching_rect" : [ 407.0, 65.0, 60.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-31", + "fontname" : "Arial", + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "comment", + "text" : "value", + "fontsize" : 12.0, + "patching_rect" : [ 265.0, 60.0, 46.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-29", + "fontname" : "Arial", + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "comment", + "text" : "room", + "fontsize" : 12.0, + "patching_rect" : [ 659.0, 70.0, 45.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-28", + "fontname" : "Arial", + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "+ 1.", + "fontsize" : 12.0, + "patching_rect" : [ 674.0, 181.0, 32.5, 20.0 ], + "numinlets" : 2, + "id" : "obj-21", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "float" ] + } + + } +, { + "box" : { + "maxclass" : "inlet", + "patching_rect" : [ 673.0, 90.0, 25.0, 25.0 ], + "numinlets" : 0, + "id" : "obj-19", + "numoutlets" : 1, + "outlettype" : [ "float" ], + "comment" : "" + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "/ 5.", + "fontsize" : 12.0, + "patching_rect" : [ 574.0, 264.0, 32.5, 20.0 ], + "numinlets" : 2, + "id" : "obj-12", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "float" ] + } + + } +, { + "box" : { + "maxclass" : "inlet", + "patching_rect" : [ 559.0, 90.0, 25.0, 25.0 ], + "numinlets" : 0, + "id" : "obj-7", + "numoutlets" : 1, + "outlettype" : [ "float" ], + "comment" : "" + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "t i b", + "fontsize" : 12.0, + "patching_rect" : [ 306.0, 167.0, 32.5, 20.0 ], + "numinlets" : 1, + "id" : "obj-27", + "fontname" : "Arial", + "numoutlets" : 2, + "outlettype" : [ "int", "bang" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "f 0.", + "fontsize" : 12.0, + "patching_rect" : [ 369.0, 219.0, 32.5, 20.0 ], + "numinlets" : 2, + "id" : "obj-26", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "float" ] + } + + } +, { + "box" : { + "maxclass" : "flonum", + "fontsize" : 12.0, + "patching_rect" : [ 293.0, 436.0, 50.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-25", + "fontname" : "Arial", + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ] + } + + } +, { + "box" : { + "maxclass" : "flonum", + "fontsize" : 12.0, + "patching_rect" : [ 301.0, 472.0, 50.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-20", + "fontname" : "Arial", + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ] + } + + } +, { + "box" : { + "maxclass" : "number", + "fontsize" : 12.0, + "patching_rect" : [ 225.0, 359.0, 50.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-18", + "fontname" : "Arial", + "numoutlets" : 2, + "outlettype" : [ "int", "bang" ] + } + + } +, { + "box" : { + "maxclass" : "inlet", + "patching_rect" : [ 272.0, 90.0, 25.0, 25.0 ], + "numinlets" : 0, + "id" : "obj-9", + "numoutlets" : 1, + "outlettype" : [ "" ], + "comment" : "" + } + + } +, { + "box" : { + "maxclass" : "inlet", + "patching_rect" : [ 423.0, 90.0, 25.0, 25.0 ], + "numinlets" : 0, + "id" : "obj-4", + "numoutlets" : 1, + "outlettype" : [ "int" ], + "comment" : "" + } + + } +, { + "box" : { + "maxclass" : "outlet", + "patching_rect" : [ 408.0, 229.0, 25.0, 25.0 ], + "numinlets" : 1, + "id" : "obj-1", + "numoutlets" : 0, + "comment" : "" + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "* 1.25", + "fontsize" : 12.0, + "patching_rect" : [ 278.0, 300.0, 43.0, 20.0 ], + "numinlets" : 2, + "id" : "obj-24", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "float" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "+ 0.", + "fontsize" : 12.0, + "patching_rect" : [ 408.0, 430.0, 32.5, 20.0 ], + "numinlets" : 2, + "id" : "obj-23", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "float" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "* 0.05", + "fontsize" : 12.0, + "patching_rect" : [ 408.0, 398.0, 42.0, 20.0 ], + "numinlets" : 2, + "id" : "obj-15", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "float" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "+ 0.", + "fontsize" : 12.0, + "patching_rect" : [ 355.0, 426.0, 32.5, 20.0 ], + "numinlets" : 2, + "id" : "obj-14", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "float" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "* 0.25", + "fontsize" : 12.0, + "patching_rect" : [ 355.0, 399.0, 43.0, 20.0 ], + "numinlets" : 2, + "id" : "obj-13", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "float" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "split 0 1000", + "fontsize" : 12.0, + "patching_rect" : [ 355.0, 371.0, 72.0, 20.0 ], + "numinlets" : 3, + "id" : "obj-11", + "fontname" : "Arial", + "numoutlets" : 2, + "outlettype" : [ "int", "int" ] + } + + } +, { + "box" : { + "maxclass" : "comment", + "text" : "level", + "fontsize" : 12.0, + "patching_rect" : [ 290.0, 207.0, 44.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-5", + "fontname" : "Arial", + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "-", + "fontsize" : 12.0, + "patching_rect" : [ 264.0, 328.0, 32.5, 20.0 ], + "numinlets" : 2, + "id" : "obj-3", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "int" ] + } + + } +, { + "box" : { + "maxclass" : "number", + "fontsize" : 12.0, + "patching_rect" : [ 269.0, 245.0, 50.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-2", + "fontname" : "Arial", + "numoutlets" : 2, + "outlettype" : [ "int", "bang" ] + } + + } + ], + "lines" : [ { + "patchline" : { + "source" : [ "obj-21", 0 ], + "destination" : [ "obj-24", 1 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-19", 0 ], + "destination" : [ "obj-21", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-26", 0 ], + "destination" : [ "obj-24", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-24", 0 ], + "destination" : [ "obj-3", 1 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-3", 0 ], + "destination" : [ "obj-11", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-2", 0 ], + "destination" : [ "obj-3", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-3", 0 ], + "destination" : [ "obj-18", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-4", 0 ], + "destination" : [ "obj-26", 1 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-14", 0 ], + "destination" : [ "obj-20", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-26", 0 ], + "destination" : [ "obj-14", 1 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-14", 0 ], + "destination" : [ "obj-26", 1 ], + "hidden" : 0, + "midpoints" : [ 364.5, 493.0, 676.0, 493.0, 676.0, 205.0, 392.0, 205.0 ] + } + + } +, { + "patchline" : { + "source" : [ "obj-9", 0 ], + "destination" : [ "obj-27", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-27", 1 ], + "destination" : [ "obj-26", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-27", 0 ], + "destination" : [ "obj-2", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-26", 0 ], + "destination" : [ "obj-23", 1 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-23", 0 ], + "destination" : [ "obj-26", 1 ], + "hidden" : 0, + "midpoints" : [ 417.5, 469.0, 530.0, 469.0, 530.0, 205.0, 392.0, 205.0 ] + } + + } +, { + "patchline" : { + "source" : [ "obj-26", 0 ], + "destination" : [ "obj-1", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-15", 0 ], + "destination" : [ "obj-23", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-11", 1 ], + "destination" : [ "obj-15", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-13", 0 ], + "destination" : [ "obj-14", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-13", 0 ], + "destination" : [ "obj-25", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-11", 0 ], + "destination" : [ "obj-13", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-7", 0 ], + "destination" : [ "obj-12", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-12", 0 ], + "destination" : [ "obj-15", 1 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-7", 0 ], + "destination" : [ "obj-13", 1 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } + ] + } +, + "saved_object_attributes" : { + "fontsize" : 12.0, + "default_fontface" : 0, + "default_fontname" : "Arial", + "fontname" : "Arial", + "default_fontsize" : 12.0, + "globalpatchername" : "", + "fontface" : 0 + } + + } + + } +, { + "box" : { + "maxclass" : "button", + "patching_rect" : [ 615.0, 545.0, 20.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-18", + "numoutlets" : 1, + "outlettype" : [ "bang" ] + } + + } +, { + "box" : { + "maxclass" : "number", + "fontsize" : 12.0, + "patching_rect" : [ 215.0, 286.0, 50.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-14", + "fontname" : "Arial", + "numoutlets" : 2, + "outlettype" : [ "int", "bang" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "loadbang", + "fontsize" : 12.0, + "patching_rect" : [ 691.0, 76.0, 60.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-16", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "bang" ] + } + + } +, { + "box" : { + "maxclass" : "message", + "text" : "name snarefile", + "fontsize" : 12.0, + "patching_rect" : [ 652.0, 131.0, 89.0, 18.0 ], + "numinlets" : 2, + "id" : "obj-15", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "message", + "text" : "name newkicker", + "fontsize" : 12.0, + "patching_rect" : [ 586.0, 77.0, 98.0, 18.0 ], + "numinlets" : 2, + "id" : "obj-13", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "flonum", + "fontsize" : 12.0, + "patching_rect" : [ 675.0, 514.0, 50.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-12", + "fontname" : "Arial", + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "s kick_bang", + "fontsize" : 12.0, + "patching_rect" : [ 191.0, 722.0, 100.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-10", + "fontname" : "Arial", + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "s snare_hit", + "fontsize" : 12.0, + "patching_rect" : [ 159.0, 344.0, 69.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-9", + "fontname" : "Arial", + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "outlet", + "patching_rect" : [ 565.0, 482.0, 25.0, 25.0 ], + "numinlets" : 1, + "id" : "obj-8", + "numoutlets" : 0, + "comment" : "" + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "p starter_patch", + "fontsize" : 18.0, + "patching_rect" : [ 514.0, 398.0, 213.0, 27.0 ], + "numinlets" : 2, + "id" : "obj-84", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ], + "patcher" : { + "fileversion" : 1, + "rect" : [ 338.0, 102.0, 741.0, 750.0 ], + "bglocked" : 0, + "defrect" : [ 338.0, 102.0, 741.0, 750.0 ], + "openrect" : [ 0.0, 0.0, 0.0, 0.0 ], + "openinpresentation" : 0, + "default_fontsize" : 12.0, + "default_fontface" : 0, + "default_fontname" : "Arial", + "gridonopen" : 0, + "gridsize" : [ 15.0, 15.0 ], + "gridsnaponopen" : 0, + "toolbarvisible" : 1, + "boxanimatetime" : 200, + "imprint" : 0, + "enablehscroll" : 1, + "enablevscroll" : 1, + "devicewidth" : 0.0, + "boxes" : [ { + "box" : { + "maxclass" : "newobj", + "text" : "mxj quickie starter7", + "fontsize" : 12.0, + "patching_rect" : [ 501.0, 619.0, 115.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-67", + "fontname" : "Arial", + "numoutlets" : 2, + "outlettype" : [ "", "" ] + } + + } +, { + "box" : { + "maxclass" : "flonum", + "fontsize" : 30.0, + "patching_rect" : [ 398.0, 407.0, 104.0, 41.0 ], + "numinlets" : 1, + "id" : "obj-65", + "fontname" : "Arial", + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "s control_panel", + "fontsize" : 9.0, + "patching_rect" : [ 72.0, 317.0, 79.0, 17.0 ], + "numinlets" : 1, + "id" : "obj-1", + "fontname" : "Arial", + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "prepend latency_delay", + "fontsize" : 9.0, + "patching_rect" : [ 72.0, 291.0, 111.0, 17.0 ], + "numinlets" : 1, + "id" : "obj-2", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "route latency_delay", + "fontsize" : 9.0, + "patching_rect" : [ 28.0, 128.0, 100.0, 17.0 ], + "numinlets" : 1, + "id" : "obj-3", + "fontname" : "Arial", + "numoutlets" : 2, + "outlettype" : [ "", "" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "r stored_data", + "fontsize" : 9.0, + "patching_rect" : [ 28.0, 104.0, 72.0, 17.0 ], + "numinlets" : 0, + "id" : "obj-4", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "mxj quickie starter7", + "fontsize" : 9.0, + "patching_rect" : [ 68.0, 370.0, 104.0, 17.0 ], + "numinlets" : 1, + "id" : "obj-5", + "fontname" : "Arial", + "numoutlets" : 2, + "outlettype" : [ "", "" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "s starting_tempo", + "fontsize" : 9.0, + "patching_rect" : [ 271.0, 196.0, 87.0, 17.0 ], + "numinlets" : 1, + "id" : "obj-6", + "fontname" : "Arial", + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "outlet", + "patching_rect" : [ 250.0, 196.0, 15.0, 15.0 ], + "numinlets" : 1, + "id" : "obj-7", + "numoutlets" : 0, + "comment" : "" + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "s started_bang", + "fontsize" : 9.0, + "patching_rect" : [ 389.0, 481.0, 77.0, 17.0 ], + "numinlets" : 1, + "id" : "obj-8", + "fontname" : "Arial", + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "button", + "patching_rect" : [ 389.0, 462.0, 15.0, 15.0 ], + "numinlets" : 1, + "id" : "obj-9", + "numoutlets" : 1, + "outlettype" : [ "bang" ] + } + + } +, { + "box" : { + "maxclass" : "comment", + "text" : "predicted bang", + "linecount" : 2, + "fontsize" : 9.0, + "patching_rect" : [ 292.0, 282.0, 54.0, 27.0 ], + "numinlets" : 1, + "id" : "obj-10", + "fontname" : "Arial", + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "button", + "patching_rect" : [ 256.0, 94.0, 21.0, 21.0 ], + "numinlets" : 1, + "id" : "obj-11", + "numoutlets" : 1, + "outlettype" : [ "bang" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "r start_latency", + "fontsize" : 9.0, + "patching_rect" : [ 310.0, 21.0, 80.0, 17.0 ], + "numinlets" : 0, + "id" : "obj-12", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "number", + "fontsize" : 9.0, + "htextcolor" : [ 0.870588, 0.870588, 0.870588, 1.0 ], + "triscale" : 0.9, + "bgcolor" : [ 0.866667, 0.866667, 0.866667, 1.0 ], + "patching_rect" : [ 149.0, 43.0, 35.0, 17.0 ], + "numinlets" : 1, + "id" : "obj-13", + "fontname" : "Arial", + "numoutlets" : 2, + "outlettype" : [ "int", "bang" ] + } + + } +, { + "box" : { + "maxclass" : "button", + "patching_rect" : [ 394.0, 140.0, 15.0, 15.0 ], + "numinlets" : 1, + "id" : "obj-14", + "numoutlets" : 1, + "outlettype" : [ "bang" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "s starter_reset", + "fontsize" : 9.0, + "patching_rect" : [ 440.0, 264.0, 81.0, 17.0 ], + "numinlets" : 1, + "id" : "obj-15", + "fontname" : "Arial", + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "s stop", + "fontsize" : 9.0, + "patching_rect" : [ 400.0, 264.0, 37.0, 17.0 ], + "numinlets" : 1, + "id" : "obj-16", + "fontname" : "Arial", + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "button", + "patching_rect" : [ 400.0, 238.0, 15.0, 15.0 ], + "numinlets" : 1, + "id" : "obj-17", + "numoutlets" : 1, + "outlettype" : [ "bang" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "if ($i1 == 2 ) then bang", + "fontsize" : 9.0, + "patching_rect" : [ 400.0, 213.0, 124.0, 17.0 ], + "numinlets" : 1, + "id" : "obj-18", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "number", + "fontsize" : 9.0, + "htextcolor" : [ 0.870588, 0.870588, 0.870588, 1.0 ], + "triscale" : 0.9, + "bgcolor" : [ 0.866667, 0.866667, 0.866667, 1.0 ], + "patching_rect" : [ 308.0, 176.0, 35.0, 17.0 ], + "numinlets" : 1, + "id" : "obj-19", + "fontname" : "Arial", + "numoutlets" : 2, + "outlettype" : [ "int", "bang" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "r key_start/stop", + "fontsize" : 9.0, + "patching_rect" : [ 351.0, 107.0, 88.0, 17.0 ], + "numinlets" : 0, + "id" : "obj-20", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "send start_bang", + "fontsize" : 9.0, + "patching_rect" : [ 235.0, 511.0, 82.0, 17.0 ], + "numinlets" : 1, + "id" : "obj-21", + "fontname" : "Arial", + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "number", + "fontsize" : 9.0, + "htextcolor" : [ 0.870588, 0.870588, 0.870588, 1.0 ], + "triscale" : 0.9, + "bgcolor" : [ 0.866667, 0.866667, 0.866667, 1.0 ], + "patching_rect" : [ 340.0, 322.0, 35.0, 17.0 ], + "numinlets" : 1, + "id" : "obj-22", + "fontname" : "Arial", + "numoutlets" : 2, + "outlettype" : [ "int", "bang" ] + } + + } +, { + "box" : { + "maxclass" : "button", + "patching_rect" : [ 295.0, 401.0, 15.0, 15.0 ], + "numinlets" : 1, + "id" : "obj-23", + "numoutlets" : 1, + "outlettype" : [ "bang" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "delay 500", + "fontsize" : 9.0, + "patching_rect" : [ 295.0, 372.0, 55.0, 17.0 ], + "numinlets" : 2, + "id" : "obj-24", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "bang" ] + } + + } +, { + "box" : { + "maxclass" : "button", + "patching_rect" : [ 295.0, 344.0, 15.0, 15.0 ], + "numinlets" : 1, + "id" : "obj-25", + "numoutlets" : 1, + "outlettype" : [ "bang" ] + } + + } +, { + "box" : { + "maxclass" : "button", + "patching_rect" : [ 237.0, 234.0, 43.0, 43.0 ], + "numinlets" : 1, + "id" : "obj-26", + "numoutlets" : 1, + "outlettype" : [ "bang" ] + } + + } +, { + "box" : { + "maxclass" : "number", + "fontsize" : 9.0, + "htextcolor" : [ 0.870588, 0.870588, 0.870588, 1.0 ], + "triscale" : 0.9, + "bgcolor" : [ 0.866667, 0.866667, 0.866667, 1.0 ], + "patching_rect" : [ 72.0, 265.0, 35.0, 17.0 ], + "numinlets" : 1, + "id" : "obj-27", + "fontname" : "Arial", + "numoutlets" : 2, + "outlettype" : [ "int", "bang" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "s starter_latency", + "fontsize" : 9.0, + "patching_rect" : [ 72.0, 242.0, 90.0, 17.0 ], + "numinlets" : 1, + "id" : "obj-28", + "fontname" : "Arial", + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "message", + "text" : "1", + "fontsize" : 9.0, + "patching_rect" : [ 358.0, 489.0, 16.0, 15.0 ], + "numinlets" : 2, + "id" : "obj-29", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "s activate", + "fontsize" : 9.0, + "patching_rect" : [ 358.0, 510.0, 55.0, 17.0 ], + "numinlets" : 1, + "id" : "obj-30", + "fontname" : "Arial", + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "message", + "text" : "set_tatum $1", + "fontsize" : 9.0, + "patching_rect" : [ 157.0, 91.0, 71.0, 15.0 ], + "numinlets" : 2, + "id" : "obj-31", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "r set_tatum", + "fontsize" : 9.0, + "patching_rect" : [ 157.0, 67.0, 64.0, 17.0 ], + "numinlets" : 0, + "id" : "obj-32", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "r fix_l", + "fontsize" : 9.0, + "patching_rect" : [ 384.0, 42.0, 40.0, 17.0 ], + "numinlets" : 0, + "id" : "obj-33", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "message", + "text" : "fix_latency $1", + "fontsize" : 9.0, + "patching_rect" : [ 384.0, 64.0, 77.0, 15.0 ], + "numinlets" : 2, + "id" : "obj-34", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "r latency_start", + "fontsize" : 9.0, + "patching_rect" : [ 186.0, 390.0, 80.0, 17.0 ], + "numinlets" : 0, + "id" : "obj-35", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "number", + "fontsize" : 9.0, + "htextcolor" : [ 0.870588, 0.870588, 0.870588, 1.0 ], + "triscale" : 0.9, + "bgcolor" : [ 0.866667, 0.866667, 0.866667, 1.0 ], + "patching_rect" : [ 316.0, 41.0, 35.0, 17.0 ], + "numinlets" : 1, + "id" : "obj-36", + "fontname" : "Arial", + "numoutlets" : 2, + "outlettype" : [ "int", "bang" ] + } + + } +, { + "box" : { + "maxclass" : "message", + "text" : "latency $1", + "fontsize" : 9.0, + "patching_rect" : [ 316.0, 64.0, 58.0, 15.0 ], + "numinlets" : 2, + "id" : "obj-37", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "button", + "patching_rect" : [ 289.0, 234.0, 43.0, 43.0 ], + "numinlets" : 1, + "id" : "obj-38", + "numoutlets" : 1, + "outlettype" : [ "bang" ] + } + + } +, { + "box" : { + "maxclass" : "toggle", + "patching_rect" : [ 184.0, 413.0, 34.0, 34.0 ], + "numinlets" : 1, + "id" : "obj-39", + "numoutlets" : 1, + "outlettype" : [ "int" ] + } + + } +, { + "box" : { + "maxclass" : "gswitch", + "int" : 1, + "patching_rect" : [ 265.0, 452.0, 41.0, 32.0 ], + "numinlets" : 3, + "id" : "obj-40", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "s stop_song", + "fontsize" : 9.0, + "patching_rect" : [ 132.0, 505.0, 63.0, 17.0 ], + "numinlets" : 1, + "id" : "obj-41", + "fontname" : "Arial", + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "s start_song", + "fontsize" : 9.0, + "patching_rect" : [ 164.0, 263.0, 67.0, 17.0 ], + "numinlets" : 1, + "id" : "obj-42", + "fontname" : "Arial", + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "message", + "text" : "188, 52, 100", + "fontsize" : 9.0, + "patching_rect" : [ 265.0, 491.0, 72.0, 15.0 ], + "numinlets" : 2, + "id" : "obj-43", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "button", + "patching_rect" : [ 158.0, 127.0, 39.0, 39.0 ], + "numinlets" : 1, + "id" : "obj-44", + "numoutlets" : 1, + "outlettype" : [ "bang" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "r kickstart", + "hidden" : 1, + "fontsize" : 9.0, + "patching_rect" : [ 83.0, 44.0, 59.0, 17.0 ], + "numinlets" : 0, + "id" : "obj-45", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "message", + "text" : "kickstart $1", + "hidden" : 1, + "fontsize" : 9.0, + "patching_rect" : [ 83.0, 66.0, 66.0, 15.0 ], + "numinlets" : 2, + "id" : "obj-46", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "message", + "text" : "reset", + "fontsize" : 9.0, + "patching_rect" : [ 256.0, 67.0, 34.0, 15.0 ], + "numinlets" : 2, + "id" : "obj-47", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "number", + "fontsize" : 9.0, + "htextcolor" : [ 0.870588, 0.870588, 0.870588, 1.0 ], + "triscale" : 0.9, + "bgcolor" : [ 0.866667, 0.866667, 0.866667, 1.0 ], + "patching_rect" : [ 175.0, 187.0, 35.0, 17.0 ], + "numinlets" : 1, + "id" : "obj-48", + "fontname" : "Arial", + "numoutlets" : 2, + "outlettype" : [ "int", "bang" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "mxj starter7", + "fontsize" : 9.0, + "patching_rect" : [ 237.0, 138.0, 92.0, 17.0 ], + "numinlets" : 3, + "id" : "obj-49", + "fontname" : "Arial", + "numoutlets" : 7, + "outlettype" : [ "", "", "", "", "", "", "" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "r reset", + "hidden" : 1, + "fontsize" : 9.0, + "patching_rect" : [ 256.0, 46.0, 42.0, 17.0 ], + "numinlets" : 0, + "id" : "obj-50", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "send parameters", + "fontsize" : 9.0, + "patching_rect" : [ 121.0, 207.0, 85.0, 17.0 ], + "numinlets" : 1, + "id" : "obj-51", + "fontname" : "Arial", + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "message", + "text" : "tatum $1", + "fontsize" : 9.0, + "patching_rect" : [ 121.0, 187.0, 51.0, 15.0 ], + "numinlets" : 2, + "id" : "obj-52", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "r stop", + "fontsize" : 9.0, + "patching_rect" : [ 132.0, 465.0, 37.0, 17.0 ], + "numinlets" : 0, + "id" : "obj-53", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "r output", + "fontsize" : 9.0, + "patching_rect" : [ 220.0, 549.0, 46.0, 17.0 ], + "numinlets" : 0, + "id" : "obj-54", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "comment", + "text" : "start", + "fontsize" : 9.0, + "patching_rect" : [ 228.0, 469.0, 34.0, 17.0 ], + "numinlets" : 1, + "id" : "obj-55", + "fontname" : "Arial", + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "message", + "text" : "177, 52, 100", + "fontsize" : 9.0, + "patching_rect" : [ 132.0, 486.0, 72.0, 15.0 ], + "numinlets" : 2, + "id" : "obj-56", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "midiout", + "fontsize" : 18.0, + "patching_rect" : [ 265.0, 537.0, 80.0, 27.0 ], + "numinlets" : 1, + "id" : "obj-57", + "fontname" : "Arial", + "color" : [ 1.0, 0.360784, 0.682353, 1.0 ], + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "comment", + "text" : "stop", + "fontsize" : 9.0, + "patching_rect" : [ 178.0, 468.0, 27.0, 17.0 ], + "numinlets" : 1, + "id" : "obj-58", + "fontname" : "Arial", + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "inlet", + "patching_rect" : [ 278.0, 118.0, 15.0, 15.0 ], + "numinlets" : 0, + "id" : "obj-59", + "numoutlets" : 1, + "outlettype" : [ "" ], + "comment" : "" + } + + } +, { + "box" : { + "maxclass" : "inlet", + "patching_rect" : [ 237.0, 101.0, 15.0, 15.0 ], + "numinlets" : 0, + "id" : "obj-60", + "numoutlets" : 1, + "outlettype" : [ "bang" ], + "comment" : "" + } + + } +, { + "box" : { + "maxclass" : "comment", + "text" : "straight-start", + "linecount" : 2, + "fontsize" : 9.0, + "patching_rect" : [ 233.0, 282.0, 54.0, 27.0 ], + "numinlets" : 1, + "id" : "obj-61", + "fontname" : "Arial", + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "comment", + "text" : "kicks to start", + "fontsize" : 9.0, + "patching_rect" : [ 186.0, 44.0, 100.0, 17.0 ], + "numinlets" : 1, + "id" : "obj-62", + "fontname" : "Arial", + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "comment", + "text" : "Delay (incl latency offset) for start", + "linecount" : 2, + "fontsize" : 9.0, + "patching_rect" : [ 376.0, 316.0, 100.0, 27.0 ], + "numinlets" : 1, + "id" : "obj-63", + "fontname" : "Arial", + "numoutlets" : 0 + } + + } + ], + "lines" : [ { + "patchline" : { + "source" : [ "obj-49", 1 ], + "destination" : [ "obj-65", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-9", 0 ], + "destination" : [ "obj-8", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-60", 0 ], + "destination" : [ "obj-49", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-60", 0 ], + "destination" : [ "obj-11", 0 ], + "hidden" : 1, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-59", 0 ], + "destination" : [ "obj-49", 1 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-56", 0 ], + "destination" : [ "obj-57", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-54", 0 ], + "destination" : [ "obj-57", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-53", 0 ], + "destination" : [ "obj-56", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-53", 0 ], + "destination" : [ "obj-41", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-52", 0 ], + "destination" : [ "obj-51", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-50", 0 ], + "destination" : [ "obj-47", 0 ], + "hidden" : 1, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-49", 1 ], + "destination" : [ "obj-7", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-49", 1 ], + "destination" : [ "obj-6", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-49", 1 ], + "destination" : [ "obj-52", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-49", 1 ], + "destination" : [ "obj-48", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-49", 0 ], + "destination" : [ "obj-42", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-49", 0 ], + "destination" : [ "obj-40", 1 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-49", 2 ], + "destination" : [ "obj-38", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-49", 3 ], + "destination" : [ "obj-28", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-49", 3 ], + "destination" : [ "obj-27", 0 ], + "hidden" : 1, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-49", 0 ], + "destination" : [ "obj-26", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-49", 4 ], + "destination" : [ "obj-22", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-49", 5 ], + "destination" : [ "obj-19", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-49", 5 ], + "destination" : [ "obj-18", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-47", 0 ], + "destination" : [ "obj-49", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-46", 0 ], + "destination" : [ "obj-49", 0 ], + "hidden" : 1, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-45", 0 ], + "destination" : [ "obj-46", 0 ], + "hidden" : 1, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-45", 0 ], + "destination" : [ "obj-13", 0 ], + "hidden" : 1, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-44", 0 ], + "destination" : [ "obj-49", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-43", 0 ], + "destination" : [ "obj-57", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-40", 0 ], + "destination" : [ "obj-9", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-40", 0 ], + "destination" : [ "obj-43", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-40", 0 ], + "destination" : [ "obj-29", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-40", 0 ], + "destination" : [ "obj-21", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-4", 0 ], + "destination" : [ "obj-3", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-39", 0 ], + "destination" : [ "obj-40", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-37", 0 ], + "destination" : [ "obj-49", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-36", 0 ], + "destination" : [ "obj-37", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-35", 0 ], + "destination" : [ "obj-39", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-34", 0 ], + "destination" : [ "obj-49", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-33", 0 ], + "destination" : [ "obj-34", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-32", 0 ], + "destination" : [ "obj-31", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-31", 0 ], + "destination" : [ "obj-49", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-3", 0 ], + "destination" : [ "obj-36", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-3", 0 ], + "destination" : [ "obj-28", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-29", 0 ], + "destination" : [ "obj-30", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-27", 0 ], + "destination" : [ "obj-2", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-25", 0 ], + "destination" : [ "obj-24", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-24", 0 ], + "destination" : [ "obj-23", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-23", 0 ], + "destination" : [ "obj-40", 2 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-22", 0 ], + "destination" : [ "obj-25", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-22", 0 ], + "destination" : [ "obj-24", 1 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-20", 0 ], + "destination" : [ "obj-49", 2 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-20", 0 ], + "destination" : [ "obj-14", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-2", 0 ], + "destination" : [ "obj-1", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-18", 0 ], + "destination" : [ "obj-17", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-17", 0 ], + "destination" : [ "obj-47", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-17", 0 ], + "destination" : [ "obj-16", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-17", 0 ], + "destination" : [ "obj-15", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-12", 0 ], + "destination" : [ "obj-36", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } + ] + } +, + "saved_object_attributes" : { + "fontsize" : 12.0, + "default_fontface" : 0, + "default_fontname" : "Arial", + "fontname" : "Arial", + "default_fontsize" : 12.0, + "globalpatchername" : "", + "fontface" : 0 + } + + } + + } +, { + "box" : { + "maxclass" : "outlet", + "patching_rect" : [ 463.0, 346.0, 25.0, 25.0 ], + "numinlets" : 1, + "id" : "obj-7", + "numoutlets" : 0, + "comment" : "" + } + + } +, { + "box" : { + "maxclass" : "number", + "fontsize" : 9.0, + "htextcolor" : [ 0.870588, 0.870588, 0.870588, 1.0 ], + "triscale" : 0.9, + "bgcolor" : [ 0.866667, 0.866667, 0.866667, 1.0 ], + "patching_rect" : [ 94.0, 596.0, 35.0, 17.0 ], + "numinlets" : 1, + "id" : "obj-35", + "fontname" : "Arial", + "numoutlets" : 2, + "outlettype" : [ "int", "bang" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "s kick_signal", + "fontsize" : 9.0, + "patching_rect" : [ 38.0, 570.0, 68.0, 17.0 ], + "numinlets" : 1, + "id" : "obj-37", + "fontname" : "Arial", + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "s kick_level", + "fontsize" : 9.0, + "patching_rect" : [ 221.0, 646.0, 64.0, 17.0 ], + "numinlets" : 1, + "id" : "obj-54", + "fontname" : "Arial", + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "number", + "fontsize" : 18.0, + "htextcolor" : [ 0.870588, 0.870588, 0.870588, 1.0 ], + "triscale" : 0.9, + "bgcolor" : [ 1.0, 0.552941, 0.976471, 1.0 ], + "patching_rect" : [ 38.0, 464.0, 37.0, 27.0 ], + "numinlets" : 1, + "id" : "obj-71", + "fontname" : "Arial", + "maximum" : 13, + "numoutlets" : 2, + "minimum" : 1, + "outlettype" : [ "int", "bang" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "r kick_driver", + "hidden" : 1, + "fontsize" : 9.0, + "patching_rect" : [ 38.0, 438.0, 71.0, 17.0 ], + "numinlets" : 0, + "id" : "obj-74", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "adc~ 1 2 3 4 5 6 7 8 9 10 11 12", + "fontsize" : 14.0, + "patching_rect" : [ 120.0, 495.0, 240.0, 23.0 ], + "numinlets" : 1, + "id" : "obj-79", + "fontname" : "Arial", + "color" : [ 1.0, 0.360784, 0.682353, 1.0 ], + "numoutlets" : 12, + "outlettype" : [ "signal", "signal", "signal", "signal", "signal", "signal", "signal", "signal", "signal", "signal", "signal", "signal" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "selector~ 13", + "fontsize" : 9.0, + "patching_rect" : [ 38.0, 538.0, 347.0, 17.0 ], + "numinlets" : 14, + "id" : "obj-80", + "fontname" : "Arial", + "color" : [ 1.0, 0.360784, 0.682353, 1.0 ], + "numoutlets" : 1, + "outlettype" : [ "signal" ] + } + + } +, { + "box" : { + "maxclass" : "number", + "fontsize" : 9.0, + "htextcolor" : [ 0.870588, 0.870588, 0.870588, 1.0 ], + "triscale" : 0.9, + "bgcolor" : [ 0.866667, 0.866667, 0.866667, 1.0 ], + "patching_rect" : [ 142.0, 625.0, 32.990234, 17.0 ], + "numinlets" : 1, + "id" : "obj-128", + "fontname" : "Arial", + "numoutlets" : 2, + "outlettype" : [ "int", "bang" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "split 50.", + "fontsize" : 9.0, + "patching_rect" : [ 175.0, 624.0, 48.0, 17.0 ], + "numinlets" : 3, + "id" : "obj-130", + "fontname" : "Arial", + "color" : [ 1.0, 0.541176, 0.843137, 1.0 ], + "numoutlets" : 2, + "outlettype" : [ "float", "float" ] + } + + } +, { + "box" : { + "maxclass" : "comment", + "text" : "AUDIO CHANNEL", + "linecount" : 2, + "fontsize" : 12.0, + "patching_rect" : [ -16.0, 461.0, 73.0, 34.0 ], + "numinlets" : 1, + "id" : "obj-1", + "fontname" : "Helvetica Neue Black Condensed", + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "button", + "patching_rect" : [ 199.0, 667.0, 50.0, 50.0 ], + "numinlets" : 1, + "id" : "obj-2", + "fgcolor" : [ 1.0, 0.360784, 0.682353, 1.0 ], + "numoutlets" : 1, + "outlettype" : [ "bang" ] + } + + } +, { + "box" : { + "maxclass" : "number", + "fontsize" : 14.0, + "htextcolor" : [ 0.870588, 0.870588, 0.870588, 1.0 ], + "triscale" : 0.9, + "bgcolor" : [ 1.0, 0.541176, 0.843137, 1.0 ], + "patching_rect" : [ 207.0, 582.0, 41.0, 23.0 ], + "numinlets" : 1, + "id" : "obj-3", + "fontname" : "Arial", + "numoutlets" : 2, + "outlettype" : [ "int", "bang" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "r trigthresh1", + "fontsize" : 9.0, + "patching_rect" : [ 199.0, 559.0, 70.0, 17.0 ], + "numinlets" : 0, + "id" : "obj-4", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "unpack 0 0 0", + "fontsize" : 9.0, + "patching_rect" : [ 142.0, 600.0, 67.0, 17.0 ], + "numinlets" : 1, + "id" : "obj-5", + "fontname" : "Arial", + "color" : [ 1.0, 0.541176, 0.843137, 1.0 ], + "numoutlets" : 3, + "outlettype" : [ "int", "int", "int" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "bonk~", + "fontsize" : 14.0, + "patching_rect" : [ 141.0, 568.0, 56.0, 23.0 ], + "numinlets" : 1, + "id" : "obj-6", + "fontname" : "Arial", + "color" : [ 1.0, 0.541176, 0.843137, 1.0 ], + "numoutlets" : 3, + "outlettype" : [ "list", "list", "list" ] + } + + } +, { + "box" : { + "maxclass" : "comment", + "text" : "B-KEEPER KICK INPUT", + "linecount" : 2, + "fontsize" : 12.0, + "patching_rect" : [ 105.0, 662.0, 90.0, 34.0 ], + "numinlets" : 1, + "id" : "obj-152", + "fontname" : "Helvetica Neue Black Condensed", + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "comment", + "text" : "AUDIO IN (kick)", + "fontsize" : 18.0, + "patching_rect" : [ 77.0, 464.0, 136.0, 27.0 ], + "numinlets" : 1, + "id" : "obj-176", + "fontname" : "Helvetica Neue Black Condensed", + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "flonum", + "fontsize" : 9.0, + "htextcolor" : [ 0.870588, 0.870588, 0.870588, 1.0 ], + "triscale" : 0.9, + "bgcolor" : [ 0.866667, 0.866667, 0.866667, 1.0 ], + "patching_rect" : [ 534.0, 186.0, 35.0, 17.0 ], + "numinlets" : 1, + "id" : "obj-115", + "fontname" : "Arial", + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "*~ 1.", + "fontsize" : 9.0, + "patching_rect" : [ 492.0, 185.0, 35.0, 17.0 ], + "numinlets" : 2, + "id" : "obj-117", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "signal" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "r room_volume", + "hidden" : 1, + "fontsize" : 9.0, + "patching_rect" : [ 517.0, 162.0, 79.0, 17.0 ], + "numinlets" : 0, + "id" : "obj-118", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "message", + "text" : "open", + "fontsize" : 9.0, + "patching_rect" : [ 495.0, 122.0, 30.0, 15.0 ], + "numinlets" : 2, + "id" : "obj-119", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "sfplay~", + "fontsize" : 9.0, + "patching_rect" : [ 492.0, 144.0, 44.0, 17.0 ], + "numinlets" : 2, + "id" : "obj-120", + "fontname" : "Arial", + "color" : [ 0.611765, 0.701961, 1.0, 1.0 ], + "numoutlets" : 2, + "outlettype" : [ "signal", "bang" ], + "save" : [ "#N", "sfplay~", "", 1, 120960, 0, "", ";" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "r open_room", + "hidden" : 1, + "fontsize" : 10.0, + "patching_rect" : [ 495.0, 101.0, 73.0, 18.0 ], + "numinlets" : 0, + "id" : "obj-121", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "button", + "patching_rect" : [ 345.0, 219.0, 15.0, 15.0 ], + "numinlets" : 1, + "id" : "obj-122", + "numoutlets" : 1, + "outlettype" : [ "bang" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "r start_bang", + "fontsize" : 9.0, + "patching_rect" : [ 274.0, 196.0, 67.0, 17.0 ], + "numinlets" : 0, + "id" : "obj-123", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "r reset", + "fontsize" : 9.0, + "patching_rect" : [ 310.0, 239.0, 42.0, 17.0 ], + "numinlets" : 0, + "id" : "obj-124", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "number", + "fontsize" : 9.0, + "htextcolor" : [ 0.870588, 0.870588, 0.870588, 1.0 ], + "triscale" : 0.9, + "bgcolor" : [ 0.866667, 0.866667, 0.866667, 1.0 ], + "patching_rect" : [ 270.0, 239.0, 35.0, 17.0 ], + "numinlets" : 1, + "id" : "obj-125", + "fontname" : "Arial", + "numoutlets" : 2, + "outlettype" : [ "int", "bang" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "r introthresh", + "fontsize" : 9.0, + "patching_rect" : [ 270.0, 218.0, 69.0, 17.0 ], + "numinlets" : 0, + "id" : "obj-31", + "fontname" : "Arial", + "color" : [ 0.611765, 0.701961, 1.0, 1.0 ], + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "s snare_signal", + "fontsize" : 9.0, + "patching_rect" : [ 166.0, 197.0, 75.0, 17.0 ], + "numinlets" : 1, + "id" : "obj-132", + "fontname" : "Arial", + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "s snare_level", + "fontsize" : 9.0, + "patching_rect" : [ 175.0, 262.0, 71.0, 17.0 ], + "numinlets" : 1, + "id" : "obj-53", + "fontname" : "Arial", + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "r open_snare", + "hidden" : 1, + "fontsize" : 9.0, + "patching_rect" : [ 456.0, 83.0, 69.0, 17.0 ], + "numinlets" : 0, + "id" : "obj-55", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "r open_kick", + "hidden" : 1, + "fontsize" : 9.0, + "patching_rect" : [ 404.0, 63.0, 62.0, 17.0 ], + "numinlets" : 0, + "id" : "obj-56", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "r volume", + "fontsize" : 9.0, + "patching_rect" : [ 441.0, 199.0, 50.0, 17.0 ], + "numinlets" : 0, + "id" : "obj-133", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "flonum", + "fontsize" : 9.0, + "htextcolor" : [ 0.870588, 0.870588, 0.870588, 1.0 ], + "triscale" : 0.9, + "bgcolor" : [ 0.866667, 0.866667, 0.866667, 1.0 ], + "patching_rect" : [ 441.0, 220.0, 35.0, 17.0 ], + "numinlets" : 1, + "id" : "obj-134", + "fontname" : "Arial", + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "*~ 1.", + "fontsize" : 9.0, + "patching_rect" : [ 419.0, 242.0, 41.0, 17.0 ], + "numinlets" : 2, + "id" : "obj-68", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "signal" ] + } + + } +, { + "box" : { + "maxclass" : "number", + "fontsize" : 18.0, + "htextcolor" : [ 0.870588, 0.870588, 0.870588, 1.0 ], + "triscale" : 0.9, + "bgcolor" : [ 0.611765, 0.701961, 1.0, 1.0 ], + "patching_rect" : [ 86.0, 99.0, 43.0, 27.0 ], + "numinlets" : 1, + "id" : "obj-69", + "fontname" : "Arial", + "maximum" : 13, + "numoutlets" : 2, + "minimum" : 1, + "outlettype" : [ "int", "bang" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "r snare_driver", + "hidden" : 1, + "fontsize" : 9.0, + "patching_rect" : [ 86.0, 74.0, 78.0, 17.0 ], + "numinlets" : 0, + "id" : "obj-135", + "fontname" : "Arial", + "color" : [ 0.611765, 0.701961, 1.0, 1.0 ], + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "adc~ 1 2 3 4 5 6 7 8 9 10 11 12", + "fontsize" : 14.0, + "patching_rect" : [ 107.0, 131.0, 240.0, 23.0 ], + "numinlets" : 1, + "id" : "obj-75", + "fontname" : "Arial", + "color" : [ 0.611765, 0.701961, 1.0, 1.0 ], + "numoutlets" : 12, + "outlettype" : [ "signal", "signal", "signal", "signal", "signal", "signal", "signal", "signal", "signal", "signal", "signal", "signal" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "selector~ 13", + "fontsize" : 9.0, + "patching_rect" : [ 86.0, 170.0, 290.0, 17.0 ], + "numinlets" : 14, + "id" : "obj-76", + "fontname" : "Arial", + "color" : [ 0.611765, 0.701961, 1.0, 1.0 ], + "numoutlets" : 1, + "outlettype" : [ "signal" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "r start", + "fontsize" : 9.0, + "patching_rect" : [ 367.0, 20.0, 41.0, 17.0 ], + "numinlets" : 0, + "id" : "obj-81", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "r stop", + "fontsize" : 9.0, + "patching_rect" : [ 387.0, 42.0, 37.0, 17.0 ], + "numinlets" : 0, + "id" : "obj-85", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "message", + "text" : "open", + "fontsize" : 9.0, + "patching_rect" : [ 404.0, 98.0, 30.0, 15.0 ], + "numinlets" : 2, + "id" : "obj-86", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "message", + "text" : "open", + "fontsize" : 9.0, + "patching_rect" : [ 456.0, 103.0, 30.0, 15.0 ], + "numinlets" : 2, + "id" : "obj-87", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "message", + "text" : "0", + "fontsize" : 9.0, + "patching_rect" : [ 470.0, 47.0, 16.0, 15.0 ], + "numinlets" : 2, + "id" : "obj-88", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "message", + "text" : "0", + "fontsize" : 9.0, + "patching_rect" : [ 387.0, 98.0, 16.0, 15.0 ], + "numinlets" : 2, + "id" : "obj-89", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "sfplay~", + "fontsize" : 9.0, + "patching_rect" : [ 427.0, 121.0, 44.0, 17.0 ], + "numinlets" : 2, + "id" : "obj-90", + "fontname" : "Arial", + "color" : [ 0.611765, 0.701961, 1.0, 1.0 ], + "numoutlets" : 2, + "outlettype" : [ "signal", "bang" ], + "save" : [ "#N", "sfplay~", "", 1, 120960, 0, "snarefile", ";" ] + } + + } +, { + "box" : { + "maxclass" : "message", + "text" : "1", + "fontsize" : 9.0, + "patching_rect" : [ 453.0, 47.0, 16.0, 15.0 ], + "numinlets" : 2, + "id" : "obj-91", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "message", + "text" : "1", + "fontsize" : 9.0, + "patching_rect" : [ 367.0, 98.0, 16.0, 15.0 ], + "numinlets" : 2, + "id" : "obj-92", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "sfplay~", + "fontsize" : 9.0, + "patching_rect" : [ 367.0, 122.0, 44.0, 17.0 ], + "numinlets" : 2, + "id" : "obj-93", + "fontname" : "Arial", + "numoutlets" : 2, + "outlettype" : [ "signal", "bang" ], + "save" : [ "#N", "sfplay~", "", 1, 120960, 0, "newkicker", ";" ] + } + + } +, { + "box" : { + "maxclass" : "comment", + "text" : "LIVE AUDIO [X]", + "fontsize" : 12.0, + "patching_rect" : [ 403.0, 152.0, 94.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-138", + "fontname" : "Helvetica Neue Black Condensed", + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "comment", + "text" : "FILE [ ]", + "fontsize" : 12.0, + "patching_rect" : [ 441.0, 174.0, 47.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-139", + "fontname" : "Helvetica Neue Black Condensed", + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "number", + "fontsize" : 9.0, + "htextcolor" : [ 0.870588, 0.870588, 0.870588, 1.0 ], + "triscale" : 0.9, + "bgcolor" : [ 0.866667, 0.866667, 0.866667, 1.0 ], + "patching_rect" : [ 81.0, 263.0, 35.0, 17.0 ], + "numinlets" : 1, + "id" : "obj-143", + "fontname" : "Arial", + "numoutlets" : 2, + "outlettype" : [ "int", "bang" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "split 30.", + "fontsize" : 9.0, + "patching_rect" : [ 121.0, 261.0, 48.0, 17.0 ], + "numinlets" : 3, + "id" : "obj-144", + "fontname" : "Arial", + "color" : [ 0.611765, 0.701961, 1.0, 1.0 ], + "numoutlets" : 2, + "outlettype" : [ "float", "float" ] + } + + } +, { + "box" : { + "maxclass" : "button", + "patching_rect" : [ 159.0, 283.0, 50.0, 50.0 ], + "numinlets" : 1, + "id" : "obj-145", + "fgcolor" : [ 0.611765, 0.701961, 1.0, 1.0 ], + "numoutlets" : 1, + "outlettype" : [ "bang" ] + } + + } +, { + "box" : { + "maxclass" : "comment", + "text" : "NON-SYNC AUDIO IN (snare/hi-hat)", + "linecount" : 2, + "fontsize" : 18.0, + "patching_rect" : [ 164.0, 83.0, 172.0, 48.0 ], + "numinlets" : 1, + "id" : "obj-146", + "fontname" : "Helvetica Neue Black Condensed", + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "number", + "fontsize" : 9.0, + "htextcolor" : [ 0.870588, 0.870588, 0.870588, 1.0 ], + "triscale" : 0.9, + "bgcolor" : [ 0.866667, 0.866667, 0.866667, 1.0 ], + "patching_rect" : [ 166.0, 238.0, 35.0, 17.0 ], + "numinlets" : 1, + "id" : "obj-147", + "fontname" : "Arial", + "numoutlets" : 2, + "outlettype" : [ "int", "bang" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "r snaretrigthresh1", + "fontsize" : 9.0, + "patching_rect" : [ 166.0, 217.0, 95.0, 17.0 ], + "numinlets" : 0, + "id" : "obj-148", + "fontname" : "Arial", + "color" : [ 0.611765, 0.701961, 1.0, 1.0 ], + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "unpack 0 0 0", + "fontsize" : 9.0, + "patching_rect" : [ 93.0, 237.0, 67.0, 17.0 ], + "numinlets" : 1, + "id" : "obj-149", + "fontname" : "Arial", + "color" : [ 0.611765, 0.701961, 1.0, 1.0 ], + "numoutlets" : 3, + "outlettype" : [ "int", "int", "int" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "bonk~", + "fontsize" : 14.0, + "patching_rect" : [ 93.0, 203.0, 56.0, 23.0 ], + "numinlets" : 1, + "id" : "obj-150", + "fontname" : "Arial", + "color" : [ 0.611765, 0.701961, 1.0, 1.0 ], + "numoutlets" : 3, + "outlettype" : [ "list", "list", "list" ] + } + + } +, { + "box" : { + "maxclass" : "comment", + "text" : "B-KEEPER SNARE INPUT", + "linecount" : 3, + "fontsize" : 12.0, + "patching_rect" : [ 98.0, 289.0, 65.0, 48.0 ], + "numinlets" : 1, + "id" : "obj-155", + "fontname" : "Helvetica Neue Black Condensed", + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "comment", + "text" : "FILE PLAY IN", + "fontsize" : 18.0, + "patching_rect" : [ 418.0, 15.0, 121.0, 27.0 ], + "numinlets" : 1, + "id" : "obj-156", + "fontname" : "Helvetica Neue Black Condensed", + "numoutlets" : 0 + } + + } + ], + "lines" : [ { + "patchline" : { + "source" : [ "obj-77", 0 ], + "destination" : [ "obj-82", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-62", 1 ], + "destination" : [ "obj-77", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-73", 0 ], + "destination" : [ "obj-72", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-47", 0 ], + "destination" : [ "obj-73", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-70", 0 ], + "destination" : [ "obj-67", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-61", 0 ], + "destination" : [ "obj-70", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-63", 0 ], + "destination" : [ "obj-64", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-66", 0 ], + "destination" : [ "obj-65", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-145", 0 ], + "destination" : [ "obj-66", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-2", 0 ], + "destination" : [ "obj-63", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-80", 0 ], + "destination" : [ "obj-62", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-58", 1 ], + "destination" : [ "obj-62", 0 ], + "hidden" : 0, + "midpoints" : [ 1047.0, 590.0, 1115.0, 590.0, 1115.0, 654.0, 876.5, 654.0 ] + } + + } +, { + "patchline" : { + "source" : [ "obj-51", 0 ], + "destination" : [ "obj-62", 0 ], + "hidden" : 0, + "midpoints" : [ 1011.5, 654.0, 876.5, 654.0 ] + } + + } +, { + "patchline" : { + "source" : [ "obj-52", 0 ], + "destination" : [ "obj-51", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-62", 0 ], + "destination" : [ "obj-61", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-62", 1 ], + "destination" : [ "obj-60", 0 ], + "hidden" : 0, + "midpoints" : [ 922.5, 692.0, 981.5, 692.0 ] + } + + } +, { + "patchline" : { + "source" : [ "obj-49", 0 ], + "destination" : [ "obj-52", 0 ], + "hidden" : 1, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-76", 0 ], + "destination" : [ "obj-48", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-39", 0 ], + "destination" : [ "obj-42", 0 ], + "hidden" : 1, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-48", 1 ], + "destination" : [ "obj-46", 0 ], + "hidden" : 0, + "midpoints" : [ 993.5, 286.0, 1052.5, 286.0 ] + } + + } +, { + "patchline" : { + "source" : [ "obj-48", 0 ], + "destination" : [ "obj-47", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-42", 0 ], + "destination" : [ "obj-41", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-41", 0 ], + "destination" : [ "obj-48", 0 ], + "hidden" : 0, + "midpoints" : [ 1082.5, 248.0, 947.5, 248.0 ] + } + + } +, { + "patchline" : { + "source" : [ "obj-44", 1 ], + "destination" : [ "obj-48", 0 ], + "hidden" : 0, + "midpoints" : [ 1118.0, 184.0, 1186.0, 184.0, 1186.0, 248.0, 947.5, 248.0 ] + } + + } +, { + "patchline" : { + "source" : [ "obj-122", 0 ], + "destination" : [ "obj-26", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-34", 0 ], + "destination" : [ "obj-26", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-124", 0 ], + "destination" : [ "obj-34", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-144", 0 ], + "destination" : [ "obj-23", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-84", 0 ], + "destination" : [ "obj-18", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-147", 0 ], + "destination" : [ "obj-14", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-125", 0 ], + "destination" : [ "obj-14", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-16", 0 ], + "destination" : [ "obj-13", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-16", 0 ], + "destination" : [ "obj-15", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-15", 0 ], + "destination" : [ "obj-90", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-13", 0 ], + "destination" : [ "obj-93", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-2", 0 ], + "destination" : [ "obj-10", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-84", 0 ], + "destination" : [ "obj-8", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-93", 0 ], + "destination" : [ "obj-68", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-92", 0 ], + "destination" : [ "obj-93", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-91", 0 ], + "destination" : [ "obj-90", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-91", 0 ], + "destination" : [ "obj-120", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-90", 0 ], + "destination" : [ "obj-76", 13 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-90", 0 ], + "destination" : [ "obj-68", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-89", 0 ], + "destination" : [ "obj-93", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-88", 0 ], + "destination" : [ "obj-90", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-88", 0 ], + "destination" : [ "obj-120", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-87", 0 ], + "destination" : [ "obj-90", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-86", 0 ], + "destination" : [ "obj-93", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-85", 0 ], + "destination" : [ "obj-89", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-85", 0 ], + "destination" : [ "obj-88", 0 ], + "hidden" : 1, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-81", 0 ], + "destination" : [ "obj-92", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-81", 0 ], + "destination" : [ "obj-91", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-76", 0 ], + "destination" : [ "obj-132", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-76", 0 ], + "destination" : [ "obj-150", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-75", 0 ], + "destination" : [ "obj-76", 1 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-75", 1 ], + "destination" : [ "obj-76", 2 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-75", 2 ], + "destination" : [ "obj-76", 3 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-75", 3 ], + "destination" : [ "obj-76", 4 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-75", 4 ], + "destination" : [ "obj-76", 5 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-75", 5 ], + "destination" : [ "obj-76", 6 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-75", 6 ], + "destination" : [ "obj-76", 7 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-75", 7 ], + "destination" : [ "obj-76", 8 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-75", 8 ], + "destination" : [ "obj-76", 9 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-75", 9 ], + "destination" : [ "obj-76", 10 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-75", 10 ], + "destination" : [ "obj-76", 11 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-75", 11 ], + "destination" : [ "obj-76", 12 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-135", 0 ], + "destination" : [ "obj-69", 0 ], + "hidden" : 1, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-69", 0 ], + "destination" : [ "obj-76", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-134", 0 ], + "destination" : [ "obj-68", 1 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-133", 0 ], + "destination" : [ "obj-134", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-121", 0 ], + "destination" : [ "obj-119", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-56", 0 ], + "destination" : [ "obj-86", 0 ], + "hidden" : 1, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-55", 0 ], + "destination" : [ "obj-87", 0 ], + "hidden" : 1, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-120", 0 ], + "destination" : [ "obj-117", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-119", 0 ], + "destination" : [ "obj-120", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-31", 0 ], + "destination" : [ "obj-125", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-125", 0 ], + "destination" : [ "obj-144", 2 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-118", 0 ], + "destination" : [ "obj-117", 1 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-118", 0 ], + "destination" : [ "obj-115", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-124", 0 ], + "destination" : [ "obj-125", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-123", 0 ], + "destination" : [ "obj-122", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-123", 0 ], + "destination" : [ "obj-147", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-150", 0 ], + "destination" : [ "obj-149", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-149", 1 ], + "destination" : [ "obj-144", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-149", 1 ], + "destination" : [ "obj-143", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-148", 0 ], + "destination" : [ "obj-147", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-147", 0 ], + "destination" : [ "obj-144", 2 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-144", 1 ], + "destination" : [ "obj-53", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-144", 1 ], + "destination" : [ "obj-145", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-130", 1 ], + "destination" : [ "obj-2", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-130", 1 ], + "destination" : [ "obj-54", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-3", 0 ], + "destination" : [ "obj-130", 2 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-4", 0 ], + "destination" : [ "obj-3", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-5", 1 ], + "destination" : [ "obj-128", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-5", 1 ], + "destination" : [ "obj-130", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-6", 0 ], + "destination" : [ "obj-5", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-6", 0 ], + "destination" : [ "obj-35", 0 ], + "hidden" : 0, + "midpoints" : [ 99.0, 592.0 ] + } + + } +, { + "patchline" : { + "source" : [ "obj-71", 0 ], + "destination" : [ "obj-80", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-74", 0 ], + "destination" : [ "obj-71", 0 ], + "hidden" : 1, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-79", 11 ], + "destination" : [ "obj-80", 12 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-79", 10 ], + "destination" : [ "obj-80", 11 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-79", 9 ], + "destination" : [ "obj-80", 10 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-79", 8 ], + "destination" : [ "obj-80", 9 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-79", 7 ], + "destination" : [ "obj-80", 8 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-79", 6 ], + "destination" : [ "obj-80", 7 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-79", 5 ], + "destination" : [ "obj-80", 6 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-79", 4 ], + "destination" : [ "obj-80", 5 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-79", 3 ], + "destination" : [ "obj-80", 4 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-79", 2 ], + "destination" : [ "obj-80", 3 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-79", 1 ], + "destination" : [ "obj-80", 2 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-79", 0 ], + "destination" : [ "obj-80", 1 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-80", 0 ], + "destination" : [ "obj-6", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-93", 0 ], + "destination" : [ "obj-80", 13 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-68", 0 ], + "destination" : [ "obj-7", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-117", 0 ], + "destination" : [ "obj-7", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-2", 0 ], + "destination" : [ "obj-84", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-145", 0 ], + "destination" : [ "obj-84", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-145", 0 ], + "destination" : [ "obj-9", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-84", 0 ], + "destination" : [ "obj-12", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-11", 0 ], + "destination" : [ "obj-17", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-11", 0 ], + "destination" : [ "obj-78", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-78", 0 ], + "destination" : [ "obj-38", 2 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-17", 0 ], + "destination" : [ "obj-38", 3 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-3", 0 ], + "destination" : [ "obj-38", 1 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-19", 0 ], + "destination" : [ "obj-38", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-21", 0 ], + "destination" : [ "obj-19", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-5", 1 ], + "destination" : [ "obj-19", 1 ], + "hidden" : 0, + "midpoints" : [ 175.5, 619.0, 282.0, 619.0, 282.0, 607.0, 315.5, 607.0 ] + } + + } +, { + "patchline" : { + "source" : [ "obj-26", 0 ], + "destination" : [ "obj-27", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-27", 0 ], + "destination" : [ "obj-32", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-29", 0 ], + "destination" : [ "obj-32", 3 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-30", 0 ], + "destination" : [ "obj-32", 2 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-28", 0 ], + "destination" : [ "obj-30", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-28", 0 ], + "destination" : [ "obj-29", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-149", 1 ], + "destination" : [ "obj-27", 1 ], + "hidden" : 0, + "midpoints" : [ 126.5, 261.0, 294.5, 261.0 ] + } + + } +, { + "patchline" : { + "source" : [ "obj-147", 0 ], + "destination" : [ "obj-32", 1 ], + "hidden" : 0, + "midpoints" : [ 175.5, 258.0, 322.833344, 258.0 ] + } + + } +, { + "patchline" : { + "source" : [ "obj-32", 0 ], + "destination" : [ "obj-147", 0 ], + "hidden" : 0, + "midpoints" : [ 299.5, 377.0, 265.0, 377.0, 265.0, 236.0, 175.5, 236.0 ] + } + + } +, { + "patchline" : { + "source" : [ "obj-33", 0 ], + "destination" : [ "obj-26", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-33", 0 ], + "destination" : [ "obj-21", 0 ], + "hidden" : 0, + "midpoints" : [ 155.5, 447.0, 432.0, 447.0, 432.0, 567.0, 300.5, 567.0 ] + } + + } +, { + "patchline" : { + "source" : [ "obj-32", 0 ], + "destination" : [ "obj-25", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-38", 0 ], + "destination" : [ "obj-22", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-38", 0 ], + "destination" : [ "obj-3", 0 ], + "hidden" : 0, + "midpoints" : [ 320.5, 679.0, 288.0, 679.0, 288.0, 576.0, 216.5, 576.0 ] + } + + } +, { + "patchline" : { + "source" : [ "obj-80", 0 ], + "destination" : [ "obj-37", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-93", 1 ], + "destination" : [ "obj-24", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } + ] + } +, + "saved_object_attributes" : { + "fontsize" : 12.0, + "default_fontface" : 0, + "default_fontname" : "Arial", + "fontname" : "Arial", + "default_fontsize" : 12.0, + "globalpatchername" : "", + "fontface" : 0 + } + + } + + } +, { + "box" : { + "maxclass" : "ezdac~", + "presentation_rect" : [ 63.0, 478.0, 45.0, 45.0 ], + "patching_rect" : [ 135.0, 597.0, 45.0, 45.0 ], + "numinlets" : 2, + "presentation" : 1, + "id" : "obj-26", + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "p bayesTracker", + "fontsize" : 10.0, + "presentation_rect" : [ 122.0, 559.0, 166.0, 19.0 ], + "patching_rect" : [ 293.0, 555.0, 166.0, 19.0 ], + "numinlets" : 5, + "presentation" : 1, + "id" : "obj-1", + "fontname" : "Verdana", + "numoutlets" : 2, + "outlettype" : [ "float", "" ], + "patcher" : { + "fileversion" : 1, + "rect" : [ 0.0, 44.0, 1393.0, 805.0 ], + "bglocked" : 0, + "defrect" : [ 0.0, 44.0, 1393.0, 805.0 ], + "openrect" : [ 0.0, 0.0, 0.0, 0.0 ], + "openinpresentation" : 0, + "default_fontsize" : 12.0, + "default_fontface" : 0, + "default_fontname" : "Arial", + "gridonopen" : 0, + "gridsize" : [ 15.0, 15.0 ], + "gridsnaponopen" : 0, + "toolbarvisible" : 1, + "boxanimatetime" : 200, + "imprint" : 0, + "enablehscroll" : 1, + "enablevscroll" : 1, + "devicewidth" : 0.0, + "boxes" : [ { + "box" : { + "maxclass" : "flonum", + "fontsize" : 12.0, + "patching_rect" : [ 1166.0, 843.0, 50.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-93", + "fontname" : "Arial", + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ] + } + + } +, { + "box" : { + "maxclass" : "flonum", + "fontsize" : 12.0, + "patching_rect" : [ 1166.0, 871.0, 50.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-91", + "fontname" : "Arial", + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ] + } + + } +, { + "box" : { + "maxclass" : "flonum", + "fontsize" : 12.0, + "patching_rect" : [ 1166.0, 899.0, 50.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-89", + "fontname" : "Arial", + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ] + } + + } +, { + "box" : { + "maxclass" : "flonum", + "fontsize" : 12.0, + "patching_rect" : [ 1166.0, 929.0, 50.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-87", + "fontname" : "Arial", + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ] + } + + } +, { + "box" : { + "maxclass" : "flonum", + "fontsize" : 12.0, + "patching_rect" : [ 1166.0, 960.0, 50.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-83", + "fontname" : "Arial", + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "bucket 5", + "hidden" : 1, + "fontsize" : 12.0, + "patching_rect" : [ 1165.0, 812.0, 73.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-81", + "fontname" : "Arial", + "numoutlets" : 5, + "outlettype" : [ "", "", "", "", "" ] + } + + } +, { + "box" : { + "maxclass" : "button", + "patching_rect" : [ 1073.0, 798.0, 20.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-75", + "numoutlets" : 1, + "outlettype" : [ "bang" ] + } + + } +, { + "box" : { + "maxclass" : "number", + "fontsize" : 12.0, + "patching_rect" : [ 1106.0, 960.0, 50.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-69", + "fontname" : "Arial", + "numoutlets" : 2, + "outlettype" : [ "int", "bang" ] + } + + } +, { + "box" : { + "maxclass" : "number", + "fontsize" : 12.0, + "patching_rect" : [ 1106.0, 931.0, 50.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-67", + "fontname" : "Arial", + "numoutlets" : 2, + "outlettype" : [ "int", "bang" ] + } + + } +, { + "box" : { + "maxclass" : "number", + "fontsize" : 12.0, + "patching_rect" : [ 1106.0, 843.0, 50.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-61", + "fontname" : "Arial", + "numoutlets" : 2, + "outlettype" : [ "int", "bang" ] + } + + } +, { + "box" : { + "maxclass" : "number", + "fontsize" : 12.0, + "patching_rect" : [ 1106.0, 871.0, 50.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-59", + "fontname" : "Arial", + "numoutlets" : 2, + "outlettype" : [ "int", "bang" ] + } + + } +, { + "box" : { + "maxclass" : "number", + "fontsize" : 12.0, + "patching_rect" : [ 1106.0, 901.0, 50.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-55", + "fontname" : "Arial", + "numoutlets" : 2, + "outlettype" : [ "int", "bang" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "bucket 5", + "fontsize" : 12.0, + "patching_rect" : [ 958.0, 756.0, 73.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-48", + "fontname" : "Arial", + "numoutlets" : 5, + "outlettype" : [ "", "", "", "", "" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "timer", + "fontsize" : 12.0, + "patching_rect" : [ 1075.0, 823.0, 37.0, 20.0 ], + "numinlets" : 2, + "id" : "obj-47", + "fontname" : "Arial", + "numoutlets" : 2, + "outlettype" : [ "float", "" ] + } + + } +, { + "box" : { + "maxclass" : "comment", + "text" : "phase diff", + "fontsize" : 12.0, + "patching_rect" : [ 844.0, 541.0, 150.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-31", + "fontname" : "Arial", + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "loadmess 1", + "fontsize" : 12.0, + "patching_rect" : [ 749.0, 267.0, 72.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-74", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "switch 2", + "fontsize" : 12.0, + "patching_rect" : [ 814.0, 381.0, 54.0, 20.0 ], + "numinlets" : 3, + "id" : "obj-73", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "umenu", + "fontsize" : 12.0, + "items" : [ "off", ",", "event", ",", "beatbased" ], + "types" : [ ], + "patching_rect" : [ 711.0, 327.0, 100.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-72", + "fontname" : "Arial", + "numoutlets" : 3, + "outlettype" : [ "int", "", "" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "switch 2", + "fontsize" : 12.0, + "patching_rect" : [ 740.0, 378.0, 54.0, 20.0 ], + "numinlets" : 3, + "id" : "obj-71", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "gswitch", + "patching_rect" : [ 576.0, 537.0, 41.0, 32.0 ], + "numinlets" : 3, + "id" : "obj-63", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "print beatinfo", + "fontsize" : 12.0, + "patching_rect" : [ 1320.0, 494.0, 80.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-57", + "fontname" : "Arial", + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "flonum", + "fontsize" : 12.0, + "patching_rect" : [ 1153.0, 308.0, 50.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-56", + "fontname" : "Arial", + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ] + } + + } +, { + "box" : { + "maxclass" : "flonum", + "fontsize" : 12.0, + "patching_rect" : [ 1095.0, 259.0, 50.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-54", + "fontname" : "Arial", + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "unpack 0. 0.", + "fontsize" : 12.0, + "patching_rect" : [ 1095.0, 229.0, 76.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-51", + "fontname" : "Arial", + "numoutlets" : 2, + "outlettype" : [ "float", "float" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "route /beatInfo", + "fontsize" : 12.0, + "patching_rect" : [ 1095.0, 198.0, 88.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-50", + "fontname" : "Arial", + "numoutlets" : 2, + "outlettype" : [ "", "" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "prepend /newBeat", + "fontsize" : 9.0, + "patching_rect" : [ 1148.0, 676.0, 84.0, 17.0 ], + "numinlets" : 1, + "id" : "obj-49", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "message", + "text" : "-0.386 snare 2750379.", + "fontsize" : 12.0, + "patching_rect" : [ 438.0, 183.0, 173.0, 18.0 ], + "numinlets" : 2, + "id" : "obj-42", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "r count_reset", + "fontsize" : 12.0, + "patching_rect" : [ 174.0, 267.0, 81.0, 20.0 ], + "numinlets" : 0, + "id" : "obj-37", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "pack 0. 0 0. 0.", + "fontsize" : 12.0, + "patching_rect" : [ 204.0, 537.0, 86.0, 20.0 ], + "numinlets" : 4, + "id" : "obj-17", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "outlet", + "patching_rect" : [ 1002.0, 971.0, 25.0, 25.0 ], + "numinlets" : 1, + "id" : "obj-36", + "numoutlets" : 0, + "comment" : "" + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "pak 0. 0.", + "fontsize" : 12.0, + "patching_rect" : [ 457.0, 304.0, 57.0, 20.0 ], + "numinlets" : 2, + "id" : "obj-35", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "comment", + "text" : "snare errors", + "fontsize" : 12.0, + "patching_rect" : [ 290.0, 198.0, 79.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-34", + "fontname" : "Arial", + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "comment", + "text" : "kick errors", + "fontsize" : 12.0, + "patching_rect" : [ 129.0, 198.0, 79.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-30", + "fontname" : "Arial", + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "r stop", + "fontsize" : 10.0, + "patching_rect" : [ 1143.0, 751.0, 40.0, 19.0 ], + "numinlets" : 0, + "id" : "obj-28", + "fontname" : "Verdana", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "s tatum", + "fontsize" : 12.0, + "patching_rect" : [ 620.0, 761.0, 50.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-24", + "fontname" : "Arial", + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "inlet", + "patching_rect" : [ 1149.0, 12.0, 25.0, 25.0 ], + "numinlets" : 0, + "id" : "obj-10", + "numoutlets" : 1, + "outlettype" : [ "" ], + "comment" : "" + } + + } +, { + "box" : { + "maxclass" : "inlet", + "patching_rect" : [ 911.0, 12.0, 25.0, 25.0 ], + "numinlets" : 0, + "id" : "obj-6", + "numoutlets" : 1, + "outlettype" : [ "float" ], + "comment" : "" + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "r reset", + "fontsize" : 10.0, + "patching_rect" : [ 1187.0, 752.0, 44.0, 19.0 ], + "numinlets" : 0, + "id" : "obj-53", + "fontname" : "Verdana", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "message", + "text" : "/Reset", + "fontsize" : 10.0, + "patching_rect" : [ 1086.0, 776.0, 44.0, 17.0 ], + "numinlets" : 2, + "id" : "obj-1", + "fontname" : "Verdana", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "outlet", + "patching_rect" : [ 849.0, 969.0, 25.0, 25.0 ], + "numinlets" : 1, + "id" : "obj-5", + "numoutlets" : 0, + "comment" : "" + } + + } +, { + "box" : { + "maxclass" : "inlet", + "patching_rect" : [ 807.0, 12.0, 25.0, 25.0 ], + "numinlets" : 0, + "id" : "obj-4", + "numoutlets" : 1, + "outlettype" : [ "bang" ], + "comment" : "" + } + + } +, { + "box" : { + "maxclass" : "inlet", + "patching_rect" : [ 735.0, 12.0, 25.0, 25.0 ], + "numinlets" : 0, + "id" : "obj-3", + "numoutlets" : 1, + "outlettype" : [ "" ], + "comment" : "" + } + + } +, { + "box" : { + "maxclass" : "inlet", + "patching_rect" : [ 687.0, 12.0, 25.0, 25.0 ], + "numinlets" : 0, + "id" : "obj-2", + "numoutlets" : 1, + "outlettype" : [ "bang" ], + "comment" : "" + } + + } +, { + "box" : { + "maxclass" : "flonum", + "fontsize" : 30.0, + "patching_rect" : [ 273.0, 216.0, 132.0, 41.0 ], + "numinlets" : 1, + "id" : "obj-44", + "fontname" : "Arial", + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ] + } + + } +, { + "box" : { + "maxclass" : "flonum", + "fontsize" : 10.0, + "patching_rect" : [ 15.0, 366.0, 50.0, 19.0 ], + "numinlets" : 1, + "id" : "obj-7", + "fontname" : "Verdana", + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ] + } + + } +, { + "box" : { + "maxclass" : "button", + "patching_rect" : [ 219.0, 307.0, 20.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-9", + "numoutlets" : 1, + "outlettype" : [ "bang" ] + } + + } +, { + "box" : { + "maxclass" : "comment", + "text" : "mean error", + "fontsize" : 10.0, + "patching_rect" : [ 133.0, 471.0, 69.0, 19.0 ], + "numinlets" : 1, + "id" : "obj-12", + "fontname" : "Verdana", + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "flonum", + "fontsize" : 10.0, + "patching_rect" : [ 79.0, 470.0, 50.0, 19.0 ], + "numinlets" : 1, + "id" : "obj-14", + "fontname" : "Verdana", + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ] + } + + } +, { + "box" : { + "maxclass" : "flonum", + "fontsize" : 10.0, + "patching_rect" : [ 76.0, 402.0, 50.0, 19.0 ], + "numinlets" : 1, + "id" : "obj-15", + "fontname" : "Verdana", + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "/ 1.", + "fontsize" : 10.0, + "patching_rect" : [ 77.0, 439.0, 32.5, 19.0 ], + "numinlets" : 2, + "id" : "obj-16", + "fontname" : "Verdana", + "numoutlets" : 1, + "outlettype" : [ "float" ] + } + + } +, { + "box" : { + "maxclass" : "flonum", + "fontsize" : 10.0, + "patching_rect" : [ 162.0, 383.0, 50.0, 19.0 ], + "numinlets" : 1, + "id" : "obj-18", + "fontname" : "Verdana", + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "counter 0 0 400", + "fontsize" : 10.0, + "patching_rect" : [ 165.0, 354.0, 91.0, 19.0 ], + "numinlets" : 5, + "id" : "obj-19", + "fontname" : "Verdana", + "numoutlets" : 4, + "outlettype" : [ "int", "", "", "int" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "t i b", + "fontsize" : 10.0, + "patching_rect" : [ 68.0, 313.0, 30.5, 19.0 ], + "numinlets" : 1, + "id" : "obj-20", + "fontname" : "Verdana", + "numoutlets" : 2, + "outlettype" : [ "int", "bang" ] + } + + } +, { + "box" : { + "maxclass" : "message", + "text" : "0", + "fontsize" : 10.0, + "patching_rect" : [ 104.0, 305.0, 32.5, 17.0 ], + "numinlets" : 2, + "id" : "obj-21", + "fontname" : "Verdana", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "r reset", + "fontsize" : 10.0, + "patching_rect" : [ 104.0, 278.0, 44.0, 19.0 ], + "numinlets" : 0, + "id" : "obj-22", + "fontname" : "Verdana", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "i 0", + "fontsize" : 10.0, + "patching_rect" : [ 83.0, 340.0, 32.5, 19.0 ], + "numinlets" : 2, + "id" : "obj-23", + "fontname" : "Verdana", + "numoutlets" : 1, + "outlettype" : [ "int" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "+ 0.", + "fontsize" : 10.0, + "patching_rect" : [ 68.0, 369.0, 32.5, 19.0 ], + "numinlets" : 2, + "id" : "obj-25", + "fontname" : "Verdana", + "numoutlets" : 1, + "outlettype" : [ "float" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "abs", + "fontsize" : 10.0, + "patching_rect" : [ 68.0, 284.0, 28.0, 19.0 ], + "numinlets" : 1, + "id" : "obj-26", + "fontname" : "Verdana", + "numoutlets" : 1, + "outlettype" : [ "int" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "pack 0. 0.", + "fontsize" : 10.0, + "patching_rect" : [ 261.0, 341.0, 61.0, 19.0 ], + "numinlets" : 2, + "id" : "obj-27", + "fontname" : "Verdana", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "message", + "text" : "-36. 2749862.", + "fontsize" : 10.0, + "patching_rect" : [ 273.0, 373.0, 116.5, 17.0 ], + "numinlets" : 2, + "id" : "obj-32", + "fontname" : "Verdana", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "t f b", + "fontsize" : 10.0, + "patching_rect" : [ 311.0, 276.0, 32.5, 19.0 ], + "numinlets" : 1, + "id" : "obj-33", + "fontname" : "Verdana", + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "cpuclock", + "fontsize" : 10.0, + "patching_rect" : [ 318.0, 309.0, 53.0, 19.0 ], + "numinlets" : 1, + "id" : "obj-38", + "fontname" : "Verdana", + "numoutlets" : 1, + "outlettype" : [ "float" ] + } + + } +, { + "box" : { + "maxclass" : "flonum", + "fontsize" : 30.0, + "patching_rect" : [ 136.0, 215.0, 132.0, 41.0 ], + "numinlets" : 1, + "id" : "obj-8", + "fontname" : "Arial", + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ] + } + + } +, { + "box" : { + "maxclass" : "message", + "text" : "0", + "fontsize" : 12.0, + "patching_rect" : [ 978.0, 458.0, 20.0, 18.0 ], + "numinlets" : 2, + "id" : "obj-235", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "r reset", + "fontsize" : 12.0, + "patching_rect" : [ 978.0, 427.0, 44.0, 20.0 ], + "numinlets" : 0, + "id" : "obj-232", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "comment", + "text" : "start tatum from starter patch", + "fontsize" : 10.0, + "patching_rect" : [ 556.0, 642.0, 150.0, 18.0 ], + "numinlets" : 1, + "id" : "obj-144", + "fontname" : "Arial", + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "message", + "text" : "snare", + "fontsize" : 10.0, + "patching_rect" : [ 735.0, 47.0, 36.0, 16.0 ], + "numinlets" : 2, + "id" : "obj-281", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "message", + "text" : "click", + "fontsize" : 10.0, + "patching_rect" : [ 807.0, 47.0, 32.5, 16.0 ], + "numinlets" : 2, + "id" : "obj-275", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "message", + "text" : "kick", + "fontsize" : 10.0, + "patching_rect" : [ 687.0, 47.0, 32.5, 16.0 ], + "numinlets" : 2, + "id" : "obj-274", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "p clickSyncVersion", + "fontsize" : 10.0, + "patching_rect" : [ 642.0, 116.0, 100.0, 18.0 ], + "numinlets" : 2, + "id" : "obj-262", + "fontname" : "Arial", + "numoutlets" : 4, + "outlettype" : [ "", "int", "float", "float" ], + "patcher" : { + "fileversion" : 1, + "rect" : [ 98.0, 86.0, 808.0, 669.0 ], + "bglocked" : 0, + "defrect" : [ 98.0, 86.0, 808.0, 669.0 ], + "openrect" : [ 0.0, 0.0, 0.0, 0.0 ], + "openinpresentation" : 0, + "default_fontsize" : 12.0, + "default_fontface" : 0, + "default_fontname" : "Arial", + "gridonopen" : 0, + "gridsize" : [ 15.0, 15.0 ], + "gridsnaponopen" : 0, + "toolbarvisible" : 1, + "boxanimatetime" : 200, + "imprint" : 0, + "enablehscroll" : 1, + "enablevscroll" : 1, + "devicewidth" : 0.0, + "boxes" : [ { + "box" : { + "maxclass" : "newobj", + "text" : "* -1.", + "fontsize" : 12.0, + "patching_rect" : [ 539.0, 280.0, 33.0, 20.0 ], + "numinlets" : 2, + "id" : "obj-62", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "float" ] + } + + } +, { + "box" : { + "maxclass" : "flonum", + "fontsize" : 12.0, + "patching_rect" : [ 539.0, 307.0, 50.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-61", + "fontname" : "Arial", + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "!- 500.", + "fontsize" : 12.0, + "patching_rect" : [ 539.0, 254.0, 45.0, 20.0 ], + "numinlets" : 2, + "id" : "obj-59", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "float" ] + } + + } +, { + "box" : { + "maxclass" : "flonum", + "fontsize" : 12.0, + "patching_rect" : [ 485.0, 306.0, 50.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-56", + "fontname" : "Arial", + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "timer", + "fontsize" : 12.0, + "patching_rect" : [ 539.0, 223.0, 37.0, 20.0 ], + "numinlets" : 2, + "id" : "obj-53", + "fontname" : "Arial", + "numoutlets" : 2, + "outlettype" : [ "float", "" ] + } + + } +, { + "box" : { + "maxclass" : "button", + "patching_rect" : [ 602.0, 189.0, 20.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-52", + "numoutlets" : 1, + "outlettype" : [ "bang" ] + } + + } +, { + "box" : { + "maxclass" : "button", + "patching_rect" : [ 567.0, 189.0, 20.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-50", + "numoutlets" : 1, + "outlettype" : [ "bang" ] + } + + } +, { + "box" : { + "maxclass" : "button", + "patching_rect" : [ 533.0, 189.0, 20.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-44", + "numoutlets" : 1, + "outlettype" : [ "bang" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "route click kick snare", + "fontsize" : 12.0, + "patching_rect" : [ 533.0, 156.0, 122.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-38", + "fontname" : "Arial", + "numoutlets" : 4, + "outlettype" : [ "", "", "", "" ] + } + + } +, { + "box" : { + "maxclass" : "comment", + "text" : "main kick errors", + "fontsize" : 12.0, + "patching_rect" : [ 637.0, 443.0, 150.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-32", + "fontname" : "Arial", + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "outlet", + "patching_rect" : [ 609.0, 440.0, 25.0, 25.0 ], + "numinlets" : 1, + "id" : "obj-34", + "numoutlets" : 0, + "comment" : "" + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "split -80. 80.", + "fontsize" : 12.0, + "patching_rect" : [ 607.0, 406.0, 89.0, 20.0 ], + "numinlets" : 3, + "id" : "obj-35", + "fontname" : "Arial", + "numoutlets" : 2, + "outlettype" : [ "float", "float" ] + } + + } +, { + "box" : { + "maxclass" : "comment", + "text" : "main kick errors", + "fontsize" : 12.0, + "patching_rect" : [ 545.0, 478.0, 150.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-33", + "fontname" : "Arial", + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "outlet", + "patching_rect" : [ 517.0, 475.0, 25.0, 25.0 ], + "numinlets" : 1, + "id" : "obj-27", + "numoutlets" : 0, + "comment" : "" + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "split -80. 80.", + "fontsize" : 12.0, + "patching_rect" : [ 515.0, 441.0, 89.0, 20.0 ], + "numinlets" : 3, + "id" : "obj-25", + "fontname" : "Arial", + "numoutlets" : 2, + "outlettype" : [ "float", "float" ] + } + + } +, { + "box" : { + "maxclass" : "outlet", + "patching_rect" : [ 343.0, 581.0, 25.0, 25.0 ], + "numinlets" : 1, + "id" : "obj-22", + "numoutlets" : 0, + "comment" : "" + } + + } +, { + "box" : { + "maxclass" : "comment", + "text" : "equivalent from B-Keeper", + "fontsize" : 12.0, + "patching_rect" : [ 406.0, 590.0, 150.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-49", + "fontname" : "Arial", + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "outlet", + "patching_rect" : [ 250.0, 584.0, 25.0, 25.0 ], + "numinlets" : 1, + "id" : "obj-47", + "numoutlets" : 0, + "comment" : "" + } + + } +, { + "box" : { + "maxclass" : "message", + "text" : "0.204212 kick 2750033.", + "fontsize" : 12.0, + "patching_rect" : [ 17.0, 571.0, 222.0, 18.0 ], + "numinlets" : 2, + "id" : "obj-42", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "pack 0. kick 0.", + "fontsize" : 12.0, + "patching_rect" : [ 104.0, 498.0, 96.0, 20.0 ], + "numinlets" : 3, + "id" : "obj-43", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "cpuclock", + "fontsize" : 12.0, + "patching_rect" : [ 181.0, 467.0, 57.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-45", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "float" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "t f b", + "fontsize" : 12.0, + "patching_rect" : [ 104.0, 441.0, 95.5, 20.0 ], + "numinlets" : 1, + "id" : "obj-46", + "fontname" : "Arial", + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ] + } + + } +, { + "box" : { + "maxclass" : "message", + "text" : "-0.386 snare 2750379.", + "fontsize" : 12.0, + "patching_rect" : [ 302.0, 491.0, 194.0, 18.0 ], + "numinlets" : 2, + "id" : "obj-41", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "pack 0. snare 0.", + "fontsize" : 12.0, + "patching_rect" : [ 290.0, 462.0, 97.0, 20.0 ], + "numinlets" : 3, + "id" : "obj-39", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "cpuclock", + "fontsize" : 12.0, + "patching_rect" : [ 368.0, 435.0, 57.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-37", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "float" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "t f b", + "fontsize" : 12.0, + "patching_rect" : [ 290.0, 405.0, 96.5, 20.0 ], + "numinlets" : 1, + "id" : "obj-36", + "fontname" : "Arial", + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ] + } + + } +, { + "box" : { + "maxclass" : "message", + "text" : "-0.042852 snare 1276062.125", + "fontsize" : 12.0, + "patching_rect" : [ 397.0, 568.0, 170.0, 18.0 ], + "numinlets" : 2, + "id" : "obj-31", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "r trio_errors", + "fontsize" : 12.0, + "patching_rect" : [ 488.0, 535.0, 74.0, 20.0 ], + "numinlets" : 0, + "id" : "obj-21", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "fontsize" : 12.0, + "patching_rect" : [ 0.0, 0.0, 100.0, 20.0 ], + "numinlets" : 0, + "id" : "obj-10", + "fontname" : "Arial", + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "/ 500.", + "fontsize" : 12.0, + "patching_rect" : [ 290.0, 375.0, 41.0, 20.0 ], + "numinlets" : 2, + "id" : "obj-29", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "float" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "/ 500.", + "fontsize" : 12.0, + "patching_rect" : [ 104.0, 409.0, 41.0, 20.0 ], + "numinlets" : 2, + "id" : "obj-17", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "float" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "* 2.", + "fontsize" : 12.0, + "patching_rect" : [ 372.0, 174.0, 32.5, 20.0 ], + "numinlets" : 2, + "id" : "obj-14", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "float" ] + } + + } +, { + "box" : { + "maxclass" : "flonum", + "fontsize" : 12.0, + "patching_rect" : [ 374.0, 201.0, 50.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-12", + "fontname" : "Arial", + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "r tatum", + "fontsize" : 12.0, + "patching_rect" : [ 372.0, 148.0, 48.0, 20.0 ], + "numinlets" : 0, + "id" : "obj-2", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "button", + "patching_rect" : [ 151.0, 30.0, 20.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-6", + "numoutlets" : 1, + "outlettype" : [ "bang" ] + } + + } +, { + "box" : { + "maxclass" : "number", + "fontsize" : 12.0, + "patching_rect" : [ 329.0, 280.0, 50.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-3", + "fontname" : "Arial", + "numoutlets" : 2, + "outlettype" : [ "int", "bang" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "r start_bang", + "fontsize" : 12.0, + "patching_rect" : [ 301.0, 40.0, 88.0, 20.0 ], + "numinlets" : 0, + "id" : "obj-23", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "flonum", + "fontsize" : 12.0, + "patching_rect" : [ 60.0, 194.0, 50.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-19", + "fontname" : "Arial", + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "gate", + "fontsize" : 10.0, + "patching_rect" : [ 221.0, 176.0, 72.0, 19.0 ], + "numinlets" : 2, + "id" : "obj-18", + "fontname" : "Verdana", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "message", + "text" : "1", + "fontsize" : 12.0, + "patching_rect" : [ 221.0, 94.0, 32.5, 18.0 ], + "numinlets" : 2, + "id" : "obj-15", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "inlet", + "patching_rect" : [ 274.0, 139.0, 25.0, 25.0 ], + "numinlets" : 0, + "id" : "obj-13", + "numoutlets" : 1, + "outlettype" : [ "" ], + "comment" : "" + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "prepend tatum", + "fontsize" : 12.0, + "patching_rect" : [ 118.0, 211.0, 88.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-9", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "message", + "text" : "0", + "fontsize" : 12.0, + "patching_rect" : [ 262.0, 95.0, 32.5, 18.0 ], + "numinlets" : 2, + "id" : "obj-8", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "r reset", + "fontsize" : 12.0, + "patching_rect" : [ 221.0, 51.0, 45.0, 20.0 ], + "numinlets" : 0, + "id" : "obj-5", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "inlet", + "patching_rect" : [ 118.0, 53.0, 25.0, 25.0 ], + "numinlets" : 0, + "id" : "obj-4", + "numoutlets" : 1, + "outlettype" : [ "float" ], + "comment" : "" + } + + } +, { + "box" : { + "maxclass" : "toggle", + "patching_rect" : [ 221.0, 123.0, 20.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-20", + "numoutlets" : 1, + "outlettype" : [ "int" ] + } + + } +, { + "box" : { + "maxclass" : "flonum", + "fontsize" : 10.0, + "patching_rect" : [ 237.0, 377.0, 50.0, 19.0 ], + "numinlets" : 1, + "id" : "obj-16", + "fontname" : "Verdana", + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ] + } + + } +, { + "box" : { + "maxclass" : "flonum", + "fontsize" : 10.0, + "patching_rect" : [ 104.0, 383.0, 50.0, 19.0 ], + "numinlets" : 1, + "id" : "obj-11", + "fontname" : "Verdana", + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ] + } + + } +, { + "box" : { + "maxclass" : "message", + "text" : "reset", + "fontsize" : 10.0, + "patching_rect" : [ 155.0, 95.0, 36.0, 17.0 ], + "numinlets" : 2, + "id" : "obj-7", + "fontname" : "Verdana", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "clickSyncTimer", + "fontsize" : 10.0, + "patching_rect" : [ 220.0, 253.0, 85.0, 19.0 ], + "numinlets" : 4, + "id" : "obj-1", + "fontname" : "Verdana", + "numoutlets" : 3, + "outlettype" : [ "float", "float", "int" ] + } + + } + ], + "lines" : [ { + "patchline" : { + "source" : [ "obj-1", 1 ], + "destination" : [ "obj-29", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-12", 0 ], + "destination" : [ "obj-17", 1 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-11", 0 ], + "destination" : [ "obj-17", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-14", 0 ], + "destination" : [ "obj-12", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-2", 0 ], + "destination" : [ "obj-14", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-1", 2 ], + "destination" : [ "obj-3", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-7", 0 ], + "destination" : [ "obj-1", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-5", 0 ], + "destination" : [ "obj-8", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-8", 0 ], + "destination" : [ "obj-20", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-4", 0 ], + "destination" : [ "obj-9", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-9", 0 ], + "destination" : [ "obj-1", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-15", 0 ], + "destination" : [ "obj-20", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-13", 0 ], + "destination" : [ "obj-18", 1 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-18", 0 ], + "destination" : [ "obj-1", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-20", 0 ], + "destination" : [ "obj-18", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-1", 0 ], + "destination" : [ "obj-11", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-1", 1 ], + "destination" : [ "obj-16", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-4", 0 ], + "destination" : [ "obj-19", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-23", 0 ], + "destination" : [ "obj-7", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-4", 0 ], + "destination" : [ "obj-6", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-23", 0 ], + "destination" : [ "obj-15", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-21", 0 ], + "destination" : [ "obj-31", 1 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-39", 0 ], + "destination" : [ "obj-41", 1 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-37", 0 ], + "destination" : [ "obj-39", 2 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-29", 0 ], + "destination" : [ "obj-36", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-36", 1 ], + "destination" : [ "obj-37", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-46", 1 ], + "destination" : [ "obj-45", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-17", 0 ], + "destination" : [ "obj-46", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-36", 0 ], + "destination" : [ "obj-39", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-46", 0 ], + "destination" : [ "obj-43", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-43", 0 ], + "destination" : [ "obj-42", 1 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-45", 0 ], + "destination" : [ "obj-43", 2 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-39", 0 ], + "destination" : [ "obj-47", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-43", 0 ], + "destination" : [ "obj-47", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-1", 2 ], + "destination" : [ "obj-22", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-25", 0 ], + "destination" : [ "obj-27", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-1", 0 ], + "destination" : [ "obj-25", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-35", 0 ], + "destination" : [ "obj-34", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-1", 1 ], + "destination" : [ "obj-35", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-18", 0 ], + "destination" : [ "obj-38", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-38", 0 ], + "destination" : [ "obj-44", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-38", 1 ], + "destination" : [ "obj-50", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-38", 2 ], + "destination" : [ "obj-52", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-44", 0 ], + "destination" : [ "obj-53", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-50", 0 ], + "destination" : [ "obj-53", 1 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-53", 0 ], + "destination" : [ "obj-56", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-12", 0 ], + "destination" : [ "obj-59", 1 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-53", 0 ], + "destination" : [ "obj-59", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-59", 0 ], + "destination" : [ "obj-62", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-62", 0 ], + "destination" : [ "obj-61", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } + ] + } +, + "saved_object_attributes" : { + "fontsize" : 12.0, + "default_fontface" : 0, + "default_fontname" : "Arial", + "fontname" : "Arial", + "default_fontsize" : 12.0, + "globalpatchername" : "", + "fontface" : 0 + } + + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "pack 0 0.", + "fontsize" : 10.0, + "patching_rect" : [ 1052.0, 511.0, 51.0, 18.0 ], + "numinlets" : 2, + "id" : "obj-271", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "cpuclock", + "fontsize" : 10.0, + "patching_rect" : [ 1084.0, 485.0, 49.0, 18.0 ], + "numinlets" : 1, + "id" : "obj-270", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "float" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "t i b", + "fontsize" : 10.0, + "patching_rect" : [ 1052.0, 460.0, 32.5, 18.0 ], + "numinlets" : 1, + "id" : "obj-269", + "fontname" : "Arial", + "numoutlets" : 2, + "outlettype" : [ "int", "bang" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "prepend /BayesianStdDev", + "fontsize" : 10.0, + "patching_rect" : [ 351.0, 726.0, 127.0, 18.0 ], + "numinlets" : 1, + "id" : "obj-233", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "flonum", + "fontsize" : 10.0, + "patching_rect" : [ 351.0, 693.0, 50.0, 18.0 ], + "numinlets" : 1, + "id" : "obj-250", + "fontname" : "Arial", + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "r BayesianStdDev", + "fontsize" : 10.0, + "patching_rect" : [ 351.0, 664.0, 91.0, 18.0 ], + "numinlets" : 0, + "id" : "obj-251", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "prepend /BayesianNoise", + "fontsize" : 10.0, + "patching_rect" : [ 498.0, 730.0, 117.0, 18.0 ], + "numinlets" : 1, + "id" : "obj-249", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "flonum", + "fontsize" : 10.0, + "patching_rect" : [ 498.0, 697.0, 50.0, 18.0 ], + "numinlets" : 1, + "id" : "obj-245", + "fontname" : "Arial", + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "r BayesianNoise", + "fontsize" : 10.0, + "patching_rect" : [ 498.0, 668.0, 83.0, 18.0 ], + "numinlets" : 0, + "id" : "obj-224", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "button", + "patching_rect" : [ 1065.0, 573.0, 20.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-243", + "numoutlets" : 1, + "outlettype" : [ "bang" ] + } + + } +, { + "box" : { + "maxclass" : "flonum", + "fontsize" : 10.0, + "patching_rect" : [ 977.0, 537.0, 50.0, 18.0 ], + "numinlets" : 1, + "id" : "obj-231", + "fontname" : "Arial", + "maximum" : 1.0, + "numoutlets" : 2, + "minimum" : 0.0, + "outlettype" : [ "float", "bang" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "p geometrical", + "fontsize" : 10.0, + "patching_rect" : [ 944.0, 610.0, 71.0, 18.0 ], + "numinlets" : 4, + "id" : "obj-220", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ], + "patcher" : { + "fileversion" : 1, + "rect" : [ 183.0, 337.0, 848.0, 518.0 ], + "bglocked" : 0, + "defrect" : [ 183.0, 337.0, 848.0, 518.0 ], + "openrect" : [ 0.0, 0.0, 0.0, 0.0 ], + "openinpresentation" : 0, + "default_fontsize" : 10.0, + "default_fontface" : 0, + "default_fontname" : "Arial", + "gridonopen" : 0, + "gridsize" : [ 15.0, 15.0 ], + "gridsnaponopen" : 0, + "toolbarvisible" : 1, + "boxanimatetime" : 200, + "imprint" : 0, + "enablehscroll" : 1, + "enablevscroll" : 1, + "devicewidth" : 0.0, + "boxes" : [ { + "box" : { + "maxclass" : "comment", + "text" : "correction factor - more if a late correction", + "linecount" : 2, + "fontsize" : 10.0, + "patching_rect" : [ 438.0, 476.0, 150.0, 29.0 ], + "numinlets" : 1, + "id" : "obj-50", + "fontname" : "Arial", + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "loadmess 1", + "fontsize" : 10.0, + "patching_rect" : [ 337.0, 370.0, 62.0, 18.0 ], + "numinlets" : 1, + "id" : "obj-47", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "print", + "fontsize" : 10.0, + "patching_rect" : [ 19.0, 461.0, 30.0, 18.0 ], + "numinlets" : 1, + "id" : "obj-46", + "fontname" : "Arial", + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "message", + "text" : "0. 0. 586.", + "fontsize" : 10.0, + "patching_rect" : [ 71.0, 455.0, 198.0, 16.0 ], + "numinlets" : 2, + "id" : "obj-45", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "pack 0. 0. 0.", + "fontsize" : 10.0, + "patching_rect" : [ 48.0, 407.0, 65.0, 18.0 ], + "numinlets" : 3, + "id" : "obj-43", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "flonum", + "fontsize" : 10.0, + "patching_rect" : [ 518.0, 388.0, 50.0, 18.0 ], + "numinlets" : 1, + "id" : "obj-42", + "fontname" : "Arial", + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ] + } + + } +, { + "box" : { + "maxclass" : "flonum", + "fontsize" : 10.0, + "patching_rect" : [ 499.0, 451.0, 50.0, 18.0 ], + "numinlets" : 1, + "id" : "obj-40", + "fontname" : "Arial", + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ] + } + + } +, { + "box" : { + "maxclass" : "toggle", + "patching_rect" : [ 337.0, 393.0, 20.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-38", + "numoutlets" : 1, + "outlettype" : [ "int" ] + } + + } +, { + "box" : { + "maxclass" : "gswitch", + "int" : 1, + "patching_rect" : [ 384.0, 434.0, 41.0, 32.0 ], + "numinlets" : 3, + "id" : "obj-33", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "* 1.", + "fontsize" : 10.0, + "patching_rect" : [ 467.0, 412.0, 32.5, 18.0 ], + "numinlets" : 2, + "id" : "obj-30", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "float" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "!- 1.", + "fontsize" : 10.0, + "patching_rect" : [ 481.0, 358.0, 32.5, 18.0 ], + "numinlets" : 2, + "id" : "obj-28", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "float" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "* 2.", + "fontsize" : 10.0, + "patching_rect" : [ 560.0, 105.0, 32.5, 18.0 ], + "numinlets" : 2, + "id" : "obj-22", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "float" ] + } + + } +, { + "box" : { + "maxclass" : "inlet", + "patching_rect" : [ 539.0, 40.0, 25.0, 25.0 ], + "numinlets" : 0, + "id" : "obj-20", + "numoutlets" : 1, + "outlettype" : [ "" ], + "comment" : "" + } + + } +, { + "box" : { + "maxclass" : "number", + "fontsize" : 10.0, + "patching_rect" : [ 533.0, 328.0, 50.0, 18.0 ], + "numinlets" : 1, + "id" : "obj-19", + "fontname" : "Arial", + "numoutlets" : 2, + "outlettype" : [ "int", "bang" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "/ 600.", + "fontsize" : 10.0, + "patching_rect" : [ 468.0, 324.0, 36.0, 18.0 ], + "numinlets" : 2, + "id" : "obj-17", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "float" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "split 0. 600.", + "fontsize" : 10.0, + "patching_rect" : [ 469.0, 287.0, 62.0, 18.0 ], + "numinlets" : 3, + "id" : "obj-16", + "fontname" : "Arial", + "numoutlets" : 2, + "outlettype" : [ "float", "float" ] + } + + } +, { + "box" : { + "maxclass" : "button", + "patching_rect" : [ 572.0, 179.0, 20.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-11", + "numoutlets" : 1, + "outlettype" : [ "bang" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "timer", + "fontsize" : 10.0, + "patching_rect" : [ 532.0, 233.0, 33.0, 18.0 ], + "numinlets" : 2, + "id" : "obj-3", + "fontname" : "Arial", + "numoutlets" : 2, + "outlettype" : [ "float", "" ] + } + + } +, { + "box" : { + "maxclass" : "flonum", + "fontsize" : 10.0, + "patching_rect" : [ 205.0, 268.0, 50.0, 18.0 ], + "numinlets" : 1, + "id" : "obj-37", + "fontname" : "Arial", + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ] + } + + } +, { + "box" : { + "maxclass" : "flonum", + "fontsize" : 10.0, + "patching_rect" : [ 409.0, 264.0, 50.0, 18.0 ], + "numinlets" : 1, + "id" : "obj-36", + "fontname" : "Arial", + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "t f f", + "fontsize" : 10.0, + "patching_rect" : [ 281.0, 168.0, 32.5, 18.0 ], + "numinlets" : 1, + "id" : "obj-34", + "fontname" : "Arial", + "numoutlets" : 2, + "outlettype" : [ "float", "float" ] + } + + } +, { + "box" : { + "maxclass" : "flonum", + "fontsize" : 10.0, + "patching_rect" : [ 230.0, 434.0, 50.0, 18.0 ], + "numinlets" : 1, + "id" : "obj-31", + "fontname" : "Arial", + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ] + } + + } +, { + "box" : { + "maxclass" : "flonum", + "fontsize" : 10.0, + "patching_rect" : [ 176.0, 433.0, 50.0, 18.0 ], + "numinlets" : 1, + "id" : "obj-29", + "fontname" : "Arial", + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "unpack 0. 0.", + "fontsize" : 10.0, + "patching_rect" : [ 179.0, 408.0, 65.0, 18.0 ], + "numinlets" : 1, + "id" : "obj-27", + "fontname" : "Arial", + "numoutlets" : 2, + "outlettype" : [ "float", "float" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "pack 0. 0.", + "fontsize" : 10.0, + "patching_rect" : [ 169.0, 382.0, 54.0, 18.0 ], + "numinlets" : 2, + "id" : "obj-26", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "outlet", + "patching_rect" : [ 381.0, 479.0, 25.0, 25.0 ], + "numinlets" : 1, + "id" : "obj-25", + "numoutlets" : 0, + "comment" : "" + } + + } +, { + "box" : { + "maxclass" : "inlet", + "patching_rect" : [ 330.0, 36.0, 25.0, 25.0 ], + "numinlets" : 0, + "id" : "obj-24", + "numoutlets" : 1, + "outlettype" : [ "bang" ], + "comment" : "" + } + + } +, { + "box" : { + "maxclass" : "button", + "patching_rect" : [ 330.0, 84.0, 20.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-23", + "numoutlets" : 1, + "outlettype" : [ "bang" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "prepend set", + "fontsize" : 10.0, + "patching_rect" : [ 208.0, 329.0, 63.0, 18.0 ], + "numinlets" : 1, + "id" : "obj-21", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "flonum", + "fontsize" : 10.0, + "patching_rect" : [ 239.0, 370.0, 50.0, 18.0 ], + "numinlets" : 1, + "id" : "obj-14", + "fontname" : "Arial", + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "t f f", + "fontsize" : 10.0, + "patching_rect" : [ 275.0, 309.0, 32.5, 18.0 ], + "numinlets" : 1, + "id" : "obj-12", + "fontname" : "Arial", + "numoutlets" : 2, + "outlettype" : [ "float", "float" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "+ 0.", + "fontsize" : 10.0, + "patching_rect" : [ 275.0, 271.0, 32.5, 18.0 ], + "numinlets" : 2, + "id" : "obj-10", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "float" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "* -1.", + "fontsize" : 10.0, + "patching_rect" : [ 275.0, 230.0, 32.5, 18.0 ], + "numinlets" : 2, + "id" : "obj-9", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "float" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "* 0.4", + "fontsize" : 10.0, + "patching_rect" : [ 275.0, 203.0, 32.5, 18.0 ], + "numinlets" : 2, + "id" : "obj-8", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "float" ] + } + + } +, { + "box" : { + "maxclass" : "flonum", + "fontsize" : 10.0, + "patching_rect" : [ 281.0, 134.0, 50.0, 18.0 ], + "numinlets" : 1, + "id" : "obj-7", + "fontname" : "Arial", + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "loadmess 0.4", + "fontsize" : 10.0, + "patching_rect" : [ 456.0, 137.0, 70.0, 18.0 ], + "numinlets" : 1, + "id" : "obj-5", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "flonum", + "fontsize" : 10.0, + "patching_rect" : [ 395.0, 178.0, 50.0, 18.0 ], + "numinlets" : 1, + "id" : "obj-4", + "fontname" : "Arial", + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ] + } + + } +, { + "box" : { + "maxclass" : "inlet", + "patching_rect" : [ 412.0, 35.0, 25.0, 25.0 ], + "numinlets" : 0, + "id" : "obj-2", + "numoutlets" : 1, + "outlettype" : [ "" ], + "comment" : "" + } + + } +, { + "box" : { + "maxclass" : "inlet", + "patching_rect" : [ 279.0, 37.0, 25.0, 25.0 ], + "numinlets" : 0, + "id" : "obj-1", + "numoutlets" : 1, + "outlettype" : [ "float" ], + "comment" : "" + } + + } + ], + "lines" : [ { + "patchline" : { + "source" : [ "obj-1", 0 ], + "destination" : [ "obj-7", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-47", 0 ], + "destination" : [ "obj-38", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-43", 0 ], + "destination" : [ "obj-46", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-43", 0 ], + "destination" : [ "obj-45", 1 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-33", 0 ], + "destination" : [ "obj-43", 1 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-19", 0 ], + "destination" : [ "obj-43", 2 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-7", 0 ], + "destination" : [ "obj-43", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-22", 0 ], + "destination" : [ "obj-17", 1 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-28", 0 ], + "destination" : [ "obj-42", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-30", 0 ], + "destination" : [ "obj-40", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-38", 0 ], + "destination" : [ "obj-33", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-33", 0 ], + "destination" : [ "obj-25", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-30", 0 ], + "destination" : [ "obj-33", 2 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-12", 0 ], + "destination" : [ "obj-33", 1 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-28", 0 ], + "destination" : [ "obj-30", 1 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-12", 0 ], + "destination" : [ "obj-30", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-17", 0 ], + "destination" : [ "obj-28", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-22", 0 ], + "destination" : [ "obj-16", 2 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-20", 0 ], + "destination" : [ "obj-22", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-16", 0 ], + "destination" : [ "obj-19", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-16", 0 ], + "destination" : [ "obj-17", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-3", 0 ], + "destination" : [ "obj-16", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-11", 0 ], + "destination" : [ "obj-3", 1 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-23", 0 ], + "destination" : [ "obj-3", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-1", 0 ], + "destination" : [ "obj-11", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-10", 0 ], + "destination" : [ "obj-12", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-12", 1 ], + "destination" : [ "obj-10", 1 ], + "hidden" : 0, + "midpoints" : [ 298.0, 334.0, 356.0, 334.0, 356.0, 269.0, 298.0, 269.0 ] + } + + } +, { + "patchline" : { + "source" : [ "obj-12", 0 ], + "destination" : [ "obj-14", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-12", 0 ], + "destination" : [ "obj-21", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-14", 0 ], + "destination" : [ "obj-26", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-2", 0 ], + "destination" : [ "obj-4", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-21", 0 ], + "destination" : [ "obj-7", 0 ], + "hidden" : 0, + "midpoints" : [ 217.5, 365.0, 180.0, 365.0, 180.0, 110.0, 290.5, 110.0 ] + } + + } +, { + "patchline" : { + "source" : [ "obj-23", 0 ], + "destination" : [ "obj-7", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-24", 0 ], + "destination" : [ "obj-23", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-26", 0 ], + "destination" : [ "obj-27", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-27", 0 ], + "destination" : [ "obj-29", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-27", 1 ], + "destination" : [ "obj-31", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-34", 1 ], + "destination" : [ "obj-10", 1 ], + "hidden" : 0, + "midpoints" : [ 315.0, 187.0, 315.0, 254.0, 298.0, 254.0 ] + } + + } +, { + "patchline" : { + "source" : [ "obj-34", 1 ], + "destination" : [ "obj-36", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-34", 0 ], + "destination" : [ "obj-8", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-4", 0 ], + "destination" : [ "obj-8", 1 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-5", 0 ], + "destination" : [ "obj-4", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-7", 0 ], + "destination" : [ "obj-26", 1 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-7", 0 ], + "destination" : [ "obj-34", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-8", 0 ], + "destination" : [ "obj-9", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-9", 0 ], + "destination" : [ "obj-10", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-9", 0 ], + "destination" : [ "obj-37", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } + ] + } +, + "saved_object_attributes" : { + "fontsize" : 10.0, + "default_fontface" : 0, + "default_fontname" : "Arial", + "fontname" : "Arial", + "default_fontsize" : 10.0, + "globalpatchername" : "", + "fontface" : 0 + } + + } + + } +, { + "box" : { + "maxclass" : "flonum", + "fontsize" : 10.0, + "patching_rect" : [ 944.0, 669.0, 50.0, 18.0 ], + "numinlets" : 1, + "id" : "obj-244", + "fontname" : "Arial", + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "prepend /beatCorrection", + "fontsize" : 10.0, + "patching_rect" : [ 944.0, 700.0, 118.0, 18.0 ], + "numinlets" : 1, + "id" : "obj-211", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "prepend /startTatum", + "fontsize" : 9.0, + "patching_rect" : [ 618.0, 728.0, 91.0, 17.0 ], + "numinlets" : 1, + "id" : "obj-209", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "flonum", + "fontsize" : 10.0, + "patching_rect" : [ 902.0, 542.0, 50.0, 18.0 ], + "numinlets" : 1, + "id" : "obj-203", + "fontname" : "Arial", + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ] + } + + } +, { + "box" : { + "maxclass" : "flonum", + "fontsize" : 10.0, + "patching_rect" : [ 925.0, 490.0, 50.0, 18.0 ], + "numinlets" : 1, + "id" : "obj-210", + "fontname" : "Arial", + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ] + } + + } +, { + "box" : { + "maxclass" : "flonum", + "fontsize" : 10.0, + "patching_rect" : [ 86.0, 879.0, 50.0, 18.0 ], + "numinlets" : 1, + "id" : "obj-236", + "fontname" : "Arial", + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "expr (30000/$f1)", + "fontsize" : 10.0, + "patching_rect" : [ 86.0, 851.0, 84.0, 18.0 ], + "numinlets" : 1, + "id" : "obj-229", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "flonum", + "fontsize" : 10.0, + "patching_rect" : [ 86.0, 820.0, 50.0, 18.0 ], + "numinlets" : 1, + "id" : "obj-227", + "fontname" : "Arial", + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "r underlying_bpm", + "fontsize" : 9.0, + "patching_rect" : [ 86.0, 799.0, 80.0, 17.0 ], + "numinlets" : 0, + "id" : "obj-222", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "s newTatum", + "fontsize" : 10.0, + "patching_rect" : [ 86.0, 909.0, 64.0, 18.0 ], + "numinlets" : 1, + "id" : "obj-221", + "fontname" : "Arial", + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "r startertempo", + "fontsize" : 10.0, + "patching_rect" : [ 768.0, 352.0, 73.0, 18.0 ], + "numinlets" : 0, + "id" : "obj-206", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "flonum", + "fontsize" : 30.0, + "patching_rect" : [ 796.0, 897.0, 132.0, 41.0 ], + "numinlets" : 1, + "id" : "obj-204", + "fontname" : "Arial", + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ] + } + + } +, { + "box" : { + "maxclass" : "flonum", + "fontsize" : 30.0, + "patching_rect" : [ 618.0, 663.0, 96.0, 41.0 ], + "numinlets" : 1, + "id" : "obj-237", + "fontname" : "Arial", + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ] + } + + } +, { + "box" : { + "maxclass" : "flonum", + "fontsize" : 12.0, + "patching_rect" : [ 874.0, 731.0, 73.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-230", + "fontname" : "Arial", + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "+ 0.", + "fontsize" : 12.0, + "patching_rect" : [ 843.0, 729.0, 30.0, 20.0 ], + "numinlets" : 2, + "id" : "obj-225", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "float" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "* 250.", + "fontsize" : 12.0, + "patching_rect" : [ 902.0, 517.0, 41.0, 20.0 ], + "numinlets" : 2, + "id" : "obj-219", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "float" ] + } + + } +, { + "box" : { + "maxclass" : "flonum", + "fontsize" : 12.0, + "patching_rect" : [ 902.0, 455.0, 69.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-217", + "fontname" : "Arial", + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ] + } + + } +, { + "box" : { + "maxclass" : "flonum", + "fontsize" : 12.0, + "patching_rect" : [ 843.0, 693.0, 69.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-216", + "fontname" : "Arial", + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "route /tempo /phase", + "fontsize" : 12.0, + "patching_rect" : [ 902.0, 201.0, 117.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-212", + "fontname" : "Arial", + "numoutlets" : 3, + "outlettype" : [ "", "", "" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "udpreceive 12346", + "fontsize" : 9.0, + "patching_rect" : [ 987.0, 133.0, 82.0, 17.0 ], + "numinlets" : 1, + "id" : "obj-208", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "prepend /clickindex", + "fontsize" : 9.0, + "patching_rect" : [ 1053.0, 536.0, 88.0, 17.0 ], + "numinlets" : 1, + "id" : "obj-62", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "prepend /beatError", + "fontsize" : 9.0, + "patching_rect" : [ 598.0, 265.0, 86.0, 17.0 ], + "numinlets" : 1, + "id" : "obj-201", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "prepend /tatum", + "fontsize" : 9.0, + "patching_rect" : [ 795.0, 765.0, 77.0, 17.0 ], + "numinlets" : 1, + "id" : "obj-11", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "udpsend 127.0.0.1 12345", + "fontsize" : 9.0, + "patching_rect" : [ 793.0, 850.0, 126.0, 17.0 ], + "numinlets" : 1, + "id" : "obj-13", + "fontname" : "Arial", + "numoutlets" : 0 + } + + } + ], + "lines" : [ { + "patchline" : { + "source" : [ "obj-81", 4 ], + "destination" : [ "obj-83", 0 ], + "hidden" : 1, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-81", 3 ], + "destination" : [ "obj-87", 0 ], + "hidden" : 1, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-81", 2 ], + "destination" : [ "obj-89", 0 ], + "hidden" : 1, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-81", 1 ], + "destination" : [ "obj-91", 0 ], + "hidden" : 1, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-81", 0 ], + "destination" : [ "obj-93", 0 ], + "hidden" : 1, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-244", 0 ], + "destination" : [ "obj-81", 0 ], + "hidden" : 1, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-71", 0 ], + "destination" : [ "obj-220", 3 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-75", 0 ], + "destination" : [ "obj-47", 1 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-75", 0 ], + "destination" : [ "obj-47", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-211", 0 ], + "destination" : [ "obj-75", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-48", 4 ], + "destination" : [ "obj-69", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-48", 3 ], + "destination" : [ "obj-67", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-48", 2 ], + "destination" : [ "obj-55", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-48", 1 ], + "destination" : [ "obj-59", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-48", 0 ], + "destination" : [ "obj-61", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-47", 0 ], + "destination" : [ "obj-48", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-49", 0 ], + "destination" : [ "obj-13", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-262", 0 ], + "destination" : [ "obj-42", 1 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-8", 0 ], + "destination" : [ "obj-35", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-44", 0 ], + "destination" : [ "obj-35", 1 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-28", 0 ], + "destination" : [ "obj-1", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-6", 0 ], + "destination" : [ "obj-262", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-6", 0 ], + "destination" : [ "obj-237", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-204", 0 ], + "destination" : [ "obj-5", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-237", 0 ], + "destination" : [ "obj-5", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-4", 0 ], + "destination" : [ "obj-275", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-3", 0 ], + "destination" : [ "obj-281", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-2", 0 ], + "destination" : [ "obj-274", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-262", 0 ], + "destination" : [ "obj-201", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-262", 2 ], + "destination" : [ "obj-8", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-62", 0 ], + "destination" : [ "obj-13", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-251", 0 ], + "destination" : [ "obj-250", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-250", 0 ], + "destination" : [ "obj-233", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-249", 0 ], + "destination" : [ "obj-13", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-245", 0 ], + "destination" : [ "obj-249", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-237", 0 ], + "destination" : [ "obj-209", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-236", 0 ], + "destination" : [ "obj-221", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-233", 0 ], + "destination" : [ "obj-13", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-229", 0 ], + "destination" : [ "obj-236", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-227", 0 ], + "destination" : [ "obj-229", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-224", 0 ], + "destination" : [ "obj-245", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-222", 0 ], + "destination" : [ "obj-227", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-209", 0 ], + "destination" : [ "obj-13", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-269", 1 ], + "destination" : [ "obj-270", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-270", 0 ], + "destination" : [ "obj-271", 1 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-269", 0 ], + "destination" : [ "obj-271", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-271", 0 ], + "destination" : [ "obj-62", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-274", 0 ], + "destination" : [ "obj-262", 1 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-275", 0 ], + "destination" : [ "obj-262", 1 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-281", 0 ], + "destination" : [ "obj-262", 1 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-262", 1 ], + "destination" : [ "obj-269", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-269", 1 ], + "destination" : [ "obj-243", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-201", 0 ], + "destination" : [ "obj-13", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-33", 1 ], + "destination" : [ "obj-38", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-38", 0 ], + "destination" : [ "obj-27", 1 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-33", 0 ], + "destination" : [ "obj-27", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-27", 0 ], + "destination" : [ "obj-32", 1 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-22", 0 ], + "destination" : [ "obj-21", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-21", 0 ], + "destination" : [ "obj-23", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-25", 0 ], + "destination" : [ "obj-23", 1 ], + "hidden" : 0, + "midpoints" : [ 77.5, 394.0, 136.0, 394.0, 136.0, 337.0, 106.0, 337.0 ] + } + + } +, { + "patchline" : { + "source" : [ "obj-26", 0 ], + "destination" : [ "obj-20", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-20", 1 ], + "destination" : [ "obj-23", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-23", 0 ], + "destination" : [ "obj-25", 1 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-20", 0 ], + "destination" : [ "obj-25", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-20", 1 ], + "destination" : [ "obj-19", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-19", 0 ], + "destination" : [ "obj-18", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-18", 0 ], + "destination" : [ "obj-16", 1 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-25", 0 ], + "destination" : [ "obj-15", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-15", 0 ], + "destination" : [ "obj-16", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-16", 0 ], + "destination" : [ "obj-14", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-22", 0 ], + "destination" : [ "obj-9", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-9", 0 ], + "destination" : [ "obj-19", 3 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-26", 0 ], + "destination" : [ "obj-7", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-8", 0 ], + "destination" : [ "obj-26", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-8", 0 ], + "destination" : [ "obj-33", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-262", 3 ], + "destination" : [ "obj-44", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-1", 0 ], + "destination" : [ "obj-13", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-10", 0 ], + "destination" : [ "obj-13", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-237", 0 ], + "destination" : [ "obj-24", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-18", 0 ], + "destination" : [ "obj-17", 1 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-16", 0 ], + "destination" : [ "obj-17", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-8", 0 ], + "destination" : [ "obj-17", 2 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-44", 0 ], + "destination" : [ "obj-17", 3 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-17", 0 ], + "destination" : [ "obj-36", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-37", 0 ], + "destination" : [ "obj-9", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-37", 0 ], + "destination" : [ "obj-21", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-269", 0 ], + "destination" : [ "obj-49", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-208", 0 ], + "destination" : [ "obj-50", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-50", 0 ], + "destination" : [ "obj-51", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-51", 1 ], + "destination" : [ "obj-56", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-51", 0 ], + "destination" : [ "obj-54", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-50", 0 ], + "destination" : [ "obj-57", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-220", 0 ], + "destination" : [ "obj-244", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-216", 0 ], + "destination" : [ "obj-24", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-235", 0 ], + "destination" : [ "obj-203", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-235", 0 ], + "destination" : [ "obj-217", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-232", 0 ], + "destination" : [ "obj-235", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-11", 0 ], + "destination" : [ "obj-13", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-203", 0 ], + "destination" : [ "obj-220", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-208", 0 ], + "destination" : [ "obj-212", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-210", 0 ], + "destination" : [ "obj-219", 1 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-211", 0 ], + "destination" : [ "obj-13", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-216", 0 ], + "destination" : [ "obj-225", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-217", 0 ], + "destination" : [ "obj-219", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-219", 0 ], + "destination" : [ "obj-203", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-225", 0 ], + "destination" : [ "obj-230", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-243", 0 ], + "destination" : [ "obj-220", 1 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-244", 0 ], + "destination" : [ "obj-211", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-244", 0 ], + "destination" : [ "obj-225", 1 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-225", 0 ], + "destination" : [ "obj-204", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-72", 0 ], + "destination" : [ "obj-71", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-72", 0 ], + "destination" : [ "obj-73", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-212", 0 ], + "destination" : [ "obj-71", 1 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-71", 0 ], + "destination" : [ "obj-216", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-71", 0 ], + "destination" : [ "obj-210", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-206", 0 ], + "destination" : [ "obj-71", 1 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-206", 0 ], + "destination" : [ "obj-71", 2 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-212", 1 ], + "destination" : [ "obj-73", 1 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-73", 0 ], + "destination" : [ "obj-217", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-51", 1 ], + "destination" : [ "obj-73", 2 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-51", 0 ], + "destination" : [ "obj-71", 2 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-74", 0 ], + "destination" : [ "obj-72", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } + ] + } +, + "saved_object_attributes" : { + "fontsize" : 12.0, + "default_fontface" : 0, + "default_fontname" : "Arial", + "fontname" : "Arial", + "default_fontsize" : 12.0, + "globalpatchername" : "", + "fontface" : 0 + } + + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "loadmess 120", + "fontsize" : 10.0, + "patching_rect" : [ 513.0, 874.0, 80.0, 19.0 ], + "numinlets" : 1, + "id" : "obj-31", + "fontname" : "Verdana", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "comment", + "text" : "bpm to start", + "fontsize" : 10.0, + "presentation_rect" : [ 63.0, 57.0, 74.0, 19.0 ], + "patching_rect" : [ 513.0, 900.0, 74.0, 19.0 ], + "numinlets" : 1, + "presentation" : 1, + "id" : "obj-93", + "fontname" : "Verdana", + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "flonum", + "fontsize" : 10.0, + "presentation_rect" : [ 63.0, 76.0, 50.0, 19.0 ], + "patching_rect" : [ 513.0, 919.0, 50.0, 19.0 ], + "numinlets" : 1, + "presentation" : 1, + "id" : "obj-82", + "fontname" : "Verdana", + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "expr (30000/$i1)", + "fontsize" : 10.0, + "patching_rect" : [ 513.0, 972.0, 97.0, 19.0 ], + "numinlets" : 1, + "id" : "obj-75", + "fontname" : "Verdana", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "r kick_bang", + "fontsize" : 10.0, + "patching_rect" : [ 675.0, 313.0, 69.0, 19.0 ], + "numinlets" : 0, + "id" : "obj-81", + "fontname" : "Verdana", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "r snare_hit", + "fontsize" : 10.0, + "patching_rect" : [ 1016.0, 278.0, 65.0, 19.0 ], + "numinlets" : 0, + "id" : "obj-69", + "fontname" : "Verdana", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "button", + "patching_rect" : [ 1067.0, 797.0, 20.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-68", + "numoutlets" : 1, + "outlettype" : [ "bang" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "pipe 1000", + "fontsize" : 10.0, + "patching_rect" : [ 1064.0, 777.0, 62.0, 19.0 ], + "numinlets" : 2, + "id" : "obj-63", + "fontname" : "Verdana", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "t b l", + "fontsize" : 10.0, + "patching_rect" : [ 1023.0, 762.0, 32.5, 19.0 ], + "numinlets" : 1, + "id" : "obj-58", + "fontname" : "Verdana", + "numoutlets" : 2, + "outlettype" : [ "bang", "" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "r clickbang", + "fontsize" : 12.0, + "patching_rect" : [ 1092.0, 301.0, 68.0, 20.0 ], + "numinlets" : 0, + "id" : "obj-51", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "message", + "text" : "6", + "fontsize" : 10.0, + "patching_rect" : [ 960.0, 447.0, 32.5, 17.0 ], + "numinlets" : 2, + "id" : "obj-54", + "fontname" : "Verdana", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "loadbang", + "fontsize" : 10.0, + "patching_rect" : [ 960.0, 412.0, 56.0, 19.0 ], + "numinlets" : 1, + "id" : "obj-44", + "fontname" : "Verdana", + "numoutlets" : 1, + "outlettype" : [ "bang" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "loadbang", + "fontsize" : 10.0, + "patching_rect" : [ 1064.0, 751.0, 56.0, 19.0 ], + "numinlets" : 1, + "id" : "obj-46", + "fontname" : "Verdana", + "numoutlets" : 1, + "outlettype" : [ "bang" ] + } + + } +, { + "box" : { + "maxclass" : "message", + "text" : "set \"from MaxMSP 1\"", + "fontsize" : 9.0, + "patching_rect" : [ 1063.0, 816.0, 149.0, 15.0 ], + "numinlets" : 2, + "id" : "obj-13", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "s set_tatum", + "fontsize" : 9.0, + "patching_rect" : [ 513.0, 1030.0, 57.0, 17.0 ], + "numinlets" : 1, + "id" : "obj-25", + "fontname" : "Arial", + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "number", + "fontsize" : 10.0, + "patching_rect" : [ 513.0, 1001.0, 50.0, 19.0 ], + "numinlets" : 1, + "id" : "obj-19", + "fontname" : "Verdana", + "numoutlets" : 2, + "outlettype" : [ "int", "bang" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "loadmess 4", + "fontsize" : 10.0, + "patching_rect" : [ 586.0, 898.0, 68.0, 19.0 ], + "numinlets" : 1, + "id" : "obj-23", + "fontname" : "Verdana", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "s kickstart", + "fontsize" : 10.0, + "patching_rect" : [ 586.0, 948.0, 62.0, 19.0 ], + "numinlets" : 1, + "id" : "obj-22", + "fontname" : "Verdana", + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "number", + "fontsize" : 10.0, + "presentation_rect" : [ 165.0, 77.0, 50.0, 19.0 ], + "patching_rect" : [ 586.0, 922.0, 50.0, 19.0 ], + "numinlets" : 1, + "presentation" : 1, + "id" : "obj-21", + "fontname" : "Verdana", + "numoutlets" : 2, + "outlettype" : [ "int", "bang" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "midiinfo", + "fontsize" : 9.0, + "patching_rect" : [ 1004.0, 821.0, 46.0, 17.0 ], + "numinlets" : 2, + "id" : "obj-61", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "button", + "patching_rect" : [ 1004.0, 793.0, 19.0, 19.0 ], + "numinlets" : 1, + "id" : "obj-76", + "fgcolor" : [ 0.760784, 0.709804, 0.811765, 1.0 ], + "numoutlets" : 1, + "outlettype" : [ "bang" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "s output", + "fontsize" : 9.0, + "patching_rect" : [ 1108.0, 883.0, 46.0, 17.0 ], + "numinlets" : 1, + "id" : "obj-184", + "fontname" : "Arial", + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "umenu", + "fontsize" : 18.0, + "presentation_rect" : [ 389.0, 576.0, 222.0, 27.0 ], + "items" : [ "AU DLS Synth 1", ",", "IAC Driver Bus 1", ",", "IAC Driver IAC Bus 2", ",", "IAC Driver IAC Bus 3", ",", "from MaxMSP 1", ",", "from MaxMSP 2" ], + "types" : [ ], + "bgcolor" : [ 0.647059, 0.905882, 0.890196, 1.0 ], + "patching_rect" : [ 1004.0, 843.0, 222.0, 27.0 ], + "numinlets" : 1, + "presentation" : 1, + "id" : "obj-185", + "fontname" : "Arial", + "textcolor" : [ 0.0, 0.098039, 0.392157, 1.0 ], + "numoutlets" : 3, + "outlettype" : [ "int", "", "" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "p sendMidiOut", + "fontsize" : 10.0, + "patching_rect" : [ 293.0, 632.0, 75.0, 18.0 ], + "numinlets" : 1, + "id" : "obj-288", + "fontname" : "Arial", + "numoutlets" : 0, + "patcher" : { + "fileversion" : 1, + "rect" : [ 25.0, 69.0, 640.0, 480.0 ], + "bglocked" : 0, + "defrect" : [ 25.0, 69.0, 640.0, 480.0 ], + "openrect" : [ 0.0, 0.0, 0.0, 0.0 ], + "openinpresentation" : 0, + "default_fontsize" : 12.0, + "default_fontface" : 0, + "default_fontname" : "Arial", + "gridonopen" : 0, + "gridsize" : [ 15.0, 15.0 ], + "gridsnaponopen" : 0, + "toolbarvisible" : 1, + "boxanimatetime" : 200, + "imprint" : 0, + "enablehscroll" : 1, + "enablevscroll" : 1, + "devicewidth" : 0.0, + "boxes" : [ { + "box" : { + "maxclass" : "newobj", + "text" : "r active", + "hidden" : 1, + "fontsize" : 9.0, + "patching_rect" : [ 50.0, 326.0, 46.0, 17.0 ], + "numinlets" : 0, + "id" : "obj-140", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "comment", + "text" : "Active", + "fontsize" : 14.0, + "patching_rect" : [ 52.0, 278.0, 60.0, 23.0 ], + "numinlets" : 1, + "id" : "obj-143", + "fontname" : "Helvetica Neue Black Condensed", + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "gswitch2", + "patching_rect" : [ 89.0, 302.0, 39.0, 32.0 ], + "numinlets" : 2, + "id" : "obj-144", + "numoutlets" : 2, + "outlettype" : [ "", "" ] + } + + } +, { + "box" : { + "maxclass" : "toggle", + "patching_rect" : [ 66.0, 197.0, 23.0, 23.0 ], + "numinlets" : 1, + "id" : "obj-145", + "numoutlets" : 1, + "outlettype" : [ "int" ] + } + + } +, { + "box" : { + "maxclass" : "flonum", + "fontsize" : 9.0, + "htextcolor" : [ 0.870588, 0.870588, 0.870588, 1.0 ], + "triscale" : 0.9, + "bgcolor" : [ 0.866667, 0.866667, 0.866667, 1.0 ], + "patching_rect" : [ 131.0, 284.0, 46.0, 17.0 ], + "numinlets" : 1, + "id" : "obj-151", + "fontname" : "Arial", + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "s bpm", + "fontsize" : 9.0, + "patching_rect" : [ 74.0, 137.0, 36.0, 17.0 ], + "numinlets" : 1, + "id" : "obj-161", + "fontname" : "Arial", + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "r output", + "fontsize" : 9.0, + "patching_rect" : [ 69.0, 355.0, 46.0, 17.0 ], + "numinlets" : 0, + "id" : "obj-162", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "flonum", + "fontsize" : 9.0, + "htextcolor" : [ 0.870588, 0.870588, 0.870588, 1.0 ], + "triscale" : 0.9, + "bgcolor" : [ 0.866667, 0.866667, 0.866667, 1.0 ], + "patching_rect" : [ 74.0, 156.0, 39.0, 17.0 ], + "numinlets" : 1, + "id" : "obj-163", + "fontname" : "Arial", + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ] + } + + } +, { + "box" : { + "maxclass" : "number", + "fontsize" : 9.0, + "htextcolor" : [ 0.870588, 0.870588, 0.870588, 1.0 ], + "triscale" : 0.9, + "bgcolor" : [ 0.866667, 0.866667, 0.866667, 1.0 ], + "patching_rect" : [ 118.0, 238.0, 77.0, 17.0 ], + "numinlets" : 1, + "id" : "obj-164", + "fontname" : "Arial", + "numoutlets" : 2, + "outlettype" : [ "int", "bang" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "midiout", + "fontsize" : 18.0, + "patching_rect" : [ 118.0, 342.0, 77.0, 27.0 ], + "numinlets" : 1, + "id" : "obj-165", + "fontname" : "Arial", + "color" : [ 1.0, 0.611765, 0.611765, 1.0 ], + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "xbendout 1", + "fontsize" : 9.0, + "patching_rect" : [ 118.0, 262.0, 59.0, 17.0 ], + "numinlets" : 2, + "id" : "obj-166", + "fontname" : "Arial", + "color" : [ 1.0, 0.360784, 0.682353, 1.0 ], + "numoutlets" : 1, + "outlettype" : [ "int" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "/ 140.", + "fontsize" : 9.0, + "patching_rect" : [ 118.0, 212.0, 46.0, 17.0 ], + "numinlets" : 2, + "id" : "obj-167", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "float" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "* 16384.", + "fontsize" : 9.0, + "patching_rect" : [ 118.0, 182.0, 59.0, 17.0 ], + "numinlets" : 2, + "id" : "obj-168", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "float" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "- 60.", + "fontsize" : 9.0, + "patching_rect" : [ 118.0, 154.0, 39.0, 17.0 ], + "numinlets" : 2, + "id" : "obj-169", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "float" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "* 30000.", + "fontsize" : 9.0, + "patching_rect" : [ 118.0, 125.0, 53.0, 17.0 ], + "numinlets" : 2, + "id" : "obj-170", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "float" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "pow -1.", + "fontsize" : 9.0, + "patching_rect" : [ 118.0, 100.0, 45.0, 17.0 ], + "numinlets" : 2, + "id" : "obj-171", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "float" ] + } + + } +, { + "box" : { + "maxclass" : "inlet", + "patching_rect" : [ 221.0, 38.0, 25.0, 25.0 ], + "numinlets" : 0, + "id" : "obj-287", + "numoutlets" : 1, + "outlettype" : [ "" ], + "comment" : "" + } + + } + ], + "lines" : [ { + "patchline" : { + "source" : [ "obj-287", 0 ], + "destination" : [ "obj-171", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-171", 0 ], + "destination" : [ "obj-170", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-170", 0 ], + "destination" : [ "obj-169", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-170", 0 ], + "destination" : [ "obj-163", 0 ], + "hidden" : 1, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-170", 0 ], + "destination" : [ "obj-161", 0 ], + "hidden" : 1, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-169", 0 ], + "destination" : [ "obj-168", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-168", 0 ], + "destination" : [ "obj-167", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-167", 0 ], + "destination" : [ "obj-164", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-166", 0 ], + "destination" : [ "obj-151", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-166", 0 ], + "destination" : [ "obj-144", 1 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-164", 0 ], + "destination" : [ "obj-166", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-162", 0 ], + "destination" : [ "obj-165", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-145", 0 ], + "destination" : [ "obj-144", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-144", 1 ], + "destination" : [ "obj-165", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-140", 0 ], + "destination" : [ "obj-145", 0 ], + "hidden" : 1, + "midpoints" : [ ] + } + + } + ] + } +, + "saved_object_attributes" : { + "fontsize" : 12.0, + "default_fontface" : 0, + "default_fontname" : "Arial", + "fontname" : "Arial", + "default_fontsize" : 12.0, + "globalpatchername" : "", + "fontface" : 0 + } + + } + + } +, { + "box" : { + "maxclass" : "comment", + "text" : "PLAY FILES", + "linecount" : 2, + "presentation_linecount" : 2, + "fontsize" : 12.0, + "presentation_rect" : [ 637.0, 442.0, 43.0, 34.0 ], + "patching_rect" : [ 1001.0, 474.0, 43.0, 34.0 ], + "numinlets" : 1, + "presentation" : 1, + "id" : "obj-132", + "fontname" : "Helvetica Neue Black Condensed", + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "comment", + "text" : "RESET", + "fontsize" : 12.0, + "presentation_rect" : [ 582.0, 454.0, 49.0, 20.0 ], + "patching_rect" : [ 946.0, 486.0, 49.0, 20.0 ], + "numinlets" : 1, + "presentation" : 1, + "id" : "obj-133", + "fontname" : "Helvetica Neue Black Condensed", + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "button", + "presentation_rect" : [ 636.0, 472.0, 41.0, 41.0 ], + "patching_rect" : [ 1000.0, 504.0, 41.0, 41.0 ], + "numinlets" : 1, + "presentation" : 1, + "id" : "obj-182", + "fgcolor" : [ 0.4, 0.4, 0.8, 1.0 ], + "numoutlets" : 1, + "outlettype" : [ "bang" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "send start", + "fontsize" : 9.0, + "patching_rect" : [ 1001.0, 553.0, 76.0, 17.0 ], + "numinlets" : 1, + "id" : "obj-183", + "fontname" : "Arial", + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "s reset", + "fontsize" : 9.0, + "patching_rect" : [ 901.0, 551.0, 42.0, 17.0 ], + "numinlets" : 1, + "id" : "obj-221", + "fontname" : "Arial", + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "button", + "presentation_rect" : [ 584.0, 472.0, 41.0, 41.0 ], + "patching_rect" : [ 948.0, 504.0, 41.0, 41.0 ], + "numinlets" : 1, + "presentation" : 1, + "id" : "obj-235", + "fgcolor" : [ 0.8, 0.611765, 0.380392, 1.0 ], + "numoutlets" : 1, + "outlettype" : [ "bang" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "send stop", + "fontsize" : 9.0, + "patching_rect" : [ 948.0, 551.0, 52.0, 17.0 ], + "numinlets" : 1, + "id" : "obj-236", + "fontname" : "Arial", + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "button", + "patching_rect" : [ 685.0, 588.0, 15.0, 15.0 ], + "numinlets" : 1, + "id" : "obj-6", + "numoutlets" : 1, + "outlettype" : [ "bang" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "s open_room", + "fontsize" : 10.0, + "patching_rect" : [ 685.0, 608.0, 72.0, 18.0 ], + "numinlets" : 1, + "id" : "obj-162", + "fontname" : "Arial", + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "message", + "text" : "open room_mic_file", + "fontsize" : 14.0, + "presentation_rect" : [ 391.0, 500.0, 145.0, 21.0 ], + "patching_rect" : [ 755.0, 532.0, 145.0, 21.0 ], + "numinlets" : 2, + "presentation" : 1, + "id" : "obj-163", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "comment", + "text" : "Running Bsyesian Beat Tracker with AUDIO FILES (CHANNEL 13 on kick and snare above)", + "linecount" : 3, + "presentation_linecount" : 3, + "fontsize" : 12.0, + "presentation_rect" : [ 389.0, 524.0, 224.0, 48.0 ], + "patching_rect" : [ 1191.0, 502.0, 224.0, 48.0 ], + "numinlets" : 1, + "presentation" : 1, + "id" : "obj-136", + "fontname" : "Helvetica Neue Black Condensed", + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "button", + "patching_rect" : [ 685.0, 552.0, 15.0, 15.0 ], + "numinlets" : 1, + "id" : "obj-137", + "numoutlets" : 1, + "outlettype" : [ "bang" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "s open_snare", + "fontsize" : 9.0, + "patching_rect" : [ 685.0, 569.0, 69.0, 17.0 ], + "numinlets" : 1, + "id" : "obj-138", + "fontname" : "Arial", + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "s open_kick", + "fontsize" : 10.0, + "patching_rect" : [ 685.0, 537.0, 65.0, 18.0 ], + "numinlets" : 1, + "id" : "obj-139", + "fontname" : "Arial", + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "button", + "patching_rect" : [ 685.0, 519.0, 15.0, 15.0 ], + "numinlets" : 1, + "id" : "obj-140", + "numoutlets" : 1, + "outlettype" : [ "bang" ] + } + + } +, { + "box" : { + "maxclass" : "message", + "text" : "open snare_audio_file", + "fontsize" : 14.0, + "presentation_rect" : [ 389.0, 474.0, 175.0, 21.0 ], + "patching_rect" : [ 753.0, 506.0, 175.0, 21.0 ], + "numinlets" : 2, + "presentation" : 1, + "id" : "obj-141", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "message", + "text" : "open kick_audio_file", + "fontsize" : 14.0, + "presentation_rect" : [ 389.0, 450.0, 174.0, 21.0 ], + "patching_rect" : [ 753.0, 482.0, 174.0, 21.0 ], + "numinlets" : 2, + "presentation" : 1, + "id" : "obj-142", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "message", + "text" : "main", + "fontsize" : 9.0, + "presentation_rect" : [ 467.0, 234.0, 31.0, 15.0 ], + "bgcolor" : [ 0.611765, 0.701961, 1.0, 1.0 ], + "patching_rect" : [ 1040.0, 184.0, 31.0, 15.0 ], + "numinlets" : 2, + "presentation" : 1, + "id" : "obj-34", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "message", + "text" : "intro", + "fontsize" : 9.0, + "presentation_rect" : [ 500.0, 234.0, 32.0, 15.0 ], + "bgcolor" : [ 0.611765, 0.701961, 1.0, 1.0 ], + "patching_rect" : [ 1076.0, 185.0, 32.0, 15.0 ], + "numinlets" : 2, + "presentation" : 1, + "id" : "obj-37", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "s introthresh", + "fontsize" : 9.0, + "patching_rect" : [ 1079.0, 336.0, 69.0, 17.0 ], + "numinlets" : 1, + "id" : "obj-40", + "fontname" : "Arial", + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "number", + "fontsize" : 12.0, + "presentation_rect" : [ 499.0, 253.0, 37.0, 20.0 ], + "htextcolor" : [ 0.870588, 0.870588, 0.870588, 1.0 ], + "triscale" : 0.9, + "bgcolor" : [ 0.611765, 0.701961, 1.0, 1.0 ], + "patching_rect" : [ 863.0, 286.0, 37.0, 20.0 ], + "numinlets" : 1, + "presentation" : 1, + "id" : "obj-42", + "fontname" : "Arial", + "numoutlets" : 2, + "outlettype" : [ "int", "bang" ] + } + + } +, { + "box" : { + "maxclass" : "button", + "patching_rect" : [ 863.0, 463.0, 15.0, 15.0 ], + "numinlets" : 1, + "id" : "obj-47", + "numoutlets" : 1, + "outlettype" : [ "bang" ] + } + + } +, { + "box" : { + "maxclass" : "message", + "text" : "10", + "fontsize" : 9.0, + "presentation_rect" : [ 497.0, 361.0, 20.0, 15.0 ], + "patching_rect" : [ 878.0, 463.0, 20.0, 15.0 ], + "numinlets" : 2, + "presentation" : 1, + "id" : "obj-48", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "message", + "text" : "9", + "fontsize" : 9.0, + "presentation_rect" : [ 435.0, 361.0, 16.0, 15.0 ], + "patching_rect" : [ 793.0, 461.0, 16.0, 15.0 ], + "numinlets" : 2, + "presentation" : 1, + "id" : "obj-49", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "comment", + "text" : "Trigger Thresholds", + "presentation_linecount" : 2, + "fontsize" : 12.0, + "presentation_rect" : [ 395.0, 220.0, 91.0, 34.0 ], + "patching_rect" : [ 759.0, 252.0, 142.0, 20.0 ], + "numinlets" : 1, + "presentation" : 1, + "id" : "obj-64", + "fontname" : "Helvetica Neue Black Condensed", + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "meter~", + "presentation_rect" : [ 567.0, 76.0, 13.0, 143.0 ], + "bgcolor" : [ 0.403922, 0.403922, 0.403922, 1.0 ], + "warmcolor" : [ 0.85098, 0.85098, 0.0, 1.0 ], + "patching_rect" : [ 963.0, 107.0, 13.0, 143.0 ], + "numinlets" : 1, + "presentation" : 1, + "id" : "obj-65", + "tepidcolor" : [ 0.6, 0.729412, 0.0, 1.0 ], + "numoutlets" : 1, + "outlettype" : [ "float" ], + "coldcolor" : [ 0.0, 0.658824, 0.0, 1.0 ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "r click_signal", + "fontsize" : 9.0, + "patching_rect" : [ 1016.0, 88.0, 71.0, 17.0 ], + "numinlets" : 0, + "id" : "obj-66", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "r snare_signal", + "fontsize" : 9.0, + "patching_rect" : [ 849.0, 74.0, 75.0, 17.0 ], + "numinlets" : 0, + "id" : "obj-71", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "r kick_signal", + "fontsize" : 9.0, + "patching_rect" : [ 761.0, 61.0, 68.0, 17.0 ], + "numinlets" : 0, + "id" : "obj-72", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "meter~", + "presentation_rect" : [ 489.0, 73.0, 13.0, 144.0 ], + "bgcolor" : [ 0.403922, 0.403922, 0.403922, 1.0 ], + "warmcolor" : [ 0.85098, 0.85098, 0.0, 1.0 ], + "patching_rect" : [ 853.0, 105.0, 13.0, 144.0 ], + "numinlets" : 1, + "presentation" : 1, + "id" : "obj-73", + "tepidcolor" : [ 0.6, 0.729412, 0.0, 1.0 ], + "numoutlets" : 1, + "outlettype" : [ "float" ], + "coldcolor" : [ 0.0, 0.658824, 0.0, 1.0 ] + } + + } +, { + "box" : { + "maxclass" : "meter~", + "presentation_rect" : [ 426.0, 72.0, 13.0, 144.0 ], + "bgcolor" : [ 0.403922, 0.403922, 0.403922, 1.0 ], + "warmcolor" : [ 0.85098, 0.85098, 0.0, 1.0 ], + "patching_rect" : [ 790.0, 104.0, 13.0, 144.0 ], + "numinlets" : 1, + "presentation" : 1, + "id" : "obj-74", + "tepidcolor" : [ 0.6, 0.729412, 0.0, 1.0 ], + "numoutlets" : 1, + "interval" : 100, + "outlettype" : [ "float" ], + "coldcolor" : [ 0.0, 0.658824, 0.0, 1.0 ] + } + + } +, { + "box" : { + "maxclass" : "message", + "text" : "3", + "fontsize" : 9.0, + "presentation_rect" : [ 417.0, 361.0, 16.0, 15.0 ], + "patching_rect" : [ 777.0, 461.0, 16.0, 15.0 ], + "numinlets" : 2, + "presentation" : 1, + "id" : "obj-105", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "button", + "patching_rect" : [ 786.0, 467.0, 15.0, 15.0 ], + "numinlets" : 1, + "id" : "obj-106", + "numoutlets" : 1, + "outlettype" : [ "bang" ] + } + + } +, { + "box" : { + "maxclass" : "message", + "text" : "4", + "fontsize" : 9.0, + "presentation_rect" : [ 481.0, 361.0, 16.0, 15.0 ], + "patching_rect" : [ 846.0, 461.0, 16.0, 15.0 ], + "numinlets" : 2, + "presentation" : 1, + "id" : "obj-107", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "button", + "patching_rect" : [ 767.0, 464.0, 15.0, 15.0 ], + "numinlets" : 1, + "id" : "obj-108", + "numoutlets" : 1, + "outlettype" : [ "bang" ] + } + + } +, { + "box" : { + "maxclass" : "message", + "text" : "13", + "fontsize" : 9.0, + "presentation_rect" : [ 368.0, 361.0, 20.0, 15.0 ], + "patching_rect" : [ 808.0, 461.0, 20.0, 15.0 ], + "numinlets" : 2, + "presentation" : 1, + "id" : "obj-109", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "message", + "text" : "2", + "fontsize" : 9.0, + "patching_rect" : [ 831.0, 461.0, 16.0, 15.0 ], + "numinlets" : 2, + "id" : "obj-110", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "message", + "text" : "1", + "fontsize" : 9.0, + "presentation_rect" : [ 396.0, 358.0, 16.0, 15.0 ], + "patching_rect" : [ 760.0, 461.0, 16.0, 15.0 ], + "numinlets" : 2, + "presentation" : 1, + "id" : "obj-111", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "comment", + "text" : "CLICK", + "fontsize" : 18.0, + "presentation_rect" : [ 540.0, 49.0, 62.0, 27.0 ], + "patching_rect" : [ 912.0, 19.0, 62.0, 27.0 ], + "numinlets" : 1, + "presentation" : 1, + "id" : "obj-116", + "fontname" : "Helvetica Neue Black Condensed", + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "number", + "fontsize" : 9.0, + "presentation_rect" : [ 526.0, 338.0, 35.0, 17.0 ], + "htextcolor" : [ 0.870588, 0.870588, 0.870588, 1.0 ], + "triscale" : 0.9, + "bgcolor" : [ 0.866667, 0.866667, 0.866667, 1.0 ], + "patching_rect" : [ 890.0, 365.0, 35.0, 17.0 ], + "numinlets" : 1, + "presentation" : 1, + "id" : "obj-126", + "fontname" : "Arial", + "numoutlets" : 2, + "outlettype" : [ "int", "bang" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "r click_level", + "fontsize" : 9.0, + "patching_rect" : [ 1057.0, 419.0, 67.0, 17.0 ], + "numinlets" : 0, + "id" : "obj-127", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "number", + "fontsize" : 9.0, + "presentation_rect" : [ 463.0, 338.0, 35.0, 17.0 ], + "htextcolor" : [ 0.870588, 0.870588, 0.870588, 1.0 ], + "triscale" : 0.9, + "bgcolor" : [ 0.611765, 0.701961, 1.0, 1.0 ], + "patching_rect" : [ 827.0, 366.0, 35.0, 17.0 ], + "numinlets" : 1, + "presentation" : 1, + "id" : "obj-128", + "fontname" : "Arial", + "numoutlets" : 2, + "outlettype" : [ "int", "bang" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "r snare_level", + "fontsize" : 9.0, + "patching_rect" : [ 677.0, 404.0, 71.0, 17.0 ], + "numinlets" : 0, + "id" : "obj-129", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "number", + "fontsize" : 9.0, + "presentation_rect" : [ 410.0, 338.0, 35.0, 17.0 ], + "htextcolor" : [ 0.870588, 0.870588, 0.870588, 1.0 ], + "triscale" : 0.9, + "bgcolor" : [ 1.0, 0.360784, 0.682353, 1.0 ], + "patching_rect" : [ 775.0, 381.0, 35.0, 17.0 ], + "numinlets" : 1, + "presentation" : 1, + "id" : "obj-130", + "fontname" : "Arial", + "numoutlets" : 2, + "outlettype" : [ "int", "bang" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "r kick_level", + "fontsize" : 9.0, + "patching_rect" : [ 677.0, 382.0, 64.0, 17.0 ], + "numinlets" : 0, + "id" : "obj-131", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "message", + "text" : "8", + "fontsize" : 9.0, + "presentation_rect" : [ 567.0, 77.0, 16.0, 15.0 ], + "patching_rect" : [ 909.0, 86.0, 16.0, 15.0 ], + "numinlets" : 2, + "presentation" : 1, + "id" : "obj-151", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "s clickthresh", + "fontsize" : 9.0, + "patching_rect" : [ 938.0, 362.0, 68.0, 17.0 ], + "numinlets" : 1, + "id" : "obj-152", + "fontname" : "Arial", + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "number", + "fontsize" : 14.0, + "presentation_rect" : [ 544.0, 250.0, 44.0, 23.0 ], + "htextcolor" : [ 0.870588, 0.870588, 0.870588, 1.0 ], + "triscale" : 0.9, + "bgcolor" : [ 0.866667, 0.866667, 0.866667, 1.0 ], + "patching_rect" : [ 910.0, 284.0, 44.0, 23.0 ], + "numinlets" : 1, + "presentation" : 1, + "id" : "obj-153", + "fontname" : "Arial", + "numoutlets" : 2, + "outlettype" : [ "int", "bang" ] + } + + } +, { + "box" : { + "maxclass" : "slider", + "presentation_rect" : [ 546.0, 75.0, 18.0, 144.0 ], + "patching_rect" : [ 910.0, 107.0, 18.0, 144.0 ], + "numinlets" : 1, + "presentation" : 1, + "id" : "obj-154", + "size" : 120.0, + "numoutlets" : 1, + "orientation" : 2, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "message", + "text" : "8", + "fontsize" : 9.0, + "presentation_rect" : [ 529.0, 361.0, 16.0, 15.0 ], + "patching_rect" : [ 890.0, 388.0, 16.0, 15.0 ], + "numinlets" : 2, + "presentation" : 1, + "id" : "obj-170", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "s click_driver", + "fontsize" : 9.0, + "patching_rect" : [ 1057.0, 509.0, 74.0, 17.0 ], + "numinlets" : 1, + "id" : "obj-171", + "fontname" : "Arial", + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "number", + "fontsize" : 36.0, + "presentation_rect" : [ 527.0, 376.0, 61.0, 48.0 ], + "htextcolor" : [ 0.870588, 0.870588, 0.870588, 1.0 ], + "triscale" : 0.9, + "bgcolor" : [ 0.866667, 0.866667, 0.866667, 1.0 ], + "patching_rect" : [ 891.0, 408.0, 61.0, 48.0 ], + "numinlets" : 1, + "presentation" : 1, + "id" : "obj-172", + "fontname" : "Arial", + "maximum" : 10, + "numoutlets" : 2, + "minimum" : 1, + "outlettype" : [ "int", "bang" ] + } + + } +, { + "box" : { + "maxclass" : "comment", + "text" : "AUDIO INPUT CHANNELS", + "fontsize" : 14.0, + "presentation_rect" : [ 392.0, 425.0, 179.0, 23.0 ], + "patching_rect" : [ 784.0, 388.0, 179.0, 23.0 ], + "numinlets" : 1, + "presentation" : 1, + "id" : "obj-173", + "fontname" : "Helvetica Neue Black Condensed", + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "message", + "text" : "2", + "fontsize" : 9.0, + "presentation_rect" : [ 465.0, 361.0, 16.0, 15.0 ], + "patching_rect" : [ 825.0, 387.0, 16.0, 15.0 ], + "numinlets" : 2, + "presentation" : 1, + "id" : "obj-175", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "message", + "text" : "1", + "fontsize" : 9.0, + "patching_rect" : [ 771.0, 385.0, 16.0, 15.0 ], + "numinlets" : 2, + "id" : "obj-176", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "loadbang", + "fontsize" : 9.0, + "patching_rect" : [ 844.0, 385.0, 48.0, 17.0 ], + "numinlets" : 1, + "id" : "obj-177", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "bang" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "s snare_driver", + "fontsize" : 9.0, + "patching_rect" : [ 1058.0, 486.0, 78.0, 17.0 ], + "numinlets" : 1, + "id" : "obj-178", + "fontname" : "Arial", + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "s kick_driver", + "fontsize" : 9.0, + "patching_rect" : [ 1058.0, 465.0, 71.0, 17.0 ], + "numinlets" : 1, + "id" : "obj-179", + "fontname" : "Arial", + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "number", + "fontsize" : 36.0, + "presentation_rect" : [ 462.0, 376.0, 61.0, 48.0 ], + "htextcolor" : [ 0.870588, 0.870588, 0.870588, 1.0 ], + "triscale" : 0.9, + "bgcolor" : [ 0.509804, 0.686275, 0.984314, 1.0 ], + "patching_rect" : [ 826.0, 408.0, 61.0, 48.0 ], + "numinlets" : 1, + "presentation" : 1, + "id" : "obj-180", + "fontname" : "Arial", + "maximum" : 13, + "numoutlets" : 2, + "minimum" : 1, + "outlettype" : [ "int", "bang" ] + } + + } +, { + "box" : { + "maxclass" : "number", + "fontsize" : 36.0, + "presentation_rect" : [ 395.0, 375.0, 63.0, 48.0 ], + "htextcolor" : [ 0.870588, 0.870588, 0.870588, 1.0 ], + "triscale" : 0.9, + "bgcolor" : [ 1.0, 0.552941, 0.976471, 1.0 ], + "patching_rect" : [ 759.0, 407.0, 63.0, 48.0 ], + "numinlets" : 1, + "presentation" : 1, + "id" : "obj-181", + "fontname" : "Arial", + "maximum" : 13, + "numoutlets" : 2, + "minimum" : 1, + "outlettype" : [ "int", "bang" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "r click", + "fontsize" : 9.0, + "patching_rect" : [ 1125.0, 397.0, 39.0, 17.0 ], + "numinlets" : 0, + "id" : "obj-186", + "fontname" : "Arial", + "color" : [ 0.611765, 0.701961, 1.0, 1.0 ], + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "comment", + "text" : "click", + "fontsize" : 12.0, + "presentation_rect" : [ 531.0, 274.0, 44.0, 20.0 ], + "patching_rect" : [ 895.0, 306.0, 44.0, 20.0 ], + "numinlets" : 1, + "presentation" : 1, + "id" : "obj-187", + "fontname" : "Helvetica Neue Black Condensed", + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "button", + "presentation_rect" : [ 526.0, 294.0, 42.0, 42.0 ], + "patching_rect" : [ 890.0, 322.0, 42.0, 42.0 ], + "numinlets" : 1, + "presentation" : 1, + "id" : "obj-188", + "fgcolor" : [ 0.760784, 0.709804, 0.811765, 1.0 ], + "numoutlets" : 1, + "outlettype" : [ "bang" ] + } + + } +, { + "box" : { + "maxclass" : "comment", + "text" : "SNARE", + "fontsize" : 18.0, + "presentation_rect" : [ 459.0, 48.0, 71.0, 27.0 ], + "patching_rect" : [ 824.0, 19.0, 71.0, 27.0 ], + "numinlets" : 1, + "presentation" : 1, + "id" : "obj-194", + "fontname" : "Helvetica Neue Black Condensed", + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "s snaretrigthresh1", + "fontsize" : 9.0, + "patching_rect" : [ 677.0, 337.0, 95.0, 17.0 ], + "numinlets" : 1, + "id" : "obj-195", + "fontname" : "Arial", + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "number", + "fontsize" : 14.0, + "presentation_rect" : [ 453.0, 253.0, 44.0, 23.0 ], + "htextcolor" : [ 0.870588, 0.870588, 0.870588, 1.0 ], + "triscale" : 0.9, + "bgcolor" : [ 0.611765, 0.701961, 1.0, 1.0 ], + "patching_rect" : [ 817.0, 284.0, 44.0, 23.0 ], + "numinlets" : 1, + "presentation" : 1, + "id" : "obj-196", + "fontname" : "Arial", + "numoutlets" : 2, + "outlettype" : [ "int", "bang" ] + } + + } +, { + "box" : { + "maxclass" : "slider", + "presentation_rect" : [ 466.0, 71.0, 18.0, 144.0 ], + "bgcolor" : [ 0.611765, 0.701961, 1.0, 1.0 ], + "patching_rect" : [ 830.0, 103.0, 18.0, 144.0 ], + "numinlets" : 1, + "presentation" : 1, + "id" : "obj-197", + "size" : 300.0, + "numoutlets" : 1, + "orientation" : 2, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "comment", + "text" : "KICK", + "fontsize" : 18.0, + "presentation_rect" : [ 401.0, 47.0, 51.0, 27.0 ], + "patching_rect" : [ 752.0, 19.0, 51.0, 27.0 ], + "numinlets" : 1, + "presentation" : 1, + "id" : "obj-198", + "fontname" : "Helvetica Neue Black Condensed", + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "loadbang", + "fontsize" : 9.0, + "patching_rect" : [ 822.0, 50.0, 48.0, 17.0 ], + "numinlets" : 1, + "id" : "obj-199", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "bang" ] + } + + } +, { + "box" : { + "maxclass" : "message", + "text" : "30", + "fontsize" : 9.0, + "patching_rect" : [ 769.0, 83.0, 26.0, 15.0 ], + "numinlets" : 2, + "id" : "obj-200", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "s trigthresh1", + "fontsize" : 9.0, + "patching_rect" : [ 594.0, 296.0, 70.0, 17.0 ], + "numinlets" : 1, + "id" : "obj-201", + "fontname" : "Arial", + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "number", + "fontsize" : 14.0, + "presentation_rect" : [ 403.0, 253.0, 44.0, 23.0 ], + "htextcolor" : [ 0.870588, 0.870588, 0.870588, 1.0 ], + "triscale" : 0.9, + "bgcolor" : [ 1.0, 0.360784, 0.682353, 1.0 ], + "patching_rect" : [ 767.0, 285.0, 44.0, 23.0 ], + "numinlets" : 1, + "presentation" : 1, + "id" : "obj-202", + "fontname" : "Arial", + "numoutlets" : 2, + "outlettype" : [ "int", "bang" ] + } + + } +, { + "box" : { + "maxclass" : "slider", + "presentation_rect" : [ 405.0, 72.0, 18.0, 144.0 ], + "bgcolor" : [ 1.0, 0.360784, 0.682353, 1.0 ], + "patching_rect" : [ 769.0, 104.0, 18.0, 144.0 ], + "numinlets" : 1, + "presentation" : 1, + "id" : "obj-203", + "size" : 300.0, + "numoutlets" : 1, + "orientation" : 2, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "r snare", + "fontsize" : 9.0, + "patching_rect" : [ 868.0, 254.0, 43.0, 17.0 ], + "numinlets" : 0, + "id" : "obj-206", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "newobj", + "text" : "r kick", + "fontsize" : 9.0, + "patching_rect" : [ 677.0, 357.0, 36.0, 17.0 ], + "numinlets" : 0, + "id" : "obj-207", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "comment", + "text" : "KICK", + "fontsize" : 12.0, + "presentation_rect" : [ 409.0, 276.0, 37.0, 20.0 ], + "patching_rect" : [ 750.0, 46.0, 37.0, 20.0 ], + "numinlets" : 1, + "presentation" : 1, + "id" : "obj-208", + "fontname" : "Helvetica Neue Black Condensed", + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "comment", + "text" : "SNARE", + "fontsize" : 12.0, + "patching_rect" : [ 1058.0, 373.0, 50.0, 20.0 ], + "numinlets" : 1, + "id" : "obj-209", + "fontname" : "Helvetica Neue Black Condensed", + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "button", + "presentation_rect" : [ 408.0, 294.0, 41.0, 41.0 ], + "patching_rect" : [ 772.0, 326.0, 41.0, 41.0 ], + "numinlets" : 1, + "presentation" : 1, + "id" : "obj-210", + "fgcolor" : [ 1.0, 0.360784, 0.682353, 1.0 ], + "numoutlets" : 1, + "outlettype" : [ "bang" ] + } + + } +, { + "box" : { + "maxclass" : "button", + "presentation_rect" : [ 462.0, 294.0, 41.0, 41.0 ], + "patching_rect" : [ 826.0, 323.0, 41.0, 41.0 ], + "numinlets" : 1, + "presentation" : 1, + "id" : "obj-211", + "fgcolor" : [ 0.611765, 0.701961, 1.0, 1.0 ], + "numoutlets" : 1, + "outlettype" : [ "bang" ] + } + + } +, { + "box" : { + "maxclass" : "message", + "text" : "8", + "fontsize" : 9.0, + "patching_rect" : [ 964.0, 84.0, 16.0, 15.0 ], + "numinlets" : 2, + "id" : "obj-212", + "fontname" : "Arial", + "numoutlets" : 1, + "outlettype" : [ "" ] + } + + } +, { + "box" : { + "maxclass" : "comment", + "text" : "Bayesian sync with live", + "fontsize" : 36.0, + "presentation_rect" : [ 399.0, 5.0, 413.0, 48.0 ], + "patching_rect" : [ 1222.0, 31.0, 413.0, 48.0 ], + "numinlets" : 1, + "presentation" : 1, + "id" : "obj-238", + "fontname" : "Bauhaus 93", + "numoutlets" : 0 + } + + } +, { + "box" : { + "maxclass" : "panel", + "presentation_rect" : [ 391.0, 47.0, 226.0, 401.0 ], + "bordercolor" : [ 0.415686, 0.662745, 1.0, 1.0 ], + "bgcolor" : [ 0.686275, 0.764706, 0.996078, 1.0 ], + "patching_rect" : [ 1193.0, 88.0, 226.0, 401.0 ], + "numinlets" : 1, + "presentation" : 1, + "id" : "obj-253", + "rounded" : 0, + "numoutlets" : 0 + } + + } + ], + "lines" : [ { + "patchline" : { + "source" : [ "obj-94", 0 ], + "destination" : [ "obj-92", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-1", 0 ], + "destination" : [ "obj-14", 0 ], + "hidden" : 0, + "midpoints" : [ 302.5, 582.0, 373.0, 582.0, 373.0, 652.0, 373.5, 652.0 ] + } + + } +, { + "patchline" : { + "source" : [ "obj-59", 0 ], + "destination" : [ "obj-15", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-15", 0 ], + "destination" : [ "obj-62", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-32", 0 ], + "destination" : [ "obj-15", 1 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-38", 0 ], + "destination" : [ "obj-99", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-168", 0 ], + "destination" : [ "obj-169", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-23", 0 ], + "destination" : [ "obj-21", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-210", 0 ], + "destination" : [ "obj-1", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-58", 1 ], + "destination" : [ "obj-185", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-13", 0 ], + "destination" : [ "obj-58", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-58", 0 ], + "destination" : [ "obj-185", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-161", 0 ], + "destination" : [ "obj-237", 3 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-211", 0 ], + "destination" : [ "obj-237", 1 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-210", 0 ], + "destination" : [ "obj-237", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-91", 0 ], + "destination" : [ "obj-240", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-228", 0 ], + "destination" : [ "obj-91", 4 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-8", 0 ], + "destination" : [ "obj-91", 1 ], + "hidden" : 0, + "midpoints" : [ 387.5, 388.0, 299.0, 388.0, 299.0, 304.0, 154.300003, 304.0 ] + } + + } +, { + "patchline" : { + "source" : [ "obj-91", 0 ], + "destination" : [ "obj-100", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-99", 0 ], + "destination" : [ "obj-91", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-160", 0 ], + "destination" : [ "obj-53", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-8", 0 ], + "destination" : [ "obj-1", 2 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-17", 0 ], + "destination" : [ "obj-24", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-14", 0 ], + "destination" : [ "obj-17", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-11", 0 ], + "destination" : [ "obj-1", 3 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-160", 1 ], + "destination" : [ "obj-11", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-5", 0 ], + "destination" : [ "obj-21", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-129", 0 ], + "destination" : [ "obj-1", 1 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-81", 0 ], + "destination" : [ "obj-210", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-210", 0 ], + "destination" : [ "obj-130", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-13", 0 ], + "destination" : [ "obj-185", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-68", 0 ], + "destination" : [ "obj-13", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-51", 0 ], + "destination" : [ "obj-188", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-21", 0 ], + "destination" : [ "obj-22", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-105", 0 ], + "destination" : [ "obj-106", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-105", 0 ], + "destination" : [ "obj-181", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-106", 0 ], + "destination" : [ "obj-107", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-107", 0 ], + "destination" : [ "obj-180", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-108", 0 ], + "destination" : [ "obj-110", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-109", 0 ], + "destination" : [ "obj-180", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-109", 0 ], + "destination" : [ "obj-181", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-110", 0 ], + "destination" : [ "obj-180", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-111", 0 ], + "destination" : [ "obj-108", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-111", 0 ], + "destination" : [ "obj-181", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-127", 0 ], + "destination" : [ "obj-126", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-129", 0 ], + "destination" : [ "obj-128", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-131", 0 ], + "destination" : [ "obj-130", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-151", 0 ], + "destination" : [ "obj-154", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-153", 0 ], + "destination" : [ "obj-152", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-154", 0 ], + "destination" : [ "obj-153", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-170", 0 ], + "destination" : [ "obj-172", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-172", 0 ], + "destination" : [ "obj-171", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-175", 0 ], + "destination" : [ "obj-180", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-176", 0 ], + "destination" : [ "obj-181", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-177", 0 ], + "destination" : [ "obj-170", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-177", 0 ], + "destination" : [ "obj-175", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-177", 0 ], + "destination" : [ "obj-176", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-180", 0 ], + "destination" : [ "obj-178", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-181", 0 ], + "destination" : [ "obj-179", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-186", 0 ], + "destination" : [ "obj-188", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-196", 0 ], + "destination" : [ "obj-195", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-199", 0 ], + "destination" : [ "obj-151", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-199", 0 ], + "destination" : [ "obj-200", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-199", 0 ], + "destination" : [ "obj-212", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-200", 0 ], + "destination" : [ "obj-203", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-202", 0 ], + "destination" : [ "obj-201", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-203", 0 ], + "destination" : [ "obj-202", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-206", 0 ], + "destination" : [ "obj-211", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-207", 0 ], + "destination" : [ "obj-210", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-42", 0 ], + "destination" : [ "obj-40", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-47", 0 ], + "destination" : [ "obj-48", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-48", 0 ], + "destination" : [ "obj-180", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-49", 0 ], + "destination" : [ "obj-181", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-49", 0 ], + "destination" : [ "obj-47", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-66", 0 ], + "destination" : [ "obj-65", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-71", 0 ], + "destination" : [ "obj-73", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-72", 0 ], + "destination" : [ "obj-74", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-137", 0 ], + "destination" : [ "obj-138", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-140", 0 ], + "destination" : [ "obj-139", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-141", 0 ], + "destination" : [ "obj-137", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-142", 0 ], + "destination" : [ "obj-140", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-6", 0 ], + "destination" : [ "obj-162", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-163", 0 ], + "destination" : [ "obj-6", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-182", 0 ], + "destination" : [ "obj-183", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-235", 0 ], + "destination" : [ "obj-221", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-235", 0 ], + "destination" : [ "obj-236", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-185", 1 ], + "destination" : [ "obj-184", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-61", 0 ], + "destination" : [ "obj-185", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-76", 0 ], + "destination" : [ "obj-61", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-19", 0 ], + "destination" : [ "obj-25", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-44", 0 ], + "destination" : [ "obj-109", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-44", 0 ], + "destination" : [ "obj-54", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-54", 0 ], + "destination" : [ "obj-42", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-46", 0 ], + "destination" : [ "obj-76", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-46", 0 ], + "destination" : [ "obj-63", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-63", 0 ], + "destination" : [ "obj-68", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-69", 0 ], + "destination" : [ "obj-211", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-82", 0 ], + "destination" : [ "obj-75", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-75", 0 ], + "destination" : [ "obj-19", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-31", 0 ], + "destination" : [ "obj-82", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-2", 0 ], + "destination" : [ "obj-3", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-3", 0 ], + "destination" : [ "obj-26", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-3", 0 ], + "destination" : [ "obj-26", 1 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-160", 0 ], + "destination" : [ "obj-3", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-4", 0 ], + "destination" : [ "obj-21", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-12", 0 ], + "destination" : [ "obj-18", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-18", 0 ], + "destination" : [ "obj-1", 4 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-27", 0 ], + "destination" : [ "obj-20", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-20", 0 ], + "destination" : [ "obj-1", 4 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-29", 0 ], + "destination" : [ "obj-10", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-10", 0 ], + "destination" : [ "obj-7", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-30", 0 ], + "destination" : [ "obj-7", 1 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-32", 0 ], + "destination" : [ "obj-30", 1 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-7", 0 ], + "destination" : [ "obj-1", 4 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-103", 0 ], + "destination" : [ "obj-36", 2 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-35", 0 ], + "destination" : [ "obj-36", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-35", 0 ], + "destination" : [ "obj-50", 0 ], + "hidden" : 0, + "midpoints" : [ 54.5, 342.0, 52.0, 342.0, 52.0, 582.0, 282.5, 582.0 ] + } + + } +, { + "patchline" : { + "source" : [ "obj-1", 0 ], + "destination" : [ "obj-50", 1 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-50", 1 ], + "destination" : [ "obj-288", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-35", 0 ], + "destination" : [ "obj-56", 0 ], + "hidden" : 0, + "midpoints" : [ 54.5, 341.0, 47.0, 341.0, 47.0, 627.0, 204.5, 627.0 ] + } + + } +, { + "patchline" : { + "source" : [ "obj-56", 0 ], + "destination" : [ "obj-59", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-62", 0 ], + "destination" : [ "obj-36", 1 ], + "hidden" : 0, + "midpoints" : [ 204.5, 745.0, 53.0, 745.0, 53.0, 186.0, 400.5, 186.0 ] + } + + } +, { + "patchline" : { + "source" : [ "obj-100", 0 ], + "destination" : [ "obj-79", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-113", 0 ], + "destination" : [ "obj-79", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-102", 0 ], + "destination" : [ "obj-79", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-114", 0 ], + "destination" : [ "obj-102", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-79", 0 ], + "destination" : [ "obj-117", 0 ], + "hidden" : 0, + "midpoints" : [ 143.5, 407.0, 213.0, 407.0, 213.0, 407.0, 143.0, 407.0 ] + } + + } +, { + "patchline" : { + "source" : [ "obj-117", 0 ], + "destination" : [ "obj-26", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-117", 0 ], + "destination" : [ "obj-26", 1 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-119", 0 ], + "destination" : [ "obj-123", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-123", 0 ], + "destination" : [ "obj-59", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-50", 0 ], + "destination" : [ "obj-32", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-36", 0 ], + "destination" : [ "obj-8", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-32", 0 ], + "destination" : [ "obj-145", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-169", 0 ], + "destination" : [ "obj-35", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-45", 0 ], + "destination" : [ "obj-35", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-200", 0 ], + "destination" : [ "obj-197", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-161", 0 ], + "destination" : [ "obj-166", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-59", 0 ], + "destination" : [ "obj-226", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-118", 0 ], + "destination" : [ "obj-115", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-125", 0 ], + "destination" : [ "obj-118", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-125", 0 ], + "destination" : [ "obj-149", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-121", 1 ], + "destination" : [ "obj-164", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-135", 0 ], + "destination" : [ "obj-121", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-147", 0 ], + "destination" : [ "obj-164", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-115", 0 ], + "destination" : [ "obj-135", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-135", 0 ], + "destination" : [ "obj-164", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-121", 0 ], + "destination" : [ "obj-164", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-149", 0 ], + "destination" : [ "obj-191", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-191", 0 ], + "destination" : [ "obj-147", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-164", 1 ], + "destination" : [ "obj-156", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-87", 1 ], + "destination" : [ "obj-97", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-87", 0 ], + "destination" : [ "obj-95", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-9", 0 ], + "destination" : [ "obj-196", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-197", 0 ], + "destination" : [ "obj-9", 1 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-95", 0 ], + "destination" : [ "obj-9", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-97", 0 ], + "destination" : [ "obj-9", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-9", 1 ], + "destination" : [ "obj-42", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-44", 0 ], + "destination" : [ "obj-95", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-37", 0 ], + "destination" : [ "obj-87", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-34", 0 ], + "destination" : [ "obj-87", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-89", 0 ], + "destination" : [ "obj-96", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-96", 0 ], + "destination" : [ "obj-202", 0 ], + "hidden" : 0, + "midpoints" : [ 698.5, 277.0, 776.5, 277.0 ] + } + + } +, { + "patchline" : { + "source" : [ "obj-92", 0 ], + "destination" : [ "obj-196", 0 ], + "hidden" : 0, + "midpoints" : [ 618.5, 275.0, 826.5, 275.0 ] + } + + } +, { + "patchline" : { + "source" : [ "obj-112", 0 ], + "destination" : [ "obj-124", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-134", 0 ], + "destination" : [ "obj-112", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-70", 0 ], + "destination" : [ "obj-78", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-78", 0 ], + "destination" : [ "obj-80", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-78", 0 ], + "destination" : [ "obj-80", 1 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-80", 0 ], + "destination" : [ "obj-90", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-90", 0 ], + "destination" : [ "obj-88", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-78", 0 ], + "destination" : [ "obj-29", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-90", 0 ], + "destination" : [ "obj-98", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-7", 0 ], + "destination" : [ "obj-143", 1 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-98", 0 ], + "destination" : [ "obj-11", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-1", 1 ], + "destination" : [ "obj-148", 0 ], + "hidden" : 0, + "midpoints" : [ 449.5, 583.0, 424.0, 583.0, 669.0, 583.0, 669.0, 689.0, 754.5, 689.0 ] + } + + } +, { + "patchline" : { + "source" : [ "obj-148", 3 ], + "destination" : [ "obj-104", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-148", 2 ], + "destination" : [ "obj-146", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-148", 1 ], + "destination" : [ "obj-33", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-148", 0 ], + "destination" : [ "obj-57", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-158", 0 ], + "destination" : [ "obj-159", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-52", 0 ], + "destination" : [ "obj-182", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-16", 0 ], + "destination" : [ "obj-235", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } +, { + "patchline" : { + "source" : [ "obj-16", 0 ], + "destination" : [ "obj-52", 0 ], + "hidden" : 0, + "midpoints" : [ ] + } + + } + ] + } + +} diff -r 690ec1eb8180 -r c49a8f33afab BonzoExternalDev/Source/Bonzo.cpp --- a/BonzoExternalDev/Source/Bonzo.cpp Fri Jan 06 00:22:19 2012 +0000 +++ b/BonzoExternalDev/Source/Bonzo.cpp Wed Feb 22 22:16:48 2012 +0000 @@ -76,7 +76,7 @@ class_register(CLASS_BOX, c); /* CLASS_NOBOX */ Bonzo_class = c; - post("I am the Bonzo max external object"); + post("I am the BONZO max external object"); return 0; } @@ -126,7 +126,7 @@ void Bonzo_click(t_Bonzo *x){ // x->bk->bang(1); - post("BOnzo click"); + post("Bonzo Click"); // outlet_float(x->tatumEstimateOut, x->bk->main_tatum_output); } diff -r 690ec1eb8180 -r c49a8f33afab newOFsrc/BayesDrumTracker.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/newOFsrc/BayesDrumTracker.cpp Wed Feb 22 22:16:48 2012 +0000 @@ -0,0 +1,627 @@ +/* + * BayesDrumTracker.cpp + * bayesianTempoInitialiser5 + * + * Created by Andrew on 14/07/2011. + * Copyright 2011 QMUL. All rights reserved. + * + */ + +#include "BayesDrumTracker.h" +#define OUTPORT 12346 +#define HOST "localhost" + + +//beatCorrection process indicates how the phase is changing from max + + +BayesDrumTracker::BayesDrumTracker(){ + + initialiseTracker(); + sender.setup( HOST, OUTPORT ); +} + + +BayesDrumTracker::~BayesDrumTracker(){} + +void BayesDrumTracker::initialiseTracker(){ + + beatDistribution.initialiseArray(); + tempoDistribution.initialiseArray(); + beatTimes.lastBeatTime = 0; + correctionFactor = 0.5; + + tempoDistribution.likelihoodStdDev = ARRAY_SIZE / 32; + // tempoDistribution.likelihoodNoise = 0.96; + tempoDistribution.likelihoodNoise = 0.7; + tempoDistribution.setGaussianPrior(ARRAY_SIZE/2, ARRAY_SIZE/1);//wide + + beatDistribution.likelihoodStdDev = ARRAY_SIZE / 32; + beatDistribution.likelihoodNoise = 0.56; + beatDistribution.setGaussianPrior(ARRAY_SIZE/2, ARRAY_SIZE/1); + + + tempoMinimum = 180; + tempoMaximum = 400; + posteriorMaximum = 0.1; + + adaptiveStandardDeviationMode = false; + setDistributionOnStartTempo = true; + + setBeatToNowTime = ofGetElapsedTimeMillis(); + recentClickTime = ofGetElapsedTimeMillis(); + + resetParameters(); + //check what we can delete above SINCE RESET CALLED + +} + + +void BayesDrumTracker::resetParameters(){ + + beatTimes.startIndex = 0; + beatTimes.lastBeatTime = 0; + maxPhase = 0; + posteriorMaximum = 0.1; + + accompanimentStarted = false; + + tempoDistribution.likelihoodNoise = 0.8; + tempoDistribution.setGaussianPrior(ARRAY_SIZE/2, ARRAY_SIZE/2);//wide + + beatDistribution.initialiseArray(); + tempoDistribution.initialiseArray(); + + tempoDistribution.calculateStandardDeviation(); + beatDistribution.calculateStandardDeviation(); + + tempoStdDev = tempoDistribution.standardDeviation; + + beatTimes.resetBeatTimeArray(); + +} + + + +void BayesDrumTracker::decayDistributions(){ + + if (accompanimentStarted){ + tempoDistribution.decayPosteriorWithGaussianNoise (); + beatDistribution.decayPosteriorWithGaussianNoise(); + } + else{ + if (tempoStdDev < 0.8 && beatDistribution.standardDeviation < 5) + accompanimentStarted = true; + + } +} + + +void BayesDrumTracker::setBeatDistribution(int beatPosition){ + switch (beatPosition){ + //early sixteenth is that the beat is a sixteenth earlier + case 0: + case 1: + case 11: + //i.e. these zones are interpreted as "on the beat" + beatDistribution.eighthNoteProportion = 0; + beatDistribution.earlySixteenthNoteProportion = 0; + beatDistribution.lateSixteenthNoteProportion = 0; + break; + //10 and 2 were here + + case 2: + beatDistribution.eighthNoteProportion = 0; + beatDistribution.earlySixteenthNoteProportion = 0.25;//was 0.3 in Bayesian8 + //i.e. a 25% chance it is early sixteenth - 75% that the beat actually lies here + beatDistribution.lateSixteenthNoteProportion = 0; + break; + + case 3: + beatDistribution.eighthNoteProportion = 0; + beatDistribution.earlySixteenthNoteProportion = 0.3;//was 0.4 in Bayesian8 //half chance it is early + beatDistribution.lateSixteenthNoteProportion = 0; + break; + + case 5: + case 6: + case 7: + beatDistribution.eighthNoteProportion = 0.3;//i.e. nearly half a chance we are on the 8th note + beatDistribution.earlySixteenthNoteProportion = 0; + beatDistribution.lateSixteenthNoteProportion = 0; + break; + + case 4: + beatDistribution.eighthNoteProportion = 0; + beatDistribution.earlySixteenthNoteProportion = 0.25;//was 0.3 in Bayesian8 + beatDistribution.lateSixteenthNoteProportion = 0.05;//was 0.2 in Bayesian8 + //chsanged to 0.2 and 0.1 then back + break; + + case 8: + beatDistribution.eighthNoteProportion = 0; + beatDistribution.earlySixteenthNoteProportion = 0.05;//was 0.2 in Bayesian8 + beatDistribution.lateSixteenthNoteProportion = 0.25;//was 0.3 in Bayesian8 + break; + + case 9: + beatDistribution.eighthNoteProportion = 0; + beatDistribution.earlySixteenthNoteProportion = 0; + beatDistribution.lateSixteenthNoteProportion = 0.35;//was 0.4 in Bayesian8 + break; + + case 10: + beatDistribution.eighthNoteProportion = 0; + beatDistribution.earlySixteenthNoteProportion = 0; + beatDistribution.lateSixteenthNoteProportion = 0.25;//was 0.2 in Bayesian8 + break; + + } + +} + +void BayesDrumTracker::newKickError(const float& error, const double& cpuEventTime, const string& onsetTypeString){ + + onsetType = onsetTypeString; + cpuBeatTime = cpuEventTime; + kickError = error; + + //printf("beat errror %f time %f\n", kickError, cpuBeatTime); + + while (kickError > 0.5){ + kickError -= 1; + } + + if (paused != true){ + updateTempoProcess(cpuBeatTime, onsetType); + //this also cross updates the distributions + beatTimes.beatMapTimeDifferences[beatTimes.beatSegment] = kickError*beatTimes.tatum; + }//end if paused + + + + if (onsetType == "kick"){ + if (accompanimentStarted) + beatDistribution.likelihoodNoise = 0.5; + else + beatDistribution.likelihoodNoise = 0.5; + // printf("kick %f ", cpuBeatTime); + } + else{ + //snare + if (accompanimentStarted) + beatDistribution.likelihoodNoise = 0.7; + else + beatDistribution.likelihoodNoise = 0.85; + // printf("snare %f ", cpuBeatTime); + } + + + setBeatDistribution(beatTimes.beatSegment%12); + + if (kickError <= 0.5 && kickError >= -0.5) + { + float beatStandardDeviation; + if (adaptiveStandardDeviationMode) + beatStandardDeviation = min((double)beatDistribution.likelihoodStdDev, beatDistribution.standardDeviation); + else + beatStandardDeviation = beatDistribution.likelihoodStdDev; + + + beatDistribution.resetPrior();//prior is old posterior + beatDistribution.setGaussianLikelihoodForBeats((ARRAY_SIZE/2)+(kickError*ARRAY_SIZE), beatStandardDeviation); + beatDistribution.calculatePosterior(); + beatDistribution.renormalisePosterior(); + + sendMaxPhase(); + + beatDistribution.calculateStandardDeviation(); + + }//end if error < 0.5 + + + + if (beatTimes.beatSegment % 12 == 6){ + kickString = "Kick "; + kickString += ofToString(kickError); + kickString += " ERROR "; + kickString += ofToString(kickError, 2); + kickString += " at time diff "; + kickString += ofToString(cpuBeatTime - beatTimes.lastClickTime, 2); + kickString += " index "; + kickString += ofToString(beatTimes.lastClickIndex, 2); + kickString += " TYPE "; + kickString += ofToString(beatTimes.beatSegment%12); + kickString += " Time diff "; + kickString += ofToString(beatTimes.timeDifference, 2); + } + + +} + + + +void BayesDrumTracker::startTatum(const float& startTatum){ + beatTimes.tatum = startTatum; + + if (setDistributionOnStartTempo){ + beatDistribution.setGaussianPosterior(ARRAY_SIZE/2, 8); + tempoDistribution.setGaussianPosterior(ARRAY_SIZE/2, 12); + float tmpIndex; + tmpIndex = ( (beatTimes.tatum - ((tempoMinimum+tempoMaximum)/2) ) * ARRAY_SIZE)/(tempoMaximum - tempoMinimum); + tempoDistribution.translateDistribution(tmpIndex); + + sendMaxTempo(); + } +} + + +void BayesDrumTracker::setUniformTempo(){ + for (int i = 0;i < ARRAY_SIZE;i++) + tempoDistribution.posterior[i] = (float)1/ARRAY_SIZE; +} + + +void BayesDrumTracker::setUniformPhase(){ + for (int i = 0;i < ARRAY_SIZE;i++) + beatDistribution.posterior[i] = (float)1/ARRAY_SIZE; +} + +void BayesDrumTracker::setBeatNow(const double& beatTime){ + for (int i = 0;i < ARRAY_SIZE;i++) + beatDistribution.prior[i] = (float)1/ARRAY_SIZE; + + setBeatToNowTime = ofGetElapsedTimeMillis(); + double difference = (setBeatToNowTime - recentClickTime); + printf("SET BEAT TO NOW %f vs %f :: diff %f tatum %f :: ", setBeatToNowTime, recentClickTime, difference, beatTimes.tatum ); + + double beatTimeToUse = 0; + + if (difference < beatTimes.tatum)//tatum is the eighth note time + beatTimeToUse = difference/ (2*beatTimes.tatum); + else + beatTimeToUse = -1*(2*beatTimes.tatum - difference) / (2*beatTimes.tatum); + + printf("sending %f \n", beatTimeToUse); + + beatDistribution.setGaussianLikelihoodForBeats((ARRAY_SIZE/2)+(beatTimeToUse*ARRAY_SIZE), 2); + beatDistribution.calculatePosterior(); + beatDistribution.renormalisePosterior(); + + sendMaxPhase(); + + +} + + +void BayesDrumTracker::newBeat(int& beatIndex){ + ofxOscMessage m; + m.setAddress( "/beatInfo" ); + + m.addFloatArg(beatTimes.tatum); + m.addFloatArg(maxPhase); + + beatTimes.tatum = maxTempo; + printf("BEAT INFO %f, %f\n", beatTimes.tatum, maxPhase); + + sender.sendMessage( m ); + +} + +void BayesDrumTracker::sendMaxTempo(){ + ofxOscMessage m; + m.setAddress( "/tempo" ); + + //maxTempo = tempoDistribution.maximumIndex * (tempoMaximum - tempoMinimum) / ARRAY_SIZE; + //would be introduced new in bayesian8 + maxTempo = tempoDistribution.getIntegratedEstimateIndex() * (tempoMaximum - tempoMinimum) / ARRAY_SIZE; + maxTempo += tempoMinimum; + + beatTimes.tatum = maxTempo; + printf("SEND TATUM %f\n", beatTimes.tatum); + + m.addFloatArg( maxTempo ); + sender.sendMessage( m ); + + //printf("max tempo %f\n", maxTempo); + +} + +void BayesDrumTracker::sendMaxPhase(){ + + + // maxPhase = (beatDistribution.maximumIndex - (ARRAY_SIZE/2)) / ARRAY_SIZE; + maxPhase = (beatDistribution.getIntegratedEstimateIndex() - (ARRAY_SIZE/2)) / ARRAY_SIZE; +// printf("\nphase index %f :: %f\n", (float) beatDistribution.integratedEstimate , maxPhase); + ofxOscMessage m; + m.setAddress( "/phase" ); + m.addFloatArg( maxPhase ); + sender.sendMessage( m ); + + //beatCorrection = maxPhase * beatTimes.tatum / 4; +} + + +void BayesDrumTracker::setNewClickIndex(const int& clickIndex, const float& clickTime){ + + beatTimes.lastClickIndex = clickIndex; + beatTimes.lastClickTime = clickTime; + + int clickIndexToUse = clickIndex % 16; + beatTimes.clickIndex = clickIndex; + beatTimes.clickNumber[clickIndexToUse] = clickIndex; + beatTimes.clickTimes[clickIndexToUse] = clickTime; + + recentClickTime = ofGetElapsedTimeMillis(); + +} + + +void BayesDrumTracker::doBeatCorrection(const float& beatCorrFloat){ + beatCorrection = beatCorrFloat; + correctBeatBy = round(correctionFactor * beatCorrection * ARRAY_SIZE / (2 * beatTimes.tatum)); + beatDistribution.translateDistribution(-1 * correctBeatBy); +} + + +bool BayesDrumTracker::filterBeatTime(double newBeatTime){ + bool newBeatFound = false; + if ((newBeatTime - beatTimes.lastBeatTime) > 20 || beatTimes.lastBeatTime == 0){ + + crossUpdateArrays((float)(newBeatTime - beatTimes.lastBeatTime)); + beatTimes.lastBeatTime = newBeatTime; + newBeatFound = true; + } + return newBeatFound; +} + +void BayesDrumTracker::crossUpdateArrays(float timeInterval){ + + int finalBeatIndex, tmpTempoIndex, startBeatIndex; + //finalBeat has contribution from BEAT[finalBeat + INT.k] * TEMPO[Max_tempo + k] where INT = INTERVAL + float interval; + interval = timeInterval / maxTempo;//beatTimes.tatum; + tempoDistribution.resetMaximumPosterior(); + beatDistribution.resetMaximumPosterior(); + + + int tmpBeatIndex; + //&& interval > 0.8 idea? + if (timeInterval > 0 && timeInterval < 12000 ){//need between 0 and 12 seconds only to update + + for (tmpBeatIndex = 0;tmpBeatIndex < ARRAY_SIZE;tmpBeatIndex++){ + + tmpArray[tmpBeatIndex] = 0; + float minusMsecToMakeUp = beatIndexToMsec(tmpBeatIndex) / interval; + float plusMsecToMakeUp = beatIndexToMsec(ARRAY_SIZE - tmpBeatIndex) / interval; + float convertMsecToTempoIndex = ARRAY_SIZE / (tempoMaximum - tempoMinimum) ; + + + int minTempoIndex = -1 * (int)(minusMsecToMakeUp * convertMsecToTempoIndex); + int maxTempoIndex = (int)(plusMsecToMakeUp * convertMsecToTempoIndex); + + + if (tmpBeatIndex == beatDistribution.maximumIndex){ + // minTmpDebug = tempoDistribution.maximumIndex + minTempoIndex; + // maxTmpDebug = tempoDistribution.maximumIndex + maxTempoIndex; + debugArray[0] = beatDistribution.maximumIndex;// + debugArray[1] = timeInterval; + debugArray[2] = interval;//beatDistribution.maximumIndex; + debugArray[3] = tempoDistribution.maximumIndex; + } + + for (tmpTempoIndex = minTempoIndex;tmpTempoIndex <= maxTempoIndex;tmpTempoIndex++){ + + if ((tempoDistribution.maximumIndex + tmpTempoIndex) >= 0 + && (tempoDistribution.maximumIndex + tmpTempoIndex) < ARRAY_SIZE + && (tmpBeatIndex - (int)(interval*tmpTempoIndex)) >= 0 + && (tmpBeatIndex - (int)(interval*tmpTempoIndex))< ARRAY_SIZE){ + tmpArray[tmpBeatIndex] += beatDistribution.posterior[tmpBeatIndex - (int)(interval*tmpTempoIndex)] * tempoDistribution.posterior[(int)tempoDistribution.maximumIndex + tmpTempoIndex]; + } + }//end for tmpTmepo + + + + } + + float tmpFloat; + for (tmpBeatIndex = 0;tmpBeatIndex < ARRAY_SIZE;tmpBeatIndex++){ + //debug - dont actually update:: + + tmpFloat = beatDistribution.posterior[tmpBeatIndex]; + beatDistribution.posterior[tmpBeatIndex] = tmpArray[tmpBeatIndex]; + tmpArray[tmpBeatIndex] = tmpFloat; + } + beatDistribution.renormaliseArray(&beatDistribution.posterior[0], ARRAY_SIZE); + + } //end if + + +} + + +void BayesDrumTracker::updateTempoProcess(const double& cpuTime, const string& onsetDescription){ + + if (filterBeatTime(cpuTime) == true){ + //checks for no repeat + + if (onsetDescription == "kick") + beatTimes.addBeatTime(cpuTime, 1); + else + beatTimes.addBeatTime(cpuTime, 2); + + + //recalculate the distribution + int altIndex = 0; + + tempoDataString = "Tatum :"; + tempoDataString += ofToString(beatTimes.tatum, 2); + tempoDataString += " BPM "; + tempoDataString += ofToString((double)30000/beatTimes.tatum, 2); + + timeString = "Last BEAT "; + timeString += ofToString(beatTimes.lastBeatTime); + timeString += " CLICK "; + timeString += ofToString(beatTimes.lastClickTime); + timeString += " DIFDF "; + timeString += ofToString(beatTimes.timeDifference); + timeString += " segment "; + timeString += ofToString(beatTimes.beatSegment); + + + for (altIndex = 0;altIndex< 16;altIndex++){ + tempoInterval = beatTimes.intervalDifferences[beatTimes.index][altIndex]; + integerMultipleOfTatum = beatTimes.relativeIntervals[altIndex][1]; + + + ///NEW VERSION + tempoUpdateStrings[altIndex] = ""; + double timeInterval = beatTimes.beatTimes[beatTimes.index] - beatTimes.beatTimes[altIndex]; + //raw time difference + beatTimes.intervalDifferences[beatTimes.index][altIndex] = 0; + beatTimes.intervalUsed[beatTimes.index][altIndex] = false; + + if (onsetType == "kick") + beatTimes.OnsetIsKick[beatTimes.index] = true; + else + beatTimes.OnsetIsKick[beatTimes.index] = false; + + + + if (!accompanimentStarted){ + //if we need to find tempo and start use this method + //we have 'started' once std dev is sufficiently low + + updateTempoIfWithinRange(timeInterval);//taken as being the tatum interval + + + + for (int i = 1;i <= 4;i++){ + //we test the main beats and the two bar (16 tatum intervals) + + double testInterval = timeInterval / 2*i;//pow(2, i);//pow(2.0, i); + + if (updateTempoIfWithinRange(testInterval)){ + //printf("test time %f, beats %i\n", testInterval, i); + + beatTimes.intervalUsed[beatTimes.index][altIndex] = true; + beatTimes.intervalDifferences[beatTimes.index][altIndex] = testInterval; + //xx what if two within range here? + + tempoUpdateStrings[altIndex] = "Tempo Updates ("; + tempoUpdateStrings[altIndex] += ofToString(beatTimes.index, 0); + tempoUpdateStrings[altIndex] += ") : ["; + tempoUpdateStrings[altIndex] += ofToString(altIndex); + tempoUpdateStrings[altIndex] += "]] : "; + tempoUpdateStrings[altIndex] += ofToString(timeInterval); + tempoUpdateStrings[altIndex] += ", ioi:"; + tempoUpdateStrings[altIndex] += ofToString(i); + //tempoUpdateStrings[altIndex] += ""; + + } + + } + + double testInterval = timeInterval / 16;//pow(2, i);//pow(2.0, i); + if (updateTempoIfWithinRange(testInterval)){ + beatTimes.intervalUsed[beatTimes.index][altIndex] = true; + beatTimes.intervalDifferences[beatTimes.index][altIndex] = testInterval; + } + + }else{ + //OLD VERSON + //THIS USES THE CURRENT TEMPO ESTIMATE TO DECIDE WHAT THE BEST INTERVAL IS + //&& integerMultipleOfTatum % 2 == 0 removed below XXX put back + if (altIndex != beatTimes.index && integerMultipleOfTatum < 17 + && integerMultipleOfTatum > 0 && beatTimes.startIndex > 8//beattimes.index > 8 - the start + && integerMultipleOfTatum%2 == 0){//mod 2 - i.e. proper beat intervals only + + double testInterval = timeInterval / integerMultipleOfTatum; + + if (updateTempoIfWithinRange(testInterval)){ + + beatTimes.intervalUsed[beatTimes.index][altIndex] = true; + beatTimes.intervalDifferences[beatTimes.index][altIndex] = testInterval; + + if (paused == false){ + tempoUpdateStrings[altIndex] = "Tempo Updates : ("; + tempoUpdateStrings[altIndex] += ofToString(beatTimes.index, 0); + tempoUpdateStrings[altIndex] += ") : ["; + tempoUpdateStrings[altIndex] += ofToString(altIndex, 0); + tempoUpdateStrings[altIndex] += "] :: "; + tempoUpdateStrings[altIndex] += ofToString(integerMultipleOfTatum); + tempoUpdateStrings[altIndex] += " intervals :: "; + tempoUpdateStrings[altIndex] += ofToString(tempoInterval); + tempoUpdateStrings[altIndex] += " ms."; + // tempoUpdateStrings[altIndex] += ", ioi:"; + + // tempoUpdateStrings[altIndex] += ofToString(integerMultipleOfTatum); + + + + + }//end if not paused + + + }//end if good interval to update + + }//end if not same index etc + + + } + + + + }//end for all intervals + + sendMaxTempo(); + }//end if new beat time + double tempoEstimate = tempoDistribution.getIntegratedEstimateIndex(); + tempoDistribution.calculateStandardDeviation(); + tempoStdDev = tempoDistribution.standardDeviation; + +} + + +bool BayesDrumTracker::updateTempoIfWithinRange(double timeInterval){ + + bool updated = false; + + if (timeInterval > tempoMinimum && timeInterval < tempoMaximum ){ + calculateTempoUpdate(timeInterval); + updated = true; + } + + return updated; +} + + +void BayesDrumTracker::calculateTempoUpdate(double tempoInterval){ + + + tempoDistribution.resetPrior(); + //need to relook at likelihood for the tempo distribution - not the same as.... + tempoDistribution.setGaussianLikelihood(ARRAY_SIZE * (tempoInterval-tempoMinimum)/(tempoMaximum - tempoMinimum), tempoDistribution.likelihoodStdDev); + tempoDistribution.calculatePosterior(); + tempoDistribution.renormalisePosterior(); + + //did take pic of screen here - see initialiser4 +} + + +float BayesDrumTracker::tempoIndexToMsec(const int& index){ + float msec; + msec = index * (tempoMaximum - tempoMinimum) / ARRAY_SIZE; + msec += tempoMinimum; + return msec; +} + +float BayesDrumTracker::beatIndexToMsec(const int& index){ + float msec; + msec = index * maxTempo / ARRAY_SIZE; + msec += tempoMinimum; + return msec; +} + + + diff -r 690ec1eb8180 -r c49a8f33afab newOFsrc/BayesDrumTracker.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/newOFsrc/BayesDrumTracker.h Wed Feb 22 22:16:48 2012 +0000 @@ -0,0 +1,107 @@ +/* + * BayesDrumTracker.h + * bayesianTempoInitialiser5 + * + * Created by Andrew on 14/07/2011. + * Copyright 2011 QMUL. All rights reserved. + * + */ + +#include "ofxOsc.h" +#include "bayesianArray.h" +#include "beatTempo.h" + +class BayesDrumTracker{ + +#ifndef _BAYES_DRUM_TRACKER +#define _BAYES_DRUM_TRACKER +#define ARRAY_SIZE 240 +//#define BAYES_ARRAY_SIZE 240 + + public: + + BayesDrumTracker(); + ~BayesDrumTracker(); + + void initialiseTracker(); + void resetParameters(); + void decayDistributions();//on update + + void setBeatDistribution(int beatPosition); + + void newKickError(const float& error, const double& cpuEventTime, const string& onsetTypeString); + void startTatum(const float& startTatum); + void setNewClickIndex(const int& clickIndex, const float& clickTime); + void sendMaxTempo(); + void sendMaxPhase(); + void newBeat(int& beatIndex); + + void setUniformTempo(); + void setUniformPhase(); + void setBeatNow(const double& beatTime); + void doBeatCorrection(const float& beatCorrFloat); + + + bool filterBeatTime(double newBeatTime); + void crossUpdateArrays(float timeInterval); + bool updateTempoIfWithinRange(double timeInterval); + void calculateTempoUpdate(double tempoInterval); + void updateTempoProcess(const double& cpuTime, const string& onsetDescription); + + + float beatIndexToMsec(const int& index); + float tempoIndexToMsec(const int& index); + + + float kickError, snareError; + double cpuBeatTime; + float testArray[5]; + + double setBeatToNowTime; + + float prior [ARRAY_SIZE]; + float posterior [ARRAY_SIZE]; + float likelihood [ARRAY_SIZE]; + float likelihoodMean, likelihoodStdDev, likelihoodNoise, stepSize; + float maximumEstimate; + float maximumTest, posteriorDecayRate, maximumIndex; + float eighthNoteProportion; + + bool paused; + double maxPhase, maxTempo; + + float tmpArray[ARRAY_SIZE]; + + float correctionFactor; + float beatCorrection; + int correctBeatBy; + + bayesianArray beatDistribution; + bayesianArray tempoDistribution; + double tempoMinimum, tempoMaximum; + double tempoInterval; + beatTempo beatTimes; + + string onsetType; + string timeString; + //double cpuBeatTime; + + ofxOscSender sender; + + double posteriorMaximum; + bool adaptiveStandardDeviationMode; + double tempoStdDev; + bool accompanimentStarted; + bool setDistributionOnStartTempo; + int integerMultipleOfTatum; + + double recentClickTime; + + string kickString;//for info + + float debugArray [4]; + string tempoUpdateStrings[16]; + string tempoDataString; +}; + +#endif \ No newline at end of file diff -r 690ec1eb8180 -r c49a8f33afab newOFsrc/bayesianArray.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/newOFsrc/bayesianArray.cpp Wed Feb 22 22:16:48 2012 +0000 @@ -0,0 +1,313 @@ +/* + * bayesianArray.cpp + * bayesianTest5 + * + * Created by Andrew Robertson on 08/05/2010. + * Copyright 2010 __MyCompanyName__. All rights reserved. + * + */ + +#include "bayesianArray.h" +#include "math.h" +#include "ofMain.h" + +bayesianArray::bayesianArray(){ + likelihoodNoise = 0.5; + likelihoodMean = ARRAY_SIZE/2; + likelihoodStdDev = ARRAY_SIZE / 12; +initialiseArray(); +} + +void bayesianArray::initialiseArray(){ + + //maximumIndex = 12;//change this + setGaussianPrior(ARRAY_SIZE/2, ARRAY_SIZE/1); + setGaussianLikelihood(ARRAY_SIZE/2, ARRAY_SIZE/1);//likelihoodMean, likelihoodStdDev); + + calculatePosterior(); + renormalisePosterior(); + posteriorDecayRate = 0.06; + + eighthNoteProportion = 0.35;//must be less than 0.5 to discriminate - was 0.4 + earlySixteenthNoteProportion = 0; + lateSixteenthNoteProportion = 0; + decayNoiseAmount = 0.1; + decayNoiseStdDev = ARRAY_SIZE/24; + standardDeviation = likelihoodStdDev; + setDecayNoiseGaussian(ARRAY_SIZE/2, decayNoiseStdDev); + + setGaussianLikelihood(likelihoodMean, likelihoodStdDev); +} + + +void bayesianArray::setGaussianPrior(float mean, float StdDev){ +int i; + for (i=0;i= 0 && mean <= ARRAY_SIZE){ +int i; float eighthDifference; +int eighthPosition = ((int)mean + ARRAY_SIZE/2)%ARRAY_SIZE; +int earlySixteenthPosition = ((int)mean + (3*ARRAY_SIZE/4))%ARRAY_SIZE;; +int lateSixteenthPosition = ((int)mean + (ARRAY_SIZE/4))%ARRAY_SIZE;; + +float mainDifference, sixteenthDifference; +float gaussianProportion = 1 - likelihoodNoise; +float mainProportion = (1 - eighthNoteProportion - earlySixteenthNoteProportion - lateSixteenthNoteProportion); + + for (i=0;i < ARRAY_SIZE;i++){ + + mainDifference = min( fabs(i-mean) , (double)(i + ARRAY_SIZE - mean)); + likelihood[i] = gaussianProportion * mainProportion * (1/(StdDev*sqrt(2*PI)))*exp(-1*(mainDifference)*(mainDifference)/(2*StdDev*StdDev)) ; + + eighthDifference = min( abs(i - eighthPosition) , i + ARRAY_SIZE - eighthPosition); + eighthDifference = min(eighthDifference , (float)(ARRAY_SIZE + eighthPosition - i )); + //for e.g. +0.43, or -0.47 we require the gaussian around the half note too + likelihood[i] += gaussianProportion * eighthNoteProportion * (1/(StdDev*sqrt(2*PI)))*exp(-1*(eighthDifference)*(eighthDifference)/(2*StdDev*StdDev)) ; + + sixteenthDifference = min( abs(i - earlySixteenthPosition) , i + ARRAY_SIZE - earlySixteenthPosition); + sixteenthDifference = min(sixteenthDifference , (float)(ARRAY_SIZE + earlySixteenthPosition - i )); + //for e.g. +0.43, or -0.47 we require the gaussian around the half note too + likelihood[i] += gaussianProportion * earlySixteenthNoteProportion * (1/(StdDev*sqrt(2*PI)))*exp(-1*(sixteenthDifference)*(sixteenthDifference)/(2*StdDev*StdDev)) ; + + sixteenthDifference = min( abs(i - lateSixteenthPosition) , i + ARRAY_SIZE - lateSixteenthPosition); + sixteenthDifference = min(sixteenthDifference , (float)(ARRAY_SIZE + lateSixteenthPosition - i )); + //for e.g. +0.43, or -0.47 we require the gaussian around the half note too + likelihood[i] += gaussianProportion * lateSixteenthNoteProportion * (1/(StdDev*sqrt(2*PI)))*exp(-1*(sixteenthDifference)*(sixteenthDifference)/(2*StdDev*StdDev)) ; + + + + likelihood[i] += (likelihoodNoise / ARRAY_SIZE); + //likelihood[i] = (float) max(gaussianProportion * (1/(StdDev*sqrt(2*PI)))*exp(-1*(i-mean)*(i-mean)/(2*StdDev*StdDev)) , + //(double) (likelihoodNoise / ARRAY_SIZE) ); + } +// renormaliseArray(&likelihood[0], ARRAY_SIZE); +}//end if mean within limits +} + + +void bayesianArray::setGaussianLikelihood(float mean, float StdDev){ +if (mean >= 0 && mean <= ARRAY_SIZE){ +int i; float eighthDifference; +int eighthPosition = ((int)mean + ARRAY_SIZE/2)%ARRAY_SIZE; +float mainDifference; +float gaussianProportion = 1 - likelihoodNoise; + + for (i=0;i < ARRAY_SIZE;i++){ + + mainDifference = min( fabs(i-mean) , (double)(i + ARRAY_SIZE - mean)); + //without * (1 - eighthNoteProportion) + likelihood[i] = gaussianProportion * (1/(StdDev*sqrt(2*PI)))*exp(-1*(mainDifference)*(mainDifference)/(2*StdDev*StdDev)) ; + + likelihood[i] += (likelihoodNoise / ARRAY_SIZE); + //likelihood[i] = (float) max(gaussianProportion * (1/(StdDev*sqrt(2*PI)))*exp(-1*(i-mean)*(i-mean)/(2*StdDev*StdDev)) , + //(double) (likelihoodNoise / ARRAY_SIZE) ); + } +// renormaliseArray(&likelihood[0], ARRAY_SIZE); +}//end if mean within limits +} + +void bayesianArray::calculatePosterior(){ +int i; + for (i=0;i < ARRAY_SIZE;i++){ + posterior[i] = likelihood[i] * prior[i]; + } + //renormalisePosterior(); +} + + +float bayesianArray::getMaximum(float *ptr, int length){ +int i; +float max = 0; + for (i=0;i < length;i++){ + if (*(ptr+i)>max) + max = *(ptr+i); + } + maximumValue = max; + return max; +} + +float* bayesianArray::getMaximumEstimate(float *ptr, int length){ +float returnArray[2]; +int i; +float max = 0; +maximumIndex = 0; + for (i=0;i < length;i++){ + if (*(ptr+i)>max){ + max = *(ptr+i); + maximumIndex = i; + } + } + returnArray[0] = max; + returnArray[1] = maximumIndex; + maximumValue = max; + return &returnArray[0]; +} + + + +double bayesianArray::getIntegratedEstimateIndex(){ + int i; + float integratedQuantity = 0; + float integratedTotal = 0; + double integratedIndex = 0; + for (i=0;i < ARRAY_SIZE;i++){ + integratedQuantity += posterior[i];//the values of the probability distribution + integratedTotal += i*posterior[i]; + } + if (integratedQuantity > 0){ + integratedIndex = integratedTotal / integratedQuantity; + } + integratedEstimate = (float) integratedIndex; + return integratedIndex; +} + + +double bayesianArray::calculateStandardDeviation(){ + + double total = 0; + double pdfSum; + double variance = 0; + for (int i=0;i < ARRAY_SIZE;i++){ +//*posterior[i] * + total += posterior[i] * (i - integratedEstimate) * (i - integratedEstimate);//the values of the probability distribution + pdfSum += posterior[i]; + } + + if (pdfSum > 0) + variance = total / pdfSum; + else + variance = ARRAY_SIZE; + + standardDeviation = sqrt(variance); + return standardDeviation; +} + + + +void bayesianArray::renormaliseArray(float *ptr, int length){ +int i; +float totalArea = 0; + for (i=0;i < length;i++){ + totalArea += *(ptr+i); + } + + for (i=0;i < length;i++){ + *(ptr+i) /= totalArea; + } + +} + +void bayesianArray::resetPrior(){ + int i; + for (i=0;imax){ + maximumIndex = i; + max = posterior[i]; + } + } +} + +void bayesianArray::translateDistribution(int translationIndex){ +int tmpIndex; + //copy array + int i; + for (i=0;i < ARRAY_SIZE;i++){ + tempPosteriorArray[i] = posterior[i] ; + } + //translate values + for (i=0;i < ARRAY_SIZE;i++){ + tmpIndex = (i + translationIndex + ARRAY_SIZE)%ARRAY_SIZE; + posterior[tmpIndex] = tempPosteriorArray[i]; + } + //now delete tmp array +} + +double bayesianArray::getKLdivergence(){ + double KLsum = 0; + //take no chances - renormalise both prior and posterior + renormalisePosterior(); + renormalisePrior(); + for (int i = 0;i < ARRAY_SIZE;i++){ + if (posterior[i] > 0 && prior[i] > 0){ + KLsum += (posterior[i]*log(posterior[i]/prior[i])); + } + } + return KLsum; +} + diff -r 690ec1eb8180 -r c49a8f33afab newOFsrc/bayesianArray.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/newOFsrc/bayesianArray.h Wed Feb 22 22:16:48 2012 +0000 @@ -0,0 +1,65 @@ +/* + * bayesianArray.h + * bayesianTest5 + * + * Created by Andrew Robertson on 08/05/2010. + * Copyright 2010 __MyCompanyName__. All rights reserved. + * + */ + +#ifndef _BAYESIAN_ARRAY +#define _BAYESIAN_ARRAY + +#define ARRAY_SIZE 240 + + +class bayesianArray{ + +public: + + bayesianArray(); + void initialiseArray(); + + void setGaussianLikelihoodForBeats(float mean, float StdDev); + void setGaussianLikelihood(float mean, float StdDev); + void setGaussianPrior(float mean, float StdDev); + void setGaussianPosterior(float mean, float StdDev); + + void calculatePosterior(); + void renormalisePosterior(); + void renormalisePrior(); + void resetMaximumPosterior();//resets the max index + void decayPosteriorWithGaussianNoise(); + void translateDistribution(int translationIndex); + void setDecayNoiseGaussian(float mean, float StdDev); + double calculateStandardDeviation(); + + + float getMaximum(float *ptr, int length); + void renormaliseArray(float *ptr, int length); + void resetPrior(); + void decayPosterior(); + float* getMaximumEstimate(float *ptr, int length); + double getIntegratedEstimateIndex(); + + float prior [ARRAY_SIZE]; + float posterior [ARRAY_SIZE]; + float likelihood [ARRAY_SIZE]; + float tempPosteriorArray[ARRAY_SIZE]; + + float decayNoiseArray[ARRAY_SIZE]; + float decayNoiseStdDev, decayNoiseAmount; + + float likelihoodMean, likelihoodStdDev, likelihoodNoise; + float maximumTest, posteriorDecayRate, maximumValue; + float eighthNoteProportion, earlySixteenthNoteProportion, lateSixteenthNoteProportion ; + float maximumEstimate, maximumIndex, integratedEstimate; + double standardDeviation; + + double getKLdivergence(); + +private: +}; + +#endif + \ No newline at end of file diff -r 690ec1eb8180 -r c49a8f33afab newOFsrc/beatTempo.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/newOFsrc/beatTempo.cpp Wed Feb 22 22:16:48 2012 +0000 @@ -0,0 +1,188 @@ +/* + * beatTempo.cpp + * bayesianTempo1 + * + * Created by Andrew Robertson on 08/05/2010. + * Copyright 2010 __MyCompanyName__. All rights reserved. + * + */ + +#include "beatTempo.h" + +beatTempo::beatTempo(){ +index = 0; +lastBeatTime = 0; +decayAmount = 0; +} + +//records a loop of cpu times for the last 16 events received + +void beatTempo::addBeatTime(double f, int type){ +//type 1 is kick, type 2 is snare + + index++; + startIndex++; + if (index == 16){ + index = 0; + } + lastBeatTime = f; + beatTimes[index] = f; + + //find the closest click time to this new cputime + //NOT ACTUALLY USED ANYWHERE.... + //double useThisClickTime = lastClickTime; + //int useThisClickIndex = lastClickIndex ; + + if (lastClickTime + (tatum/2) < f){ + //next click time + closestClickIndexToBeat[index] = lastClickIndex + 1; + //useThisClickTime += tatum; + // useThisClickIndex++; + } + else{ + //recent click time + closestClickIndexToBeat[index] = lastClickIndex; + } + //end not used + + + int lastBeatSegment = beatSegment; + + //timeDifference = f - lastClickTime; + timeDifference = f - lastClickTime; + //[0, 1] => [0, 2*tatum] + beatSegment = (6*(lastClickIndex%8)); + beatSegment += ( ( (int)floor( ( ( (timeDifference + (tatum/12)) * 6) ) / tatum) ) ); + + + + //this calculates the probabilities of events in the different zones + //not yet used in the algorithm + beatSegment = beatSegment%48; + //wipe old onez + while (lastBeatSegment%48 != beatSegment){ + lastBeatSegment++; + if (lastBeatSegment%12 == 0) + decayProbabilityDistributionRow((lastBeatSegment/12)%4); + + beatMap[lastBeatSegment%48] = 0; + + } + addToProbabilityDistribution(beatSegment, type); + //end of new addition + + beatMap[beatSegment] = type; + + + + double intervalCalculation; + int otherIndex; + for (otherIndex = 0;otherIndex < 16;otherIndex++){ + + if (otherIndex != index){ + intervalCalculation = calculateInterval(index, otherIndex); + relativeIntervals[otherIndex][0] = intervalCalculation; + intervalDifferences[index][otherIndex] = intervalCalculation; + + //integer multiple is relativeIntervals[otherIndex][1] + } + else{ + intervalDifferences[index][otherIndex] = 0; + } + } + + + +} + + +void beatTempo::addToProbabilityDistribution(int beatSegment, int type){ + //printf("beat segment %i\n", beatSegment); + int beatNumber = (int) (beatSegment + 1)/12; + beatNumber = beatNumber%4; + float newProbabilityContribution = 1 - decayAmount; + switch (beatSegment%12) { + case 0: + beatProbabilityDistribution[beatNumber][0][type - 1] = newProbabilityContribution; + break; + case 1: + beatProbabilityDistribution[beatNumber][0][type - 1] = 1*newProbabilityContribution; + break; + case 2: + beatProbabilityDistribution[beatNumber][0][type - 1] = 0.5*newProbabilityContribution; + beatProbabilityDistribution[beatNumber][1][type - 1] = 0.5*newProbabilityContribution; + break; + case 3: + beatProbabilityDistribution[beatNumber][1][type - 1] = 1*newProbabilityContribution; + break; + case 4: + beatProbabilityDistribution[beatNumber][1][type - 1] = 0.4*newProbabilityContribution; + beatProbabilityDistribution[beatNumber][2][type - 1] = 0.6*newProbabilityContribution; + break; + case 5: + beatProbabilityDistribution[beatNumber][2][type - 1] = 0.4*newProbabilityContribution; + beatProbabilityDistribution[beatNumber][3][type - 1] = 0.6*newProbabilityContribution; + break; + case 6: + beatProbabilityDistribution[beatNumber][3][type - 1] = 1*newProbabilityContribution; + break; + case 7: + beatProbabilityDistribution[beatNumber][3][type - 1] = 1*newProbabilityContribution; + break; + case 8: + beatProbabilityDistribution[beatNumber][4][type - 1] = 0.6*newProbabilityContribution; + beatProbabilityDistribution[beatNumber][5][type - 1] = 0.4*newProbabilityContribution; + break; + case 9: + beatProbabilityDistribution[beatNumber][5][type - 1] = 1*newProbabilityContribution; + break; + case 10: + beatProbabilityDistribution[beatNumber][5][type - 1] = 0.5*newProbabilityContribution; + break; + case 11: + beatProbabilityDistribution[(beatNumber+1)%4][0][type - 1] = 1*newProbabilityContribution; + break; + } + + +} + +void beatTempo::decayProbabilityDistributionRow(int row){ + + for (int x = 0;x<6;x++){ + beatProbabilityDistribution[row][x][0] *= decayAmount; + beatProbabilityDistribution[row][x][1] *= decayAmount; + } + + +} + +double beatTempo::calculateInterval(int newIndex, int otherIndex){ + + double newTime, otherTime, interval, relativeInterval; + relativeInterval = tatum; + int tatumMultiple; + newTime = beatTimes[newIndex]; + otherTime = beatTimes[otherIndex]; + if (otherTime > 0){ + interval = newTime - otherTime; +// tatumMultiple = closestClickIndexToBeat[newIndex] - closestClickIndexToBeat[otherIndex]; - to be added + tatumMultiple = round (interval / tatum); + if (tatumMultiple > 0){ + relativeInterval = interval / (tatumMultiple); + relativeIntervals[otherIndex][1] = tatumMultiple; + tatumMultiples[newIndex][otherIndex] = tatumMultiple; + }//end if + } + return relativeInterval; + +} + + +void beatTempo::resetBeatTimeArray(){ + for (int i = 0;i < 16;i++){ + beatTimes[i] = 0; + for (int k = 0;k < 16;k++) + intervalDifferences[i][k] = 0; + } +} \ No newline at end of file diff -r 690ec1eb8180 -r c49a8f33afab newOFsrc/beatTempo.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/newOFsrc/beatTempo.h Wed Feb 22 22:16:48 2012 +0000 @@ -0,0 +1,49 @@ +/* + * beatTempo.h + * bayesianTempo1 + * + * Created by Andrew Robertson on 08/05/2010. + * Copyright 2010 __MyCompanyName__. All rights reserved. + * + */ + +class beatTempo{ + +public: + beatTempo(); + + double beatTimes[16]; + double relativeIntervals[16][2]; + double intervalDifferences[16][16];//diff between new index , other index + bool intervalUsed[16][16]; + int tatumMultiples[16][16]; + bool OnsetIsKick[16]; + + int closestClickIndexToBeat[16]; + int clickIndex;//used by testApp but to be replaced +// int clickPosition[16]; + + double clickTimes[16]; + int clickNumber[16]; + float beatMapTimeDifferences[48]; + + float beatProbabilityDistribution[4][6][2]; + +// int recentClickIndex; + + int index, startIndex; + + char beatMap[48]; + + void addBeatTime(double f, int type); + double calculateInterval(int newIndex, int otherIndex); + void addToProbabilityDistribution(int beatSegment, int typeToAdd); + void decayProbabilityDistributionRow(int row); + void resetBeatTimeArray(); + + double tatum; + double lastClickTime, lastBeatTime; + int lastClickIndex, beatSegment, timeDifference; + float decayAmount;//amount that the old probability observation contributed to the probability array + +}; \ No newline at end of file diff -r 690ec1eb8180 -r c49a8f33afab newOFsrc/main.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/newOFsrc/main.cpp Wed Feb 22 22:16:48 2012 +0000 @@ -0,0 +1,16 @@ +#include "ofMain.h" +#include "testApp.h" +#include "ofAppGlutWindow.h" + +//======================================================================== +int main( ){ + + ofAppGlutWindow window; + ofSetupOpenGL(&window, 1024,768, OF_WINDOW); // <-------- setup the GL context + + // this kicks off the running of my app + // can be OF_WINDOW or OF_FULLSCREEN + // pass in width and height too: + ofRunApp( new testApp()); + +} diff -r 690ec1eb8180 -r c49a8f33afab newOFsrc/testApp.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/newOFsrc/testApp.cpp Wed Feb 22 22:16:48 2012 +0000 @@ -0,0 +1,1529 @@ +#include "testApp.h" + + +//-------------------------------------------------------------- +//relooking at this problem +//bayesianTempo7 - have had working well with Bayesian8NEW maxmsp set + +//updated in bayesian8 +//integrate so that maxPhase and tempo are the integrated result across the pdf +//rather tahn the maximum index - tends to reflect the actuial distribution better +//and is the "correct" bayesian method + +//added [ and ] tpo change the alignment when rescue is needed + +//in Bayesian9 (BayesianTest8NEW) +//added noise in phase process +//started probability distribution for observed beat events + +//in bayesian 11 +//get s.d. of posterior +//this is set to be used as the s.d. of the likelihood + + +//Initialiser : the algorithm has an initialisation stage with flat prior that detects liekly tempo + + + +//BAYESIAN DISTRIBUTION SET by class BayesianArray +//SETUP - initialises array +//UPDATE - decay the distribution with noise +//this should be done using tempo and noise +//DRAW - Draw current distributions and also the maximum + +//Runs with bayesian11NEW +//and B-KeeperOldBayesianTestNew in Live +//Needs - categorisation of beats and tempo +//can we use our distribution to filter the input or is that cheating? + +//INtroduce lock scheme for tempo - we know where the beat fell, so can calculate the appropriate tempo interval + +void testApp::setup(){ +// listen on the given port + cout << "listening for osc messages on port " << PORT << "\n"; + receiver.setup( PORT ); + +// sender.setup( HOST, OUTPORT ); + ofSetCircleResolution(50); + ofBackground(255,255,255); + bSmooth = false; + msg_string = "setup"; + + ofSetWindowTitle("Bayesian Test"); + + ofSetFrameRate(60); // if vertical sync is off, we can go a bit fast... this caps the framerate at 60fps. + + KLdiv = 0; +/* + beatDistribution.initialiseArray(); + tempoDistribution.initialiseArray(); + beatTimes.lastBeatTime = 0; + correctionFactor = 0.5; + + + + tempoDistribution.likelihoodStdDev = ARRAY_SIZE / 32; +// tempoDistribution.likelihoodNoise = 0.96; + tempoDistribution.likelihoodNoise = 0.7; + tempoDistribution.setGaussianPrior(ARRAY_SIZE/2, ARRAY_SIZE/1);//wide + + beatDistribution.likelihoodStdDev = ARRAY_SIZE / 32; + beatDistribution.likelihoodNoise = 0.56; + beatDistribution.setGaussianPrior(ARRAY_SIZE/2, ARRAY_SIZE/1); + + + tempoMinimum = 180; + tempoMaximum = 400; + posteriorMaximum = 0.1; + + */ + hidePriorMode = false; + + printInterval = true; + drawData = false; + + screenToDraw = 0; + + ofSetLineWidth(2); + ofEnableSmoothing(); + + + bSnapshot = false; + snapCounter = 0; + + drumTracker.paused = false; + +// setDistributionOnStartTempo = true; + + resetParameters(); + + arrayToMsecScaleFactor = (drumTracker.tempoMaximum - drumTracker.tempoMinimum)/ ARRAY_SIZE;//turns array into ms + tempoWindowMinimum = 100; + tempoWindowMaximum = 150; + tempoWindowWidth = 50; +} + + +void testApp::resetParameters(){ + /* + beatTimes.startIndex = 0; + beatTimes.lastBeatTime = 0; + maxPhase = 0; + posteriorMaximum = 0.1; + + accompanimentStarted = false; + + tempoDistribution.likelihoodNoise = 0.8; + tempoDistribution.setGaussianPrior(ARRAY_SIZE/2, ARRAY_SIZE/2);//wide + + beatDistribution.initialiseArray(); + tempoDistribution.initialiseArray(); + + tempoDistribution.calculateStandardDeviation(); + beatDistribution.calculateStandardDeviation(); + + tempoStdDev = tempoDistribution.standardDeviation; + + beatTimes.resetBeatTimeArray(); + */ +} + +//-------------------------------------------------------------- +void testApp::update(){ + + + updateOSCmessages(); + + //update tempo window range - this for viewing tempo closeup + while (tempoWindowMinimum + tempoWindowWidth/4 > drumTracker.tempoDistribution.integratedEstimate) + tempoWindowMinimum -= tempoWindowWidth/4; + + while (tempoWindowMinimum + 3*tempoWindowWidth/4 < drumTracker.tempoDistribution.integratedEstimate) + tempoWindowMinimum += tempoWindowWidth/4; + + tempoWindowMaximum = tempoWindowMinimum + tempoWindowWidth; + + drumTracker.decayDistributions(); + +} + + +void testApp::updateOSCmessages(){ + + + // check for waiting messages + while( receiver.hasWaitingMessages() ) + { + ofxOscMessage m; + receiver.getNextMessage( &m ); + string newAddress = m.getAddress(); + + if ( m.getAddress() == "/Reset" ){ + printf("baysian reset\n"); + drumTracker.resetParameters(); + } + + + if ( m.getAddress() == "/beatError" ){ + double timeNow = ofGetElapsedTimeMillis(); + if (timeNow - drumTracker.setBeatToNowTime > 1000) + drumTracker.newKickError(m.getArgAsFloat(0), m.getArgAsFloat(2), m.getArgAsString(1)); + KLdiv = drumTracker.beatDistribution.getKLdivergence(); + }//end if new error + + + + if ( m.getAddress() == "/tatum" ){ + drumTracker.beatTimes.tatum = m.getArgAsFloat(0); + printf("got tatum as %f\n", m.getArgAsFloat(0)); + } + + if ( m.getAddress() == "/startTatum" ){ + drumTracker.startTatum(m.getArgAsFloat(0)); + printf("START TATUM %f\n", m.getArgAsFloat(0)); + //then change so tempo distribution is correct.... + }//end start tatum + + + if ( m.getAddress() == "/uniformTempo" ){ + drumTracker.setUniformTempo(); + + } + + + if ( m.getAddress() == "/uniformPhase" ){ + drumTracker.setUniformPhase(); + + } + + + if ( m.getAddress() == "/setBeatNow" ){ + + double beatTime = m.getArgAsFloat(0); + drumTracker.setBeatNow(beatTime); + //printf("SET BEAT NOW %f\n", beatTime); + } + + + if ( m.getAddress() == "/clickindex" ){ + + int clickIndex = m.getArgAsInt32(0); + float clickTime = m.getArgAsFloat(1); + drumTracker.setNewClickIndex(clickIndex, clickTime); + } + + + if ( m.getAddress() == "/newBeat" ){ + int beatIndex = m.getArgAsInt32(0); + drumTracker.newBeat(beatIndex); + } + + + if ( m.getAddress() == "/beatCorrection" ) + { + float beatCorrValue = m.getArgAsFloat(0); + drumTracker.doBeatCorrection(beatCorrValue); + + }//end correction by + + + if ( m.getAddress() == "/BayesianNoise" ){ + drumTracker.beatDistribution.likelihoodNoise = m.getArgAsFloat(0);; + printf("bayesian noise set to %f\n", drumTracker.beatDistribution.likelihoodNoise); + // beatDistribution.setGaussianLikelihood(beatDistribution.likelihoodMean, beatDistribution.likelihoodStdDev); + } + + if ( m.getAddress() == "/BayesianStdDev" ){ + drumTracker.beatDistribution.likelihoodStdDev = ARRAY_SIZE / m.getArgAsFloat(0); + // beatDistribution.setGaussianLikelihood(beatDistribution.likelihoodMean, beatDistribution.likelihoodStdDev); + } + + + }//end while there is new message + + +} + + +void testApp::takePictureOfScreen(){ + // grab a rectangle at 200,200, width and height of 300,180 + img.grabScreen(0,0,screenWidth,screenHeight); + char fileName[255]; + sprintf(fileName, "snapshot_%0.3i.png", snapCounter); + img.saveImage(fileName); + //printf("saved %s\n", fileName); + snapCounter++; + bSnapshot = false; +} + +/* +void testApp::setBeatDistribution(int beatPosition){ + switch (beatPosition){ + //early sixteenth is that the beat is a sixteenth earlier + case 0: + case 1: + case 11: + //i.e. these zones are interpreted as "on the beat" + beatDistribution.eighthNoteProportion = 0; + beatDistribution.earlySixteenthNoteProportion = 0; + beatDistribution.lateSixteenthNoteProportion = 0; + break; + //10 and 2 were here + + case 2: + beatDistribution.eighthNoteProportion = 0; + beatDistribution.earlySixteenthNoteProportion = 0.25;//was 0.3 in Bayesian8 + //i.e. a 25% chance it is early sixteenth - 75% that the beat actually lies here + beatDistribution.lateSixteenthNoteProportion = 0; + break; + + case 3: + beatDistribution.eighthNoteProportion = 0; + beatDistribution.earlySixteenthNoteProportion = 0.3;//was 0.4 in Bayesian8 //half chance it is early + beatDistribution.lateSixteenthNoteProportion = 0; + break; + + case 5: + case 6: + case 7: + beatDistribution.eighthNoteProportion = 0.3;//i.e. nearly half a chance we are on the 8th note + beatDistribution.earlySixteenthNoteProportion = 0; + beatDistribution.lateSixteenthNoteProportion = 0; + break; + + case 4: + beatDistribution.eighthNoteProportion = 0; + beatDistribution.earlySixteenthNoteProportion = 0.25;//was 0.3 in Bayesian8 + beatDistribution.lateSixteenthNoteProportion = 0.05;//was 0.2 in Bayesian8 + //chsanged to 0.2 and 0.1 then back + break; + + case 8: + beatDistribution.eighthNoteProportion = 0; + beatDistribution.earlySixteenthNoteProportion = 0.05;//was 0.2 in Bayesian8 + beatDistribution.lateSixteenthNoteProportion = 0.25;//was 0.3 in Bayesian8 + break; + + case 9: + beatDistribution.eighthNoteProportion = 0; + beatDistribution.earlySixteenthNoteProportion = 0; + beatDistribution.lateSixteenthNoteProportion = 0.35;//was 0.4 in Bayesian8 + break; + + case 10: + beatDistribution.eighthNoteProportion = 0; + beatDistribution.earlySixteenthNoteProportion = 0; + beatDistribution.lateSixteenthNoteProportion = 0.25;//was 0.2 in Bayesian8 + break; + + } + +} +*/ +//-------------------------------------------------------------- +void testApp::draw(){ + //--------------------------- lines + // a bunch of red lines, make them smooth if the flag is set + + + + if (bSmooth){ + ofEnableSmoothing(); + } + + switch (screenToDraw){ + case 0: + drawBayesianDistribution(); + break; + case 1: + drawTempoDistribution(); + break; + case 2: + drawBeatMap(); + break; + case 3: + // drawNormalisedLikelihood(); + drawRestrictedTempoDistribution(tempoWindowMinimum, tempoWindowMaximum); + break; + case 4: + drawTempoData(); + break; + case 5: + drawBeatProbabilityDistribution(); + break; + case 6: + drawPosterior(); + break; + case 7: + drawGreyscaleBayesianDistribution(); + break; + + } + + + + if (bSnapshot == true){ + takePictureOfScreen(); + bSnapshot = false; + } + + ofDrawBitmapString("KLdiv :"+ofToString(KLdiv, 3), 20, 40); + ofSetColor(200,0,0,160); + ofRect(0, ofGetHeight()*(1-KLdiv), 40, ofGetHeight()*KLdiv); + + + +}//end draw + + +void testApp::drawTempoData(){ + + ofSetColor(0xFFFF00); +//yellow line in centre +ofLine( 0, (screenHeight/2), screenWidth, (screenHeight/2)); + +ofSetColor(0x0000FF); +int tempoIndex = 0; +int widthOffset = 20; +float stepWidth = screenWidth / 16; + ofDrawBitmapString("tatums : ", 600,180); + ofDrawBitmapString(ofToString(drumTracker.beatTimes.tatum, 1), 700,180); + ofDrawBitmapString("bpm : ", 600,200); + ofDrawBitmapString(ofToString((drumTracker.beatTimes.tatum/30000), 1), 700,200); +int intervalIndex; +int intervalWidth = 2; +float magnifyingFactor = 8; +for (tempoIndex = 0;tempoIndex < 16; tempoIndex++){ + +for (intervalIndex = 0;intervalIndex < 16;intervalIndex++){ +//new color code +if (drumTracker.beatTimes.intervalUsed[tempoIndex][intervalIndex] == true){ +ofSetColor(0x00FFFF); +} +else{ +ofSetColor(0xFF00FF); +} +//end new code + +ofLine((stepWidth*tempoIndex)+ (intervalWidth*intervalIndex) + widthOffset, screenHeight, + (stepWidth*tempoIndex) + (intervalWidth*intervalIndex) + widthOffset, (screenHeight/2) * (1 + (magnifyingFactor * (1-drumTracker.beatTimes.intervalDifferences[tempoIndex][intervalIndex])))); + + if (printInterval == true){ + ofDrawBitmapString(ofToString(drumTracker.beatTimes.intervalDifferences[tempoIndex][intervalIndex], 3), + (stepWidth*tempoIndex) + widthOffset,20+(intervalIndex*20)); + } + + + ofDrawBitmapString(ofToString(drumTracker.beatTimes.relativeIntervals[tempoIndex][0], 3), 700,220+(tempoIndex*20)); + ofDrawBitmapString(ofToString(drumTracker.beatTimes.relativeIntervals[tempoIndex][1], 1), 750,220+(tempoIndex*20)); +}//end for interval index +}//end for tempo index + + ofDrawBitmapString(ofToString(drumTracker.beatTimes.clickIndex), 750,20); + + ofDrawBitmapString(ofToString(mouseBPM), 50,20); + ofDrawBitmapString(drumTracker.tempoDataString, 50, 100); + +}//end draw tempo data + + +void testApp::drawTempoDistribution(){ + float maximum = drumTracker.tempoDistribution.getMaximum(&drumTracker.tempoDistribution.likelihood[0], ARRAY_SIZE); + maximum = max(maximum, drumTracker.tempoDistribution.getMaximum(&drumTracker.tempoDistribution.prior[0], ARRAY_SIZE)); + maximum = max(maximum, drumTracker.tempoDistribution.getMaximum(&drumTracker.tempoDistribution.posterior[0], ARRAY_SIZE)); + + maximum *= 1.1; + + float stepHeight = screenHeight/maximum; + + + +//draw prior in green + ofSetColor(0x888888); + for (int i = 1; i < ARRAY_SIZE; i+=2){ + ofLine((i-1)*stepSize, screenHeight - (drumTracker.tempoDistribution.prior[i-1]*stepHeight), i*stepSize, screenHeight - (drumTracker.tempoDistribution.prior[i]*stepHeight)); + } + + +//draw posterior in dark + ofSetColor(0x000000); + for (int i = 1; i < ARRAY_SIZE; i++){ + ofLine((i-1)*stepSize, screenHeight - (drumTracker.tempoDistribution.posterior[i-1]*stepHeight), i*stepSize, screenHeight - (drumTracker.tempoDistribution.posterior[i]*stepHeight)); + } + + +//black line is the max probability +ofSetColor(0x000000); + ofLine(drumTracker.tempoDistribution.integratedEstimate *stepSize, screenHeight, drumTracker.tempoDistribution.integratedEstimate *stepSize, 0); + + //blue is the current kick received + ofSetColor(0xAAAAAA); + +int altIndex = 0; + for (altIndex = 0;altIndex< 16;altIndex++){ + + double tempoInterval = drumTracker.beatTimes.intervalDifferences[drumTracker.beatTimes.index][altIndex]; + + if (altIndex != drumTracker.beatTimes.index && tempoInterval > drumTracker.tempoMinimum && tempoInterval < drumTracker.tempoMaximum){ + + + + //draw likelihood + //draw likelhood in blue +// //need to reset likelihood for this! + //XXX remove + double timeInterval = drumTracker.beatTimes.beatTimes[drumTracker.beatTimes.index] - drumTracker.beatTimes.beatTimes[altIndex]; + if (timeInterval > 2*drumTracker.tempoMinimum && timeInterval < 2*drumTracker.tempoMaximum) + { + + ofLine(stepSize*(ARRAY_SIZE * (tempoInterval-drumTracker.tempoMinimum)/(drumTracker.tempoMaximum - drumTracker.tempoMinimum)), screenHeight, + stepSize*(ARRAY_SIZE * (tempoInterval - drumTracker.tempoMinimum)/(drumTracker.tempoMaximum - drumTracker.tempoMinimum)) , 0); + + drumTracker.tempoDistribution.setGaussianLikelihood(ARRAY_SIZE * (tempoInterval - drumTracker.tempoMinimum)/(drumTracker.tempoMaximum - drumTracker.tempoMinimum), drumTracker.tempoDistribution.likelihoodStdDev); + for (int i = 1; i < ARRAY_SIZE; i++){ + ofLine((i-1)*stepSize, screenHeight - (drumTracker.tempoDistribution.likelihood[i-1]*stepHeight), i*stepSize, screenHeight - (drumTracker.tempoDistribution.likelihood[i]*stepHeight)); + } + } + + } + + }//end for + + if (bSmooth){ + ofDisableSmoothing(); + } + + drawTempoInfo(); + +} + + +int testApp::xcoordinateFromTempoDataPoint(float f){ + //f is the time + + int xcoordinateForInterval = 0; + if (f >= drumTracker.tempoMinimum && f <= drumTracker.tempoMaximum) + xcoordinateForInterval = ((float)(f - drumTracker.tempoMinimum)*screenWidth/(float)(drumTracker.tempoMaximum - drumTracker.tempoMinimum)); + return xcoordinateForInterval; + +} + + +int testApp::xcoordinateFromRestrictedTempoDataPoint(float f, const int& tmpMin, const int& tmpMax){ + + + int xcoordinateForInterval = -1; + if (f >= drumTracker.tempoMinimum+tmpMin && f <= min(drumTracker.tempoMinimum+tmpMax,drumTracker.tempoMaximum)) + xcoordinateForInterval = ((float)(f - drumTracker.tempoMinimum - tmpMin*arrayToMsecScaleFactor)*screenWidth/(float)((tmpMax - tmpMin)*arrayToMsecScaleFactor)); + return xcoordinateForInterval; + +} + + +void testApp::drawTempoInfo(){ + float maximum = drumTracker.tempoDistribution.getMaximum(&drumTracker.tempoDistribution.likelihood[0], ARRAY_SIZE); + maximum = max(maximum, drumTracker.tempoDistribution.getMaximum(&drumTracker.tempoDistribution.prior[0], ARRAY_SIZE)); + maximum = max(maximum, drumTracker.tempoDistribution.getMaximum(&drumTracker.tempoDistribution.posterior[0], ARRAY_SIZE)); + + + ofSetColor(0x000000); + string testString; + testString = "max is "; + testString += ofToString(maximum); + ofDrawBitmapString(testString, 700,620); + + ofDrawBitmapString(msg_string, 700,650); + + ofDrawBitmapString(kickString, 700,670); + + testString = "std dev : "; + testString += ofToString(drumTracker.tempoStdDev, 6); + + testString += ", "; + testString += ofToString(drumTracker.accompanimentStarted); + ofDrawBitmapString(testString, 20, 120); + + int tempoUpdateIndex; + for (tempoUpdateIndex = 0;tempoUpdateIndex<16;tempoUpdateIndex++){ +// ofDrawBitmapString(tempoUpdateStrings[tempoUpdateIndex], 700, 200 + (20 * tempoUpdateIndex)); + } + + ofDrawBitmapString("Mouse located at tempo: ", 50,10); + ofDrawBitmapString(ofToString(mouseBPM, 1), 50,20); + + ofDrawBitmapString("Current tempo: ", 50,40); + ofDrawBitmapString(ofToString(30000/drumTracker.beatTimes.tatum, 1), 50,50); + + ofDrawBitmapString(drumTracker.tempoDataString, 50, 100); + + + for (int i = 1;i < 16; i++){ + for (int altIndex = 0; altIndex < 16;altIndex++){ + string newString; + newString = " :"; + int recentIndex = (altIndex-i+16)%16; + if (drumTracker.beatTimes.intervalDifferences[altIndex][recentIndex] > 0 && drumTracker.beatTimes.intervalUsed[altIndex][recentIndex]){ + + + int xcoordinateForInterval = xcoordinateFromTempoDataPoint(drumTracker.beatTimes.intervalDifferences[altIndex][recentIndex]); + float beatInterval = (float) drumTracker.beatTimes.tatumMultiples[altIndex][recentIndex]/2; + + if (drumTracker.beatTimes.OnsetIsKick[altIndex]) + ofSetColor(255*(8-beatInterval)/(float)8, 0, 255*beatInterval/(float)8); + else + ofSetColor(0, 255*(8-beatInterval)/(float)8, 255*beatInterval/(float)8); + //red kick, green snare + + ofCircle(xcoordinateForInterval, 200 + (altIndex * 20), 3); + + newString += ofToString(drumTracker.beatTimes.intervalDifferences[altIndex][recentIndex],0); + newString += " ("; + newString += ofToString(drumTracker.beatTimes.tatumMultiples[altIndex][recentIndex]/2, 0); + newString += ")"; + + } + ofSetColor(0,0,0); + //ofDrawBitmapString(newString, 200 + i*80, 200 + (altIndex * 20)); + + + } + } + +} + + + + +void testApp::drawTempoDataPoints(const int& tmpMin, const int& tmpMax, const float& tmpStepSize){ + + for (int i = 1;i < 16; i++){ + for (int altIndex = 0; altIndex < 16;altIndex++){ + // string newString; + // newString = " :"; + + int recentIndex = (altIndex-i+16)%16; + if (drumTracker.beatTimes.intervalDifferences[altIndex][recentIndex] > 0 && drumTracker.beatTimes.intervalUsed[altIndex][recentIndex]){ + + int xcoordinateForInterval = xcoordinateFromRestrictedTempoDataPoint(drumTracker.beatTimes.intervalDifferences[altIndex][recentIndex], tmpMin, tmpMax); + float beatInterval = (float) drumTracker.beatTimes.tatumMultiples[altIndex][recentIndex]/2; + + if (drumTracker.beatTimes.OnsetIsKick[altIndex]) + ofSetColor(255*(7-beatInterval+1)/(float)7, 255*(beatInterval-1)/(float)7, 0);//100+155*(8-beatInterval)/(float)8 + else + ofSetColor(0, 255*(7-beatInterval+1)/(float)7, 255*(beatInterval-1)/(float)7);//, 155*beatInterval/(float)8); + //red kick, green snare + + ofCircle(xcoordinateForInterval, 200 + (altIndex * 20), 3); + ofDrawBitmapString(ofToString(beatInterval, 0), xcoordinateForInterval-2, 200 + (altIndex * 20) - 3); + /* newString += ofToString(beatTimes.intervalDifferences[altIndex][recentIndex],0); + newString += " ("; + newString += ofToString(beatTimes.tatumMultiples[altIndex][recentIndex]/2, 0); + newString += ")"; + */ + } + ofSetColor(0,0,0); + //ofDrawBitmapString(newString, 200 + i*80, 200 + (altIndex * 20)); + + + } + } + +} + + +void testApp::drawRestrictedTempoDistribution(int tmpMin, int tmpMax){ + //min and max are in the tempo array coordinates + + tmpMin = max(tmpMin, 0); + tmpMax = min(tmpMax, ARRAY_SIZE-1); + + float maximum = drumTracker.tempoDistribution.getMaximum(&drumTracker.tempoDistribution.likelihood[0], ARRAY_SIZE); + maximum = max(maximum, drumTracker.tempoDistribution.getMaximum(&drumTracker.tempoDistribution.prior[0], ARRAY_SIZE)); + maximum = max(maximum, drumTracker.tempoDistribution.getMaximum(&drumTracker.tempoDistribution.posterior[0], ARRAY_SIZE)); + + maximum *= 1.1; + + float stepHeight = screenHeight/maximum; + int tmpWidth = tmpMax - 1 - tmpMin; + float tmpStepSize = screenWidth / (float) tmpWidth; + + + //draw prior in green + ofSetColor(0x888888); + for (int i = 1; i < tmpWidth; i+=2){ + ofLine((i-1)*tmpStepSize, screenHeight - (drumTracker.tempoDistribution.prior[tmpMin+i-1]*stepHeight), i * tmpStepSize, screenHeight - (drumTracker.tempoDistribution.prior[tmpMin+i]*stepHeight)); + } + + + //draw posterior in dark + ofSetColor(0x000000); + for (int i = 1; i < tmpWidth; i++){ + ofLine((i-1) * tmpStepSize, screenHeight - (drumTracker.tempoDistribution.posterior[tmpMin+i-1]*stepHeight), i*tmpStepSize, screenHeight - (drumTracker.tempoDistribution.posterior[tmpMin+i]*stepHeight)); + } + + + //black line is the max probability + ofSetColor(0x000000); + ofLine((drumTracker.tempoDistribution.integratedEstimate - tmpMin)* tmpStepSize, screenHeight, (drumTracker.tempoDistribution.integratedEstimate-tmpMin) *tmpStepSize, 0); + + //blue is the current kick received + ofSetColor(0xAAAAAA); + + int altIndex = 0; + for (altIndex = 0;altIndex< 16;altIndex++){ + //iterate through all recent beat intervals + + double tempoInterval = drumTracker.beatTimes.intervalDifferences[drumTracker.beatTimes.index][altIndex]; + + if (altIndex != drumTracker.beatTimes.index && tempoInterval > drumTracker.tempoMinimum && tempoInterval < drumTracker.tempoMaximum){ + + double timeInterval = drumTracker.beatTimes.beatTimes[drumTracker.beatTimes.index] - drumTracker.beatTimes.beatTimes[altIndex]; + + if (timeInterval > 2*drumTracker.tempoMinimum && timeInterval < 2*drumTracker.tempoMaximum){ + //i.e. within the beat range only + //so we only draw the likelihood realtime for happening beat intervals + //in fact much more is going on than this but harder to visualise + + float indexOfNewLocation = ARRAY_SIZE*(tempoInterval-drumTracker.tempoMinimum)/(float)(drumTracker.tempoMaximum - drumTracker.tempoMinimum); + + + if (indexOfNewLocation >= tmpMin){ + ofLine(tmpStepSize * (indexOfNewLocation-tmpMin), screenHeight, tmpStepSize * (indexOfNewLocation-tmpMin) , 0); + } + + + drumTracker.tempoDistribution.setGaussianLikelihood(ARRAY_SIZE * (tempoInterval - drumTracker.tempoMinimum)/(drumTracker.tempoMaximum - drumTracker.tempoMinimum), drumTracker.tempoDistribution.likelihoodStdDev); + //setting the tempo distribution likeihood just for visualisation purposes + for (int i = 1; i < tmpWidth; i++){ + ofLine((i-1)*tmpStepSize, screenHeight - (drumTracker.tempoDistribution.likelihood[i+tmpMin-1]*stepHeight), i*tmpStepSize, screenHeight - (drumTracker.tempoDistribution.likelihood[i+tmpMin]*stepHeight)); + + } + } + + } + + }//end for + + if (bSmooth){ + ofDisableSmoothing(); + } + + + drawTempoDataPoints(tmpMin, tmpMax, tmpStepSize); + +// lines for background + for (int i = tmpMin-(tmpMin%20);i < tmpMax; i+=20){ + ofSetColor(0,0,200,100); + ofLine(tmpStepSize * (i-tmpMin), screenHeight, tmpStepSize * (i-tmpMin) , 0); + string tmpTempoString = ofToString(drumTracker.tempoMinimum + i*arrayToMsecScaleFactor, 0); + ofDrawBitmapString(tmpTempoString, tmpStepSize * (i-tmpMin) , 20); + } + + string currentTatumString = "Beat Period : "; + currentTatumString += ofToString(drumTracker.beatTimes.tatum, 1); + currentTatumString += " MaxIndex : "; + currentTatumString += ofToString(drumTracker.tempoDistribution.integratedEstimate, 1); + + ofDrawBitmapString(currentTatumString, 20, 40); + //drawTempoInfo(); + +} + + + + + + + + + + + +void testApp::drawBeatMap(){ +int x,y; + +for (x=0;x < 6;x++){ + for (y=0;y<8;y++){ + int cell = x+(y*6); + if (cell == drumTracker.beatTimes.beatSegment){ + if (drumTracker.beatTimes.beatMap[cell] == 1)//for kick + ofSetColor(drumTracker.beatTimes.beatMap[cell]*255, 0, 0); + + if (drumTracker.beatTimes.beatMap[cell] == 2)//for kick + ofSetColor(0, drumTracker.beatTimes.beatMap[cell]*255, 100); + + } + else{ + if (drumTracker.beatTimes.beatMap[cell] == 1)//for kick + ofSetColor(drumTracker.beatTimes.beatMap[cell]*155, 0, 0); + else //for snare + ofSetColor(0,drumTracker.beatTimes.beatMap[cell]*155, 0);//beatTimes.beatMap[cell]*155); + + } + ofRect(screenWidth*x/6, screenHeight*y/8, screenWidth/6, screenHeight/8); + + ofSetColor(255,0,0); + ofDrawBitmapString(ofToString(x+(y*6)), screenWidth*x/6, screenHeight*y/8); + + if (drumTracker.beatTimes.beatMap[cell] == 1){ + ofSetColor(0,255,255);// + ofDrawBitmapString(ofToString(drumTracker.beatTimes.beatMapTimeDifferences[cell], 2), (screenWidth*(x+0.5)/6) , (screenHeight*(y+0.5)/8) ); + } + if (drumTracker.beatTimes.beatMap[cell] == 2){ + ofSetColor(0,0,100);// + ofDrawBitmapString(ofToString(drumTracker.beatTimes.beatMapTimeDifferences[cell], 2), (screenWidth*(x+0.5)/6) , (screenHeight*(y+0.5)/8) ); + } + + + } +} + +} + + + + +void testApp::drawBeatProbabilityDistribution(){ + int x,y; + + for (x=0;x < 6;x++){ + for (y=0;y<4;y++){ + int cell = x+(y*6); + ofSetColor(drumTracker.beatTimes.beatProbabilityDistribution[y][x][0]*255, 0, 0); + ofRect(screenWidth*x/6, screenHeight*y/8, screenWidth/6, screenHeight/8); + } + } + for (x=0;x < 6;x++){ + for (y=0;y<4;y++){ + int cell = x+(y*6); + ofSetColor(0, drumTracker.beatTimes.beatProbabilityDistribution[y][x][1]*255, 0); + ofRect(screenWidth*x/6, screenHeight*(y+4)/8, screenWidth/6, screenHeight/8); + } + } + +} + + +void testApp::drawNormalisedLikelihood(){ + float maximum = drumTracker.beatDistribution.getMaximum(&drumTracker.beatDistribution.likelihood[0], ARRAY_SIZE); + maximum = max(maximum, drumTracker.beatDistribution.getMaximum(&drumTracker.beatDistribution.prior[0], ARRAY_SIZE)); + //maximum = max(maximum, beatDistribution.getMaximum(&beatDistribution.posterior[0], ARRAY_SIZE)); + float stepHeight = screenHeight/maximum; + +if (!hidePriorMode){ +//draw likelhood in blue + + ofSetColor(0x0000FF); + for (int i = 1; i < ARRAY_SIZE; i++){ + ofLine((i-1)*stepSize, screenHeight - (drumTracker.beatDistribution.likelihood[i-1]*stepHeight), i*stepSize, screenHeight - (drumTracker.beatDistribution.likelihood[i]*stepHeight)); + } + +//draw prior in green + ofSetColor(0x00AA00); + for (int i = 1; i < ARRAY_SIZE; i++){ + ofLine((i-1)*stepSize, screenHeight - (drumTracker.beatDistribution.prior[i-1]*stepHeight), i*stepSize, screenHeight - (drumTracker.beatDistribution.prior[i]*stepHeight)); + } +}//end hide prior mode + + + +} + + + +void testApp::drawPosterior(){ + float maximum = drumTracker.beatDistribution.getMaximum(&drumTracker.beatDistribution.posterior[0], ARRAY_SIZE); + + if (drumTracker.posteriorMaximum < maximum){ + drumTracker.posteriorMaximum = 1.2*maximum; + } + + float stepHeight = screenHeight/drumTracker.posteriorMaximum; + ofSetColor(0xFF00FF); + for (int i = 1; i < ARRAY_SIZE; i++){ + ofLine((i-1)*stepSize, screenHeight - (drumTracker.beatDistribution.posterior[i-1]*stepHeight), i*stepSize, screenHeight - (drumTracker.beatDistribution.posterior[i]*stepHeight)); + } + + + //yellow is the middle + ofSetColor(0xFFFF00); + ofLine(ARRAY_SIZE*stepSize/2, screenHeight, ARRAY_SIZE*stepSize/2, 0); + + + + //blue is the current kick received + ofSetColor(0x0000FF); + ofLine(stepSize*((ARRAY_SIZE/2) + (ARRAY_SIZE*drumTracker.kickError)), screenHeight,stepSize*((ARRAY_SIZE/2) + (ARRAY_SIZE*drumTracker.kickError)), 0); + + //purple line is the integrated max probability + int integratedBeatEstimateDrawPoint = round(drumTracker.beatDistribution.integratedEstimate*stepSize) ; + ofSetColor(0xFF22FF); + ofLine(integratedBeatEstimateDrawPoint, screenHeight, integratedBeatEstimateDrawPoint, 0); + + string testString = "maximum: "; + testString += ofToString(drumTracker.posteriorMaximum, 2); + ofDrawBitmapString(testString, 100,120); + + +} + + + + + +void testApp::drawBayesianDistribution(){ + float maximum = drumTracker.beatDistribution.getMaximum(&drumTracker.beatDistribution.likelihood[0], ARRAY_SIZE); + maximum = max(maximum, drumTracker.beatDistribution.getMaximum(&drumTracker.beatDistribution.prior[0], ARRAY_SIZE)); + maximum = max(maximum, drumTracker.beatDistribution.getMaximum(&drumTracker.beatDistribution.posterior[0], ARRAY_SIZE)); + float stepHeight = screenHeight/maximum; + + if (!hidePriorMode){ + //draw likelhood in blue + if (drumTracker.onsetType == "kick") + ofSetColor(0xff0000);//red : kick + else + ofSetColor(0x00FF00);//green : snare + + for (int i = 1; i < ARRAY_SIZE; i++){ + ofLine((i-1)*stepSize, screenHeight - (drumTracker.beatDistribution.likelihood[i-1]*stepHeight), i*stepSize, screenHeight - (drumTracker.beatDistribution.likelihood[i]*stepHeight)); + } + + //;line where the current kick is received + ofLine(stepSize*((ARRAY_SIZE/2) + (ARRAY_SIZE*drumTracker.kickError)), screenHeight,stepSize*((ARRAY_SIZE/2) + (ARRAY_SIZE*drumTracker.kickError)), 0); + + + //draw prior in aqua blue + ofSetColor(0x00AAAA); + for (int i = 1; i < ARRAY_SIZE; i++){ + ofLine((i-1)*stepSize, screenHeight - (drumTracker.beatDistribution.prior[i-1]*stepHeight), i*stepSize, screenHeight - (drumTracker.beatDistribution.prior[i]*stepHeight)); + } + }//end hide prior mode + + //draw posterior in red + ofSetColor(0x0000FF); + for (int i = 1; i < ARRAY_SIZE; i++){ + ofLine((i-1)*stepSize, screenHeight - (drumTracker.beatDistribution.posterior[i-1]*stepHeight), i*stepSize, screenHeight - (drumTracker.beatDistribution.posterior[i]*stepHeight)); + } + + //draw the previous updated posteriror in purple + /* ofSetColor(0xFF22FF); + for (int i = 1; i < ARRAY_SIZE; i++){ + ofLine((i-1)*stepSize, screenHeight - (tmpArray[i-1]*stepHeight), i*stepSize, screenHeight - (tmpArray[i]*stepHeight)); + } + */ + + //yellow is the middle + ofSetColor(0xFFFF00); + ofLine(ARRAY_SIZE*stepSize/2, screenHeight, ARRAY_SIZE*stepSize/2, 0); + + //black line is the max probability + ofSetColor(0x000000); + ofLine(drumTracker.beatDistribution.maximumIndex*stepSize, screenHeight, drumTracker.beatDistribution.maximumIndex*stepSize, 0); + + + //purple line is the integrated max probability + int integratedBeatEstimate = drumTracker.beatDistribution.integratedEstimate ; + ofSetColor(0x2222FF); + ofLine(integratedBeatEstimate *stepSize, screenHeight, integratedBeatEstimate *stepSize, 0); + + + if (bSmooth){ + ofDisableSmoothing(); + } + + printBayesianData(); +} + +void testApp::printBayesianData(){ + //not optimised!!! XXX + float maximum = drumTracker.beatDistribution.getMaximum(&drumTracker.beatDistribution.likelihood[0], ARRAY_SIZE); + maximum = max(maximum, drumTracker.beatDistribution.getMaximum(&drumTracker.beatDistribution.prior[0], ARRAY_SIZE)); + maximum = max(maximum, drumTracker.beatDistribution.getMaximum(&drumTracker.beatDistribution.posterior[0], ARRAY_SIZE)); + + ofSetColor(0x000000); + string testString; + testString = "max2 is "; + testString += ofToString(maximum, 3); + testString += " :: "; + + testString = "correction of "; + testString += ofToString(drumTracker.beatCorrection); + testString += " corr by :"; + testString += ofToString(drumTracker.correctBeatBy); + + //ofDrawBitmapString(testString, 100,120); + + testString = "MaxPhase "; + testString += ofToString(drumTracker.maxPhase); +// ofDrawBitmapString(testString, 100,140); + + + testString = "Likelihood noise "; + testString += ofToString(drumTracker.beatDistribution.likelihoodNoise, 2); + //ofDrawBitmapString(testString, 100,160); + +// ofDrawBitmapString(msg_string, 100,140); + +// ofDrawBitmapString(kickString, 100,180); + +/* debugString = "Min Debug = "; + debugString += ofToString(drumTracker.tempoDistribution.maximumIndex + drumTracker.minTempoIndex); + debugString += " Max Debug = "; + debugString += ofToString(drumTracker.tempoDistribution.maximumIndex + drumTracker.maxTempoIndex); +*/ + //ofDrawBitmapString(debugString, 300,370); + + debugString = "CLICK INDEX = "; + debugString += ofToString(drumTracker.beatTimes.clickIndex); + //ofDrawBitmapString(debugString, 100, 20); + + debugString = "STD DEV = "; + debugString += ofToString(drumTracker.beatDistribution.standardDeviation, 2); +// ofDrawBitmapString(debugString, 100, 40); + + + + debugString = "interval "; + debugString += ofToString(drumTracker.debugArray[2], 2); + debugString += " time int = "; + debugString += ofToString(drumTracker.debugArray[1], 2); + debugString += " Beat max = "; + debugString += ofToString(drumTracker.debugArray[0 ], 2); + debugString += " Tempo max = "; + debugString += ofToString(drumTracker.debugArray[3 ], 2); +// ofDrawBitmapString(debugString, 300,570); + + debugString = " last = "; + debugString += ofToString(drumTracker.beatTimes.lastBeatTime, 2); +// ofDrawBitmapString(debugString, 300,470); + + + string closestClickString = "Closest Click "; + closestClickString += ofToString(drumTracker.beatTimes.closestClickIndexToBeat[drumTracker.beatTimes.index]); + closestClickString += " beat seg "; + closestClickString += ofToString(drumTracker.beatTimes.beatSegment%12); + closestClickString += " lastCindex"; + closestClickString += ofToString(drumTracker.beatTimes.lastClickIndex); + closestClickString += " TD "; + closestClickString += ofToString(drumTracker.beatTimes.timeDifference); + +// ofDrawBitmapString(closestClickString, 100,100); + +// ofDrawBitmapString(timeString, 100,60); +} + + + +void testApp::drawGreyscaleBayesianDistribution(){ + ofSetColor(255,255,255); + ofRect(0,0,screenWidth, screenHeight); + + float maximum = drumTracker.beatDistribution.getMaximum(&drumTracker.beatDistribution.likelihood[0], ARRAY_SIZE); + maximum = max(maximum, drumTracker.beatDistribution.getMaximum(&drumTracker.beatDistribution.prior[0], ARRAY_SIZE)); + maximum = max(maximum, drumTracker.beatDistribution.getMaximum(&drumTracker.beatDistribution.posterior[0], ARRAY_SIZE)); + maximum *= 1.1; + float stepHeight = screenHeight/maximum; + + if (!hidePriorMode){ + //draw likelhood in blue + ofSetColor(0x555555); + for (int i = 1; i < ARRAY_SIZE; i+=2){ + ofLine((i-1)*stepSize, screenHeight - (drumTracker.beatDistribution.likelihood[i-1]*stepHeight), i*stepSize, screenHeight - (drumTracker.beatDistribution.likelihood[i]*stepHeight)); + } + + //draw prior in green + ofSetColor(0xAAAAAA); + for (int i = 1; i < ARRAY_SIZE; i++){ + ofLine((i-1)*stepSize, screenHeight - (drumTracker.beatDistribution.prior[i-1]*stepHeight), i*stepSize, screenHeight - (drumTracker.beatDistribution.prior[i]*stepHeight)); + } + }//end hide prior mode + + //draw posterior in dark grey + ofSetColor(0x222222); + for (int i = 1; i < ARRAY_SIZE; i++){ + ofLine((i-1)*stepSize, screenHeight - (drumTracker.beatDistribution.posterior[i-1]*stepHeight), i*stepSize, screenHeight - (drumTracker.beatDistribution.posterior[i]*stepHeight)); + } + + /* + //dotted the middle + ofSetColor(0x555555); + for (int i = 1; i < screenHeight; i+=4){ + ofLine(ARRAY_SIZE*stepSize/2, i, ARRAY_SIZE*stepSize/2, i-2); + } + */ + + //purple line is the integrated max probability +// int integratedBeatEstimate = beatDistribution.integratedEstimate ; +// ofSetColor(0x000000); +// ofLine(integratedBeatEstimate *stepSize, screenHeight, integratedBeatEstimate *stepSize, 0); + + //purple line is the integrated max probability + float tmpIntegratedBeatEstimate = drumTracker.beatDistribution.getIntegratedEstimateIndex(); + ofSetColor(0x000000); + int drawLinePoint = round(tmpIntegratedBeatEstimate *stepSize); + ofLine(drawLinePoint, screenHeight, drawLinePoint, 0); + + //blue is the current kick received + ofSetColor(0x555555); + for (int i = 1; i < screenHeight; i+=40){ + ofLine(stepSize*((ARRAY_SIZE/2) + (ARRAY_SIZE*drumTracker.kickError)), i,stepSize*((ARRAY_SIZE/2) + (ARRAY_SIZE*drumTracker.kickError)), i-20); + } + + +} + + + + +void testApp::drawGreyscaleTempoDistribution(double tempoInterval){ + ofSetColor(255,255,255); + ofRect(0,0,screenWidth, screenHeight); + + float maximum = drumTracker.tempoDistribution.getMaximum(&drumTracker.tempoDistribution.likelihood[0], ARRAY_SIZE); + maximum = max(maximum, drumTracker.tempoDistribution.getMaximum(&drumTracker.tempoDistribution.prior[0], ARRAY_SIZE)); + maximum = max(maximum, drumTracker.tempoDistribution.getMaximum(&drumTracker.tempoDistribution.posterior[0], ARRAY_SIZE)); + + maximum *= 1.1; + + float stepHeight = screenHeight/maximum; + + //draw prior in green + ofSetColor(0x777777); + for (int i = 1; i < ARRAY_SIZE; i++){ + ofLine((i-1)*stepSize, screenHeight - (drumTracker.tempoDistribution.prior[i-1]*stepHeight), i*stepSize, screenHeight - (drumTracker.tempoDistribution.prior[i]*stepHeight)); + } + + + //draw posterior in dark + ofSetColor(0x000000); + for (int i = 1; i < ARRAY_SIZE; i++){ + ofLine((i-1)*stepSize, screenHeight - (drumTracker.tempoDistribution.posterior[i-1]*stepHeight), i*stepSize, screenHeight - (drumTracker.tempoDistribution.posterior[i]*stepHeight)); + } + + + //black line is the max probability + ofSetColor(0xFF0000); + ofLine(drumTracker.tempoDistribution.integratedEstimate *stepSize, screenHeight, drumTracker.tempoDistribution.integratedEstimate *stepSize, 0); + + //blue is the current kick received + ofSetColor(0xAAAAAA); + + + + + for (int k =1;k < screenHeight/12;k+=2){ + ofLine(stepSize*(ARRAY_SIZE * (tempoInterval-drumTracker.tempoMinimum)/(drumTracker.tempoMaximum - drumTracker.tempoMinimum)), 12*k, + stepSize*(ARRAY_SIZE * (tempoInterval-drumTracker.tempoMinimum)/(drumTracker.tempoMaximum - drumTracker.tempoMinimum)) , 12*(k-1)); + } + + drumTracker.tempoDistribution.setGaussianLikelihood(ARRAY_SIZE * (tempoInterval - drumTracker.tempoMinimum)/(drumTracker.tempoMaximum - drumTracker.tempoMinimum), drumTracker.tempoDistribution.likelihoodStdDev); + for (int i = 1; i < ARRAY_SIZE; i+=2){ + //dotted line likelihood fn + ofLine((i-1)*stepSize, screenHeight - (drumTracker.tempoDistribution.likelihood[i-1]*stepHeight), i*stepSize, screenHeight - (drumTracker.tempoDistribution.likelihood[i]*stepHeight)); + } + + + + + if (bSmooth){ + ofDisableSmoothing(); + } + +} + + + + +//-------------------------------------------------------------- +void testApp::keyPressed (int key){ + if (key == 's'){ + bSmooth = !bSmooth; + } + + if (key == 'x'){ + printInterval = !printInterval; + } + + + if (key == 'y'){ + drawData = !drawData; + } + + if (key == 'f'){ + ofToggleFullscreen(); + } + + if (key == 'h' || key == 'H'){ + hidePriorMode = !hidePriorMode;//drawData; + } + + + +if ( key =='a' || key == 'A' ) + { + + } + + if (key == ' '){ + drumTracker.paused = !drumTracker.paused; + } + + if (key == OF_KEY_RIGHT){ + screenToDraw++; + screenToDraw = screenToDraw % NUMBER_OF_SCREENS; + } + if (key == OF_KEY_LEFT){ + screenToDraw += NUMBER_OF_SCREENS - 1; + screenToDraw = screenToDraw % NUMBER_OF_SCREENS; + } + + if (key == ']') + drumTracker.beatDistribution.translateDistribution(ARRAY_SIZE / 4); + + if (key == '[') + drumTracker.beatDistribution.translateDistribution(-1*ARRAY_SIZE / 4); + + if (key == 'x'){ + bSnapshot = true; + } + + if (key == 'q') + drumTracker.adaptiveStandardDeviationMode = !drumTracker.adaptiveStandardDeviationMode; + +} + +/* +void testApp::sendMaxTempo(){ + ofxOscMessage m; + m.setAddress( "/tempo" ); + + //maxTempo = tempoDistribution.maximumIndex * (tempoMaximum - tempoMinimum) / ARRAY_SIZE; + //would be introduced new in bayesian8 + maxTempo = drumTracker.tempoDistribution.getIntegratedEstimateIndex() * (tempoMaximum - tempoMinimum) / ARRAY_SIZE; + maxTempo += tempoMinimum; + + + m.addFloatArg( maxTempo ); + sender.sendMessage( m ); + + printf("max tempo %f\n", maxTempo); + +} + +void testApp::sendMaxPhase(){ + + + // maxPhase = (beatDistribution.maximumIndex - (ARRAY_SIZE/2)) / ARRAY_SIZE; + maxPhase = (drumTracker.beatDistribution.getIntegratedEstimateIndex() - (ARRAY_SIZE/2)) / ARRAY_SIZE; + printf("\nphase index %f :: %i\n", drumTracker.beatDistribution.integratedEstimate , maxPhase); + ofxOscMessage m; + m.setAddress( "/phase" ); + m.addFloatArg( maxPhase ); + sender.sendMessage( m ); + + //beatCorrection = maxPhase * beatTimes.tatum / 4; +} + */ +//-------------------------------------------------------------- +void testApp::keyReleased (int key){ + +} + +//-------------------------------------------------------------- +void testApp::mouseMoved(int x, int y ){ + + mouseBPM = convertToBPM(drumTracker.tempoMinimum+ ((x * (drumTracker.tempoMaximum - drumTracker.tempoMinimum) ) / ofGetWidth() )) ; +} + +//-------------------------------------------------------------- +void testApp::mouseDragged(int x, int y, int button){ +} + +//-------------------------------------------------------------- +void testApp::mousePressed(int x, int y, int button){ +} + + +//-------------------------------------------------------------- +void testApp::mouseReleased(int x, int y, int button){ + +} + +//-------------------------------------------------------------- +void testApp::windowResized(int w, int h){ + screenWidth = ofGetWidth(); + screenHeight = ofGetHeight(); + stepSize = screenWidth / (float)(ARRAY_SIZE); +} + +double testApp::convertToBPM(double interval){ +//interval is in ms and is the tatum interval - eighth nbote - so 250ms for 120bpm +return (30000/interval); + +} +/* +noyt needed? +float testApp::tempoIndexToMsec(int index){ +float msec; +msec = index * (tempoMaximum - tempoMinimum) / ARRAY_SIZE; +msec += tempoMinimum; +return msec; +} + +float testApp::beatIndexToMsec(int index){ +float msec; +msec = index * maxTempo / ARRAY_SIZE; +msec += tempoMinimum; +return msec; +} +*/ +/* + + bool testApp::filterBeatTime(double newBeatTime){ + bool newBeatFound = false; + if ((newBeatTime - beatTimes.lastBeatTime) > 20 || beatTimes.lastBeatTime == 0){ + + crossUpdateArrays((float)(newBeatTime - beatTimes.lastBeatTime)); + beatTimes.lastBeatTime = newBeatTime; + newBeatFound = true; + } + return newBeatFound; + } + + void testApp::crossUpdateArrays(float timeInterval){ + + int finalBeatIndex, tmpTempoIndex, startBeatIndex; + //finalBeat has contribution from BEAT[finalBeat + INT.k] * TEMPO[Max_tempo + k] where INT = INTERVAL + float interval; + interval = timeInterval / maxTempo;//beatTimes.tatum; + tempoDistribution.resetMaximumPosterior(); + beatDistribution.resetMaximumPosterior(); + + + int tmpBeatIndex; + //&& interval > 0.8 idea? + if (timeInterval > 0 && timeInterval < 12000 ){//need between 0 and 12 seconds only to update + + for (tmpBeatIndex = 0;tmpBeatIndex < ARRAY_SIZE;tmpBeatIndex++){ + + tmpArray[tmpBeatIndex] = 0; + float minusMsecToMakeUp = beatIndexToMsec(tmpBeatIndex) / interval; + float plusMsecToMakeUp = beatIndexToMsec(ARRAY_SIZE - tmpBeatIndex) / interval; + float convertMsecToTempoIndex = ARRAY_SIZE / (tempoMaximum - tempoMinimum) ; + + + int minTempoIndex = -1 * (int)(minusMsecToMakeUp * convertMsecToTempoIndex); + int maxTempoIndex = (int)(plusMsecToMakeUp * convertMsecToTempoIndex); + + + if (tmpBeatIndex == beatDistribution.maximumIndex){ + minTmpDebug = tempoDistribution.maximumIndex + minTempoIndex; + maxTmpDebug = tempoDistribution.maximumIndex + maxTempoIndex; + debugArray[0] = beatDistribution.maximumIndex;// + debugArray[1] = timeInterval; + debugArray[2] = interval;//beatDistribution.maximumIndex; + debugArray[3] = tempoDistribution.maximumIndex; + } + + for (tmpTempoIndex = minTempoIndex;tmpTempoIndex <= maxTempoIndex;tmpTempoIndex++){ + + if ((tempoDistribution.maximumIndex + tmpTempoIndex) >= 0 + && (tempoDistribution.maximumIndex + tmpTempoIndex) < ARRAY_SIZE + && (tmpBeatIndex - (int)(interval*tmpTempoIndex)) >= 0 + && (tmpBeatIndex - (int)(interval*tmpTempoIndex))< ARRAY_SIZE){ + tmpArray[tmpBeatIndex] += beatDistribution.posterior[tmpBeatIndex - (int)(interval*tmpTempoIndex)] * tempoDistribution.posterior[(int)tempoDistribution.maximumIndex + tmpTempoIndex]; + } + }//end for tmpTmepo + + + + } + + float tmpFloat; + for (tmpBeatIndex = 0;tmpBeatIndex < ARRAY_SIZE;tmpBeatIndex++){ + //debug - dont actually update:: + + tmpFloat = beatDistribution.posterior[tmpBeatIndex]; + beatDistribution.posterior[tmpBeatIndex] = tmpArray[tmpBeatIndex]; + tmpArray[tmpBeatIndex] = tmpFloat; + } + beatDistribution.renormaliseArray(&beatDistribution.posterior[0], ARRAY_SIZE); + + } //end if + + + } + + + void testApp::updateTempoProcess(double cpuTime, string onsetDescription){ + + if (filterBeatTime(cpuTime) == true){ + //checks for no repeat + + if (onsetDescription == "kick") + beatTimes.addBeatTime(cpuTime, 1); + else + beatTimes.addBeatTime(cpuTime, 2); + + + //recalculate the distribution + int altIndex = 0; + + tempoDataString = "Tatum :"; + tempoDataString += ofToString(beatTimes.tatum, 2); + tempoDataString += " BPM "; + tempoDataString += ofToString((double)30000/beatTimes.tatum, 2); + + timeString = "Last BEAT "; + timeString += ofToString(beatTimes.lastBeatTime); + timeString += " CLICK "; + timeString += ofToString(beatTimes.lastClickTime); + timeString += " DIFDF "; + timeString += ofToString(beatTimes.timeDifference); + timeString += " segment "; + timeString += ofToString(beatTimes.beatSegment); + + + for (altIndex = 0;altIndex< 16;altIndex++){ + tempoInterval = beatTimes.intervalDifferences[beatTimes.index][altIndex]; + integerMultipleOfTatum = beatTimes.relativeIntervals[altIndex][1]; + + + ///NEW VERSION + tempoUpdateStrings[altIndex] = ""; + double timeInterval = beatTimes.beatTimes[beatTimes.index] - beatTimes.beatTimes[altIndex]; + //raw time difference + beatTimes.intervalDifferences[beatTimes.index][altIndex] = 0; + beatTimes.intervalUsed[beatTimes.index][altIndex] = false; + + if (onsetType == "kick") + beatTimes.OnsetIsKick[beatTimes.index] = true; + else + beatTimes.OnsetIsKick[beatTimes.index] = false; + + + + if (!accompanimentStarted){ + //if we need to find tempo and start use this method + //we have 'started' once std dev is sufficiently low + + updateTempoIfWithinRange(timeInterval);//taken as being the tatum interval + + + + for (int i = 1;i <= 4;i++){ + //we test the main beats and the two bar (16 tatum intervals) + + double testInterval = timeInterval / 2*i;//pow(2, i);//pow(2.0, i); + + if (updateTempoIfWithinRange(testInterval)){ + printf("test time %f, beats %i\n", testInterval, i); + + beatTimes.intervalUsed[beatTimes.index][altIndex] = true; + beatTimes.intervalDifferences[beatTimes.index][altIndex] = testInterval; + //xx what if two within range here? + + tempoUpdateStrings[altIndex] = "Tempo Updates ("; + tempoUpdateStrings[altIndex] += ofToString(beatTimes.index, 0); + tempoUpdateStrings[altIndex] += ") : ["; + tempoUpdateStrings[altIndex] += ofToString(altIndex); + tempoUpdateStrings[altIndex] += "]] : "; + tempoUpdateStrings[altIndex] += ofToString(timeInterval); + tempoUpdateStrings[altIndex] += ", ioi:"; + tempoUpdateStrings[altIndex] += ofToString(i); + //tempoUpdateStrings[altIndex] += ""; + + } + + } + + double testInterval = timeInterval / 16;//pow(2, i);//pow(2.0, i); + if (updateTempoIfWithinRange(testInterval)){ + beatTimes.intervalUsed[beatTimes.index][altIndex] = true; + beatTimes.intervalDifferences[beatTimes.index][altIndex] = testInterval; + } + + }else{ + //OLD VERSON + //THIS USES THE CURRENT TEMPO ESTIMATE TO DECIDE WHAT THE BEST INTERVAL IS + //&& integerMultipleOfTatum % 2 == 0 removed below XXX put back + if (altIndex != beatTimes.index && integerMultipleOfTatum < 17 + && integerMultipleOfTatum > 0 && beatTimes.startIndex > 8//beattimes.index > 8 - the start + && integerMultipleOfTatum%2 == 0){//mod 2 - i.e. proper beat intervals only + + double testInterval = timeInterval / integerMultipleOfTatum; + + if (updateTempoIfWithinRange(testInterval)){ + + beatTimes.intervalUsed[beatTimes.index][altIndex] = true; + beatTimes.intervalDifferences[beatTimes.index][altIndex] = testInterval; + + if (paused == false){ + tempoUpdateStrings[altIndex] = "Tempo Updates : ("; + tempoUpdateStrings[altIndex] += ofToString(beatTimes.index, 0); + tempoUpdateStrings[altIndex] += ") : ["; + tempoUpdateStrings[altIndex] += ofToString(altIndex, 0); + tempoUpdateStrings[altIndex] += "] :: "; + tempoUpdateStrings[altIndex] += ofToString(integerMultipleOfTatum); + tempoUpdateStrings[altIndex] += " intervals :: "; + tempoUpdateStrings[altIndex] += ofToString(tempoInterval); + tempoUpdateStrings[altIndex] += " ms."; + // tempoUpdateStrings[altIndex] += ", ioi:"; + + // tempoUpdateStrings[altIndex] += ofToString(integerMultipleOfTatum); + + + + + }//end if not paused + + + }//end if good interval to update + + }//end if not same index etc + + + } + + + + }//end for all intervals + + sendMaxTempo(); + }//end if new beat time + double tempoEstimate = tempoDistribution.getIntegratedEstimateIndex(); + tempoDistribution.calculateStandardDeviation(); + tempoStdDev = tempoDistribution.standardDeviation; + + } + + + bool testApp::updateTempoIfWithinRange(double timeInterval){ + + bool updated = false; + + if (timeInterval > tempoMinimum && timeInterval < tempoMaximum ){ + calculateTempoUpdate(timeInterval); + updated = true; + } + + return updated; + } + + + */ +//end +/* +void testApp::calculateTempoUpdate(double tempoInterval){ + + + tempoDistribution.resetPrior(); + //need to relook at likelihood for the tempo distribution - not the same as.... + tempoDistribution.setGaussianLikelihood(ARRAY_SIZE * (tempoInterval-tempoMinimum)/(tempoMaximum - tempoMinimum), tempoDistribution.likelihoodStdDev); + tempoDistribution.calculatePosterior(); + tempoDistribution.renormalisePosterior(); + + //did take pic of screen here - see initialiser4 +} +*/ + diff -r 690ec1eb8180 -r c49a8f33afab newOFsrc/testApp.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/newOFsrc/testApp.h Wed Feb 22 22:16:48 2012 +0000 @@ -0,0 +1,160 @@ +#ifndef _TEST_APP +#define _TEST_APP + + + +#include "ofMain.h" +#include "ofxOsc.h" +//#include "bayesianArray.h" +//#include "beatTempo.h" +#include "BayesDrumTracker.h" + +// listen on port 12345 +#define PORT 12345 +#define NUM_MSG_STRINGS 45 +#define HOST "localhost" +#define ARRAY_SIZE 240//need to replace this with const int in drumtracker + +#define NUMBER_OF_SCREENS 8 + +class testApp : public ofBaseApp{ + + public: + + void setup(); + void update(); + void draw(); + void drawBayesianDistribution(); + void drawTempoData(); + void drawTempoDistribution(); + void drawRestrictedTempoDistribution(int tmpMin, int tmpMax); + + void drawBeatMap(); + void drawNormalisedLikelihood(); + void drawBeatProbabilityDistribution(); + void drawPosterior(); + void printBayesianData(); + void drawGreyscaleBayesianDistribution(); + void drawGreyscaleTempoDistribution(double tempoInterval); + void drawTempoInfo(); + + void resetParameters(); + void takePictureOfScreen(); + + void crossUpdateArrays(float timeInterval); + void updateTempoProcess(double cpuTime, string onsetType); + + void sendMaxTempo(); + void sendMaxPhase(); + double convertToBPM(double interval); + bool filterBeatTime(double newBeatTime); + +// float beatIndexToMsec(int index); +// float tempoIndexToMsec(int index); + + void keyPressed(int key); + void keyReleased(int key); + void mouseMoved(int x, int y ); + void mouseDragged(int x, int y, int button); + void mousePressed(int x, int y, int button); + void mouseReleased(int x, int y, int button); + void windowResized(int w, int h); + + void setGaussianLikelihood(float mean, float StdDev); + void setGaussianPrior(float mean, float StdDev); + void calculatePosterior(); + void renormalisePosterior(); + float getMaximum(float *ptr, int length); + void renormaliseArray(float *ptr, int length); + void updateOSCmessages(); + void resetPrior(); + void decayPosterior(); + void translateDistribution(int translationIndex); + void setBeatDistribution(int beatPosition); + void calculateTempoUpdate(double tempoInterval); + bool updateTempoIfWithinRange(double timeInterval); + + float* getMaximumEstimate(float *ptr, int length); + void drawTempoDataPoints(const int& tmpMin, const int& tmpMax, const float& tmpStepSize); + int xcoordinateFromTempoDataPoint(float f); + int xcoordinateFromRestrictedTempoDataPoint(float f, const int& tmpMin, const int& tmpMax); + + float arrayToMsecScaleFactor;// = (tempoMaximum - tempoMinimum)/ ARRAY_SIZE;//turns array into ms + + + + int tempoWindowMinimum, tempoWindowMaximum, tempoWindowWidth; + + ofTrueTypeFont font; + + ofxOscReceiver receiver; + string msg_string, debugString, kickString; + + bool bSmooth; + // float kickError, snareError; + // float testArray[5]; + + // float prior [ARRAY_SIZE]; + // float posterior [ARRAY_SIZE]; + // float likelihood [ARRAY_SIZE]; + // float likelihoodMean, likelihoodStdDev, likelihoodNoise, stepSize; + // float maximumEstimate; + // float maximumTest, posteriorDecayRate, maximumIndex; + // float eighthNoteProportion; + + float stepSize; + int screenWidth, screenHeight; + + bool printInterval, paused; + bool drawData, hidePriorMode; + + + /* + bayesianArray beatDistribution; + + double tempoMinimum, tempoMaximum; + double tempoInterval; + beatTempo beatTimes; +*/ + //double tempoInterval; + float mouseBPM; +// int correctBeatBy; +// string tempoUpdateStrings[16]; +// string tempoDataString; + + double KLdiv; + private: + + // ofxOscSender sender; + + //float noiseFactor, stdDevFactor; + // int minTmpDebug, maxTmpDebug; + + // float correctionFactor; + + + +// string onsetType; +// string timeString; +// double cpuBeatTime; + +// double cpuClockTime; + int screenToDraw; +// double posteriorMaximum; +// bool adaptiveStandardDeviationMode; + + bool bSnapshot; + int snapCounter; + ofImage img; + + // double tempoStdDev; +// bool accompanimentStarted; +// bool setDistributionOnStartTempo; +// int integerMultipleOfTatum; + + BayesDrumTracker drumTracker; + +}; + +#endif +