From b41a94c7a26f235a56aa98a03d5a4d8048482250 Mon Sep 17 00:00:00 2001 From: computermusik Date: Mon, 2 Sep 2024 22:05:41 +0200 Subject: [PATCH] new feature Instruments are settable from the clients --- hss-distributed-client.maxpat | 324 ++++++++++++++++++++++++++++++---- hss-distributed-server.maxpat | 44 ++--- 2 files changed, 306 insertions(+), 62 deletions(-) diff --git a/hss-distributed-client.maxpat b/hss-distributed-client.maxpat index c6e8fc2..d38c404 100644 --- a/hss-distributed-client.maxpat +++ b/hss-distributed-client.maxpat @@ -10,7 +10,7 @@ } , "classnamespace" : "box", - "rect" : [ 472.0, 598.0, 849.0, 300.0 ], + "rect" : [ 492.0, 637.0, 849.0, 300.0 ], "bglocked" : 1, "openinpresentation" : 1, "default_fontsize" : 12.0, @@ -38,8 +38,19 @@ "style" : "", "subpatcher_template" : "", "assistshowspatchername" : 0, - "globalpatchername" : "client", "boxes" : [ { + "box" : { + "id" : "obj-63", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 400.0, 139.0, 73.0, 22.0 ], + "text" : "pattrforward" + } + + } +, { "box" : { "hidden" : 1, "id" : "obj-76", @@ -958,18 +969,6 @@ "text" : "mc.gate~ 3 1" } - } -, { - "box" : { - "id" : "obj-31", - "maxclass" : "newobj", - "numinlets" : 1, - "numoutlets" : 1, - "outlettype" : [ "" ], - "patching_rect" : [ 893.0, 21.0, 101.0, 22.0 ], - "text" : "pattrmarker client" - } - } , { "box" : { @@ -1348,7 +1347,7 @@ "numinlets" : 1, "numoutlets" : 1, "outlettype" : [ "" ], - "patching_rect" : [ 477.0, 66.0, 54.0, 22.0 ], + "patching_rect" : [ 546.0, 70.0, 54.0, 22.0 ], "text" : "deferlow" } @@ -1361,7 +1360,7 @@ "numinlets" : 2, "numoutlets" : 1, "outlettype" : [ "" ], - "patching_rect" : [ 477.0, 122.0, 508.0, 35.0 ], + "patching_rect" : [ 546.0, 126.0, 508.0, 35.0 ], "text" : "instrument 1 2 0 1, instrument 3 4 0 2, instrument 5 6 0 3, instrument 7 8 0 4, instrument Bell-1.instr 1 2 0 1" } @@ -1373,7 +1372,7 @@ "numinlets" : 2, "numoutlets" : 1, "outlettype" : [ "" ], - "patching_rect" : [ 507.5, 94.0, 132.0, 22.0 ], + "patching_rect" : [ 577.0, 98.0, 132.0, 22.0 ], "text" : "bank Tutorial.bank.json" } @@ -1384,7 +1383,7 @@ "maxclass" : "newobj", "numinlets" : 2, "numoutlets" : 0, - "patching_rect" : [ 538.0, 66.0, 35.0, 22.0 ], + "patching_rect" : [ 607.0, 70.0, 35.0, 22.0 ], "text" : "dac~" } @@ -1396,7 +1395,7 @@ "numinlets" : 1, "numoutlets" : 3, "outlettype" : [ "bang", "bang", "start" ], - "patching_rect" : [ 477.0, 37.0, 80.0, 22.0 ], + "patching_rect" : [ 546.0, 41.0, 80.0, 22.0 ], "text" : "t b b start" } @@ -1408,22 +1407,10 @@ "numinlets" : 1, "numoutlets" : 1, "outlettype" : [ "bang" ], - "patching_rect" : [ 477.0, 8.0, 58.0, 22.0 ], + "patching_rect" : [ 546.0, 12.0, 58.0, 22.0 ], "text" : "loadbang" } - } -, { - "box" : { - "id" : "obj-7", - "maxclass" : "message", - "numinlets" : 2, - "numoutlets" : 1, - "outlettype" : [ "" ], - "patching_rect" : [ 318.0, 90.0, 142.0, 22.0 ], - "text" : "shutdown /s /f /hybrid /t 0" - } - } , { "box" : { @@ -1507,19 +1494,20 @@ , { "box" : { "id" : "obj-8", + "linecount" : 2, "maxclass" : "newobj", "numinlets" : 1, "numoutlets" : 1, "outlettype" : [ "" ], - "patching_rect" : [ 396.0, 62.0, 73.0, 22.0 ], + "patching_rect" : [ 400.0, 62.0, 132.0, 35.0 ], "saved_object_attributes" : { - "client_rect" : [ 1057, 45, 1440, 407 ], + "client_rect" : [ 907, 207, 1597, 861 ], "parameter_enable" : 0, "parameter_mappable" : 0, - "storage_rect" : [ 583, 69, 1034, 197 ] + "storage_rect" : [ 100, 172, 551, 300 ] } , - "text" : "pattrstorage", + "text" : "pattrstorage @greedy 1 @outputmode 1", "varname" : "u739016297" } @@ -6234,6 +6222,256 @@ "viewvisibility" : 1 } + } +, { + "box" : { + "id" : "obj-7", + "maxclass" : "message", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 318.0, 104.0, 142.0, 22.0 ], + "text" : "shutdown /s /f /hybrid /t 0" + } + + } +, { + "box" : { + "id" : "obj-77", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patcher" : { + "fileversion" : 1, + "appversion" : { + "major" : 8, + "minor" : 6, + "revision" : 4, + "architecture" : "x64", + "modernui" : 1 + } +, + "classnamespace" : "box", + "rect" : [ 537.0, 384.0, 560.0, 357.0 ], + "bglocked" : 0, + "openinpresentation" : 0, + "default_fontsize" : 12.0, + "default_fontface" : 0, + "default_fontname" : "Arial", + "gridonopen" : 1, + "gridsize" : [ 15.0, 15.0 ], + "gridsnaponopen" : 1, + "objectsnaponopen" : 1, + "statusbarvisible" : 2, + "toolbarvisible" : 1, + "lefttoolbarpinned" : 0, + "toptoolbarpinned" : 0, + "righttoolbarpinned" : 0, + "bottomtoolbarpinned" : 0, + "toolbars_unpinned_last_save" : 0, + "tallnewobj" : 0, + "boxanimatetime" : 200, + "enablehscroll" : 1, + "enablevscroll" : 1, + "devicewidth" : 0.0, + "description" : "", + "digest" : "", + "tags" : "", + "style" : "", + "subpatcher_template" : "", + "assistshowspatchername" : 0, + "boxes" : [ { + "box" : { + "id" : "obj-17", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "int" ], + "patching_rect" : [ 95.5, 179.0, 29.5, 22.0 ], + "text" : "+ 1" + } + + } +, { + "box" : { + "id" : "obj-16", + "maxclass" : "message", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 228.0, 260.0, 228.0, 22.0 ], + "text" : "::server::hub::instrument::instrument-1 19" + } + + } +, { + "box" : { + "id" : "obj-15", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 5, + "outlettype" : [ "", "", "", "", "" ], + "patching_rect" : [ 81.0, 149.0, 77.0, 22.0 ], + "text" : "regexp (\\\\d+)" + } + + } +, { + "box" : { + "id" : "obj-10", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 2, + "outlettype" : [ "", "" ], + "patching_rect" : [ 81.0, 67.0, 55.0, 22.0 ], + "text" : "zl.slice 1" + } + + } +, { + "box" : { + "id" : "obj-8", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 95.5, 210.0, 271.0, 22.0 ], + "text" : "sprintf ::server::hub::instrument::instrument-%i %i" + } + + } +, { + "box" : { + "id" : "obj-7", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "int" ], + "patching_rect" : [ 117.0, 101.0, 29.5, 22.0 ], + "text" : "- 1" + } + + } +, { + "box" : { + "id" : "obj-1", + "maxclass" : "message", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 95.5, 260.0, 91.0, 22.0 ], + "presentation_linecount" : 3, + "text" : "send $1, set $2" + } + + } +, { + "box" : { + "comment" : "", + "id" : "obj-64", + "index" : 1, + "maxclass" : "inlet", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 81.0, 20.0, 30.0, 30.0 ] + } + + } +, { + "box" : { + "comment" : "", + "id" : "obj-65", + "index" : 1, + "maxclass" : "outlet", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 95.5, 296.0, 30.0, 30.0 ] + } + + } + ], + "lines" : [ { + "patchline" : { + "destination" : [ "obj-65", 0 ], + "source" : [ "obj-1", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-15", 0 ], + "source" : [ "obj-10", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-7", 0 ], + "source" : [ "obj-10", 1 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-17", 0 ], + "source" : [ "obj-15", 1 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-8", 0 ], + "source" : [ "obj-17", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-10", 0 ], + "source" : [ "obj-64", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-8", 1 ], + "midpoints" : [ 126.5, 134.5, 357.0, 134.5 ], + "source" : [ "obj-7", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-1", 0 ], + "order" : 1, + "source" : [ "obj-8", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-16", 1 ], + "order" : 0, + "source" : [ "obj-8", 0 ] + } + + } + ] + } +, + "patching_rect" : [ 400.0, 104.0, 50.0, 22.0 ], + "saved_object_attributes" : { + "description" : "", + "digest" : "", + "globalpatchername" : "", + "tags" : "" + } +, + "text" : "p" + } + } , { "box" : { @@ -6855,6 +7093,13 @@ "source" : [ "obj-76", 0 ] } + } +, { + "patchline" : { + "destination" : [ "obj-63", 0 ], + "source" : [ "obj-77", 0 ] + } + } , { "patchline" : { @@ -6862,6 +7107,13 @@ "source" : [ "obj-78", 0 ] } + } +, { + "patchline" : { + "destination" : [ "obj-77", 0 ], + "source" : [ "obj-8", 0 ] + } + } , { "patchline" : { diff --git a/hss-distributed-server.maxpat b/hss-distributed-server.maxpat index 2bb7e27..ca98b0d 100644 --- a/hss-distributed-server.maxpat +++ b/hss-distributed-server.maxpat @@ -38,14 +38,27 @@ "style" : "", "subpatcher_template" : "", "assistshowspatchername" : 0, + "globalpatchername" : "server", "boxes" : [ { + "box" : { + "id" : "obj-33", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 362.0, 6.5, 107.0, 22.0 ], + "text" : "pattrmarker server" + } + + } +, { "box" : { "id" : "obj-24", "maxclass" : "message", "numinlets" : 2, "numoutlets" : 1, "outlettype" : [ "" ], - "patching_rect" : [ 1160.5, 328.0, 77.0, 22.0 ], + "patching_rect" : [ 1169.0, 377.0, 77.0, 22.0 ], "presentation" : 1, "presentation_rect" : [ 525.0, 98.0, 77.0, 22.0 ], "text" : "clientwindow" @@ -206,18 +219,6 @@ "text" : "read" } - } -, { - "box" : { - "id" : "obj-70", - "maxclass" : "message", - "numinlets" : 2, - "numoutlets" : 1, - "outlettype" : [ "" ], - "patching_rect" : [ 1227.0, 604.0, 84.0, 22.0 ], - "text" : "-> drawsocket" - } - } , { "box" : { @@ -261,7 +262,7 @@ } , "classnamespace" : "box", - "rect" : [ 625.0, 141.0, 1301.0, 761.0 ], + "rect" : [ 177.0, 141.0, 1301.0, 761.0 ], "bglocked" : 0, "openinpresentation" : 0, "default_fontsize" : 12.0, @@ -4414,7 +4415,7 @@ "outlettype" : [ "", "", "", "" ], "patching_rect" : [ 83.0, 16.0, 56.0, 22.0 ], "restore" : { - "instrument-1" : [ "Bell-1.instr" ], + "instrument-1" : [ "FretSound.instr" ], "instrument-2" : [ "Bell-1.instr" ], "instrument-3" : [ "Bell-1.instr" ], "instrument-4" : [ "Bell-1.instr" ] @@ -7913,10 +7914,10 @@ } , "saved_object_attributes" : { - "client_rect" : [ 903, 490, 1512, 806 ], + "client_rect" : [ 907, 207, 1597, 861 ], "parameter_enable" : 0, "parameter_mappable" : 0, - "storage_rect" : [ 583, 69, 1034, 197 ] + "storage_rect" : [ 100, 172, 551, 300 ] } , "text" : "pattrstorage DJster @greedy 1 @outputmode 1", @@ -8623,7 +8624,6 @@ , { "patchline" : { "destination" : [ "obj-1", 0 ], - "order" : 1, "source" : [ "obj-61", 0 ] } @@ -8634,14 +8634,6 @@ "source" : [ "obj-61", 1 ] } - } -, { - "patchline" : { - "destination" : [ "obj-70", 0 ], - "order" : 0, - "source" : [ "obj-61", 0 ] - } - } , { "patchline" : {