min and max display

This commit is contained in:
Kieran McAuliffe 2024-07-23 15:59:56 +02:00
parent e50e4c1e0c
commit 8381daf468
5 changed files with 187 additions and 321 deletions

View File

@ -39,6 +39,18 @@
"subpatcher_template" : "",
"assistshowspatchername" : 0,
"boxes" : [ {
"box" : {
"id" : "obj-8",
"linecount" : 2,
"maxclass" : "comment",
"numinlets" : 1,
"numoutlets" : 0,
"patching_rect" : [ 869.0, 74.0, 168.0, 33.0 ],
"text" : "TODO - must deenumerate inputs coming from DJster"
}
}
, {
"box" : {
"id" : "obj-16",
"maxclass" : "message",
@ -92,7 +104,7 @@
"data" : {
"enumArrays" : [ [ 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ], [ "2", 2, 2, 2, "2", "2", "2", "2", "2", "2" ], [ "event_length", "meter", "stream", "scale", "attenuation", "attenuation", "attenuation", "attenuation", "attenuation", "attenuation" ] ],
"enumMats" : [ [ [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ], [ "0", "1", "2", 3, 4, 5, 6, 7, 8, 9, 10 ], [ "0", "1", "2", 3, 4, 5, 6, 7, 8, 9, 10 ], [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ], [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ], [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ], [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ], [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ], [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ], [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ], [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ], [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ], [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ], [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ], [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ], [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ], [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ], [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ], [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ], [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ] ], [ [ "param", "param", "param", "param", "param", "param", "param", "param", "param", "param" ], [ "3 4", "7 8", "param", "param", "param", "param", "param", "param", "param", "param" ], [ "0", "1", "param", "param", "param", "param", "param", "param", "param", "param" ], [ "pentatonic", "major", "param", "param", "param", "param", "param", "param", "param", "param" ], [ "param", "param", "param", "param", "param", "param", "param", "param", "param", "param" ], [ "param", "param", "param", "param", "param", "param", "param", "param", "param", "param" ], [ "param", "param", "param", "param", "param", "param", "param", "param", "param", "param" ], [ "param", "param", "param", "param", "param", "param", "param", "param", "param", "param" ], [ "param", "param", "param", "param", "param", "param", "param", "param", "param", "param" ], [ "param", "param", "param", "param", "param", "param", "param", "param", "param", "param" ], [ "param", "param", "param", "param", "param", "param", "param", "param", "param", "param" ], [ "param", "param", "param", "param", "param", "param", "param", "param", "param", "param" ], [ "param", "param", "param", "param", "param", "param", "param", "param", "param", "param" ], [ "param", "param", "param", "param", "param", "param", "param", "param", "param", "param" ], [ "param", "param", "param", "param", "param", "param", "param", "param", "param", "param" ], [ "param", "param", "param", "param", "param", "param", "param", "param", "param", "param" ], [ "param", "param", "param", "param", "param", "param", "param", "param", "param", "param" ], [ "param", "param", "param", "param", "param", "param", "param", "param", "param", "param" ], [ "param", "param", "param", "param", "param", "param", "param", "param", "param", "param" ], [ "param", "param", "param", "param", "param", "param", "param", "param", "param", "param" ] ] ],
"modArrays" : [ [ 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ], [ "Sine", "SawUp", "SawDown", "Sine", "Sine", "Sine", "Sine", "Sine", "Sine", "Sine", "Sine", "Sine", "Sine", "Sine", "Sine", "Sine", "Sine", "Sine", "Sine", "Sine" ], [ "metriclarity", "stream", "meter", "harmoniclarity", "attenuation", "attenuation", "attenuation", "attenuation", "attenuation", "attenuation", "attenuation", "attenuation", "attenuation", "attenuation", "attenuation", "attenuation", "attenuation", "attenuation", "attenuation", "attenuation" ], [ "0.6", "0.3", "0.1", "0.6", "1", "1", "1", "1", "1", "1", "1", "1", "1", "1", "1", "1", "1", "1", "1", "1" ], [ "30", "2", "2", "1", "1", "1", "1", "1", "1", "1", "1", "1", "1", "1", "1", "1", "1", "1", "1", "1" ], [ "0", "0", "0", "0.5", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0" ] ]
"modArrays" : [ [ 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ], [ "Sine", "SawUp", "SawDown", "Sine", "Sine", "Sine", "Sine", "Sine", "Sine", "Sine", "Sine", "Sine", "Sine", "Sine", "Sine", "Sine", "Sine", "Sine", "Sine", "Sine" ], [ "metriclarity", "stream", "meter", "harmoniclarity", "attenuation", "attenuation", "attenuation", "attenuation", "attenuation", "attenuation", "attenuation", "attenuation", "attenuation", "attenuation", "attenuation", "attenuation", "attenuation", "attenuation", "attenuation", "attenuation" ], [ "0.6", "0.3", "0.1", "0.6", "1", "1", "1", "1", "1", "1", "1", "1", "1", "1", "1", "1", "1", "1", "1", "1" ], [ "30", "2", "2", "36", "1", "1", "1", "1", "1", "1", "1", "1", "1", "1", "1", "1", "1", "1", "1", "1" ], [ "0", "0", "0", "0.5", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0" ] ]
}
}
@ -120,7 +132,7 @@
"numinlets" : 1,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 716.926318152946351, 328.971981048583984, 71.0, 22.0 ],
"patching_rect" : [ 839.266704782050965, 318.971981048583984, 71.0, 22.0 ],
"text" : "fromsymbol"
}
@ -153,7 +165,7 @@
"numoutlets" : 4,
"offset" : [ 0.0, 0.0 ],
"outlettype" : [ "", "bang", "", "dictionary" ],
"patching_rect" : [ 716.926318152946351, 356.653744474845894, 465.200012000000015, 171.399993999999992 ],
"patching_rect" : [ 839.266704782050965, 346.653744474845894, 465.200012000000015, 171.399993999999992 ],
"varname" : "Djster.µbus[1]",
"viewvisibility" : 1
}
@ -166,7 +178,7 @@
"numinlets" : 1,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 68.8047869048537, 238.018703579902649, 643.105266809463501, 318.0 ],
"patching_rect" : [ 68.8047869048537, 239.018703579902649, 710.105266809463501, 317.0 ],
"rendermode" : 0,
"url" : "file://lfogui.html"
}

View File

@ -10,7 +10,7 @@
}
,
"classnamespace" : "box",
"rect" : [ 646.0, 91.0, 1220.0, 869.0 ],
"rect" : [ 264.0, 101.0, 1260.0, 869.0 ],
"bglocked" : 0,
"openinpresentation" : 0,
"default_fontsize" : 12.0,
@ -40,27 +40,109 @@
"assistshowspatchername" : 0,
"boxes" : [ {
"box" : {
"id" : "obj-9",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 4,
"outlettype" : [ "", "bang", "", "dictionary" ],
"patching_rect" : [ 851.0, 673.0, 50.5, 22.0 ],
"text" : "DJster",
"varname" : "DJster"
"id" : "obj-41",
"maxclass" : "message",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 947.0, 595.0, 156.0, 22.0 ],
"text" : "attenuation 200"
}
}
, {
"box" : {
"id" : "obj-28",
"linecount" : 2,
"id" : "obj-39",
"maxclass" : "message",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 475.0, 654.0, 161.0, 35.0 ],
"text" : "\"harmoniclarity 0.4392039162577105\""
"patching_rect" : [ 822.0, 595.0, 101.0, 22.0 ],
"text" : "scale major"
}
}
, {
"box" : {
"id" : "obj-35",
"maxclass" : "message",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 660.0, 595.0, 157.0, 22.0 ],
"text" : "harmoniclarity 0.944068"
}
}
, {
"box" : {
"id" : "obj-33",
"maxclass" : "message",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 567.0, 595.0, 87.0, 22.0 ],
"text" : "meter 3 4"
}
}
, {
"box" : {
"id" : "obj-31",
"maxclass" : "message",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 483.0, 595.0, 80.0, 22.0 ],
"text" : "stream 0"
}
}
, {
"box" : {
"id" : "obj-29",
"maxclass" : "message",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 345.0, 595.0, 133.0, 22.0 ],
"text" : "metriclarity 1.677953"
}
}
, {
"box" : {
"id" : "obj-27",
"maxclass" : "newobj",
"numinlets" : 7,
"numoutlets" : 7,
"outlettype" : [ "", "", "", "", "", "", "" ],
"patching_rect" : [ 421.5, 536.0, 369.0, 22.0 ],
"text" : "routepass metriclarity stream meter harmoniclarity scale attenuation"
}
}
, {
"box" : {
"id" : "obj-17",
"linecount" : 2,
"maxclass" : "comment",
"numinlets" : 1,
"numoutlets" : 0,
"patching_rect" : [ 497.0, 489.0, 268.0, 33.0 ],
"text" : "we can only output symbols from jweb, so this turns them into lists"
}
}
, {
"box" : {
"id" : "obj-10",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 421.52631402015686, 489.0, 71.0, 22.0 ],
"text" : "fromsymbol"
}
}
@ -313,7 +395,7 @@
"numinlets" : 1,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 415.52631402015686, 231.0, 643.105266809463501, 318.0 ],
"patching_rect" : [ 421.52631402015686, 157.0, 728.105266809463501, 322.0 ],
"rendermode" : 0,
"url" : "file://lfogui.html"
}
@ -321,6 +403,13 @@
}
],
"lines" : [ {
"patchline" : {
"destination" : [ "obj-27", 0 ],
"source" : [ "obj-10", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-2", 0 ],
"source" : [ "obj-12", 0 ]
@ -350,7 +439,7 @@
}
, {
"patchline" : {
"destination" : [ "obj-28", 1 ],
"destination" : [ "obj-10", 0 ],
"source" : [ "obj-2", 0 ]
}
@ -377,6 +466,48 @@
"source" : [ "obj-25", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-29", 1 ],
"source" : [ "obj-27", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-31", 1 ],
"source" : [ "obj-27", 1 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-33", 1 ],
"source" : [ "obj-27", 2 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-35", 1 ],
"source" : [ "obj-27", 3 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-39", 1 ],
"source" : [ "obj-27", 4 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-41", 1 ],
"source" : [ "obj-27", 5 ]
}
}
, {
"patchline" : {
@ -409,304 +540,7 @@
}
],
"parameters" : {
"obj-9::obj-1" : [ "Outset Pulses", "Outset Pulses", 0 ],
"obj-9::obj-104" : [ "Tonality Profile", "Tonality Profile", 0 ],
"obj-9::obj-109" : [ "Play", "Play", 0 ],
"obj-9::obj-11" : [ "Eventfulness", "Eventfulness", 0 ],
"obj-9::obj-110" : [ "Event Length", "Event Length", 0 ],
"obj-9::obj-122" : [ "Choice", "Choice", 0 ],
"obj-9::obj-128" : [ "Ostinato Buffer", "Ostinato Buffer", 0 ],
"obj-9::obj-13" : [ "Melody Scope", "Melody Scope", 0 ],
"obj-9::obj-136" : [ "Sorted", "Sorted", 0 ],
"obj-9::obj-155" : [ "Use Transport", "Use Transport", 0 ],
"obj-9::obj-158" : [ "Subdivision", "Subdivision", 0 ],
"obj-9::obj-16" : [ "Scale", "Scale", 0 ],
"obj-9::obj-187" : [ "meters", "meters", 0 ],
"obj-9::obj-188" : [ "Pitchsets", "Pitchsets", 0 ],
"obj-9::obj-206" : [ "Chordal Weight", "Chordal Weight", 0 ],
"obj-9::obj-217" : [ "Overlap", "Overlap", 0 ],
"obj-9::obj-22" : [ "Pulse Length", "Pulse Length", 0 ],
"obj-9::obj-24" : [ "Harmoniclarity", "Harmoniclarity", 0 ],
"obj-9::obj-25" : [ "Pitch Center", "Pitch Center", 0 ],
"obj-9::obj-26" : [ "Pitch Range", "Pitch Range", 0 ],
"obj-9::obj-27" : [ "Dynamics", "Dynamics", 0 ],
"obj-9::obj-28" : [ "Attenuation", "Attenuation", 0 ],
"obj-9::obj-29" : [ "Ostinato", "Ostinato", 0 ],
"obj-9::obj-32" : [ "live.text[1]", "Clear Scales", 0 ],
"obj-9::obj-47" : [ "Silent Downbeat", "Silent Downbeat", 0 ],
"obj-9::obj-49" : [ "Sync", "Sync", 0 ],
"obj-9::obj-5" : [ "Metriclarity", "Metriclarity", 0 ],
"obj-9::obj-52" : [ "Tonic Pitch", "Tonic Pitch", 0 ],
"obj-9::obj-53" : [ "Precision", "Precision", 0 ],
"obj-9::obj-56" : [ "Precision[1]", "Preset Tab", 0 ],
"obj-9::obj-77" : [ "Melodic Cohesion", "Melodic Cohesion", 0 ],
"obj-9::obj-87" : [ "Sync Type", "menu", 0 ],
"obj-9::obj-88" : [ "Scala Browser", "Scala Browser", 0 ],
"parameterbanks" : {
"0" : {
"index" : 0,
"name" : "",
"parameters" : [ "-", "-", "-", "-", "-", "-", "-", "-" ]
}
}
,
"parameter_overrides" : {
"obj-9::obj-1" : {
"parameter_range" : [ 1, 8 ]
}
,
"obj-9::obj-13" : {
"parameter_unitstyle" : 7
}
,
"obj-9::obj-25" : {
"parameter_unitstyle" : 8
}
,
"obj-9::obj-26" : {
"parameter_unitstyle" : 7
}
,
"obj-9::obj-52" : {
"parameter_unitstyle" : 8
}
}
,
"inherited_shortname" : 1
}
,
"dependency_cache" : [ {
"name" : "AdditiveMeter2.maxpat",
"bootpath" : "~/Documents/Max 8/Packages/MaxScore/patchers/DJster/dispenser",
"patcherrelativepath" : "../../Max 8/Packages/MaxScore/patchers/DJster/dispenser",
"type" : "JSON",
"implicit" : 1
}
, {
"name" : "Autobusk-µPlayer.maxpat",
"bootpath" : "~/Documents/Max 8/Packages/MaxScore/patchers/DJster/core",
"patcherrelativepath" : "../../Max 8/Packages/MaxScore/patchers/DJster/core",
"type" : "JSON",
"implicit" : 1
}
, {
"name" : "DJster.maxpat",
"bootpath" : "~/Documents/Max 8/Packages/MaxScore/patchers/DJster",
"patcherrelativepath" : "../../Max 8/Packages/MaxScore/patchers/DJster",
"type" : "JSON",
"implicit" : 1
}
, {
"name" : "Inner-Equation.5.maxpat",
"bootpath" : "~/Documents/Max 8/Packages/MaxScore/patchers/DJster/dispenser",
"patcherrelativepath" : "../../Max 8/Packages/MaxScore/patchers/DJster/dispenser",
"type" : "JSON",
"implicit" : 1
}
, {
"name" : "Inside.3.maxpat",
"bootpath" : "~/Documents/Max 8/Packages/MaxScore/patchers/DJster/dispenser",
"patcherrelativepath" : "../../Max 8/Packages/MaxScore/patchers/DJster/dispenser",
"type" : "JSON",
"implicit" : 1
}
, {
"name" : "Mod.2.maxpat",
"bootpath" : "~/Documents/Max 8/Packages/MaxScore/patchers/DJster/dispenser",
"patcherrelativepath" : "../../Max 8/Packages/MaxScore/patchers/DJster/dispenser",
"type" : "JSON",
"implicit" : 1
}
, {
"name" : "Pof_(Qi)(i=0toz-r-1).2.maxpat",
"bootpath" : "~/Documents/Max 8/Packages/MaxScore/patchers/DJster/dispenser",
"patcherrelativepath" : "../../Max 8/Packages/MaxScore/patchers/DJster/dispenser",
"type" : "JSON",
"implicit" : 1
}
, {
"name" : "Pof_(Qj)(j=1toz).2.maxpat",
"bootpath" : "~/Documents/Max 8/Packages/MaxScore/patchers/DJster/dispenser",
"patcherrelativepath" : "../../Max 8/Packages/MaxScore/patchers/DJster/dispenser",
"type" : "JSON",
"implicit" : 1
}
, {
"name" : "Pof_(Qz+1-k)(k=0tor).2.maxpat",
"bootpath" : "~/Documents/Max 8/Packages/MaxScore/patchers/DJster/dispenser",
"patcherrelativepath" : "../../Max 8/Packages/MaxScore/patchers/DJster/dispenser",
"type" : "JSON",
"implicit" : 1
}
, {
"name" : "Qz+1-k2.maxpat",
"bootpath" : "~/Documents/Max 8/Packages/MaxScore/patchers/DJster/dispenser",
"patcherrelativepath" : "../../Max 8/Packages/MaxScore/patchers/DJster/dispenser",
"type" : "JSON",
"implicit" : 1
}
, {
"name" : "Qz-r2.maxpat",
"bootpath" : "~/Documents/Max 8/Packages/MaxScore/patchers/DJster/dispenser",
"patcherrelativepath" : "../../Max 8/Packages/MaxScore/patchers/DJster/dispenser",
"type" : "JSON",
"implicit" : 1
}
, {
"name" : "TIE.7.maxpat",
"bootpath" : "~/Documents/Max 8/Packages/MaxScore/patchers/DJster/dispenser",
"patcherrelativepath" : "../../Max 8/Packages/MaxScore/patchers/DJster/dispenser",
"type" : "JSON",
"implicit" : 1
}
, {
"name" : "Total-Internal-Equation.6.maxpat",
"bootpath" : "~/Documents/Max 8/Packages/MaxScore/patchers/DJster/dispenser",
"patcherrelativepath" : "../../Max 8/Packages/MaxScore/patchers/DJster/dispenser",
"type" : "JSON",
"implicit" : 1
}
, {
"name" : "bytecount.maxpat",
"bootpath" : "~/Documents/Max 8/Packages/MaxScore/patchers/DJster/core",
"patcherrelativepath" : "../../Max 8/Packages/MaxScore/patchers/DJster/core",
"type" : "JSON",
"implicit" : 1
}
, {
"name" : "composite-meters.txt",
"bootpath" : "~/Documents/Max 8/Packages/MaxScore/patchers/DJster/dispenser",
"patcherrelativepath" : "../../Max 8/Packages/MaxScore/patchers/DJster/dispenser",
"type" : "TEXT",
"implicit" : 1
}
, {
"name" : "dispenser.maxpat",
"bootpath" : "~/Documents/Max 8/Packages/MaxScore/patchers/DJster/dispenser",
"patcherrelativepath" : "../../Max 8/Packages/MaxScore/patchers/DJster/dispenser",
"type" : "JSON",
"implicit" : 1
}
, {
"name" : "djster.accum.maxpat",
"bootpath" : "~/Documents/Max 8/Packages/MaxScore/patchers/DJster/core",
"patcherrelativepath" : "../../Max 8/Packages/MaxScore/patchers/DJster/core",
"type" : "JSON",
"implicit" : 1
}
, {
"name" : "dumper.2.maxpat",
"bootpath" : "~/Documents/Max 8/Packages/MaxScore/patchers/DJster/dispenser",
"patcherrelativepath" : "../../Max 8/Packages/MaxScore/patchers/DJster/dispenser",
"type" : "JSON",
"implicit" : 1
}
, {
"name" : "harmonic-energy-profile.txt",
"bootpath" : "~/Documents/Max 8/Packages/MaxScore/patchers/DJster/Profiles",
"patcherrelativepath" : "../../Max 8/Packages/MaxScore/patchers/DJster/Profiles",
"type" : "TEXT",
"implicit" : 1
}
, {
"name" : "harmonicity.maxpat",
"bootpath" : "~/Documents/Max 8/Packages/MaxScore/patchers/DJster/Tonality",
"patcherrelativepath" : "../../Max 8/Packages/MaxScore/patchers/DJster/Tonality",
"type" : "JSON",
"implicit" : 1
}
, {
"name" : "indigestibility.maxpat",
"bootpath" : "~/Documents/Max 8/Packages/MaxScore/patchers/DJster/Tonality",
"patcherrelativepath" : "../../Max 8/Packages/MaxScore/patchers/DJster/Tonality",
"type" : "JSON",
"implicit" : 1
}
, {
"name" : "meter-subpatch.maxpat",
"bootpath" : "~/Documents/Max 8/Packages/MaxScore/patchers/DJster/core",
"patcherrelativepath" : "../../Max 8/Packages/MaxScore/patchers/DJster/core",
"type" : "JSON",
"implicit" : 1
}
, {
"name" : "mxj.mxo",
"type" : "iLaX"
}
, {
"name" : "outset.maxpat",
"bootpath" : "~/Documents/Max 8/Packages/MaxScore/patchers/DJster/core",
"patcherrelativepath" : "../../Max 8/Packages/MaxScore/patchers/DJster/core",
"type" : "JSON",
"implicit" : 1
}
, {
"name" : "packback.maxpat",
"bootpath" : "~/Documents/Max 8/Packages/MaxScore/patchers/abstractions",
"patcherrelativepath" : "../../Max 8/Packages/MaxScore/patchers/abstractions",
"type" : "JSON",
"implicit" : 1
}
, {
"name" : "platform.js",
"bootpath" : "~/Documents/Max 8/Packages/MaxScore/javascript",
"patcherrelativepath" : "../../Max 8/Packages/MaxScore/javascript",
"type" : "TEXT",
"implicit" : 1
}
, {
"name" : "primefactors.txt",
"bootpath" : "~/Documents/Max 8/Packages/MaxScore/patchers/maps/microMaps",
"patcherrelativepath" : "../../Max 8/Packages/MaxScore/patchers/maps/microMaps",
"type" : "TEXT",
"implicit" : 1
}
, {
"name" : "psi-functions.txt",
"bootpath" : "~/Documents/Max 8/Packages/MaxScore/patchers/DJster/dispenser",
"patcherrelativepath" : "../../Max 8/Packages/MaxScore/patchers/DJster/dispenser",
"type" : "TEXT",
"implicit" : 1
}
, {
"name" : "reader.maxpat",
"bootpath" : "~/Documents/Max 8/Packages/MaxScore/patchers/DJster/dispenser",
"patcherrelativepath" : "../../Max 8/Packages/MaxScore/patchers/DJster/dispenser",
"type" : "JSON",
"implicit" : 1
}
, {
"name" : "reader2.maxpat",
"bootpath" : "~/Documents/Max 8/Packages/MaxScore/patchers/DJster/dispenser",
"patcherrelativepath" : "../../Max 8/Packages/MaxScore/patchers/DJster/dispenser",
"type" : "JSON",
"implicit" : 1
}
, {
"name" : "scalaFileBase.js",
"bootpath" : "~/Documents/Max 8/Packages/MaxScore/javascript",
"patcherrelativepath" : "../../Max 8/Packages/MaxScore/javascript",
"type" : "TEXT",
"implicit" : 1
}
, {
"name" : "scale-subpatch-exp.maxpat",
"bootpath" : "~/Documents/Max 8/Packages/MaxScore/patchers/DJster/core",
"patcherrelativepath" : "../../Max 8/Packages/MaxScore/patchers/DJster/core",
"type" : "JSON",
"implicit" : 1
}
, {
"name" : "scriptingname.js",
"bootpath" : "~/Documents/Max 8/Packages/MaxScore/javascript",
"patcherrelativepath" : "../../Max 8/Packages/MaxScore/javascript",
"type" : "TEXT",
"implicit" : 1
}
],
"dependency_cache" : [ ],
"autosave" : 0
}

View File

@ -152,6 +152,16 @@
border-width: 1px;
}
.base-val {
background-color: lightgray;
border-color: #333333;
border-width: 1px;
width: 50px;
margin-left: 2px;
margin-top: 1px;
}
@keyframes pulse-animation {
0% {
color: black;

View File

@ -24,7 +24,7 @@ const ViewModes = Object.freeze({
var modPhases = Array(MAXLFOS).fill(0);
var firstUpdateTime = Date.now();
const MODULATORLABELS = ["-type-", "---shape---", "-------param-------", "--freq--", "--amp--", "--phase--"];
const MODULATORLABELS = ["-type-", "---shape---", "-------param-------", "--freq--", "-amp-", "-phase-", "-min", "-max"];
const ENUMERATORLABELS = ["---parameter---", "-# points-"];
@ -172,7 +172,7 @@ function MasterLfoHandler(){
modCenterVals[name] = val;
setModCenterVals(modCenterVals);
rerender(!render); // BAD! SHOULD NOT BE DOING THIS!
}
@ -196,7 +196,7 @@ function MasterLfoHandler(){
window.removeEventListener('param', handleParam);
window.removeEventListener('enum', handleEnum);
};
}, [...allModArrays, ...allEnumArrays, ...allEnumMats, modCenterVals]);
}, [...allModArrays, ...allEnumArrays, ...allEnumMats, modCenterVals, render]);
@ -204,16 +204,18 @@ function MasterLfoHandler(){
///////
// Generate Modulators
///////
let modContents = []
for (var i = 0; i<MAXLFOS; i++){
let id = i;
modContents.push(
e(LfoRow, {
shape: shapeArr[i],
setShape: CreateParamChanger(shapeArr, setShapeArr, i),
djParam: djParamArr[i],
setDjParam: CreateParamChanger(djParamArr, setDjParamArr, i),
centerVals: modCenterVals,
freq: freqArr[i],
setFreq: CreateParamChanger(freqArr, setFreqArr, i),

View File

@ -14,6 +14,12 @@ function ControlType(){
function LfoRow(props){
let center = props.centerVals[props.djParam];
if (!center)
center = 0;
let content = e('ul', {className: 'lfo-item'},
ListItem(ControlType()),
ListItem(DropDown({onChange: props.setShape, value:props.shape, options: SHAPETYPES})),
@ -21,6 +27,8 @@ function LfoRow(props){
ListItem(e(NumberBox, {onChange:props.setFreq, value:props.freq, step: 0.1}, null)),
ListItem(e(NumberBox, {onChange:props.setAmp, value:props.amp, step:0.1}, null)),
ListItem(e(NumberBox, {onChange:props.setPhase, value:props.phase, step:0.1}, null)),
ListItem(e("div", {className:"base-val"}, center.toString())),
ListItem(e("div", {className:"base-val"}, center + parseFloat(props.amp))),
ListItem(e("input", {type: 'range', min: 0, max: 1, step: 0.01, readonly: true, id: `slider-${props.djParam}`})),
ListItem(e(Button, {text:'+', onClick: props.addLfo}, null)),
ListItem(e(Button, {text:'-', onClick: props.removeLfo}, null))