]> git.dabkitsch.com - sonogarden_maxproj.git/commitdiff
added mira gain adjustment, updated keyboard display, verbose printing, loadbang...
authorequilet <2237372+equilet@users.noreply.github.com>
Wed, 21 May 2025 20:42:58 +0000 (13:42 -0700)
committerequilet <2237372+equilet@users.noreply.github.com>
Wed, 21 May 2025 20:42:58 +0000 (13:42 -0700)
_sonogarden.maxpat

index 80133119b79c1d368576f6648329f5e8824c3fb6..bd7b373effd4102c78a5b80542256ae01cdfd1c8 100644 (file)
                "openinpresentation" : 1,
                "gridsize" : [ 15.0, 15.0 ],
                "boxes" : [                     {
+                               "box" :                                 {
+                                       "id" : "obj-153",
+                                       "maxclass" : "comment",
+                                       "numinlets" : 1,
+                                       "numoutlets" : 0,
+                                       "patching_rect" : [ 924.0, 600.0, 150.0, 20.0 ],
+                                       "presentation" : 1,
+                                       "presentation_rect" : [ 1155.0, 808.0, 150.0, 20.0 ],
+                                       "text" : "enable verbose printing"
+                               }
+
+                       }
+,                      {
+                               "box" :                                 {
+                                       "id" : "obj-151",
+                                       "maxclass" : "newobj",
+                                       "numinlets" : 1,
+                                       "numoutlets" : 0,
+                                       "patching_rect" : [ 650.0, 551.0, 37.0, 22.0 ],
+                                       "text" : "s osc"
+                               }
+
+                       }
+,                      {
+                               "box" :                                 {
+                                       "id" : "obj-150",
+                                       "maxclass" : "newobj",
+                                       "numinlets" : 1,
+                                       "numoutlets" : 1,
+                                       "outlettype" : [ "FullPacket" ],
+                                       "patching_rect" : [ 650.0, 520.0, 93.0, 22.0 ],
+                                       "text" : "o.pack /verbose"
+                               }
+
+                       }
+,                      {
+                               "box" :                                 {
+                                       "bgcolor" : [ 0.501960784313725, 0.2, 0.2, 1.0 ],
+                                       "id" : "obj-149",
+                                       "maxclass" : "toggle",
+                                       "numinlets" : 1,
+                                       "numoutlets" : 1,
+                                       "outlettype" : [ "int" ],
+                                       "parameter_enable" : 1,
+                                       "patching_rect" : [ 650.0, 479.0, 24.0, 24.0 ],
+                                       "presentation" : 1,
+                                       "presentation_rect" : [ 1129.0, 806.0, 24.0, 24.0 ],
+                                       "saved_attribute_attributes" :                                  {
+                                               "valueof" :                                             {
+                                                       "parameter_enum" : [ "off", "on" ],
+                                                       "parameter_longname" : "toggle",
+                                                       "parameter_mmax" : 1,
+                                                       "parameter_modmode" : 0,
+                                                       "parameter_shortname" : "toggle",
+                                                       "parameter_type" : 2
+                                               }
+
+                                       }
+,
+                                       "varname" : "toggle"
+                               }
+
+                       }
+,                      {
+                               "box" :                                 {
+                                       "channels" : 8,
+                                       "id" : "obj-148",
+                                       "lastchannelcount" : 0,
+                                       "maxclass" : "live.gain~",
+                                       "numinlets" : 8,
+                                       "numoutlets" : 11,
+                                       "outlettype" : [ "signal", "signal", "signal", "signal", "signal", "signal", "signal", "signal", "", "float", "list" ],
+                                       "parameter_enable" : 1,
+                                       "patching_rect" : [ 77.0, 814.0, 206.0, 77.0 ],
+                                       "presentation" : 1,
+                                       "presentation_rect" : [ 639.0, 627.434070408344269, 89.0, 77.0 ],
+                                       "saved_attribute_attributes" :                                  {
+                                               "valueof" :                                             {
+                                                       "parameter_longname" : "master volume",
+                                                       "parameter_mmax" : 6.0,
+                                                       "parameter_mmin" : -70.0,
+                                                       "parameter_modmode" : 3,
+                                                       "parameter_shortname" : "master volume",
+                                                       "parameter_type" : 0,
+                                                       "parameter_unitstyle" : 4
+                                               }
+
+                                       }
+,
+                                       "varname" : "live.gain~"
+                               }
+
+                       }
+,                      {
+                               "box" :                                 {
+                                       "id" : "obj-144",
+                                       "maxclass" : "newobj",
+                                       "numinlets" : 1,
+                                       "numoutlets" : 1,
+                                       "outlettype" : [ "" ],
+                                       "patcher" :                                     {
+                                               "fileversion" : 1,
+                                               "appversion" :                                          {
+                                                       "major" : 9,
+                                                       "minor" : 0,
+                                                       "revision" : 6,
+                                                       "architecture" : "x64",
+                                                       "modernui" : 1
+                                               }
+,
+                                               "classnamespace" : "box",
+                                               "rect" : [ 59.0, 106.0, 785.0, 317.0 ],
+                                               "gridsize" : [ 15.0, 15.0 ],
+                                               "boxes" : [                                                     {
+                                                               "box" :                                                                 {
+                                                                       "comment" : "",
+                                                                       "id" : "obj-5",
+                                                                       "index" : 1,
+                                                                       "maxclass" : "outlet",
+                                                                       "numinlets" : 1,
+                                                                       "numoutlets" : 0,
+                                                                       "patching_rect" : [ 63.0, 200.0, 30.0, 30.0 ]
+                                                               }
+
+                                                       }
+,                                                      {
+                                                               "box" :                                                                 {
+                                                                       "id" : "obj-4",
+                                                                       "maxclass" : "newobj",
+                                                                       "numinlets" : 1,
+                                                                       "numoutlets" : 1,
+                                                                       "outlettype" : [ "bang" ],
+                                                                       "patching_rect" : [ 63.0, 73.0, 58.0, 22.0 ],
+                                                                       "text" : "loadbang"
+                                                               }
+
+                                                       }
+,                                                      {
+                                                               "box" :                                                                 {
+                                                                       "id" : "obj-3",
+                                                                       "maxclass" : "message",
+                                                                       "numinlets" : 2,
+                                                                       "numoutlets" : 1,
+                                                                       "outlettype" : [ "" ],
+                                                                       "patching_rect" : [ 63.0, 141.0, 633.0, 22.0 ],
+                                                                       "text" : "1. 1. 1. 0.23127 1."
+                                                               }
+
+                                                       }
+,                                                      {
+                                                               "box" :                                                                 {
+                                                                       "comment" : "",
+                                                                       "id" : "obj-1",
+                                                                       "index" : 1,
+                                                                       "maxclass" : "inlet",
+                                                                       "numinlets" : 0,
+                                                                       "numoutlets" : 1,
+                                                                       "outlettype" : [ "" ],
+                                                                       "patching_rect" : [ 174.0, 69.0, 30.0, 30.0 ]
+                                                               }
+
+                                                       }
+ ],
+                                               "lines" : [                                                     {
+                                                               "patchline" :                                                           {
+                                                                       "destination" : [ "obj-3", 1 ],
+                                                                       "source" : [ "obj-1", 0 ]
+                                                               }
+
+                                                       }
+,                                                      {
+                                                               "patchline" :                                                           {
+                                                                       "destination" : [ "obj-5", 0 ],
+                                                                       "source" : [ "obj-3", 0 ]
+                                                               }
+
+                                                       }
+,                                                      {
+                                                               "patchline" :                                                           {
+                                                                       "destination" : [ "obj-3", 0 ],
+                                                                       "source" : [ "obj-4", 0 ]
+                                                               }
+
+                                                       }
+ ]
+                                       }
+,
+                                       "patching_rect" : [ 681.0, 716.0, 50.0, 22.0 ],
+                                       "text" : "p saveit"
+                               }
+
+                       }
+,                      {
+                               "box" :                                 {
+                                       "fontface" : 0,
+                                       "id" : "obj-143",
+                                       "linecount" : 2,
+                                       "maxclass" : "o.display",
+                                       "numinlets" : 1,
+                                       "numoutlets" : 1,
+                                       "outlettype" : [ "" ],
+                                       "patching_rect" : [ 1157.0, 210.0, 150.0, 46.0 ],
+                                       "text" : "/voice/gain : 1.,\n/engine/gain : 0."
+                               }
+
+                       }
+,                      {
                                "box" :                                 {
                                        "id" : "obj-131",
                                        "maxclass" : "comment",
                                        "numoutlets" : 0,
                                        "patching_rect" : [ 569.0, 849.0, 150.0, 20.0 ],
                                        "presentation" : 1,
-                                       "presentation_rect" : [ 646.0, 661.5, 71.0, 20.0 ],
+                                       "presentation_rect" : [ 1478.0, 673.0, 71.0, 20.0 ],
                                        "text" : "launch mira",
                                        "textcolor" : [ 0.345098039215686, 1.0, 0.4, 1.0 ]
                                }
                                        "numoutlets" : 1,
                                        "outlettype" : [ "bang" ],
                                        "parameter_enable" : 1,
-                                       "patching_rect" : [ 269.0, 923.0, 24.0, 24.0 ],
+                                       "patching_rect" : [ 1077.0, 661.0, 24.0, 24.0 ],
                                        "presentation" : 1,
-                                       "presentation_rect" : [ 639.0, 628.5, 85.0, 85.0 ],
+                                       "presentation_rect" : [ 1471.0, 640.0, 85.0, 85.0 ],
                                        "saved_attribute_attributes" :                                  {
                                                "valueof" :                                             {
                                                        "parameter_enum" : [ "off", "on" ],
                                        "numinlets" : 2,
                                        "numoutlets" : 1,
                                        "outlettype" : [ "" ],
-                                       "patching_rect" : [ 269.0, 969.0, 269.0, 35.0 ],
+                                       "patching_rect" : [ 1077.0, 691.0, 269.0, 35.0 ],
                                        "text" : ";\rmax launchbrowser http://192.168.191.145:8086/"
                                }
 
                                        "outlettype" : [ "int" ],
                                        "parameter_enable" : 1,
                                        "patching_rect" : [ 916.0, 741.0, 24.0, 24.0 ],
-                                       "presentation" : 1,
-                                       "presentation_rect" : [ 462.0, 375.0, 24.0, 24.0 ],
                                        "saved_attribute_attributes" :                                  {
                                                "valueof" :                                             {
                                                        "parameter_enum" : [ "off", "on" ],
                                        "outlettype" : [ "int" ],
                                        "parameter_enable" : 1,
                                        "patching_rect" : [ 916.0, 715.0, 24.0, 24.0 ],
-                                       "presentation" : 1,
-                                       "presentation_rect" : [ 462.0, 314.0, 24.0, 24.0 ],
                                        "saved_attribute_attributes" :                                  {
                                                "valueof" :                                             {
                                                        "parameter_enum" : [ "off", "on" ],
                                        "outlettype" : [ "int" ],
                                        "parameter_enable" : 1,
                                        "patching_rect" : [ 916.0, 691.0, 24.0, 24.0 ],
-                                       "presentation" : 1,
-                                       "presentation_rect" : [ 462.0, 253.0, 24.0, 24.0 ],
                                        "saved_attribute_attributes" :                                  {
                                                "valueof" :                                             {
                                                        "parameter_enum" : [ "off", "on" ],
                                        "outlettype" : [ "int" ],
                                        "parameter_enable" : 1,
                                        "patching_rect" : [ 916.0, 665.0, 24.0, 24.0 ],
-                                       "presentation" : 1,
-                                       "presentation_rect" : [ 462.0, 192.0, 24.0, 24.0 ],
                                        "saved_attribute_attributes" :                                  {
                                                "valueof" :                                             {
                                                        "parameter_enum" : [ "off", "on" ],
                                        "outlettype" : [ "int" ],
                                        "parameter_enable" : 1,
                                        "patching_rect" : [ 916.0, 769.0, 24.0, 24.0 ],
-                                       "presentation" : 1,
-                                       "presentation_rect" : [ 462.0, 131.0, 24.0, 24.0 ],
                                        "saved_attribute_attributes" :                                  {
                                                "valueof" :                                             {
                                                        "parameter_enum" : [ "off", "on" ],
                                        "numoutlets" : 0,
                                        "patching_rect" : [ 962.0, 954.0, 150.0, 20.0 ],
                                        "presentation" : 1,
-                                       "presentation_rect" : [ 224.0, 395.0, 262.0, 20.0 ],
-                                       "text" : "stretcher engine",
+                                       "presentation_rect" : [ 440.0, 412.0, 39.0, 20.0 ],
+                                       "text" : "strch",
                                        "textjustification" : 1
                                }
 
                                        "numoutlets" : 0,
                                        "patching_rect" : [ 962.0, 930.0, 150.0, 20.0 ],
                                        "presentation" : 1,
-                                       "presentation_rect" : [ 224.0, 335.0, 262.0, 20.0 ],
-                                       "text" : "noise engine",
+                                       "presentation_rect" : [ 389.0, 412.0, 39.0, 20.0 ],
+                                       "text" : "noise",
                                        "textjustification" : 1
                                }
 
                                        "numoutlets" : 0,
                                        "patching_rect" : [ 962.0, 907.0, 150.0, 20.0 ],
                                        "presentation" : 1,
-                                       "presentation_rect" : [ 224.0, 273.0, 262.0, 20.0 ],
-                                       "text" : "fragment engine 2",
+                                       "presentation_rect" : [ 336.0, 412.0, 39.0, 20.0 ],
+                                       "text" : "frag2",
                                        "textjustification" : 1
                                }
 
                                        "numoutlets" : 0,
                                        "patching_rect" : [ 962.0, 883.0, 150.0, 20.0 ],
                                        "presentation" : 1,
-                                       "presentation_rect" : [ 224.0, 212.0, 262.0, 20.0 ],
-                                       "text" : "fragment engine 1",
+                                       "presentation_rect" : [ 285.0, 412.0, 39.0, 20.0 ],
+                                       "text" : "frag1",
                                        "textjustification" : 1
                                }
 
                                        "numoutlets" : 0,
                                        "patching_rect" : [ 962.0, 859.0, 150.0, 20.0 ],
                                        "presentation" : 1,
-                                       "presentation_rect" : [ 224.0, 151.0, 262.0, 20.0 ],
-                                       "text" : "episode engine",
+                                       "presentation_rect" : [ 233.0, 412.0, 39.0, 20.0 ],
+                                       "text" : "epi1",
                                        "textjustification" : 1
                                }
 
                                        "maxclass" : "multislider",
                                        "numinlets" : 1,
                                        "numoutlets" : 2,
-                                       "orientation" : 0,
                                        "outlettype" : [ "", "" ],
                                        "parameter_enable" : 1,
                                        "patching_rect" : [ 681.0, 753.0, 102.0, 56.0 ],
 
                                        }
 ,
-                                       "setminmax" : [ -70.0, 6.0 ],
+                                       "setminmax" : [ 0.0, 1.0 ],
                                        "size" : 5,
                                        "slidercolor" : [ 0.619607843137255, 0.945098039215686, 0.952941176470588, 1.0 ],
                                        "spacing" : 2,
                                        "numoutlets" : 1,
                                        "outlettype" : [ "" ],
                                        "patching_rect" : [ 280.0, 586.0, 242.0, 33.0 ],
-                                       "text" : "/voice/gain : -39.5758"
+                                       "text" : "/voice/gain : 1."
                                }
 
                        }
                                        "numinlets" : 1,
                                        "numoutlets" : 1,
                                        "outlettype" : [ "signal" ],
-                                       "patching_rect" : [ 264.0, 803.0, 77.0, 22.0 ],
+                                       "patching_rect" : [ 264.0, 770.0, 77.0, 22.0 ],
                                        "text" : "receive~ ch8"
                                }
 
                                        "numinlets" : 1,
                                        "numoutlets" : 1,
                                        "outlettype" : [ "signal" ],
-                                       "patching_rect" : [ 237.285714285714278, 776.0, 77.0, 22.0 ],
+                                       "patching_rect" : [ 237.0, 743.0, 77.0, 22.0 ],
                                        "text" : "receive~ ch7"
                                }
 
                                        "numinlets" : 1,
                                        "numoutlets" : 1,
                                        "outlettype" : [ "signal" ],
-                                       "patching_rect" : [ 210.571428571428584, 744.0, 77.0, 22.0 ],
+                                       "patching_rect" : [ 211.0, 711.0, 77.0, 22.0 ],
                                        "text" : "receive~ ch6"
                                }
 
                                        "numinlets" : 1,
                                        "numoutlets" : 1,
                                        "outlettype" : [ "signal" ],
-                                       "patching_rect" : [ 183.857142857142861, 716.0, 77.0, 22.0 ],
+                                       "patching_rect" : [ 184.0, 683.0, 77.0, 22.0 ],
                                        "text" : "receive~ ch5"
                                }
 
                                        "numinlets" : 1,
                                        "numoutlets" : 1,
                                        "outlettype" : [ "signal" ],
-                                       "patching_rect" : [ 157.142857142857139, 803.0, 77.0, 22.0 ],
+                                       "patching_rect" : [ 157.0, 770.0, 77.0, 22.0 ],
                                        "text" : "receive~ ch4"
                                }
 
                                        "numinlets" : 1,
                                        "numoutlets" : 1,
                                        "outlettype" : [ "signal" ],
