]> git.dabkitsch.com - sonogarden_maxproj.git/commitdiff
update with mira/miraweb ui for score display and mockup of gain adjustment page
authorequilet <2237372+equilet@users.noreply.github.com>
Tue, 20 May 2025 19:40:43 +0000 (12:40 -0700)
committerequilet <2237372+equilet@users.noreply.github.com>
Tue, 20 May 2025 19:40:43 +0000 (12:40 -0700)
_sonogarden.maxpat

index 3a60c1d7670075856ba082bf8f5ca883f45730c9..80133119b79c1d368576f6648329f5e8824c3fb6 100644 (file)
                }
 ,
                "classnamespace" : "box",
-               "rect" : [ 34.0, 87.0, 1411.0, 918.0 ],
+               "rect" : [ 34.0, 87.0, 1852.0, 915.0 ],
                "openinpresentation" : 1,
                "gridsize" : [ 15.0, 15.0 ],
                "boxes" : [                     {
+                               "box" :                                 {
+                                       "id" : "obj-131",
+                                       "maxclass" : "comment",
+                                       "numinlets" : 1,
+                                       "numoutlets" : 0,
+                                       "patching_rect" : [ 569.0, 849.0, 150.0, 20.0 ],
+                                       "presentation" : 1,
+                                       "presentation_rect" : [ 646.0, 661.5, 71.0, 20.0 ],
+                                       "text" : "launch mira",
+                                       "textcolor" : [ 0.345098039215686, 1.0, 0.4, 1.0 ]
+                               }
+
+                       }
+,                      {
+                               "box" :                                 {
+                                       "bgcolor" : [ 0.27843137254902, 0.462745098039216, 0.305882352941176, 1.0 ],
+                                       "blinkcolor" : [ 0.227450980392157, 0.945098039215686, 0.341176470588235, 1.0 ],
+                                       "id" : "obj-112",
+                                       "maxclass" : "button",
+                                       "numinlets" : 1,
+                                       "numoutlets" : 1,
+                                       "outlettype" : [ "bang" ],
+                                       "parameter_enable" : 1,
+                                       "patching_rect" : [ 269.0, 923.0, 24.0, 24.0 ],
+                                       "presentation" : 1,
+                                       "presentation_rect" : [ 639.0, 628.5, 85.0, 85.0 ],
+                                       "saved_attribute_attributes" :                                  {
+                                               "valueof" :                                             {
+                                                       "parameter_enum" : [ "off", "on" ],
+                                                       "parameter_longname" : "button[5]",
+                                                       "parameter_mmax" : 1,
+                                                       "parameter_modmode" : 0,
+                                                       "parameter_shortname" : "button[5]",
+                                                       "parameter_type" : 2
+                                               }
+
+                                       }
+,
+                                       "varname" : "button[5]"
+                               }
+
+                       }
+,                      {
+                               "box" :                                 {
+                                       "id" : "obj-65",
+                                       "linecount" : 2,
+                                       "maxclass" : "message",
+                                       "numinlets" : 2,
+                                       "numoutlets" : 1,
+                                       "outlettype" : [ "" ],
+                                       "patching_rect" : [ 269.0, 969.0, 269.0, 35.0 ],
+                                       "text" : ";\rmax launchbrowser http://192.168.191.145:8086/"
+                               }
+
+                       }
+,                      {
                                "box" :                                 {
                                        "bgcolor" : [ 0.407843137254902, 0.407843137254902, 0.407843137254902, 1.0 ],
                                        "checkedcolor" : [ 1.0, 1.0, 1.0, 1.0 ],
@@ -23,9 +79,9 @@
                                        "numoutlets" : 1,
                                        "outlettype" : [ "int" ],
                                        "parameter_enable" : 1,
-                                       "patching_rect" : [ 412.5, 397.25, 24.0, 24.0 ],
+                                       "patching_rect" : [ 916.0, 741.0, 24.0, 24.0 ],
                                        "presentation" : 1,
-                                       "presentation_rect" : [ 413.0, 375.0, 24.0, 24.0 ],
+                                       "presentation_rect" : [ 462.0, 375.0, 24.0, 24.0 ],
                                        "saved_attribute_attributes" :                                  {
                                                "valueof" :                                             {
                                                        "parameter_enum" : [ "off", "on" ],
                                        "numoutlets" : 1,
                                        "outlettype" : [ "int" ],
                                        "parameter_enable" : 1,
-                                       "patching_rect" : [ 410.25, 337.5, 24.0, 24.0 ],
+                                       "patching_rect" : [ 916.0, 715.0, 24.0, 24.0 ],
                                        "presentation" : 1,
-                                       "presentation_rect" : [ 413.0, 314.0, 24.0, 24.0 ],
+                                       "presentation_rect" : [ 462.0, 314.0, 24.0, 24.0 ],
                                        "saved_attribute_attributes" :                                  {
                                                "valueof" :                                             {
                                                        "parameter_enum" : [ "off", "on" ],
                                        "numoutlets" : 1,
                                        "outlettype" : [ "int" ],
                                        "parameter_enable" : 1,
-                                       "patching_rect" : [ 413.0, 273.0, 24.0, 24.0 ],
+                                       "patching_rect" : [ 916.0, 691.0, 24.0, 24.0 ],
                                        "presentation" : 1,
-                                       "presentation_rect" : [ 413.0, 253.0, 24.0, 24.0 ],
+                                       "presentation_rect" : [ 462.0, 253.0, 24.0, 24.0 ],
                                        "saved_attribute_attributes" :                                  {
                                                "valueof" :                                             {
                                                        "parameter_enum" : [ "off", "on" ],
                                        "numoutlets" : 1,
                                        "outlettype" : [ "int" ],
                                        "parameter_enable" : 1,
-                                       "patching_rect" : [ 411.0, 214.0, 24.0, 24.0 ],
+                                       "patching_rect" : [ 916.0, 665.0, 24.0, 24.0 ],
                                        "presentation" : 1,
-                                       "presentation_rect" : [ 413.000012308359146, 192.000005722045898, 24.0, 24.0 ],
+                                       "presentation_rect" : [ 462.0, 192.0, 24.0, 24.0 ],
                                        "saved_attribute_attributes" :                                  {
                                                "valueof" :                                             {
                                                        "parameter_enum" : [ "off", "on" ],
                                        "numoutlets" : 1,
                                        "outlettype" : [ "int" ],
                                        "parameter_enable" : 1,
-                                       "patching_rect" : [ 73.0, 171.0, 24.0, 24.0 ],
+                                       "patching_rect" : [ 916.0, 769.0, 24.0, 24.0 ],
                                        "presentation" : 1,
-                                       "presentation_rect" : [ 413.0, 131.0, 24.0, 24.0 ],
+                                       "presentation_rect" : [ 462.0, 131.0, 24.0, 24.0 ],
                                        "saved_attribute_attributes" :                                  {
                                                "valueof" :                                             {
                                                        "parameter_enum" : [ "off", "on" ],
                                        "maxclass" : "comment",
                                        "numinlets" : 1,
                                        "numoutlets" : 0,
-                                       "patching_rect" : [ 247.0, 787.0, 150.0, 20.0 ],
+                                       "patching_rect" : [ 962.0, 834.0, 150.0, 20.0 ],
                                        "presentation" : 1,
-                                       "presentation_rect" : [ 174.0, 801.0, 246.5, 20.0 ],
+                                       "presentation_rect" : [ 223.0, 801.0, 246.5, 20.0 ],
                                        "text" : "stretcher engine",
                                        "textjustification" : 1
                                }
                                        "maxclass" : "comment",
                                        "numinlets" : 1,
                                        "numoutlets" : 0,
-                                       "patching_rect" : [ 247.0, 725.0, 150.0, 20.0 ],
+                                       "patching_rect" : [ 962.0, 814.0, 150.0, 20.0 ],
                                        "presentation" : 1,
-                                       "presentation_rect" : [ 174.0, 736.0, 246.5, 20.0 ],
+                                       "presentation_rect" : [ 223.0, 736.0, 246.5, 20.0 ],
                                        "text" : "noise engine",
                                        "textjustification" : 1
                                }
                                        "maxclass" : "comment",
                                        "numinlets" : 1,
                                        "numoutlets" : 0,
-                                       "patching_rect" : [ 247.0, 663.0, 150.0, 20.0 ],
+                                       "patching_rect" : [ 962.0, 789.0, 150.0, 20.0 ],
                                        "presentation" : 1,
-                                       "presentation_rect" : [ 174.0, 670.0, 246.5, 20.0 ],
+                                       "presentation_rect" : [ 223.0, 670.0, 246.5, 20.0 ],
                                        "text" : "fragment engine 2",
                                        "textjustification" : 1
                                }
                                        "maxclass" : "comment",
                                        "numinlets" : 1,
                                        "numoutlets" : 0,
-                                       "patching_rect" : [ 247.0, 606.0, 150.0, 20.0 ],
+                                       "patching_rect" : [ 962.0, 766.0, 150.0, 20.0 ],
                                        "presentation" : 1,
-                                       "presentation_rect" : [ 174.0, 607.0, 246.5, 20.0 ],
+                                       "presentation_rect" : [ 223.0, 607.0, 246.5, 20.0 ],
                                        "text" : "fragment engine 1",
                                        "textjustification" : 1
                                }
                                        "numoutlets" : 0,
                                        "patching_rect" : [ 247.0, 540.0, 150.0, 20.0 ],
                                        "presentation" : 1,
-                                       "presentation_rect" : [ 174.0, 539.0, 246.5, 20.0 ],
+                                       "presentation_rect" : [ 223.0, 539.0, 246.5, 20.0 ],
                                        "text" : "episode engine",
                                        "textjustification" : 1
                                }
                                        "maxclass" : "comment",
                                        "numinlets" : 1,
                                        "numoutlets" : 0,
-                                       "patching_rect" : [ 798.0, 962.0, 150.0, 20.0 ],
+                                       "patching_rect" : [ 962.0, 954.0, 150.0, 20.0 ],
                                        "presentation" : 1,
-                                       "presentation_rect" : [ 175.0, 395.0, 262.0, 20.0 ],
+                                       "presentation_rect" : [ 224.0, 395.0, 262.0, 20.0 ],
                                        "text" : "stretcher engine",
                                        "textjustification" : 1
                                }
                                        "maxclass" : "comment",
                                        "numinlets" : 1,
                                        "numoutlets" : 0,
-                                       "patching_rect" : [ 798.0, 938.0, 150.0, 20.0 ],
+                                       "patching_rect" : [ 962.0, 930.0, 150.0, 20.0 ],
                                        "presentation" : 1,
-                                       "presentation_rect" : [ 175.0, 335.0, 262.0, 20.0 ],
+                                       "presentation_rect" : [ 224.0, 335.0, 262.0, 20.0 ],
                                        "text" : "noise engine",
                                        "textjustification" : 1
                                }
                                        "maxclass" : "comment",
                                        "numinlets" : 1,
                                        "numoutlets" : 0,
-                                       "patching_rect" : [ 798.0, 915.0, 150.0, 20.0 ],
+                                       "patching_rect" : [ 962.0, 907.0, 150.0, 20.0 ],
                                        "presentation" : 1,
-                                       "presentation_rect" : [ 175.0, 272.5, 262.0, 20.0 ],
+                                       "presentation_rect" : [ 224.0, 273.0, 262.0, 20.0 ],
                                        "text" : "fragment engine 2",
                                        "textjustification" : 1
                                }
                                        "maxclass" : "comment",
                                        "numinlets" : 1,
                                        "numoutlets" : 0,
-                                       "patching_rect" : [ 798.0, 891.0, 150.0, 20.0 ],
+                                       "patching_rect" : [ 962.0, 883.0, 150.0, 20.0 ],
                                        "presentation" : 1,
-                                       "presentation_rect" : [ 175.0, 212.0, 262.0, 20.0 ],
+                                       "presentation_rect" : [ 224.0, 212.0, 262.0, 20.0 ],
                                        "text" : "fragment engine 1",
                                        "textjustification" : 1
                                }
                                        "maxclass" : "comment",
                                        "numinlets" : 1,
                                        "numoutlets" : 0,
-                                       "patching_rect" : [ 798.0, 867.0, 150.0, 20.0 ],
+                                       "patching_rect" : [ 962.0, 859.0, 150.0, 20.0 ],
                                        "presentation" : 1,
-                                       "presentation_rect" : [ 175.0, 151.0, 262.0, 20.0 ],
+                                       "presentation_rect" : [ 224.0, 151.0, 262.0, 20.0 ],
                                        "text" : "episode engine",
                                        "textjustification" : 1
                                }
                                        "numinlets" : 2,
                                        "numoutlets" : 1,
                                        "outlettype" : [ "" ],
-                                       "patching_rect" : [ 1871.0, 851.0, 84.0, 19.0 ],
+                                       "patching_rect" : [ 828.0, 899.0, 84.0, 19.0 ],
                                        "presentation" : 1,
-                                       "presentation_rect" : [ 332.0, 495.0, 88.0, 19.0 ],
+                                       "presentation_rect" : [ 381.0, 495.0, 88.0, 19.0 ],
                                        "text" : "TURN OFF AUDIO",
                                        "textcolor" : [ 1.0, 1.0, 1.0, 1.0 ],
                                        "textjustification" : 1
                                        "numoutlets" : 2,
                                        "outlettype" : [ "", "" ],
                                        "parameter_enable" : 1,
-                                       "patching_rect" : [ 556.0, 908.5, 50.0, 23.0 ],
+                                       "patching_rect" : [ 605.0, 822.0, 50.0, 23.0 ],
                                        "presentation" : 1,
-                                       "presentation_rect" : [ 173.5, 781.0, 247.0, 60.0 ],
+                                       "presentation_rect" : [ 223.0, 781.0, 247.0, 60.0 ],
                                        "saved_attribute_attributes" :                                  {
                                                "valueof" :                                             {
                                                        "parameter_invisible" : 1,
                                        "numoutlets" : 2,
                                        "outlettype" : [ "", "" ],
                                        "parameter_enable" : 1,
-                                       "patching_rect" : [ 496.0, 908.5, 50.0, 23.0 ],
+                                       "patching_rect" : [ 545.0, 822.0, 50.0, 23.0 ],
                                        "presentation" : 1,
-                                       "presentation_rect" : [ 173.5, 716.0, 247.0, 60.0 ],
+                                       "presentation_rect" : [ 223.0, 716.0, 247.0, 60.0 ],
                                        "saved_attribute_attributes" :                                  {
                                                "valueof" :                                             {
                                                        "parameter_invisible" : 1,
                                        "numoutlets" : 2,
                                        "outlettype" : [ "", "" ],
                                        "parameter_enable" : 1,
-                                       "patching_rect" : [ 439.0, 908.5, 50.0, 23.0 ],
+                                       "patching_rect" : [ 488.0, 822.0, 50.0, 23.0 ],
                                        "presentation" : 1,
-                                       "presentation_rect" : [ 173.5, 650.0, 247.0, 60.0 ],
+                                       "presentation_rect" : [ 223.0, 650.0, 247.0, 60.0 ],
                                        "saved_attribute_attributes" :                                  {
                                                "valueof" :                                             {
                                                        "parameter_invisible" : 1,
                                        "numoutlets" : 2,
                                        "outlettype" : [ "", "" ],
                                        "parameter_enable" : 1,
-                                       "patching_rect" : [ 378.5, 908.5, 50.0, 23.0 ],
+                                       "patching_rect" : [ 427.0, 822.0, 50.0, 23.0 ],
                                        "presentation" : 1,
-                                       "presentation_rect" : [ 173.5, 585.0, 247.0, 60.0 ],
+                                       "presentation_rect" : [ 223.0, 585.0, 247.0, 60.0 ],
                                        "saved_attribute_attributes" :                                  {
                                                "valueof" :                                             {
                                                        "parameter_invisible" : 1,
                                        "numoutlets" : 2,
                                        "outlettype" : [ "", "" ],
                                        "parameter_enable" : 1,
-                                       "patching_rect" : [ 321.0, 908.5, 50.0, 23.0 ],
+                                       "patching_rect" : [ 370.0, 822.0, 50.0, 23.0 ],
                                        "presentation" : 1,
-                                       "presentation_rect" : [ 173.5, 519.0, 247.0, 60.0 ],
+                                       "presentation_rect" : [ 223.0, 519.0, 247.0, 60.0 ],
                                        "saved_attribute_attributes" :                                  {
                                                "valueof" :                                             {
                                                        "parameter_invisible" : 1,
                                        "maxclass" : "newobj",
                                        "numinlets" : 1,
                                        "numoutlets" : 0,
-                                       "patching_rect" : [ 686.0, 975.0, 37.0, 22.0 ],
+                                       "patching_rect" : [ 681.0, 849.0, 37.0, 22.0 ],
                                        "text" : "s osc"
                                }
 
  ]
                                        }
 ,
-                                       "patching_rect" : [ 686.0, 947.0, 47.0, 22.0 ],
+                                       "patching_rect" : [ 681.0, 821.0, 47.0, 22.0 ],
                                        "text" : "p index"
                                }
 
                                        "orientation" : 0,
                                        "outlettype" : [ "", "" ],
                                        "parameter_enable" : 1,
-                                       "patching_rect" : [ 686.0, 879.0, 102.0, 56.0 ],
+                                       "patching_rect" : [ 681.0, 753.0, 102.0, 56.0 ],
                                        "presentation" : 1,
-                                       "presentation_rect" : [ 175.0, 129.0, 262.0, 307.0 ],
+                                       "presentation_rect" : [ 224.0, 129.0, 262.0, 307.0 ],
                                        "saved_attribute_attributes" :                                  {
                                                "valueof" :                                             {
                                                        "parameter_invisible" : 1,
                                        "numoutlets" : 1,
                                        "outlettype" : [ "" ],
                                        "patching_rect" : [ 280.0, 586.0, 242.0, 33.0 ],
-                                       "text" : "/voice/gain : -11.6919"
+                                       "text" : "/voice/gain : -39.5758"
                                }
 
                        }
                                        "numinlets" : 1,
                                        "numoutlets" : 1,
                                        "outlettype" : [ "" ],
-                                       "patching_rect" : [ 3125.0, 437.0, 304.0, 33.0 ],
-                                       "text" : "/stop : \"bang\""
+                                       "patching_rect" : [ 3125.0, 437.0, 304.0, 33.0 ]
                                }
 
                        }
                                        "outlettype" : [ "FullPacket", "FullPacket" ],
                                        "patching_rect" : [ 4122.0, 425.0, 274.0, 87.0 ],
                                        "presentation" : 1,
-                                       "presentation_rect" : [ 1217.0, 475.0, 274.0, 87.0 ],
+                                       "presentation_rect" : [ 1266.0, 475.0, 274.0, 87.0 ],
                                        "viewvisibility" : 1
                                }
 
                                        "outlettype" : [ "multichannelsignal", "multichannelsignal", "FullPacket", "signal", "FullPacket" ],
                                        "patching_rect" : [ 4021.0, 544.0, 140.0, 73.0 ],
                                        "presentation" : 1,
-                                       "presentation_rect" : [ 1495.0, 475.0, 114.0, 72.0 ],
+                                       "presentation_rect" : [ 1544.0, 475.0, 114.0, 72.0 ],
                                        "viewvisibility" : 1
                                }
 
                                        "outlettype" : [ "FullPacket", "" ],
                                        "patching_rect" : [ 4021.0, 258.0, 756.0, 88.0 ],
                                        "presentation" : 1,
-                                       "presentation_rect" : [ 451.0, 475.0, 756.0, 88.0 ],
+                                       "presentation_rect" : [ 500.0, 475.0, 756.0, 88.0 ],
                                        "viewvisibility" : 1
                                }
 
                                        "maxclass" : "comment",
                                        "numinlets" : 1,
                                        "numoutlets" : 0,
-                                       "patching_rect" : [ 1296.0, 727.0, 296.0, 20.0 ],
+                                       "patching_rect" : [ 1129.5, 765.0, 296.0, 20.0 ],
                                        "presentation" : 1,
-                                       "presentation_rect" : [ 1080.0, 754.0, 296.0, 20.0 ],
+                                       "presentation_rect" : [ 1129.0, 754.0, 296.0, 20.0 ],
                                        "text" : "Unlock / Lock Keys: option-K",
                                        "textcolor" : [ 1.0, 0.294117647058824, 0.294117647058824, 1.0 ]
                                }
                                        "outlettype" : [ "FullPacket", "FullPacket" ],
                                        "patching_rect" : [ 1929.0, 425.0, 274.0, 87.0 ],
                                        "presentation" : 1,
-                                       "presentation_rect" : [ 1217.0, 288.0, 274.0, 87.0 ],
+                                       "presentation_rect" : [ 1266.0, 288.0, 274.0, 87.0 ],
                                        "viewvisibility" : 1
                                }
 
                                        "outlettype" : [ "multichannelsignal", "multichannelsignal", "FullPacket", "signal", "FullPacket" ],
                                        "patching_rect" : [ 1828.0, 544.0, 140.0, 73.0 ],
                                        "presentation" : 1,
-                                       "presentation_rect" : [ 1495.0, 288.0, 114.0, 72.0 ],
+                                       "presentation_rect" : [ 1544.0, 288.0, 114.0, 72.0 ],
                                        "viewvisibility" : 1
                                }
 
                                        "outlettype" : [ "FullPacket", "" ],
                                        "patching_rect" : [ 1828.0, 258.0, 756.0, 88.0 ],
                                        "presentation" : 1,
-                                       "presentation_rect" : [ 451.0, 288.0, 756.0, 88.0 ],
+                                       "presentation_rect" : [ 500.0, 288.0, 756.0, 88.0 ],
                                        "viewvisibility" : 1
                                }
 
                                                "boxes" : [                                                     {
                                                                "box" :                                                                 {
                                                                        "id" : "obj-2",
-                                                                       "linecount" : 35,
+                                                                       "linecount" : 43,
                                                                        "maxclass" : "comment",
                                                                        "numinlets" : 1,
                                                                        "numoutlets" : 0,
-                                                                       "patching_rect" : [ 39.0, 16.0, 819.0, 476.0 ],
-                                                                       "text" : "log 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, 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" : [ 1133.0, 30.0, 74.0, 22.0 ],
                                        "presentation" : 1,
-                                       "presentation_rect" : [ 982.0, 776.0, 74.0, 22.0 ],
+                                       "presentation_rect" : [ 1031.0, 776.0, 74.0, 22.0 ],
                                        "text" : "p changelog"
                                }
 
                                        "numoutlets" : 0,
                                        "patching_rect" : [ 933.0, 109.0, 109.0, 20.0 ],
                                        "presentation" : 1,
-                                       "presentation_rect" : [ 451.0, 661.0, 133.0, 20.0 ],
+                                       "presentation_rect" : [ 500.0, 661.0, 133.0, 20.0 ],
                                        "text" : "master metronome",
                                        "textjustification" : 1
                                }
                                        "numinlets" : 2,
                                        "numoutlets" : 1,
                                        "outlettype" : [ "" ],
-                                       "patching_rect" : [ 1647.0, 876.0, 55.0, 22.0 ],
+                                       "patching_rect" : [ 604.0, 924.0, 55.0, 22.0 ],
                                        "text" : "pipe 300"
                                }
 
                                        "numinlets" : 1,
                                        "numoutlets" : 1,
                                        "outlettype" : [ "" ],
