{ "patcher" : { "fileversion" : 1, "rect" : [ 739.0, 169.0, 618.0, 611.0 ], "bglocked" : 0, "defrect" : [ 739.0, 169.0, 618.0, 611.0 ], "openrect" : [ 0.0, 0.0, 0.0, 0.0 ], "openinpresentation" : 1, "default_fontsize" : 10.0, "default_fontface" : 0, "default_fontname" : "Arial Bold", "gridonopen" : 0, "gridsize" : [ 8.0, 8.0 ], "gridsnaponopen" : 0, "toolbarvisible" : 1, "boxanimatetime" : 200, "imprint" : 0, "enablehscroll" : 1, "enablevscroll" : 1, "devicewidth" : 0.0, "boxes" : [ { "box" : { "maxclass" : "newobj", "text" : "route bang", "numoutlets" : 2, "fontsize" : 10.0, "outlettype" : [ "", "" ], "patching_rect" : [ 128.0, 248.0, 62.0, 18.0 ], "id" : "obj-22", "fontname" : "Arial Bold", "numinlets" : 1 } } , { "box" : { "maxclass" : "comment", "text" : "-->", "numoutlets" : 0, "fontsize" : 10.0, "patching_rect" : [ 392.0, 488.0, 22.0, 18.0 ], "id" : "obj-37", "fontname" : "Arial", "numinlets" : 1 } } , { "box" : { "maxclass" : "comment", "text" : "the restore of the correct menu index has to wait until the menu is filled completely with all device names", "linecount" : 7, "numoutlets" : 0, "fontsize" : 10.0, "patching_rect" : [ 328.0, 488.0, 83.0, 87.0 ], "id" : "obj-34", "fontname" : "Arial", "numinlets" : 1 } } , { "box" : { "maxclass" : "newobj", "text" : "t b l", "numoutlets" : 2, "fontsize" : 10.0, "outlettype" : [ "bang", "" ], "patching_rect" : [ 192.0, 336.0, 34.5, 18.0 ], "id" : "obj-28", "fontname" : "Arial Bold", "numinlets" : 1 } } , { "box" : { "maxclass" : "comment", "text" : "<------------", "numoutlets" : 0, "fontsize" : 10.0, "patching_rect" : [ 368.0, 248.0, 54.0, 18.0 ], "id" : "obj-26", "fontname" : "Arial", "numinlets" : 1 } } , { "box" : { "maxclass" : "comment", "text" : "every time the live.object receives a new id we ask it for its path and save this path with the set to restore the correct device assignment", "linecount" : 6, "numoutlets" : 0, "fontsize" : 10.0, "patching_rect" : [ 440.0, 192.0, 136.0, 75.0 ], "id" : "obj-25", "fontname" : "Arial", "numinlets" : 1 } } , { "box" : { "maxclass" : "comment", "text" : "we save the selected menu index with our live set", "linecount" : 3, "numoutlets" : 0, "fontsize" : 10.0, "patching_rect" : [ 440.0, 416.0, 111.0, 41.0 ], "id" : "obj-32", "fontname" : "Arial", "numinlets" : 1 } } , { "box" : { "maxclass" : "newobj", "text" : "int", "numoutlets" : 1, "fontsize" : 10.0, "outlettype" : [ "int" ], "patching_rect" : [ 416.0, 488.0, 34.5, 18.0 ], "id" : "obj-21", "fontname" : "Arial Bold", "numinlets" : 2 } } , { "box" : { "maxclass" : "newobj", "text" : "prepend set", "numoutlets" : 1, "fontsize" : 10.0, "outlettype" : [ "" ], "patching_rect" : [ 416.0, 512.0, 67.0, 18.0 ], "id" : "obj-20", "fontname" : "Arial Bold", "numinlets" : 1 } } , { "box" : { "maxclass" : "newobj", "varname" : "selected-device-index", "text" : "M4L.api.SaveInteger", "numoutlets" : 1, "color" : [ 0.545098, 0.85098, 0.592157, 1.0 ], "fontsize" : 10.0, "outlettype" : [ "int" ], "patching_rect" : [ 432.0, 456.0, 107.0, 18.0 ], "id" : "obj-19", "fontname" : "Arial Bold", "numinlets" : 1 } } , { "box" : { "maxclass" : "message", "text" : "getpath", "numoutlets" : 1, "fontsize" : 10.0, "outlettype" : [ "" ], "patching_rect" : [ 224.0, 168.0, 47.0, 16.0 ], "id" : "obj-18", "fontname" : "Arial Bold", "numinlets" : 2 } } , { "box" : { "maxclass" : "newobj", "varname" : "M4L.api.SaveLivePath", "text" : "M4L.api.SaveLivePath", "numoutlets" : 2, "color" : [ 0.545098, 0.85098, 0.592157, 1.0 ], "fontsize" : 10.0, "outlettype" : [ "", "" ], "patching_rect" : [ 224.0, 248.0, 116.0, 18.0 ], "id" : "obj-16", "fontname" : "Arial Bold", "numinlets" : 1 } } , { "box" : { "maxclass" : "comment", "text" : "gets the parameter names for all parameters\n\n look at what is inside by double clicking (locked) or Cmd/Ctrl-Double-Click (unlocked)", "linecount" : 9, "numoutlets" : 0, "fontsize" : 10.0, "patching_rect" : [ 16.0, 304.0, 97.0, 110.0 ], "id" : "obj-14", "fontname" : "Arial", "numinlets" : 1 } } , { "box" : { "maxclass" : "comment", "text" : "-->", "numoutlets" : 0, "fontsize" : 10.0, "patching_rect" : [ 104.0, 304.0, 22.0, 18.0 ], "id" : "obj-6", "fontname" : "Arial", "numinlets" : 1 } } , { "box" : { "maxclass" : "comment", "text" : "ask for a list of all parameter ids", "linecount" : 2, "numoutlets" : 0, "fontsize" : 10.0, "patching_rect" : [ 16.0, 200.0, 92.0, 29.0 ], "id" : "obj-5", "fontname" : "Arial", "numinlets" : 1 } } , { "box" : { "maxclass" : "comment", "text" : "-->", "numoutlets" : 0, "fontsize" : 10.0, "patching_rect" : [ 104.0, 200.0, 22.0, 18.0 ], "id" : "obj-2", "fontname" : "Arial", "numinlets" : 1 } } , { "box" : { "maxclass" : "comment", "prototypename" : "ML.patcher-summary", "text" : "Build a menu of all available parameters. ", "numoutlets" : 0, "fontsize" : 11.0, "patching_rect" : [ 232.0, 24.0, 224.0, 19.0 ], "id" : "obj-49", "fontname" : "Arial Bold Italic", "numinlets" : 1 } } , { "box" : { "maxclass" : "comment", "prototypename" : "ML.subpatcher-title", "text" : "Select Parameter", "textcolor" : [ 0.3, 0.34, 0.4, 1.0 ], "numoutlets" : 0, "fontsize" : 24.0, "frgb" : [ 0.3, 0.34, 0.4, 1.0 ], "patching_rect" : [ 16.0, 16.0, 218.0, 34.0 ], "id" : "obj-1", "fontname" : "Arial Bold Italic", "numinlets" : 1 } } , { "box" : { "maxclass" : "comment", "prototypename" : "ML.patcher-story", "text" : "Creates a list of all available parameters and fills it into an ubumenu. Use this patch inside a bpatcher object to display the menu. Outputs the id of the selected parameter (to be input in a M4L.api.SelectDeviceParameter object).", "linecount" : 3, "numoutlets" : 0, "fontsize" : 11.0, "patching_rect" : [ 16.0, 48.0, 555.0, 44.0 ], "id" : "obj-50", "fontname" : "Arial Italic", "numinlets" : 1 } } , { "box" : { "maxclass" : "outlet", "prototypename" : "M4L.Arial10", "numoutlets" : 0, "patching_rect" : [ 200.0, 552.0, 18.0, 18.0 ], "id" : "obj-52", "numinlets" : 1, "comment" : "" } } , { "box" : { "maxclass" : "inlet", "prototypename" : "M4L.Arial10", "numoutlets" : 1, "outlettype" : [ "" ], "patching_rect" : [ 128.0, 104.0, 18.0, 18.0 ], "id" : "obj-51", "numinlets" : 0, "comment" : "" } } , { "box" : { "maxclass" : "message", "text" : "clear", "numoutlets" : 1, "fontsize" : 10.0, "outlettype" : [ "" ], "patching_rect" : [ 416.0, 304.0, 35.0, 16.0 ], "id" : "obj-107", "fontname" : "Arial Bold", "numinlets" : 2 } } , { "box" : { "maxclass" : "umenu", "numoutlets" : 3, "arrowframe" : 0, "fontsize" : 8.0, "outlettype" : [ "int", "", "" ], "presentation_rect" : [ 2.0, 2.0, 48.0, 16.0 ], "items" : [ ], "patching_rect" : [ 208.0, 384.0, 100.0, 16.0 ], "types" : [ ], "presentation" : 1, "id" : "obj-105", "fontname" : "Arial Bold", "arrow" : 0, "numinlets" : 1 } } , { "box" : { "maxclass" : "newobj", "text" : "route parameters path", "numoutlets" : 3, "fontsize" : 10.0, "outlettype" : [ "", "", "" ], "patching_rect" : [ 128.0, 224.0, 211.0, 18.0 ], "id" : "obj-15", "fontname" : "Arial Bold", "numinlets" : 1 } } , { "box" : { "maxclass" : "message", "text" : "get parameters", "numoutlets" : 1, "fontsize" : 10.0, "outlettype" : [ "" ], "patching_rect" : [ 128.0, 168.0, 83.0, 16.0 ], "id" : "obj-13", "fontname" : "Arial Bold", "numinlets" : 2 } } , { "box" : { "maxclass" : "newobj", "text" : "t b b l b", "numoutlets" : 4, "fontsize" : 10.0, "outlettype" : [ "bang", "bang", "", "bang" ], "patching_rect" : [ 128.0, 136.0, 306.5, 18.0 ], "id" : "obj-12", "fontname" : "Arial Bold", "numinlets" : 1 } } , { "box" : { "maxclass" : "newobj", "text" : "live.object", "numoutlets" : 1, "color" : [ 0.984314, 0.819608, 0.05098, 1.0 ], "fontsize" : 10.0, "outlettype" : [ "" ], "patching_rect" : [ 128.0, 200.0, 211.0, 18.0 ], "id" : "obj-8", "fontname" : "Arial Bold", "numinlets" : 2 } } , { "box" : { "maxclass" : "newobj", "text" : "prepend id", "numoutlets" : 1, "fontsize" : 10.0, "outlettype" : [ "" ], "patching_rect" : [ 200.0, 520.0, 63.0, 18.0 ], "id" : "obj-11", "fontname" : "Arial Bold", "numinlets" : 1 } } , { "box" : { "maxclass" : "newobj", "text" : "zl mth", "numoutlets" : 2, "fontsize" : 10.0, "outlettype" : [ "", "" ], "patching_rect" : [ 200.0, 496.0, 41.0, 18.0 ], "id" : "obj-10", "fontname" : "Arial Bold", "numinlets" : 2 } } , { "box" : { "maxclass" : "newobj", "text" : "t b i i", "numoutlets" : 3, "fontsize" : 10.0, "outlettype" : [ "bang", "int", "int" ], "patching_rect" : [ 208.0, 416.0, 46.0, 18.0 ], "id" : "obj-9", "fontname" : "Arial Bold", "numinlets" : 1 } } , { "box" : { "maxclass" : "newobj", "text" : "zl 666 delace", "numoutlets" : 2, "fontsize" : 10.0, "outlettype" : [ "", "" ], "patching_rect" : [ 280.0, 304.0, 80.0, 18.0 ], "id" : "obj-7", "fontname" : "Arial Bold", "numinlets" : 2 } } , { "box" : { "maxclass" : "newobj", "text" : "t l l", "numoutlets" : 2, "fontsize" : 10.0, "outlettype" : [ "", "" ], "patching_rect" : [ 128.0, 272.0, 33.0, 18.0 ], "id" : "obj-4", "fontname" : "Arial Bold", "numinlets" : 1 } } , { "box" : { "maxclass" : "message", "numoutlets" : 1, "fontsize" : 10.0, "outlettype" : [ "" ], "patching_rect" : [ 192.0, 464.0, 168.0, 16.0 ], "id" : "obj-3", "fontname" : "Arial Bold", "numinlets" : 2 } } , { "box" : { "maxclass" : "newobj", "text" : "M4L.api.GetParameterNames", "numoutlets" : 2, "color" : [ 0.545098, 0.85098, 0.592157, 1.0 ], "fontsize" : 10.0, "outlettype" : [ "", "" ], "patching_rect" : [ 128.0, 304.0, 149.0, 18.0 ], "id" : "obj-17", "fontname" : "Arial Bold", "numinlets" : 1 } } ], "lines" : [ { "patchline" : { "source" : [ "obj-22", 1 ], "destination" : [ "obj-4", 0 ], "hidden" : 0, "midpoints" : [ ] } } , { "patchline" : { "source" : [ "obj-15", 0 ], "destination" : [ "obj-22", 0 ], "hidden" : 0, "midpoints" : [ ] } } , { "patchline" : { "source" : [ "obj-28", 0 ], "destination" : [ "obj-21", 0 ], "hidden" : 0, "midpoints" : [ 201.5, 365.0, 425.5, 365.0 ] } } , { "patchline" : { "source" : [ "obj-16", 0 ], "destination" : [ "obj-12", 0 ], "hidden" : 0, "midpoints" : [ 233.5, 271.0, 437.0, 271.0, 437.0, 128.0, 137.5, 128.0 ] } } , { "patchline" : { "source" : [ "obj-17", 1 ], "destination" : [ "obj-28", 0 ], "hidden" : 0, "midpoints" : [ ] } } , { "patchline" : { "source" : [ "obj-28", 1 ], "destination" : [ "obj-105", 0 ], "hidden" : 0, "midpoints" : [ ] } } , { "patchline" : { "source" : [ "obj-15", 1 ], "destination" : [ "obj-16", 0 ], "hidden" : 0, "midpoints" : [ ] } } , { "patchline" : { "source" : [ "obj-9", 2 ], "destination" : [ "obj-19", 0 ], "hidden" : 0, "midpoints" : [ ] } } , { "patchline" : { "source" : [ "obj-19", 0 ], "destination" : [ "obj-21", 1 ], "hidden" : 0, "midpoints" : [ ] } } , { "patchline" : { "source" : [ "obj-20", 0 ], "destination" : [ "obj-105", 0 ], "hidden" : 0, "midpoints" : [ 425.5, 536.0, 551.0, 536.0, 551.0, 375.0, 217.5, 375.0 ] } } , { "patchline" : { "source" : [ "obj-8", 0 ], "destination" : [ "obj-15", 0 ], "hidden" : 0, "midpoints" : [ ] } } , { "patchline" : { "source" : [ "obj-18", 0 ], "destination" : [ "obj-8", 0 ], "hidden" : 0, "midpoints" : [ ] } } , { "patchline" : { "source" : [ "obj-12", 1 ], "destination" : [ "obj-18", 0 ], "hidden" : 0, "midpoints" : [ ] } } , { "patchline" : { "source" : [ "obj-12", 2 ], "destination" : [ "obj-8", 1 ], "hidden" : 0, "midpoints" : [ ] } } , { "patchline" : { "source" : [ "obj-12", 3 ], "destination" : [ "obj-107", 0 ], "hidden" : 0, "midpoints" : [ ] } } , { "patchline" : { "source" : [ "obj-51", 0 ], "destination" : [ "obj-12", 0 ], "hidden" : 0, "midpoints" : [ ] } } , { "patchline" : { "source" : [ "obj-12", 0 ], "destination" : [ "obj-13", 0 ], "hidden" : 0, "midpoints" : [ ] } } , { "patchline" : { "source" : [ "obj-11", 0 ], "destination" : [ "obj-52", 0 ], "hidden" : 0, "midpoints" : [ ] } } , { "patchline" : { "source" : [ "obj-13", 0 ], "destination" : [ "obj-8", 0 ], "hidden" : 0, "midpoints" : [ ] } } , { "patchline" : { "source" : [ "obj-107", 0 ], "destination" : [ "obj-105", 0 ], "hidden" : 0, "midpoints" : [ ] } } , { "patchline" : { "source" : [ "obj-3", 0 ], "destination" : [ "obj-10", 0 ], "hidden" : 0, "midpoints" : [ ] } } , { "patchline" : { "source" : [ "obj-10", 0 ], "destination" : [ "obj-11", 0 ], "hidden" : 0, "midpoints" : [ ] } } , { "patchline" : { "source" : [ "obj-21", 0 ], "destination" : [ "obj-20", 0 ], "hidden" : 0, "midpoints" : [ ] } } , { "patchline" : { "source" : [ "obj-9", 0 ], "destination" : [ "obj-3", 0 ], "hidden" : 0, "midpoints" : [ ] } } , { "patchline" : { "source" : [ "obj-9", 1 ], "destination" : [ "obj-10", 1 ], "hidden" : 0, "midpoints" : [ ] } } , { "patchline" : { "source" : [ "obj-105", 0 ], "destination" : [ "obj-9", 0 ], "hidden" : 0, "midpoints" : [ ] } } , { "patchline" : { "source" : [ "obj-7", 1 ], "destination" : [ "obj-3", 1 ], "hidden" : 0, "midpoints" : [ ] } } , { "patchline" : { "source" : [ "obj-4", 1 ], "destination" : [ "obj-7", 0 ], "hidden" : 0, "midpoints" : [ ] } } , { "patchline" : { "source" : [ "obj-4", 0 ], "destination" : [ "obj-17", 0 ], "hidden" : 0, "midpoints" : [ ] } } ], "parameters" : { "obj-16::obj-14" : [ "live-path", "live-path", 0 ], "obj-19::obj-19" : [ "saved-int", "saved-int", 0 ] } } }