-                                       "patching_rect" : [ 130.428571428571445, 776.0, 77.0, 22.0 ],
+                                       "patching_rect" : [ 130.0, 743.0, 77.0, 22.0 ],
                                        "text" : "receive~ ch3"
                                }
 
                                        "numinlets" : 1,
                                        "numoutlets" : 1,
                                        "outlettype" : [ "signal" ],
-                                       "patching_rect" : [ 103.714285714285722, 744.0, 77.0, 22.0 ],
+                                       "patching_rect" : [ 104.0, 711.0, 77.0, 22.0 ],
                                        "text" : "receive~ ch2"
                                }
 
                                        "numinlets" : 1,
                                        "numoutlets" : 1,
                                        "outlettype" : [ "signal" ],
-                                       "patching_rect" : [ 76.714285714285722, 716.0, 77.0, 22.0 ],
+                                       "patching_rect" : [ 77.0, 683.0, 77.0, 22.0 ],
                                        "text" : "receive~ ch1"
                                }
 
                                        "numinlets" : 1,
                                        "numoutlets" : 1,
                                        "outlettype" : [ "signal" ],
-                                       "patching_rect" : [ 136.0, 932.0, 58.0, 22.0 ],
+                                       "patching_rect" : [ 531.0, 716.0, 58.0, 22.0 ],
                                        "text" : "mc.sum~"
                                }
 
                                        "numinlets" : 2,
                                        "numoutlets" : 1,
                                        "outlettype" : [ "multichannelsignal" ],