-                                       "patching_rect" : [ 1647.0, 852.0, 70.0, 22.0 ],
+                                       "patching_rect" : [ 604.0, 900.0, 70.0, 22.0 ],
                                        "text" : "loadmess 1"
                                }
 
                                        "maxclass" : "comment",
                                        "numinlets" : 1,
                                        "numoutlets" : 0,
-                                       "patching_rect" : [ 1300.0, 749.0, 296.0, 114.0 ],
+                                       "patching_rect" : [ 1133.5, 787.0, 296.0, 114.0 ],
                                        "presentation" : 1,
                                        "presentation_linecount" : 8,
-                                       "presentation_rect" : [ 1080.0, 640.0, 296.0, 114.0 ],
+                                       "presentation_rect" : [ 1129.0, 640.0, 296.0, 114.0 ],
                                        "text" : "LEGEND\n\nR: hit 'r' to refresh the cache with new data from edits\nW: hit 'w' to write the current global parameters to disk\nG: global messaging\nX: hit x to play/stop the sequencer\nA: advance sequencer manually\n[space] : panic off "
                                }
 
                                        "numinlets" : 2,
                                        "numoutlets" : 1,
                                        "outlettype" : [ "" ],
-                                       "patching_rect" : [ 1771.0, 891.0, 29.0, 19.0 ],
+                                       "patching_rect" : [ 728.0, 939.0, 29.0, 19.0 ],
                                        "presentation" : 1,
-                                       "presentation_rect" : [ 810.0, 779.0, 29.0, 19.0 ],
+                                       "presentation_rect" : [ 859.0, 779.0, 29.0, 19.0 ],
                                        "text" : "open"
                                }
 
                                        "numinlets" : 2,
                                        "numoutlets" : 1,
                                        "outlettype" : [ "" ],
-                                       "patching_rect" : [ 1731.0, 893.0, 27.0, 19.0 ],
+                                       "patching_rect" : [ 688.0, 941.0, 27.0, 19.0 ],
                                        "text" : "0"
                                }
 
                                        "numinlets" : 2,
                                        "numoutlets" : 1,
                                        "outlettype" : [ "" ],
-                                       "patching_rect" : [ 1731.0, 857.0, 127.0, 24.0 ],
+                                       "patching_rect" : [ 688.0, 905.0, 127.0, 24.0 ],
                                        "presentation" : 1,
-                                       "presentation_rect" : [ 184.0, 441.0, 244.0, 24.0 ],
+                                       "presentation_rect" : [ 233.0, 441.0, 244.0, 24.0 ],
                                        "text" : "TURN OFF AUDIO",
                                        "textcolor" : [ 1.0, 1.0, 1.0, 1.0 ],
                                        "textjustification" : 1
                                        "patching_rect" : [ 1461.0, 849.0, 154.0, 127.0 ],
                                        "presentation" : 1,
                                        "presentation_linecount" : 9,