-                                       "patching_rect" : [ 136.0, 909.0, 93.0, 22.0 ],
+                                       "patching_rect" : [ 531.0, 693.0, 93.0, 22.0 ],
                                        "text" : "mc.*~ 0.166666"
                                }
 
                                                "boxes" : [                                                     {
                                                                "box" :                                                                 {
                                                                        "id" : "obj-2",
-                                                                       "linecount" : 43,
+                                                                       "linecount" : 54,
                                                                        "maxclass" : "comment",
                                                                        "numinlets" : 1,
                                                                        "numoutlets" : 0,
-                                                                       "patching_rect" : [ 39.0, 16.0, 819.0, 583.0 ],
-                                                                       "text" : "log 2025/05/20\n\n- implemented a 6-second fadeout for episode engine.  This is the default.\n- mockup of mira UI in place; non-functional for now as we are thinking about client's use cases and playing around with ideas\n- mira: two pages available; http://192.168.191.145:8086/; click on [launch mira] to load in your default browser\n- increased visibility of sequencer status\n- added panic button to mock-up pages for mira (this is functional)\n\nlog 2025/05/14\n\n- added stereo destination functionality for all engine voices, as well as documenting in all help patchers\n- split out \"multi-sampler engine\" to separate engines for episodes, fragments, and stretcher\n- created various UI patchers for the disparate engines - these will be consolidated in the future with the goal of it being easier to manage\n- removed unnecessary params for user (e.g. things like /speed which won't be edited)\n- added /scan/factor param to externally available param list in stretcher engine\n- bug with engine randomly turned off was located:  it's the new scheduler!  :P \n- some readability updates in UI for engine params\n- temporarily disabled scheduler and main sequencer for testing / compositional needs\n- added various updated engine configurations into new master patch (_sonogarden)\n- added rudimentary logging mechanism into patch\n- removed spat system out of main patcher for now; stashed for future use\n- added a vt.variety_handler for poly~ voices that deal with audio files\n- \"epistretch\" engine is now \"stretcher\".  It has been consolidated w/r/t functionality \n\nlog 2025/05/07\n\n- epistretch voice was reworked.  now does not play a single segment. instead, spacing range is taken into account and there is no external triggering of sounds.  The sounds are generated from turning the engine on and having it choose files based on variety and wait various times based on the spacing range.  density controls how many of thse voices are active.\n- spat system was updated to use only one instance of spat.  This drastically cuts down on cpu usage (less than half of what it was) and incorporates the idea of a single auditory scene (for now) in which all audio sources live.  Each voice group is given an offset to address different spat sources, e.g., if there are 16 voices for grp1 and for grp2, grp2's offset will be 16 so that it starts at source number 17.\n- vt.density voice manager:  density as an idea was completely revamped from prior patch based on last discussion.  It now spawns more or less voices in the sequencer \"on state\" based on the number it has available.  This number is the voice count.  a density of 0. is a single voice\n- incorporated vt.density into relevant areas\n- rewired a lot of the main patch including cleanup of the osc namespace\n- removed unnecessary gain~ object for voice module - there is only one place to set overall gain for an engine now\n- developed bird flight behaviors for the future\n- added master metronome module.   metro speed is now in an easy to access area and controllable with osc presets\n- main sonogarden.maxpat patch now has an area for osc addressing /main/whatever/whateverelse \n- developed a logging module; have not implemented yet \n- added [a] key for advancing sequencer\n- [panic] feature: spacebar now turns audio and sequencer off "
+                                                                       "patching_rect" : [ 39.0, 16.0, 819.0, 730.0 ],
+                                                                       "text" : "log 2025/05/21\n\n- removed toggle for keyboard status\n- implemented localized gain for all poly groups (engines), allowing remote control from mira.  Note that this data is not yet bound to preset system recall but saves with patcher (for now; will implement further soon)\n- added master volume control as it relates to the summed speaker outputs; in the interest of time I've used live.gain which is not scalable; will make larger soon.\n- udpated default ramp time in noise engine to 3 seconds fade in/out, and removed duration parameter for now; only sequencer starts/stops\n- implemented a rudimentary form of verbose mode for engines only; will update with other relevant user actions soon\n\n\nlog 2025/05/20\n\n- implemented a 6-second fadeout for episode engine.  This is the default.\n- mockup of mira UI in place; non-functional for now as we are thinking about client's use cases and playing around with ideas\n- mira: two pages available; http://192.168.191.145:8086/; click on [launch mira] to load in your default browser\n- increased visibility of sequencer status\n- added panic button to mock-up pages for mira (this is functional)\n\nlog 2025/05/14\n\n- added stereo destination functionality for all engine voices, as well as documenting in all help patchers\n- split out \"multi-sampler engine\" to separate engines for episodes, fragments, and stretcher\n- created various UI patchers for the disparate engines - these will be consolidated in the future with the goal of it being easier to manage\n- removed unnecessary params for user (e.g. things like /speed which won't be edited)\n- added /scan/factor param to externally available param list in stretcher engine\n- bug with engine randomly turned off was located:  it's the new scheduler!  :P \n- some readability updates in UI for engine params\n- temporarily disabled scheduler and main sequencer for testing / compositional needs\n- added various updated engine configurations into new master patch (_sonogarden)\n- added rudimentary logging mechanism into patch\n- removed spat system out of main patcher for now; stashed for future use\n- added a vt.variety_handler for poly~ voices that deal with audio files\n- \"epistretch\" engine is now \"stretcher\".  It has been consolidated w/r/t functionality \n\nlog 2025/05/07\n\n- epistretch voice was reworked.  now does not play a single segment. instead, spacing range is taken into account and there is no external triggering of sounds.  The sounds are generated from turning the engine on and having it choose files based on variety and wait various times based on the spacing range.  density controls how many of thse voices are active.\n- spat system was updated to use only one instance of spat.  This drastically cuts down on cpu usage (less than half of what it was) and incorporates the idea of a single auditory scene (for now) in which all audio sources live.  Each voice group is given an offset to address different spat sources, e.g., if there are 16 voices for grp1 and for grp2, grp2's offset will be 16 so that it starts at source number 17.\n- vt.density voice manager:  density as an idea was completely revamped from prior patch based on last discussion.  It now spawns more or less voices in the sequencer \"on state\" based on the number it has available.  This number is the voice count.  a density of 0. is a single voice\n- incorporated vt.density into relevant areas\n- rewired a lot of the main patch including cleanup of the osc namespace\n- removed unnecessary gain~ object for voice module - there is only one place to set overall gain for an engine now\n- developed bird flight behaviors for the future\n- added master metronome module.   metro speed is now in an easy to access area and controllable with osc presets\n- main sonogarden.maxpat patch now has an area for osc addressing /main/whatever/whateverelse \n- developed a logging module; have not implemented yet \n- added [a] key for advancing sequencer\n- [panic] feature: spacebar now turns audio and sequencer off "
                                                                }
 
                                                        }
                                        "numoutlets" : 0,
                                        "patching_rect" : [ 933.0, 109.0, 109.0, 20.0 ],
                                        "presentation" : 1,
-                                       "presentation_rect" : [ 500.0, 661.0, 133.0, 20.0 ],
+                                       "presentation_rect" : [ 500.0, 800.0, 133.0, 20.0 ],
                                        "text" : "master metronome",
                                        "textjustification" : 1
                                }
                                        "numoutlets" : 0,
                                        "patching_rect" : [ 688.0, 967.0, 45.0, 45.0 ],
                                        "presentation" : 1,