-                                       "presentation_rect" : [ 855.0, 640.0, 154.0, 127.0 ],
+                                       "presentation_rect" : [ 904.0, 640.0, 154.0, 127.0 ],
                                        "text" : "test setup (Berkeley office):\n\n1. vyper L\n2. anaconda L\n3. anaconda R\n4. vyper R\n5. tornado L\n6. tornado R\n7. sub"
                                }
 
                                        "patching_rect" : [ 1558.0, 876.0, 150.0, 100.0 ],
                                        "presentation" : 1,
                                        "presentation_linecount" : 7,
-                                       "presentation_rect" : [ 952.0, 667.0, 95.0, 100.0 ],
+                                       "presentation_rect" : [ 1001.0, 667.0, 95.0, 100.0 ],
                                        "text" : "-4.79, 4.9\n-2.92, 4.9\n2.5, 4.9\n4.5, 4.9\n-5.83, -4.8\n5.88,-4.8\nsub -6.67, 1.17"
                                }
 
                                        "maxclass" : "ezdac~",
                                        "numinlets" : 2,
                                        "numoutlets" : 0,
-                                       "patching_rect" : [ 1731.0, 919.0, 45.0, 45.0 ],
+                                       "patching_rect" : [ 688.0, 967.0, 45.0, 45.0 ],
                                        "presentation" : 1,
-                                       "presentation_rect" : [ 667.0, 709.0, 63.0, 63.0 ]
+                                       "presentation_rect" : [ 639.0, 724.0, 63.0, 63.0 ]
                                }
 
                        }
                                        "parameter_enable" : 1,
                                        "patching_rect" : [ 748.0, 30.0, 50.0, 22.0 ],
                                        "presentation" : 1,
-                                       "presentation_rect" : [ 1157.0, 70.0, 50.0, 22.0 ],
+                                       "presentation_rect" : [ 1206.0, 70.0, 50.0, 22.0 ],
                                        "saved_attribute_attributes" :                                  {
                                                "valueof" :                                             {
                                                        "parameter_invisible" : 1,
                                        "outlettype" : [ "" ],
                                        "patching_rect" : [ 748.0, 56.0, 85.0, 22.0 ],
                                        "presentation" : 1,
-                                       "presentation_rect" : [ 1217.0, 70.0, 85.0, 22.0 ],
+                                       "presentation_rect" : [ 1266.0, 70.0, 85.0, 22.0 ],
                                        "text" : "zoomfactor $1"
                                }
 
                                        "outlettype" : [ "multichannelsignal", "multichannelsignal", "FullPacket", "signal", "FullPacket" ],
                                        "patching_rect" : [ 2952.0, 544.0, 121.0, 92.0 ],
                                        "presentation" : 1,
-                                       "presentation_rect" : [ 1495.0, 383.0, 114.0, 72.0 ],
+                                       "presentation_rect" : [ 1544.0, 383.0, 114.0, 72.0 ],
                                        "viewvisibility" : 1
                                }
 
                                        "outlettype" : [ "FullPacket", "" ],
                                        "patching_rect" : [ 2952.0, 258.0, 756.0, 88.0 ],
                                        "presentation" : 1,