-                                       "presentation_rect" : [ 639.0, 724.0, 63.0, 63.0 ]
+                                       "presentation_rect" : [ 639.0, 716.0, 82.0, 82.0 ]
                                }
 
                        }
                        }
 ,                      {
                                "box" :                                 {
+                                       "bubble" : 1,
+                                       "bubblepoint" : 0.88,
+                                       "bubbleside" : 2,
+                                       "fontsize" : 10.0,
                                        "id" : "obj-51",
+                                       "linecount" : 2,
                                        "maxclass" : "comment",
                                        "numinlets" : 1,
                                        "numoutlets" : 0,
-                                       "patching_rect" : [ 1053.0, 76.0, 128.0, 20.0 ],
+                                       "patching_rect" : [ 1053.0, 76.0, 109.0, 48.0 ],
                                        "presentation" : 1,
-                                       "presentation_rect" : [ 497.0, 607.0, 128.0, 20.0 ],
-                                       "text" : "manually advance seq"
+                                       "presentation_rect" : [ 500.0, 607.0, 133.0, 37.0 ],
+                                       "text" : "manually advance seq",
+                                       "textjustification" : 1
                                }
 
                        }
                                                                                }
 ,
                                                                                "classnamespace" : "box",
-                                                                               "rect" : [ 59.0, 106.0, 266.0, 273.0 ],
+                                                                               "rect" : [ 59.0, 106.0, 615.0, 295.0 ],
                                                                                "gridsize" : [ 15.0, 15.0 ],
                                                                                "boxes" : [                                                                                     {
+                                                                                               "box" :                                                                                                 {
+                                                                                                       "id" : "obj-3",
+                                                                                                       "maxclass" : "newobj",
+                                                                                                       "numinlets" : 1,
+                                                                                                       "numoutlets" : 1,
+                                                                                                       "outlettype" : [ "bang" ],
+                                                                                                       "patching_rect" : [ 263.0, 52.0, 58.0, 22.0 ],
+                                                                                                       "text" : "loadbang"
+                                                                                               }
+
+                                                                                       }
+,                                                                                      {
+                                                                                               "box" :                                                                                                 {
+                                                                                                       "id" : "obj-1",
+                                                                                                       "maxclass" : "message",
+                                                                                                       "numinlets" : 2,
+                                                                                                       "numoutlets" : 1,
+                                                                                                       "outlettype" : [ "" ],
+                                                                                                       "patching_rect" : [ 263.0, 90.0, 139.0, 22.0 ],
+                                                                                                       "text" : "waiting for a command..."
+                                                                                               }
+
+                                                                                       }
+,                                                                                      {
                                                                                                "box" :                                                                                                 {
                                                                                                        "id" : "obj-4",
                                                                                                        "maxclass" : "message",
                                                                                        }
  ],
                                                                                "lines" : [                                                                                     {
+                                                                                               "patchline" :                                                                                           {
+                                                                                                       "destination" : [ "obj-34", 0 ],
+                                                                                                       "source" : [ "obj-1", 0 ]
+                                                                                               }
+
+                                                                                       }
+,                                                                                      {
                                                                                                "patchline" :                                                                                           {
                                                                                                        "destination" : [ "obj-4", 0 ],
                                                                                                        "source" : [ "obj-2", 0 ]
                                                                                                }
 
+                                                                                       }
+,                                                                                      {
+                                                                                               "patchline" :                                                                                           {
+                                                                                                       "destination" : [ "obj-1", 0 ],
+                                                                                                       "source" : [ "obj-3", 0 ]
+                                                                                               }
+
                                                                                        }
 ,                                                                                      {
                                                                                                "patchline" :                                                                                           {
                                        "offset" : [ 0.0, 0.0 ],
                                        "patching_rect" : [ 914.0, 75.0, 135.0, 33.0 ],
                                        "presentation" : 1,
-                                       "presentation_rect" : [ 500.0, 629.0, 133.0, 158.0 ],
+                                       "presentation_rect" : [ 500.0, 640.0, 133.0, 158.0 ],
                                        "viewvisibility" : 1
                                }
 
 ,                      {
                                "box" :                                 {
                                        "align" : 1,
-                                       "bgcolor" : [ 0.149019607843137, 0.184313725490196, 0.149019607843137, 1.0 ],
+                                       "bgcolor" : [ 0.592, 0.141, 0.141, 1.0 ],
                                        "bgfillcolor_angle" : 270.0,
                                        "bgfillcolor_autogradient" : 0.0,
-                                       "bgfillcolor_color" : [ 0.149019607843137, 0.184313725490196, 0.149019607843137, 1.0 ],
+                                       "bgfillcolor_color" : [ 0.592, 0.141, 0.141, 1.0 ],
                                        "bgfillcolor_color1" : [ 0.203921568627451, 0.23921568627451, 0.203921568627451, 1.0 ],
                                        "bgfillcolor_color2" : [ 0.172137149796092, 0.172137100044002, 0.172137113045018, 1.0 ],
                                        "bgfillcolor_proportion" : 0.5,
                                        "bgfillcolor_type" : "color",
-                                       "elementcolor" : [ 0.250980392156863, 0.611764705882353, 0.474509803921569, 1.0 ],
-                                       "fontsize" : 9.0,
+                                       "elementcolor" : [ 1.0, 1.0, 1.0, 1.0 ],
+                                       "fontsize" : 11.0,
                                        "id" : "obj-16",
                                        "items" : [ "keyboard off", ",", "keyboard on" ],
                                        "maxclass" : "umenu",
                                        "numoutlets" : 3,
                                        "outlettype" : [ "int", "", "" ],
                                        "parameter_enable" : 1,
-                                       "patching_rect" : [ 242.0, 92.5, 55.0, 19.0 ],
+                                       "patching_rect" : [ 242.0, 92.5, 55.0, 21.0 ],
                                        "presentation" : 1,
-                                       "presentation_rect" : [ 733.0, 698.5, 63.0, 19.0 ],
+                                       "presentation_rect" : [ 1129.0, 777.5, 86.0, 21.0 ],
                                        "saved_attribute_attributes" :                                  {
                                                "valueof" :                                             {
                                                        "parameter_enum" : [ "keyboard off", "keyboard on" ],
 
                                        }
 ,
+                                       "textcolor" : [ 1.0, 1.0, 1.0, 1.0 ],
                                        "textjustification" : 1,
                                        "varname" : "umenu"
                                }
 
-                       }
-,                      {
-                               "box" :                                 {
-                                       "bgcolor" : [ 0.592, 0.141, 0.141, 1.0 ],
-                                       "checkedcolor" : [ 0.709803921568627, 0.764705882352941, 0.850980392156863, 1.0 ],
-                                       "id" : "obj-14",
-                                       "maxclass" : "toggle",
-                                       "numinlets" : 1,
-                                       "numoutlets" : 1,
-                                       "outlettype" : [ "int" ],
-                                       "parameter_enable" : 1,
-                                       "patching_rect" : [ 242.0, 55.5, 29.0, 29.0 ],
-                                       "presentation" : 1,
-                                       "presentation_rect" : [ 733.0, 628.5, 63.0, 63.0 ],
-                                       "saved_attribute_attributes" :                                  {
-                                               "valueof" :                                             {
-                                                       "parameter_enum" : [ "off", "on" ],
-                                                       "parameter_longname" : "toggle",
-                                                       "parameter_mmax" : 1,
-                                                       "parameter_modmode" : 0,
-                                                       "parameter_shortname" : "toggle",
-                                                       "parameter_type" : 2
-                                               }
-
-                                       }
-,
-                                       "varname" : "toggle"
-                               }
-
                        }
 ,                      {
                                "box" :                                 {
                                                                                                "box" :                                                                                                 {
                                                                                                        "fontface" : 0,
                                                                                                        "id" : "obj-26",
-                                                                                                       "linecount" : 83,
+                                                                                                       "linecount" : 87,
                                                                                                        "maxclass" : "o.display",
                                                                                                        "numinlets" : 1,
                                                                                                        "numoutlets" : 1,
                                                                                                        "outlettype" : [ "" ],
                                                                                                        "patching_rect" : [ 50.0, 100.0, 335.0, 853.0 ],
-                                                                                                       "text" : "/engine/1/zone/voice/gain : -39.5758,\n/engine/1/ui/density : 0.1,\n/engine/1/ui/variety : 0.,\n/engine/1/ui/spacing/range : [2., 15.],\n/engine/1/ui/gain/range : [0.8, 1.2],\n/engine/1/ui/st/l : \"ch5\",\n/engine/1/ui/st/r : \"ch6\",\n/engine/1/polybuf/path : \"Macintosh HD:/Users/jml/Documents/work/hugh_livingston/audio_files/_SonogardenCollections/DebussyNuagesFragments/\",\n/engine/2/ui/density : 0.3,\n/engine/2/ui/variety : 0.6,\n/engine/2/ui/spacing/range : [0.1, 1.5],\n/engine/2/ui/gain/range : [0.8, 1.2],\n/engine/2/ui/st/l : \"ch1\",\n/engine/2/ui/st/r : \"ch2\",\n/engine/2/polybuf/path : \"Macintosh HD:/Users/jml/Documents/work/hugh_livingston/audio_files/_SonogardenCollections/blackgrosbeak/\",\n/engine/2/zone/voice/gain : -11.9847,\n/engine/3/ui/density : 0.0001,\n/engine/3/ui/variety : 0.,\n/engine/3/ui/spacing/range : [0.1, 1.5],\n/engine/3/ui/gain/range : [0.8, 1.2],\n/engine/3/ui/st/l : \"ch1\",\n/engine/3/ui/st/r : \"ch2\",\n/engine/3/zone/voice/gain : -17.4962,\n/engine/4/ui/type : \"hugh\",\n/engine/4/ui/density : 0.0001,\n/engine/4/ui/ramp/sec : 1.,\n/engine/4/ui/gain/range : [0.3, 1.8],\n/engine/4/ui/st/l : \"ch1\",\n/engine/4/ui/st/r : \"ch2\",\n/engine/4/ui/duration/sec : 120.,\n/engine/4/zone/voice/gain : -22.4275,\n/engine/5/ui/density : 0.0001,\n/engine/5/ui/variety : 0.,\n/engine/5/ui/spacing/range : [0.1, 1.5],\n/engine/5/ui/gain/range : [0.8, 1.2],\n/engine/5/ui/st/l : \"ch1\",\n/engine/5/ui/st/r : \"ch2\",\n/engine/5/ui/scan/factor : 20.,\n/engine/5/ui/windowsize : 0.5,\n/engine/5/zone/voice/gain : -34.9008,\n/engine/5/ui/steps : [1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0],\n/engine/4/ui/steps : [1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1],\n/engine/3/ui/steps : [1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0],\n/engine/1/ui/steps : [1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],\n/engine/2/ui/steps : [1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0],\n/main/spat/gain : 115,\n/engine/1/zone/engine/gain : 0.,\n/engine/2/zone/engine/gain : 0.,\n/engine/3/zone/engine/gain : 0.,\n/engine/4/zone/engine/gain : 0.,\n/engine/5/zone/engine/gain : 0.,\n/scheduler : {\n  /window/1 : [\"9:00\", \"14:00\"],\n  /window/2 : [\"16:00\", \"19:00\"]\n},\n/scheduler/timer/status : 0,\n/main/metro/interval/sec : 60.,\n/main/metro/status : 0"
+                                                                                                       "text" : "/engine/4/zone/voice/gain : 0.23127,\n/engine/1/zone/voice/gain : 1.,\n/engine/1/ui/density : 0.1,\n/engine/1/ui/variety : 0.,\n/engine/1/ui/spacing/range : [2., 15.],\n/engine/1/ui/gain/range : [0.8, 1.2],\n/engine/1/ui/st/l : \"ch1\",\n/engine/1/ui/st/r : \"ch2\",\n/engine/1/polybuf/path : \"Macintosh HD:/Users/jml/Documents/work/hugh_livingston/audio_files/_SonogardenCollections/DebussyNuagesFragments/\",\n/engine/2/ui/density : 0.3,\n/engine/2/ui/variety : 0.6,\n/engine/2/ui/spacing/range : [0.1, 1.5],\n/engine/2/ui/gain/range : [0.8, 1.2],\n/engine/2/ui/st/l : \"ch1\",\n/engine/2/ui/st/r : \"ch2\",\n/engine/2/polybuf/path : \"Macintosh HD:/Users/jml/Documents/work/hugh_livingston/audio_files/_SonogardenCollections/blackgrosbeak/\",\n/engine/2/zone/voice/gain : 1.,\n/engine/3/ui/density : 0.0001,\n/engine/3/ui/variety : 0.,\n/engine/3/ui/spacing/range : [0.1, 1.5],\n/engine/3/ui/gain/range : [0.8, 1.2],\n/engine/3/ui/st/l : \"ch1\",\n/engine/3/ui/st/r : \"ch2\",\n/engine/3/zone/voice/gain : 1.,\n/engine/4/ui/gain/range : [0.031, 0.24],\n/engine/4/ui/type : \"hugh\",\n/engine/4/ui/density : 0.0001,\n/engine/4/ui/ramp/sec : 1.,\n/engine/4/ui/st/l : \"ch1\",\n/engine/4/ui/st/r : \"ch2\",\n/engine/4/ui/duration/sec : 120.,\n/engine/5/ui/density : 0.0001,\n/engine/5/ui/variety : 0.,\n/engine/5/ui/spacing/range : [0.1, 1.5],\n/engine/5/ui/gain/range : [0.8, 1.2],\n/engine/5/ui/st/l : \"ch1\",\n/engine/5/ui/st/r : \"ch2\",\n/engine/5/ui/scan/factor : 20.,\n/engine/5/ui/windowsize : 0.5,\n/engine/5/polybuf/path : \"Macintosh HD:/Users/jml/Documents/work/hugh_livingston/audio_files/_SonogardenCollections/SingingBowlStruck/\",\n/engine/5/zone/voice/gain : 1.,\n/engine/5/ui/steps : [1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0],\n/engine/4/ui/steps : [1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1],\n/engine/3/ui/steps : [1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0],\n/engine/1/ui/steps : [1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],\n/engine/2/ui/steps : [1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0],\n/main/spat/gain : 115,\n/engine/1/zone/engine/gain : 0.,\n/engine/2/zone/engine/gain : 0.,\n/engine/3/zone/engine/gain : 0.,\n/engine/4/zone/engine/gain : 0.,\n/engine/5/zone/engine/gain : 0.,\n/scheduler : {\n  /window/1 : [\"9:00\", \"14:00\"],\n  /window/2 : [\"16:00\", \"19:00\"]\n},\n/scheduler/timer/status : 0,\n/main/metro/interval/sec : 60.,\n/main/metro/status : 0"
                                                                                                }
 
                                                                                        }
                                        "maxclass" : "newobj",
                                        "numinlets" : 8,
                                        "numoutlets" : 0,
-                                       "patching_rect" : [ 77.0, 865.0, 206.0, 22.0 ],
+                                       "patching_rect" : [ 77.0, 915.0, 149.900000000000034, 22.0 ],
                                        "text" : "dac~ 1 2 3 4 5 6 7 8"
                                }
 
 ,                      {
                                "patchline" :                           {
                                        "destination" : [ "obj-116", 0 ],
+                                       "order" : 0,
                                        "source" : [ "obj-133", 0 ]
                                }
 
                        }
 ,                      {
                                "patchline" :                           {
-                                       "destination" : [ "obj-16", 0 ],
-                                       "source" : [ "obj-14", 0 ]
+                                       "destination" : [ "obj-144", 0 ],
+                                       "midpoints" : [ 690.5, 819.0, 675.11102294921875, 819.0, 675.11102294921875, 706.0, 690.5, 706.0 ],
+                                       "order" : 1,
+                                       "source" : [ "obj-133", 0 ]
+                               }
+
+                       }
+,                      {
+                               "patchline" :                           {
+                                       "destination" : [ "obj-133", 0 ],
+                                       "source" : [ "obj-144", 0 ]
+                               }
+
+                       }
+,                      {
+                               "patchline" :                           {
+                                       "destination" : [ "obj-47", 7 ],
+                                       "source" : [ "obj-148", 7 ]
+                               }
+
+                       }
+,                      {
+                               "patchline" :                           {
+                                       "destination" : [ "obj-47", 6 ],
+                                       "source" : [ "obj-148", 6 ]
+                               }
+
+                       }
+,                      {
+                               "patchline" :                           {
+                                       "destination" : [ "obj-47", 5 ],
+                                       "source" : [ "obj-148", 5 ]
+                               }
+
+                       }
+,                      {
+                               "patchline" :                           {
+                                       "destination" : [ "obj-47", 4 ],
+                                       "source" : [ "obj-148", 4 ]
+                               }
+
+                       }
+,                      {
+                               "patchline" :                           {
+                                       "destination" : [ "obj-47", 3 ],
+                                       "source" : [ "obj-148", 3 ]
+                               }
+
+                       }
+,                      {
+                               "patchline" :                           {
+                                       "destination" : [ "obj-47", 2 ],
+                                       "source" : [ "obj-148", 2 ]
+                               }
+
+                       }
+,                      {
+                               "patchline" :                           {
+                                       "destination" : [ "obj-47", 1 ],
+                                       "source" : [ "obj-148", 1 ]
                                }
 
                        }
 ,                      {
                                "patchline" :                           {
                                        "destination" : [ "obj-47", 0 ],
+                                       "source" : [ "obj-148", 0 ]
+                               }
+
+                       }
+,                      {
+                               "patchline" :                           {
+                                       "destination" : [ "obj-150", 0 ],
+                                       "source" : [ "obj-149", 0 ]
+                               }
+
+                       }
+,                      {
+                               "patchline" :                           {
+                                       "destination" : [ "obj-151", 0 ],
+                                       "source" : [ "obj-150", 0 ]
+                               }
+
+                       }
+,                      {
+                               "patchline" :                           {
+                                       "destination" : [ "obj-148", 0 ],
                                        "source" : [ "obj-17", 0 ]
                                }
 
                        }
 ,                      {
                                "patchline" :                           {
-                                       "destination" : [ "obj-47", 1 ],
+                                       "destination" : [ "obj-148", 1 ],
                                        "source" : [ "obj-23", 0 ]
                                }
 
                        }
 ,                      {
                                "patchline" :                           {
-                                       "destination" : [ "obj-47", 3 ],
+                                       "destination" : [ "obj-148", 3 ],
                                        "source" : [ "obj-32", 0 ]
                                }
 
                        }
 ,                      {
                                "patchline" :                           {
-                                       "destination" : [ "obj-47", 2 ],
+                                       "destination" : [ "obj-148", 2 ],
                                        "source" : [ "obj-34", 0 ]
                                }
 
                        }
 ,                      {
                                "patchline" :                           {
-                                       "destination" : [ "obj-47", 7 ],
+                                       "destination" : [ "obj-148", 7 ],
                                        "source" : [ "obj-39", 0 ]
                                }
 
                        }
 ,                      {
                                "patchline" :                           {
-                                       "destination" : [ "obj-14", 0 ],
+                                       "destination" : [ "obj-16", 0 ],
                                        "source" : [ "obj-45", 1 ]
                                }
 
                                        "source" : [ "obj-48", 0 ]
                                }
 
+                       }
+,                      {
+                               "patchline" :                           {
+                                       "destination" : [ "obj-143", 0 ],
+                                       "order" : 0,
+                                       "source" : [ "obj-49", 2 ]
+                               }
+
                        }
 ,                      {
                                "patchline" :                           {
 ,                      {
                                "patchline" :                           {
                                        "destination" : [ "obj-46", 0 ],
+                                       "order" : 1,
                                        "source" : [ "obj-49", 2 ]
                                }
 
                        }
 ,                      {
                                "patchline" :                           {
-                                       "destination" : [ "obj-47", 6 ],
+                                       "destination" : [ "obj-148", 6 ],
                                        "source" : [ "obj-50", 0 ]
                                }
 
                        }
 ,                      {
                                "patchline" :                           {
-                                       "destination" : [ "obj-47", 5 ],
+                                       "destination" : [ "obj-148", 5 ],
                                        "source" : [ "obj-52", 0 ]
                                }
 
                        }
 ,                      {
                                "patchline" :                           {
-                                       "destination" : [ "obj-47", 4 ],
+                                       "destination" : [ "obj-148", 4 ],
                                        "source" : [ "obj-60", 0 ]
                                }
 
                        }
  ],
                "parameters" :          {
+                       "obj-103::obj-23.1::obj-38" : [ "live.gain~[27]", "live.gain~", 0 ],
+                       "obj-103::obj-23.2::obj-38" : [ "live.gain~[24]", "live.gain~", 0 ],
+                       "obj-103::obj-23.3::obj-38" : [ "live.gain~[25]", "live.gain~", 0 ],
+                       "obj-103::obj-23.4::obj-38" : [ "live.gain~[26]", "live.gain~", 0 ],
                        "obj-103::obj-3" : [ "poly_voices[6]", "poly_voices", 0 ],
                        "obj-103::obj-60" : [ "poly_voices[5]", "poly_voices", 0 ],
                        "obj-107" : [ "multislider[1]", "multislider[1]", 0 ],
                        "obj-136" : [ "toggle[3]", "toggle[1]", 0 ],
                        "obj-137" : [ "toggle[4]", "toggle[1]", 0 ],
                        "obj-138" : [ "toggle[5]", "toggle[1]", 0 ],
-                       "obj-14" : [ "toggle", "toggle", 0 ],
+                       "obj-148" : [ "master volume", "master volume", 0 ],
+                       "obj-149" : [ "toggle", "toggle", 0 ],
                        "obj-16" : [ "umenu", "umenu", 0 ],
+                       "obj-44::obj-23.1::obj-56" : [ "live.gain~[3]", "live.gain~", 0 ],
+                       "obj-44::obj-23.2::obj-56" : [ "live.gain~", "live.gain~", 0 ],
+                       "obj-44::obj-23.3::obj-56" : [ "live.gain~[1]", "live.gain~", 0 ],
+                       "obj-44::obj-23.4::obj-56" : [ "live.gain~[2]", "live.gain~", 0 ],
                        "obj-44::obj-3" : [ "poly_voices[1]", "poly_voices", 0 ],
                        "obj-44::obj-60" : [ "engine_voices", "poly_voices", 0 ],
+                       "obj-46::obj-23.1::obj-38" : [ "live.gain~[11]", "live.gain~", 0 ],
+                       "obj-46::obj-23.2::obj-38" : [ "live.gain~[4]", "live.gain~", 0 ],
+                       "obj-46::obj-23.3::obj-38" : [ "live.gain~[5]", "live.gain~", 0 ],
+                       "obj-46::obj-23.4::obj-38" : [ "live.gain~[6]", "live.gain~", 0 ],
+                       "obj-46::obj-23.5::obj-38" : [ "live.gain~[7]", "live.gain~", 0 ],
+                       "obj-46::obj-23.6::obj-38" : [ "live.gain~[8]", "live.gain~", 0 ],
+                       "obj-46::obj-23.7::obj-38" : [ "live.gain~[9]", "live.gain~", 0 ],
+                       "obj-46::obj-23.8::obj-38" : [ "live.gain~[10]", "live.gain~", 0 ],
                        "obj-46::obj-3" : [ "poly_voices[2]", "poly_voices", 0 ],
                        "obj-46::obj-60" : [ "engine_voices[1]", "poly_voices", 0 ],
                        "obj-56" : [ "number", "number", 0 ],
                        "obj-66" : [ "button[4]", "button[4]", 0 ],
                        "obj-7" : [ "button[1]", "button[1]", 0 ],
+                       "obj-75::obj-23.1::obj-31" : [ "live.gain~[15]", "live.gain~", 0 ],
+                       "obj-75::obj-23.2::obj-31" : [ "live.gain~[12]", "live.gain~", 0 ],
+                       "obj-75::obj-23.3::obj-31" : [ "live.gain~[13]", "live.gain~", 0 ],
+                       "obj-75::obj-23.4::obj-31" : [ "live.gain~[14]", "live.gain~", 0 ],
                        "obj-75::obj-3" : [ "poly_voices[3]", "poly_voices", 0 ],
                        "obj-75::obj-60" : [ "engine_voices[2]", "poly_voices", 0 ],
                        "obj-79" : [ "button[3]", "button[3]", 0 ],
                        "obj-8" : [ "button", "button", 0 ],
                        "obj-84" : [ "button[2]", "button[2]", 0 ],
+                       "obj-92::obj-23.1::obj-38" : [ "live.gain~[23]", "live.gain~", 0 ],
+                       "obj-92::obj-23.2::obj-38" : [ "live.gain~[16]", "live.gain~", 0 ],
+                       "obj-92::obj-23.3::obj-38" : [ "live.gain~[17]", "live.gain~", 0 ],
+                       "obj-92::obj-23.4::obj-38" : [ "live.gain~[18]", "live.gain~", 0 ],
+                       "obj-92::obj-23.5::obj-38" : [ "live.gain~[19]", "live.gain~", 0 ],
+                       "obj-92::obj-23.6::obj-38" : [ "live.gain~[20]", "live.gain~", 0 ],
+                       "obj-92::obj-23.7::obj-38" : [ "live.gain~[21]", "live.gain~", 0 ],
+                       "obj-92::obj-23.8::obj-38" : [ "live.gain~[22]", "live.gain~", 0 ],
                        "obj-92::obj-3" : [ "poly_voices[4]", "poly_voices", 0 ],
                        "obj-92::obj-60" : [ "poly_voices", "poly_voices", 0 ],
                        "parameterbanks" :                      {
                        }
 ,
                        "parameter_overrides" :                         {
+                               "obj-103::obj-23.1::obj-38" :                           {
+                                       "parameter_longname" : "live.gain~[27]"
+                               }
+,
+                               "obj-103::obj-23.2::obj-38" :                           {
+                                       "parameter_longname" : "live.gain~[24]"
+                               }
+,
+                               "obj-103::obj-23.3::obj-38" :                           {
+                                       "parameter_longname" : "live.gain~[25]"
+                               }
+,
+                               "obj-103::obj-23.4::obj-38" :                           {
+                                       "parameter_longname" : "live.gain~[26]"
+                               }
+,
                                "obj-103::obj-3" :                              {
                                        "parameter_longname" : "poly_voices[6]"
                                }
                                "obj-103::obj-60" :                             {
                                        "parameter_longname" : "poly_voices[5]"
                                }
+,
+                               "obj-44::obj-23.1::obj-56" :                            {
+                                       "parameter_longname" : "live.gain~[3]"
+                               }
+,
+                               "obj-44::obj-23.3::obj-56" :                            {
+                                       "parameter_longname" : "live.gain~[1]"
+                               }
+,
+                               "obj-44::obj-23.4::obj-56" :                            {
+                                       "parameter_longname" : "live.gain~[2]"
+                               }
 ,
                                "obj-44::obj-60" :                              {
                                        "parameter_longname" : "engine_voices"
                                }
+,
+                               "obj-46::obj-23.1::obj-38" :                            {
+                                       "parameter_longname" : "live.gain~[11]"
+                               }
+,
+                               "obj-46::obj-23.2::obj-38" :                            {
+                                       "parameter_longname" : "live.gain~[4]"
+                               }
+,
+                               "obj-46::obj-23.3::obj-38" :                            {
+                                       "parameter_longname" : "live.gain~[5]"
+                               }
+,
+                               "obj-46::obj-23.4::obj-38" :                            {
+                                       "parameter_longname" : "live.gain~[6]"
+                               }
+,
+                               "obj-46::obj-23.5::obj-38" :                            {
+                                       "parameter_longname" : "live.gain~[7]"
+                               }
+,
+                               "obj-46::obj-23.6::obj-38" :                            {
+                                       "parameter_longname" : "live.gain~[8]"
+                               }
+,
+                               "obj-46::obj-23.7::obj-38" :                            {
+                                       "parameter_longname" : "live.gain~[9]"
+                               }
+,
+                               "obj-46::obj-23.8::obj-38" :                            {
+                                       "parameter_longname" : "live.gain~[10]"
+                               }
 ,
                                "obj-46::obj-3" :                               {
                                        "parameter_longname" : "poly_voices[2]"
                                "obj-46::obj-60" :                              {
                                        "parameter_longname" : "engine_voices[1]"
                                }
+,
+                               "obj-75::obj-23.1::obj-31" :                            {
+                                       "parameter_longname" : "live.gain~[15]"
+                               }
+,
+                               "obj-75::obj-23.2::obj-31" :                            {
+                                       "parameter_longname" : "live.gain~[12]"
+                               }
+,
+                               "obj-75::obj-23.3::obj-31" :                            {
+                                       "parameter_longname" : "live.gain~[13]"
+                               }
+,
+                               "obj-75::obj-23.4::obj-31" :                            {
+                                       "parameter_longname" : "live.gain~[14]"
+                               }
 ,
                                "obj-75::obj-3" :                               {
                                        "parameter_longname" : "poly_voices[3]"
                                "obj-75::obj-60" :                              {
                                        "parameter_longname" : "engine_voices[2]"
                                }
+,
+                               "obj-92::obj-23.1::obj-38" :                            {
+                                       "parameter_longname" : "live.gain~[23]"
+                               }
+,
+                               "obj-92::obj-23.2::obj-38" :                            {
+                                       "parameter_longname" : "live.gain~[16]"
+                               }
+,
+                               "obj-92::obj-23.3::obj-38" :                            {
+                                       "parameter_longname" : "live.gain~[17]"
+                               }
+,
+                               "obj-92::obj-23.4::obj-38" :                            {
+                                       "parameter_longname" : "live.gain~[18]"
+                               }
+,
+                               "obj-92::obj-23.5::obj-38" :                            {
+                                       "parameter_longname" : "live.gain~[19]"
+                               }
+,
+                               "obj-92::obj-23.6::obj-38" :                            {
+                                       "parameter_longname" : "live.gain~[20]"
+                               }
+,
+                               "obj-92::obj-23.7::obj-38" :                            {
+                                       "parameter_longname" : "live.gain~[21]"
+                               }
+,
+                               "obj-92::obj-23.8::obj-38" :                            {
+                                       "parameter_longname" : "live.gain~[22]"
+                               }
 ,
                                "obj-92::obj-3" :                               {
                                        "parameter_longname" : "poly_voices[4]"
                                "name" : "o.prepend.mxo",
                                "type" : "iLaX"
                        }
+,                      {
+                               "name" : "o.print.mxo",
+                               "type" : "iLaX"
+                       }
 ,                      {
                                "name" : "o.righttoleft.maxpat",
                                "bootpath" : "~/Documents/Max 9/Packages/odot/patchers/ordering",
                                "type" : "JSON",
                                "implicit" : 1
                        }
+,                      {
+                               "name" : "vt.verbose_print.maxpat",
+                               "bootpath" : "~/Documents/programming/git_repositories/sonogarden_maxproj",
+                               "patcherrelativepath" : ".",
+                               "type" : "JSON",
+                               "implicit" : 1
+                       }
  ],
                "autosave" : 0
        }