-                                       "presentation_rect" : [ 451.0, 383.0, 756.0, 88.0 ],
+                                       "presentation_rect" : [ 500.0, 383.0, 756.0, 88.0 ],
                                        "viewvisibility" : 1
                                }
 
                                        "numoutlets" : 0,
                                        "patching_rect" : [ 1053.0, 76.0, 128.0, 20.0 ],
                                        "presentation" : 1,
-                                       "presentation_rect" : [ 448.0, 607.0, 128.0, 20.0 ],
+                                       "presentation_rect" : [ 497.0, 607.0, 128.0, 20.0 ],
                                        "text" : "manually advance seq"
                                }
 
                                        "outlettype" : [ "FullPacket", "FullPacket" ],
                                        "patching_rect" : [ 1048.0, 425.0, 274.0, 87.0 ],
                                        "presentation" : 1,
-                                       "presentation_rect" : [ 1217.0, 196.0, 274.0, 87.0 ],
+                                       "presentation_rect" : [ 1266.0, 196.0, 274.0, 87.0 ],
                                        "viewvisibility" : 1
                                }
 
                                        "outlettype" : [ "multichannelsignal", "multichannelsignal", "FullPacket", "signal", "FullPacket" ],
                                        "patching_rect" : [ 947.0, 544.0, 140.0, 73.0 ],
                                        "presentation" : 1,
-                                       "presentation_rect" : [ 1495.0, 196.0, 114.0, 72.0 ],
+                                       "presentation_rect" : [ 1544.0, 196.0, 114.0, 72.0 ],
                                        "viewvisibility" : 1
                                }
 
                                        "outlettype" : [ "FullPacket", "" ],
                                        "patching_rect" : [ 947.0, 258.0, 756.0, 88.0 ],
                                        "presentation" : 1,
-                                       "presentation_rect" : [ 451.0, 195.0, 756.0, 88.0 ],
+                                       "presentation_rect" : [ 500.0, 195.0, 756.0, 88.0 ],
                                        "viewvisibility" : 1
                                }
 
                                        "offset" : [ 0.0, 0.0 ],
                                        "patching_rect" : [ 914.0, 75.0, 135.0, 33.0 ],
                                        "presentation" : 1,
-                                       "presentation_rect" : [ 451.0, 629.0, 133.0, 158.0 ],
+                                       "presentation_rect" : [ 500.0, 629.0, 133.0, 158.0 ],
                                        "viewvisibility" : 1
                                }
 
                                        "parameter_enable" : 0,
                                        "patching_rect" : [ 363.0, 20.5, 353.0, 29.0 ],
                                        "presentation" : 1,
-                                       "presentation_rect" : [ 767.0, 66.0, 353.0, 29.0 ],
+                                       "presentation_rect" : [ 816.0, 66.0, 353.0, 29.0 ],
                                        "text" : "saved...",
                                        "textjustification" : 1
                                }
                                        "parameter_enable" : 1,
                                        "patching_rect" : [ 242.0, 92.5, 55.0, 19.0 ],
                                        "presentation" : 1,
-                                       "presentation_rect" : [ 739.0, 779.0, 63.0, 19.0 ],
+                                       "presentation_rect" : [ 733.0, 698.5, 63.0, 19.0 ],
                                        "saved_attribute_attributes" :                                  {
                                                "valueof" :                                             {
                                                        "parameter_enum" : [ "keyboard off", "keyboard on" ],
                        }
 ,                      {
                                "box" :                                 {
-                                       "bgcolor" : [ 0.322, 0.443, 0.341, 1.0 ],
+                                       "bgcolor" : [ 0.592, 0.141, 0.141, 1.0 ],
                                        "checkedcolor" : [ 0.709803921568627, 0.764705882352941, 0.850980392156863, 1.0 ],
                                        "id" : "obj-14",
                                        "maxclass" : "toggle",
                                        "parameter_enable" : 1,
                                        "patching_rect" : [ 242.0, 55.5, 29.0, 29.0 ],
                                        "presentation" : 1,
-                                       "presentation_rect" : [ 739.0, 709.0, 63.0, 63.0 ],
+                                       "presentation_rect" : [ 733.0, 628.5, 63.0, 63.0 ],
                                        "saved_attribute_attributes" :                                  {
                                                "valueof" :                                             {
                                                        "parameter_enum" : [ "off", "on" ],
 ,
                                        "patching_rect" : [ 460.0, 62.0, 115.0, 22.0 ],
                                        "presentation" : 1,
-                                       "presentation_rect" : [ 855.0, 776.0, 115.0, 22.0 ],
+                                       "presentation_rect" : [ 904.0, 776.0, 115.0, 22.0 ],
                                        "text" : "p global_messaging"
                                }
 
                                        "outlettype" : [ "FullPacket", "FullPacket" ],
                                        "patching_rect" : [ 144.0, 425.0, 274.0, 87.0 ],
                                        "presentation" : 1,
-                                       "presentation_rect" : [ 1217.0, 103.0, 274.0, 87.0 ],
+                                       "presentation_rect" : [ 1266.0, 103.0, 274.0, 87.0 ],
                                        "viewvisibility" : 1
                                }
 
                                        "numoutlets" : 0,
                                        "patching_rect" : [ 73.0, 25.0, 198.0, 20.0 ],
                                        "presentation" : 1,
-                                       "presentation_rect" : [ 477.0, 70.0, 198.0, 20.0 ],
+                                       "presentation_rect" : [ 526.0, 70.0, 198.0, 20.0 ],
                                        "text" : "reload master dict from disk (revert)"
                                }
 
                                        "parameter_enable" : 1,
                                        "patching_rect" : [ 47.0, 23.0, 24.0, 24.0 ],
                                        "presentation" : 1,
-                                       "presentation_rect" : [ 451.0, 68.0, 24.0, 24.0 ],
+                                       "presentation_rect" : [ 500.0, 68.0, 24.0, 24.0 ],
                                        "saved_attribute_attributes" :                                  {
                                                "valueof" :                                             {
                                                        "parameter_enum" : [ "off", "on" ],
                                                                                                "box" :                                                                                                 {
                                                                                                        "fontface" : 0,
                                                                                                        "id" : "obj-26",
-                                                                                                       "linecount" : 82,
+                                                                                                       "linecount" : 83,
                                                                                                        "maxclass" : "o.display",
                                                                                                        "numinlets" : 1,
                                                                                                        "numoutlets" : 1,
                                                                                                        "outlettype" : [ "" ],
                                                                                                        "patching_rect" : [ 50.0, 100.0, 335.0, 853.0 ],
-                                                                                                       "text" : "/engine/1/zone/voice/gain : -11.6919,\n/engine/5/zone/voice/gain : -19.5267,\n/engine/4/zone/voice/gain : -43.6031,\n/engine/3/zone/voice/gain : -49.1145,\n/engine/2/zone/voice/gain : -35.4809,\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, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0],\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/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/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/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/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/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/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/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/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/1/polybuf/path : \"Macintosh HD:/Users/jml/Documents/work/hugh_livingston/audio_files/_SonogardenCollections/Bamboo/\",\n/engine/2/polybuf/path : \"Macintosh HD:/Users/jml/Documents/work/hugh_livingston/audio_files/_SonogardenCollections/blackgrosbeak/\",\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 : 1"
+                                                                                                       "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"
                                                                                                }
 
                                                                                        }
                                        "outlettype" : [ "multichannelsignal", "multichannelsignal", "FullPacket", "signal", "FullPacket" ],
                                        "patching_rect" : [ 47.0, 544.0, 140.0, 73.0 ],
                                        "presentation" : 1,
-                                       "presentation_rect" : [ 1495.0, 103.0, 114.0, 72.0 ],
+                                       "presentation_rect" : [ 1544.0, 103.0, 114.0, 72.0 ],
                                        "viewvisibility" : 1
                                }
 
                                        "outlettype" : [ "FullPacket", "" ],
                                        "patching_rect" : [ 47.0, 258.0, 756.0, 88.0 ],
                                        "presentation" : 1,
-                                       "presentation_rect" : [ 451.0, 102.0, 756.0, 88.0 ],
+                                       "presentation_rect" : [ 500.0, 102.0, 756.0, 88.0 ],
                                        "viewvisibility" : 1
                                }
 
                                        "numinlets" : 0,
                                        "numoutlets" : 0,
                                        "orientation" : 0,
-                                       "patching_rect" : [ 720.125774145126343, 776.100615978240967, 57.861634254455566, 81.387795283590208 ],
+                                       "patching_rect" : [ 445.5, 861.005493462085724, 57.861634254455566, 81.387795283590208 ],
                                        "presentation" : 1,
-                                       "presentation_rect" : [ 171.0, 488.0, 253.0, 355.868140816688538 ],
-                                       "tabname" : "score"
+                                       "presentation_rect" : [ 220.0, 488.0, 253.0, 355.868140816688538 ],
+                                       "tabname" : "score display"
                                }
 
                        }
                                        "numinlets" : 0,
                                        "numoutlets" : 0,
                                        "orientation" : 0,
-                                       "patching_rect" : [ 646.0, 776.0, 59.0, 82.989013075828552 ],
+                                       "patching_rect" : [ 371.5, 861.005493462085724, 59.0, 82.989013075828552 ],
                                        "presentation" : 1,
-                                       "presentation_rect" : [ 175.0, 103.0, 262.000010339542939, 368.527496337890568 ],
+                                       "presentation_rect" : [ 224.0, 103.0, 262.000010339542939, 368.527496337890568 ],
                                        "tabname" : "level adjustment"
                                }
 
                                        "source" : [ "obj-104", 0 ]
                                }
 
+                       }
+,                      {
+                               "patchline" :                           {
+                                       "destination" : [ "obj-65", 0 ],
+                                       "source" : [ "obj-112", 0 ]
+                               }
+
                        }
 ,                      {
                                "patchline" :                           {
                        "obj-109" : [ "multislider[3]", "multislider[1]", 0 ],
                        "obj-110" : [ "multislider[4]", "multislider[1]", 0 ],
                        "obj-111" : [ "multislider[5]", "multislider[1]", 0 ],
+                       "obj-112" : [ "button[5]", "button[5]", 0 ],
                        "obj-133" : [ "multislider", "multislider", 0 ],
                        "obj-134" : [ "toggle[1]", "toggle[1]", 0 ],
                        "obj-135" : [ "toggle[2]", "toggle[1]", 0 ],