diff --git a/Makefile b/Makefile index c977edc..89dbf16 100644 --- a/Makefile +++ b/Makefile @@ -47,6 +47,14 @@ ifeq ($(HAVE_PROJM),true) endif endif + # Max-Gen stuff + $(MAKE) all -C plugins/bitcrush + $(MAKE) all -C plugins/freeverb + $(MAKE) all -C plugins/gigaverb + $(MAKE) all -C plugins/pitchotto + $(MAKE) all -C plugins/pitchshift + $(MAKE) all -C plugins/shiroverb + gen: plugins dpf/utils/lv2_ttl_generator @$(CURDIR)/dpf/utils/generate-ttl.sh ifeq ($(MACOS),true) @@ -86,6 +94,14 @@ endif # ProM $(MAKE) clean -C plugins/ProM + # Max-Gen stuff + $(MAKE) clean -C plugins/bitcrush + $(MAKE) clean -C plugins/freeverb + $(MAKE) clean -C plugins/gigaverb + $(MAKE) clean -C plugins/pitchotto + $(MAKE) clean -C plugins/pitchshift + $(MAKE) clean -C plugins/shiroverb + # -------------------------------------------------------------- install: @@ -103,14 +119,24 @@ ifeq ($(HAVE_DGL),true) endif cp -r bin/*.lv2 $(DESTDIR)$(PREFIX)/lib/lv2/ + # Kars cp -r modguis/Kars.modgui/modgui $(DESTDIR)$(PREFIX)/lib/lv2/Kars.lv2/ cp modguis/Kars.modgui/manifest.ttl $(DESTDIR)$(PREFIX)/lib/lv2/Kars.lv2/modgui.ttl + # Mini-Series + cp -r modguis/PingPongPan.modgui/modgui $(DESTDIR)$(PREFIX)/lib/lv2/PingPongPan.lv2/ + cp modguis/PingPongPan.modgui/manifest.ttl $(DESTDIR)$(PREFIX)/lib/lv2/PingPongPan.lv2/modgui.ttl + + # MVerb cp -r modguis/MVerb.modgui/modgui $(DESTDIR)$(PREFIX)/lib/lv2/MVerb.lv2/ cp modguis/MVerb.modgui/manifest.ttl $(DESTDIR)$(PREFIX)/lib/lv2/MVerb.lv2/modgui.ttl - cp -r modguis/PingPongPan.modgui/modgui $(DESTDIR)$(PREFIX)/lib/lv2/PingPongPan.lv2/ - cp modguis/PingPongPan.modgui/manifest.ttl $(DESTDIR)$(PREFIX)/lib/lv2/PingPongPan.lv2/modgui.ttl + # Max-Gen stuff + cp -r modguis/Pitchotto.modgui/modgui $(DESTDIR)$(PREFIX)/lib/lv2/Pitchotto.lv2/ + cp modguis/Pitchotto.modgui/manifest.ttl $(DESTDIR)$(PREFIX)/lib/lv2/Pitchotto.lv2/modgui.ttl + + cp -r modguis/Shiroverb.modgui/modgui $(DESTDIR)$(PREFIX)/lib/lv2/Shiroverb.lv2/ + cp modguis/Shiroverb.modgui/manifest.ttl $(DESTDIR)$(PREFIX)/lib/lv2/Shiroverb.lv2/modgui.ttl # -------------------------------------------------------------- diff --git a/README.md b/README.md index 208e196..2f7cda5 100644 --- a/README.md +++ b/README.md @@ -24,31 +24,34 @@ Screenshots +Kars
+![screenshot](https://raw.githubusercontent.com/DISTRHO/DPF-Plugins/master/plugins/Kars/Screenshot.png "Kars") + 3 Band EQ
-![screenshot](https://raw.githubusercontent.com/falkTX/DPF-Plugins/master/plugins/3BandEQ/Screenshot.png "3 Band EQ") +![screenshot](https://raw.githubusercontent.com/DISTRHO/DPF-Plugins/master/plugins/3BandEQ/Screenshot.png "3 Band EQ") 3 Band Splitter
-![screenshot](https://raw.githubusercontent.com/falkTX/DPF-Plugins/master/plugins/3BandSplitter/Screenshot.png "3 Band Splitter") +![screenshot](https://raw.githubusercontent.com/DISTRHO/DPF-Plugins/master/plugins/3BandSplitter/Screenshot.png "3 Band Splitter") Ping Pong Pan
-![screenshot](https://raw.githubusercontent.com/falkTX/DPF-Plugins/master/plugins/PingPongPan/Screenshot.png "Ping Pong Pan") +![screenshot](https://raw.githubusercontent.com/DISTRHO/DPF-Plugins/master/plugins/PingPongPan/Screenshot.png "Ping Pong Pan") Amplitude Imposer
-![screenshot](https://raw.githubusercontent.com/falkTX/DPF-Plugins/master/plugins/AmplitudeImposer/Screenshot.png "Amplitude Imposer") +![screenshot](https://raw.githubusercontent.com/DISTRHO/DPF-Plugins/master/plugins/AmplitudeImposer/Screenshot.png "Amplitude Imposer") Cycle Shifter
-![screenshot](https://raw.githubusercontent.com/falkTX/DPF-Plugins/master/plugins/CycleShifter/Screenshot.png "Cycle Shifter") +![screenshot](https://raw.githubusercontent.com/DISTRHO/DPF-Plugins/master/plugins/CycleShifter/Screenshot.png "Cycle Shifter") Soul Force
-![screenshot](https://raw.githubusercontent.com/falkTX/DPF-Plugins/master/plugins/SoulForce/Screenshot.png "Soul Force") +![screenshot](https://raw.githubusercontent.com/DISTRHO/DPF-Plugins/master/plugins/SoulForce/Screenshot.png "Soul Force") MVerb
-![screenshot](https://raw.githubusercontent.com/falkTX/DPF-Plugins/master/plugins/MVerb/Screenshot.png "MVerb") +![screenshot](https://raw.githubusercontent.com/DISTRHO/DPF-Plugins/master/plugins/MVerb/Screenshot.png "MVerb") Nekobi
-![screenshot](https://raw.githubusercontent.com/falkTX/DPF-Plugins/master/plugins/Nekobi/Screenshot.png "Nekobi") +![screenshot](https://raw.githubusercontent.com/DISTRHO/DPF-Plugins/master/plugins/Nekobi/Screenshot.png "Nekobi") ProM
-![screenshot](https://raw.githubusercontent.com/falkTX/DPF-Plugins/master/plugins/ProM/Screenshot.png "ProM") +![screenshot](https://raw.githubusercontent.com/DISTRHO/DPF-Plugins/master/plugins/ProM/Screenshot.png "ProM")
diff --git a/get-plugins.sh b/get-plugins.sh index 8e29b7c..dd12121 100755 --- a/get-plugins.sh +++ b/get-plugins.sh @@ -2,7 +2,7 @@ set -e -PLUGINS=("Kars" "Mini-Series" "MVerb" "Nekobi" "ProM" "ndc-Plugs") +PLUGINS=("Kars" "Mini-Series" "MVerb" "Nekobi" "ProM" "ndc-Plugs" "DPF-Max-Gen") if [ ! -f Makefile ]; then echo "Makefile not found, please run this script from DPF-Plugins root source dir" diff --git a/modguis/Pitchotto.modgui/manifest.ttl b/modguis/Pitchotto.modgui/manifest.ttl new file mode 100644 index 0000000..06cd9fa --- /dev/null +++ b/modguis/Pitchotto.modgui/manifest.ttl @@ -0,0 +1,46 @@ +@prefix modgui: . +@prefix lv2: . + + + modgui:gui [ + modgui:resourcesDirectory ; + modgui:iconTemplate ; + modgui:stylesheet ; + modgui:screenshot ; + modgui:thumbnail ; + modgui:brand "SHIRO" ; + modgui:label "Pitchotto" ; + modgui:model "boxy" ; + modgui:panel "7-knobs" ; + modgui:color "red" ; + modgui:knob "black" ; + modgui:port [ + lv2:index 0 ; + lv2:symbol "ratio1" ; + lv2:name "ratio1" ; + ] , [ + lv2:index 1 ; + lv2:symbol "ratio2" ; + lv2:name "ratio2" ; + ] , [ + lv2:index 2 ; + lv2:symbol "cutoff" ; + lv2:name "cutoff" ; + ] , [ + lv2:index 3 ; + lv2:symbol "mix" ; + lv2:name "mix" ; + ] , [ + lv2:index 4 ; + lv2:symbol "window1" ; + lv2:name "window1" ; + ] , [ + lv2:index 5 ; + lv2:symbol "window2" ; + lv2:name "window2" ; + ] , [ + lv2:index 6 ; + lv2:symbol "blur" ; + lv2:name "blur" ; + ] ; + ] . \ No newline at end of file diff --git a/modguis/Pitchotto.modgui/modgui/icon-pitchotto.html b/modguis/Pitchotto.modgui/modgui/icon-pitchotto.html new file mode 100644 index 0000000..09a40cb --- /dev/null +++ b/modguis/Pitchotto.modgui/modgui/icon-pitchotto.html @@ -0,0 +1,49 @@ +
+
+

{{brand}}

+

{{label}}

+
+
+ {{#controls}} +
+
+ {{name}} +
+ {{/controls}} +
+
+
+ {{#effect.ports.audio.input}} +
+
+
+ {{/effect.ports.audio.input}} + {{#effect.ports.midi.input}} +
+
+
+ {{/effect.ports.midi.input}} + {{#effect.ports.cv.input}} +
+
+
+ {{/effect.ports.cv.input}} +
+
+ {{#effect.ports.audio.output}} +
+
+
+ {{/effect.ports.audio.output}} + {{#effect.ports.midi.output}} +
+
+
+ {{/effect.ports.midi.output}} + {{#effect.ports.cv.output}} +
+
+
+ {{/effect.ports.cv.output}} +
+
\ No newline at end of file diff --git a/modguis/Pitchotto.modgui/modgui/knobs/boxy/black.png b/modguis/Pitchotto.modgui/modgui/knobs/boxy/black.png new file mode 100644 index 0000000..d13278c Binary files /dev/null and b/modguis/Pitchotto.modgui/modgui/knobs/boxy/black.png differ diff --git a/modguis/Pitchotto.modgui/modgui/pedals/boxy75/red.png b/modguis/Pitchotto.modgui/modgui/pedals/boxy75/red.png new file mode 100644 index 0000000..2a96c4c Binary files /dev/null and b/modguis/Pitchotto.modgui/modgui/pedals/boxy75/red.png differ diff --git a/modguis/Pitchotto.modgui/modgui/pedals/footswitch.png b/modguis/Pitchotto.modgui/modgui/pedals/footswitch.png new file mode 100644 index 0000000..6ff6b74 Binary files /dev/null and b/modguis/Pitchotto.modgui/modgui/pedals/footswitch.png differ diff --git a/modguis/Pitchotto.modgui/modgui/screenshot-pitchotto.png b/modguis/Pitchotto.modgui/modgui/screenshot-pitchotto.png new file mode 100644 index 0000000..63c97fd Binary files /dev/null and b/modguis/Pitchotto.modgui/modgui/screenshot-pitchotto.png differ diff --git a/modguis/Pitchotto.modgui/modgui/stylesheet-pitchotto.css b/modguis/Pitchotto.modgui/modgui/stylesheet-pitchotto.css new file mode 100644 index 0000000..6b6fe5b --- /dev/null +++ b/modguis/Pitchotto.modgui/modgui/stylesheet-pitchotto.css @@ -0,0 +1,1093 @@ +/* STYLES FOR THE BOXY PEDAL */ + +@import url(/fonts/nexa/stylesheet.css); +@import url(/fonts/questrial/stylesheet.css); + + +/* = CONTAINER +================================================ */ +.mod-pedal-boxy{{{cns}}} { + background-position:center center; + background-repeat:no-repeat; + background-size:230px 431px; + height:431px; + position:absolute; + width:230px; + border-radius: 21px; +} + +.mod-pedal-boxy{{{cns}}}.mod-boxy50 { + background-size:301px 315px; + height:315px; + width:301px; +} + +.mod-pedal-boxy{{{cns}}}.mod-boxy75 { + background-size:326px 431px; + width:326px; +} + +.mod-pedal-boxy{{{cns}}}.mod-boxy85 { + background-size:364px 431px; + width:364px; +} + +.mod-pedal-boxy{{{cns}}}.mod-boxy100 { + background-size:421px 431px; + width:421px; +} + +/* = PLUGIN'S AUTHOR +================================================ */ +.mod-pedal-boxy{{{cns}}} .mod-plugin-brand { + left:0; + position:absolute; + right:0; + text-align:center; + text-transform:uppercase; + top:160px; +} + +.mod-pedal-boxy{{{cns}}} .mod-plugin-brand h1 { + border-color:#000; + border-radius:12px; + border-style:solid; + border-width:4px; + display:inline-block; + font-family:"Nexa"; + font-size:32px; + padding:3px 9px 0; +} + +.mod-pedal-boxy{{{cns}}}.mod-five-knobs .mod-plugin-brand, +.mod-pedal-boxy{{{cns}}}.mod-six-knobs .mod-plugin-brand, +.mod-pedal-boxy{{{cns}}}.mod-seven-knobs .mod-plugin-brand, +.mod-pedal-boxy{{{cns}}}.mod-eight-knobs .mod-plugin-brand { + top:190px; +} + +.mod-pedal-boxy{{{cns}}}.mod-boxy50 .mod-plugin-brand { + top:16px; +} + + +/* = PLUGIN'S NAME +================================================ */ +.mod-pedal-boxy{{{cns}}} .mod-plugin-name { + left:30px; + overflow:hidden; + position:absolute; + right:30px; + text-align:center; + top:340px; +} + +.mod-pedal-boxy{{{cns}}} .mod-plugin-name h1 { + font-family:"Questrial"; + font-size:21px; + line-height:1; +} + +.mod-pedal-boxy{{{cns}}}.mod-five-knobs .mod-plugin-name, +.mod-pedal-boxy{{{cns}}}.mod-six-knobs .mod-plugin-name, +.mod-pedal-boxy{{{cns}}}.mod-seven-knobs .mod-plugin-name, +.mod-pedal-boxy{{{cns}}}.mod-eight-knobs .mod-plugin-name { + top:350px; +} + +.mod-pedal-boxy{{{cns}}}.mod-boxy50 .mod-plugin-name { + top:230px; +} + + +/* = LIGHT ON/OFF +================================================ */ +.mod-pedal-boxy{{{cns}}} .mod-light { + background-position:center center; + background-repeat:no-repeat; + height:32px; + left:10px; + position:absolute; + right:10px; + top:235px; +} + +.mod-pedal-boxy{{{cns}}}.mod-five-knobs .mod-light, +.mod-pedal-boxy{{{cns}}}.mod-six-knobs .mod-light, +.mod-pedal-boxy{{{cns}}}.mod-seven-knobs .mod-light, +.mod-pedal-boxy{{{cns}}}.mod-eight-knobs .mod-light { + top:253px; +} + +.mod-pedal-boxy{{{cns}}}.mod-boxy50 .mod-light { + top:105px; +} + + +/* = FOOTSWITCH +================================================ */ +.mod-pedal-boxy{{{cns}}} .mod-footswitch { + background-image:url(/resources/pedals/footswitch.png{{{ns}}}); + background-position:bottom center; + background-repeat:no-repeat; + background-size:auto 132px; + bottom: 95px; + left: 13px; + right: 13px; + cursor:pointer; + height:66px; + width: 66px; + margin: auto; + position:absolute !important; +} +.mod-pedal-boxy{{{cns}}} .mod-footswitch.on { + background-position-y: top !important +} + +.mod-pedal-boxy{{{cns}}}.mod-five-knobs .mod-footswitch, +.mod-pedal-boxy{{{cns}}}.mod-six-knobs .mod-footswitch, +.mod-pedal-boxy{{{cns}}}.mod-seven-knobs .mod-footswitch, +.mod-pedal-boxy{{{cns}}}.mod-eight-knobs .mod-footswitch { + top:285px; +} + +.mod-pedal-boxy{{{cns}}}.mod-boxy50 .mod-footswitch { + top:140px; +} + + +/* = KNOBS +================================================ */ +.mod-pedal-boxy{{{cns}}} .mod-control-group { + margin:20px !important; + position:relative; + text-align:center; + z-index:30; +} +.mod-pedal-boxy{{{cns}}} .top { + margin-top:0px !important; +} + +.mod-pedal-boxy{{{cns}}} .mod-control-group .mod-knob { + overflow:hidden; + position:relative; +} + +.mod-pedal-boxy{{{cns}}} .mod-control-group .mod-knob > span.mod-knob-title { + bottom:0px; + display:block; + font-size:11px; + font-weight:bold; + height:12px; + left:0; + line-height:1; + margin:0; + overflow:hidden; + padding:0; + position:absolute; + right:0; + text-transform:uppercase; +} + +/* ONE KNOB */ +.mod-pedal-boxy{{{cns}}}.mod-one-knob .mod-control-group .mod-knob .mod-knob-image { + background-image:url(/resources/knobs/boxy/boxy.png{{{ns}}}); + background-repeat:no-repeat; + background-size:auto 98px; + height:98px; + width:98px; + margin:0 auto; +} +.mod-pedal-boxy{{{cns}}}.mod-one-knob .mod-control-group .mod-knob > span.mod-knob-title { + font-size:15px; + height:15px; +} +.mod-pedal-boxy{{{cns}}}.mod-one-knob .mod-control-group .mod-knob { + height:115px; +} + +/* TWO KNOBS */ +.mod-pedal-boxy{{{cns}}}.mod-two-knobs .mod-control-group .mod-knob .mod-knob-image { + background-image:url(/resources/knobs/boxy/boxy.png{{{ns}}}); + background-repeat:no-repeat; + background-size:auto 90px; + height:90px; + width:90px; + margin:0 auto; +} +.mod-pedal-boxy{{{cns}}}.mod-two-knobs .mod-control-group .mod-knob > span.mod-knob-title { + font-size:13px; +} +.mod-pedal-boxy{{{cns}}}.mod-two-knobs .mod-control-group .mod-knob { + float:left; + width:50%; +} +.mod-pedal-boxy{{{cns}}}.mod-two-knobs .mod-control-group .mod-knob { + height:103px; +} + +/* THREE AND HIGHER KNOBS */ +.mod-pedal-boxy{{{cns}}}.mod-three-knobs .mod-control-group .mod-knob .mod-knob-image, +.mod-pedal-boxy{{{cns}}}.mod-four-knobs .mod-control-group .mod-knob .mod-knob-image, +.mod-pedal-boxy{{{cns}}}.mod-five-knobs .mod-control-group .mod-knob .mod-knob-image, +.mod-pedal-boxy{{{cns}}}.mod-six-knobs .mod-control-group .mod-knob .mod-knob-image, +.mod-pedal-boxy{{{cns}}}.mod-seven-knobs .mod-control-group .mod-knob .mod-knob-image, +.mod-pedal-boxy{{{cns}}}.mod-eight-knobs .mod-control-group .mod-knob .mod-knob-image { + background-image:url(/resources/knobs/lata/lata.png{{{ns}}}); + background-repeat:no-repeat; + background-size:auto 60px; + height:60px; + width:60px; + margin:0 auto; +} +.mod-pedal-boxy{{{cns}}}.mod-three-knobs .mod-control-group .mod-knob, +.mod-pedal-boxy{{{cns}}}.mod-four-knobs .mod-control-group .mod-knob, +.mod-pedal-boxy{{{cns}}}.mod-five-knobs .mod-control-group .mod-knob, +.mod-pedal-boxy{{{cns}}}.mod-six-knobs .mod-control-group .mod-knob, +.mod-pedal-boxy{{{cns}}}.mod-seven-knobs .mod-control-group .mod-knob, +.mod-pedal-boxy{{{cns}}}.mod-eight-knobs .mod-control-group .mod-knob { + display:inline-block; + height:73px; +} + +/* EIGTH KNOBS */ +.mod-pedal-boxy{{{cns}}}.mod-eight-knobs .mod-knob { + width:70px; +} + +/* = ENUMERATED LIST +================================================ */ +.mod-pedal-boxy{{{cns}}} .mod-enumerated-group { + height:31px; + margin:20px auto 0 !important; + position:relative; + width:190px; + z-index:35; +} + +.mod-pedal-boxy{{{cns}}}.mod-three-knobs .mod-enumerated-group, +.mod-pedal-boxy{{{cns}}}.mod-four-knobs .mod-enumerated-group { + margin-bottom:5px !important; +} + +.mod-pedal-boxy{{{cns}}}.mod-four-knobs .mod-enumerated-group { + width:250px; +} + +.mod-pedal-boxy{{{cns}}} .mod-enumerated { + background-position:right center; + background-repeat:no-repeat; + font-size:11px; + font-weight:bold; + left:0; + line-height:2; + overflow:hidden; + position:absolute; + right:0; + text-align:left; +} + +.mod-pedal-boxy{{{cns}}} .mod-enumerated .mod-enumerated-selected { + background-color:rgba(0,0,0,.3); + box-shadow:inset 0 0 4px rgba(0,0,0,.3); + border-radius:4px; + padding:3px 9px; +} + +.mod-pedal-boxy{{{cns}}} .mod-enumerated .mod-enumerated-selected { + border-radius:4px 4px 0 0; +} + +.mod-pedal-boxy{{{cns}}} .mod-enumerated .mod-enumerated-list { + display:none; + color:#fff; +} + +.mod-pedal-boxy{{{cns}}} .mod-enumerated .mod-enumerated-list { + background-color:rgba(0,0,0,.9); + display:none; + height:115px; + overflow:auto; + position:relative; +} + +.mod-pedal-boxy{{{cns}}} .mod-enumerated .mod-enumerated-list > div { + padding:3px 9px; +} + +.mod-pedal-boxy{{{cns}}} .mod-enumerated .mod-enumerated-list > div:hover { + background-color:rgba(255,255,255,.2); + cursor:pointer; +} + +/* SLIDER +================================================ */ +.mod-pedal-boxy{{{cns}}} .mod-slider:first-child { + margin-left:8px; +} + +.mod-pedal-boxy{{{cns}}} .mod-slider { + color:black; + float:left; + font-size:11px; + height:140px; + margin-bottom:2px; + margin-right:2px; + overflow:hidden; + position:relative; + text-align:center; + width:33px; +} + + +.mod-pedal-boxy{{{cns}}} .mod-slider .mod-slider-title { + display:block; + font-size:11px; + font-weight:bold; + height:7px; + line-height:1; + margin-bottom:3px; + overflow:hidden; + padding:7px 0 5px; + position:relative; +} + +.mod-pedal-boxy{{{cns}}} .mod-slider .mod-slider-image { + background-image:url(/resources/pedals/slider.png{{{ns}}}); + background-repeat:no-repeat; + background-size:auto 110px; + height:110px; + margin:0 auto; + width:44px; +} + +.mod-pedal-boxy{{{cns}}} .mod-slider .mod-slider-image:hover { + cursor:pointer; +} + +.mod-pedal-boxy{{{cns}}}.mod-three-sliders .mod-slider { + margin:0; + width:33%; +} + +.mod-pedal-boxy{{{cns}}}.mod-four-sliders .mod-slider { + margin:0; + width:25%; +} + +.mod-pedal-boxy{{{cns}}}.mod-five-sliders .mod-slider { + margin:0; + width:20%; +} + +.mod-pedal-boxy{{{cns}}}.mod-six-sliders .mod-slider { + margin:0; + width:16.5%; +} + +.mod-pedal-boxy{{{cns}}}.mod-seven-sliders .mod-slider { + margin:0; + width:14.2%; +} + +.mod-pedal-boxy{{{cns}}}.mod-eight-sliders .mod-slider { + margin:0; + width:12.5%; +} + +.mod-pedal-boxy{{{cns}}}.mod-nine-sliders .mod-slider { + margin:0; + width:11.11%; +} + +.mod-pedal-boxy{{{cns}}}.mod-ten-sliders .mod-slider { + margin:0; + width:10%; +} + +.mod-pedal-boxy{{{cns}}}.mod-ten-sliders .mod-slider .mod-slider-image { + margin-left:-5px; +} + +.mod-pedal-boxy{{{cns}}}.mod-twelve-sliders .mod-slider { + margin:0; + width:8.333333%; +} + +.mod-pedal-boxy{{{cns}}}.mod-twelve-sliders .mod-slider .mod-slider-image { + margin-left:-5px; +} + + +/* = BACKGROUND IMAGES - Color of the pedal +================================================ */ +.mod-pedal-boxy{{{cns}}}.mod-gold { + background-image:url(/resources/pedals/boxy/gold.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy50.mod-gold { + background-image:url(/resources/pedals/boxy-small/gold.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy75.mod-gold { + background-image:url(/resources/pedals/boxy75/gold.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy85.mod-gold { + background-image:url(/resources/pedals/boxy85/gold.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy100.mod-gold { + background-image:url(/resources/pedals/boxy100/gold.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-slime { + background-image:url(/resources/pedals/boxy/slime.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy50.mod-slime { + background-image:url(/resources/pedals/boxy-small/slime.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy75.mod-slime { + background-image:url(/resources/pedals/boxy75/slime.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy85.mod-slime { + background-image:url(/resources/pedals/boxy85/slime.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy100.mod-slime { + background-image:url(/resources/pedals/boxy100/slime.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-yellow { + background-image:url(/resources/pedals/boxy/yellow.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy50.mod-yellow { + background-image:url(/resources/pedals/boxy-small/yellow.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy75.mod-yellow { + background-image:url(/resources/pedals/boxy75/yellow.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy85.mod-yellow { + background-image:url(/resources/pedals/boxy85/yellow.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy100.mod-yellow { + background-image:url(/resources/pedals/boxy100/yellow.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-pink { + background-image:url(/resources/pedals/boxy/pink.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy50.mod-pink { + background-image:url(/resources/pedals/boxy-small/pink.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy75.mod-pink { + background-image:url(/resources/pedals/boxy75/pink.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy85.mod-pink { + background-image:url(/resources/pedals/boxy85/pink.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy100.mod-pink { + background-image:url(/resources/pedals/boxy100/pink.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-zinc { + background-image:url(/resources/pedals/boxy/zinc.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy50.mod-zinc { + background-image:url(/resources/pedals/boxy-small/zinc.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy75.mod-zinc { + background-image:url(/resources/pedals/boxy75/zinc.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy85.mod-zinc { + background-image:url(/resources/pedals/boxy85/zinc.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy100.mod-zinc { + background-image:url(/resources/pedals/boxy100/zinc.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-cream { + background-image:url(/resources/pedals/boxy/cream.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy50.mod-cream { + background-image:url(/resources/pedals/boxy-small/cream.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy75.mod-cream { + background-image:url(/resources/pedals/boxy75/cream.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy85.mod-cream { + background-image:url(/resources/pedals/boxy85/cream.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy100.mod-cream { + background-image:url(/resources/pedals/boxy100/cream.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-blue { + background-image:url(/resources/pedals/boxy/blue.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy50.mod-blue { + background-image:url(/resources/pedals/boxy-small/blue.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy75.mod-blue { + background-image:url(/resources/pedals/boxy75/blue.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy85.mod-blue { + background-image:url(/resources/pedals/boxy85/blue.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy100.mod-blue { + background-image:url(/resources/pedals/boxy100/blue.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-tribal2 { + background-image:url(/resources/pedals/boxy/tribal2.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy50.mod-tribal2 { + background-image:url(/resources/pedals/boxy-small/tribal2.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy75.mod-tribal2 { + background-image:url(/resources/pedals/boxy75/tribal2.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy85.mod-tribal2 { + background-image:url(/resources/pedals/boxy85/tribal2.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy100.mod-tribal2 { + background-image:url(/resources/pedals/boxy100/tribal2.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-purple { + background-image:url(/resources/pedals/boxy/purple.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy50.mod-purple { + background-image:url(/resources/pedals/boxy-small/purple.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy75.mod-purple { + background-image:url(/resources/pedals/boxy75/purple.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy85.mod-purple { + background-image:url(/resources/pedals/boxy85/purple.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy100.mod-purple { + background-image:url(/resources/pedals/boxy100/purple.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-lava { + background-image:url(/resources/pedals/boxy/lava.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy50.mod-lava { + background-image:url(/resources/pedals/boxy-small/lava.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy75.mod-lava { + background-image:url(/resources/pedals/boxy75/lava.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy85.mod-lava { + background-image:url(/resources/pedals/boxy85/lava.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy100.mod-lava { + background-image:url(/resources/pedals/boxy100/lava.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-black { + background-image:url(/resources/pedals/boxy/black.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy50.mod-black { + background-image:url(/resources/pedals/boxy-small/black.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy75.mod-black { + background-image:url(/resources/pedals/boxy75/black.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy85.mod-black { + background-image:url(/resources/pedals/boxy85/black.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy100.mod-black { + background-image:url(/resources/pedals/boxy100/black.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-orange { + background-image:url(/resources/pedals/boxy/orange.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy50.mod-orange { + background-image:url(/resources/pedals/boxy-small/orange.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy75.mod-orange { + background-image:url(/resources/pedals/boxy75/orange.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy85.mod-orange { + background-image:url(/resources/pedals/boxy85/orange.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy100.mod-orange { + background-image:url(/resources/pedals/boxy100/orange.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-white { + background-image:url(/resources/pedals/boxy/white.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy50.mod-white { + background-image:url(/resources/pedals/boxy-small/white.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy75.mod-white { + background-image:url(/resources/pedals/boxy75/white.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy85.mod-white { + background-image:url(/resources/pedals/boxy85/white.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy100.mod-white { + background-image:url(/resources/pedals/boxy100/white.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-racing { + background-image:url(/resources/pedals/boxy/racing.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy50.mod-racing { + background-image:url(/resources/pedals/boxy-small/racing.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy75.mod-racing { + background-image:url(/resources/pedals/boxy75/racing.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy85.mod-racing { + background-image:url(/resources/pedals/boxy85/racing.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy100.mod-racing { + background-image:url(/resources/pedals/boxy100/racing.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-red { + background-image:url(/resources/pedals/boxy/red.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy50.mod-red { + background-image:url(/resources/pedals/boxy-small/red.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy75.mod-red { + background-image:url(/resources/pedals/boxy75/red.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy85.mod-red { + background-image:url(/resources/pedals/boxy85/red.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy100.mod-red { + background-image:url(/resources/pedals/boxy100/red.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-dots { + background-image:url(/resources/pedals/boxy/dots.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy50.mod-dots { + background-image:url(/resources/pedals/boxy-small/dots.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy75.mod-dots { + background-image:url(/resources/pedals/boxy75/dots.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy85.mod-dots { + background-image:url(/resources/pedals/boxy85/dots.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy100.mod-dots { + background-image:url(/resources/pedals/boxy100/dots.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-brown { + background-image:url(/resources/pedals/boxy/brown.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy50.mod-brown { + background-image:url(/resources/pedals/boxy-small/brown.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy75.mod-brown { + background-image:url(/resources/pedals/boxy75/brown.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy85.mod-brown { + background-image:url(/resources/pedals/boxy85/brown.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy100.mod-brown { + background-image:url(/resources/pedals/boxy100/brown.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-petrol { + background-image:url(/resources/pedals/boxy/petrol.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy50.mod-petrol { + background-image:url(/resources/pedals/boxy-small/petrol.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy75.mod-petrol { + background-image:url(/resources/pedals/boxy75/petrol.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy85.mod-petrol { + background-image:url(/resources/pedals/boxy85/petrol.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy100.mod-petrol { + background-image:url(/resources/pedals/boxy100/petrol.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-wood0 { + background-image:url(/resources/pedals/boxy/wood0.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy50.mod-wood0 { + background-image:url(/resources/pedals/boxy-small/wood0.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy75.mod-wood0 { + background-image:url(/resources/pedals/boxy75/wood0.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy85.mod-wood0 { + background-image:url(/resources/pedals/boxy85/wood0.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy100.mod-wood0 { + background-image:url(/resources/pedals/boxy100/wood0.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-wood1 { + background-image:url(/resources/pedals/boxy/wood1.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy50.mod-wood1 { + background-image:url(/resources/pedals/boxy-small/wood1.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy75.mod-wood1 { + background-image:url(/resources/pedals/boxy75/wood1.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy85.mod-wood1 { + background-image:url(/resources/pedals/boxy85/wood1.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy100.mod-wood1 { + background-image:url(/resources/pedals/boxy100/wood1.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-wood2 { + background-image:url(/resources/pedals/boxy/wood2.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy50.mod-wood2 { + background-image:url(/resources/pedals/boxy-small/wood2.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy75.mod-wood2 { + background-image:url(/resources/pedals/boxy75/wood2.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy85.mod-wood2 { + background-image:url(/resources/pedals/boxy85/wood2.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy100.mod-wood2 { + background-image:url(/resources/pedals/boxy100/wood2.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-wood3 { + background-image:url(/resources/pedals/boxy/wood3.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy50.mod-wood3 { + background-image:url(/resources/pedals/boxy-small/wood3.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy75.mod-wood3 { + background-image:url(/resources/pedals/boxy75/wood3.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy85.mod-wood3 { + background-image:url(/resources/pedals/boxy85/wood3.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy100.mod-wood3 { + background-image:url(/resources/pedals/boxy100/wood3.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-wood4 { + background-image:url(/resources/pedals/boxy/wood4.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy50.mod-wood4 { + background-image:url(/resources/pedals/boxy-small/wood4.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy75.mod-wood4 { + background-image:url(/resources/pedals/boxy75/wood4.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy85.mod-wood4 { + background-image:url(/resources/pedals/boxy85/wood4.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy100.mod-wood4 { + background-image:url(/resources/pedals/boxy100/wood4.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-cyan { + background-image:url(/resources/pedals/boxy/cyan.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy50.mod-cyan { + background-image:url(/resources/pedals/boxy-small/cyan.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy75.mod-cyan { + background-image:url(/resources/pedals/boxy75/cyan.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy85.mod-cyan { + background-image:url(/resources/pedals/boxy85/cyan.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy100.mod-cyan { + background-image:url(/resources/pedals/boxy100/cyan.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-gray { + background-image:url(/resources/pedals/boxy/gray.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy50.mod-gray { + background-image:url(/resources/pedals/boxy-small/gray.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy75.mod-gray { + background-image:url(/resources/pedals/boxy75/gray.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy85.mod-gray { + background-image:url(/resources/pedals/boxy85/gray.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy100.mod-gray { + background-image:url(/resources/pedals/boxy100/gray.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-none { + background-image:url(/resources/pedals/boxy/none.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy50.mod-none { + background-image:url(/resources/pedals/boxy-small/none.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy75.mod-none { + background-image:url(/resources/pedals/boxy75/none.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy85.mod-none { + background-image:url(/resources/pedals/boxy85/none.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy100.mod-none { + background-image:url(/resources/pedals/boxy100/none.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-flowerpower { + background-image:url(/resources/pedals/boxy/flowerpower.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy50.mod-flowerpower { + background-image:url(/resources/pedals/boxy-small/flowerpower.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy75.mod-flowerpower { + background-image:url(/resources/pedals/boxy75/flowerpower.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy85.mod-flowerpower { + background-image:url(/resources/pedals/boxy85/flowerpower.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy100.mod-flowerpower { + background-image:url(/resources/pedals/boxy100/flowerpower.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-darkblue { + background-image:url(/resources/pedals/boxy/darkblue.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy50.mod-darkblue { + background-image:url(/resources/pedals/boxy-small/darkblue.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy75.mod-darkblue { + background-image:url(/resources/pedals/boxy75/darkblue.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy85.mod-darkblue { + background-image:url(/resources/pedals/boxy85/darkblue.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy100.mod-darkblue { + background-image:url(/resources/pedals/boxy100/darkblue.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-tribal1 { + background-image:url(/resources/pedals/boxy/tribal1.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy50.mod-tribal1 { + background-image:url(/resources/pedals/boxy-small/tribal1.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy75.mod-tribal1 { + background-image:url(/resources/pedals/boxy75/tribal1.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy85.mod-tribal1 { + background-image:url(/resources/pedals/boxy85/tribal1.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy100.mod-tribal1 { + background-image:url(/resources/pedals/boxy100/tribal1.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-warning { + background-image:url(/resources/pedals/boxy/warning.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy50.mod-warning { + background-image:url(/resources/pedals/boxy-small/warning.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy75.mod-warning { + background-image:url(/resources/pedals/boxy75/warning.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy85.mod-warning { + background-image:url(/resources/pedals/boxy85/warning.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy100.mod-warning { + background-image:url(/resources/pedals/boxy100/warning.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-green { + background-image:url(/resources/pedals/boxy/green.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy50.mod-green { + background-image:url(/resources/pedals/boxy-small/green.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy75.mod-green { + background-image:url(/resources/pedals/boxy75/green.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy85.mod-green { + background-image:url(/resources/pedals/boxy85/green.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy100.mod-green { + background-image:url(/resources/pedals/boxy100/green.png{{{ns}}}); +} + + +/* = COLORS - Color of the pedals labels +================================================ */ +.mod-pedal-boxy{{{cns}}}.mod-tribal2 .mod-enumerated, +.mod-pedal-boxy{{{cns}}}.mod-purple .mod-enumerated, +.mod-pedal-boxy{{{cns}}}.mod-lava .mod-enumerated, +.mod-pedal-boxy{{{cns}}}.mod-black .mod-enumerated, +.mod-pedal-boxy{{{cns}}}.mod-racing .mod-enumerated, +.mod-pedal-boxy{{{cns}}}.mod-red .mod-enumerated, +.mod-pedal-boxy{{{cns}}}.mod-brown .mod-enumerated, +.mod-pedal-boxy{{{cns}}}.mod-petrol .mod-enumerated, +.mod-pedal-boxy{{{cns}}}.mod-wood2 .mod-enumerated, +.mod-pedal-boxy{{{cns}}}.mod-wood3 .mod-enumerated, +.mod-pedal-boxy{{{cns}}}.mod-wood4 .mod-enumerated, +.mod-pedal-boxy{{{cns}}}.mod-gray .mod-enumerated, +.mod-pedal-boxy{{{cns}}}.mod-none .mod-enumerated, +.mod-pedal-boxy{{{cns}}}.mod-flowerpower .mod-enumerated, +.mod-pedal-boxy{{{cns}}}.mod-darkblue .mod-enumerated, +.mod-pedal-boxy{{{cns}}}.mod-warning .mod-enumerated, +.mod-pedal-boxy{{{cns}}}.mod-green .mod-enumerated +{ + background-image:url(/resources/utils/dropdown-arrow-white.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-gold .mod-enumerated, +.mod-pedal-boxy{{{cns}}}.mod-slime .mod-enumerated, +.mod-pedal-boxy{{{cns}}}.mod-yellow .mod-enumerated, +.mod-pedal-boxy{{{cns}}}.mod-pink .mod-enumerated, +.mod-pedal-boxy{{{cns}}}.mod-zinc .mod-enumerated, +.mod-pedal-boxy{{{cns}}}.mod-cream .mod-enumerated, +.mod-pedal-boxy{{{cns}}}.mod-blue .mod-enumerated, +.mod-pedal-boxy{{{cns}}}.mod-orange .mod-enumerated, +.mod-pedal-boxy{{{cns}}}.mod-white .mod-enumerated, +.mod-pedal-boxy{{{cns}}}.mod-dots .mod-enumerated, +.mod-pedal-boxy{{{cns}}}.mod-wood0 .mod-enumerated, +.mod-pedal-boxy{{{cns}}}.mod-wood1 .mod-enumerated, +.mod-pedal-boxy{{{cns}}}.mod-cyan .mod-enumerated, +.mod-pedal-boxy{{{cns}}}.mod-tribal1 .mod-enumerated +{ + background-image:url(/resources/utils/dropdown-arrow-black.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-tribal2 h1, +.mod-pedal-boxy{{{cns}}}.mod-tribal2 .mod-enumerated, +.mod-pedal-boxy{{{cns}}}.mod-tribal2 .mod-control-group .mod-knob > span.mod-knob-title, +.mod-pedal-boxy{{{cns}}}.mod-purple h1, +.mod-pedal-boxy{{{cns}}}.mod-purple .mod-enumerated, +.mod-pedal-boxy{{{cns}}}.mod-purple .mod-control-group .mod-knob > span.mod-knob-title, +.mod-pedal-boxy{{{cns}}}.mod-lava h1, +.mod-pedal-boxy{{{cns}}}.mod-lava .mod-enumerated, +.mod-pedal-boxy{{{cns}}}.mod-lava .mod-control-group .mod-knob > span.mod-knob-title, +.mod-pedal-boxy{{{cns}}}.mod-black h1, +.mod-pedal-boxy{{{cns}}}.mod-black .mod-enumerated, +.mod-pedal-boxy{{{cns}}}.mod-black .mod-control-group .mod-knob > span.mod-knob-title, +.mod-pedal-boxy{{{cns}}}.mod-racing h1, +.mod-pedal-boxy{{{cns}}}.mod-racing .mod-enumerated, +.mod-pedal-boxy{{{cns}}}.mod-racing .mod-control-group .mod-knob > span.mod-knob-title, +.mod-pedal-boxy{{{cns}}}.mod-red h1, +.mod-pedal-boxy{{{cns}}}.mod-red .mod-enumerated, +.mod-pedal-boxy{{{cns}}}.mod-red .mod-control-group .mod-knob > span.mod-knob-title, +.mod-pedal-boxy{{{cns}}}.mod-brown h1, +.mod-pedal-boxy{{{cns}}}.mod-brown .mod-enumerated, +.mod-pedal-boxy{{{cns}}}.mod-brown .mod-control-group .mod-knob > span.mod-knob-title, +.mod-pedal-boxy{{{cns}}}.mod-petrol h1, +.mod-pedal-boxy{{{cns}}}.mod-petrol .mod-enumerated, +.mod-pedal-boxy{{{cns}}}.mod-petrol .mod-control-group .mod-knob > span.mod-knob-title, +.mod-pedal-boxy{{{cns}}}.mod-wood2 h1, +.mod-pedal-boxy{{{cns}}}.mod-wood2 .mod-enumerated, +.mod-pedal-boxy{{{cns}}}.mod-wood2 .mod-control-group .mod-knob > span.mod-knob-title, +.mod-pedal-boxy{{{cns}}}.mod-wood3 h1, +.mod-pedal-boxy{{{cns}}}.mod-wood3 .mod-enumerated, +.mod-pedal-boxy{{{cns}}}.mod-wood3 .mod-control-group .mod-knob > span.mod-knob-title, +.mod-pedal-boxy{{{cns}}}.mod-wood4 h1, +.mod-pedal-boxy{{{cns}}}.mod-wood4 .mod-enumerated, +.mod-pedal-boxy{{{cns}}}.mod-wood4 .mod-control-group .mod-knob > span.mod-knob-title, +.mod-pedal-boxy{{{cns}}}.mod-gray h1, +.mod-pedal-boxy{{{cns}}}.mod-gray .mod-enumerated, +.mod-pedal-boxy{{{cns}}}.mod-gray .mod-control-group .mod-knob > span.mod-knob-title, +.mod-pedal-boxy{{{cns}}}.mod-none h1, +.mod-pedal-boxy{{{cns}}}.mod-none .mod-enumerated, +.mod-pedal-boxy{{{cns}}}.mod-none .mod-control-group .mod-knob > span.mod-knob-title, +.mod-pedal-boxy{{{cns}}}.mod-flowerpower h1, +.mod-pedal-boxy{{{cns}}}.mod-flowerpower .mod-enumerated, +.mod-pedal-boxy{{{cns}}}.mod-flowerpower .mod-control-group .mod-knob > span.mod-knob-title, +.mod-pedal-boxy{{{cns}}}.mod-darkblue h1, +.mod-pedal-boxy{{{cns}}}.mod-darkblue .mod-enumerated, +.mod-pedal-boxy{{{cns}}}.mod-darkblue .mod-control-group .mod-knob > span.mod-knob-title, +.mod-pedal-boxy{{{cns}}}.mod-warning h1, +.mod-pedal-boxy{{{cns}}}.mod-warning .mod-enumerated, +.mod-pedal-boxy{{{cns}}}.mod-warning .mod-control-group .mod-knob > span.mod-knob-title, +.mod-pedal-boxy{{{cns}}}.mod-green h1, +.mod-pedal-boxy{{{cns}}}.mod-green .mod-enumerated, +.mod-pedal-boxy{{{cns}}}.mod-green .mod-control-group .mod-knob > span.mod-knob-title +{ + color:white; +} +.mod-pedal-boxy{{{cns}}}.mod-gold h1, +.mod-pedal-boxy{{{cns}}}.mod-gold .mod-enumerated, +.mod-pedal-boxy{{{cns}}}.mod-gold .mod-control-group .mod-knob > span.mod-knob-title, +.mod-pedal-boxy{{{cns}}}.mod-slime h1, +.mod-pedal-boxy{{{cns}}}.mod-slime .mod-enumerated, +.mod-pedal-boxy{{{cns}}}.mod-slime .mod-control-group .mod-knob > span.mod-knob-title, +.mod-pedal-boxy{{{cns}}}.mod-yellow h1, +.mod-pedal-boxy{{{cns}}}.mod-yellow .mod-enumerated, +.mod-pedal-boxy{{{cns}}}.mod-yellow .mod-control-group .mod-knob > span.mod-knob-title, +.mod-pedal-boxy{{{cns}}}.mod-pink h1, +.mod-pedal-boxy{{{cns}}}.mod-pink .mod-enumerated, +.mod-pedal-boxy{{{cns}}}.mod-pink .mod-control-group .mod-knob > span.mod-knob-title, +.mod-pedal-boxy{{{cns}}}.mod-zinc h1, +.mod-pedal-boxy{{{cns}}}.mod-zinc .mod-enumerated, +.mod-pedal-boxy{{{cns}}}.mod-zinc .mod-control-group .mod-knob > span.mod-knob-title, +.mod-pedal-boxy{{{cns}}}.mod-cream h1, +.mod-pedal-boxy{{{cns}}}.mod-cream .mod-enumerated, +.mod-pedal-boxy{{{cns}}}.mod-cream .mod-control-group .mod-knob > span.mod-knob-title, +.mod-pedal-boxy{{{cns}}}.mod-blue h1, +.mod-pedal-boxy{{{cns}}}.mod-blue .mod-enumerated, +.mod-pedal-boxy{{{cns}}}.mod-blue .mod-control-group .mod-knob > span.mod-knob-title, +.mod-pedal-boxy{{{cns}}}.mod-orange h1, +.mod-pedal-boxy{{{cns}}}.mod-orange .mod-enumerated, +.mod-pedal-boxy{{{cns}}}.mod-orange .mod-control-group .mod-knob > span.mod-knob-title, +.mod-pedal-boxy{{{cns}}}.mod-white h1, +.mod-pedal-boxy{{{cns}}}.mod-white .mod-enumerated, +.mod-pedal-boxy{{{cns}}}.mod-white .mod-control-group .mod-knob > span.mod-knob-title, +.mod-pedal-boxy{{{cns}}}.mod-dots h1, +.mod-pedal-boxy{{{cns}}}.mod-dots .mod-enumerated, +.mod-pedal-boxy{{{cns}}}.mod-dots .mod-control-group .mod-knob > span.mod-knob-title, +.mod-pedal-boxy{{{cns}}}.mod-wood0 h1, +.mod-pedal-boxy{{{cns}}}.mod-wood0 .mod-enumerated, +.mod-pedal-boxy{{{cns}}}.mod-wood0 .mod-control-group .mod-knob > span.mod-knob-title, +.mod-pedal-boxy{{{cns}}}.mod-wood1 h1, +.mod-pedal-boxy{{{cns}}}.mod-wood1 .mod-enumerated, +.mod-pedal-boxy{{{cns}}}.mod-wood1 .mod-control-group .mod-knob > span.mod-knob-title, +.mod-pedal-boxy{{{cns}}}.mod-cyan h1, +.mod-pedal-boxy{{{cns}}}.mod-cyan .mod-enumerated, +.mod-pedal-boxy{{{cns}}}.mod-cyan .mod-control-group .mod-knob > span.mod-knob-title, +.mod-pedal-boxy{{{cns}}}.mod-tribal1 h1, +.mod-pedal-boxy{{{cns}}}.mod-tribal1 .mod-enumerated, +.mod-pedal-boxy{{{cns}}}.mod-tribal1 .mod-control-group .mod-knob > span.mod-knob-title +{ + color:black; +} +.mod-pedal-boxy{{{cns}}}.mod-tribal2 h1, +.mod-pedal-boxy{{{cns}}}.mod-purple h1, +.mod-pedal-boxy{{{cns}}}.mod-lava h1, +.mod-pedal-boxy{{{cns}}}.mod-black h1, +.mod-pedal-boxy{{{cns}}}.mod-racing h1, +.mod-pedal-boxy{{{cns}}}.mod-red h1, +.mod-pedal-boxy{{{cns}}}.mod-brown h1, +.mod-pedal-boxy{{{cns}}}.mod-petrol h1, +.mod-pedal-boxy{{{cns}}}.mod-wood2 h1, +.mod-pedal-boxy{{{cns}}}.mod-wood3 h1, +.mod-pedal-boxy{{{cns}}}.mod-wood4 h1, +.mod-pedal-boxy{{{cns}}}.mod-gray h1, +.mod-pedal-boxy{{{cns}}}.mod-none h1, +.mod-pedal-boxy{{{cns}}}.mod-flowerpower h1, +.mod-pedal-boxy{{{cns}}}.mod-darkblue h1, +.mod-pedal-boxy{{{cns}}}.mod-warning h1, +.mod-pedal-boxy{{{cns}}}.mod-green h1 +{ + border-color:white; +} +.mod-pedal-boxy{{{cns}}}.mod-gold h1, +.mod-pedal-boxy{{{cns}}}.mod-slime h1, +.mod-pedal-boxy{{{cns}}}.mod-yellow h1, +.mod-pedal-boxy{{{cns}}}.mod-pink h1, +.mod-pedal-boxy{{{cns}}}.mod-zinc h1, +.mod-pedal-boxy{{{cns}}}.mod-cream h1, +.mod-pedal-boxy{{{cns}}}.mod-blue h1, +.mod-pedal-boxy{{{cns}}}.mod-orange h1, +.mod-pedal-boxy{{{cns}}}.mod-white h1, +.mod-pedal-boxy{{{cns}}}.mod-dots h1, +.mod-pedal-boxy{{{cns}}}.mod-wood0 h1, +.mod-pedal-boxy{{{cns}}}.mod-wood1 h1, +.mod-pedal-boxy{{{cns}}}.mod-cyan h1, +.mod-pedal-boxy{{{cns}}}.mod-tribal1 h1 +{ + border-color:black; +} +/* STYLES FOR THE BOXY KNOB */ + + +/* = KNOBS +================================================ */ +.mod-pedal-boxy{{{cns}}} .mod-control-group.mod-copper .mod-knob .mod-knob-image { + background-image:url(/resources/knobs/boxy/copper.png{{{ns}}}); +}.mod-pedal-boxy{{{cns}}} .mod-control-group.mod-aluminium .mod-knob .mod-knob-image { + background-image:url(/resources/knobs/boxy/aluminium.png{{{ns}}}); +}.mod-pedal-boxy{{{cns}}} .mod-control-group.mod-gold .mod-knob .mod-knob-image { + background-image:url(/resources/knobs/boxy/gold.png{{{ns}}}); +}.mod-pedal-boxy{{{cns}}} .mod-control-group.mod-petrol .mod-knob .mod-knob-image { + background-image:url(/resources/knobs/boxy/petrol.png{{{ns}}}); +}.mod-pedal-boxy{{{cns}}} .mod-control-group.mod-silver .mod-knob .mod-knob-image { + background-image:url(/resources/knobs/boxy/silver.png{{{ns}}}); +}.mod-pedal-boxy{{{cns}}} .mod-control-group.mod-bronze .mod-knob .mod-knob-image { + background-image:url(/resources/knobs/boxy/bronze.png{{{ns}}}); +}.mod-pedal-boxy{{{cns}}} .mod-control-group.mod-blue .mod-knob .mod-knob-image { + background-image:url(/resources/knobs/boxy/blue.png{{{ns}}}); +}.mod-pedal-boxy{{{cns}}} .mod-control-group.mod-steel .mod-knob .mod-knob-image { + background-image:url(/resources/knobs/boxy/steel.png{{{ns}}}); +}.mod-pedal-boxy{{{cns}}} .mod-control-group.mod-purple .mod-knob .mod-knob-image { + background-image:url(/resources/knobs/boxy/purple.png{{{ns}}}); +}.mod-pedal-boxy{{{cns}}} .mod-control-group.mod-black .mod-knob .mod-knob-image { + background-image:url(/resources/knobs/boxy/black.png{{{ns}}}); +}.mod-pedal-boxy{{{cns}}} .mod-control-group.mod-green .mod-knob .mod-knob-image { + background-image:url(/resources/knobs/boxy/green.png{{{ns}}}); +} diff --git a/modguis/Pitchotto.modgui/modgui/thumbnail-pitchotto.png b/modguis/Pitchotto.modgui/modgui/thumbnail-pitchotto.png new file mode 100644 index 0000000..3f47c78 Binary files /dev/null and b/modguis/Pitchotto.modgui/modgui/thumbnail-pitchotto.png differ diff --git a/modguis/Pitchotto.modgui/modgui/utils/dropdown-arrow-black.png b/modguis/Pitchotto.modgui/modgui/utils/dropdown-arrow-black.png new file mode 100644 index 0000000..a90a66d Binary files /dev/null and b/modguis/Pitchotto.modgui/modgui/utils/dropdown-arrow-black.png differ diff --git a/modguis/Pitchotto.modgui/modgui/utils/dropdown-arrow-white.png b/modguis/Pitchotto.modgui/modgui/utils/dropdown-arrow-white.png new file mode 100644 index 0000000..9649bd3 Binary files /dev/null and b/modguis/Pitchotto.modgui/modgui/utils/dropdown-arrow-white.png differ diff --git a/modguis/Shiroverb.modgui/manifest.ttl b/modguis/Shiroverb.modgui/manifest.ttl new file mode 100644 index 0000000..d98258c --- /dev/null +++ b/modguis/Shiroverb.modgui/manifest.ttl @@ -0,0 +1,50 @@ +@prefix modgui: . +@prefix lv2: . + + + modgui:gui [ + modgui:resourcesDirectory ; + modgui:iconTemplate ; + modgui:stylesheet ; + modgui:screenshot ; + modgui:thumbnail ; + modgui:brand "SHIRO" ; + modgui:label "Shiroverb" ; + modgui:model "boxy" ; + modgui:panel "8-knobs" ; + modgui:color "petrol" ; + modgui:knob "black" ; + modgui:port [ + lv2:index 0 ; + lv2:symbol "decay" ; + lv2:name "decay" ; + ] , [ + lv2:index 1 ; + lv2:symbol "roomsize" ; + lv2:name "roomsize" ; + ] , [ + lv2:index 2 ; + lv2:symbol "damping" ; + lv2:name "damping" ; + ] , [ + lv2:index 3 ; + lv2:symbol "mix" ; + lv2:name "mix" ; + ] , [ + lv2:index 4 ; + lv2:symbol "ratio" ; + lv2:name "ratio" ; + ] , [ + lv2:index 5 ; + lv2:symbol "cutoff" ; + lv2:name "cutoff" ; + ] , [ + lv2:index 6 ; + lv2:symbol "blur" ; + lv2:name "blur" ; + ] , [ + lv2:index 7 ; + lv2:symbol "shimmer" ; + lv2:name "shimmer" ; + ] ; + ] . \ No newline at end of file diff --git a/modguis/Shiroverb.modgui/modgui/icon-shiroverb.html b/modguis/Shiroverb.modgui/modgui/icon-shiroverb.html new file mode 100644 index 0000000..8964d6e --- /dev/null +++ b/modguis/Shiroverb.modgui/modgui/icon-shiroverb.html @@ -0,0 +1,49 @@ +
+
+

{{brand}}

+

{{label}}

+
+
+ {{#controls}} +
+
+ {{name}} +
+ {{/controls}} +
+
+
+ {{#effect.ports.audio.input}} +
+
+
+ {{/effect.ports.audio.input}} + {{#effect.ports.midi.input}} +
+
+
+ {{/effect.ports.midi.input}} + {{#effect.ports.cv.input}} +
+
+
+ {{/effect.ports.cv.input}} +
+
+ {{#effect.ports.audio.output}} +
+
+
+ {{/effect.ports.audio.output}} + {{#effect.ports.midi.output}} +
+
+
+ {{/effect.ports.midi.output}} + {{#effect.ports.cv.output}} +
+
+
+ {{/effect.ports.cv.output}} +
+
\ No newline at end of file diff --git a/modguis/Shiroverb.modgui/modgui/knobs/boxy/black.png b/modguis/Shiroverb.modgui/modgui/knobs/boxy/black.png new file mode 100644 index 0000000..d13278c Binary files /dev/null and b/modguis/Shiroverb.modgui/modgui/knobs/boxy/black.png differ diff --git a/modguis/Shiroverb.modgui/modgui/pedals/boxy75/petrol.png b/modguis/Shiroverb.modgui/modgui/pedals/boxy75/petrol.png new file mode 100644 index 0000000..99a6f0f Binary files /dev/null and b/modguis/Shiroverb.modgui/modgui/pedals/boxy75/petrol.png differ diff --git a/modguis/Shiroverb.modgui/modgui/pedals/footswitch.png b/modguis/Shiroverb.modgui/modgui/pedals/footswitch.png new file mode 100644 index 0000000..6ff6b74 Binary files /dev/null and b/modguis/Shiroverb.modgui/modgui/pedals/footswitch.png differ diff --git a/modguis/Shiroverb.modgui/modgui/screenshot-shiroverb.png b/modguis/Shiroverb.modgui/modgui/screenshot-shiroverb.png new file mode 100644 index 0000000..8b7e519 Binary files /dev/null and b/modguis/Shiroverb.modgui/modgui/screenshot-shiroverb.png differ diff --git a/modguis/Shiroverb.modgui/modgui/stylesheet-shiroverb.css b/modguis/Shiroverb.modgui/modgui/stylesheet-shiroverb.css new file mode 100644 index 0000000..3a86051 --- /dev/null +++ b/modguis/Shiroverb.modgui/modgui/stylesheet-shiroverb.css @@ -0,0 +1,1093 @@ +/* STYLES FOR THE BOXY PEDAL */ + +@import url(/fonts/nexa/stylesheet.css); +@import url(/fonts/questrial/stylesheet.css); + + +/* = CONTAINER +================================================ */ +.mod-pedal-boxy{{{cns}}} { + background-position:center center; + background-repeat:no-repeat; + background-size:230px 431px; + height:431px; + position:absolute; + width:230px; + border-radius: 21px; +} + +.mod-pedal-boxy{{{cns}}}.mod-boxy50 { + background-size:301px 315px; + height:315px; + width:301px; +} + +.mod-pedal-boxy{{{cns}}}.mod-boxy75 { + background-size:326px 431px; + width:326px; +} + +.mod-pedal-boxy{{{cns}}}.mod-boxy85 { + background-size:364px 431px; + width:364px; +} + +.mod-pedal-boxy{{{cns}}}.mod-boxy100 { + background-size:421px 431px; + width:421px; +} + +/* = PLUGIN'S AUTHOR +================================================ */ +.mod-pedal-boxy{{{cns}}} .mod-plugin-brand { + left:0; + position:absolute; + right:0; + text-align:center; + text-transform:uppercase; + top:160px; +} + +.mod-pedal-boxy{{{cns}}} .mod-plugin-brand h1 { + border-color:#000; + border-radius:12px; + border-style:solid; + border-width:4px; + display:inline-block; + font-family:"Nexa"; + font-size:32px; + padding:3px 9px 0; +} + +.mod-pedal-boxy{{{cns}}}.mod-five-knobs .mod-plugin-brand, +.mod-pedal-boxy{{{cns}}}.mod-six-knobs .mod-plugin-brand, +.mod-pedal-boxy{{{cns}}}.mod-seven-knobs .mod-plugin-brand, +.mod-pedal-boxy{{{cns}}}.mod-eight-knobs .mod-plugin-brand { + top:190px; +} + +.mod-pedal-boxy{{{cns}}}.mod-boxy50 .mod-plugin-brand { + top:16px; +} + + +/* = PLUGIN'S NAME +================================================ */ +.mod-pedal-boxy{{{cns}}} .mod-plugin-name { + left:30px; + overflow:hidden; + position:absolute; + right:30px; + text-align:center; + top:340px; +} + +.mod-pedal-boxy{{{cns}}} .mod-plugin-name h1 { + font-family:"Questrial"; + font-size:21px; + line-height:1; +} + +.mod-pedal-boxy{{{cns}}}.mod-five-knobs .mod-plugin-name, +.mod-pedal-boxy{{{cns}}}.mod-six-knobs .mod-plugin-name, +.mod-pedal-boxy{{{cns}}}.mod-seven-knobs .mod-plugin-name, +.mod-pedal-boxy{{{cns}}}.mod-eight-knobs .mod-plugin-name { + top:350px; +} + +.mod-pedal-boxy{{{cns}}}.mod-boxy50 .mod-plugin-name { + top:230px; +} + + +/* = LIGHT ON/OFF +================================================ */ +.mod-pedal-boxy{{{cns}}} .mod-light { + background-position:center center; + background-repeat:no-repeat; + height:32px; + left:10px; + position:absolute; + right:10px; + top:235px; +} + +.mod-pedal-boxy{{{cns}}}.mod-five-knobs .mod-light, +.mod-pedal-boxy{{{cns}}}.mod-six-knobs .mod-light, +.mod-pedal-boxy{{{cns}}}.mod-seven-knobs .mod-light, +.mod-pedal-boxy{{{cns}}}.mod-eight-knobs .mod-light { + top:253px; +} + +.mod-pedal-boxy{{{cns}}}.mod-boxy50 .mod-light { + top:105px; +} + + +/* = FOOTSWITCH +================================================ */ +.mod-pedal-boxy{{{cns}}} .mod-footswitch { + background-image:url(/resources/pedals/footswitch.png{{{ns}}}); + background-position:bottom center; + background-repeat:no-repeat; + background-size:auto 132px; + bottom: 95px; + left: 13px; + right: 13px; + cursor:pointer; + height:66px; + width: 66px; + margin: auto; + position:absolute !important; +} +.mod-pedal-boxy{{{cns}}} .mod-footswitch.on { + background-position-y: top !important +} + +.mod-pedal-boxy{{{cns}}}.mod-five-knobs .mod-footswitch, +.mod-pedal-boxy{{{cns}}}.mod-six-knobs .mod-footswitch, +.mod-pedal-boxy{{{cns}}}.mod-seven-knobs .mod-footswitch, +.mod-pedal-boxy{{{cns}}}.mod-eight-knobs .mod-footswitch { + top:285px; +} + +.mod-pedal-boxy{{{cns}}}.mod-boxy50 .mod-footswitch { + top:140px; +} + + +/* = KNOBS +================================================ */ +.mod-pedal-boxy{{{cns}}} .mod-control-group { + margin:16px !important; + position:relative; + text-align:center; + z-index:30; +} +.mod-pedal-boxy{{{cns}}} .top { + margin-top:0px !important; +} + +.mod-pedal-boxy{{{cns}}} .mod-control-group .mod-knob { + overflow:hidden; + position:relative; +} + +.mod-pedal-boxy{{{cns}}} .mod-control-group .mod-knob > span.mod-knob-title { + bottom:0px; + display:block; + font-size:11px; + font-weight:bold; + height:12px; + left:0; + line-height:1; + margin:0; + overflow:hidden; + padding:0; + position:absolute; + right:0; + text-transform:uppercase; +} + +/* ONE KNOB */ +.mod-pedal-boxy{{{cns}}}.mod-one-knob .mod-control-group .mod-knob .mod-knob-image { + background-image:url(/resources/knobs/boxy/boxy.png{{{ns}}}); + background-repeat:no-repeat; + background-size:auto 98px; + height:98px; + width:98px; + margin:0 auto; +} +.mod-pedal-boxy{{{cns}}}.mod-one-knob .mod-control-group .mod-knob > span.mod-knob-title { + font-size:15px; + height:15px; +} +.mod-pedal-boxy{{{cns}}}.mod-one-knob .mod-control-group .mod-knob { + height:115px; +} + +/* TWO KNOBS */ +.mod-pedal-boxy{{{cns}}}.mod-two-knobs .mod-control-group .mod-knob .mod-knob-image { + background-image:url(/resources/knobs/boxy/boxy.png{{{ns}}}); + background-repeat:no-repeat; + background-size:auto 90px; + height:90px; + width:90px; + margin:0 auto; +} +.mod-pedal-boxy{{{cns}}}.mod-two-knobs .mod-control-group .mod-knob > span.mod-knob-title { + font-size:13px; +} +.mod-pedal-boxy{{{cns}}}.mod-two-knobs .mod-control-group .mod-knob { + float:left; + width:50%; +} +.mod-pedal-boxy{{{cns}}}.mod-two-knobs .mod-control-group .mod-knob { + height:103px; +} + +/* THREE AND HIGHER KNOBS */ +.mod-pedal-boxy{{{cns}}}.mod-three-knobs .mod-control-group .mod-knob .mod-knob-image, +.mod-pedal-boxy{{{cns}}}.mod-four-knobs .mod-control-group .mod-knob .mod-knob-image, +.mod-pedal-boxy{{{cns}}}.mod-five-knobs .mod-control-group .mod-knob .mod-knob-image, +.mod-pedal-boxy{{{cns}}}.mod-six-knobs .mod-control-group .mod-knob .mod-knob-image, +.mod-pedal-boxy{{{cns}}}.mod-seven-knobs .mod-control-group .mod-knob .mod-knob-image, +.mod-pedal-boxy{{{cns}}}.mod-eight-knobs .mod-control-group .mod-knob .mod-knob-image { + background-image:url(/resources/knobs/lata/lata.png{{{ns}}}); + background-repeat:no-repeat; + background-size:auto 60px; + height:60px; + width:60px; + margin:0 auto; +} +.mod-pedal-boxy{{{cns}}}.mod-three-knobs .mod-control-group .mod-knob, +.mod-pedal-boxy{{{cns}}}.mod-four-knobs .mod-control-group .mod-knob, +.mod-pedal-boxy{{{cns}}}.mod-five-knobs .mod-control-group .mod-knob, +.mod-pedal-boxy{{{cns}}}.mod-six-knobs .mod-control-group .mod-knob, +.mod-pedal-boxy{{{cns}}}.mod-seven-knobs .mod-control-group .mod-knob, +.mod-pedal-boxy{{{cns}}}.mod-eight-knobs .mod-control-group .mod-knob { + display:inline-block; + height:73px; +} + +/* EIGTH KNOBS */ +.mod-pedal-boxy{{{cns}}}.mod-eight-knobs .mod-knob { + width:64px; +} + +/* = ENUMERATED LIST +================================================ */ +.mod-pedal-boxy{{{cns}}} .mod-enumerated-group { + height:31px; + margin:20px auto 0 !important; + position:relative; + width:190px; + z-index:35; +} + +.mod-pedal-boxy{{{cns}}}.mod-three-knobs .mod-enumerated-group, +.mod-pedal-boxy{{{cns}}}.mod-four-knobs .mod-enumerated-group { + margin-bottom:5px !important; +} + +.mod-pedal-boxy{{{cns}}}.mod-four-knobs .mod-enumerated-group { + width:250px; +} + +.mod-pedal-boxy{{{cns}}} .mod-enumerated { + background-position:right center; + background-repeat:no-repeat; + font-size:11px; + font-weight:bold; + left:0; + line-height:2; + overflow:hidden; + position:absolute; + right:0; + text-align:left; +} + +.mod-pedal-boxy{{{cns}}} .mod-enumerated .mod-enumerated-selected { + background-color:rgba(0,0,0,.3); + box-shadow:inset 0 0 4px rgba(0,0,0,.3); + border-radius:4px; + padding:3px 9px; +} + +.mod-pedal-boxy{{{cns}}} .mod-enumerated .mod-enumerated-selected { + border-radius:4px 4px 0 0; +} + +.mod-pedal-boxy{{{cns}}} .mod-enumerated .mod-enumerated-list { + display:none; + color:#fff; +} + +.mod-pedal-boxy{{{cns}}} .mod-enumerated .mod-enumerated-list { + background-color:rgba(0,0,0,.9); + display:none; + height:115px; + overflow:auto; + position:relative; +} + +.mod-pedal-boxy{{{cns}}} .mod-enumerated .mod-enumerated-list > div { + padding:3px 9px; +} + +.mod-pedal-boxy{{{cns}}} .mod-enumerated .mod-enumerated-list > div:hover { + background-color:rgba(255,255,255,.2); + cursor:pointer; +} + +/* SLIDER +================================================ */ +.mod-pedal-boxy{{{cns}}} .mod-slider:first-child { + margin-left:8px; +} + +.mod-pedal-boxy{{{cns}}} .mod-slider { + color:black; + float:left; + font-size:11px; + height:140px; + margin-bottom:2px; + margin-right:2px; + overflow:hidden; + position:relative; + text-align:center; + width:33px; +} + + +.mod-pedal-boxy{{{cns}}} .mod-slider .mod-slider-title { + display:block; + font-size:11px; + font-weight:bold; + height:7px; + line-height:1; + margin-bottom:3px; + overflow:hidden; + padding:7px 0 5px; + position:relative; +} + +.mod-pedal-boxy{{{cns}}} .mod-slider .mod-slider-image { + background-image:url(/resources/pedals/slider.png{{{ns}}}); + background-repeat:no-repeat; + background-size:auto 110px; + height:110px; + margin:0 auto; + width:44px; +} + +.mod-pedal-boxy{{{cns}}} .mod-slider .mod-slider-image:hover { + cursor:pointer; +} + +.mod-pedal-boxy{{{cns}}}.mod-three-sliders .mod-slider { + margin:0; + width:33%; +} + +.mod-pedal-boxy{{{cns}}}.mod-four-sliders .mod-slider { + margin:0; + width:25%; +} + +.mod-pedal-boxy{{{cns}}}.mod-five-sliders .mod-slider { + margin:0; + width:20%; +} + +.mod-pedal-boxy{{{cns}}}.mod-six-sliders .mod-slider { + margin:0; + width:16.5%; +} + +.mod-pedal-boxy{{{cns}}}.mod-seven-sliders .mod-slider { + margin:0; + width:14.2%; +} + +.mod-pedal-boxy{{{cns}}}.mod-eight-sliders .mod-slider { + margin:0; + width:12.5%; +} + +.mod-pedal-boxy{{{cns}}}.mod-nine-sliders .mod-slider { + margin:0; + width:11.11%; +} + +.mod-pedal-boxy{{{cns}}}.mod-ten-sliders .mod-slider { + margin:0; + width:10%; +} + +.mod-pedal-boxy{{{cns}}}.mod-ten-sliders .mod-slider .mod-slider-image { + margin-left:-5px; +} + +.mod-pedal-boxy{{{cns}}}.mod-twelve-sliders .mod-slider { + margin:0; + width:8.333333%; +} + +.mod-pedal-boxy{{{cns}}}.mod-twelve-sliders .mod-slider .mod-slider-image { + margin-left:-5px; +} + + +/* = BACKGROUND IMAGES - Color of the pedal +================================================ */ +.mod-pedal-boxy{{{cns}}}.mod-gold { + background-image:url(/resources/pedals/boxy/gold.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy50.mod-gold { + background-image:url(/resources/pedals/boxy-small/gold.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy75.mod-gold { + background-image:url(/resources/pedals/boxy75/gold.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy85.mod-gold { + background-image:url(/resources/pedals/boxy85/gold.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy100.mod-gold { + background-image:url(/resources/pedals/boxy100/gold.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-slime { + background-image:url(/resources/pedals/boxy/slime.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy50.mod-slime { + background-image:url(/resources/pedals/boxy-small/slime.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy75.mod-slime { + background-image:url(/resources/pedals/boxy75/slime.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy85.mod-slime { + background-image:url(/resources/pedals/boxy85/slime.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy100.mod-slime { + background-image:url(/resources/pedals/boxy100/slime.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-yellow { + background-image:url(/resources/pedals/boxy/yellow.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy50.mod-yellow { + background-image:url(/resources/pedals/boxy-small/yellow.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy75.mod-yellow { + background-image:url(/resources/pedals/boxy75/yellow.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy85.mod-yellow { + background-image:url(/resources/pedals/boxy85/yellow.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy100.mod-yellow { + background-image:url(/resources/pedals/boxy100/yellow.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-pink { + background-image:url(/resources/pedals/boxy/pink.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy50.mod-pink { + background-image:url(/resources/pedals/boxy-small/pink.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy75.mod-pink { + background-image:url(/resources/pedals/boxy75/pink.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy85.mod-pink { + background-image:url(/resources/pedals/boxy85/pink.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy100.mod-pink { + background-image:url(/resources/pedals/boxy100/pink.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-zinc { + background-image:url(/resources/pedals/boxy/zinc.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy50.mod-zinc { + background-image:url(/resources/pedals/boxy-small/zinc.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy75.mod-zinc { + background-image:url(/resources/pedals/boxy75/zinc.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy85.mod-zinc { + background-image:url(/resources/pedals/boxy85/zinc.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy100.mod-zinc { + background-image:url(/resources/pedals/boxy100/zinc.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-cream { + background-image:url(/resources/pedals/boxy/cream.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy50.mod-cream { + background-image:url(/resources/pedals/boxy-small/cream.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy75.mod-cream { + background-image:url(/resources/pedals/boxy75/cream.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy85.mod-cream { + background-image:url(/resources/pedals/boxy85/cream.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy100.mod-cream { + background-image:url(/resources/pedals/boxy100/cream.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-blue { + background-image:url(/resources/pedals/boxy/blue.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy50.mod-blue { + background-image:url(/resources/pedals/boxy-small/blue.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy75.mod-blue { + background-image:url(/resources/pedals/boxy75/blue.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy85.mod-blue { + background-image:url(/resources/pedals/boxy85/blue.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy100.mod-blue { + background-image:url(/resources/pedals/boxy100/blue.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-tribal2 { + background-image:url(/resources/pedals/boxy/tribal2.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy50.mod-tribal2 { + background-image:url(/resources/pedals/boxy-small/tribal2.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy75.mod-tribal2 { + background-image:url(/resources/pedals/boxy75/tribal2.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy85.mod-tribal2 { + background-image:url(/resources/pedals/boxy85/tribal2.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy100.mod-tribal2 { + background-image:url(/resources/pedals/boxy100/tribal2.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-purple { + background-image:url(/resources/pedals/boxy/purple.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy50.mod-purple { + background-image:url(/resources/pedals/boxy-small/purple.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy75.mod-purple { + background-image:url(/resources/pedals/boxy75/purple.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy85.mod-purple { + background-image:url(/resources/pedals/boxy85/purple.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy100.mod-purple { + background-image:url(/resources/pedals/boxy100/purple.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-lava { + background-image:url(/resources/pedals/boxy/lava.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy50.mod-lava { + background-image:url(/resources/pedals/boxy-small/lava.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy75.mod-lava { + background-image:url(/resources/pedals/boxy75/lava.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy85.mod-lava { + background-image:url(/resources/pedals/boxy85/lava.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy100.mod-lava { + background-image:url(/resources/pedals/boxy100/lava.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-black { + background-image:url(/resources/pedals/boxy/black.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy50.mod-black { + background-image:url(/resources/pedals/boxy-small/black.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy75.mod-black { + background-image:url(/resources/pedals/boxy75/black.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy85.mod-black { + background-image:url(/resources/pedals/boxy85/black.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy100.mod-black { + background-image:url(/resources/pedals/boxy100/black.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-orange { + background-image:url(/resources/pedals/boxy/orange.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy50.mod-orange { + background-image:url(/resources/pedals/boxy-small/orange.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy75.mod-orange { + background-image:url(/resources/pedals/boxy75/orange.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy85.mod-orange { + background-image:url(/resources/pedals/boxy85/orange.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy100.mod-orange { + background-image:url(/resources/pedals/boxy100/orange.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-white { + background-image:url(/resources/pedals/boxy/white.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy50.mod-white { + background-image:url(/resources/pedals/boxy-small/white.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy75.mod-white { + background-image:url(/resources/pedals/boxy75/white.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy85.mod-white { + background-image:url(/resources/pedals/boxy85/white.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy100.mod-white { + background-image:url(/resources/pedals/boxy100/white.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-racing { + background-image:url(/resources/pedals/boxy/racing.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy50.mod-racing { + background-image:url(/resources/pedals/boxy-small/racing.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy75.mod-racing { + background-image:url(/resources/pedals/boxy75/racing.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy85.mod-racing { + background-image:url(/resources/pedals/boxy85/racing.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy100.mod-racing { + background-image:url(/resources/pedals/boxy100/racing.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-red { + background-image:url(/resources/pedals/boxy/red.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy50.mod-red { + background-image:url(/resources/pedals/boxy-small/red.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy75.mod-red { + background-image:url(/resources/pedals/boxy75/red.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy85.mod-red { + background-image:url(/resources/pedals/boxy85/red.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy100.mod-red { + background-image:url(/resources/pedals/boxy100/red.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-dots { + background-image:url(/resources/pedals/boxy/dots.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy50.mod-dots { + background-image:url(/resources/pedals/boxy-small/dots.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy75.mod-dots { + background-image:url(/resources/pedals/boxy75/dots.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy85.mod-dots { + background-image:url(/resources/pedals/boxy85/dots.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy100.mod-dots { + background-image:url(/resources/pedals/boxy100/dots.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-brown { + background-image:url(/resources/pedals/boxy/brown.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy50.mod-brown { + background-image:url(/resources/pedals/boxy-small/brown.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy75.mod-brown { + background-image:url(/resources/pedals/boxy75/brown.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy85.mod-brown { + background-image:url(/resources/pedals/boxy85/brown.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy100.mod-brown { + background-image:url(/resources/pedals/boxy100/brown.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-petrol { + background-image:url(/resources/pedals/boxy/petrol.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy50.mod-petrol { + background-image:url(/resources/pedals/boxy-small/petrol.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy75.mod-petrol { + background-image:url(/resources/pedals/boxy75/petrol.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy85.mod-petrol { + background-image:url(/resources/pedals/boxy85/petrol.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy100.mod-petrol { + background-image:url(/resources/pedals/boxy100/petrol.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-wood0 { + background-image:url(/resources/pedals/boxy/wood0.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy50.mod-wood0 { + background-image:url(/resources/pedals/boxy-small/wood0.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy75.mod-wood0 { + background-image:url(/resources/pedals/boxy75/wood0.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy85.mod-wood0 { + background-image:url(/resources/pedals/boxy85/wood0.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy100.mod-wood0 { + background-image:url(/resources/pedals/boxy100/wood0.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-wood1 { + background-image:url(/resources/pedals/boxy/wood1.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy50.mod-wood1 { + background-image:url(/resources/pedals/boxy-small/wood1.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy75.mod-wood1 { + background-image:url(/resources/pedals/boxy75/wood1.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy85.mod-wood1 { + background-image:url(/resources/pedals/boxy85/wood1.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy100.mod-wood1 { + background-image:url(/resources/pedals/boxy100/wood1.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-wood2 { + background-image:url(/resources/pedals/boxy/wood2.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy50.mod-wood2 { + background-image:url(/resources/pedals/boxy-small/wood2.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy75.mod-wood2 { + background-image:url(/resources/pedals/boxy75/wood2.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy85.mod-wood2 { + background-image:url(/resources/pedals/boxy85/wood2.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy100.mod-wood2 { + background-image:url(/resources/pedals/boxy100/wood2.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-wood3 { + background-image:url(/resources/pedals/boxy/wood3.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy50.mod-wood3 { + background-image:url(/resources/pedals/boxy-small/wood3.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy75.mod-wood3 { + background-image:url(/resources/pedals/boxy75/wood3.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy85.mod-wood3 { + background-image:url(/resources/pedals/boxy85/wood3.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy100.mod-wood3 { + background-image:url(/resources/pedals/boxy100/wood3.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-wood4 { + background-image:url(/resources/pedals/boxy/wood4.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy50.mod-wood4 { + background-image:url(/resources/pedals/boxy-small/wood4.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy75.mod-wood4 { + background-image:url(/resources/pedals/boxy75/wood4.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy85.mod-wood4 { + background-image:url(/resources/pedals/boxy85/wood4.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy100.mod-wood4 { + background-image:url(/resources/pedals/boxy100/wood4.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-cyan { + background-image:url(/resources/pedals/boxy/cyan.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy50.mod-cyan { + background-image:url(/resources/pedals/boxy-small/cyan.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy75.mod-cyan { + background-image:url(/resources/pedals/boxy75/cyan.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy85.mod-cyan { + background-image:url(/resources/pedals/boxy85/cyan.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy100.mod-cyan { + background-image:url(/resources/pedals/boxy100/cyan.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-gray { + background-image:url(/resources/pedals/boxy/gray.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy50.mod-gray { + background-image:url(/resources/pedals/boxy-small/gray.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy75.mod-gray { + background-image:url(/resources/pedals/boxy75/gray.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy85.mod-gray { + background-image:url(/resources/pedals/boxy85/gray.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy100.mod-gray { + background-image:url(/resources/pedals/boxy100/gray.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-none { + background-image:url(/resources/pedals/boxy/none.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy50.mod-none { + background-image:url(/resources/pedals/boxy-small/none.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy75.mod-none { + background-image:url(/resources/pedals/boxy75/none.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy85.mod-none { + background-image:url(/resources/pedals/boxy85/none.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy100.mod-none { + background-image:url(/resources/pedals/boxy100/none.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-flowerpower { + background-image:url(/resources/pedals/boxy/flowerpower.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy50.mod-flowerpower { + background-image:url(/resources/pedals/boxy-small/flowerpower.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy75.mod-flowerpower { + background-image:url(/resources/pedals/boxy75/flowerpower.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy85.mod-flowerpower { + background-image:url(/resources/pedals/boxy85/flowerpower.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy100.mod-flowerpower { + background-image:url(/resources/pedals/boxy100/flowerpower.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-darkblue { + background-image:url(/resources/pedals/boxy/darkblue.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy50.mod-darkblue { + background-image:url(/resources/pedals/boxy-small/darkblue.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy75.mod-darkblue { + background-image:url(/resources/pedals/boxy75/darkblue.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy85.mod-darkblue { + background-image:url(/resources/pedals/boxy85/darkblue.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy100.mod-darkblue { + background-image:url(/resources/pedals/boxy100/darkblue.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-tribal1 { + background-image:url(/resources/pedals/boxy/tribal1.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy50.mod-tribal1 { + background-image:url(/resources/pedals/boxy-small/tribal1.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy75.mod-tribal1 { + background-image:url(/resources/pedals/boxy75/tribal1.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy85.mod-tribal1 { + background-image:url(/resources/pedals/boxy85/tribal1.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy100.mod-tribal1 { + background-image:url(/resources/pedals/boxy100/tribal1.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-warning { + background-image:url(/resources/pedals/boxy/warning.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy50.mod-warning { + background-image:url(/resources/pedals/boxy-small/warning.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy75.mod-warning { + background-image:url(/resources/pedals/boxy75/warning.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy85.mod-warning { + background-image:url(/resources/pedals/boxy85/warning.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy100.mod-warning { + background-image:url(/resources/pedals/boxy100/warning.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-green { + background-image:url(/resources/pedals/boxy/green.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy50.mod-green { + background-image:url(/resources/pedals/boxy-small/green.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy75.mod-green { + background-image:url(/resources/pedals/boxy75/green.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy85.mod-green { + background-image:url(/resources/pedals/boxy85/green.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-boxy100.mod-green { + background-image:url(/resources/pedals/boxy100/green.png{{{ns}}}); +} + + +/* = COLORS - Color of the pedals labels +================================================ */ +.mod-pedal-boxy{{{cns}}}.mod-tribal2 .mod-enumerated, +.mod-pedal-boxy{{{cns}}}.mod-purple .mod-enumerated, +.mod-pedal-boxy{{{cns}}}.mod-lava .mod-enumerated, +.mod-pedal-boxy{{{cns}}}.mod-black .mod-enumerated, +.mod-pedal-boxy{{{cns}}}.mod-racing .mod-enumerated, +.mod-pedal-boxy{{{cns}}}.mod-red .mod-enumerated, +.mod-pedal-boxy{{{cns}}}.mod-brown .mod-enumerated, +.mod-pedal-boxy{{{cns}}}.mod-petrol .mod-enumerated, +.mod-pedal-boxy{{{cns}}}.mod-wood2 .mod-enumerated, +.mod-pedal-boxy{{{cns}}}.mod-wood3 .mod-enumerated, +.mod-pedal-boxy{{{cns}}}.mod-wood4 .mod-enumerated, +.mod-pedal-boxy{{{cns}}}.mod-gray .mod-enumerated, +.mod-pedal-boxy{{{cns}}}.mod-none .mod-enumerated, +.mod-pedal-boxy{{{cns}}}.mod-flowerpower .mod-enumerated, +.mod-pedal-boxy{{{cns}}}.mod-darkblue .mod-enumerated, +.mod-pedal-boxy{{{cns}}}.mod-warning .mod-enumerated, +.mod-pedal-boxy{{{cns}}}.mod-green .mod-enumerated +{ + background-image:url(/resources/utils/dropdown-arrow-white.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-gold .mod-enumerated, +.mod-pedal-boxy{{{cns}}}.mod-slime .mod-enumerated, +.mod-pedal-boxy{{{cns}}}.mod-yellow .mod-enumerated, +.mod-pedal-boxy{{{cns}}}.mod-pink .mod-enumerated, +.mod-pedal-boxy{{{cns}}}.mod-zinc .mod-enumerated, +.mod-pedal-boxy{{{cns}}}.mod-cream .mod-enumerated, +.mod-pedal-boxy{{{cns}}}.mod-blue .mod-enumerated, +.mod-pedal-boxy{{{cns}}}.mod-orange .mod-enumerated, +.mod-pedal-boxy{{{cns}}}.mod-white .mod-enumerated, +.mod-pedal-boxy{{{cns}}}.mod-dots .mod-enumerated, +.mod-pedal-boxy{{{cns}}}.mod-wood0 .mod-enumerated, +.mod-pedal-boxy{{{cns}}}.mod-wood1 .mod-enumerated, +.mod-pedal-boxy{{{cns}}}.mod-cyan .mod-enumerated, +.mod-pedal-boxy{{{cns}}}.mod-tribal1 .mod-enumerated +{ + background-image:url(/resources/utils/dropdown-arrow-black.png{{{ns}}}); +} +.mod-pedal-boxy{{{cns}}}.mod-tribal2 h1, +.mod-pedal-boxy{{{cns}}}.mod-tribal2 .mod-enumerated, +.mod-pedal-boxy{{{cns}}}.mod-tribal2 .mod-control-group .mod-knob > span.mod-knob-title, +.mod-pedal-boxy{{{cns}}}.mod-purple h1, +.mod-pedal-boxy{{{cns}}}.mod-purple .mod-enumerated, +.mod-pedal-boxy{{{cns}}}.mod-purple .mod-control-group .mod-knob > span.mod-knob-title, +.mod-pedal-boxy{{{cns}}}.mod-lava h1, +.mod-pedal-boxy{{{cns}}}.mod-lava .mod-enumerated, +.mod-pedal-boxy{{{cns}}}.mod-lava .mod-control-group .mod-knob > span.mod-knob-title, +.mod-pedal-boxy{{{cns}}}.mod-black h1, +.mod-pedal-boxy{{{cns}}}.mod-black .mod-enumerated, +.mod-pedal-boxy{{{cns}}}.mod-black .mod-control-group .mod-knob > span.mod-knob-title, +.mod-pedal-boxy{{{cns}}}.mod-racing h1, +.mod-pedal-boxy{{{cns}}}.mod-racing .mod-enumerated, +.mod-pedal-boxy{{{cns}}}.mod-racing .mod-control-group .mod-knob > span.mod-knob-title, +.mod-pedal-boxy{{{cns}}}.mod-red h1, +.mod-pedal-boxy{{{cns}}}.mod-red .mod-enumerated, +.mod-pedal-boxy{{{cns}}}.mod-red .mod-control-group .mod-knob > span.mod-knob-title, +.mod-pedal-boxy{{{cns}}}.mod-brown h1, +.mod-pedal-boxy{{{cns}}}.mod-brown .mod-enumerated, +.mod-pedal-boxy{{{cns}}}.mod-brown .mod-control-group .mod-knob > span.mod-knob-title, +.mod-pedal-boxy{{{cns}}}.mod-petrol h1, +.mod-pedal-boxy{{{cns}}}.mod-petrol .mod-enumerated, +.mod-pedal-boxy{{{cns}}}.mod-petrol .mod-control-group .mod-knob > span.mod-knob-title, +.mod-pedal-boxy{{{cns}}}.mod-wood2 h1, +.mod-pedal-boxy{{{cns}}}.mod-wood2 .mod-enumerated, +.mod-pedal-boxy{{{cns}}}.mod-wood2 .mod-control-group .mod-knob > span.mod-knob-title, +.mod-pedal-boxy{{{cns}}}.mod-wood3 h1, +.mod-pedal-boxy{{{cns}}}.mod-wood3 .mod-enumerated, +.mod-pedal-boxy{{{cns}}}.mod-wood3 .mod-control-group .mod-knob > span.mod-knob-title, +.mod-pedal-boxy{{{cns}}}.mod-wood4 h1, +.mod-pedal-boxy{{{cns}}}.mod-wood4 .mod-enumerated, +.mod-pedal-boxy{{{cns}}}.mod-wood4 .mod-control-group .mod-knob > span.mod-knob-title, +.mod-pedal-boxy{{{cns}}}.mod-gray h1, +.mod-pedal-boxy{{{cns}}}.mod-gray .mod-enumerated, +.mod-pedal-boxy{{{cns}}}.mod-gray .mod-control-group .mod-knob > span.mod-knob-title, +.mod-pedal-boxy{{{cns}}}.mod-none h1, +.mod-pedal-boxy{{{cns}}}.mod-none .mod-enumerated, +.mod-pedal-boxy{{{cns}}}.mod-none .mod-control-group .mod-knob > span.mod-knob-title, +.mod-pedal-boxy{{{cns}}}.mod-flowerpower h1, +.mod-pedal-boxy{{{cns}}}.mod-flowerpower .mod-enumerated, +.mod-pedal-boxy{{{cns}}}.mod-flowerpower .mod-control-group .mod-knob > span.mod-knob-title, +.mod-pedal-boxy{{{cns}}}.mod-darkblue h1, +.mod-pedal-boxy{{{cns}}}.mod-darkblue .mod-enumerated, +.mod-pedal-boxy{{{cns}}}.mod-darkblue .mod-control-group .mod-knob > span.mod-knob-title, +.mod-pedal-boxy{{{cns}}}.mod-warning h1, +.mod-pedal-boxy{{{cns}}}.mod-warning .mod-enumerated, +.mod-pedal-boxy{{{cns}}}.mod-warning .mod-control-group .mod-knob > span.mod-knob-title, +.mod-pedal-boxy{{{cns}}}.mod-green h1, +.mod-pedal-boxy{{{cns}}}.mod-green .mod-enumerated, +.mod-pedal-boxy{{{cns}}}.mod-green .mod-control-group .mod-knob > span.mod-knob-title +{ + color:white; +} +.mod-pedal-boxy{{{cns}}}.mod-gold h1, +.mod-pedal-boxy{{{cns}}}.mod-gold .mod-enumerated, +.mod-pedal-boxy{{{cns}}}.mod-gold .mod-control-group .mod-knob > span.mod-knob-title, +.mod-pedal-boxy{{{cns}}}.mod-slime h1, +.mod-pedal-boxy{{{cns}}}.mod-slime .mod-enumerated, +.mod-pedal-boxy{{{cns}}}.mod-slime .mod-control-group .mod-knob > span.mod-knob-title, +.mod-pedal-boxy{{{cns}}}.mod-yellow h1, +.mod-pedal-boxy{{{cns}}}.mod-yellow .mod-enumerated, +.mod-pedal-boxy{{{cns}}}.mod-yellow .mod-control-group .mod-knob > span.mod-knob-title, +.mod-pedal-boxy{{{cns}}}.mod-pink h1, +.mod-pedal-boxy{{{cns}}}.mod-pink .mod-enumerated, +.mod-pedal-boxy{{{cns}}}.mod-pink .mod-control-group .mod-knob > span.mod-knob-title, +.mod-pedal-boxy{{{cns}}}.mod-zinc h1, +.mod-pedal-boxy{{{cns}}}.mod-zinc .mod-enumerated, +.mod-pedal-boxy{{{cns}}}.mod-zinc .mod-control-group .mod-knob > span.mod-knob-title, +.mod-pedal-boxy{{{cns}}}.mod-cream h1, +.mod-pedal-boxy{{{cns}}}.mod-cream .mod-enumerated, +.mod-pedal-boxy{{{cns}}}.mod-cream .mod-control-group .mod-knob > span.mod-knob-title, +.mod-pedal-boxy{{{cns}}}.mod-blue h1, +.mod-pedal-boxy{{{cns}}}.mod-blue .mod-enumerated, +.mod-pedal-boxy{{{cns}}}.mod-blue .mod-control-group .mod-knob > span.mod-knob-title, +.mod-pedal-boxy{{{cns}}}.mod-orange h1, +.mod-pedal-boxy{{{cns}}}.mod-orange .mod-enumerated, +.mod-pedal-boxy{{{cns}}}.mod-orange .mod-control-group .mod-knob > span.mod-knob-title, +.mod-pedal-boxy{{{cns}}}.mod-white h1, +.mod-pedal-boxy{{{cns}}}.mod-white .mod-enumerated, +.mod-pedal-boxy{{{cns}}}.mod-white .mod-control-group .mod-knob > span.mod-knob-title, +.mod-pedal-boxy{{{cns}}}.mod-dots h1, +.mod-pedal-boxy{{{cns}}}.mod-dots .mod-enumerated, +.mod-pedal-boxy{{{cns}}}.mod-dots .mod-control-group .mod-knob > span.mod-knob-title, +.mod-pedal-boxy{{{cns}}}.mod-wood0 h1, +.mod-pedal-boxy{{{cns}}}.mod-wood0 .mod-enumerated, +.mod-pedal-boxy{{{cns}}}.mod-wood0 .mod-control-group .mod-knob > span.mod-knob-title, +.mod-pedal-boxy{{{cns}}}.mod-wood1 h1, +.mod-pedal-boxy{{{cns}}}.mod-wood1 .mod-enumerated, +.mod-pedal-boxy{{{cns}}}.mod-wood1 .mod-control-group .mod-knob > span.mod-knob-title, +.mod-pedal-boxy{{{cns}}}.mod-cyan h1, +.mod-pedal-boxy{{{cns}}}.mod-cyan .mod-enumerated, +.mod-pedal-boxy{{{cns}}}.mod-cyan .mod-control-group .mod-knob > span.mod-knob-title, +.mod-pedal-boxy{{{cns}}}.mod-tribal1 h1, +.mod-pedal-boxy{{{cns}}}.mod-tribal1 .mod-enumerated, +.mod-pedal-boxy{{{cns}}}.mod-tribal1 .mod-control-group .mod-knob > span.mod-knob-title +{ + color:black; +} +.mod-pedal-boxy{{{cns}}}.mod-tribal2 h1, +.mod-pedal-boxy{{{cns}}}.mod-purple h1, +.mod-pedal-boxy{{{cns}}}.mod-lava h1, +.mod-pedal-boxy{{{cns}}}.mod-black h1, +.mod-pedal-boxy{{{cns}}}.mod-racing h1, +.mod-pedal-boxy{{{cns}}}.mod-red h1, +.mod-pedal-boxy{{{cns}}}.mod-brown h1, +.mod-pedal-boxy{{{cns}}}.mod-petrol h1, +.mod-pedal-boxy{{{cns}}}.mod-wood2 h1, +.mod-pedal-boxy{{{cns}}}.mod-wood3 h1, +.mod-pedal-boxy{{{cns}}}.mod-wood4 h1, +.mod-pedal-boxy{{{cns}}}.mod-gray h1, +.mod-pedal-boxy{{{cns}}}.mod-none h1, +.mod-pedal-boxy{{{cns}}}.mod-flowerpower h1, +.mod-pedal-boxy{{{cns}}}.mod-darkblue h1, +.mod-pedal-boxy{{{cns}}}.mod-warning h1, +.mod-pedal-boxy{{{cns}}}.mod-green h1 +{ + border-color:white; +} +.mod-pedal-boxy{{{cns}}}.mod-gold h1, +.mod-pedal-boxy{{{cns}}}.mod-slime h1, +.mod-pedal-boxy{{{cns}}}.mod-yellow h1, +.mod-pedal-boxy{{{cns}}}.mod-pink h1, +.mod-pedal-boxy{{{cns}}}.mod-zinc h1, +.mod-pedal-boxy{{{cns}}}.mod-cream h1, +.mod-pedal-boxy{{{cns}}}.mod-blue h1, +.mod-pedal-boxy{{{cns}}}.mod-orange h1, +.mod-pedal-boxy{{{cns}}}.mod-white h1, +.mod-pedal-boxy{{{cns}}}.mod-dots h1, +.mod-pedal-boxy{{{cns}}}.mod-wood0 h1, +.mod-pedal-boxy{{{cns}}}.mod-wood1 h1, +.mod-pedal-boxy{{{cns}}}.mod-cyan h1, +.mod-pedal-boxy{{{cns}}}.mod-tribal1 h1 +{ + border-color:black; +} +/* STYLES FOR THE BOXY KNOB */ + + +/* = KNOBS +================================================ */ +.mod-pedal-boxy{{{cns}}} .mod-control-group.mod-copper .mod-knob .mod-knob-image { + background-image:url(/resources/knobs/boxy/copper.png{{{ns}}}); +}.mod-pedal-boxy{{{cns}}} .mod-control-group.mod-aluminium .mod-knob .mod-knob-image { + background-image:url(/resources/knobs/boxy/aluminium.png{{{ns}}}); +}.mod-pedal-boxy{{{cns}}} .mod-control-group.mod-gold .mod-knob .mod-knob-image { + background-image:url(/resources/knobs/boxy/gold.png{{{ns}}}); +}.mod-pedal-boxy{{{cns}}} .mod-control-group.mod-petrol .mod-knob .mod-knob-image { + background-image:url(/resources/knobs/boxy/petrol.png{{{ns}}}); +}.mod-pedal-boxy{{{cns}}} .mod-control-group.mod-silver .mod-knob .mod-knob-image { + background-image:url(/resources/knobs/boxy/silver.png{{{ns}}}); +}.mod-pedal-boxy{{{cns}}} .mod-control-group.mod-bronze .mod-knob .mod-knob-image { + background-image:url(/resources/knobs/boxy/bronze.png{{{ns}}}); +}.mod-pedal-boxy{{{cns}}} .mod-control-group.mod-blue .mod-knob .mod-knob-image { + background-image:url(/resources/knobs/boxy/blue.png{{{ns}}}); +}.mod-pedal-boxy{{{cns}}} .mod-control-group.mod-steel .mod-knob .mod-knob-image { + background-image:url(/resources/knobs/boxy/steel.png{{{ns}}}); +}.mod-pedal-boxy{{{cns}}} .mod-control-group.mod-purple .mod-knob .mod-knob-image { + background-image:url(/resources/knobs/boxy/purple.png{{{ns}}}); +}.mod-pedal-boxy{{{cns}}} .mod-control-group.mod-black .mod-knob .mod-knob-image { + background-image:url(/resources/knobs/boxy/black.png{{{ns}}}); +}.mod-pedal-boxy{{{cns}}} .mod-control-group.mod-green .mod-knob .mod-knob-image { + background-image:url(/resources/knobs/boxy/green.png{{{ns}}}); +} diff --git a/modguis/Shiroverb.modgui/modgui/thumbnail-shiroverb.png b/modguis/Shiroverb.modgui/modgui/thumbnail-shiroverb.png new file mode 100644 index 0000000..b46e5ec Binary files /dev/null and b/modguis/Shiroverb.modgui/modgui/thumbnail-shiroverb.png differ diff --git a/modguis/Shiroverb.modgui/modgui/utils/dropdown-arrow-black.png b/modguis/Shiroverb.modgui/modgui/utils/dropdown-arrow-black.png new file mode 100644 index 0000000..a90a66d Binary files /dev/null and b/modguis/Shiroverb.modgui/modgui/utils/dropdown-arrow-black.png differ diff --git a/modguis/Shiroverb.modgui/modgui/utils/dropdown-arrow-white.png b/modguis/Shiroverb.modgui/modgui/utils/dropdown-arrow-white.png new file mode 100644 index 0000000..9649bd3 Binary files /dev/null and b/modguis/Shiroverb.modgui/modgui/utils/dropdown-arrow-white.png differ diff --git a/plugins/Makefile.DPF-Max-Gen.mk b/plugins/Makefile.DPF-Max-Gen.mk new file mode 100644 index 0000000..3314774 --- /dev/null +++ b/plugins/Makefile.DPF-Max-Gen.mk @@ -0,0 +1,153 @@ +#!/usr/bin/make -f +# Makefile for DISTRHO Plugins # +# ---------------------------- # +# Created by falkTX +# + +# NAME, OBJS_DSP and OBJS_UI have been defined before + +include ../../Makefile.mk + +ifeq ($(OBJS_UI),) +HAVE_DGL = false +endif + +# -------------------------------------------------------------- +# Basic setup + +TARGET_DIR = ../../bin + +BUILD_C_FLAGS += -I. +BUILD_CXX_FLAGS += -I. -I../common -I../common/gen_dsp -I../../dpf/distrho -I../../dpf/dgl + +ifeq ($(HAVE_DGL),true) +BASE_FLAGS += -DHAVE_DGL +endif + +ifeq ($(HAVE_JACK),true) +BASE_FLAGS += -DHAVE_JACK +endif + +ifeq ($(HAVE_LIBLO),true) +BASE_FLAGS += -DHAVE_LIBLO +endif + +# -------------------------------------------------------------- +# Set plugin binary file targets + +jack = $(TARGET_DIR)/$(NAME)$(APP_EXT) +ladspa_dsp = $(TARGET_DIR)/$(NAME)-ladspa$(LIB_EXT) +dssi_dsp = $(TARGET_DIR)/$(NAME)-dssi$(LIB_EXT) +dssi_ui = $(TARGET_DIR)/$(NAME)-dssi/$(NAME)_ui$(APP_EXT) +lv2 = $(TARGET_DIR)/$(NAME).lv2/$(NAME)$(LIB_EXT) +lv2_dsp = $(TARGET_DIR)/$(NAME).lv2/$(NAME)_dsp$(LIB_EXT) +lv2_ui = $(TARGET_DIR)/$(NAME).lv2/$(NAME)_ui$(LIB_EXT) +vst = $(TARGET_DIR)/$(NAME)-vst$(LIB_EXT) + +# -------------------------------------------------------------- +# Set distrho code files + +DISTRHO_PLUGIN_FILES = ../../dpf/distrho/DistrhoPluginMain.cpp + +ifeq ($(HAVE_DGL),true) +DISTRHO_UI_FILES = ../../dpf/distrho/DistrhoUIMain.cpp ../../dpf/libdgl.a +endif + +# -------------------------------------------------------------- +# Handle plugins without UI + +ifneq ($(HAVE_DGL),true) +dssi_ui = +lv2_ui = +DISTRHO_UI_FILES = +DGL_LIBS = +OBJS_UI = +endif + +# -------------------------------------------------------------- +# all needs to be first + +all: + +# -------------------------------------------------------------- +# Common + +%.c.o: %.c + $(CC) $< $(BUILD_C_FLAGS) -MD -MP -c -o $@ + +%.cpp.o: %.cpp + $(CXX) $< $(BUILD_CXX_FLAGS) -MD -MP -c -o $@ + +clean: + rm -f *.d *.o + rm -rf $(TARGET_DIR)/$(NAME) $(TARGET_DIR)/$(NAME)-* $(TARGET_DIR)/$(NAME).lv2/ + +# -------------------------------------------------------------- +# JACK + +jack: $(jack) + +$(jack): $(OBJS_DSP) $(OBJS_UI) $(DISTRHO_PLUGIN_FILES) $(DISTRHO_UI_FILES) + mkdir -p $(shell dirname $@) + $(CXX) $^ $(BUILD_CXX_FLAGS) $(LINK_FLAGS) $(DGL_LIBS) $(shell pkg-config --cflags --libs jack) -DDISTRHO_PLUGIN_TARGET_JACK -o $@ + +# -------------------------------------------------------------- +# LADSPA + +ladspa: $(ladspa_dsp) + +$(ladspa_dsp): $(OBJS_DSP) $(DISTRHO_PLUGIN_FILES) + mkdir -p $(shell dirname $@) + $(CXX) $^ $(BUILD_CXX_FLAGS) $(LINK_FLAGS) $(SHARED) -DDISTRHO_PLUGIN_TARGET_LADSPA -o $@ + +# -------------------------------------------------------------- +# DSSI + +dssi: $(dssi_dsp) $(dssi_ui) +dssi_dsp: $(dssi_dsp) +dssi_ui: $(dssi_ui) + +$(dssi_dsp): $(OBJS_DSP) $(DISTRHO_PLUGIN_FILES) + mkdir -p $(shell dirname $@) + $(CXX) $^ $(BUILD_CXX_FLAGS) $(LINK_FLAGS) $(SHARED) -DDISTRHO_PLUGIN_TARGET_DSSI -o $@ + +$(dssi_ui): $(OBJS_UI) $(DISTRHO_UI_FILES) + mkdir -p $(shell dirname $@) + $(CXX) $^ $(BUILD_CXX_FLAGS) $(LINK_FLAGS) $(DGL_LIBS) $(shell pkg-config --cflags --libs liblo) -DDISTRHO_PLUGIN_TARGET_DSSI -o $@ + +# -------------------------------------------------------------- +# LV2 + +lv2_one: $(lv2) +lv2_dsp: $(lv2_dsp) +lv2_sep: $(lv2_dsp) $(lv2_ui) + +$(lv2): $(OBJS_DSP) $(OBJS_UI) $(DISTRHO_PLUGIN_FILES) $(DISTRHO_UI_FILES) + mkdir -p $(shell dirname $@) + $(CXX) $^ $(BUILD_CXX_FLAGS) $(LINK_FLAGS) $(DGL_LIBS) $(SHARED) -DDISTRHO_PLUGIN_TARGET_LV2 -o $@ + +$(lv2_dsp): $(OBJS_DSP) $(DISTRHO_PLUGIN_FILES) + mkdir -p $(shell dirname $@) + $(CXX) $^ $(BUILD_CXX_FLAGS) $(LINK_FLAGS) $(SHARED) -DDISTRHO_PLUGIN_TARGET_LV2 -o $@ + +$(lv2_ui): $(OBJS_UI) $(DISTRHO_UI_FILES) + mkdir -p $(shell dirname $@) + $(CXX) $^ $(BUILD_CXX_FLAGS) $(LINK_FLAGS) $(DGL_LIBS) $(SHARED) -DDISTRHO_PLUGIN_TARGET_LV2 -o $@ + +# -------------------------------------------------------------- +# VST + +vst: $(vst) + +$(vst): $(OBJS_DSP) $(OBJS_UI) $(DISTRHO_PLUGIN_FILES) $(DISTRHO_UI_FILES) + mkdir -p $(shell dirname $@) + $(CXX) $^ $(BUILD_CXX_FLAGS) $(LINK_FLAGS) $(DGL_LIBS) $(SHARED) -DDISTRHO_PLUGIN_TARGET_VST -o $@ + +# -------------------------------------------------------------- + +-include $(OBJS_DSP:%.o=%.d) +ifeq ($(HAVE_DGL),true) +-include $(OBJS_UI:%.o=%.d) +endif + +# -------------------------------------------------------------- diff --git a/plugins/bitcrush/DistrhoPluginInfo.h b/plugins/bitcrush/DistrhoPluginInfo.h new file mode 100644 index 0000000..157b9ba --- /dev/null +++ b/plugins/bitcrush/DistrhoPluginInfo.h @@ -0,0 +1,32 @@ +/* + * DPF Max Gen + * Copyright (C) 2015 Filipe Coelho + * + * Permission to use, copy, modify, and/or distribute this software for any purpose with + * or without fee is hereby granted, provided that the above copyright notice and this + * permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD + * TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN + * NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL + * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER + * IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN + * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +#ifndef DISTRHO_PLUGIN_INFO_H_INCLUDED +#define DISTRHO_PLUGIN_INFO_H_INCLUDED + +#define DISTRHO_PLUGIN_BRAND "DISTRHO" +#define DISTRHO_PLUGIN_NAME "MaBitcrush" +#define DISTRHO_PLUGIN_URI "http://distrho.sf.net/plugins/MaBitcrush" + +#define DISTRHO_PLUGIN_HAS_UI 0 +#define DISTRHO_PLUGIN_IS_RT_SAFE 0 +#define DISTRHO_PLUGIN_NUM_INPUTS 1 +#define DISTRHO_PLUGIN_NUM_OUTPUTS 2 + +#define DISTRHO_PLUGIN_DESCRIPTION "Max Gen Bitcrush example." +#define DISTRHO_PLUGIN_VERSION d_cconst('D', 'M', 'b', 'c') + +#endif // DISTRHO_PLUGIN_INFO_H_INCLUDED diff --git a/plugins/bitcrush/DistrhoPluginMaxGen.cpp b/plugins/bitcrush/DistrhoPluginMaxGen.cpp new file mode 120000 index 0000000..d985fe0 --- /dev/null +++ b/plugins/bitcrush/DistrhoPluginMaxGen.cpp @@ -0,0 +1 @@ +../common/DistrhoPluginMaxGen.cpp \ No newline at end of file diff --git a/plugins/bitcrush/Makefile b/plugins/bitcrush/Makefile new file mode 100644 index 0000000..34d0c79 --- /dev/null +++ b/plugins/bitcrush/Makefile @@ -0,0 +1,40 @@ +#!/usr/bin/make -f +# Makefile for DISTRHO Plugins # +# ---------------------------- # +# Created by falkTX +# + +# -------------------------------------------------------------- +# Project name, used for binaries + +NAME = MaBitcrush + +# -------------------------------------------------------------- +# Files to build + +OBJS_DSP = \ + DistrhoPluginMaxGen.cpp.o \ + gen_exported.cpp.o + +# -------------------------------------------------------------- +# Do some magic + +include ../Makefile.DPF-Max-Gen.mk + +# -------------------------------------------------------------- +# Enable all possible plugin types + +ifeq ($(HAVE_JACK),true) +TARGETS += jack +endif + +ifeq ($(LINUX),true) +TARGETS += ladspa +endif + +TARGETS += lv2_dsp +TARGETS += vst + +all: $(TARGETS) + +# -------------------------------------------------------------- diff --git a/plugins/bitcrush/gen_exported.cpp b/plugins/bitcrush/gen_exported.cpp new file mode 100644 index 0000000..9637621 --- /dev/null +++ b/plugins/bitcrush/gen_exported.cpp @@ -0,0 +1,184 @@ +#include "gen_exported.h" + +namespace gen_exported { + + +/******************************************************************************************************************* +Copyright (c) 2012 Cycling '74 + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software +and associated documentation files (the "Software"), to deal in the Software without restriction, +including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies +or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, +INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE +OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +*******************************************************************************************************************/ + + +// global noise generator +Noise noise; +static const int GENLIB_LOOPCOUNT_BAIL = 100000; + + +// The State struct contains all the state and procedures for the gendsp kernel +typedef struct State { + CommonState __commonstate; + double m_resolution_1; + double samplerate; + int vectorsize; + int __exception; + // re-initialize all member variables; + inline void reset(double __sr, int __vs) { + __exception = 0; + vectorsize = __vs; + samplerate = __sr; + m_resolution_1 = 6; + genlib_reset_complete(this); + + }; + // the signal processing routine; + inline int perform(t_sample ** __ins, t_sample ** __outs, int __n) { + vectorsize = __n; + const t_sample * __in1 = __ins[0]; + t_sample * __out1 = __outs[0]; + t_sample * __out2 = __outs[1]; + if (__exception) { + return __exception; + + } else if (( (__in1 == 0) || (__out1 == 0) || (__out2 == 0) )) { + __exception = GENLIB_ERR_NULL_BUFFER; + return __exception; + + }; + // the main sample loop; + while ((__n--)) { + const double in1 = (*(__in1++)); + double mul_50 = (in1 * m_resolution_1); + double ceil_49 = ceil(mul_50); + double div_48 = safediv(ceil_49, m_resolution_1); + double out1 = div_48; + double add_45 = (mul_50 + 0.5); + double floor_46 = floor(add_45); + double sub_44 = (floor_46 - 0.5); + double div_47 = safediv(sub_44, m_resolution_1); + double out2 = div_47; + // assign results to output buffer; + (*(__out1++)) = out1; + (*(__out2++)) = out2; + + }; + return __exception; + + }; + inline void set_resolution(double _value) { + m_resolution_1 = (_value < 1 ? 1 : (_value > 16 ? 16 : _value)); + }; + +} State; + + +/// +/// Configuration for the genlib API +/// + +/// Number of signal inputs and outputs + +int gen_kernel_numins = 1; +int gen_kernel_numouts = 2; + +int num_inputs() { return gen_kernel_numins; } +int num_outputs() { return gen_kernel_numouts; } +int num_params() { return 1; } + +/// Assistive lables for the signal inputs and outputs + +const char * gen_kernel_innames[] = { "in1" }; +const char * gen_kernel_outnames[] = { "out1", "out2" }; + +/// Invoke the signal process of a State object + +int perform(CommonState *cself, t_sample **ins, long numins, t_sample **outs, long numouts, long n) { + State * self = (State *)cself; + return self->perform(ins, outs, n); +} + +/// Reset all parameters and stateful operators of a State object + +void reset(CommonState *cself) { + State * self = (State *)cself; + self->reset(cself->sr, cself->vs); +} + +/// Set a parameter of a State object + +void setparameter(CommonState *cself, long index, double value, void *ref) { + State * self = (State *)cself; + switch (index) { + case 0: self->set_resolution(value); break; + + default: break; + } +} + +/// Get the value of a parameter of a State object + +void getparameter(CommonState *cself, long index, double *value) { + State *self = (State *)cself; + switch (index) { + case 0: *value = self->m_resolution_1; break; + + default: break; + } +} + +/// Allocate and configure a new State object and it's internal CommonState: + +void * create(double sr, long vs) { + State *self = new State; + self->reset(sr, vs); + ParamInfo *pi; + self->__commonstate.inputnames = gen_kernel_innames; + self->__commonstate.outputnames = gen_kernel_outnames; + self->__commonstate.numins = gen_kernel_numins; + self->__commonstate.numouts = gen_kernel_numouts; + self->__commonstate.sr = sr; + self->__commonstate.vs = vs; + self->__commonstate.params = (ParamInfo *)genlib_sysmem_newptr(1 * sizeof(ParamInfo)); + self->__commonstate.numparams = 1; + // initialize parameter 0 ("m_resolution_1") + pi = self->__commonstate.params + 0; + pi->name = "resolution"; + pi->paramtype = GENLIB_PARAMTYPE_FLOAT; + pi->defaultvalue = self->m_resolution_1; + pi->defaultref = 0; + pi->hasinputminmax = false; + pi->inputmin = 0; + pi->inputmax = 1; + pi->hasminmax = true; + pi->outputmin = 1; + pi->outputmax = 16; + pi->exp = 0; + pi->units = "bits"; // no units defined + + return self; +} + +/// Release all resources and memory used by a State object: + +void destroy(CommonState *cself) { + State * self = (State *)cself; + genlib_sysmem_freeptr(cself->params); + + delete self; +} + + +} // gen_exported:: diff --git a/plugins/bitcrush/gen_exported.h b/plugins/bitcrush/gen_exported.h new file mode 100644 index 0000000..ab06792 --- /dev/null +++ b/plugins/bitcrush/gen_exported.h @@ -0,0 +1,37 @@ +/******************************************************************************************************************* +Copyright (c) 2012 Cycling '74 + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software +and associated documentation files (the "Software"), to deal in the Software without restriction, +including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies +or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, +INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE +OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +*******************************************************************************************************************/ + + +#include "genlib.h" +#include "genlib_exportfunctions.h" +#include "genlib_ops.h" + +namespace gen_exported { + +int num_inputs(); +int num_outputs(); +int num_params(); +int perform(CommonState *cself, t_sample **ins, long numins, t_sample **outs, long numouts, long n); +void reset(CommonState *cself); +void setparameter(CommonState *cself, long index, double value, void *ref); +void getparameter(CommonState *cself, long index, double *value); +void * create(double sr, long vs); +void destroy(CommonState *cself); + +} // gen_exported:: diff --git a/plugins/bitcrush/gen~.bitcrush.maxpat b/plugins/bitcrush/gen~.bitcrush.maxpat new file mode 100644 index 0000000..1c1aa5a --- /dev/null +++ b/plugins/bitcrush/gen~.bitcrush.maxpat @@ -0,0 +1,966 @@ +{ + "patcher" : { + "fileversion" : 1, + "appversion" : { + "major" : 6, + "minor" : 1, + "revision" : 0, + "architecture" : "x64" + } +, + "rect" : [ 227.0, 271.0, 872.0, 406.0 ], + "bglocked" : 0, + "openinpresentation" : 0, + "default_fontsize" : 12.0, + "default_fontface" : 0, + "default_fontname" : "Arial", + "gridonopen" : 0, + "gridsize" : [ 15.0, 15.0 ], + "gridsnaponopen" : 0, + "statusbarvisible" : 2, + "toolbarvisible" : 1, + "boxanimatetime" : 200, + "imprint" : 0, + "enablehscroll" : 1, + "enablevscroll" : 1, + "devicewidth" : 0.0, + "description" : "", + "digest" : "", + "tags" : "", + "boxes" : [ { + "box" : { + "channels" : 1, + "fontsize" : 13.0, + "id" : "obj-2", + "maxclass" : "live.gain~", + "numinlets" : 1, + "numoutlets" : 4, + "orientation" : 1, + "outlettype" : [ "signal", "", "float", "list" ], + "parameter_enable" : 1, + "patching_rect" : [ 533.0, 247.0, 136.0, 35.0 ], + "presentation_rect" : [ 105.0, 105.0, 50.0, 35.0 ], + "saved_attribute_attributes" : { + "valueof" : { + "parameter_longname" : "live.gain~[1]", + "parameter_unitstyle" : 4, + "parameter_mmax" : 6.0, + "parameter_mmin" : -70.0, + "parameter_initial" : [ -70 ], + "parameter_type" : 0, + "parameter_initial_enable" : 1, + "parameter_shortname" : "live.gain~" + } + + } +, + "showname" : 0, + "varname" : "live.gain~[1]" + } + + } +, { + "box" : { + "bgcolor" : [ 1.0, 1.0, 1.0, 1.0 ], + "border" : 1.75, + "bordercolor" : [ 0.501961, 0.501961, 0.501961, 1.0 ], + "id" : "obj-12", + "local" : 1, + "maxclass" : "ezdac~", + "numinlets" : 2, + "numoutlets" : 0, + "patching_rect" : [ 533.0, 318.5, 44.0, 44.0 ], + "prototypename" : "helpfile" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-13", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "signal" ], + "patcher" : { + "fileversion" : 1, + "appversion" : { + "major" : 6, + "minor" : 1, + "revision" : 0, + "architecture" : "x64" + } +, + "rect" : [ 309.0, 189.0, 399.0, 327.0 ], + "bgcolor" : [ 0.9, 0.9, 0.9, 1.0 ], + "bglocked" : 0, + "openinpresentation" : 0, + "default_fontsize" : 12.0, + "default_fontface" : 0, + "default_fontname" : "Arial", + "gridonopen" : 0, + "gridsize" : [ 15.0, 15.0 ], + "gridsnaponopen" : 0, + "statusbarvisible" : 2, + "toolbarvisible" : 1, + "boxanimatetime" : 200, + "imprint" : 0, + "enablehscroll" : 1, + "enablevscroll" : 1, + "devicewidth" : 0.0, + "description" : "", + "digest" : "", + "tags" : "", + "boxes" : [ { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-5", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 65.0, 94.0, 24.0, 20.0 ], + "text" : "f 1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-3", + "maxclass" : "newobj", + "numinlets" : 3, + "numoutlets" : 3, + "outlettype" : [ "", "", "" ], + "patching_rect" : [ 65.0, 127.0, 51.0, 20.0 ], + "text" : "counter" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-2", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 31.25, 196.0, 36.0, 20.0 ], + "text" : "latch" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-28", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 97.0, 94.0, 213.0, 20.0 ], + "text" : "in 2 @comment \"downsample factor\"" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "frgb" : 0.0, + "id" : "obj-20", + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 75.0, 196.0, 101.0, 20.0 ], + "text" : "sample & hold" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-1", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 31.25, 12.0, 127.0, 20.0 ], + "text" : "in 1 @comment input" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-4", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 31.25, 234.0, 38.0, 20.0 ], + "text" : "out 1" + } + + } + ], + "lines" : [ { + "patchline" : { + "destination" : [ "obj-2", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-1", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-4", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-2", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-3", 2 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-28", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-2", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-3", 1 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-3", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-5", 0 ] + } + + } + ] + } +, + "patching_rect" : [ 533.0, 201.0, 38.0, 20.0 ], + "text" : "gen~" + } + + } +, { + "box" : { + "fontname" : "Arial Bold Italic", + "fontsize" : 18.0, + "frgb" : 0.0, + "id" : "obj-14", + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 533.0, 15.0, 226.0, 27.0 ], + "text" : "Like downsamp~" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "frgb" : 0.0, + "id" : "obj-15", + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 728.0, 120.0, 83.0, 20.0 ], + "text" : "n samples" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-17", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "signal" ], + "patching_rect" : [ 533.0, 149.0, 70.0, 20.0 ], + "text" : "cycle~ 440" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-18", + "maxclass" : "flonum", + "numinlets" : 1, + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ], + "parameter_enable" : 0, + "patching_rect" : [ 728.0, 150.0, 63.0, 20.0 ] + } + + } +, { + "box" : { + "fontsize" : 13.0, + "id" : "obj-7", + "maxclass" : "live.gain~", + "numinlets" : 2, + "numoutlets" : 5, + "outlettype" : [ "signal", "signal", "", "float", "list" ], + "parameter_enable" : 1, + "patching_rect" : [ 31.0, 179.0, 42.0, 136.0 ], + "presentation_rect" : [ 15.0, 15.0, 35.0, 50.0 ], + "saved_attribute_attributes" : { + "valueof" : { + "parameter_longname" : "live.gain~", + "parameter_unitstyle" : 4, + "parameter_mmax" : 6.0, + "parameter_mmin" : -70.0, + "parameter_initial" : [ -70 ], + "parameter_type" : 0, + "parameter_initial_enable" : 1, + "parameter_shortname" : "live.gain~" + } + + } +, + "showname" : 0, + "varname" : "live.gain~" + } + + } +, { + "box" : { + "bgcolor" : [ 1.0, 1.0, 1.0, 1.0 ], + "border" : 1.75, + "bordercolor" : [ 0.501961, 0.501961, 0.501961, 1.0 ], + "id" : "obj-8", + "local" : 1, + "maxclass" : "ezdac~", + "numinlets" : 2, + "numoutlets" : 0, + "patching_rect" : [ 31.0, 325.0, 44.0, 44.0 ], + "prototypename" : "helpfile" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "frgb" : 0.0, + "id" : "obj-5", + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 211.0, 149.0, 150.0, 20.0 ], + "text" : "stereo crush!!" + } + + } +, { + "box" : { + "fontname" : "Arial Bold Italic", + "fontsize" : 18.0, + "frgb" : 0.0, + "id" : "obj-9", + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 15.0, 15.0, 463.0, 27.0 ], + "text" : "Crushing by reducing sample resolution" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-11", + "maxclass" : "flonum", + "numinlets" : 1, + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ], + "parameter_enable" : 0, + "patching_rect" : [ 31.0, 74.0, 50.0, 20.0 ] + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-10", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "signal" ], + "patching_rect" : [ 31.0, 104.0, 62.0, 20.0 ], + "text" : "cycle~ 40" + } + + } +, { + "box" : { + "id" : "obj-3", + "maxclass" : "scope~", + "numinlets" : 2, + "numoutlets" : 0, + "patching_rect" : [ 86.0, 195.5, 321.0, 103.0 ] + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-6", + "maxclass" : "flonum", + "numinlets" : 1, + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ], + "parameter_enable" : 0, + "patching_rect" : [ 166.0, 74.0, 63.0, 20.0 ] + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-4", + "maxclass" : "message", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 166.0, 104.0, 79.0, 18.0 ], + "text" : "resolution $1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-1", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 2, + "outlettype" : [ "signal", "signal" ], + "patcher" : { + "fileversion" : 1, + "appversion" : { + "major" : 6, + "minor" : 1, + "revision" : 0, + "architecture" : "x64" + } +, + "rect" : [ 25.0, 69.0, 455.0, 400.0 ], + "bgcolor" : [ 0.9, 0.9, 0.9, 1.0 ], + "bglocked" : 0, + "openinpresentation" : 0, + "default_fontsize" : 12.0, + "default_fontface" : 0, + "default_fontname" : "Arial", + "gridonopen" : 0, + "gridsize" : [ 15.0, 15.0 ], + "gridsnaponopen" : 0, + "statusbarvisible" : 2, + "toolbarvisible" : 1, + "boxanimatetime" : 200, + "imprint" : 0, + "enablehscroll" : 1, + "enablevscroll" : 1, + "devicewidth" : 0.0, + "description" : "", + "digest" : "", + "tags" : "", + "boxes" : [ { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "frgb" : 0.0, + "id" : "obj-10", + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 16.0, 15.0, 325.0, 20.0 ], + "text" : "This isn't the only way to reduce sample resolution..." + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "frgb" : 0.0, + "id" : "obj-9", + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 31.0, 285.0, 75.0, 20.0 ], + "text" : "scale down" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "frgb" : 0.0, + "id" : "obj-8", + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 31.0, 195.0, 75.0, 20.0 ], + "text" : "quantize" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "frgb" : 0.0, + "id" : "obj-7", + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 31.0, 105.0, 75.0, 20.0 ], + "text" : "scale up" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-5", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 181.0, 225.0, 35.0, 20.0 ], + "text" : "- 0.5" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-4", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 181.0, 165.0, 38.0, 20.0 ], + "text" : "+ 0.5" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-3", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 181.0, 195.0, 34.0, 20.0 ], + "text" : "floor" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-1", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 181.0, 285.0, 32.5, 20.0 ], + "text" : "/" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-2", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 181.0, 315.0, 37.0, 20.0 ], + "text" : "out 2" + } + + } +, { + "box" : { + "color" : [ 0.839216, 0.709804, 0.709804, 1.0 ], + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-32", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 286.0, 60.0, 111.0, 20.0 ], + "text" : "param resolution 6" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-31", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 121.0, 285.0, 32.5, 20.0 ], + "text" : "/" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-30", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 121.0, 195.0, 32.5, 20.0 ], + "text" : "ceil" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-29", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 121.0, 105.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-28", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 121.0, 315.0, 37.0, 20.0 ], + "text" : "out 1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-27", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 121.0, 75.0, 32.5, 20.0 ], + "text" : "in 1" + } + + } + ], + "lines" : [ { + "patchline" : { + "destination" : [ "obj-2", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-1", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-29", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-27", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-30", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-29", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-4", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 130.5, 129.5, 190.5, 129.5 ], + "source" : [ "obj-29", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-5", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-3", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-31", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-30", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-28", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-31", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-1", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 295.5, 276.0, 204.0, 276.0 ], + "source" : [ "obj-32", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-29", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 295.5, 98.0, 144.0, 98.0 ], + "source" : [ "obj-32", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-31", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 295.5, 276.0, 144.0, 276.0 ], + "source" : [ "obj-32", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-3", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-4", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-1", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-5", 0 ] + } + + } + ] + } +, + "patching_rect" : [ 31.0, 149.0, 38.0, 20.0 ], + "text" : "gen~" + } + + } + ], + "lines" : [ { + "patchline" : { + "destination" : [ "obj-3", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-1", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-7", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-1", 1 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-7", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-1", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-1", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-10", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-10", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-11", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-2", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-13", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-13", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-17", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-13", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-18", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-12", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-2", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-12", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-2", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-1", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 175.5, 135.0, 40.5, 135.0 ], + "source" : [ "obj-4", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-4", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-6", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-8", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-7", 1 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-8", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-7", 0 ] + } + + } + ], + "parameters" : { + "obj-7" : [ "live.gain~", "live.gain~", 0 ], + "obj-2" : [ "live.gain~[1]", "live.gain~", 0 ] + } +, + "dependency_cache" : [ ] + } + +} diff --git a/plugins/common/DistrhoPluginMaxGen.cpp b/plugins/common/DistrhoPluginMaxGen.cpp new file mode 100644 index 0000000..e48f285 --- /dev/null +++ b/plugins/common/DistrhoPluginMaxGen.cpp @@ -0,0 +1,89 @@ +/* + * DPF Max Gen + * Copyright (C) 2015 Filipe Coelho + * + * Permission to use, copy, modify, and/or distribute this software for any purpose with + * or without fee is hereby granted, provided that the above copyright notice and this + * permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD + * TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN + * NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL + * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER + * IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN + * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +#include "DistrhoPluginMaxGen.hpp" + +#include "gen_exported.h" + +namespace gen = gen_exported; + +START_NAMESPACE_DISTRHO + +// ----------------------------------------------------------------------- + +DistrhoPluginMaxGen::DistrhoPluginMaxGen() + : Plugin(gen::num_params(), 0, 0), // 0 programs, 0 states + fGenState((CommonState*)gen::create(getSampleRate(), getBufferSize())) +{ + gen::reset(fGenState); +} + +DistrhoPluginMaxGen::~DistrhoPluginMaxGen() +{ + gen::destroy(fGenState); +} + +// ----------------------------------------------------------------------- +// Init + +void DistrhoPluginMaxGen::initParameter(uint32_t index, Parameter& parameter) +{ + ParamInfo& info(fGenState->params[index]); + + parameter.hints = kParameterIsAutomable; + parameter.name = info.name; + parameter.symbol = info.name; + parameter.unit = info.units; + parameter.ranges.def = info.defaultvalue; + parameter.ranges.min = info.outputmin; + parameter.ranges.max = info.outputmax; +} + +// ----------------------------------------------------------------------- +// Internal data + +float DistrhoPluginMaxGen::getParameterValue(uint32_t index) const +{ + double value = 0.0; + gen::getparameter(fGenState, index, &value); + return value; +} + +void DistrhoPluginMaxGen::setParameterValue(uint32_t index, float value) +{ + gen::setparameter(fGenState, index, value, nullptr); +} + +// ----------------------------------------------------------------------- +// Process + +void DistrhoPluginMaxGen::run(const float** inputs, float** outputs, uint32_t frames) +{ + gen::perform(fGenState, (float**)inputs, DISTRHO_PLUGIN_NUM_INPUTS, outputs, DISTRHO_PLUGIN_NUM_OUTPUTS, frames); +} + +// ----------------------------------------------------------------------- + +Plugin* createPlugin() +{ + return new DistrhoPluginMaxGen(); +} + +// ----------------------------------------------------------------------- + +END_NAMESPACE_DISTRHO + +#include "gen_dsp/genlib.cpp" diff --git a/plugins/common/DistrhoPluginMaxGen.hpp b/plugins/common/DistrhoPluginMaxGen.hpp new file mode 100644 index 0000000..e2ee1da --- /dev/null +++ b/plugins/common/DistrhoPluginMaxGen.hpp @@ -0,0 +1,101 @@ +/* + * DPF Max Gen + * Copyright (C) 2015 Filipe Coelho + * + * Permission to use, copy, modify, and/or distribute this software for any purpose with + * or without fee is hereby granted, provided that the above copyright notice and this + * permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD + * TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN + * NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL + * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER + * IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN + * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +#ifndef DISTRHO_PLUGIN_MAX_GEN_HPP_INCLUDED +#define DISTRHO_PLUGIN_MAX_GEN_HPP_INCLUDED + +#include "DistrhoPlugin.hpp" +#include "genlib.h" + +START_NAMESPACE_DISTRHO + +// ----------------------------------------------------------------------- + +class DistrhoPluginMaxGen : public Plugin +{ +public: + DistrhoPluginMaxGen(); + ~DistrhoPluginMaxGen() override; + +protected: + // ------------------------------------------------------------------- + // Information + + const char* getLabel() const noexcept override + { + return DISTRHO_PLUGIN_NAME; + } + + const char* getDescription() const noexcept override + { + return DISTRHO_PLUGIN_DESCRIPTION; + } + + const char* getMaker() const noexcept override + { + return "DISTRHO"; + } + + const char* getHomePage() const noexcept override + { + return "https://github.com/DISTRHO/DPF-Max-Gen"; + } + + const char* getLicense() const noexcept override + { + return "ISC"; + } + + uint32_t getVersion() const noexcept override + { + return d_version(0, 1, 0); + } + + int64_t getUniqueId() const noexcept override + { + // TODO + return d_cconst('D', 'M', 'a', 'G'); + } + + // ------------------------------------------------------------------- + // Init + + void initParameter(uint32_t index, Parameter& parameter) override; + + // ------------------------------------------------------------------- + // Internal data + + float getParameterValue(uint32_t index) const override; + void setParameterValue(uint32_t index, float value) override; + + // ------------------------------------------------------------------- + // Process + + void run(const float** inputs, float** outputs, uint32_t frames) override; + + // ------------------------------------------------------------------- + +private: + CommonState* fGenState; + + DISTRHO_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(DistrhoPluginMaxGen) +}; + +// ----------------------------------------------------------------------- + +END_NAMESPACE_DISTRHO + +#endif // DISTRHO_PLUGIN_MAX_GEN_HPP_INCLUDED diff --git a/plugins/common/gen_dsp/genlib.cpp b/plugins/common/gen_dsp/genlib.cpp new file mode 100644 index 0000000..9ee9902 --- /dev/null +++ b/plugins/common/gen_dsp/genlib.cpp @@ -0,0 +1,354 @@ +/******************************************************************************************************************* +Copyright (c) 2012 Cycling '74 + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software +and associated documentation files (the "Software"), to deal in the Software without restriction, +including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies +or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, +INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE +OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +*******************************************************************************************************************/ + + +#include "genlib.h" +#include "genlib_exportfunctions.h" +#include "stdlib.h" +#include "stdio.h" +#include "string.h" + +#ifdef pow +#undef pow +#endif +#include +#include + +#define malloc_size malloc_usable_size + +// DATA_MAXIMUM_ELEMENTS * 8 bytes = 256 mb limit +#define DATA_MAXIMUM_ELEMENTS (33554432) + +//////////// export_genlib.cpp //////////// +// export version + +void my_memset(void *p, int c, long size); +void my_memcpy(void *dst, const void *src, long size); + +t_ptr sysmem_newptr(t_ptr_size size) +{ + return (t_ptr)malloc(size); +} + +t_ptr sysmem_newptrclear(t_ptr_size size) +{ + t_ptr p = (t_ptr)malloc(size); + + if (p) + my_memset(p, 0, size); + + return p; +} + +t_ptr sysmem_resizeptr(void *ptr, t_ptr_size newsize) +{ + return (t_ptr)realloc(ptr, newsize); +} + +t_ptr sysmem_resizeptrclear(void *ptr, t_ptr_size newsize) +{ + long oldsize = malloc_size(ptr); + t_ptr p = (t_ptr)realloc(ptr, newsize); + + if (p) { + if (newsize > oldsize) + my_memset((char *)p + oldsize, 0, newsize - oldsize); + } + return p; +} + +t_ptr_size sysmem_ptrsize(void *ptr) +{ + return malloc_size(ptr); +} + +void sysmem_freeptr(void *ptr) +{ + free(ptr); +} + +void sysmem_copyptr(const void *src, void *dst, t_ptr_size bytes) +{ + my_memcpy(dst, src, bytes); +} + +void my_memset(void *p, int c, long size) +{ + char *p2 = (char *)p; + int i; + + for (i = 0; i < size; i++, p2++) + *p2 = c; +} + +void my_memcpy(void *dst, const void *src, long size) +{ + char *s2 = (char *)src; + char *d2 = (char *)dst; + int i; + + for (i = 0; i < size; i++, s2++, d2++) + *d2 = *s2; +} + +void set_zero64(t_sample *memory, long size) +{ + long i; + + for (i = 0; i < size; i++, memory++) { + *memory = 0.; + } +} + +void genlib_report_error(const char *s) +{ + fprintf(stderr, "%s\n", s); +} + +void genlib_report_message(const char *s) +{ + fprintf(stdout, "%s\n", s); +} + +unsigned long systime_ticks(void) +{ + return 0; // Gen code can deal with this +} + +void * genlib_obtain_reference_from_string(const char * name) { + return 0; // to be implemented +} + +// the rest is stuff to isolate gensym, attrs, atoms, buffers etc. +t_genlib_buffer * genlib_obtain_buffer_from_reference(void *ref) +{ + return 0; // to be implemented +} + +t_genlib_err genlib_buffer_edit_begin(t_genlib_buffer *b) +{ + return 0; // to be implemented +} + +t_genlib_err genlib_buffer_edit_end(t_genlib_buffer *b, long valid) +{ + return 0; // to be implemented +} + +t_genlib_err genlib_buffer_getinfo(t_genlib_buffer *b, t_genlib_buffer_info *info) +{ + return 0; // to be implemented +} + +char *genlib_reference_getname(void *ref) +{ + return 0; // to be implemented +} + +void genlib_buffer_dirty(t_genlib_buffer *b) +{ + // to be implemented +} + +t_genlib_err genlib_buffer_perform_begin(t_genlib_buffer *b) +{ + return 0; // to be implemented +} +void genlib_buffer_perform_end(t_genlib_buffer *b) +{ + // to be implemented +} + +t_sample gen_msp_pow(t_sample value, t_sample power) +{ + return pow(value, power); +} + +void genlib_data_setbuffer(t_genlib_data *b, void *ref) { + genlib_report_error("not supported for export targets\n"); +} + +typedef struct { + t_genlib_data_info info; + t_sample cursor; // used by Delay + //t_symbol * name; +} t_dsp_gen_data; + +t_genlib_data * genlib_obtain_data_from_reference(void *ref) +{ + t_dsp_gen_data * self = (t_dsp_gen_data *)malloc(sizeof(t_dsp_gen_data)); + self->info.dim = 0; + self->info.channels = 0; + self->info.data = 0; + self->cursor = 0; + return (t_genlib_data *)self; +} + +t_genlib_err genlib_data_getinfo(t_genlib_data *b, t_genlib_data_info *info) { + t_dsp_gen_data * self = (t_dsp_gen_data *)b; + info->dim = self->info.dim; + info->channels = self->info.channels; + info->data = self->info.data; + return GENLIB_ERR_NONE; +} + +void genlib_data_release(t_genlib_data *b) { + t_dsp_gen_data * self = (t_dsp_gen_data *)b; + + if (self->info.data) { + genlib_sysmem_freeptr(self->info.data); + self->info.data = 0; + } +} + +long genlib_data_getcursor(t_genlib_data *b) { + t_dsp_gen_data * self = (t_dsp_gen_data *)b; + return self->cursor; +} + +void genlib_data_setcursor(t_genlib_data *b, long cursor) { + t_dsp_gen_data * self = (t_dsp_gen_data *)b; + self->cursor = cursor; +} + +void genlib_data_resize(t_genlib_data *b, long s, long c) { + t_dsp_gen_data * self = (t_dsp_gen_data *)b; + + size_t sz, oldsz, copysz; + t_sample * old = 0; + t_sample * replaced = 0; + int i, j, copydim, copychannels, olddim, oldchannels; + + //printf("data resize %d %d\n", s, c); + + // cache old for copying: + old = self->info.data; + olddim = self->info.dim; + oldchannels = self->info.channels; + + // limit [data] size: + if (s * c > DATA_MAXIMUM_ELEMENTS) { + s = DATA_MAXIMUM_ELEMENTS/c; + genlib_report_message("warning: constraining [data] to < 256MB"); + } + // bytes required: + sz = sizeof(t_sample) * s * c; + oldsz = sizeof(t_sample) * olddim * oldchannels; + + if (old && sz == oldsz) { + // no need to re-allocate, just resize + // careful, audio thread may still be using it: + if (s > olddim) { + self->info.channels = c; + self->info.dim = s; + } else { + self->info.dim = s; + self->info.channels = c; + } + + set_zero64(self->info.data, s * c); + return; + + } else { + + // allocate new: + replaced = (t_sample *)sysmem_newptr(sz); + + // check allocation: + if (replaced == 0) { + genlib_report_error("allocating [data]: out of memory"); + // try to reallocate with a default/minimal size instead: + if (s > 512 || c > 1) { + genlib_data_resize((t_genlib_data *)self, 512, 1); + } else { + // if this fails, then Max is kaput anyway... + genlib_data_resize((t_genlib_data *)self, 4, 1); + } + return; + } + + // fill with zeroes: + set_zero64(replaced, s * c); + + // copy in old data: + if (old) { + // frames to copy: + // clamped: + copydim = olddim > s ? s : olddim; + // use memcpy if channels haven't changed: + if (c == oldchannels) { + copysz = sizeof(t_sample) * copydim * c; + //post("reset resize (same channels) %p %p, %d", self->info.data, old, copysz); + memcpy(replaced, old, copysz); + } else { + // memcpy won't work if channels have changed, + // because data is interleaved. + // clamp channels copied: + copychannels = oldchannels > c ? c : oldchannels; + //post("reset resize (different channels) %p %p, %d %d", self->info.data, old, copydim, copychannels); + for (i = 0; iinfo.data = replaced; + self->info.dim = s; + self->info.channels = c; + } else { + // need to be careful; the audio thread may still be using it + // since dsp_gen_data is preserved through edits + // the order of resizing has to be carefully done + // to prevent indexing out of bounds + // (or maybe I'm being too paranoid here...) + if (oldsz > sz) { + // shrink size first + if (s > olddim) { + self->info.channels = c; + self->info.dim = s; + } else { + self->info.dim = s; + self->info.channels = c; + } + self->info.data = replaced; + } else { + // shrink size after + self->info.data = replaced; + if (s > olddim) { + self->info.channels = c; + self->info.dim = s; + } else { + self->info.dim = s; + self->info.channels = c; + } + } + + // done with old: + sysmem_freeptr(old); + + } + + } +} + +void genlib_reset_complete(void *data) {} diff --git a/plugins/common/gen_dsp/genlib.h b/plugins/common/gen_dsp/genlib.h new file mode 100644 index 0000000..d88b6c5 --- /dev/null +++ b/plugins/common/gen_dsp/genlib.h @@ -0,0 +1,120 @@ +/******************************************************************************************************************* +Copyright (c) 2012 Cycling '74 + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software +and associated documentation files (the "Software"), to deal in the Software without restriction, +including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies +or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, +INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE +OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +*******************************************************************************************************************/ + + +#ifndef GENLIB_H +#define GENLIB_H 1 + +#include "genlib_common.h" + +//////////// genlib.h //////////// +// genlib.h -- max (gen~) version + +#ifndef GEN_WINDOWS +#ifndef _SIZE_T +#define _SIZE_T +typedef __typeof__(sizeof(int)) size_t; +#endif +#endif + +#ifndef __INT32_TYPE__ +#define __INT32_TYPE__ int +#endif + +#ifdef MSP_ON_CLANG + // gen~ hosted: + typedef unsigned __INT32_TYPE__ uint32_t; + typedef unsigned __INT64_TYPE__ uint64_t; +#else + #ifdef __GNUC__ + #include + #endif +#endif + +#define inf (__DBL_MAX__) +#define GEN_UINT_MAX (4294967295) +#define TWO_TO_32 (4294967296.0) + +#define C74_CONST const + +// max_types.h: +// #ifdef C74_X64 +// typedef unsigned long long t_ptr_uint; +// typedef long long t_ptr_int; +// typedef double t_atom_float; +// typedef t_ptr_uint t_getbytes_size; +// #else + typedef unsigned long t_ptr_uint; + typedef long t_ptr_int; + typedef float t_atom_float; + typedef short t_getbytes_size; +// #endif + +typedef uint32_t t_uint32; +typedef t_ptr_int t_atom_long; // the type that is an A_LONG in an atom + +typedef t_ptr_int t_int; ///< an integer @ingroup misc +typedef t_ptr_uint t_ptr_size; ///< unsigned pointer-sized value for counting (like size_t) @ingroup misc +typedef t_ptr_int t_atom_long; ///< the type that is an A_LONG in a #t_atom @ingroup misc +typedef t_atom_long t_max_err; ///< an integer value suitable to be returned as an error code @ingroup misc + +extern "C" { + // string reference handling: + void * genlib_obtain_reference_from_string(const char * name); + char *genlib_reference_getname(void *ref); + + // buffer handling: + t_genlib_buffer *genlib_obtain_buffer_from_reference(void *ref); + t_genlib_err genlib_buffer_edit_begin(t_genlib_buffer *b); + t_genlib_err genlib_buffer_edit_end(t_genlib_buffer *b, long valid); + t_genlib_err genlib_buffer_getinfo(t_genlib_buffer *b, t_genlib_buffer_info *info); + void genlib_buffer_dirty(t_genlib_buffer *b); + t_genlib_err genlib_buffer_perform_begin(t_genlib_buffer *b); + void genlib_buffer_perform_end(t_genlib_buffer *b); + + // data handling: + t_genlib_data *genlib_obtain_data_from_reference(void *ref); + t_genlib_err genlib_data_getinfo(t_genlib_data *b, t_genlib_data_info *info); + void genlib_data_resize(t_genlib_data *b, long dim, long channels); + void genlib_data_setbuffer(t_genlib_data *b, void *ref); + void genlib_data_release(t_genlib_data *b); + void genlib_data_setcursor(t_genlib_data *b, long cursor); + long genlib_data_getcursor(t_genlib_data *b); + + // other notification: + void genlib_reset_complete(void *data); + + // get/set state of parameters + size_t genlib_getstatesize(CommonState *cself, getparameter_method getmethod); + short genlib_getstate(CommonState *cself, char *state, getparameter_method getmethod); + short genlib_setstate(CommonState *cself, const char *state, setparameter_method setmethod); + +}; // extern "C" + +#define genlib_sysmem_newptr(s) sysmem_newptr(s) +#define genlib_sysmem_newptrclear(s) sysmem_newptrclear(s) +#define genlib_sysmem_resizeptr(p, s) sysmem_resizeptr(p, s) +#define genlib_sysmem_resizeptrclear(p, s) sysmem_resizeptrclear(p, s) +#define genlib_sysmem_ptrsize(p) sysmem_ptrsize(p) +#define genlib_sysmem_freeptr(p) sysmem_freeptr(p) +#define genlib_sysmem_copyptr(s, d, b) sysmem_copyptr(s, d, b) +#define genlib_set_zero64(d, n) set_zero64(d, n) +#define genlib_ticks systime_ticks + +#endif // GENLIB_H diff --git a/plugins/common/gen_dsp/genlib_common.h b/plugins/common/gen_dsp/genlib_common.h new file mode 100644 index 0000000..f1e985a --- /dev/null +++ b/plugins/common/gen_dsp/genlib_common.h @@ -0,0 +1,108 @@ +/******************************************************************************************************************* +Copyright (c) 2012 Cycling '74 + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software +and associated documentation files (the "Software"), to deal in the Software without restriction, +including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies +or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, +INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE +OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +*******************************************************************************************************************/ + + +#ifndef GENLIB_COMMON_H +#define GENLIB_COMMON_H 1 + +#include "genlib_common_win.h" + +//////////// genlib_common.h //////////// +// common data structure header file -- this is the stuff required by the +// common code and accessed by the export and max code + +#define DSP_GEN_MAX_SIGNALS 16 + +typedef float t_sample; +typedef float t_param; +typedef char *t_ptr; + +typedef long t_genlib_err; +typedef enum { + GENLIB_ERR_NONE = 0, ///< No error + GENLIB_ERR_GENERIC = -1, ///< Generic error + GENLIB_ERR_INVALID_PTR = -2, ///< Invalid Pointer + GENLIB_ERR_DUPLICATE = -3, ///< Duplicate + GENLIB_ERR_OUT_OF_MEM = -4, ///< Out of memory + + GENLIB_ERR_LOOP_OVERFLOW = 100, // too many iterations of loops in perform() + GENLIB_ERR_NULL_BUFFER = 101 // missing signal data in perform() + +} e_genlib_errorcodes; + +typedef enum { + GENLIB_PARAMTYPE_FLOAT = 0, + GENLIB_PARAMTYPE_SYM = 1 +} e_genlib_paramtypes; + +struct ParamInfo +{ + t_param defaultvalue; + void * defaultref; + char hasinputminmax; + char hasminmax; + t_param inputmin, inputmax; + t_param outputmin, outputmax; + const char *name; + const char *units; + int paramtype; // 0 -> float64, 1 -> symbol (table name) + t_param exp; // future, for scaling +}; + +struct CommonState +{ + t_sample sr; + int vs; + int numins; + int numouts; + const char **inputnames; + const char **outputnames; + int numparams; + ParamInfo *params; + + void * parammap; // implementation-dependent + void * api; // implementation-dependent +}; + +// opaque interface to float32 buffer: +typedef struct _genlib_buffer t_genlib_buffer; +typedef struct { + char b_name[256]; ///< name of the buffer + float *b_samples; ///< stored with interleaved channels if multi-channel + long b_frames; ///< number of sample frames (each one is sizeof(float) * b_nchans bytes) + long b_nchans; ///< number of channels + long b_size; ///< size of buffer in floats + float b_sr; ///< sampling rate of the buffer + long b_modtime; ///< last modified time ("dirty" method) + long b_rfu[57]; ///< reserved for future use +} t_genlib_buffer_info; + +// opaque interface to float64 buffer: +typedef struct _genlib_data t_genlib_data; +typedef struct { + int dim, channels; + t_sample * data; +} t_genlib_data_info; + +typedef void (*setparameter_method) (CommonState *, long, t_param, void *); +typedef void (*getparameter_method) (CommonState *, long, t_param *); + +#endif // GENLIB_COMMON_H + + diff --git a/plugins/common/gen_dsp/genlib_common_win.h b/plugins/common/gen_dsp/genlib_common_win.h new file mode 100644 index 0000000..150eeb1 --- /dev/null +++ b/plugins/common/gen_dsp/genlib_common_win.h @@ -0,0 +1,43 @@ +/******************************************************************************************************************* +Copyright (c) 2012 Cycling '74 + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software +and associated documentation files (the "Software"), to deal in the Software without restriction, +including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies +or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, +INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE +OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +*******************************************************************************************************************/ + +#ifndef GENLIB_COMMON_WIN_H +#define GENLIB_COMMON_WIN_H + +#ifdef _MSC_VER + #define GEN_WINDOWS +#endif + +#ifdef GEN_WINDOWS + + #include + #include + + typedef __int32 int32_t; + typedef unsigned __int32 uint32_t; + typedef __int64 int64_t; + typedef unsigned __int64 uint64_t; + #define malloc_size _msize + + #define __DBL_EPSILON__ (DBL_EPSILON) + +#endif + +#endif + diff --git a/plugins/common/gen_dsp/genlib_exportfunctions.h b/plugins/common/gen_dsp/genlib_exportfunctions.h new file mode 100644 index 0000000..a332897 --- /dev/null +++ b/plugins/common/gen_dsp/genlib_exportfunctions.h @@ -0,0 +1,38 @@ +/******************************************************************************************************************* +Copyright (c) 2012 Cycling '74 + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software +and associated documentation files (the "Software"), to deal in the Software without restriction, +including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies +or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, +INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE +OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +*******************************************************************************************************************/ + +#ifndef GENLIB_EXPORT_FUNCTIONS_H +#define GENLIB_EXPORT_FUNCTIONS_H 1 + +typedef char *t_ptr; + +t_ptr sysmem_newptr(t_ptr_size size); +t_ptr sysmem_newptrclear(t_ptr_size size); +t_ptr sysmem_resizeptr(void *ptr, t_ptr_size newsize); +t_ptr sysmem_resizeptrclear(void *ptr, t_ptr_size newsize); +t_ptr_size sysmem_ptrsize(void *ptr); +void sysmem_freeptr(void *ptr); +void sysmem_copyptr(const void *src, void *dst, t_ptr_size bytes); +unsigned long systime_ticks(void); + +void genlib_report_error(const char *s); +void genlib_report_message(const char *s); +void set_zero64(t_sample *mem, long size); + +#endif // GENLIB_EXPORT_FUNCTIONS_H diff --git a/plugins/common/gen_dsp/genlib_ops.h b/plugins/common/gen_dsp/genlib_ops.h new file mode 100644 index 0000000..2bab774 --- /dev/null +++ b/plugins/common/gen_dsp/genlib_ops.h @@ -0,0 +1,1374 @@ +/******************************************************************************************************************* +Copyright (c) 2012 Cycling '74 + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software +and associated documentation files (the "Software"), to deal in the Software without restriction, +including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies +or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, +INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE +OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +*******************************************************************************************************************/ + +#ifndef GENLIB_OPS_H +#define GENLIB_OPS_H 1 + +#include "genlib_common.h" // common to common code and any host code +#include "genlib.h" // this file is different for different "hosts" + +#include + +//////////// genlib_ops.h //////////// + +// system constants +#define GENLIB_DBL_EPSILON (__DBL_EPSILON__) + +#define GENLIB_PI (3.14159265358979323846264338327950288f) +#define GENLIB_PI_OVER_2 (1.57079632679489661923132169163975144f) +#define GENLIB_PI_OVER_4 (0.785398163397448309615660845819875721f) +#define GENLIB_1_OVER_LOG_2 (1.442695040888963f) + +// denormal numbers cannot occur when hosted in MSP: +// #ifdef MSP_ON_CLANG + #define GENLIB_NO_DENORM_TEST 1 +// #endif + +// assumes v is a 64-bit double: +#define GENLIB_IS_NAN_DOUBLE(v) (((((uint32_t *)&(v))[1])&0x7fe00000)==0x7fe00000) +#define GENLIB_FIX_NAN_DOUBLE(v) ((v)=GENLIB_IS_NAN_DOUBLE(v)?0.:(v)) + +#ifdef GENLIB_NO_DENORM_TEST + #define GENLIB_IS_DENORM_DOUBLE(v) (v) + #define GENLIB_FIX_DENORM_DOUBLE(v) (v) +#else + #define GENLIB_IS_DENORM_DOUBLE(v) ((((((uint32_t *)&(v))[1])&0x7fe00000)==0)&&((v)!=0.)) + #define GENLIB_FIX_DENORM_DOUBLE(v) ((v)=GENLIB_IS_DENORM_DOUBLE(v)?0.f:(v)) +#endif + +#define GENLIB_QUANT(f1,f2) (floor((f1)*(f2)+0.5)/(f2)) + +inline double genlib_isnan(double v) { return GENLIB_IS_NAN_DOUBLE(v); } +inline double fixnan(double v) { return GENLIB_FIX_NAN_DOUBLE(v); } +inline double fixdenorm(double v) { return GENLIB_FIX_DENORM_DOUBLE(v); } +inline double isdenorm(double v) { return GENLIB_IS_DENORM_DOUBLE(v); } + +inline double safemod(double f, double m) { + if (m > GENLIB_DBL_EPSILON || m < -GENLIB_DBL_EPSILON) { + if (m<0) + m = -m; // modulus needs to be absolute value + if (f>=m) { + if (f>=(m*2.)) { + double d = f / m; + d = d - (long) d; + f = d * m; + } + else { + f -= m; + } + } + else if (f<=(-m)) { + if (f<=(-m*2.)) { + double d = f / m; + d = d - (long) d; + f = d * m; + } + else { + f += m; + } + } + } else { + f = 0.0; //don't divide by zero + } + return f; +} + + +inline double safediv(double num, double denom) { + return denom == 0. ? 0. : num/denom; +} + +// fixnan for case of negative base and non-integer exponent: +inline double safepow(double base, double exponent) { + return fixnan(pow(base, exponent)); +} + +inline double absdiff(double a, double b) { return fabs(a-b); } + +inline double exp2(double v) { return pow(2., v); } + +inline double trunc(double v) { + double epsilon = (v<0.0) * -2 * 1E-9 + 1E-9; + // copy to long so it gets truncated (probably cheaper than floor()) + long val = v + epsilon; + return val; +} + +inline t_sample sign(t_sample v) { + return v > t_sample(0) ? t_sample(1) : v < t_sample(0) ? t_sample(-1) : t_sample(0); +} + +inline long is_poweroftwo(long x) { + return (x & (x - 1)) == 0; +} + +inline uint64_t next_power_of_two(uint64_t v) { + v--; + v |= v >> 1; + v |= v >> 2; + v |= v >> 4; + v |= v >> 8; + v |= v >> 16; + v |= v >> 32; + v++; + return v; +} + +inline t_sample fold(t_sample v, t_sample lo1, t_sample hi1){ + t_sample lo; + t_sample hi; + if(lo1 == hi1){ return lo1; } + if (lo1 > hi1) { + hi = lo1; lo = hi1; + } else { + lo = lo1; hi = hi1; + } + const t_sample range = hi - lo; + long numWraps = 0; + if(v >= hi){ + v -= range; + if(v >= hi){ + numWraps = (long)((v - lo)/range); + v -= range * (t_sample)numWraps; + } + numWraps++; + } else if(v < lo){ + v += range; + if(v < lo){ + numWraps = (long)((v - lo)/range) - 1; + v -= range * (t_sample)numWraps; + } + numWraps--; + } + if(numWraps & 1) v = hi + lo - v; // flip sign for odd folds + return v; +} + +inline double wrap(double v, double lo1, double hi1){ + double lo; + double hi; + if(lo1 == hi1) return lo1; + if (lo1 > hi1) { + hi = lo1; lo = hi1; + } else { + lo = lo1; hi = hi1; + } + const double range = hi - lo; + if (v >= lo && v < hi) return v; + if (range <= 0.000000001) return lo; // no point... + const long numWraps = long((v-lo)/range) - (v < lo); + return v - range * double(numWraps); +} + +// this version gives far better performance when wrapping is relatively rare +// and typically double of wraps is very low (>1%) +// but catastrophic if wraps is high (1000%+) +inline t_sample genlib_wrapfew(t_sample v, t_sample lo, t_sample hi){ + const t_sample range = hi - lo; + while (v >= hi) v -= range; + while (v < lo) v += range; + return v; +} + +inline t_sample phasewrap(t_sample val) { + const t_sample twopi = GENLIB_PI*2.; + const t_sample oneovertwopi = 1./twopi; + if (val>= twopi || val <= twopi) { + t_sample d = val * oneovertwopi; //multiply faster + d = d - (long)d; + val = d * twopi; + } + if (val > GENLIB_PI) val -= twopi; + if (val < -GENLIB_PI) val += twopi; + return val; +} + +/// 8th order Taylor series approximation to a cosine. +/// r must be in [-pi, pi]. +inline t_sample genlib_cosT8(t_sample r) { + const t_sample t84 = 56.; + const t_sample t83 = 1680.; + const t_sample t82 = 20160.; + const t_sample t81 = 2.4801587302e-05; + const t_sample t73 = 42.; + const t_sample t72 = 840.; + const t_sample t71 = 1.9841269841e-04; + if(r < GENLIB_PI_OVER_4 && r > -GENLIB_PI_OVER_4){ + t_sample rr = r*r; + return 1. - rr * t81 * (t82 - rr * (t83 - rr * (t84 - rr))); + } + else if(r > 0.){ + r -= GENLIB_PI_OVER_2; + t_sample rr = r*r; + return -r * (1. - t71 * rr * (t72 - rr * (t73 - rr))); + } + else{ + r += GENLIB_PI_OVER_2; + t_sample rr = r*r; + return r * (1. - t71 * rr * (t72 - rr * (t73 - rr))); + } +} + +//inline double genlib_sin_fast(const double r){ +// const double y = (4./GENLIB_PI) * r + (-4./(GENLIB_PI*GENLIB_PI)) * r * fabs(r); +// return 0.225 * (y * fabs(y) - y) + y; // Q * y + P * y * abs(y) +//} +// +//inline t_sample genlib_sinP7(t_sample n){ +// t_sample nn = n*n; +// return n * (t_sample(3.138982) + nn * (t_sample(-5.133625) + nn * (t_sample(2.428288) - nn * t_sample(0.433645)))); +//} +// +//inline t_sample genlib_sinP9(t_sample n){ +// t_sample nn = n*n; +// return n * (GENLIB_PI + nn * (t_sample(-5.1662729) + nn * (t_sample(2.5422065) + nn * (t_sample(-0.5811243) + nn * t_sample(0.0636716))))); +//} +// +//inline t_sample genlib_sinT7(t_sample r){ +// const t_sample t84 = 56.; +// const t_sample t83 = 1680.; +// const t_sample t82 = 20160.; +// const t_sample t81 = 2.4801587302e-05; +// const t_sample t73 = 42.; +// const t_sample t72 = 840.; +// const t_sample t71 = 1.9841269841e-04; +// if(r < GENLIB_PI_OVER_4 && r > -GENLIB_PI_OVER_4){ +// t_sample rr = r*r; +// return r * (1. - t71 * rr * (t72 - rr * (t73 - rr))); +// } +// else if(r > 0.){ +// r -= GENLIB_PI_OVER_2; +// t_sample rr = r*r; +// return t_sample(1.) - rr * t81 * (t82 - rr * (t83 - rr * (t84 - rr))); +// } +// else{ +// r += GENLIB_PI_OVER_2; +// t_sample rr = r*r; +// return t_sample(-1.) + rr * t81 * (t82 - rr * (t83 - rr * (t84 - rr))); +// } +//} + +// use these if r is not known to be in [-pi, pi]: +inline t_sample genlib_cosT8_safe(t_sample r) { return genlib_cosT8(phasewrap(r)); } +//inline double genlib_sin_fast_safe(double r) { return genlib_sin_fast(phasewrap(r)); } +//inline t_sample genlib_sinP7_safe(t_sample r) { return genlib_sinP7(phasewrap(r)); } +//inline t_sample genlib_sinP9_safe(t_sample r) { return genlib_sinP9(phasewrap(r)); } +//inline t_sample genlib_sinT7_safe(t_sample r) { return genlib_sinT7(phasewrap(r)); } + + + +/*=====================================================================* + * Copyright (C) 2011 Paul Mineiro * + * All rights reserved. * + * * + * Redistribution and use in source and binary forms, with * + * or without modification, are permitted provided that the * + * following conditions are met: * + * * + * * Redistributions of source code must retain the * + * above copyright notice, this list of conditions and * + * the following disclaimer. * + * * + * * Redistributions in binary form must reproduce the * + * above copyright notice, this list of conditions and * + * the following disclaimer in the documentation and/or * + * other materials provided with the distribution. * + * * + * * Neither the name of Paul Mineiro nor the names * + * of other contributors may be used to endorse or promote * + * products derived from this software without specific * + * prior written permission. * + * * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND * + * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, * + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER * + * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, * + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE * + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR * + * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF * + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * + * POSSIBILITY OF SUCH DAMAGE. * + * * + * Contact: Paul Mineiro * + *=====================================================================*/ + +inline float genlib_fastersin (float x) { + static const float fouroverpi = 1.2732395447351627f; + static const float fouroverpisq = 0.40528473456935109f; + static const float q = 0.77633023248007499f; + union { float f; uint32_t i; } p = { 0.22308510060189463f }; + union { float f; uint32_t i; } vx = { x }; + uint32_t sign = vx.i & 0x80000000; + vx.i &= 0x7FFFFFFF; + float qpprox = fouroverpi * x - fouroverpisq * x * vx.f; + p.i |= sign; + return qpprox * (q + p.f * qpprox); +} + +inline float genlib_fastercos (float x) { + static const float twooverpi = 0.63661977236758134f; + static const float p = 0.54641335845679634f; + union { float f; uint32_t i; } vx = { x }; + vx.i &= 0x7FFFFFFF; + float qpprox = 1.0f - twooverpi * vx.f; + return qpprox + p * qpprox * (1.0f - qpprox * qpprox); +} + +inline float genlib_fastersinfull (float x) { + static const float twopi = 6.2831853071795865f; + static const float invtwopi = 0.15915494309189534f; + int k = x * invtwopi; + float half = (x < 0) ? -0.5f : 0.5f; + return genlib_fastersin ((half + k) * twopi - x); +} + +inline float genlib_fastercosfull (float x) { + static const float halfpi = 1.5707963267948966f; + return genlib_fastersinfull (x + halfpi); +} + +inline float genlib_fastertanfull (float x) { + static const float twopi = 6.2831853071795865f; + static const float invtwopi = 0.15915494309189534f; + int k = x * invtwopi; + float half = (x < 0) ? -0.5f : 0.5f; + float xnew = x - (half + k) * twopi; + return genlib_fastersin (xnew) / genlib_fastercos (xnew); +} + + +#define cast_uint32_t static_cast +inline float genlib_fasterpow2 (float p) { + float clipp = (p < -126) ? -126.0f : p; + union { uint32_t i; float f; } v = { cast_uint32_t ( (1 << 23) * (clipp + 126.94269504f) ) }; + return v.f; +} + +inline float genlib_fasterexp (float p) { + return genlib_fasterpow2 (1.442695040f * p); +} + +inline float genlib_fasterlog2 (float x) { + union { float f; uint32_t i; } vx = { x }; + float y = vx.i; + y *= 1.1920928955078125e-7f; + return y - 126.94269504f; +} + +inline float genlib_fasterpow (float x, float p) { + return genlib_fasterpow2(p * genlib_fasterlog2 (x)); +} + +//////////////////////////////////////////////////////////////// + +inline double fastertanfull(double x) { + return (double)genlib_fastertanfull((float)x); +} + +inline double fastersinfull(double x) { + return (double)genlib_fastersinfull((float)x); +} + +inline double fastercosfull(double x) { + return (double)genlib_fastercosfull((float)x); +} + +inline double fasterexp(double x) { + return (double)genlib_fasterexp((float)x); +} + +inline double fasterpow(double x, double p) { + return (double)genlib_fasterpow((float)x, (float)p); +} +/****************************************************************/ + + + +inline double minimum(double x, double y) { return (y +inline T smoothstep(double e0, double e1, T x) { + T t = clamp( safediv(x-T(e0),T(e1-e0)), 0., 1. ); + return t*t*(T(3) - T(2)*t); +} + +inline t_sample mix(t_sample x, t_sample y, t_sample a) { + return x+a*(y-x); +} + +inline double scale(double in, double inlow, double inhigh, double outlow, double outhigh, double power) +{ + double value; + double inscale = safediv(1., inhigh - inlow); + double outdiff = outhigh - outlow; + + value = (in - inlow) * inscale; + if (value > 0.0) + value = pow(value, power); + else if (value < 0.0) + value = -pow(-value, power); + value = (value * outdiff) + outlow; + + return value; +} + +inline t_sample linear_interp(t_sample a, t_sample x, t_sample y) { + return x+a*(y-x); +} + +inline t_sample cosine_interp(t_sample a, t_sample x, t_sample y) { + const t_sample a2 = (t_sample(1.)-genlib_cosT8_safe(a*t_sample(GENLIB_PI)))/t_sample(2.); + return(x*(t_sample(1.)-a2)+y*a2); +} + +inline t_sample cubic_interp(t_sample a, t_sample w, t_sample x, t_sample y, t_sample z) { + const t_sample a2 = a*a; + const t_sample f0 = z - y - w + x; + const t_sample f1 = w - x - f0; + const t_sample f2 = y - w; + const t_sample f3 = x; + return(f0*a*a2 + f1*a2 + f2*a + f3); +} + +// Breeuwsma catmull-rom spline interpolation +inline t_sample spline_interp(t_sample a, t_sample w, t_sample x, t_sample y, t_sample z) { + const t_sample a2 = a*a; + const t_sample f0 = t_sample(-0.5)*w + t_sample(1.5)*x - t_sample(1.5)*y + t_sample(0.5)*z; + const t_sample f1 = w - t_sample(2.5)*x + t_sample(2)*y - t_sample(0.5)*z; + const t_sample f2 = t_sample(-0.5)*w + t_sample(0.5)*y; + return(f0*a*a2 + f1*a2 + f2*a + x); +} + +template +inline T1 neqp(T1 x, T2 y) { + return ((((x) != T1(y))) ? (x) : T1(0)); +} + +template +inline T1 gtp(T1 x, T2 y) { return ((((x) > T1(y))) ? (x) : T1(0)); } +template +inline T1 gtep(T1 x, T2 y) { return ((((x) >= T1(y))) ? (x) : T1(0)); } +template +inline T1 ltp(T1 x, T2 y) { return ((((x) < T1(y))) ? (x) : T1(0)); } +template +inline T1 ltep(T1 x, T2 y) { return ((((x) <= T1(y))) ? (x) : T1(0)); } + +inline double fract(double x) { double unused; return modf(x, &unused); } + +// log2(x) = log(x)/log(2) +template +inline T log2(T x) { + return log(x)*GENLIB_1_OVER_LOG_2; +} + +inline double atodb(double in) { + return (in <=0.) ? -999. : (20. * log10(in)); +} + +inline double dbtoa(double in) { + return pow(10., in * 0.05); +} + +inline double ftom(double in, double tuning=440.) { + return 69. + 17.31234050465299 * log(safediv(in, tuning)); +} + +inline double mtof(double in, double tuning=440.) { + return tuning * exp(.057762265 * (in - 69.0)); +} + +inline t_sample mstosamps(t_sample ms, t_sample samplerate=44100.) { + return samplerate * ms * t_sample(0.001); +} + +inline t_sample sampstoms(t_sample s, t_sample samplerate=44100.) { + return t_sample(1000.) * s / samplerate; +} + +inline double triangle(double phase, double p1) { + phase = wrap(phase, 0., 1.); + p1 = clamp(p1, 0., 1.); + if (phase < p1) + return (p1) ? phase/p1 : 0.; + else + return (p1==1.) ? phase : 1. - ((phase - p1) / (1. - p1)); +} + +struct Delta { + t_sample history; + Delta() { reset(); } + inline void reset(t_sample init=0) { history=init; } + + inline t_sample operator()(t_sample in1) { + t_sample ret = in1 - history; + history = in1; + return ret; + } +}; +struct Change { + t_sample history; + Change() { reset(); } + inline void reset(t_sample init=0) { history=init; } + + inline t_sample operator()(t_sample in1) { + t_sample ret = in1 - history; + history = in1; + return sign(ret); + } +}; + +struct Rate { + t_sample phase, diff, mult, invmult, prev; + int wantlock, quant; + + Rate() { reset(); } + + inline void reset() { + phase = diff = prev = 0; + mult = invmult = 1; + wantlock = 1; + quant = 1; + } + + inline t_sample perform_lock(t_sample in1, t_sample in2) { + // did multiplier change? + if (in2 != mult && !genlib_isnan(in2)) { + mult = in2; + invmult = safediv(1., mult); + wantlock = 1; + } + t_sample diff = in1 - prev; + + if (diff < t_sample(-0.5)) { + diff += t_sample(1); + } else if (diff > t_sample(0.5)) { + diff -= t_sample(1); + } + + if (wantlock) { + // recalculate phase + phase = (in1 - GENLIB_QUANT(in1, quant)) * invmult + + GENLIB_QUANT(in1, quant * mult); + diff = 0; + wantlock = 0; + } else { + // diff is always between -0.5 and 0.5 + phase += diff * invmult; + } + + if (phase > t_sample(1.) || phase < t_sample(-0.)) { + phase = phase - (long)(phase); + } + + prev = in1; + + return phase; + } + + inline t_sample perform_cycle(t_sample in1, t_sample in2) { + // did multiplier change? + if (in2 != mult && !genlib_isnan(in2)) { + mult = in2; + invmult = safediv(1., mult); + wantlock = 1; + } + t_sample diff = in1 - prev; + + if (diff < t_sample(-0.5)) { + if (wantlock) { + wantlock = 0; + phase = in1 * invmult; + diff = t_sample(0); + } else { + diff += t_sample(1); + } + } else if (diff > t_sample(0.5)) { + if (wantlock) { + wantlock = 0; + phase = in1 * invmult; + diff = t_sample(0); + } else { + diff -= t_sample(1); + } + } + + // diff is always between -0.5 and 0.5 + phase += diff * invmult; + + if (phase > t_sample(1.) || phase < t_sample(-0.)) { + phase = phase - (long)(phase); + } + + prev = in1; + + return phase; + } + + inline t_sample perform_off(double in1, double in2) { + // did multiplier change? + if (in2 != mult && !genlib_isnan(in2)) { + mult = in2; + invmult = safediv(1., mult); + wantlock = 1; + } + double diff = in1 - prev; + + if (diff < t_sample(-0.5)) { + diff += t_sample(1); + } else if (diff > t_sample(0.5)) { + diff -= t_sample(1); + } + + phase += diff * invmult; + + if (phase > t_sample(1.) || phase < t_sample(-0.)) { + phase = phase - (long)(phase); + } + + prev = in1; + + return phase; + } +}; + +struct DCBlock { + t_sample x1, y1; + DCBlock() { reset(); } + inline void reset() { x1=0; y1=0; } + + inline double operator()(t_sample in1) { + t_sample y = in1 - x1 + y1*t_sample(0.9997); + x1 = in1; + y1 = y; + return y; + } +}; + +struct Noise { + unsigned long last; + static long uniqueTickCount(void) { + static long lasttime = 0; + long time = genlib_ticks(); + return (time <= lasttime) ? (++lasttime) : (lasttime = time); + } + + Noise() { reset(); } + Noise(double seed) { reset(seed); } + void reset() { last = uniqueTickCount() * uniqueTickCount(); } + void reset(double seed) { last = seed; } + + inline t_sample operator()() { + last = 1664525L * last + 1013904223L; + unsigned long itemp = 0x3f800000 | (0x007fffff & last); + unsigned long* itempptr = &itemp; + return ((*(float *)itempptr) * 2.f) - 3.f; + } +}; + +struct Phasor { + t_sample phase; + Phasor() { reset(); } + void reset(t_sample v=0.) { phase=v; } + inline double operator()(t_sample freq, t_sample invsamplerate) { + const t_sample pincr = freq * invsamplerate; + //phase = genlib_wrapfew(phase + pincr, 0., 1.); // faster for low frequencies, but explodes with high frequencies + phase = wrap(phase + pincr, 0., 1.); + return phase; + } +}; + +struct PlusEquals { + t_sample count; + PlusEquals() { reset(); } + void reset(t_sample v=0.) { count=v; } + + // reset post-application mode: + inline t_sample post(t_sample incr, t_sample reset, t_sample min, t_sample max) { + count = reset ? min : wrap(count+incr, min, max); + return count; + } + inline t_sample post(t_sample incr=1., t_sample reset=0., t_sample min=0.) { + count = reset ? min : count+incr; + return count; + } + + // reset pre-application mode: + inline t_sample pre(t_sample incr, t_sample reset, t_sample min, t_sample max) { + count = reset ? min+incr : wrap(count+incr, min, max); + return count; + } + inline t_sample pre(t_sample incr=1., t_sample reset=0., t_sample min=0.) { + count = reset ? min+incr : count+incr; + return count; + } +}; + +struct MulEquals { + t_sample count; + MulEquals() { reset(); } + void reset(t_sample v=0.) { count=v; } + + // reset post-application mode: + inline t_sample post(t_sample incr, t_sample reset, t_sample min, t_sample max) { + count = reset ? min : wrap(fixdenorm(count*incr), min, max); + return count; + } + inline t_sample post(t_sample incr=1., t_sample reset=0., t_sample min=0.) { + count = reset ? min : fixdenorm(count*incr); + return count; + } + + // reset pre-application mode: + inline t_sample pre(t_sample incr, t_sample reset, t_sample min, t_sample max) { + count = reset ? min*incr : wrap(fixdenorm(count*incr), min, max); + return count; + } + inline t_sample pre(t_sample incr=1., t_sample reset=0., t_sample min=0.) { + count = reset ? min*incr : fixdenorm(count*incr); + return count; + } +}; + +struct Sah { + t_sample prev, output; + Sah() { reset(); } + void reset(t_sample o=0.) { + output = prev = o; + } + + inline t_sample operator()(t_sample in, t_sample trig, t_sample thresh) { + if (prev <= thresh && trig > thresh) { + output = in; + } + prev = trig; + return output; + } +}; + +struct Train { + t_sample phase, state; + Train() { reset(); } + void reset(t_sample p=0) { phase = p; state = 0.; } + + inline t_sample operator()(t_sample pulseinterval, t_sample width, t_sample pulsephase) { + if (width <= t_sample(0.)) { + state = t_sample(0.); // no pulse! + } else if (width >= 1.) { + state = t_sample(1.); // constant pulse! + } else { + const t_sample interval = maximum(pulseinterval, t_sample(1.)); // >= 1. + const t_sample p1 = clamp(pulsephase, t_sample(0.), t_sample(1.)); // [0..1] + const t_sample p2 = p1+width; // (p1..p1+1) + const t_sample pincr = t_sample(1.)/interval; // (0..1] + phase += pincr; // +ve + if (state) { // on: + if (phase > p2) { + state = t_sample(0.); // turn off + phase -= (int)(1.+phase-p2); // wrap phase back down + } + } else { // off: + if (phase > p1) { + state = t_sample(1.); // turn on. + } + } + } + return state; + } +}; + +struct Delay { + t_sample * memory; + long size, wrap, maxdelay; + long reader, writer; + + t_genlib_data * dataRef; + + Delay() : memory(0) { + size = wrap = maxdelay = 0; + reader = writer = 0; + dataRef = 0; + } + ~Delay() { + if (dataRef != 0) { + // store write position for persistence: + genlib_data_setcursor(dataRef, writer); + // decrement reference count: + genlib_data_release(dataRef); + } + } + + inline void reset(const char * name, long d) { + // if needed, acquire the Data's global reference: + if (dataRef == 0) { + + void * ref = genlib_obtain_reference_from_string(name); + dataRef = genlib_obtain_data_from_reference(ref); + if (dataRef == 0) { + genlib_report_error("failed to acquire data"); + return; + } + + // scale maxdelay to next highest power of 2: + maxdelay = d; + size = maxdelay < 2 ? 2 : maxdelay; + size = next_power_of_two(size); + + // first reset should resize the memory: + genlib_data_resize(dataRef, size, 1); + + t_genlib_data_info info; + if (genlib_data_getinfo(dataRef, &info) == GENLIB_ERR_NONE) { + if (info.dim != size) { + // at this point, could resolve by reducing to + // maxdelay = size = next_power_of_two(info.dim+1)/2; + // but really, if this happens, it means more than one + // object is referring to the same t_gen_dsp_data. + // which is probably bad news. + genlib_report_error("delay memory size error"); + memory = 0; + return; + } + memory = info.data; + writer = genlib_data_getcursor(dataRef); + } else { + genlib_report_error("failed to acquire data info"); + } + + } else { + // subsequent reset should zero the memory & heads: + set_zero64(memory, size); + writer = 0; + } + + reader = writer; + wrap = size-1; + } + + // called at bufferloop end, updates read pointer time + inline void step() { + reader++; + if (reader >= size) reader = 0; + } + + inline void write(t_sample x) { + writer = reader; // update write ptr + memory[writer] = x; + } + + inline t_sample read_step(t_sample d) { + // extra half for nice rounding: + // min 1 sample delay for read before write (r != w) + const t_sample r = t_sample(size + reader) - clamp(d-t_sample(0.5), (reader != writer), maxdelay); + long r1 = long(r); + return memory[r1 & wrap]; + } + + inline t_sample read_linear(t_sample d) { + // min 1 sample delay for read before write (r != w) + t_sample c = clamp(d, (reader != writer), maxdelay); + const t_sample r = t_sample(size + reader) - c; + long r1 = long(r); + long r2 = r1+1; + t_sample a = r - (t_sample)r1; + t_sample x = memory[r1 & wrap]; + t_sample y = memory[r2 & wrap]; + return linear_interp(a, x, y); + } + + inline t_sample read_cosine(t_sample d) { + // min 1 sample delay for read before write (r != w) + const t_sample r = t_sample(size + reader) - clamp(d, (reader != writer), maxdelay); + long r1 = long(r); + long r2 = r1+1; + t_sample a = r - (t_sample)r1; + t_sample x = memory[r1 & wrap]; + t_sample y = memory[r2 & wrap]; + return cosine_interp(a, x, y); + } + + // cubic requires extra sample of compensation: + inline t_sample read_cubic(t_sample d) { + // min 1 sample delay for read before write (r != w) + // plus extra 1 sample compensation for 4-point interpolation + const t_sample r = t_sample(size + reader) - clamp(d, t_sample(1.)+t_sample(reader != writer), maxdelay); + long r1 = long(r); + long r2 = r1+1; + long r3 = r1+2; + long r4 = r1+3; + t_sample a = r - (t_sample)r1; + t_sample w = memory[r1 & wrap]; + t_sample x = memory[r2 & wrap]; + t_sample y = memory[r3 & wrap]; + t_sample z = memory[r4 & wrap]; + return cubic_interp(a, w, x, y, z); + } + + // spline requires extra sample of compensation: + inline t_sample read_spline(t_sample d) { + // min 1 sample delay for read before write (r != w) + // plus extra 1 sample compensation for 4-point interpolation + const t_sample r = t_sample(size + reader) - clamp(d, t_sample(1.)+t_sample(reader != writer), maxdelay); + long r1 = long(r); + long r2 = r1+1; + long r3 = r1+2; + long r4 = r1+3; + t_sample a = r - (t_sample)r1; + t_sample w = memory[r1 & wrap]; + t_sample x = memory[r2 & wrap]; + t_sample y = memory[r3 & wrap]; + t_sample z = memory[r4 & wrap]; + return spline_interp(a, w, x, y, z); + } +}; + +template +struct DataInterface { + long dim, channels; + T * mData; + void * mDataReference; // this was t_symbol *mName + int modified; + + DataInterface() : dim(0), channels(1), mData(0), modified(0) { mDataReference = 0; } + + // raw reading/writing/overdubbing (internal use only, no bounds checking) + inline t_sample read(long index, long channel=0) const { + return mData[channel+index*channels]; + } + inline void write(T value, long index, long channel=0) { + mData[channel+index*channels] = value; + modified = 1; + } + // NO LONGER USED: + inline void overdub(T value, long index, long channel=0) { + mData[channel+index*channels] += value; + modified = 1; + } + + // averaging overdub (used by splat) + inline void blend(T value, long index, long channel, t_sample alpha) { + long offset = channel+index*channels; + const T old = mData[offset]; + mData[offset] = old + alpha * (value - old); + modified = 1; + } + + // NO LONGER USED: + inline void read_ok(long index, long channel=0, bool ok=1) const { + return ok ? mData[channel+index*channels] : T(0); + } + inline void write_ok(T value, long index, long channel=0, bool ok=1) { + if (ok) mData[channel+index*channels] = value; + } + inline void overdub_ok(T value, long index, long channel=0, bool ok=1) { + if (ok) mData[channel+index*channels] += value; + } + + // Bounds strategies: + inline long index_clamp(long index) const { return clamp(index, 0, dim-1); } + inline long index_wrap(long index) const { return wrap(index, 0, dim); } + inline long index_fold(long index) const { return fold(index, 0, dim); } + inline bool index_oob(long index) const { return (index < 0 || index >= dim); } + inline bool index_inbounds(long index) const { return (index >=0 && index < dim); } + + // channel bounds: + inline long channel_clamp(long c) const { return clamp(c, 0, channels-1); } + inline long channel_wrap(long c) const { return wrap(c, 0, channels); } + inline long channel_fold(long c) const { return fold(c, 0, channels); } + inline bool channel_oob(long c) const { return (c < 0 || c >= channels); } + inline bool channel_inbounds(long c) const { return !channel_oob(c); } + + // Indexing strategies: + // [0..1] -> [0..(dim-1)] + inline t_sample phase2index(t_sample phase) const { return phase * t_sample(dim-1); } + // [0..1] -> [min..max] + inline t_sample subphase2index(t_sample phase, long min, long max) const { + min = index_clamp(min); + max = index_clamp(max); + return t_sample(min) + phase * t_sample(max-min); + } + // [-1..1] -> [0..(dim-1)] + inline t_sample signal2index(t_sample signal) const { return phase2index((signal+t_sample(1.)) * t_sample(0.5)); } + + inline T peek(t_sample index, long channel=0) const { + const long i = (long)index; + if (index_oob(i) || channel_oob(channel)) { + return 0.; + } else { + return read(i, channel); + } + } + + inline T index(double index, long channel=0) const { + channel = channel_clamp(channel); + // no-interp: + long i = (long)index; + // bound: + i = index_clamp(i); + return read(i, channel); + } + + inline T cell(double index, long channel=0) const { + channel = channel_clamp(channel); + // no-interp: + long i = (long)index; + // bound: + i = index_wrap(i); + return read(i, channel); + } + + inline T cycle(t_sample phase, long channel=0) const { + channel = channel_clamp(channel); + t_sample index = phase2index(phase); + // interp: + long i1 = (long)index; + long i2 = i1+1; + const t_sample alpha = index - (t_sample)i1; + // bound: + i1 = index_wrap(i1); + i2 = index_wrap(i2); + // interp: + T v1 = read(i1, channel); + T v2 = read(i2, channel); + return mix(v1, v2, alpha); + } + + inline T lookup(t_sample signal, long channel=0) const { + channel = channel_clamp(channel); + t_sample index = signal2index(signal); + // interp: + long i1 = (long)index; + long i2 = i1+1; + t_sample alpha = index - (t_sample)i1; + // bound: + i1 = index_clamp(i1); + i2 = index_clamp(i2); + // interp: + T v1 = read(i1, channel); + T v2 = read(i2, channel); + return mix(v1, v2, alpha); + } + // NO LONGER USED: + inline void poke(t_sample value, t_sample index, long channel=0) { + const long i = (long)index; + if (!(index_oob(i) || channel_oob(channel))) { + write(fixdenorm(value), i, channel); + } + } + // NO LONGER USED: + inline void splat_adding(t_sample value, t_sample phase, long channel=0) { + const t_sample valuef = fixdenorm(value); + channel = channel_clamp(channel); + t_sample index = phase2index(phase); + // interp: + long i1 = (long)index; + long i2 = i1+1; + const t_sample alpha = index - (double)i1; + // bound: + i1 = index_wrap(i1); + i2 = index_wrap(i2); + // interp: + overdub(valuef*(1.-alpha), i1, channel); + overdub(valuef*alpha, i2, channel); + } + // NO LONGER USED: + inline void splat(t_sample value, t_sample phase, long channel=0) { + const t_sample valuef = fixdenorm(value); + channel = channel_clamp(channel); + t_sample index = phase2index(phase); + // interp: + long i1 = (long)index; + long i2 = i1+1; + const t_sample alpha = index - (t_sample)i1; + // bound: + i1 = index_wrap(i1); + i2 = index_wrap(i2); + // interp: + const T v1 = read(i1, channel); + const T v2 = read(i2, channel); + write(v1 + (1.-alpha)*(valuef-v1), i1, channel); + write(v2 + (alpha)*(valuef-v2), i2, channel); + } +}; + +// DATA_MAXIMUM_ELEMENTS * 8 bytes = 256 mb limit +#define DATA_MAXIMUM_ELEMENTS (33554432) + +struct Data : public DataInterface { + t_genlib_data * dataRef; // a pointer to some external source of the data + + Data() : DataInterface() { + dataRef = 0; + } + ~Data() { + //genlib_report_message("releasing data handle %d", dataRef); + if (dataRef != 0) { + genlib_data_release(dataRef); + } + } + void reset(const char * name, long s, long c) { + // if needed, acquire the Data's global reference: + if (dataRef == 0) { + void * ref = genlib_obtain_reference_from_string(name); + dataRef = genlib_obtain_data_from_reference(ref); + if (dataRef == 0) { + genlib_report_error("failed to acquire data"); + return; + } + } + genlib_data_resize(dataRef, s, c); + getinfo(); + } + bool setbuffer(void * bufferRef) { + //genlib_report_message("set buffer %p", bufferRef); + if (dataRef == 0) { + // error: no data, or obtain? + return false; + } + genlib_data_setbuffer(dataRef, bufferRef); + getinfo(); + return true; + } + + void getinfo() { + t_genlib_data_info info; + if (genlib_data_getinfo(dataRef, &info) == GENLIB_ERR_NONE) { + mData = info.data; + dim = info.dim; + channels = info.channels; + } else { + genlib_report_error("failed to acquire data info"); + } + } +}; + +// Used by SineData +struct DataLocal : public DataInterface { + DataLocal() : DataInterface() {} + ~DataLocal() { + if (mData) sysmem_freeptr(mData); + mData = 0; + } + + void reset(long s, long c) { + mData=0; + resize(s, c); + } + + void resize(long s, long c) { + if (s * c > DATA_MAXIMUM_ELEMENTS) { + s = DATA_MAXIMUM_ELEMENTS/c; + genlib_report_message("warning: resizing data to < 256MB"); + } + if (mData) { + sysmem_resizeptr(mData, sizeof(t_sample) * s * c); + } else { + mData = (t_sample *)sysmem_newptr(sizeof(t_sample) * s * c); + } + if (!mData) { + genlib_report_error("out of memory"); + resize(512, 1); + return; + } else { + dim = s; + channels = c; + } + set_zero64(mData, dim * channels); + } + + // copy from a buffer~ + // resizing is safe only during initialization! + bool setbuffer(void *dataReference) { + mDataReference = dataReference; // replaced mName + bool result = false; + t_genlib_buffer * b; + t_genlib_buffer_info info; + if (mDataReference != 0) { + b = (t_genlib_buffer *)genlib_obtain_buffer_from_reference(mDataReference); + if (b) { + if (genlib_buffer_edit_begin(b)==GENLIB_ERR_NONE) { + if (genlib_buffer_getinfo(b, &info)==GENLIB_ERR_NONE) { + float * samples = info.b_samples; + long frames = info.b_frames; + long nchans = info.b_nchans; + //long size = info.b_size; + //long modtime = info.b_modtime; // cache & compare? + + // resizing is safe only during initialization! + if (mData == 0) resize(frames, nchans); + + long frames_safe = frames < dim ? frames : dim; + long channels_safe = nchans < channels ? nchans : channels; + // copy: + for (int f=0; f { + t_genlib_buffer * mBuf; + t_genlib_buffer_info mInfo; + float mDummy; // safe access in case buffer is not valid + + Buffer() : DataInterface() {} + + void reset(const char * name) { + dim = 1; + channels = 1; + mData = &mDummy; + mDummy = 0.f; + mBuf = 0; + + // call into genlib: + mDataReference = genlib_obtain_reference_from_string(name); + } + + void setbuffer(void * ref) { + mDataReference = ref; + } + + void begin() { + t_genlib_buffer * b = genlib_obtain_buffer_from_reference(mDataReference); + mBuf = 0; + if (b) { + if (genlib_buffer_perform_begin(b) == GENLIB_ERR_NONE) { + mBuf = b; + } else { + //genlib_report_message ("not a buffer~ %s", mName->s_name); + } + } else { + //genlib_report_message("no object %s\n", mName->s_name); + } + + if (mBuf && genlib_buffer_getinfo(mBuf, &mInfo)==GENLIB_ERR_NONE) { + // grab data: + mBuf = b; + mData = mInfo.b_samples; + dim = mInfo.b_frames; + channels = mInfo.b_nchans; + } else { + //genlib_report_message("couldn't get info"); + mBuf = 0; + mData = &mDummy; + dim = 1; + channels = 1; + } + } + + void end() { + if (mBuf) { + genlib_buffer_perform_end(mBuf); + if (modified) { + genlib_buffer_dirty(mBuf); + } + modified = 0; + } + mBuf = 0; + } +}; + +struct SineData : public DataLocal { + SineData() : DataLocal() { + const int costable_size = 1 << 14; // 14 bit index (noise floor at around -156 dB) + mData=0; + resize(costable_size, 1); + for (int i=0; i +inline int dim(const T& data) { return data.dim; } + +template +inline int channels(const T& data) { return data.channels; } + +// used by cycle when no buffer/data is specified: +struct SineCycle { + + uint32_t phasei, pincr; + double f2i; + + void reset(t_sample samplerate, t_sample init = 0) { + phasei = init * t_sample(4294967296.0); + pincr = 0; + f2i = t_sample(4294967296.0) / samplerate; + } + + inline void freq(t_sample f) { + pincr = f * f2i; + } + + inline void phase(t_sample f) { + phasei = f * t_sample(4294967296.0); + } + + inline t_sample phase() const { + return phasei * t_sample(0.232830643653869629e-9); + } + + template + inline t_sample operator()(const DataInterface& buf) { + T * data = buf.mData; + // divide uint32_t range down to buffer size (32-bit to 14-bit) + uint32_t idx = phasei >> 18; + // compute fractional portion and divide by 18-bit range + const t_sample frac = t_sample(phasei & 262143) * t_sample(3.81471181759574e-6); + // index safely in 14-bit range: + const t_sample y0 = data[idx]; + const t_sample y1 = data[(idx+1) & 16383]; + const t_sample y = linear_interp(frac, y0, y1); + phasei += pincr; + return y; + } +}; + +#endif diff --git a/plugins/freeverb/DistrhoPluginInfo.h b/plugins/freeverb/DistrhoPluginInfo.h new file mode 100644 index 0000000..bce40c5 --- /dev/null +++ b/plugins/freeverb/DistrhoPluginInfo.h @@ -0,0 +1,34 @@ +/* + * DPF Max Gen + * Copyright (C) 2015 Filipe Coelho + * + * Permission to use, copy, modify, and/or distribute this software for any purpose with + * or without fee is hereby granted, provided that the above copyright notice and this + * permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD + * TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN + * NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL + * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER + * IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN + * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +#ifndef DISTRHO_PLUGIN_INFO_H_INCLUDED +#define DISTRHO_PLUGIN_INFO_H_INCLUDED + +#define DISTRHO_PLUGIN_BRAND "DISTRHO" +#define DISTRHO_PLUGIN_NAME "MaFreeverb" +#define DISTRHO_PLUGIN_URI "http://distrho.sf.net/plugins/MaFreeverb" + +#define DISTRHO_PLUGIN_HAS_UI 0 +#define DISTRHO_PLUGIN_IS_RT_SAFE 0 +#define DISTRHO_PLUGIN_NUM_INPUTS 1 +#define DISTRHO_PLUGIN_NUM_OUTPUTS 1 + +#define DISTRHO_PLUGIN_LV2_CATEGORY "lv2:ReverbPlugin" + +#define DISTRHO_PLUGIN_DESCRIPTION "Max Gen Freeverb example." +#define DISTRHO_PLUGIN_VERSION d_cconst('D', 'M', 'f', 'v') + +#endif // DISTRHO_PLUGIN_INFO_H_INCLUDED diff --git a/plugins/freeverb/DistrhoPluginMaxGen.cpp b/plugins/freeverb/DistrhoPluginMaxGen.cpp new file mode 120000 index 0000000..d985fe0 --- /dev/null +++ b/plugins/freeverb/DistrhoPluginMaxGen.cpp @@ -0,0 +1 @@ +../common/DistrhoPluginMaxGen.cpp \ No newline at end of file diff --git a/plugins/freeverb/Makefile b/plugins/freeverb/Makefile new file mode 100644 index 0000000..a1e34a3 --- /dev/null +++ b/plugins/freeverb/Makefile @@ -0,0 +1,40 @@ +#!/usr/bin/make -f +# Makefile for DISTRHO Plugins # +# ---------------------------- # +# Created by falkTX +# + +# -------------------------------------------------------------- +# Project name, used for binaries + +NAME = MaFreeverb + +# -------------------------------------------------------------- +# Files to build + +OBJS_DSP = \ + DistrhoPluginMaxGen.cpp.o \ + gen_exported.cpp.o + +# -------------------------------------------------------------- +# Do some magic + +include ../Makefile.DPF-Max-Gen.mk + +# -------------------------------------------------------------- +# Enable all possible plugin types + +ifeq ($(HAVE_JACK),true) +TARGETS += jack +endif + +ifeq ($(LINUX),true) +TARGETS += ladspa +endif + +TARGETS += lv2_dsp +TARGETS += vst + +all: $(TARGETS) + +# -------------------------------------------------------------- diff --git a/plugins/freeverb/gen_exported.cpp b/plugins/freeverb/gen_exported.cpp new file mode 100644 index 0000000..d6b6a81 --- /dev/null +++ b/plugins/freeverb/gen_exported.cpp @@ -0,0 +1,420 @@ +#include "gen_exported.h" + +namespace gen_exported { + + +/******************************************************************************************************************* +Copyright (c) 2012 Cycling '74 + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software +and associated documentation files (the "Software"), to deal in the Software without restriction, +including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies +or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, +INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE +OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +*******************************************************************************************************************/ + + +// global noise generator +Noise noise; +static const int GENLIB_LOOPCOUNT_BAIL = 100000; + + +// The State struct contains all the state and procedures for the gendsp kernel +typedef struct State { + CommonState __commonstate; + Delay m_delay_24; + Delay m_delay_15; + Delay m_delay_13; + Delay m_delay_23; + Delay m_delay_9; + Delay m_delay_17; + Delay m_delay_21; + Delay m_delay_19; + Delay m_delay_22; + Delay m_delay_7; + Delay m_delay_11; + Delay m_delay_5; + double m_history_6; + double m_history_18; + double m_fb_1; + double m_history_20; + double samplerate; + double m_damp_2; + double m_history_8; + double m_history_16; + double m_history_14; + double m_fb_3; + double m_history_12; + double m_history_10; + double m_spread_4; + int vectorsize; + int __exception; + // re-initialize all member variables; + inline void reset(double __sr, int __vs) { + __exception = 0; + vectorsize = __vs; + samplerate = __sr; + m_fb_1 = 0.5; + m_damp_2 = 0.5; + m_fb_3 = 0.9; + m_spread_4 = 0; + m_delay_5.reset("m_delay_5", 2000); + m_history_6 = 0; + m_delay_7.reset("m_delay_7", 2000); + m_history_8 = 0; + m_delay_9.reset("m_delay_9", 2000); + m_history_10 = 0; + m_delay_11.reset("m_delay_11", 2000); + m_history_12 = 0; + m_delay_13.reset("m_delay_13", 2000); + m_history_14 = 0; + m_delay_15.reset("m_delay_15", 2000); + m_history_16 = 0; + m_delay_17.reset("m_delay_17", 2000); + m_history_18 = 0; + m_delay_19.reset("m_delay_19", 2000); + m_history_20 = 0; + m_delay_21.reset("m_delay_21", 2000); + m_delay_22.reset("m_delay_22", 2000); + m_delay_23.reset("m_delay_23", 2000); + m_delay_24.reset("m_delay_24", 2000); + genlib_reset_complete(this); + + }; + // the signal processing routine; + inline int perform(t_sample ** __ins, t_sample ** __outs, int __n) { + vectorsize = __n; + const t_sample * __in1 = __ins[0]; + t_sample * __out1 = __outs[0]; + if (__exception) { + return __exception; + + } else if (( (__in1 == 0) || (__out1 == 0) )) { + __exception = GENLIB_ERR_NULL_BUFFER; + return __exception; + + }; + double mul_448 = (m_fb_1 * 0.5); + double add_424 = (225 + m_spread_4); + double add_431 = (341 + m_spread_4); + double add_446 = (441 + m_spread_4); + double add_417 = (556 + m_spread_4); + double damp_327 = m_damp_2; + double damp_326 = damp_327; + double damp_328 = damp_327; + double damp_329 = damp_327; + double damp_330 = damp_327; + double damp_331 = damp_327; + double damp_332 = damp_327; + double damp_333 = damp_327; + double add_439 = (1557 + m_spread_4); + double rsub_295 = (1 - damp_327); + double add_438 = (1617 + m_spread_4); + double rsub_466 = (1 - damp_326); + double add_440 = (1491 + m_spread_4); + double rsub_479 = (1 - damp_328); + double add_441 = (1422 + m_spread_4); + double rsub_484 = (1 - damp_329); + double add_442 = (1356 + m_spread_4); + double rsub_496 = (1 - damp_330); + double add_443 = (1277 + m_spread_4); + double rsub_508 = (1 - damp_331); + double add_444 = (1188 + m_spread_4); + double rsub_520 = (1 - damp_332); + double add_445 = (1116 + m_spread_4); + double rsub_532 = (1 - damp_333); + // the main sample loop; + while ((__n--)) { + const double in1 = (*(__in1++)); + double mul_459 = (in1 * 0.015); + double tap_302 = m_delay_5.read_linear(add_439); + double gen_410 = tap_302; + double mul_300 = (tap_302 * damp_327); + double mul_298 = (m_history_6 * rsub_295); + double add_299 = (mul_300 + mul_298); + double mul_296 = (add_299 * m_fb_3); + double add_303 = (mul_459 + mul_296); + double history_297_next_304 = add_299; + double tap_469 = m_delay_7.read_linear(add_438); + double gen_458 = tap_469; + double mul_468 = (tap_469 * damp_326); + double mul_465 = (m_history_8 * rsub_466); + double add_464 = (mul_468 + mul_465); + double mul_462 = (add_464 * m_fb_3); + double add_463 = (mul_459 + mul_462); + double history_297_next_461 = add_464; + double tap_474 = m_delay_9.read_linear(add_440); + double gen_399 = tap_474; + double mul_480 = (tap_474 * damp_328); + double mul_478 = (m_history_10 * rsub_479); + double add_476 = (mul_480 + mul_478); + double mul_473 = (add_476 * m_fb_3); + double add_477 = (mul_459 + mul_473); + double history_297_next_475 = add_476; + double tap_489 = m_delay_11.read_linear(add_441); + double gen_388 = tap_489; + double mul_493 = (tap_489 * damp_329); + double mul_487 = (m_history_12 * rsub_484); + double add_492 = (mul_493 + mul_487); + double mul_491 = (add_492 * m_fb_3); + double add_490 = (mul_459 + mul_491); + double history_297_next_485 = add_492; + double tap_500 = m_delay_13.read_linear(add_442); + double gen_377 = tap_500; + double mul_501 = (tap_500 * damp_330); + double mul_499 = (m_history_14 * rsub_496); + double add_505 = (mul_501 + mul_499); + double mul_504 = (add_505 * m_fb_3); + double add_503 = (mul_459 + mul_504); + double history_297_next_497 = add_505; + double tap_512 = m_delay_15.read_linear(add_443); + double gen_366 = tap_512; + double mul_517 = (tap_512 * damp_331); + double mul_511 = (m_history_16 * rsub_508); + double add_516 = (mul_517 + mul_511); + double mul_513 = (add_516 * m_fb_3); + double add_514 = (mul_459 + mul_513); + double history_297_next_509 = add_516; + double tap_525 = m_delay_17.read_linear(add_444); + double gen_355 = tap_525; + double mul_521 = (tap_525 * damp_332); + double mul_524 = (m_history_18 * rsub_520); + double add_529 = (mul_521 + mul_524); + double mul_526 = (add_529 * m_fb_3); + double add_527 = (mul_459 + mul_526); + double history_297_next_522 = add_529; + double tap_537 = m_delay_19.read_linear(add_445); + double gen_344 = tap_537; + double mul_541 = (tap_537 * damp_333); + double mul_536 = (m_history_20 * rsub_532); + double add_538 = (mul_541 + mul_536); + double mul_540 = (add_538 * m_fb_3); + double add_534 = (mul_459 + mul_540); + double history_297_next_533 = add_538; + double add_447 = ((((((((gen_344 + gen_355) + gen_366) + gen_377) + gen_388) + gen_399) + gen_458) + gen_410) + 0); + double tap_283 = m_delay_21.read_linear(add_417); + double sub_279 = (add_447 - tap_283); + double mul_281 = (tap_283 * mul_448); + double add_280 = (add_447 + mul_281); + double tap_548 = m_delay_22.read_linear(add_446); + double sub_546 = (sub_279 - tap_548); + double mul_547 = (tap_548 * mul_448); + double add_544 = (sub_279 + mul_547); + double tap_554 = m_delay_23.read_linear(add_431); + double sub_552 = (sub_546 - tap_554); + double mul_553 = (tap_554 * mul_448); + double add_550 = (sub_546 + mul_553); + double tap_560 = m_delay_24.read_linear(add_424); + double sub_558 = (sub_552 - tap_560); + double mul_559 = (tap_560 * mul_448); + double add_556 = (sub_552 + mul_559); + double out1 = sub_558; + m_delay_5.write(add_303); + m_delay_24.write(add_556); + m_delay_23.write(add_550); + m_delay_22.write(add_544); + m_delay_21.write(add_280); + m_history_20 = history_297_next_533; + m_delay_19.write(add_534); + m_history_18 = history_297_next_522; + m_delay_17.write(add_527); + m_history_16 = history_297_next_509; + m_delay_15.write(add_514); + m_history_14 = history_297_next_497; + m_delay_13.write(add_503); + m_history_12 = history_297_next_485; + m_delay_11.write(add_490); + m_history_10 = history_297_next_475; + m_delay_9.write(add_477); + m_history_8 = history_297_next_461; + m_delay_7.write(add_463); + m_history_6 = history_297_next_304; + m_delay_5.step(); + m_delay_7.step(); + m_delay_9.step(); + m_delay_11.step(); + m_delay_13.step(); + m_delay_15.step(); + m_delay_17.step(); + m_delay_19.step(); + m_delay_21.step(); + m_delay_22.step(); + m_delay_23.step(); + m_delay_24.step(); + // assign results to output buffer; + (*(__out1++)) = out1; + + }; + return __exception; + + }; + inline void set_fb2(double _value) { + m_fb_1 = (_value < 0 ? 0 : (_value > 1 ? 1 : _value)); + }; + inline void set_damp(double _value) { + m_damp_2 = (_value < 0 ? 0 : (_value > 1 ? 1 : _value)); + }; + inline void set_fb1(double _value) { + m_fb_3 = (_value < 0 ? 0 : (_value > 1 ? 1 : _value)); + }; + inline void set_spread(double _value) { + m_spread_4 = (_value < 0 ? 0 : (_value > 400 ? 400 : _value)); + }; + +} State; + + +/// +/// Configuration for the genlib API +/// + +/// Number of signal inputs and outputs + +int gen_kernel_numins = 1; +int gen_kernel_numouts = 1; + +int num_inputs() { return gen_kernel_numins; } +int num_outputs() { return gen_kernel_numouts; } +int num_params() { return 4; } + +/// Assistive lables for the signal inputs and outputs + +const char * gen_kernel_innames[] = { "in1" }; +const char * gen_kernel_outnames[] = { "out1" }; + +/// Invoke the signal process of a State object + +int perform(CommonState *cself, t_sample **ins, long numins, t_sample **outs, long numouts, long n) { + State * self = (State *)cself; + return self->perform(ins, outs, n); +} + +/// Reset all parameters and stateful operators of a State object + +void reset(CommonState *cself) { + State * self = (State *)cself; + self->reset(cself->sr, cself->vs); +} + +/// Set a parameter of a State object + +void setparameter(CommonState *cself, long index, double value, void *ref) { + State * self = (State *)cself; + switch (index) { + case 0: self->set_fb2(value); break; + case 1: self->set_damp(value); break; + case 2: self->set_fb1(value); break; + case 3: self->set_spread(value); break; + + default: break; + } +} + +/// Get the value of a parameter of a State object + +void getparameter(CommonState *cself, long index, double *value) { + State *self = (State *)cself; + switch (index) { + case 0: *value = self->m_fb_1; break; + case 1: *value = self->m_damp_2; break; + case 2: *value = self->m_fb_3; break; + case 3: *value = self->m_spread_4; break; + + default: break; + } +} + +/// Allocate and configure a new State object and it's internal CommonState: + +void * create(double sr, long vs) { + State *self = new State; + self->reset(sr, vs); + ParamInfo *pi; + self->__commonstate.inputnames = gen_kernel_innames; + self->__commonstate.outputnames = gen_kernel_outnames; + self->__commonstate.numins = gen_kernel_numins; + self->__commonstate.numouts = gen_kernel_numouts; + self->__commonstate.sr = sr; + self->__commonstate.vs = vs; + self->__commonstate.params = (ParamInfo *)genlib_sysmem_newptr(4 * sizeof(ParamInfo)); + self->__commonstate.numparams = 4; + // initialize parameter 0 ("m_fb_1") + pi = self->__commonstate.params + 0; + pi->name = "fb2"; + pi->paramtype = GENLIB_PARAMTYPE_FLOAT; + pi->defaultvalue = self->m_fb_1; + pi->defaultref = 0; + pi->hasinputminmax = false; + pi->inputmin = 0; + pi->inputmax = 1; + pi->hasminmax = true; + pi->outputmin = 0; + pi->outputmax = 1; + pi->exp = 0; + pi->units = ""; // no units defined + // initialize parameter 1 ("m_damp_2") + pi = self->__commonstate.params + 1; + pi->name = "damp"; + pi->paramtype = GENLIB_PARAMTYPE_FLOAT; + pi->defaultvalue = self->m_damp_2; + pi->defaultref = 0; + pi->hasinputminmax = false; + pi->inputmin = 0; + pi->inputmax = 1; + pi->hasminmax = true; + pi->outputmin = 0; + pi->outputmax = 1; + pi->exp = 0; + pi->units = ""; // no units defined + // initialize parameter 2 ("m_fb_3") + pi = self->__commonstate.params + 2; + pi->name = "fb1"; + pi->paramtype = GENLIB_PARAMTYPE_FLOAT; + pi->defaultvalue = self->m_fb_3; + pi->defaultref = 0; + pi->hasinputminmax = false; + pi->inputmin = 0; + pi->inputmax = 1; + pi->hasminmax = true; + pi->outputmin = 0; + pi->outputmax = 1; + pi->exp = 0; + pi->units = ""; // no units defined + // initialize parameter 3 ("m_spread_4") + pi = self->__commonstate.params + 3; + pi->name = "spread"; + pi->paramtype = GENLIB_PARAMTYPE_FLOAT; + pi->defaultvalue = self->m_spread_4; + pi->defaultref = 0; + pi->hasinputminmax = false; + pi->inputmin = 0; + pi->inputmax = 1; + pi->hasminmax = true; + pi->outputmin = 0; + pi->outputmax = 400; + pi->exp = 0; + pi->units = ""; // no units defined + + return self; +} + +/// Release all resources and memory used by a State object: + +void destroy(CommonState *cself) { + State * self = (State *)cself; + genlib_sysmem_freeptr(cself->params); + + delete self; +} + + +} // gen_exported:: diff --git a/plugins/freeverb/gen_exported.h b/plugins/freeverb/gen_exported.h new file mode 100644 index 0000000..ab06792 --- /dev/null +++ b/plugins/freeverb/gen_exported.h @@ -0,0 +1,37 @@ +/******************************************************************************************************************* +Copyright (c) 2012 Cycling '74 + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software +and associated documentation files (the "Software"), to deal in the Software without restriction, +including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies +or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, +INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE +OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +*******************************************************************************************************************/ + + +#include "genlib.h" +#include "genlib_exportfunctions.h" +#include "genlib_ops.h" + +namespace gen_exported { + +int num_inputs(); +int num_outputs(); +int num_params(); +int perform(CommonState *cself, t_sample **ins, long numins, t_sample **outs, long numouts, long n); +void reset(CommonState *cself); +void setparameter(CommonState *cself, long index, double value, void *ref); +void getparameter(CommonState *cself, long index, double *value); +void * create(double sr, long vs); +void destroy(CommonState *cself); + +} // gen_exported:: diff --git a/plugins/freeverb/gen~.freeverb.maxpat b/plugins/freeverb/gen~.freeverb.maxpat new file mode 100644 index 0000000..5a80562 --- /dev/null +++ b/plugins/freeverb/gen~.freeverb.maxpat @@ -0,0 +1,532 @@ +{ + "patcher" : { + "fileversion" : 1, + "appversion" : { + "major" : 6, + "minor" : 1, + "revision" : 9, + "architecture" : "x86" + } +, + "rect" : [ 100.0, 96.0, 681.0, 461.0 ], + "bglocked" : 0, + "openinpresentation" : 0, + "default_fontsize" : 12.0, + "default_fontface" : 0, + "default_fontname" : "Arial", + "gridonopen" : 0, + "gridsize" : [ 15.0, 15.0 ], + "gridsnaponopen" : 0, + "statusbarvisible" : 2, + "toolbarvisible" : 1, + "boxanimatetime" : 200, + "imprint" : 0, + "enablehscroll" : 1, + "enablevscroll" : 1, + "devicewidth" : 0.0, + "description" : "", + "digest" : "", + "tags" : "", + "boxes" : [ { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-17", + "maxclass" : "message", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 278.5, 251.0, 70.0, 18.0 ], + "text" : "exportcode" + } + + } +, { + "box" : { + "id" : "obj-11", + "maxclass" : "live.gain~", + "numinlets" : 2, + "numoutlets" : 5, + "orientation" : 1, + "outlettype" : [ "signal", "signal", "", "float", "list" ], + "parameter_enable" : 1, + "patching_rect" : [ 85.0, 306.0, 136.0, 48.0 ], + "presentation_rect" : [ 0.0, 0.0, 50.0, 48.0 ], + "saved_attribute_attributes" : { + "valueof" : { + "parameter_longname" : "live.gain~", + "parameter_shortname" : "live.gain~", + "parameter_type" : 0, + "parameter_mmin" : -70.0, + "parameter_mmax" : 6.0, + "parameter_initial_enable" : 1, + "parameter_initial" : [ -70 ], + "parameter_unitstyle" : 4 + } + + } +, + "varname" : "live.gain~" + } + + } +, { + "box" : { + "bgcolor" : [ 1.0, 1.0, 1.0, 1.0 ], + "border" : 1.75, + "bordercolor" : [ 0.501961, 0.501961, 0.501961, 1.0 ], + "id" : "obj-15", + "local" : 1, + "maxclass" : "ezdac~", + "numinlets" : 2, + "numoutlets" : 0, + "patching_rect" : [ 85.0, 363.0, 44.0, 44.0 ], + "prototypename" : "helpfile" + } + + } +, { + "box" : { + "args" : [ "@loop", 1, "@file", 5 ], + "id" : "obj-4", + "maxclass" : "bpatcher", + "name" : "demosound.maxpat", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "signal" ], + "patching_rect" : [ 28.0, 75.0, 240.0, 105.0 ] + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "hidden" : 1, + "id" : "obj-8", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 360.0, 150.0, 81.0, 20.0 ], + "text" : "loadmess 74" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-6", + "maxclass" : "number", + "numinlets" : 1, + "numoutlets" : 2, + "outlettype" : [ "int", "bang" ], + "parameter_enable" : 0, + "patching_rect" : [ 359.0, 184.0, 50.0, 20.0 ] + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "frgb" : 0.0, + "id" : "obj-7", + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 15.0, 45.0, 375.0, 20.0 ], + "text" : "An implementation of the well-known 'freeverb' algorithm." + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-5", + "maxclass" : "message", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 359.0, 214.0, 65.0, 18.0 ], + "text" : "spread $1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-2", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "signal" ], + "patching_rect" : [ 224.0, 274.0, 124.0, 20.0 ], + "text" : "gen~ @gen freeverb" + } + + } +, { + "box" : { + "fontname" : "Arial Bold Italic", + "fontsize" : 18.0, + "frgb" : 0.0, + "id" : "obj-19", + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 15.0, 15.0, 226.0, 27.0 ], + "text" : "Freeverb" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-14", + "maxclass" : "flonum", + "numinlets" : 1, + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ], + "parameter_enable" : 0, + "patching_rect" : [ 284.0, 184.0, 50.0, 20.0 ] + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-13", + "maxclass" : "flonum", + "numinlets" : 1, + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ], + "parameter_enable" : 0, + "patching_rect" : [ 224.0, 184.0, 50.0, 20.0 ] + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-12", + "maxclass" : "flonum", + "numinlets" : 1, + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ], + "parameter_enable" : 0, + "patching_rect" : [ 164.0, 184.0, 50.0, 20.0 ] + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-10", + "maxclass" : "message", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 284.0, 214.0, 59.0, 18.0 ], + "text" : "damp $1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-9", + "maxclass" : "message", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 224.0, 214.0, 45.0, 18.0 ], + "text" : "fb2 $1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-3", + "maxclass" : "message", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 164.0, 214.0, 45.0, 18.0 ], + "text" : "fb1 $1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-1", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "signal" ], + "patching_rect" : [ 85.0, 274.0, 124.0, 20.0 ], + "text" : "gen~ @gen freeverb" + } + + } + ], + "lines" : [ { + "patchline" : { + "destination" : [ "obj-11", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-1", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-1", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 293.5, 245.0, 94.5, 245.0 ], + "source" : [ "obj-10", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-2", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 293.5, 245.0, 233.5, 245.0 ], + "source" : [ "obj-10", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-15", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-11", 1 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-15", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-11", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-3", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-12", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-9", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-13", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-10", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-14", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-2", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-17", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-11", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-2", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-1", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 173.5, 245.0, 94.5, 245.0 ], + "source" : [ "obj-3", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-2", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 173.5, 245.0, 233.5, 245.0 ], + "source" : [ "obj-3", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-1", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 37.5, 267.5, 94.5, 267.5 ], + "source" : [ "obj-4", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-2", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 37.5, 262.0, 233.5, 262.0 ], + "source" : [ "obj-4", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-2", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 368.5, 259.0, 233.5, 259.0 ], + "source" : [ "obj-5", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-5", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-6", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-6", 0 ], + "disabled" : 0, + "hidden" : 1, + "source" : [ "obj-8", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-1", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 233.5, 245.0, 94.5, 245.0 ], + "source" : [ "obj-9", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-2", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 233.5, 245.0, 233.5, 245.0 ], + "source" : [ "obj-9", 0 ] + } + + } + ], + "parameters" : { + "obj-4::obj-35" : [ "[5]", "Level", 0 ], + "obj-4::obj-21::obj-6" : [ "live.tab[3]", "live.tab[1]", 0 ], + "obj-4::obj-32" : [ "[8]", "[2]", 0 ], + "obj-11" : [ "live.gain~", "live.gain~", 0 ] + } +, + "dependency_cache" : [ { + "name" : "freeverb.gendsp", + "bootpath" : "/Applications/Max 6.1/examples/gen", + "patcherrelativepath" : "../../../../../Applications/Max 6.1/examples/gen", + "type" : "gDSP", + "implicit" : 1 + } +, { + "name" : "freeverb_allpass.gendsp", + "bootpath" : "/Applications/Max 6.1/examples/gen", + "patcherrelativepath" : "../../../../../Applications/Max 6.1/examples/gen", + "type" : "gDSP", + "implicit" : 1 + } +, { + "name" : "freeverb_comb.gendsp", + "bootpath" : "/Applications/Max 6.1/examples/gen", + "patcherrelativepath" : "../../../../../Applications/Max 6.1/examples/gen", + "type" : "gDSP", + "implicit" : 1 + } +, { + "name" : "demosound.maxpat", + "bootpath" : "/Applications/Max 6.1/Cycling '74/msp-help", + "patcherrelativepath" : "../../../../../Applications/Max 6.1/Cycling '74/msp-help", + "type" : "JSON", + "implicit" : 1 + } +, { + "name" : "sine.svg", + "bootpath" : "/Applications/Max 6.1/patches/picts/m4l-picts", + "patcherrelativepath" : "../../../../../Applications/Max 6.1/patches/picts/m4l-picts", + "type" : "svg ", + "implicit" : 1 + } +, { + "name" : "saw.svg", + "bootpath" : "/Applications/Max 6.1/patches/picts/m4l-picts", + "patcherrelativepath" : "../../../../../Applications/Max 6.1/patches/picts/m4l-picts", + "type" : "svg ", + "implicit" : 1 + } +, { + "name" : "square.svg", + "bootpath" : "/Applications/Max 6.1/patches/picts/m4l-picts", + "patcherrelativepath" : "../../../../../Applications/Max 6.1/patches/picts/m4l-picts", + "type" : "svg ", + "implicit" : 1 + } +, { + "name" : "random.svg", + "bootpath" : "/Applications/Max 6.1/patches/picts/m4l-picts", + "patcherrelativepath" : "../../../../../Applications/Max 6.1/patches/picts/m4l-picts", + "type" : "svg ", + "implicit" : 1 + } + ] + } + +} diff --git a/plugins/gigaverb/DistrhoPluginInfo.h b/plugins/gigaverb/DistrhoPluginInfo.h new file mode 100644 index 0000000..f2de09c --- /dev/null +++ b/plugins/gigaverb/DistrhoPluginInfo.h @@ -0,0 +1,34 @@ +/* + * DPF Max Gen + * Copyright (C) 2015 Filipe Coelho + * + * Permission to use, copy, modify, and/or distribute this software for any purpose with + * or without fee is hereby granted, provided that the above copyright notice and this + * permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD + * TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN + * NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL + * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER + * IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN + * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +#ifndef DISTRHO_PLUGIN_INFO_H_INCLUDED +#define DISTRHO_PLUGIN_INFO_H_INCLUDED + +#define DISTRHO_PLUGIN_BRAND "DISTRHO" +#define DISTRHO_PLUGIN_NAME "MaGigaverb" +#define DISTRHO_PLUGIN_URI "http://distrho.sf.net/plugins/MaGigaverb" + +#define DISTRHO_PLUGIN_HAS_UI 0 +#define DISTRHO_PLUGIN_IS_RT_SAFE 0 +#define DISTRHO_PLUGIN_NUM_INPUTS 2 +#define DISTRHO_PLUGIN_NUM_OUTPUTS 2 + +#define DISTRHO_PLUGIN_LV2_CATEGORY "lv2:ReverbPlugin" + +#define DISTRHO_PLUGIN_DESCRIPTION "Max Gen Gigaverb example." +#define DISTRHO_PLUGIN_VERSION d_cconst('D', 'M', 'g', 'v') + +#endif // DISTRHO_PLUGIN_INFO_H_INCLUDED diff --git a/plugins/gigaverb/DistrhoPluginMaxGen.cpp b/plugins/gigaverb/DistrhoPluginMaxGen.cpp new file mode 120000 index 0000000..d985fe0 --- /dev/null +++ b/plugins/gigaverb/DistrhoPluginMaxGen.cpp @@ -0,0 +1 @@ +../common/DistrhoPluginMaxGen.cpp \ No newline at end of file diff --git a/plugins/gigaverb/Makefile b/plugins/gigaverb/Makefile new file mode 100644 index 0000000..b5cc0d6 --- /dev/null +++ b/plugins/gigaverb/Makefile @@ -0,0 +1,40 @@ +#!/usr/bin/make -f +# Makefile for DISTRHO Plugins # +# ---------------------------- # +# Created by falkTX +# + +# -------------------------------------------------------------- +# Project name, used for binaries + +NAME = MaGigaverb + +# -------------------------------------------------------------- +# Files to build + +OBJS_DSP = \ + DistrhoPluginMaxGen.cpp.o \ + gen_exported.cpp.o + +# -------------------------------------------------------------- +# Do some magic + +include ../Makefile.DPF-Max-Gen.mk + +# -------------------------------------------------------------- +# Enable all possible plugin types + +ifeq ($(HAVE_JACK),true) +TARGETS += jack +endif + +ifeq ($(LINUX),true) +TARGETS += ladspa +endif + +TARGETS += lv2_dsp +TARGETS += vst + +all: $(TARGETS) + +# -------------------------------------------------------------- diff --git a/plugins/gigaverb/gen_exported.cpp b/plugins/gigaverb/gen_exported.cpp new file mode 100644 index 0000000..c22bbff --- /dev/null +++ b/plugins/gigaverb/gen_exported.cpp @@ -0,0 +1,537 @@ +#include "gen_exported.h" + +namespace gen_exported { + + +/******************************************************************************************************************* +Copyright (c) 2012 Cycling '74 + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software +and associated documentation files (the "Software"), to deal in the Software without restriction, +including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies +or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, +INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE +OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +*******************************************************************************************************************/ + + +// global noise generator +Noise noise; +static const int GENLIB_LOOPCOUNT_BAIL = 100000; + + +// The State struct contains all the state and procedures for the gendsp kernel +typedef struct State { + CommonState __commonstate; + Delay m_delay_11; + Delay m_delay_9; + Delay m_delay_8; + Delay m_delay_7; + Delay m_delay_10; + Delay m_delay_12; + Delay m_delay_16; + Delay m_delay_13; + Delay m_delay_14; + Delay m_delay_6; + Delay m_delay_15; + Delay m_delay_17; + double m_bandwidth_22; + double m_tail_23; + double m_spread_21; + double m_revtime_19; + double m_roomsize_20; + double m_damping_18; + double m_early_25; + double m_history_5; + double m_dry_24; + double samplerate; + double m_history_2; + double m_history_1; + double m_history_4; + double m_history_3; + int vectorsize; + int __exception; + // re-initialize all member variables; + inline void reset(double __sr, int __vs) { + __exception = 0; + vectorsize = __vs; + samplerate = __sr; + m_history_1 = 0; + m_history_2 = 0; + m_history_3 = 0; + m_history_4 = 0; + m_history_5 = 0; + m_delay_6.reset("m_delay_6", 5000); + m_delay_7.reset("m_delay_7", 7000); + m_delay_8.reset("m_delay_8", 15000); + m_delay_9.reset("m_delay_9", 6000); + m_delay_10.reset("m_delay_10", 16000); + m_delay_11.reset("m_delay_11", 48000); + m_delay_12.reset("m_delay_12", 10000); + m_delay_13.reset("m_delay_13", 12000); + m_delay_14.reset("m_delay_14", 48000); + m_delay_15.reset("m_delay_15", 48000); + m_delay_16.reset("m_delay_16", 48000); + m_delay_17.reset("m_delay_17", 48000); + m_damping_18 = 0.7; + m_revtime_19 = 11; + m_roomsize_20 = 75; + m_spread_21 = 23; + m_bandwidth_22 = 0.5; + m_tail_23 = 0.25; + m_dry_24 = 1; + m_early_25 = 0.25; + genlib_reset_complete(this); + + }; + // the signal processing routine; + inline int perform(t_sample ** __ins, t_sample ** __outs, int __n) { + vectorsize = __n; + const t_sample * __in1 = __ins[0]; + const t_sample * __in2 = __ins[1]; + t_sample * __out1 = __outs[0]; + t_sample * __out2 = __outs[1]; + if (__exception) { + return __exception; + + } else if (( (__in1 == 0) || (__in2 == 0) || (__out1 == 0) || (__out2 == 0) )) { + __exception = GENLIB_ERR_NULL_BUFFER; + return __exception; + + }; + double rsub_999 = (1 - m_bandwidth_22); + double expr_1051 = safepow(0.001, safediv(1, (m_revtime_19 * 44100))); + double expr_1052 = safediv((m_roomsize_20 * 44100), 340); + double mul_988 = (expr_1052 * 0.63245); + double expr_1043 = (-safepow(expr_1051, mul_988)); + double mul_990 = (expr_1052 * 0.81649); + double expr_1045 = (-safepow(expr_1051, mul_990)); + double mul_989 = (expr_1052 * 0.7071); + double expr_1044 = (-safepow(expr_1051, mul_989)); + double mul_991 = (expr_1052 * 1); + double expr_1050 = (-safepow(expr_1051, mul_991)); + double mul_985 = (expr_1052 * 0.000527); + int int_984 = int(mul_985); + double mul_925 = (m_spread_21 * -0.380445); + double add_924 = (mul_925 + 931); + double rsub_921 = (1341 - add_924); + double mul_934 = (int_984 * rsub_921); + double mul_953 = (m_spread_21 * 0.376623); + double add_952 = (mul_953 + 931); + double rsub_949 = (1341 - add_952); + double mul_960 = (int_984 * rsub_949); + double add_914 = (expr_1052 + 5); + double expr_1046 = safepow(expr_1051, add_914); + double mul_920 = (expr_1052 * 0.41); + double add_917 = (mul_920 + 5); + double expr_1049 = safepow(expr_1051, add_917); + double mul_919 = (expr_1052 * 0.3); + double add_916 = (mul_919 + 5); + double expr_1048 = safepow(expr_1051, add_916); + double mul_918 = (expr_1052 * 0.155); + double add_915 = (mul_918 + 5); + double expr_1047 = safepow(expr_1051, add_915); + double mul_927 = (m_spread_21 * -0.568366); + double add_923 = (mul_927 + 369); + double rsub_922 = (add_924 - add_923); + double mul_941 = (int_984 * rsub_922); + double mul_983 = (expr_1052 * 0.110732); + double mul_969 = (m_spread_21 * 0.125541); + double add_951 = (mul_969 + 369); + double rsub_950 = (add_952 - add_951); + double mul_967 = (int_984 * rsub_950); + double add_926 = (mul_927 + 159); + double mul_948 = (int_984 * add_926); + double add_968 = (mul_969 + 159); + double mul_976 = (int_984 * add_968); + // the main sample loop; + while ((__n--)) { + const double in1 = (*(__in1++)); + const double in2 = (*(__in2++)); + double mul_846 = (in2 * m_dry_24); + double mul_858 = (in1 * m_dry_24); + double mul_848 = ((in1 + in2) * 0.707); + double mix_1070 = (mul_848 + (rsub_999 * (m_history_5 - mul_848))); + double mix_998 = mix_1070; + double tap_888 = m_delay_17.read_linear(mul_988); + double mul_884 = (tap_888 * expr_1043); + double mix_1071 = (mul_884 + (m_damping_18 * (m_history_4 - mul_884))); + double mix_886 = mix_1071; + double tap_900 = m_delay_16.read_linear(mul_990); + double mul_896 = (tap_900 * expr_1045); + double mix_1072 = (mul_896 + (m_damping_18 * (m_history_3 - mul_896))); + double mix_898 = mix_1072; + double tap_894 = m_delay_15.read_linear(mul_989); + double mul_890 = (tap_894 * expr_1044); + double mix_1073 = (mul_890 + (m_damping_18 * (m_history_2 - mul_890))); + double mix_892 = mix_1073; + double tap_996 = m_delay_14.read_linear(mul_991); + double mul_987 = (tap_996 * expr_1050); + double mix_1074 = (mul_987 + (m_damping_18 * (m_history_1 - mul_987))); + double mix_994 = mix_1074; + double tap_933 = m_delay_13.read_linear(mul_934); + double mul_931 = (tap_933 * 0.625); + double tap_959 = m_delay_12.read_linear(mul_960); + double mul_957 = (tap_959 * 0.625); + double add_878 = (mix_994 + mix_898); + double add_876 = (mix_892 + mix_886); + double add_871 = (add_878 + add_876); + double mul_854 = (add_871 * 0.5); + double sub_875 = (add_878 - add_876); + double mul_857 = (sub_875 * 0.5); + double sub_877 = (mix_994 - mix_898); + double sub_874 = (mix_892 - mix_886); + double sub_873 = (sub_877 - sub_874); + double mul_856 = (sub_873 * 0.5); + double add_872 = (sub_877 + sub_874); + double rsub_870 = (0 - add_872); + double mul_855 = (rsub_870 * 0.5); + double tap_902 = m_delay_11.read_linear(add_917); + double tap_903 = m_delay_11.read_linear(add_916); + double tap_904 = m_delay_11.read_linear(add_915); + double tap_905 = m_delay_11.read_linear(add_914); + double mul_906 = (tap_905 * expr_1046); + double add_879 = (mul_854 + mul_906); + double mul_910 = (tap_903 * expr_1048); + double add_881 = (mul_856 + mul_910); + double mul_912 = (tap_902 * expr_1049); + double add_882 = (mul_857 + mul_912); + double mul_908 = (tap_904 * expr_1047); + double add_880 = (mul_855 + mul_908); + double tap_940 = m_delay_10.read_linear(mul_941); + double mul_938 = (tap_940 * 0.625); + double tap_982 = m_delay_9.read_linear(mul_983); + double tap_966 = m_delay_8.read_linear(mul_967); + double mul_964 = (tap_966 * 0.625); + double tap_947 = m_delay_7.read_linear(mul_948); + double mul_945 = (tap_947 * 0.75); + double mul_980 = (tap_982 * 0.75); + double sub_979 = (mix_998 - mul_980); + double mul_978 = (sub_979 * 0.75); + double add_977 = (mul_978 + tap_982); + double tap_975 = m_delay_6.read_linear(mul_976); + double mul_973 = (tap_975 * 0.75); + double mul_869 = (mul_857 * m_tail_23); + double mul_867 = (mul_855 * m_tail_23); + double add_853 = (mul_869 + mul_867); + double mul_868 = (mul_856 * m_tail_23); + double mul_866 = (mul_854 * m_tail_23); + double add_852 = (mul_868 + mul_866); + double sub_861 = (add_853 - add_852); + double mul_865 = (mul_912 * m_early_25); + double mul_863 = (mul_908 * m_early_25); + double add_851 = (mul_865 + mul_863); + double mul_864 = (mul_910 * m_early_25); + double mul_862 = (mul_906 * m_early_25); + double add_850 = (mul_864 + mul_862); + double sub_860 = (add_851 - add_850); + double add_847 = (sub_861 + sub_860); + double add_849 = (add_847 + in2); + double sub_944 = (add_849 - mul_945); + double mul_943 = (sub_944 * 0.75); + double add_942 = (mul_943 + tap_947); + double sub_937 = (add_942 - mul_938); + double mul_936 = (sub_937 * 0.625); + double add_935 = (mul_936 + tap_940); + double sub_930 = (add_935 - mul_931); + double mul_929 = (sub_930 * 0.625); + double add_928 = (mul_929 + tap_933); + double out2 = (mul_846 + add_928); + double add_859 = (add_847 + in1); + double sub_972 = (add_859 - mul_973); + double mul_971 = (sub_972 * 0.75); + double add_970 = (mul_971 + tap_975); + double sub_963 = (add_970 - mul_964); + double mul_962 = (sub_963 * 0.625); + double add_961 = (mul_962 + tap_966); + double sub_956 = (add_961 - mul_957); + double mul_955 = (sub_956 * 0.625); + double add_954 = (mul_955 + tap_959); + double out1 = (mul_858 + add_954); + double history_997_next_1065 = mix_998; + double history_885_next_1066 = mix_886; + double history_897_next_1067 = mix_898; + double history_891_next_1068 = mix_892; + double history_993_next_1069 = mix_994; + m_delay_17.write(add_879); + m_delay_16.write(add_881); + m_delay_15.write(add_880); + m_delay_14.write(add_882); + m_delay_13.write(sub_930); + m_delay_12.write(sub_956); + m_delay_11.write(add_977); + m_delay_10.write(sub_937); + m_delay_9.write(sub_979); + m_delay_8.write(sub_963); + m_delay_7.write(sub_944); + m_delay_6.write(sub_972); + m_history_5 = history_997_next_1065; + m_history_4 = history_885_next_1066; + m_history_3 = history_897_next_1067; + m_history_2 = history_891_next_1068; + m_history_1 = history_993_next_1069; + m_delay_6.step(); + m_delay_7.step(); + m_delay_8.step(); + m_delay_9.step(); + m_delay_10.step(); + m_delay_11.step(); + m_delay_12.step(); + m_delay_13.step(); + m_delay_14.step(); + m_delay_15.step(); + m_delay_16.step(); + m_delay_17.step(); + // assign results to output buffer; + (*(__out1++)) = out1; + (*(__out2++)) = out2; + + }; + return __exception; + + }; + inline void set_damping(double _value) { + m_damping_18 = (_value < 0 ? 0 : (_value > 1 ? 1 : _value)); + }; + inline void set_revtime(double _value) { + m_revtime_19 = (_value < 0.1 ? 0.1 : (_value > 360 ? 360 : _value)); + }; + inline void set_roomsize(double _value) { + m_roomsize_20 = (_value < 0.1 ? 0.1 : (_value > 300 ? 300 : _value)); + }; + inline void set_spread(double _value) { + m_spread_21 = (_value < 0 ? 0 : (_value > 100 ? 100 : _value)); + }; + inline void set_bandwidth(double _value) { + m_bandwidth_22 = (_value < 0 ? 0 : (_value > 1 ? 1 : _value)); + }; + inline void set_tail(double _value) { + m_tail_23 = (_value < 0 ? 0 : (_value > 1 ? 1 : _value)); + }; + inline void set_dry(double _value) { + m_dry_24 = (_value < 0 ? 0 : (_value > 1 ? 1 : _value)); + }; + inline void set_early(double _value) { + m_early_25 = (_value < 0 ? 0 : (_value > 1 ? 1 : _value)); + }; + +} State; + + +/// +/// Configuration for the genlib API +/// + +/// Number of signal inputs and outputs + +int gen_kernel_numins = 2; +int gen_kernel_numouts = 2; + +int num_inputs() { return gen_kernel_numins; } +int num_outputs() { return gen_kernel_numouts; } +int num_params() { return 8; } + +/// Assistive lables for the signal inputs and outputs + +const char * gen_kernel_innames[] = { "in1", "in2" }; +const char * gen_kernel_outnames[] = { "out1", "out2" }; + +/// Invoke the signal process of a State object + +int perform(CommonState *cself, t_sample **ins, long numins, t_sample **outs, long numouts, long n) { + State * self = (State *)cself; + return self->perform(ins, outs, n); +} + +/// Reset all parameters and stateful operators of a State object + +void reset(CommonState *cself) { + State * self = (State *)cself; + self->reset(cself->sr, cself->vs); +} + +/// Set a parameter of a State object + +void setparameter(CommonState *cself, long index, double value, void *ref) { + State * self = (State *)cself; + switch (index) { + case 0: self->set_damping(value); break; + case 1: self->set_revtime(value); break; + case 2: self->set_roomsize(value); break; + case 3: self->set_spread(value); break; + case 4: self->set_bandwidth(value); break; + case 5: self->set_tail(value); break; + case 6: self->set_dry(value); break; + case 7: self->set_early(value); break; + + default: break; + } +} + +/// Get the value of a parameter of a State object + +void getparameter(CommonState *cself, long index, double *value) { + State *self = (State *)cself; + switch (index) { + case 0: *value = self->m_damping_18; break; + case 1: *value = self->m_revtime_19; break; + case 2: *value = self->m_roomsize_20; break; + case 3: *value = self->m_spread_21; break; + case 4: *value = self->m_bandwidth_22; break; + case 5: *value = self->m_tail_23; break; + case 6: *value = self->m_dry_24; break; + case 7: *value = self->m_early_25; break; + + default: break; + } +} + +/// Allocate and configure a new State object and it's internal CommonState: + +void * create(double sr, long vs) { + State *self = new State; + self->reset(sr, vs); + ParamInfo *pi; + self->__commonstate.inputnames = gen_kernel_innames; + self->__commonstate.outputnames = gen_kernel_outnames; + self->__commonstate.numins = gen_kernel_numins; + self->__commonstate.numouts = gen_kernel_numouts; + self->__commonstate.sr = sr; + self->__commonstate.vs = vs; + self->__commonstate.params = (ParamInfo *)genlib_sysmem_newptr(8 * sizeof(ParamInfo)); + self->__commonstate.numparams = 8; + // initialize parameter 0 ("m_damping_18") + pi = self->__commonstate.params + 0; + pi->name = "damping"; + pi->paramtype = GENLIB_PARAMTYPE_FLOAT; + pi->defaultvalue = self->m_damping_18; + pi->defaultref = 0; + pi->hasinputminmax = false; + pi->inputmin = 0; + pi->inputmax = 1; + pi->hasminmax = true; + pi->outputmin = 0; + pi->outputmax = 1; + pi->exp = 0; + pi->units = ""; // no units defined + // initialize parameter 1 ("m_revtime_19") + pi = self->__commonstate.params + 1; + pi->name = "revtime"; + pi->paramtype = GENLIB_PARAMTYPE_FLOAT; + pi->defaultvalue = self->m_revtime_19; + pi->defaultref = 0; + pi->hasinputminmax = false; + pi->inputmin = 0; + pi->inputmax = 1; + pi->hasminmax = true; + pi->outputmin = 0.1; + pi->outputmax = 360; + pi->exp = 0; + pi->units = ""; // no units defined + // initialize parameter 2 ("m_roomsize_20") + pi = self->__commonstate.params + 2; + pi->name = "roomsize"; + pi->paramtype = GENLIB_PARAMTYPE_FLOAT; + pi->defaultvalue = self->m_roomsize_20; + pi->defaultref = 0; + pi->hasinputminmax = false; + pi->inputmin = 0; + pi->inputmax = 1; + pi->hasminmax = true; + pi->outputmin = 0.1; + pi->outputmax = 300; + pi->exp = 0; + pi->units = ""; // no units defined + // initialize parameter 3 ("m_spread_21") + pi = self->__commonstate.params + 3; + pi->name = "spread"; + pi->paramtype = GENLIB_PARAMTYPE_FLOAT; + pi->defaultvalue = self->m_spread_21; + pi->defaultref = 0; + pi->hasinputminmax = false; + pi->inputmin = 0; + pi->inputmax = 1; + pi->hasminmax = true; + pi->outputmin = 0; + pi->outputmax = 100; + pi->exp = 0; + pi->units = ""; // no units defined + // initialize parameter 4 ("m_bandwidth_22") + pi = self->__commonstate.params + 4; + pi->name = "bandwidth"; + pi->paramtype = GENLIB_PARAMTYPE_FLOAT; + pi->defaultvalue = self->m_bandwidth_22; + pi->defaultref = 0; + pi->hasinputminmax = false; + pi->inputmin = 0; + pi->inputmax = 1; + pi->hasminmax = true; + pi->outputmin = 0; + pi->outputmax = 1; + pi->exp = 0; + pi->units = ""; // no units defined + // initialize parameter 5 ("m_tail_23") + pi = self->__commonstate.params + 5; + pi->name = "tail"; + pi->paramtype = GENLIB_PARAMTYPE_FLOAT; + pi->defaultvalue = self->m_tail_23; + pi->defaultref = 0; + pi->hasinputminmax = false; + pi->inputmin = 0; + pi->inputmax = 1; + pi->hasminmax = true; + pi->outputmin = 0; + pi->outputmax = 1; + pi->exp = 0; + pi->units = ""; // no units defined + // initialize parameter 6 ("m_dry_24") + pi = self->__commonstate.params + 6; + pi->name = "dry"; + pi->paramtype = GENLIB_PARAMTYPE_FLOAT; + pi->defaultvalue = self->m_dry_24; + pi->defaultref = 0; + pi->hasinputminmax = false; + pi->inputmin = 0; + pi->inputmax = 1; + pi->hasminmax = true; + pi->outputmin = 0; + pi->outputmax = 1; + pi->exp = 0; + pi->units = ""; // no units defined + // initialize parameter 7 ("m_early_25") + pi = self->__commonstate.params + 7; + pi->name = "early"; + pi->paramtype = GENLIB_PARAMTYPE_FLOAT; + pi->defaultvalue = self->m_early_25; + pi->defaultref = 0; + pi->hasinputminmax = false; + pi->inputmin = 0; + pi->inputmax = 1; + pi->hasminmax = true; + pi->outputmin = 0; + pi->outputmax = 1; + pi->exp = 0; + pi->units = ""; // no units defined + + return self; +} + +/// Release all resources and memory used by a State object: + +void destroy(CommonState *cself) { + State * self = (State *)cself; + genlib_sysmem_freeptr(cself->params); + + delete self; +} + + +} // gen_exported:: diff --git a/plugins/gigaverb/gen_exported.h b/plugins/gigaverb/gen_exported.h new file mode 100644 index 0000000..ab06792 --- /dev/null +++ b/plugins/gigaverb/gen_exported.h @@ -0,0 +1,37 @@ +/******************************************************************************************************************* +Copyright (c) 2012 Cycling '74 + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software +and associated documentation files (the "Software"), to deal in the Software without restriction, +including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies +or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, +INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE +OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +*******************************************************************************************************************/ + + +#include "genlib.h" +#include "genlib_exportfunctions.h" +#include "genlib_ops.h" + +namespace gen_exported { + +int num_inputs(); +int num_outputs(); +int num_params(); +int perform(CommonState *cself, t_sample **ins, long numins, t_sample **outs, long numouts, long n); +void reset(CommonState *cself); +void setparameter(CommonState *cself, long index, double value, void *ref); +void getparameter(CommonState *cself, long index, double *value); +void * create(double sr, long vs); +void destroy(CommonState *cself); + +} // gen_exported:: diff --git a/plugins/gigaverb/gen~.gigaverb.maxpat b/plugins/gigaverb/gen~.gigaverb.maxpat new file mode 100644 index 0000000..d6fcfb7 --- /dev/null +++ b/plugins/gigaverb/gen~.gigaverb.maxpat @@ -0,0 +1,5364 @@ +{ + "patcher" : { + "fileversion" : 1, + "appversion" : { + "major" : 6, + "minor" : 1, + "revision" : 9, + "architecture" : "x86" + } +, + "rect" : [ 298.0, 77.0, 541.0, 666.0 ], + "bglocked" : 0, + "openinpresentation" : 0, + "default_fontsize" : 12.0, + "default_fontface" : 0, + "default_fontname" : "Arial", + "gridonopen" : 0, + "gridsize" : [ 15.0, 15.0 ], + "gridsnaponopen" : 0, + "statusbarvisible" : 2, + "toolbarvisible" : 1, + "boxanimatetime" : 200, + "imprint" : 0, + "enablehscroll" : 1, + "enablevscroll" : 1, + "devicewidth" : 0.0, + "description" : "", + "digest" : "", + "tags" : "", + "boxes" : [ { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-33", + "maxclass" : "message", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 94.5, 471.0, 70.0, 18.0 ], + "text" : "exportcode" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-10", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "signal" ], + "patching_rect" : [ 59.0, 443.5, 106.0, 20.0 ], + "text" : "receive~ gigaverb" + } + + } +, { + "box" : { + "bubble" : 1, + "fontname" : "Arial", + "fontsize" : 12.0, + "frgb" : 0.0, + "id" : "obj-31", + "linecount" : 2, + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 405.0, 375.0, 74.0, 37.0 ], + "text" : "range: 0 to 1" + } + + } +, { + "box" : { + "bubble" : 1, + "fontname" : "Arial", + "fontsize" : 12.0, + "frgb" : 0.0, + "id" : "obj-29", + "linecount" : 2, + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 405.0, 435.0, 74.0, 37.0 ], + "text" : "range: 0 to 1" + } + + } +, { + "box" : { + "bubble" : 1, + "fontname" : "Arial", + "fontsize" : 12.0, + "frgb" : 0.0, + "id" : "obj-30", + "linecount" : 2, + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 405.0, 315.0, 74.0, 37.0 ], + "text" : "range: 0 to 1" + } + + } +, { + "box" : { + "bubble" : 1, + "fontname" : "Arial", + "fontsize" : 12.0, + "frgb" : 0.0, + "id" : "obj-28", + "linecount" : 2, + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 405.0, 255.0, 74.0, 37.0 ], + "text" : "range: 0 to 1" + } + + } +, { + "box" : { + "bubble" : 1, + "fontname" : "Arial", + "fontsize" : 12.0, + "frgb" : 0.0, + "id" : "obj-27", + "linecount" : 2, + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 405.0, 195.0, 74.0, 37.0 ], + "text" : "range: 0 to 1" + } + + } +, { + "box" : { + "bubble" : 1, + "fontname" : "Arial", + "fontsize" : 12.0, + "frgb" : 0.0, + "id" : "obj-22", + "linecount" : 2, + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 405.0, 135.0, 76.0, 37.0 ], + "text" : "range: 0 to 100" + } + + } +, { + "box" : { + "bubble" : 1, + "fontname" : "Arial", + "fontsize" : 12.0, + "frgb" : 0.0, + "id" : "obj-21", + "linecount" : 3, + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 405.0, 75.0, 78.0, 51.0 ], + "text" : "range: 0.1 to 360" + } + + } +, { + "box" : { + "bubble" : 1, + "fontname" : "Arial", + "fontsize" : 12.0, + "frgb" : 0.0, + "id" : "obj-17", + "linecount" : 2, + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 405.0, 15.0, 79.0, 37.0 ], + "text" : "range: 0.1 to 300" + } + + } +, { + "box" : { + "fontsize" : 13.0, + "id" : "obj-6", + "maxclass" : "live.gain~", + "numinlets" : 2, + "numoutlets" : 5, + "orientation" : 1, + "outlettype" : [ "signal", "signal", "", "float", "list" ], + "parameter_enable" : 1, + "patching_rect" : [ 15.0, 528.0, 136.0, 42.0 ], + "presentation_rect" : [ 60.0, 60.0, 50.0, 28.0 ], + "saved_attribute_attributes" : { + "valueof" : { + "parameter_longname" : "live.gain~", + "parameter_shortname" : "live.gain~", + "parameter_type" : 0, + "parameter_mmin" : -70.0, + "parameter_mmax" : 6.0, + "parameter_initial_enable" : 1, + "parameter_initial" : [ -70 ], + "parameter_unitstyle" : 4 + } + + } +, + "showname" : 0, + "varname" : "live.gain~" + } + + } +, { + "box" : { + "bgcolor" : [ 1.0, 1.0, 1.0, 1.0 ], + "border" : 1.75, + "bordercolor" : [ 0.501961, 0.501961, 0.501961, 1.0 ], + "id" : "obj-8", + "local" : 1, + "maxclass" : "ezdac~", + "numinlets" : 2, + "numoutlets" : 0, + "patching_rect" : [ 15.0, 579.0, 44.0, 44.0 ], + "prototypename" : "helpfile" + } + + } +, { + "box" : { + "args" : [ "@loop", 1, "@file", 5 ], + "id" : "obj-7", + "maxclass" : "bpatcher", + "name" : "demosound.maxpat", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "signal" ], + "patching_rect" : [ 15.0, 120.0, 225.0, 105.0 ] + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-1", + "maxclass" : "flonum", + "maximum" : 100.0, + "minimum" : 0.0, + "numinlets" : 1, + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ], + "parameter_enable" : 0, + "patching_rect" : [ 315.0, 135.0, 50.0, 20.0 ] + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-5", + "maxclass" : "message", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 315.0, 165.0, 65.0, 18.0 ], + "text" : "spread $1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-19", + "maxclass" : "flonum", + "maximum" : 1.0, + "minimum" : 0.0, + "numinlets" : 1, + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ], + "parameter_enable" : 0, + "patching_rect" : [ 315.0, 315.0, 50.0, 20.0 ] + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-20", + "maxclass" : "message", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 315.0, 345.0, 45.0, 18.0 ], + "text" : "dry $1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-23", + "maxclass" : "flonum", + "maximum" : 1.0, + "minimum" : 0.0, + "numinlets" : 1, + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ], + "parameter_enable" : 0, + "patching_rect" : [ 315.0, 435.0, 50.0, 20.0 ] + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-24", + "maxclass" : "message", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 315.0, 465.0, 43.0, 18.0 ], + "text" : "tail $1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-25", + "maxclass" : "flonum", + "maximum" : 1.0, + "minimum" : 0.0, + "numinlets" : 1, + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ], + "parameter_enable" : 0, + "patching_rect" : [ 315.0, 375.0, 50.0, 20.0 ] + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-26", + "maxclass" : "message", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 315.0, 405.0, 54.0, 18.0 ], + "text" : "early $1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-14", + "maxclass" : "flonum", + "minimum" : 0.1, + "numinlets" : 1, + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ], + "parameter_enable" : 0, + "patching_rect" : [ 315.0, 75.0, 50.0, 20.0 ] + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-15", + "maxclass" : "message", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 315.0, 105.0, 68.0, 18.0 ], + "text" : "revtime $1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-16", + "maxclass" : "flonum", + "maximum" : 300.0, + "minimum" : 0.1, + "numinlets" : 1, + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ], + "parameter_enable" : 0, + "patching_rect" : [ 315.0, 15.0, 50.0, 20.0 ] + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-18", + "maxclass" : "message", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 315.0, 45.0, 78.0, 18.0 ], + "text" : "roomsize $1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-12", + "maxclass" : "flonum", + "maximum" : 1.0, + "minimum" : 0.0, + "numinlets" : 1, + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ], + "parameter_enable" : 0, + "patching_rect" : [ 315.0, 255.0, 50.0, 20.0 ] + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-13", + "maxclass" : "message", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 315.0, 285.0, 75.0, 18.0 ], + "text" : "damping $1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-11", + "maxclass" : "flonum", + "maximum" : 1.0, + "minimum" : 0.0, + "numinlets" : 1, + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ], + "parameter_enable" : 0, + "patching_rect" : [ 315.0, 195.0, 50.0, 20.0 ] + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-9", + "maxclass" : "message", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 315.0, 225.0, 84.0, 18.0 ], + "text" : "bandwidth $1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-4", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 2, + "outlettype" : [ "signal", "signal" ], + "patcher" : { + "fileversion" : 1, + "appversion" : { + "major" : 6, + "minor" : 1, + "revision" : 9, + "architecture" : "x86" + } +, + "rect" : [ 0.0, 45.0, 960.0, 810.0 ], + "bgcolor" : [ 0.9, 0.9, 0.9, 1.0 ], + "bglocked" : 0, + "openinpresentation" : 0, + "default_fontsize" : 12.0, + "default_fontface" : 0, + "default_fontname" : "Arial", + "gridonopen" : 0, + "gridsize" : [ 15.0, 15.0 ], + "gridsnaponopen" : 0, + "statusbarvisible" : 2, + "toolbarvisible" : 1, + "boxanimatetime" : 200, + "imprint" : 0, + "enablehscroll" : 1, + "enablevscroll" : 1, + "devicewidth" : 0.0, + "description" : "", + "digest" : "", + "tags" : "", + "boxes" : [ { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "frgb" : 0.0, + "id" : "obj-307", + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 1200.0, 1365.0, 60.0, 20.0 ], + "text" : "Dry mix" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-304", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 975.0, 1365.0, 30.0, 20.0 ], + "text" : "in 2" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-305", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 975.0, 1395.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-306", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1005.0, 1365.0, 172.0, 20.0 ], + "text" : "param dry 1 @min 0 @max 1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "frgb" : 0.0, + "id" : "obj-303", + "linecount" : 2, + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 45.0, 1230.0, 60.0, 33.0 ], + "text" : "Diffusion\nchains" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-302", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 270.0, 885.0, 32.5, 20.0 ], + "text" : "+" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-300", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 285.0, 930.0, 30.0, 20.0 ], + "text" : "in 1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-299", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 658.5, 930.0, 30.0, 20.0 ], + "text" : "in 2" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-298", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 840.0, 60.0, 50.0, 20.0 ], + "text" : "* 0.707" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-297", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 840.0, 30.0, 30.0, 20.0 ], + "text" : "in 1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-296", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 645.0, 990.0, 32.5, 20.0 ], + "text" : "+" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-294", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1140.0, 825.0, 32.5, 20.0 ], + "text" : "+" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-295", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 990.0, 825.0, 32.5, 20.0 ], + "text" : "+" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-293", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 345.0, 825.0, 32.5, 20.0 ], + "text" : "+" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-292", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 195.0, 825.0, 32.5, 20.0 ], + "text" : "+" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-289", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 495.0, 690.0, 36.0, 20.0 ], + "text" : "* 0.5" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-288", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 345.0, 690.0, 36.0, 20.0 ], + "text" : "* 0.5" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-287", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 195.0, 690.0, 36.0, 20.0 ], + "text" : "* 0.5" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-286", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 45.000004, 690.0, 36.0, 20.0 ], + "text" : "* 0.5" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-284", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 465.0, 1365.0, 30.0, 20.0 ], + "text" : "in 1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-283", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 465.0, 1395.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-278", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 270.0, 990.0, 32.5, 20.0 ], + "text" : "+" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-277", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1065.0, 855.0, 32.5, 20.0 ], + "text" : "-" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-276", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 270.0, 855.0, 32.5, 20.0 ], + "text" : "-" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-271", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1290.0, 780.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-272", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1140.0, 780.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-273", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 990.0, 780.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-274", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 840.0, 780.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-275", + "linecount" : 2, + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1335.0, 735.0, 120.0, 33.0 ], + "text" : "param early 0.25 @min 0 @max 1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-269", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 495.0, 780.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-270", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 345.0, 780.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-267", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 195.0, 780.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-266", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 45.000004, 780.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-264", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 345.0, 660.0, 28.0, 20.0 ], + "text" : "!- 0" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-263", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 495.0, 630.0, 32.5, 20.0 ], + "text" : "+" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-262", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 345.0, 630.0, 32.5, 20.0 ], + "text" : "+" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-261", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 195.0, 630.0, 32.5, 20.0 ], + "text" : "-" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-260", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 435.0, 585.0, 32.5, 20.0 ], + "text" : "-" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-259", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 45.000004, 630.0, 32.5, 20.0 ], + "text" : "-" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-258", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 360.0, 585.0, 32.5, 20.0 ], + "text" : "+" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-257", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 135.0, 585.0, 32.5, 20.0 ], + "text" : "-" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-256", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 60.0, 585.0, 32.5, 20.0 ], + "text" : "+" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "frgb" : 0.0, + "id" : "obj-249", + "linecount" : 2, + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 255.0, 570.0, 60.0, 33.0 ], + "text" : "FDN matrix" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-245", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 525.0, 720.0, 32.5, 20.0 ], + "text" : "+" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-246", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 375.0, 720.0, 32.5, 20.0 ], + "text" : "+" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-247", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 225.0, 720.0, 32.5, 20.0 ], + "text" : "+" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-248", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 75.0, 720.0, 32.5, 20.0 ], + "text" : "+" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-231", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 510.0, 435.0, 113.0, 20.0 ], + "text" : "expr -pow(in2\\,in1)" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-232", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 495.0, 465.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-233", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 555.0, 540.0, 47.0, 20.0 ], + "text" : "history" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-234", + "maxclass" : "newobj", + "numinlets" : 3, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 495.0, 540.0, 46.0, 20.0 ], + "text" : "mix" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-236", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 495.0, 405.0, 78.0, 20.0 ], + "text" : "delay 48000" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-238", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 360.0, 435.0, 113.0, 20.0 ], + "text" : "expr -pow(in2\\,in1)" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-239", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 345.0, 465.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-240", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 405.0, 540.0, 47.0, 20.0 ], + "text" : "history" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-241", + "maxclass" : "newobj", + "numinlets" : 3, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 345.0, 540.0, 46.0, 20.0 ], + "text" : "mix" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-243", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 345.0, 405.0, 78.0, 20.0 ], + "text" : "delay 48000" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-224", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 210.0, 435.0, 113.0, 20.0 ], + "text" : "expr -pow(in2\\,in1)" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-225", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 195.0, 465.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-226", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 255.0, 540.0, 47.0, 20.0 ], + "text" : "history" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-227", + "maxclass" : "newobj", + "numinlets" : 3, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 195.0, 540.0, 46.0, 20.0 ], + "text" : "mix" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-229", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 195.0, 405.0, 78.0, 20.0 ], + "text" : "delay 48000" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-214", + "maxclass" : "newobj", + "numinlets" : 5, + "numoutlets" : 4, + "outlettype" : [ "", "", "", "" ], + "patching_rect" : [ 840.0, 540.0, 465.0, 20.0 ], + "text" : "delay 48000 4" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "frgb" : 0.0, + "id" : "obj-213", + "linecount" : 2, + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 780.0, 540.0, 60.0, 33.0 ], + "text" : "Tap delays" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "frgb" : 0.0, + "id" : "obj-212", + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 900.0, 240.000015, 75.0, 20.0 ], + "text" : "prediffuse" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-211", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 945.0, 1425.0, 38.0, 20.0 ], + "text" : "out 2" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-210", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 435.0, 1425.0, 38.0, 20.0 ], + "text" : "out 1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-204", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1290.0, 600.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-205", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1305.0, 570.0, 109.0, 20.0 ], + "text" : "expr pow(in2\\,in1)" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-202", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1140.0, 600.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-203", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1155.0, 570.0, 109.0, 20.0 ], + "text" : "expr pow(in2\\,in1)" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-200", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 990.0, 600.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-201", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1005.0, 570.0, 109.0, 20.0 ], + "text" : "expr pow(in2\\,in1)" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-199", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 840.0, 600.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-198", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 855.0, 570.0, 109.0, 20.0 ], + "text" : "expr pow(in2\\,in1)" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-197", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1305.0, 510.0, 28.0, 20.0 ], + "text" : "+ 5" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-196", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1155.0, 510.0, 28.0, 20.0 ], + "text" : "+ 5" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-195", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1005.0, 510.0, 28.0, 20.0 ], + "text" : "+ 5" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-194", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 855.0, 510.0, 28.0, 20.0 ], + "text" : "+ 5" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-191", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1155.0, 480.0, 50.0, 20.0 ], + "text" : "* 0.155" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-192", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1005.0, 480.0, 36.0, 20.0 ], + "text" : "* 0.3" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-193", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 855.0, 480.0, 43.0, 20.0 ], + "text" : "* 0.41" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-173", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 975.0, 1110.0, 49.0, 20.0 ], + "text" : "!- 1341" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-174", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 930.0, 1110.0, 32.5, 20.0 ], + "text" : "!-" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-175", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 930.0, 1080.0, 42.0, 20.0 ], + "text" : "+ 369" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-176", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 975.0, 1080.0, 42.0, 20.0 ], + "text" : "+ 931" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-177", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 975.0, 1050.0, 74.0, 20.0 ], + "text" : "* -0.380445" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-178", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 885.0, 1110.0, 42.0, 20.0 ], + "text" : "+ 159" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-179", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 885.0, 1050.0, 74.0, 20.0 ], + "text" : "* -0.568366" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-134", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 945.0, 1320.0, 45.0, 20.0 ], + "text" : "+" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-136", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 945.0, 1290.0, 50.0, 20.0 ], + "text" : "* 0.625" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-137", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 945.0, 1260.0, 32.5, 20.0 ], + "text" : "-" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-140", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 960.0, 1230.0, 50.0, 20.0 ], + "text" : "* 0.625" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-141", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 990.0, 1200.0, 78.0, 20.0 ], + "text" : "delay 12000" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-142", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1020.000061, 1170.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-144", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 795.0, 1320.0, 45.0, 20.0 ], + "text" : "+" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-146", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 795.0, 1290.0, 50.0, 20.0 ], + "text" : "* 0.625" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-147", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 795.0, 1260.0, 32.5, 20.0 ], + "text" : "-" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-150", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 810.0, 1230.0, 50.0, 20.0 ], + "text" : "* 0.625" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-151", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 840.0, 1200.0, 78.0, 20.0 ], + "text" : "delay 16000" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-152", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 870.0, 1170.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-154", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 645.0, 1320.0, 45.0, 20.0 ], + "text" : "+" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-156", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 645.0, 1290.0, 43.0, 20.0 ], + "text" : "* 0.75" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-157", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 645.0, 1260.0, 32.5, 20.0 ], + "text" : "-" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-160", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 660.0, 1230.0, 43.0, 20.0 ], + "text" : "* 0.75" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-161", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 690.0, 1200.0, 71.0, 20.0 ], + "text" : "delay 7000" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-162", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 720.0, 1170.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-131", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 330.0, 1110.0, 49.0, 20.0 ], + "text" : "!- 1341" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-129", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 270.0, 1110.0, 32.5, 20.0 ], + "text" : "!-" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-127", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 270.0, 1080.0, 42.0, 20.0 ], + "text" : "+ 369" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-125", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 330.0, 1080.0, 42.0, 20.0 ], + "text" : "+ 931" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-124", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 330.0, 1050.0, 70.0, 20.0 ], + "text" : "* 0.376623" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-112", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 435.0, 1320.0, 45.0, 20.0 ], + "text" : "+" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-114", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 435.0, 1290.0, 50.0, 20.0 ], + "text" : "* 0.625" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-116", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 435.0, 1260.0, 32.5, 20.0 ], + "text" : "-" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-119", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 450.0, 1230.0, 50.0, 20.0 ], + "text" : "* 0.625" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-120", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 480.0, 1200.0, 78.0, 20.0 ], + "text" : "delay 10000" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-121", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 510.000061, 1170.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-98", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 285.0, 1320.0, 45.0, 20.0 ], + "text" : "+" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-100", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 285.0, 1290.0, 50.0, 20.0 ], + "text" : "* 0.625" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-102", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 285.0, 1260.0, 32.5, 20.0 ], + "text" : "-" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-105", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 300.0, 1230.0, 50.0, 20.0 ], + "text" : "* 0.625" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-106", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 330.0, 1200.0, 78.0, 20.0 ], + "text" : "delay 15000" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-107", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 360.0, 1170.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-95", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 224.999969, 1110.0, 42.0, 20.0 ], + "text" : "+ 159" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-88", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 224.999969, 1050.0, 70.0, 20.0 ], + "text" : "* 0.125541" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-77", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 134.999969, 1320.0, 45.0, 20.0 ], + "text" : "+" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-79", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 134.999969, 1290.0, 43.0, 20.0 ], + "text" : "* 0.75" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-81", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 134.999969, 1260.0, 32.5, 20.0 ], + "text" : "-" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-84", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 149.999969, 1230.0, 43.0, 20.0 ], + "text" : "* 0.75" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-85", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 179.999969, 1200.0, 71.0, 20.0 ], + "text" : "delay 5000" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-86", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 209.999969, 1170.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-74", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 840.0, 300.0, 45.0, 20.0 ], + "text" : "+" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-72", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 840.0, 270.0, 43.0, 20.0 ], + "text" : "* 0.75" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-67", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 840.0, 240.000015, 32.5, 20.0 ], + "text" : "-" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-64", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 855.0, 210.000015, 43.0, 20.0 ], + "text" : "* 0.75" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-63", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 885.0, 180.000015, 71.0, 20.0 ], + "text" : "delay 6000" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-62", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 930.0, 150.0, 70.0, 20.0 ], + "text" : "* 0.110732" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-52", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 675.0, 1110.0, 24.0, 20.0 ], + "text" : "int" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-51", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 675.0, 1080.0, 70.0, 20.0 ], + "text" : "* 0.000527" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-45", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 60.0, 435.0, 113.0, 20.0 ], + "text" : "expr -pow(in2\\,in1)" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-44", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 45.000004, 465.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-42", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 555.0, 345.0, 63.0, 20.0 ], + "text" : "* 0.63245" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-43", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 405.0, 345.0, 57.0, 20.0 ], + "text" : "* 0.7071" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-41", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 255.0, 345.0, 63.0, 20.0 ], + "text" : "* 0.81649" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-40", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 105.0, 345.0, 26.0, 20.0 ], + "text" : "* 1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-35", + "linecount" : 2, + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1125.0, 390.0, 240.0, 33.0 ], + "text" : "expr pow(pow(10\\,-60/20)\\,1./(in1*samplerate))" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-31", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 105.0, 540.0, 47.0, 20.0 ], + "text" : "history" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-32", + "maxclass" : "newobj", + "numinlets" : 3, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 45.000004, 540.0, 46.0, 20.0 ], + "text" : "mix" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "frgb" : 0.0, + "id" : "obj-33", + "linecount" : 2, + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 90.0, 495.0, 60.0, 33.0 ], + "text" : "FDN dampers" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-30", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 45.000004, 405.0, 78.0, 20.0 ], + "text" : "delay 48000" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "frgb" : 0.0, + "id" : "obj-28", + "linecount" : 3, + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 30.0, 330.0, 75.0, 47.0 ], + "text" : "Feeedback delay network" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-27", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 900.0, 104.999992, 47.0, 20.0 ], + "text" : "history" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-17", + "maxclass" : "newobj", + "numinlets" : 3, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 840.0, 104.999992, 46.0, 20.0 ], + "text" : "mix" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "frgb" : 0.0, + "id" : "obj-16", + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 960.0, 105.0, 90.0, 20.0 ], + "text" : "input damper" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-14", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 960.0, 75.0, 28.0, 20.0 ], + "text" : "!- 1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-11", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 675.0, 120.0, 144.0, 20.0 ], + "text" : "expr in1*samplerate/340" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-10", + "linecount" : 2, + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 570.0, 735.0, 105.0, 33.0 ], + "text" : "param tail 0.25 @min 0 @max 1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-7", + "linecount" : 2, + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 960.0, 30.0, 135.0, 33.0 ], + "text" : "param bandwidth 0.5 @min 0 @max 1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-6", + "linecount" : 2, + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 885.0, 990.0, 120.0, 33.0 ], + "text" : "param spread 23 @min 0 @max 100" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-5", + "linecount" : 2, + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 540.0, 495.0, 120.0, 33.0 ], + "text" : "param damping 0.7 @min 0 @max 1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-4", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1125.0, 360.0, 219.0, 20.0 ], + "text" : "param revtime 11 @min 0.1 @max 360" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-3", + "linecount" : 2, + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 675.0, 75.0, 135.0, 33.0 ], + "text" : "param roomsize 75 @min 0.1 @max 300" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-1", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 885.0, 30.0, 30.0, 20.0 ], + "text" : "in 2" + } + + } + ], + "lines" : [ { + "patchline" : { + "destination" : [ "obj-298", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-1", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-266", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 579.5, 774.5, 68.0, 774.5 ], + "source" : [ "obj-10", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-267", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 579.5, 774.5, 218.0, 774.5 ], + "source" : [ "obj-10", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-269", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 579.5, 774.5, 518.0, 774.5 ], + "source" : [ "obj-10", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-270", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 579.5, 774.5, 368.0, 774.5 ], + "source" : [ "obj-10", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-98", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-100", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-100", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-102", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-106", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-102", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-102", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-105", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-105", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-106", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-98", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-106", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-106", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-107", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.827451, 0.737255, 0.835294, 1.0 ], + "destination" : [ "obj-191", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 684.5, 339.5, 1164.5, 339.5 ], + "source" : [ "obj-11", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.827451, 0.737255, 0.835294, 1.0 ], + "destination" : [ "obj-192", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 684.5, 339.5, 1014.5, 339.5 ], + "source" : [ "obj-11", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.827451, 0.737255, 0.835294, 1.0 ], + "destination" : [ "obj-193", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 684.5, 339.5, 864.5, 339.5 ], + "source" : [ "obj-11", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.827451, 0.737255, 0.835294, 1.0 ], + "destination" : [ "obj-197", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 684.5, 338.394897, 1314.5, 338.394897 ], + "source" : [ "obj-11", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.827451, 0.737255, 0.835294, 1.0 ], + "destination" : [ "obj-40", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 684.5, 337.166504, 114.5, 337.166504 ], + "source" : [ "obj-11", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.827451, 0.737255, 0.835294, 1.0 ], + "destination" : [ "obj-41", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 684.5, 337.166504, 264.5, 337.166504 ], + "source" : [ "obj-11", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.827451, 0.737255, 0.835294, 1.0 ], + "destination" : [ "obj-42", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 684.5, 338.630585, 564.5, 338.630585 ], + "source" : [ "obj-11", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.827451, 0.737255, 0.835294, 1.0 ], + "destination" : [ "obj-43", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 684.5, 335.702393, 414.5, 335.702393 ], + "source" : [ "obj-11", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.827451, 0.737255, 0.835294, 1.0 ], + "destination" : [ "obj-51", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 684.5, 609.5, 684.5, 609.5 ], + "source" : [ "obj-11", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.827451, 0.737255, 0.835294, 1.0 ], + "destination" : [ "obj-62", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 684.5, 144.679504, 939.5, 144.679504 ], + "source" : [ "obj-11", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-210", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-112", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-112", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-114", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-114", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-116", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-120", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-116", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-116", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-119", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-112", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-120", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-119", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-120", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-120", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-121", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-125", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-124", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-129", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-125", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-131", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-125", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-129", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-127", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-107", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-129", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-121", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-131", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-211", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-134", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-134", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-136", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-136", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-137", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-141", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-137", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-17", 2 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-14", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-137", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-140", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-134", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-141", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-140", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-141", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-141", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-142", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-137", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-144", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-144", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-146", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-146", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-147", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-151", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-147", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-147", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-150", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-144", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-151", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-150", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-151", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-151", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-152", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-147", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-154", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-154", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-156", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-156", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-157", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-161", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-157", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-157", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-160", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-154", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-161", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-160", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-161", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-161", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-162", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-27", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-17", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-67", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-17", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-142", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-173", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-152", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-174", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-174", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-175", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-173", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-176", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-174", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-176", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-176", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-177", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-162", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-178", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-175", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-179", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-178", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-179", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-196", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-191", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-195", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-192", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-194", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-193", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-198", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-194", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-214", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-194", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-201", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-195", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-214", 2 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-195", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-203", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-196", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-214", 3 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-196", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-205", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-197", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-214", 4 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-197", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-199", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-198", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-248", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-199", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-274", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-199", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-247", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-200", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-273", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-200", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-200", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-201", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-246", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-202", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-272", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-202", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-202", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-203", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-245", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-204", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-271", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-204", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-204", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-205", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-199", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-214", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-200", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-214", 1 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-202", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-214", 2 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-204", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-214", 3 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-225", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-224", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-227", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-225", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-227", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-226", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-226", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-227", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-256", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-227", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-257", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-227", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-225", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-229", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-232", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-231", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-234", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-232", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-234", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-233", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-233", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-234", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-258", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-234", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-260", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-234", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-232", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-236", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-239", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-238", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-241", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-239", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-241", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-240", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-240", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-241", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-258", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-241", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-260", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-241", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-239", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-243", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-236", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 534.5, 749.0, 488.5, 749.0, 488.5, 395.0, 504.5, 395.0 ], + "source" : [ "obj-245", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-243", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 384.5, 749.0, 339.5, 749.0, 339.5, 395.0, 354.5, 395.0 ], + "source" : [ "obj-246", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-229", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 234.5, 749.0, 188.5, 749.0, 188.5, 395.0, 204.5, 395.0 ], + "source" : [ "obj-247", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-30", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 84.5, 749.0, 39.5, 749.0, 39.5, 395.0, 54.500004, 395.0 ], + "source" : [ "obj-248", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-259", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-256", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-263", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-256", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-261", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-257", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-262", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-257", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-259", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-258", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-263", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-258", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-286", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-259", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-261", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-260", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-262", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-260", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-287", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-261", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-264", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-262", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-289", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-263", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-288", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-264", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-292", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-266", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-293", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-267", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-293", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-269", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-17", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-27", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-292", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-270", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-294", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-271", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-295", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-272", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-294", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-273", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-295", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-274", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-271", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 1344.5, 774.5, 1313.0, 774.5 ], + "source" : [ "obj-275", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-272", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 1344.5, 774.5, 1163.0, 774.5 ], + "source" : [ "obj-275", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-273", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 1344.5, 774.5, 1013.0, 774.5 ], + "source" : [ "obj-275", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-274", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 1344.5, 774.5, 863.0, 774.5 ], + "source" : [ "obj-275", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-302", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 279.5, 879.5, 279.5, 879.5 ], + "source" : [ "obj-276", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-302", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 1074.5, 879.5, 293.0, 879.5 ], + "source" : [ "obj-277", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-81", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 279.5, 1020.479736, 144.499969, 1020.479736 ], + "source" : [ "obj-278", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-210", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-283", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-283", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-284", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-248", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-286", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-266", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-286", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-247", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-287", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-267", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-287", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-246", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-288", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-270", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-288", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-245", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-289", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-269", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-289", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-276", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-292", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-276", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-293", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-277", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-294", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-277", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-295", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-157", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 654.5, 1019.015625, 654.5, 1019.015625 ], + "source" : [ "obj-296", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-298", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-297", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-17", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-298", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-296", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-299", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-11", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-3", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-44", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-30", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-278", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-300", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-278", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 279.5, 916.253906, 279.5, 916.253906 ], + "source" : [ "obj-302", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-296", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 279.5, 916.253906, 654.5, 916.253906 ], + "source" : [ "obj-302", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-305", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-304", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-211", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-305", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-283", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 1014.5, 1389.5, 488.0, 1389.5 ], + "source" : [ "obj-306", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-305", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-306", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-32", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-31", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-256", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-32", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-257", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-32", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-31", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-32", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.917647, 0.937255, 0.670588, 1.0 ], + "destination" : [ "obj-198", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 1134.5, 429.869415, 954.5, 429.869415 ], + "source" : [ "obj-35", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.917647, 0.937255, 0.670588, 1.0 ], + "destination" : [ "obj-201", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 1134.5, 429.869415, 1104.5, 429.869415 ], + "source" : [ "obj-35", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.917647, 0.937255, 0.670588, 1.0 ], + "destination" : [ "obj-203", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 1134.5, 431.333496, 1254.5, 431.333496 ], + "source" : [ "obj-35", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.917647, 0.937255, 0.670588, 1.0 ], + "destination" : [ "obj-205", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 1134.5, 428.405304, 1404.5, 428.405304 ], + "source" : [ "obj-35", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.917647, 0.937255, 0.670588, 1.0 ], + "destination" : [ "obj-224", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 1134.5, 429.0, 313.5, 429.0 ], + "source" : [ "obj-35", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.917647, 0.937255, 0.670588, 1.0 ], + "destination" : [ "obj-231", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 1134.5, 429.0, 613.5, 429.0 ], + "source" : [ "obj-35", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.917647, 0.937255, 0.670588, 1.0 ], + "destination" : [ "obj-238", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 1134.5, 429.0, 463.5, 429.0 ], + "source" : [ "obj-35", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.917647, 0.937255, 0.670588, 1.0 ], + "destination" : [ "obj-45", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 1134.5, 429.0, 163.5, 429.0 ], + "source" : [ "obj-35", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-35", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-4", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-30", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-40", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-45", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-40", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-224", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-41", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-229", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-41", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-231", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-42", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-236", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-42", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-238", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-43", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-243", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-43", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-32", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-44", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-44", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-45", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-227", 2 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 549.5, 534.0, 231.5, 534.0 ], + "source" : [ "obj-5", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-234", 2 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 549.5, 534.0, 531.5, 534.0 ], + "source" : [ "obj-5", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-241", 2 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 549.5, 534.0, 381.5, 534.0 ], + "source" : [ "obj-5", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-32", 2 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 549.5, 534.0, 81.5, 534.0 ], + "source" : [ "obj-5", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-52", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-51", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.67451, 0.819608, 0.572549, 1.0 ], + "destination" : [ "obj-107", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 684.5, 1149.5, 369.5, 1149.5 ], + "source" : [ "obj-52", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.67451, 0.819608, 0.572549, 1.0 ], + "destination" : [ "obj-121", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 684.5, 1149.5, 519.500061, 1149.5 ], + "source" : [ "obj-52", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.67451, 0.819608, 0.572549, 1.0 ], + "destination" : [ "obj-142", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 684.5, 1149.5, 1029.5, 1149.5 ], + "source" : [ "obj-52", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.67451, 0.819608, 0.572549, 1.0 ], + "destination" : [ "obj-152", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 684.5, 1149.5, 879.5, 1149.5 ], + "source" : [ "obj-52", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.67451, 0.819608, 0.572549, 1.0 ], + "destination" : [ "obj-162", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 684.5, 1149.5, 729.5, 1149.5 ], + "source" : [ "obj-52", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.67451, 0.819608, 0.572549, 1.0 ], + "destination" : [ "obj-86", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 684.5, 1149.5, 219.499969, 1149.5 ], + "source" : [ "obj-52", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-124", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 894.5, 1037.0, 339.5, 1037.0 ], + "source" : [ "obj-6", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-177", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 894.5, 1037.0, 984.5, 1037.0 ], + "source" : [ "obj-6", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-179", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 894.5, 1037.0, 894.5, 1037.0 ], + "source" : [ "obj-6", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-88", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 894.5, 1037.0, 234.499969, 1037.0 ], + "source" : [ "obj-6", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-63", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-62", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-64", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-63", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-74", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-63", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-67", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-64", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-63", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-67", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-72", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-67", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-14", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-7", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-74", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-72", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-214", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-74", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-102", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-77", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-77", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-79", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-79", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-81", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-85", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-81", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-81", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-84", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-77", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-85", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-84", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-85", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-85", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-86", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-127", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-88", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-95", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-88", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-86", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-95", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-116", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-98", 0 ] + } + + } + ] + } +, + "patching_rect" : [ 15.0, 494.0, 150.0, 20.0 ], + "text" : "gen~" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "frgb" : 0.0, + "id" : "obj-3", + "linecount" : 3, + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 15.0, 45.0, 231.0, 47.0 ], + "text" : "A mono in, stereo out reverb, ported from the implementation by Juhana Sadeharju (kouhia@nic.funet.fi)." + } + + } +, { + "box" : { + "fontname" : "Arial Bold Italic", + "fontsize" : 18.0, + "frgb" : 0.0, + "id" : "obj-2", + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 15.0, 15.0, 227.0, 27.0 ], + "text" : "Gigaverb" + } + + } + ], + "lines" : [ { + "patchline" : { + "destination" : [ "obj-5", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-1", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-4", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-10", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-4", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-10", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-9", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-11", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-13", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-12", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-4", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-13", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-15", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-14", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-4", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-15", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-18", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-16", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-4", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-18", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-20", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-19", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-4", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-20", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-24", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-23", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-4", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-24", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-26", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-25", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-4", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-26", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-4", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-33", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-6", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-4", 1 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-6", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-4", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-4", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-5", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-8", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-6", 1 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-8", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-6", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-4", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-7", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-4", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-7", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-4", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-9", 0 ] + } + + } + ], + "parameters" : { + "obj-7::obj-35" : [ "[5]", "Level", 0 ], + "obj-7::obj-21::obj-6" : [ "live.tab[3]", "live.tab[1]", 0 ], + "obj-7::obj-32" : [ "[8]", "[2]", 0 ], + "obj-6" : [ "live.gain~", "live.gain~", 0 ] + } +, + "dependency_cache" : [ { + "name" : "demosound.maxpat", + "bootpath" : "/Applications/Max 6.1/Cycling '74/msp-help", + "patcherrelativepath" : "../../../../../Applications/Max 6.1/Cycling '74/msp-help", + "type" : "JSON", + "implicit" : 1 + } +, { + "name" : "sine.svg", + "bootpath" : "/Applications/Max 6.1/patches/picts/m4l-picts", + "patcherrelativepath" : "../../../../../Applications/Max 6.1/patches/picts/m4l-picts", + "type" : "svg ", + "implicit" : 1 + } +, { + "name" : "saw.svg", + "bootpath" : "/Applications/Max 6.1/patches/picts/m4l-picts", + "patcherrelativepath" : "../../../../../Applications/Max 6.1/patches/picts/m4l-picts", + "type" : "svg ", + "implicit" : 1 + } +, { + "name" : "square.svg", + "bootpath" : "/Applications/Max 6.1/patches/picts/m4l-picts", + "patcherrelativepath" : "../../../../../Applications/Max 6.1/patches/picts/m4l-picts", + "type" : "svg ", + "implicit" : 1 + } +, { + "name" : "random.svg", + "bootpath" : "/Applications/Max 6.1/patches/picts/m4l-picts", + "patcherrelativepath" : "../../../../../Applications/Max 6.1/patches/picts/m4l-picts", + "type" : "svg ", + "implicit" : 1 + } + ] + } + +} diff --git a/plugins/gigaverb/gigaverb.gendsp b/plugins/gigaverb/gigaverb.gendsp new file mode 100644 index 0000000..2f22661 --- /dev/null +++ b/plugins/gigaverb/gigaverb.gendsp @@ -0,0 +1,4567 @@ +{ + "patcher" : { + "fileversion" : 1, + "appversion" : { + "major" : 6, + "minor" : 1, + "revision" : 9, + "architecture" : "x86" + } +, + "rect" : [ 0.0, 45.0, 960.0, 810.0 ], + "bgcolor" : [ 0.9, 0.9, 0.9, 1.0 ], + "bglocked" : 0, + "openinpresentation" : 0, + "default_fontsize" : 12.0, + "default_fontface" : 0, + "default_fontname" : "Arial", + "gridonopen" : 0, + "gridsize" : [ 15.0, 15.0 ], + "gridsnaponopen" : 0, + "statusbarvisible" : 2, + "toolbarvisible" : 1, + "boxanimatetime" : 200, + "imprint" : 0, + "enablehscroll" : 1, + "enablevscroll" : 1, + "devicewidth" : 0.0, + "description" : "", + "digest" : "", + "tags" : "", + "boxes" : [ { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "frgb" : 0.0, + "id" : "obj-307", + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 1200.0, 1365.0, 60.0, 20.0 ], + "text" : "Dry mix" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-304", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 975.0, 1365.0, 30.0, 20.0 ], + "text" : "in 2" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-305", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 975.0, 1395.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-306", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1005.0, 1365.0, 172.0, 20.0 ], + "text" : "param dry 1 @min 0 @max 1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "frgb" : 0.0, + "id" : "obj-303", + "linecount" : 2, + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 45.0, 1230.0, 60.0, 33.0 ], + "text" : "Diffusion\nchains" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-302", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 270.0, 885.0, 32.5, 20.0 ], + "text" : "+" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-300", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 285.0, 930.0, 30.0, 20.0 ], + "text" : "in 1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-299", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 658.5, 930.0, 30.0, 20.0 ], + "text" : "in 2" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-298", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 840.0, 60.0, 50.0, 20.0 ], + "text" : "* 0.707" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-297", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 840.0, 30.0, 30.0, 20.0 ], + "text" : "in 1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-296", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 645.0, 990.0, 32.5, 20.0 ], + "text" : "+" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-294", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1140.0, 825.0, 32.5, 20.0 ], + "text" : "+" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-295", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 990.0, 825.0, 32.5, 20.0 ], + "text" : "+" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-293", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 345.0, 825.0, 32.5, 20.0 ], + "text" : "+" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-292", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 195.0, 825.0, 32.5, 20.0 ], + "text" : "+" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-289", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 495.0, 690.0, 36.0, 20.0 ], + "text" : "* 0.5" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-288", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 345.0, 690.0, 36.0, 20.0 ], + "text" : "* 0.5" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-287", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 195.0, 690.0, 36.0, 20.0 ], + "text" : "* 0.5" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-286", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 45.000004, 690.0, 36.0, 20.0 ], + "text" : "* 0.5" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-284", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 465.0, 1365.0, 30.0, 20.0 ], + "text" : "in 1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-283", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 465.0, 1395.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-278", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 270.0, 990.0, 32.5, 20.0 ], + "text" : "+" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-277", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1065.0, 855.0, 32.5, 20.0 ], + "text" : "-" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-276", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 270.0, 855.0, 32.5, 20.0 ], + "text" : "-" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-271", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1290.0, 780.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-272", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1140.0, 780.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-273", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 990.0, 780.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-274", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 840.0, 780.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-275", + "linecount" : 2, + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1335.0, 735.0, 120.0, 33.0 ], + "text" : "param early 0.25 @min 0 @max 1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-269", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 495.0, 780.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-270", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 345.0, 780.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-267", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 195.0, 780.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-266", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 45.000004, 780.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-264", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 345.0, 660.0, 28.0, 20.0 ], + "text" : "!- 0" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-263", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 495.0, 630.0, 32.5, 20.0 ], + "text" : "+" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-262", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 345.0, 630.0, 32.5, 20.0 ], + "text" : "+" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-261", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 195.0, 630.0, 32.5, 20.0 ], + "text" : "-" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-260", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 435.0, 585.0, 32.5, 20.0 ], + "text" : "-" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-259", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 45.000004, 630.0, 32.5, 20.0 ], + "text" : "-" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-258", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 360.0, 585.0, 32.5, 20.0 ], + "text" : "+" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-257", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 135.0, 585.0, 32.5, 20.0 ], + "text" : "-" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-256", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 60.0, 585.0, 32.5, 20.0 ], + "text" : "+" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "frgb" : 0.0, + "id" : "obj-249", + "linecount" : 2, + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 255.0, 570.0, 60.0, 33.0 ], + "text" : "FDN matrix" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-245", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 525.0, 720.0, 32.5, 20.0 ], + "text" : "+" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-246", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 375.0, 720.0, 32.5, 20.0 ], + "text" : "+" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-247", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 225.0, 720.0, 32.5, 20.0 ], + "text" : "+" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-248", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 75.0, 720.0, 32.5, 20.0 ], + "text" : "+" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-231", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 510.0, 435.0, 113.0, 20.0 ], + "text" : "expr -pow(in2\\,in1)" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-232", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 495.0, 465.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-233", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 555.0, 540.0, 47.0, 20.0 ], + "text" : "history" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-234", + "maxclass" : "newobj", + "numinlets" : 3, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 495.0, 540.0, 46.0, 20.0 ], + "text" : "mix" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-236", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 495.0, 405.0, 78.0, 20.0 ], + "text" : "delay 48000" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-238", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 360.0, 435.0, 113.0, 20.0 ], + "text" : "expr -pow(in2\\,in1)" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-239", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 345.0, 465.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-240", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 405.0, 540.0, 47.0, 20.0 ], + "text" : "history" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-241", + "maxclass" : "newobj", + "numinlets" : 3, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 345.0, 540.0, 46.0, 20.0 ], + "text" : "mix" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-243", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 345.0, 405.0, 78.0, 20.0 ], + "text" : "delay 48000" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-224", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 210.0, 435.0, 113.0, 20.0 ], + "text" : "expr -pow(in2\\,in1)" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-225", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 195.0, 465.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-226", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 255.0, 540.0, 47.0, 20.0 ], + "text" : "history" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-227", + "maxclass" : "newobj", + "numinlets" : 3, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 195.0, 540.0, 46.0, 20.0 ], + "text" : "mix" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-229", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 195.0, 405.0, 78.0, 20.0 ], + "text" : "delay 48000" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-214", + "maxclass" : "newobj", + "numinlets" : 5, + "numoutlets" : 4, + "outlettype" : [ "", "", "", "" ], + "patching_rect" : [ 840.0, 540.0, 465.0, 20.0 ], + "text" : "delay 48000 4" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "frgb" : 0.0, + "id" : "obj-213", + "linecount" : 2, + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 780.0, 540.0, 60.0, 33.0 ], + "text" : "Tap delays" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "frgb" : 0.0, + "id" : "obj-212", + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 900.0, 240.000015, 75.0, 20.0 ], + "text" : "prediffuse" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-211", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 945.0, 1425.0, 38.0, 20.0 ], + "text" : "out 2" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-210", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 435.0, 1425.0, 38.0, 20.0 ], + "text" : "out 1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-204", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1290.0, 600.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-205", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1305.0, 570.0, 109.0, 20.0 ], + "text" : "expr pow(in2\\,in1)" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-202", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1140.0, 600.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-203", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1155.0, 570.0, 109.0, 20.0 ], + "text" : "expr pow(in2\\,in1)" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-200", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 990.0, 600.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-201", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1005.0, 570.0, 109.0, 20.0 ], + "text" : "expr pow(in2\\,in1)" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-199", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 840.0, 600.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-198", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 855.0, 570.0, 109.0, 20.0 ], + "text" : "expr pow(in2\\,in1)" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-197", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1305.0, 510.0, 28.0, 20.0 ], + "text" : "+ 5" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-196", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1155.0, 510.0, 28.0, 20.0 ], + "text" : "+ 5" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-195", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1005.0, 510.0, 28.0, 20.0 ], + "text" : "+ 5" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-194", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 855.0, 510.0, 28.0, 20.0 ], + "text" : "+ 5" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-191", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1155.0, 480.0, 50.0, 20.0 ], + "text" : "* 0.155" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-192", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1005.0, 480.0, 36.0, 20.0 ], + "text" : "* 0.3" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-193", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 855.0, 480.0, 43.0, 20.0 ], + "text" : "* 0.41" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-173", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 975.0, 1110.0, 49.0, 20.0 ], + "text" : "!- 1341" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-174", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 930.0, 1110.0, 32.5, 20.0 ], + "text" : "!-" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-175", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 930.0, 1080.0, 42.0, 20.0 ], + "text" : "+ 369" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-176", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 975.0, 1080.0, 42.0, 20.0 ], + "text" : "+ 931" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-177", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 975.0, 1050.0, 74.0, 20.0 ], + "text" : "* -0.380445" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-178", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 885.0, 1110.0, 42.0, 20.0 ], + "text" : "+ 159" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-179", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 885.0, 1050.0, 74.0, 20.0 ], + "text" : "* -0.568366" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-134", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 945.0, 1320.0, 45.0, 20.0 ], + "text" : "+" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-136", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 945.0, 1290.0, 50.0, 20.0 ], + "text" : "* 0.625" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-137", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 945.0, 1260.0, 32.5, 20.0 ], + "text" : "-" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-140", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 960.0, 1230.0, 50.0, 20.0 ], + "text" : "* 0.625" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-141", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 990.0, 1200.0, 78.0, 20.0 ], + "text" : "delay 12000" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-142", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1020.000061, 1170.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-144", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 795.0, 1320.0, 45.0, 20.0 ], + "text" : "+" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-146", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 795.0, 1290.0, 50.0, 20.0 ], + "text" : "* 0.625" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-147", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 795.0, 1260.0, 32.5, 20.0 ], + "text" : "-" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-150", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 810.0, 1230.0, 50.0, 20.0 ], + "text" : "* 0.625" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-151", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 840.0, 1200.0, 78.0, 20.0 ], + "text" : "delay 16000" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-152", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 870.0, 1170.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-154", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 645.0, 1320.0, 45.0, 20.0 ], + "text" : "+" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-156", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 645.0, 1290.0, 43.0, 20.0 ], + "text" : "* 0.75" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-157", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 645.0, 1260.0, 32.5, 20.0 ], + "text" : "-" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-160", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 660.0, 1230.0, 43.0, 20.0 ], + "text" : "* 0.75" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-161", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 690.0, 1200.0, 71.0, 20.0 ], + "text" : "delay 7000" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-162", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 720.0, 1170.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-131", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 330.0, 1110.0, 49.0, 20.0 ], + "text" : "!- 1341" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-129", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 270.0, 1110.0, 32.5, 20.0 ], + "text" : "!-" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-127", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 270.0, 1080.0, 42.0, 20.0 ], + "text" : "+ 369" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-125", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 330.0, 1080.0, 42.0, 20.0 ], + "text" : "+ 931" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-124", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 330.0, 1050.0, 70.0, 20.0 ], + "text" : "* 0.376623" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-112", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 435.0, 1320.0, 45.0, 20.0 ], + "text" : "+" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-114", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 435.0, 1290.0, 50.0, 20.0 ], + "text" : "* 0.625" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-116", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 435.0, 1260.0, 32.5, 20.0 ], + "text" : "-" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-119", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 450.0, 1230.0, 50.0, 20.0 ], + "text" : "* 0.625" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-120", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 480.0, 1200.0, 78.0, 20.0 ], + "text" : "delay 10000" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-121", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 510.000061, 1170.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-98", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 285.0, 1320.0, 45.0, 20.0 ], + "text" : "+" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-100", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 285.0, 1290.0, 50.0, 20.0 ], + "text" : "* 0.625" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-102", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 285.0, 1260.0, 32.5, 20.0 ], + "text" : "-" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-105", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 300.0, 1230.0, 50.0, 20.0 ], + "text" : "* 0.625" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-106", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 330.0, 1200.0, 78.0, 20.0 ], + "text" : "delay 15000" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-107", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 360.0, 1170.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-95", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 224.999969, 1110.0, 42.0, 20.0 ], + "text" : "+ 159" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-88", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 224.999969, 1050.0, 70.0, 20.0 ], + "text" : "* 0.125541" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-77", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 134.999969, 1320.0, 45.0, 20.0 ], + "text" : "+" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-79", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 134.999969, 1290.0, 43.0, 20.0 ], + "text" : "* 0.75" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-81", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 134.999969, 1260.0, 32.5, 20.0 ], + "text" : "-" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-84", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 149.999969, 1230.0, 43.0, 20.0 ], + "text" : "* 0.75" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-85", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 179.999969, 1200.0, 71.0, 20.0 ], + "text" : "delay 5000" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-86", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 209.999969, 1170.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-74", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 840.0, 300.0, 45.0, 20.0 ], + "text" : "+" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-72", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 840.0, 270.0, 43.0, 20.0 ], + "text" : "* 0.75" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-67", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 840.0, 240.000015, 32.5, 20.0 ], + "text" : "-" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-64", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 855.0, 210.000015, 43.0, 20.0 ], + "text" : "* 0.75" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-63", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 885.0, 180.000015, 71.0, 20.0 ], + "text" : "delay 6000" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-62", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 930.0, 150.0, 70.0, 20.0 ], + "text" : "* 0.110732" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-52", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 675.0, 1110.0, 24.0, 20.0 ], + "text" : "int" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-51", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 675.0, 1080.0, 70.0, 20.0 ], + "text" : "* 0.000527" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-45", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 60.0, 435.0, 113.0, 20.0 ], + "text" : "expr -pow(in2\\,in1)" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-44", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 45.000004, 465.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-42", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 555.0, 345.0, 63.0, 20.0 ], + "text" : "* 0.63245" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-43", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 405.0, 345.0, 57.0, 20.0 ], + "text" : "* 0.7071" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-41", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 255.0, 345.0, 63.0, 20.0 ], + "text" : "* 0.81649" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-40", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 105.0, 345.0, 26.0, 20.0 ], + "text" : "* 1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-35", + "linecount" : 2, + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1125.0, 390.0, 240.0, 33.0 ], + "text" : "expr pow(pow(10\\,-60/20)\\,1./(in1*samplerate))" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-31", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 105.0, 540.0, 47.0, 20.0 ], + "text" : "history" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-32", + "maxclass" : "newobj", + "numinlets" : 3, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 45.000004, 540.0, 46.0, 20.0 ], + "text" : "mix" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "frgb" : 0.0, + "id" : "obj-33", + "linecount" : 2, + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 90.0, 495.0, 60.0, 33.0 ], + "text" : "FDN dampers" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-30", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 45.000004, 405.0, 78.0, 20.0 ], + "text" : "delay 48000" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "frgb" : 0.0, + "id" : "obj-28", + "linecount" : 3, + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 30.0, 330.0, 75.0, 47.0 ], + "text" : "Feeedback delay network" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-27", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 900.0, 104.999992, 47.0, 20.0 ], + "text" : "history" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-17", + "maxclass" : "newobj", + "numinlets" : 3, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 840.0, 104.999992, 46.0, 20.0 ], + "text" : "mix" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "frgb" : 0.0, + "id" : "obj-16", + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 960.0, 105.0, 90.0, 20.0 ], + "text" : "input damper" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-14", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 960.0, 75.0, 28.0, 20.0 ], + "text" : "!- 1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-11", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 675.0, 120.0, 144.0, 20.0 ], + "text" : "expr in1*samplerate/340" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-10", + "linecount" : 2, + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 570.0, 735.0, 105.0, 33.0 ], + "text" : "param tail 0.25 @min 0 @max 1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-7", + "linecount" : 2, + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 960.0, 30.0, 135.0, 33.0 ], + "text" : "param bandwidth 0.5 @min 0 @max 1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-6", + "linecount" : 2, + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 885.0, 990.0, 120.0, 33.0 ], + "text" : "param spread 23 @min 0 @max 100" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-5", + "linecount" : 2, + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 540.0, 495.0, 120.0, 33.0 ], + "text" : "param damping 0.7 @min 0 @max 1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-4", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1125.0, 360.0, 219.0, 20.0 ], + "text" : "param revtime 11 @min 0.1 @max 360" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-3", + "linecount" : 2, + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 675.0, 75.0, 135.0, 33.0 ], + "text" : "param roomsize 75 @min 0.1 @max 300" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-1", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 885.0, 30.0, 30.0, 20.0 ], + "text" : "in 2" + } + + } + ], + "lines" : [ { + "patchline" : { + "destination" : [ "obj-298", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-1", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-266", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 579.5, 774.5, 68.0, 774.5 ], + "source" : [ "obj-10", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-267", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 579.5, 774.5, 218.0, 774.5 ], + "source" : [ "obj-10", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-269", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 579.5, 774.5, 518.0, 774.5 ], + "source" : [ "obj-10", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-270", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 579.5, 774.5, 368.0, 774.5 ], + "source" : [ "obj-10", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-98", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-100", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-100", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-102", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-106", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-102", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-102", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-105", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-105", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-106", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-98", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-106", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-106", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-107", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.827451, 0.737255, 0.835294, 1.0 ], + "destination" : [ "obj-191", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 684.5, 339.5, 1164.5, 339.5 ], + "source" : [ "obj-11", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.827451, 0.737255, 0.835294, 1.0 ], + "destination" : [ "obj-192", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 684.5, 339.5, 1014.5, 339.5 ], + "source" : [ "obj-11", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.827451, 0.737255, 0.835294, 1.0 ], + "destination" : [ "obj-193", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 684.5, 339.5, 864.5, 339.5 ], + "source" : [ "obj-11", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.827451, 0.737255, 0.835294, 1.0 ], + "destination" : [ "obj-197", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 684.5, 338.394897, 1314.5, 338.394897 ], + "source" : [ "obj-11", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.827451, 0.737255, 0.835294, 1.0 ], + "destination" : [ "obj-40", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 684.5, 337.166504, 114.5, 337.166504 ], + "source" : [ "obj-11", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.827451, 0.737255, 0.835294, 1.0 ], + "destination" : [ "obj-41", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 684.5, 337.166504, 264.5, 337.166504 ], + "source" : [ "obj-11", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.827451, 0.737255, 0.835294, 1.0 ], + "destination" : [ "obj-42", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 684.5, 338.630585, 564.5, 338.630585 ], + "source" : [ "obj-11", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.827451, 0.737255, 0.835294, 1.0 ], + "destination" : [ "obj-43", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 684.5, 335.702393, 414.5, 335.702393 ], + "source" : [ "obj-11", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.827451, 0.737255, 0.835294, 1.0 ], + "destination" : [ "obj-51", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 684.5, 609.5, 684.5, 609.5 ], + "source" : [ "obj-11", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.827451, 0.737255, 0.835294, 1.0 ], + "destination" : [ "obj-62", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 684.5, 144.679504, 939.5, 144.679504 ], + "source" : [ "obj-11", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-210", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-112", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-112", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-114", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-114", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-116", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-120", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-116", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-116", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-119", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-112", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-120", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-119", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-120", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-120", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-121", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-125", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-124", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-129", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-125", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-131", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-125", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-129", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-127", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-107", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-129", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-121", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-131", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-211", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-134", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-134", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-136", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-136", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-137", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-141", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-137", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-17", 2 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-14", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-137", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-140", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-134", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-141", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-140", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-141", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-141", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-142", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-137", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-144", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-144", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-146", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-146", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-147", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-151", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-147", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-147", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-150", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-144", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-151", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-150", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-151", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-151", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-152", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-147", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-154", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-154", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-156", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-156", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-157", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-161", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-157", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-157", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-160", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-154", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-161", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-160", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-161", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-161", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-162", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-27", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-17", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-67", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-17", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-142", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-173", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-152", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-174", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-174", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-175", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-173", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-176", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-174", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-176", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-176", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-177", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-162", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-178", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-175", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-179", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-178", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-179", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-196", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-191", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-195", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-192", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-194", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-193", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-198", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-194", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-214", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-194", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-201", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-195", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-214", 2 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-195", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-203", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-196", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-214", 3 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-196", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-205", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-197", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-214", 4 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-197", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-199", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-198", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-248", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-199", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-274", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-199", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-247", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-200", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-273", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-200", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-200", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-201", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-246", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-202", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-272", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-202", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-202", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-203", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-245", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-204", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-271", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-204", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-204", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-205", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-199", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-214", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-200", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-214", 1 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-202", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-214", 2 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-204", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-214", 3 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-225", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-224", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-227", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-225", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-227", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-226", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-226", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-227", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-256", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-227", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-257", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-227", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-225", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-229", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-232", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-231", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-234", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-232", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-234", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-233", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-233", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-234", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-258", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-234", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-260", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-234", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-232", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-236", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-239", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-238", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-241", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-239", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-241", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-240", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-240", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-241", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-258", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-241", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-260", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-241", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-239", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-243", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-236", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 534.5, 749.0, 488.5, 749.0, 488.5, 395.0, 504.5, 395.0 ], + "source" : [ "obj-245", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-243", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 384.5, 749.0, 339.5, 749.0, 339.5, 395.0, 354.5, 395.0 ], + "source" : [ "obj-246", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-229", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 234.5, 749.0, 188.5, 749.0, 188.5, 395.0, 204.5, 395.0 ], + "source" : [ "obj-247", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-30", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 84.5, 749.0, 39.5, 749.0, 39.5, 395.0, 54.500004, 395.0 ], + "source" : [ "obj-248", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-259", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-256", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-263", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-256", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-261", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-257", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-262", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-257", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-259", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-258", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-263", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-258", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-286", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-259", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-261", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-260", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-262", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-260", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-287", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-261", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-264", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-262", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-289", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-263", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-288", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-264", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-292", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-266", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-293", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-267", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-293", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-269", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-17", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-27", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-292", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-270", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-294", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-271", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-295", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-272", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-294", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-273", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-295", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-274", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-271", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 1344.5, 774.5, 1313.0, 774.5 ], + "source" : [ "obj-275", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-272", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 1344.5, 774.5, 1163.0, 774.5 ], + "source" : [ "obj-275", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-273", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 1344.5, 774.5, 1013.0, 774.5 ], + "source" : [ "obj-275", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-274", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 1344.5, 774.5, 863.0, 774.5 ], + "source" : [ "obj-275", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-302", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 279.5, 879.5, 279.5, 879.5 ], + "source" : [ "obj-276", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-302", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 1074.5, 879.5, 293.0, 879.5 ], + "source" : [ "obj-277", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-81", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 279.5, 1020.479736, 144.499969, 1020.479736 ], + "source" : [ "obj-278", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-210", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-283", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-283", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-284", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-248", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-286", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-266", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-286", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-247", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-287", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-267", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-287", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-246", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-288", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-270", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-288", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-245", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-289", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-269", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-289", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-276", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-292", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-276", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-293", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-277", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-294", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-277", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-295", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-157", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 654.5, 1019.015625, 654.5, 1019.015625 ], + "source" : [ "obj-296", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-298", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-297", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-17", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-298", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-296", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-299", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-11", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-3", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-44", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-30", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-278", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-300", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-278", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 279.5, 916.253906, 279.5, 916.253906 ], + "source" : [ "obj-302", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-296", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 279.5, 916.253906, 654.5, 916.253906 ], + "source" : [ "obj-302", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-305", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-304", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-211", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-305", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-283", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 1014.5, 1389.5, 488.0, 1389.5 ], + "source" : [ "obj-306", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-305", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-306", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-32", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-31", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-256", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-32", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-257", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-32", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-31", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-32", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.917647, 0.937255, 0.670588, 1.0 ], + "destination" : [ "obj-198", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 1134.5, 429.869415, 954.5, 429.869415 ], + "source" : [ "obj-35", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.917647, 0.937255, 0.670588, 1.0 ], + "destination" : [ "obj-201", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 1134.5, 429.869415, 1104.5, 429.869415 ], + "source" : [ "obj-35", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.917647, 0.937255, 0.670588, 1.0 ], + "destination" : [ "obj-203", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 1134.5, 431.333496, 1254.5, 431.333496 ], + "source" : [ "obj-35", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.917647, 0.937255, 0.670588, 1.0 ], + "destination" : [ "obj-205", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 1134.5, 428.405304, 1404.5, 428.405304 ], + "source" : [ "obj-35", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.917647, 0.937255, 0.670588, 1.0 ], + "destination" : [ "obj-224", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 1134.5, 429.0, 313.5, 429.0 ], + "source" : [ "obj-35", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.917647, 0.937255, 0.670588, 1.0 ], + "destination" : [ "obj-231", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 1134.5, 429.0, 613.5, 429.0 ], + "source" : [ "obj-35", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.917647, 0.937255, 0.670588, 1.0 ], + "destination" : [ "obj-238", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 1134.5, 429.0, 463.5, 429.0 ], + "source" : [ "obj-35", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.917647, 0.937255, 0.670588, 1.0 ], + "destination" : [ "obj-45", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 1134.5, 429.0, 163.5, 429.0 ], + "source" : [ "obj-35", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-35", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-4", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-30", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-40", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-45", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-40", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-224", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-41", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-229", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-41", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-231", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-42", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-236", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-42", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-238", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-43", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-243", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-43", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-32", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-44", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-44", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-45", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-227", 2 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 549.5, 534.0, 231.5, 534.0 ], + "source" : [ "obj-5", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-234", 2 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 549.5, 534.0, 531.5, 534.0 ], + "source" : [ "obj-5", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-241", 2 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 549.5, 534.0, 381.5, 534.0 ], + "source" : [ "obj-5", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-32", 2 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 549.5, 534.0, 81.5, 534.0 ], + "source" : [ "obj-5", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-52", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-51", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.67451, 0.819608, 0.572549, 1.0 ], + "destination" : [ "obj-107", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 684.5, 1149.5, 369.5, 1149.5 ], + "source" : [ "obj-52", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.67451, 0.819608, 0.572549, 1.0 ], + "destination" : [ "obj-121", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 684.5, 1149.5, 519.500061, 1149.5 ], + "source" : [ "obj-52", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.67451, 0.819608, 0.572549, 1.0 ], + "destination" : [ "obj-142", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 684.5, 1149.5, 1029.5, 1149.5 ], + "source" : [ "obj-52", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.67451, 0.819608, 0.572549, 1.0 ], + "destination" : [ "obj-152", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 684.5, 1149.5, 879.5, 1149.5 ], + "source" : [ "obj-52", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.67451, 0.819608, 0.572549, 1.0 ], + "destination" : [ "obj-162", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 684.5, 1149.5, 729.5, 1149.5 ], + "source" : [ "obj-52", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.67451, 0.819608, 0.572549, 1.0 ], + "destination" : [ "obj-86", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 684.5, 1149.5, 219.499969, 1149.5 ], + "source" : [ "obj-52", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-124", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 894.5, 1037.0, 339.5, 1037.0 ], + "source" : [ "obj-6", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-177", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 894.5, 1037.0, 984.5, 1037.0 ], + "source" : [ "obj-6", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-179", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 894.5, 1037.0, 894.5, 1037.0 ], + "source" : [ "obj-6", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-88", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 894.5, 1037.0, 234.499969, 1037.0 ], + "source" : [ "obj-6", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-63", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-62", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-64", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-63", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-74", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-63", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-67", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-64", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-63", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-67", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-72", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-67", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-14", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-7", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-74", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-72", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-214", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-74", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-102", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-77", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-77", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-79", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-79", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-81", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-85", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-81", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-81", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-84", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-77", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-85", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-84", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-85", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-85", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-86", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-127", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-88", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-95", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-88", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-86", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-95", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-116", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-98", 0 ] + } + + } + ] + } + +} diff --git a/plugins/pitchotto/DistrhoPluginInfo.h b/plugins/pitchotto/DistrhoPluginInfo.h new file mode 100644 index 0000000..31edcd9 --- /dev/null +++ b/plugins/pitchotto/DistrhoPluginInfo.h @@ -0,0 +1,35 @@ +/* + * DPF Max Gen + * Copyright (C) 2015 Filipe Coelho + * + * Permission to use, copy, modify, and/or distribute this software for any purpose with + * or without fee is hereby granted, provided that the above copyright notice and this + * permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD + * TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN + * NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL + * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER + * IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN + * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +#ifndef DISTRHO_PLUGIN_INFO_H_INCLUDED +#define DISTRHO_PLUGIN_INFO_H_INCLUDED + +#define DISTRHO_PLUGIN_BRAND "Shiro" +#define DISTRHO_PLUGIN_NAME "Pitchotto" +#define DISTRHO_PLUGIN_URI "http://distrho.sf.net/plugins/Pitchotto" + +#define DISTRHO_PLUGIN_HAS_UI 0 +#define DISTRHO_PLUGIN_IS_RT_SAFE 0 +#define DISTRHO_PLUGIN_NUM_INPUTS 1 +#define DISTRHO_PLUGIN_NUM_OUTPUTS 1 + +#define DISTRHO_PLUGIN_LV2_CATEGORY "lv2:PitchPlugin" + +#define DISTRHO_PLUGIN_DESCRIPTION "Pitchotto is a pitch-shifter based on the \"Pitch-Shift\"-genpatch in Max, where Phase-shifting is used to achieve different intervals.\n\ +There are two shifted signals available, both with variable window-sizes for arpeggio-like sounds." +#define DISTRHO_PLUGIN_VERSION d_cconst('D', 'M', 'p', 'c') + +#endif // DISTRHO_PLUGIN_INFO_H_INCLUDED diff --git a/plugins/pitchotto/DistrhoPluginMaxGen.cpp b/plugins/pitchotto/DistrhoPluginMaxGen.cpp new file mode 120000 index 0000000..d985fe0 --- /dev/null +++ b/plugins/pitchotto/DistrhoPluginMaxGen.cpp @@ -0,0 +1 @@ +../common/DistrhoPluginMaxGen.cpp \ No newline at end of file diff --git a/plugins/pitchotto/Makefile b/plugins/pitchotto/Makefile new file mode 100644 index 0000000..4b600e7 --- /dev/null +++ b/plugins/pitchotto/Makefile @@ -0,0 +1,40 @@ +#!/usr/bin/make -f +# Makefile for DISTRHO Plugins # +# ---------------------------- # +# Created by falkTX +# + +# -------------------------------------------------------------- +# Project name, used for binaries + +NAME = Pitchotto + +# -------------------------------------------------------------- +# Files to build + +OBJS_DSP = \ + DistrhoPluginMaxGen.cpp.o \ + gen_exported.cpp.o + +# -------------------------------------------------------------- +# Do some magic + +include ../Makefile.DPF-Max-Gen.mk + +# -------------------------------------------------------------- +# Enable all possible plugin types + +ifeq ($(HAVE_JACK),true) +TARGETS += jack +endif + +ifeq ($(LINUX),true) +TARGETS += ladspa +endif + +TARGETS += lv2_dsp +TARGETS += vst + +all: $(TARGETS) + +# -------------------------------------------------------------- diff --git a/plugins/pitchotto/gen_exported.cpp b/plugins/pitchotto/gen_exported.cpp new file mode 100644 index 0000000..8cbe6f5 --- /dev/null +++ b/plugins/pitchotto/gen_exported.cpp @@ -0,0 +1,568 @@ +#include "gen_exported.h" + +namespace gen_exported { + + +/******************************************************************************************************************* +Copyright (c) 2012 Cycling '74 + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software +and associated documentation files (the "Software"), to deal in the Software without restriction, +including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies +or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, +INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE +OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +*******************************************************************************************************************/ + + +// global noise generator +Noise noise; +static const int GENLIB_LOOPCOUNT_BAIL = 100000; + + +// The State struct contains all the state and procedures for the gendsp kernel +typedef struct State { + CommonState __commonstate; + Delay m_delay_12; + Delay m_delay_11; + Delta m_delta_22; + Delta m_delta_38; + Delta m_delta_41; + Delta m_delta_31; + Delta m_delta_28; + Delta m_delta_25; + Delta m_delta_44; + Delta m_delta_35; + Phasor m_phasor_34; + Phasor m_phasor_21; + Sah m_sah_23; + Sah m_sah_27; + Sah m_sah_42; + Sah m_sah_26; + Sah m_sah_24; + Sah m_sah_43; + Sah m_sah_36; + Sah m_sah_29; + Sah m_sah_40; + Sah m_sah_37; + Sah m_sah_30; + Sah m_sah_39; + Sah m_sah_32; + Sah m_sah_33; + Sah m_sah_46; + Sah m_sah_45; + double m_history_5; + double m_history_6; + double m_history_7; + double samples_to_seconds; + double m_history_4; + double m_history_2; + double m_history_3; + double samplerate; + double m_y_1; + double m_history_9; + double m_history_8; + double m_resonance_13; + double m_y_10; + double m_window_19; + double m_ratio_20; + double m_blur_17; + double m_ratio_18; + double m_window_15; + double m_cutoff_14; + double m_mix_16; + int vectorsize; + int __exception; + // re-initialize all member variables; + inline void reset(double __sr, int __vs) { + __exception = 0; + vectorsize = __vs; + samplerate = __sr; + m_y_1 = 0; + m_history_2 = 0; + m_history_3 = 0; + m_history_4 = 0; + m_history_5 = 0; + m_history_6 = 0; + m_history_7 = 0; + m_history_8 = 0; + m_history_9 = 0; + m_y_10 = 0; + m_delay_11.reset("m_delay_11", 96000); + m_delay_12.reset("m_delay_12", 96000); + m_resonance_13 = 0; + m_cutoff_14 = 2250; + m_window_15 = 100; + m_mix_16 = 0.5; + m_blur_17 = 0.25; + m_ratio_18 = 0.5; + m_window_19 = 100; + m_ratio_20 = 2; + samples_to_seconds = (1 / samplerate); + m_phasor_21.reset(0); + m_delta_22.reset(0); + m_sah_23.reset(0); + m_sah_24.reset(0); + m_delta_25.reset(0); + m_sah_26.reset(0); + m_sah_27.reset(0); + m_delta_28.reset(0); + m_sah_29.reset(0); + m_sah_30.reset(0); + m_delta_31.reset(0); + m_sah_32.reset(0); + m_sah_33.reset(0); + m_phasor_34.reset(0); + m_delta_35.reset(0); + m_sah_36.reset(0); + m_sah_37.reset(0); + m_delta_38.reset(0); + m_sah_39.reset(0); + m_sah_40.reset(0); + m_delta_41.reset(0); + m_sah_42.reset(0); + m_sah_43.reset(0); + m_delta_44.reset(0); + m_sah_45.reset(0); + m_sah_46.reset(0); + genlib_reset_complete(this); + + }; + // the signal processing routine; + inline int perform(t_sample ** __ins, t_sample ** __outs, int __n) { + vectorsize = __n; + const t_sample * __in1 = __ins[0]; + t_sample * __out1 = __outs[0]; + if (__exception) { + return __exception; + + } else if (( (__in1 == 0) || (__out1 == 0) )) { + __exception = GENLIB_ERR_NULL_BUFFER; + return __exception; + + }; + double mul_2327 = (m_resonance_13 * 0.125); + double exp_2328 = exp(mul_2327); + double mul_2326 = (exp_2328 * 0.882497); + double mul_2322 = (mul_2326 * mul_2326); + double expr_2437 = safediv(((m_cutoff_14 * 2) * 3.1415926535898), 44100); + double cos_2325 = cos(expr_2437); + double mul_2324 = (cos_2325 * mul_2326); + double mul_2323 = (mul_2324 * -2); + double add_2321 = ((mul_2323 + mul_2322) + 1); + double mstosamps_2393 = (m_window_15 * (samplerate * 0.001)); + double mstosamps_2309 = (m_window_19 * (samplerate * 0.001)); + double rsub_2296 = (1 - m_ratio_20); + double mul_2295 = (rsub_2296 * 1000); + double div_2294 = safediv(mul_2295, m_window_19); + samples_to_seconds = (1 / samplerate); + double rsub_2380 = (1 - m_ratio_18); + double mul_2379 = (rsub_2380 * 1000); + double div_2378 = safediv(mul_2379, m_window_15); + // the main sample loop; + while ((__n--)) { + const double in1 = (*(__in1++)); + double noise_2247 = noise(); + double abs_2264 = fabs(noise_2247); + double mul_2270 = (abs_2264 * m_blur_17); + double noise_2246 = noise(); + double abs_2263 = fabs(noise_2246); + double mul_2267 = (abs_2263 * m_blur_17); + double noise_2330 = noise(); + double abs_2348 = fabs(noise_2330); + double mul_2354 = (abs_2348 * m_blur_17); + double noise_2332 = noise(); + double abs_2350 = fabs(noise_2332); + double mul_2360 = (abs_2350 * m_blur_17); + double noise_2249 = noise(); + double abs_2266 = fabs(noise_2249); + double mul_2276 = (abs_2266 * m_blur_17); + double noise_2248 = noise(); + double abs_2265 = fabs(noise_2248); + double mul_2273 = (abs_2265 * m_blur_17); + double noise_2331 = noise(); + double abs_2349 = fabs(noise_2331); + double mul_2357 = (abs_2349 * m_blur_17); + double noise_2329 = noise(); + double abs_2347 = fabs(noise_2329); + double mul_2351 = (abs_2347 * m_blur_17); + double mul_2318 = (mul_2322 * m_y_10); + double mul_2319 = (mul_2323 * m_y_1); + double phasor_2315 = m_phasor_21(div_2294, samples_to_seconds); + double add_2293 = ((phasor_2315 + m_history_9) + 0.5); + double mod_2292 = safemod(add_2293, 1); + double delta_2272 = m_delta_22(mod_2292); + double sah_2252 = m_sah_23(mul_2270, delta_2272, 0); + double sah_2271 = m_sah_24(mstosamps_2309, delta_2272, 0); + double mul_2260 = (sah_2271 * mod_2292); + double sub_2291 = (mod_2292 - 0.5); + double mul_2290 = (sub_2291 * 3.1415926535898); + double cos_2289 = cos(mul_2290); + double mul_2279 = (cos_2289 * cos_2289); + double add_2287 = ((phasor_2315 + m_history_8) + 0.75); + double mod_2286 = safemod(add_2287, 1); + double delta_2269 = m_delta_25(mod_2286); + double sah_2250 = m_sah_26(mul_2267, delta_2269, 0); + double sah_2268 = m_sah_27(mstosamps_2309, delta_2269, 0); + double mul_2259 = (sah_2268 * mod_2286); + double sub_2285 = (mod_2286 - 0.5); + double mul_2284 = (sub_2285 * 3.1415926535898); + double cos_2283 = cos(mul_2284); + double mul_2278 = (cos_2283 * cos_2283); + double add_2314 = ((phasor_2315 + m_history_7) + 0); + double mod_2313 = safemod(add_2314, 1); + double delta_2257 = m_delta_28(mod_2313); + double sah_2256 = m_sah_29(mul_2276, delta_2257, 0); + double sah_2277 = m_sah_30(mstosamps_2309, delta_2257, 0); + double mul_2262 = (sah_2277 * mod_2313); + double sub_2312 = (mod_2313 - 0.5); + double mul_2311 = (sub_2312 * 3.1415926535898); + double cos_2310 = cos(mul_2311); + double mul_2281 = (cos_2310 * cos_2310); + double add_2308 = ((phasor_2315 + m_history_6) + 0.25); + double mod_2307 = safemod(add_2308, 1); + double delta_2275 = m_delta_31(mod_2307); + double sah_2254 = m_sah_32(mul_2273, delta_2275, 0); + double sah_2274 = m_sah_33(mstosamps_2309, delta_2275, 0); + double mul_2261 = (sah_2274 * mod_2307); + double tap_2300 = m_delay_12.read_linear(mul_2262); + double tap_2301 = m_delay_12.read_linear(mul_2261); + double tap_2302 = m_delay_12.read_linear(mul_2260); + double tap_2303 = m_delay_12.read_linear(mul_2259); + double mul_2282 = (tap_2303 * mul_2278); + double mul_2288 = (tap_2302 * mul_2279); + double mul_2298 = (tap_2300 * mul_2281); + double sub_2306 = (mod_2307 - 0.5); + double mul_2305 = (sub_2306 * 3.1415926535898); + double cos_2304 = cos(mul_2305); + double mul_2280 = (cos_2304 * cos_2304); + double mul_2297 = (tap_2301 * mul_2280); + double phasor_2399 = m_phasor_34(div_2378, samples_to_seconds); + double add_2377 = ((m_history_5 + phasor_2399) + 0.5); + double mod_2376 = safemod(add_2377, 1); + double delta_2356 = m_delta_35(mod_2376); + double sah_2335 = m_sah_36(mul_2354, delta_2356, 0); + double sah_2355 = m_sah_37(mstosamps_2393, delta_2356, 0); + double mul_2344 = (sah_2355 * mod_2376); + double sub_2375 = (mod_2376 - 0.5); + double mul_2374 = (sub_2375 * 3.1415926535898); + double cos_2373 = cos(mul_2374); + double mul_2363 = (cos_2373 * cos_2373); + double add_2398 = ((m_history_4 + phasor_2399) + 0); + double mod_2397 = safemod(add_2398, 1); + double delta_2340 = m_delta_38(mod_2397); + double sah_2339 = m_sah_39(mul_2360, delta_2340, 0); + double sah_2361 = m_sah_40(mstosamps_2393, delta_2340, 0); + double mul_2346 = (sah_2361 * mod_2397); + double sub_2396 = (mod_2397 - 0.5); + double mul_2395 = (sub_2396 * 3.1415926535898); + double cos_2394 = cos(mul_2395); + double mul_2365 = (cos_2394 * cos_2394); + double add_2392 = ((m_history_3 + phasor_2399) + 0.25); + double mod_2391 = safemod(add_2392, 1); + double delta_2359 = m_delta_41(mod_2391); + double sah_2337 = m_sah_42(mul_2357, delta_2359, 0); + double sah_2358 = m_sah_43(mstosamps_2393, delta_2359, 0); + double mul_2345 = (sah_2358 * mod_2391); + double sub_2390 = (mod_2391 - 0.5); + double mul_2389 = (sub_2390 * 3.1415926535898); + double cos_2388 = cos(mul_2389); + double mul_2364 = (cos_2388 * cos_2388); + double add_2371 = ((m_history_2 + phasor_2399) + 0.75); + double mod_2370 = safemod(add_2371, 1); + double delta_2353 = m_delta_44(mod_2370); + double sah_2333 = m_sah_45(mul_2351, delta_2353, 0); + double sah_2352 = m_sah_46(mstosamps_2393, delta_2353, 0); + double mul_2343 = (sah_2352 * mod_2370); + double tap_2384 = m_delay_11.read_linear(mul_2346); + double tap_2385 = m_delay_11.read_linear(mul_2345); + double tap_2386 = m_delay_11.read_linear(mul_2344); + double tap_2387 = m_delay_11.read_linear(mul_2343); + double mul_2382 = (tap_2384 * mul_2365); + double mul_2381 = (tap_2385 * mul_2364); + double mul_2372 = (tap_2386 * mul_2363); + double sub_2369 = (mod_2370 - 0.5); + double mul_2368 = (sub_2369 * 3.1415926535898); + double cos_2367 = cos(mul_2368); + double mul_2362 = (cos_2367 * cos_2367); + double mul_2366 = (tap_2387 * mul_2362); + double mul_2320 = ((((((((mul_2298 + mul_2297) + mul_2288) + mul_2282) + mul_2366) + mul_2372) + mul_2381) + mul_2382) * add_2321); + double sub_2317 = (mul_2320 - (mul_2319 + mul_2318)); + double mix_2450 = (in1 + (m_mix_16 * (sub_2317 - in1))); + double out1 = mix_2450; + double y2_next_2440 = m_y_1; + double history_2253_next_2441 = sah_2252; + double history_2251_next_2442 = sah_2250; + double history_2258_next_2443 = sah_2256; + double history_2255_next_2444 = sah_2254; + double history_2336_next_2445 = sah_2335; + double history_2341_next_2446 = sah_2339; + double history_2338_next_2447 = sah_2337; + double history_2334_next_2448 = sah_2333; + double y1_next_2449 = sub_2317; + m_delay_12.write(in1); + m_delay_11.write(in1); + m_y_10 = y2_next_2440; + m_history_9 = history_2253_next_2441; + m_history_8 = history_2251_next_2442; + m_history_7 = history_2258_next_2443; + m_history_6 = history_2255_next_2444; + m_history_5 = history_2336_next_2445; + m_history_4 = history_2341_next_2446; + m_history_3 = history_2338_next_2447; + m_history_2 = history_2334_next_2448; + m_y_1 = y1_next_2449; + m_delay_11.step(); + m_delay_12.step(); + // assign results to output buffer; + (*(__out1++)) = out1; + + }; + return __exception; + + }; + inline void set_resonance(double _value) { + m_resonance_13 = (_value < 0 ? 0 : (_value > 0.25 ? 0.25 : _value)); + }; + inline void set_cutoff(double _value) { + m_cutoff_14 = (_value < 0 ? 0 : (_value > 3000 ? 3000 : _value)); + }; + inline void set_window1(double _value) { + m_window_15 = (_value < 0.1 ? 0.1 : (_value > 1000 ? 1000 : _value)); + }; + inline void set_mix(double _value) { + m_mix_16 = (_value < 0 ? 0 : (_value > 1 ? 1 : _value)); + }; + inline void set_blur(double _value) { + m_blur_17 = (_value < 0.01 ? 0.01 : (_value > 0.25 ? 0.25 : _value)); + }; + inline void set_ratio1(double _value) { + m_ratio_18 = (_value < 0.5 ? 0.5 : (_value > 2 ? 2 : _value)); + }; + inline void set_window2(double _value) { + m_window_19 = (_value < 0.1 ? 0.1 : (_value > 1000 ? 1000 : _value)); + }; + inline void set_ratio2(double _value) { + m_ratio_20 = (_value < 0.5 ? 0.5 : (_value > 2 ? 2 : _value)); + }; + +} State; + + +/// +/// Configuration for the genlib API +/// + +/// Number of signal inputs and outputs + +int gen_kernel_numins = 1; +int gen_kernel_numouts = 1; + +int num_inputs() { return gen_kernel_numins; } +int num_outputs() { return gen_kernel_numouts; } +int num_params() { return 8; } + +/// Assistive lables for the signal inputs and outputs + +const char * gen_kernel_innames[] = { "in1" }; +const char * gen_kernel_outnames[] = { "out1" }; + +/// Invoke the signal process of a State object + +int perform(CommonState *cself, t_sample **ins, long numins, t_sample **outs, long numouts, long n) { + State * self = (State *)cself; + return self->perform(ins, outs, n); +} + +/// Reset all parameters and stateful operators of a State object + +void reset(CommonState *cself) { + State * self = (State *)cself; + self->reset(cself->sr, cself->vs); +} + +/// Set a parameter of a State object + +void setparameter(CommonState *cself, long index, double value, void *ref) { + State * self = (State *)cself; + switch (index) { + case 0: self->set_resonance(value); break; + case 1: self->set_cutoff(value); break; + case 2: self->set_window1(value); break; + case 3: self->set_mix(value); break; + case 4: self->set_blur(value); break; + case 5: self->set_ratio1(value); break; + case 6: self->set_window2(value); break; + case 7: self->set_ratio2(value); break; + + default: break; + } +} + +/// Get the value of a parameter of a State object + +void getparameter(CommonState *cself, long index, double *value) { + State *self = (State *)cself; + switch (index) { + case 0: *value = self->m_resonance_13; break; + case 1: *value = self->m_cutoff_14; break; + case 2: *value = self->m_window_15; break; + case 3: *value = self->m_mix_16; break; + case 4: *value = self->m_blur_17; break; + case 5: *value = self->m_ratio_18; break; + case 6: *value = self->m_window_19; break; + case 7: *value = self->m_ratio_20; break; + + default: break; + } +} + +/// Allocate and configure a new State object and it's internal CommonState: + +void * create(double sr, long vs) { + State *self = new State; + self->reset(sr, vs); + ParamInfo *pi; + self->__commonstate.inputnames = gen_kernel_innames; + self->__commonstate.outputnames = gen_kernel_outnames; + self->__commonstate.numins = gen_kernel_numins; + self->__commonstate.numouts = gen_kernel_numouts; + self->__commonstate.sr = sr; + self->__commonstate.vs = vs; + self->__commonstate.params = (ParamInfo *)genlib_sysmem_newptr(8 * sizeof(ParamInfo)); + self->__commonstate.numparams = 8; + // initialize parameter 0 ("m_resonance_13") + pi = self->__commonstate.params + 0; + pi->name = "resonance"; + pi->paramtype = GENLIB_PARAMTYPE_FLOAT; + pi->defaultvalue = self->m_resonance_13; + pi->defaultref = 0; + pi->hasinputminmax = false; + pi->inputmin = 0; + pi->inputmax = 1; + pi->hasminmax = true; + pi->outputmin = 0; + pi->outputmax = 0.25; + pi->exp = 0; + pi->units = ""; // no units defined + // initialize parameter 1 ("m_cutoff_14") + pi = self->__commonstate.params + 1; + pi->name = "cutoff"; + pi->paramtype = GENLIB_PARAMTYPE_FLOAT; + pi->defaultvalue = self->m_cutoff_14; + pi->defaultref = 0; + pi->hasinputminmax = false; + pi->inputmin = 0; + pi->inputmax = 1; + pi->hasminmax = true; + pi->outputmin = 0; + pi->outputmax = 3000; + pi->exp = 0; + pi->units = ""; // no units defined + // initialize parameter 2 ("m_window_15") + pi = self->__commonstate.params + 2; + pi->name = "window1"; + pi->paramtype = GENLIB_PARAMTYPE_FLOAT; + pi->defaultvalue = self->m_window_15; + pi->defaultref = 0; + pi->hasinputminmax = false; + pi->inputmin = 0; + pi->inputmax = 1; + pi->hasminmax = true; + pi->outputmin = 0.1; + pi->outputmax = 1000; + pi->exp = 0; + pi->units = ""; // no units defined + // initialize parameter 3 ("m_mix_16") + pi = self->__commonstate.params + 3; + pi->name = "mix"; + pi->paramtype = GENLIB_PARAMTYPE_FLOAT; + pi->defaultvalue = self->m_mix_16; + pi->defaultref = 0; + pi->hasinputminmax = false; + pi->inputmin = 0; + pi->inputmax = 1; + pi->hasminmax = true; + pi->outputmin = 0; + pi->outputmax = 1; + pi->exp = 0; + pi->units = ""; // no units defined + // initialize parameter 4 ("m_blur_17") + pi = self->__commonstate.params + 4; + pi->name = "blur"; + pi->paramtype = GENLIB_PARAMTYPE_FLOAT; + pi->defaultvalue = self->m_blur_17; + pi->defaultref = 0; + pi->hasinputminmax = false; + pi->inputmin = 0; + pi->inputmax = 1; + pi->hasminmax = true; + pi->outputmin = 0.01; + pi->outputmax = 0.25; + pi->exp = 0; + pi->units = ""; // no units defined + // initialize parameter 5 ("m_ratio_18") + pi = self->__commonstate.params + 5; + pi->name = "ratio1"; + pi->paramtype = GENLIB_PARAMTYPE_FLOAT; + pi->defaultvalue = self->m_ratio_18; + pi->defaultref = 0; + pi->hasinputminmax = false; + pi->inputmin = 0; + pi->inputmax = 1; + pi->hasminmax = true; + pi->outputmin = 0.5; + pi->outputmax = 2; + pi->exp = 0; + pi->units = ""; // no units defined + // initialize parameter 6 ("m_window_19") + pi = self->__commonstate.params + 6; + pi->name = "window2"; + pi->paramtype = GENLIB_PARAMTYPE_FLOAT; + pi->defaultvalue = self->m_window_19; + pi->defaultref = 0; + pi->hasinputminmax = false; + pi->inputmin = 0; + pi->inputmax = 1; + pi->hasminmax = true; + pi->outputmin = 0.1; + pi->outputmax = 1000; + pi->exp = 0; + pi->units = ""; // no units defined + // initialize parameter 7 ("m_ratio_20") + pi = self->__commonstate.params + 7; + pi->name = "ratio2"; + pi->paramtype = GENLIB_PARAMTYPE_FLOAT; + pi->defaultvalue = self->m_ratio_20; + pi->defaultref = 0; + pi->hasinputminmax = false; + pi->inputmin = 0; + pi->inputmax = 1; + pi->hasminmax = true; + pi->outputmin = 0.5; + pi->outputmax = 2; + pi->exp = 0; + pi->units = ""; // no units defined + + return self; +} + +/// Release all resources and memory used by a State object: + +void destroy(CommonState *cself) { + State * self = (State *)cself; + genlib_sysmem_freeptr(cself->params); + + delete self; +} + + +} // gen_exported:: diff --git a/plugins/pitchotto/gen_exported.h b/plugins/pitchotto/gen_exported.h new file mode 100644 index 0000000..ab06792 --- /dev/null +++ b/plugins/pitchotto/gen_exported.h @@ -0,0 +1,37 @@ +/******************************************************************************************************************* +Copyright (c) 2012 Cycling '74 + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software +and associated documentation files (the "Software"), to deal in the Software without restriction, +including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies +or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, +INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE +OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +*******************************************************************************************************************/ + + +#include "genlib.h" +#include "genlib_exportfunctions.h" +#include "genlib_ops.h" + +namespace gen_exported { + +int num_inputs(); +int num_outputs(); +int num_params(); +int perform(CommonState *cself, t_sample **ins, long numins, t_sample **outs, long numouts, long n); +void reset(CommonState *cself); +void setparameter(CommonState *cself, long index, double value, void *ref); +void getparameter(CommonState *cself, long index, double *value); +void * create(double sr, long vs); +void destroy(CommonState *cself); + +} // gen_exported:: diff --git a/plugins/pitchotto/pitchotto.gendsp b/plugins/pitchotto/pitchotto.gendsp new file mode 100644 index 0000000..7292c3f --- /dev/null +++ b/plugins/pitchotto/pitchotto.gendsp @@ -0,0 +1,4428 @@ +{ + "patcher" : { + "fileversion" : 1, + "appversion" : { + "major" : 6, + "minor" : 1, + "revision" : 9, + "architecture" : "x86" + } +, + "rect" : [ 5.0, 45.0, 955.0, 830.0 ], + "bgcolor" : [ 0.9, 0.9, 0.9, 1.0 ], + "bglocked" : 0, + "openinpresentation" : 0, + "default_fontsize" : 12.0, + "default_fontface" : 0, + "default_fontname" : "Arial", + "gridonopen" : 0, + "gridsize" : [ 15.0, 15.0 ], + "gridsnaponopen" : 0, + "statusbarvisible" : 0, + "toolbarvisible" : 1, + "boxanimatetime" : 200, + "imprint" : 0, + "enablehscroll" : 1, + "enablevscroll" : 1, + "devicewidth" : 0.0, + "description" : "", + "digest" : "", + "tags" : "", + "boxes" : [ { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-370", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1428.833252, 36.0, 39.0, 20.0 ], + "text" : "noise" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-371", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1278.0, 36.0, 39.0, 20.0 ], + "text" : "noise" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-372", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1127.166626, 36.0, 39.0, 20.0 ], + "text" : "noise" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-373", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 976.333313, 36.0, 39.0, 20.0 ], + "text" : "noise" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-374", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1428.833252, 131.0, 40.0, 20.0 ], + "text" : "sah 0" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-375", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1428.833252, 156.0, 46.0, 20.0 ], + "text" : "history" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-376", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1278.0, 131.0, 40.0, 20.0 ], + "text" : "sah 0" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-377", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1278.0, 156.0, 46.0, 20.0 ], + "text" : "history" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-378", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1127.166626, 131.0, 40.0, 20.0 ], + "text" : "sah 0" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-379", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1127.166626, 156.0, 46.0, 20.0 ], + "text" : "history" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-380", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 976.333313, 131.0, 40.0, 20.0 ], + "text" : "sah 0" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-381", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 926.333313, 246.0, 37.0, 20.0 ], + "text" : "delta" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-382", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 976.333313, 156.0, 46.0, 20.0 ], + "text" : "history" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-383", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1357.833252, 316.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-384", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1207.0, 316.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-385", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1056.166626, 316.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-386", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 905.333313, 316.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-387", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1428.833252, 71.0, 30.0, 20.0 ], + "text" : "abs" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-388", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1278.0, 71.0, 30.0, 20.0 ], + "text" : "abs" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-389", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1127.166626, 71.0, 30.0, 20.0 ], + "text" : "abs" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-390", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 976.333313, 71.0, 30.0, 20.0 ], + "text" : "abs" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-391", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1428.833252, 96.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-392", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1357.833252, 281.0, 40.0, 20.0 ], + "text" : "sah 0" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-393", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1378.833252, 246.0, 37.0, 20.0 ], + "text" : "delta" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-394", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1278.0, 96.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-395", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1207.0, 281.0, 40.0, 20.0 ], + "text" : "sah 0" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-396", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1228.0, 246.0, 37.0, 20.0 ], + "text" : "delta" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-397", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1127.166626, 96.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-398", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1056.166626, 281.0, 40.0, 20.0 ], + "text" : "sah 0" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-399", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1077.166626, 246.0, 37.0, 20.0 ], + "text" : "delta" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-400", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 976.333313, 96.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-401", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 905.333313, 281.0, 40.0, 20.0 ], + "text" : "sah 0" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-402", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1371.333252, 451.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-403", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1220.5, 451.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-404", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1069.666626, 451.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-405", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 918.833313, 451.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-406", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1357.833252, 476.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-407", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1371.333252, 426.0, 29.0, 20.0 ], + "text" : "cos" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-408", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1371.333252, 401.0, 28.0, 20.0 ], + "text" : "* pi" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-409", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1371.333252, 376.0, 35.0, 20.0 ], + "text" : "- 0.5" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-410", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1428.833252, 221.0, 31.0, 20.0 ], + "text" : "% 1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-411", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1428.833252, 196.0, 44.0, 20.0 ], + "text" : "+ 0.75" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-412", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1207.0, 476.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-413", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1220.5, 426.0, 29.0, 20.0 ], + "text" : "cos" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-414", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1220.5, 401.0, 28.0, 20.0 ], + "text" : "* pi" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-415", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1220.5, 376.0, 35.0, 20.0 ], + "text" : "- 0.5" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-416", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1278.0, 221.0, 31.0, 20.0 ], + "text" : "% 1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-417", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1278.0, 196.0, 38.0, 20.0 ], + "text" : "+ 0.5" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-418", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 774.333313, 131.0, 32.5, 20.0 ], + "text" : "/" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-419", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 774.333313, 96.0, 45.0, 20.0 ], + "text" : "* 1000" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-420", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 774.333313, 71.0, 31.0, 20.0 ], + "text" : "!- 1." + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-421", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 774.333313, 36.0, 198.0, 20.0 ], + "text" : "param ratio2 2. @min 0.5 @max 2." + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-422", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1056.166626, 476.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-423", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 905.333313, 476.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-424", + "maxclass" : "newobj", + "numinlets" : 5, + "numoutlets" : 4, + "outlettype" : [ "", "", "", "" ], + "patching_rect" : [ 754.5, 351.0, 622.333313, 20.0 ], + "text" : "delay 96000 4" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-425", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1069.666626, 426.0, 29.0, 20.0 ], + "text" : "cos" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-426", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1069.666626, 401.0, 28.0, 20.0 ], + "text" : "* pi" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-427", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1069.666626, 376.0, 35.0, 20.0 ], + "text" : "- 0.5" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-428", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1127.166626, 221.0, 31.0, 20.0 ], + "text" : "% 1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-429", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1127.166626, 196.0, 44.0, 20.0 ], + "text" : "+ 0.25" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-430", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 754.5, 246.0, 72.0, 20.0 ], + "text" : "mstosamps" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-431", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 754.5, 11.0, 248.0, 20.0 ], + "text" : "param window2 100. @min 0.1 @max 1000." + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-432", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 918.833313, 426.0, 29.0, 20.0 ], + "text" : "cos" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-433", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 918.833313, 401.0, 28.0, 20.0 ], + "text" : "* pi" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-434", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 918.833313, 376.0, 35.0, 20.0 ], + "text" : "- 0.5" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-435", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 976.333313, 221.0, 31.0, 20.0 ], + "text" : "% 1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-436", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 976.333313, 196.0, 31.0, 20.0 ], + "text" : "+ 0." + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-437", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 774.333313, 156.0, 47.0, 20.0 ], + "text" : "phasor" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-98", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 564.5, 531.0, 186.0, 20.0 ], + "text" : "param mix 0.5 @min 0. @max 1." + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-11", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 754.5, 531.0, 170.0, 20.0 ], + "text" : "expr out=in1*2*PI/samplerate\\;" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-20", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 740.583313, 721.0, 60.5, 20.0 ], + "text" : "-" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-21", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 985.25, 696.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-69", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 998.75, 671.0, 74.0, 20.0 ], + "text" : "history y2 0" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-70", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 782.5, 671.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-75", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 740.583313, 696.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-76", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 796.5, 646.0, 74.0, 20.0 ], + "text" : "history y1 0" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-77", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 754.5, 671.0, 28.0, 20.0 ], + "text" : "+ 1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-78", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 985.25, 611.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-79", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 754.5, 611.0, 30.0, 20.0 ], + "text" : "* -2" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-80", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 754.5, 581.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-81", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 754.5, 556.0, 30.0, 20.0 ], + "text" : "cos" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-82", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 984.5, 581.0, 70.0, 20.0 ], + "text" : "* 0.882497" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-86", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 984.5, 531.0, 50.0, 20.0 ], + "text" : "* 0.125" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-92", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 984.5, 556.0, 30.0, 20.0 ], + "text" : "exp" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-94", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 984.5, 506.0, 230.0, 20.0 ], + "text" : "param resonance 0. @min 0. @max 0.25" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-96", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 754.5, 506.0, 230.0, 20.0 ], + "text" : "param cutoff 2250. @min 0. @max 3000." + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-87", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 689.833313, 36.0, 39.0, 20.0 ], + "text" : "noise" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-88", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 539.0, 36.0, 39.0, 20.0 ], + "text" : "noise" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-89", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 388.166656, 36.0, 39.0, 20.0 ], + "text" : "noise" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-90", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 237.333328, 36.0, 39.0, 20.0 ], + "text" : "noise" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-61", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 689.833313, 131.0, 40.0, 20.0 ], + "text" : "sah 0" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-74", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 689.833313, 156.0, 46.0, 20.0 ], + "text" : "history" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-48", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 539.0, 131.0, 40.0, 20.0 ], + "text" : "sah 0" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-52", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 539.0, 156.0, 46.0, 20.0 ], + "text" : "history" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-34", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 388.166656, 131.0, 40.0, 20.0 ], + "text" : "sah 0" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-41", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 388.166656, 156.0, 46.0, 20.0 ], + "text" : "history" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-27", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 237.333328, 131.0, 40.0, 20.0 ], + "text" : "sah 0" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-24", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 187.333328, 246.0, 37.0, 20.0 ], + "text" : "delta" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-8", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 237.333328, 156.0, 46.0, 20.0 ], + "text" : "history" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-85", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 537.5, 531.0, 30.0, 20.0 ], + "text" : "in 1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-83", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 537.5, 721.0, 37.0, 20.0 ], + "text" : "out 1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-84", + "maxclass" : "newobj", + "numinlets" : 3, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 537.5, 611.0, 46.0, 20.0 ], + "text" : "mix" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-62", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 618.833313, 316.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-67", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 468.0, 316.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-68", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 317.166656, 316.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-73", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 166.333328, 316.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-56", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 689.833313, 71.0, 30.0, 20.0 ], + "text" : "abs" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-57", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 539.0, 71.0, 30.0, 20.0 ], + "text" : "abs" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-58", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 388.166656, 71.0, 30.0, 20.0 ], + "text" : "abs" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-59", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 237.333328, 71.0, 30.0, 20.0 ], + "text" : "abs" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-55", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1231.333252, 11.0, 221.0, 20.0 ], + "text" : "param blur 0.25 @min 0.01 @max 0.25" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-47", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 689.833313, 96.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-49", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 618.833313, 281.0, 40.0, 20.0 ], + "text" : "sah 0" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-50", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 639.833313, 246.0, 37.0, 20.0 ], + "text" : "delta" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-51", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 539.0, 96.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-53", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 468.0, 281.0, 40.0, 20.0 ], + "text" : "sah 0" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-54", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 489.0, 246.0, 37.0, 20.0 ], + "text" : "delta" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-26", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 388.166656, 96.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-28", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 317.166656, 281.0, 40.0, 20.0 ], + "text" : "sah 0" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-29", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 338.166656, 246.0, 37.0, 20.0 ], + "text" : "delta" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-25", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 237.333328, 96.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-23", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 166.333328, 281.0, 40.0, 20.0 ], + "text" : "sah 0" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-65", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 632.333313, 451.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-66", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 481.5, 451.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-64", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 330.666656, 451.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-63", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 179.833328, 451.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-40", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 618.833313, 476.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-42", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 632.333313, 426.0, 29.0, 20.0 ], + "text" : "cos" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-43", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 632.333313, 401.0, 28.0, 20.0 ], + "text" : "* pi" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-44", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 632.333313, 376.0, 35.0, 20.0 ], + "text" : "- 0.5" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-45", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 689.833313, 221.0, 31.0, 20.0 ], + "text" : "% 1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-46", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 689.833313, 196.0, 44.0, 20.0 ], + "text" : "+ 0.75" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-33", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 468.0, 476.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-35", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 481.5, 426.0, 29.0, 20.0 ], + "text" : "cos" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-36", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 481.5, 401.0, 28.0, 20.0 ], + "text" : "* pi" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-37", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 481.5, 376.0, 35.0, 20.0 ], + "text" : "- 0.5" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-38", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 539.0, 221.0, 31.0, 20.0 ], + "text" : "% 1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-39", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 539.0, 196.0, 38.0, 20.0 ], + "text" : "+ 0.5" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-32", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 35.333328, 131.0, 32.5, 20.0 ], + "text" : "/" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-31", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 35.333328, 96.0, 45.0, 20.0 ], + "text" : "* 1000" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-30", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 35.333328, 71.0, 31.0, 20.0 ], + "text" : "!- 1." + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-22", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 35.333328, 36.0, 204.0, 20.0 ], + "text" : "param ratio1 0.5 @min 0.5 @max 2." + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-19", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 317.166656, 476.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-18", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 166.333328, 476.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-17", + "maxclass" : "newobj", + "numinlets" : 5, + "numoutlets" : 4, + "outlettype" : [ "", "", "", "" ], + "patching_rect" : [ 15.5, 351.0, 622.333313, 20.0 ], + "text" : "delay 96000 4" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-12", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 330.666656, 426.0, 29.0, 20.0 ], + "text" : "cos" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-13", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 330.666656, 401.0, 28.0, 20.0 ], + "text" : "* pi" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-14", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 330.666656, 376.0, 35.0, 20.0 ], + "text" : "- 0.5" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-15", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 388.166656, 221.0, 31.0, 20.0 ], + "text" : "% 1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-16", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 388.166656, 196.0, 44.0, 20.0 ], + "text" : "+ 0.25" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-10", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 15.5, 246.0, 72.0, 20.0 ], + "text" : "mstosamps" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-9", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 15.5, 11.0, 248.0, 20.0 ], + "text" : "param window1 100. @min 0.1 @max 1000." + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-7", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 179.833328, 426.0, 29.0, 20.0 ], + "text" : "cos" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-6", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 179.833328, 401.0, 28.0, 20.0 ], + "text" : "* pi" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-5", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 179.833328, 376.0, 35.0, 20.0 ], + "text" : "- 0.5" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-4", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 237.333328, 221.0, 31.0, 20.0 ], + "text" : "% 1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-3", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 237.333328, 196.0, 31.0, 20.0 ], + "text" : "+ 0." + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-2", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 35.333328, 156.0, 47.0, 20.0 ], + "text" : "phasor" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-1", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 15.5, 316.0, 30.0, 20.0 ], + "text" : "in 1" + } + + } + ], + "lines" : [ { + "patchline" : { + "destination" : [ "obj-17", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-1", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-424", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-1", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 0.501961, 1.0 ], + "destination" : [ "obj-23", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 25.0, 273.0, 175.833328, 273.0 ], + "source" : [ "obj-10", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 0.501961, 1.0 ], + "destination" : [ "obj-28", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 25.0, 273.0, 326.666656, 273.0 ], + "source" : [ "obj-10", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 0.501961, 1.0 ], + "destination" : [ "obj-49", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 25.0, 273.0, 628.333313, 273.0 ], + "source" : [ "obj-10", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 0.501961, 1.0 ], + "destination" : [ "obj-53", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 25.0, 273.0, 477.5, 273.0 ], + "source" : [ "obj-10", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-81", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-11", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.0, 0.501961, 1.0 ], + "destination" : [ "obj-64", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-12", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.0, 0.501961, 1.0 ], + "destination" : [ "obj-64", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-12", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.0, 0.501961, 1.0 ], + "destination" : [ "obj-12", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-13", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.0, 0.501961, 1.0 ], + "destination" : [ "obj-13", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-14", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.0, 0.501961, 1.0 ], + "destination" : [ "obj-14", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-15", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-29", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-15", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.0, 0.501961, 1.0 ], + "destination" : [ "obj-68", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-15", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-15", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-16", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.501961, 0.0, 1.0 ], + "destination" : [ "obj-18", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 25.0, 473.0, 175.833328, 473.0 ], + "source" : [ "obj-17", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.0, 0.501961, 1.0 ], + "destination" : [ "obj-19", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 226.111099, 473.0, 326.666656, 473.0 ], + "source" : [ "obj-17", 1 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 1.0, 1.0 ], + "destination" : [ "obj-33", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 427.222198, 473.0, 477.5, 473.0 ], + "source" : [ "obj-17", 2 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 1.0, 0.501961, 1.0 ], + "destination" : [ "obj-40", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-17", 3 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-75", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 175.833328, 508.0, 750.0, 508.0, 750.0, 702.0, 750.083313, 702.0 ], + "source" : [ "obj-18", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-75", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 326.666656, 506.0, 750.083313, 506.0 ], + "source" : [ "obj-19", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-16", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 44.833328, 185.5, 397.666656, 185.5 ], + "source" : [ "obj-2", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-3", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 44.833328, 185.5, 246.833328, 185.5 ], + "source" : [ "obj-2", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-39", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 44.833328, 185.5, 548.5, 185.5 ], + "source" : [ "obj-2", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-46", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 44.833328, 185.5, 699.333313, 185.5 ], + "source" : [ "obj-2", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-76", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 750.083313, 750.0, 733.041626, 750.0, 733.041626, 636.0, 806.0, 636.0 ], + "source" : [ "obj-20", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-84", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 750.083313, 750.0, 655.291626, 750.0, 655.291626, 601.0, 560.5, 601.0 ], + "source" : [ "obj-20", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-20", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 994.75, 717.0, 791.583313, 717.0 ], + "source" : [ "obj-21", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-30", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-22", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-73", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-23", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-23", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-24", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-27", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 196.833328, 275.0, 232.333328, 275.0, 232.333328, 121.0, 267.833313, 121.0 ], + "source" : [ "obj-24", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-27", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-25", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-34", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-26", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-8", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-27", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-68", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-28", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-28", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-29", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-34", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 347.666656, 275.0, 383.166656, 275.0, 383.166656, 121.0, 418.666656, 121.0 ], + "source" : [ "obj-29", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-4", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-3", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-31", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-30", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-32", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-31", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-2", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-32", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-75", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 477.5, 507.0, 750.083313, 507.0 ], + "source" : [ "obj-33", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-41", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-34", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 1.0, 1.0 ], + "destination" : [ "obj-66", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-35", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 1.0, 1.0 ], + "destination" : [ "obj-66", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-35", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 1.0, 1.0 ], + "destination" : [ "obj-35", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-36", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 1.0, 1.0 ], + "destination" : [ "obj-36", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-37", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-387", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-370", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-388", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-371", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-389", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-372", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-390", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-373", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-375", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-374", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-411", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-375", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-377", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-376", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-417", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-377", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-379", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-378", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-429", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-379", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 1.0, 1.0 ], + "destination" : [ "obj-37", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-38", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-54", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-38", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 1.0, 1.0 ], + "destination" : [ "obj-67", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-38", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-382", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-380", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-380", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 935.833313, 275.0, 971.333313, 275.0, 971.333313, 121.0, 1006.833313, 121.0 ], + "source" : [ "obj-381", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-401", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-381", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-436", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-382", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 1.0, 0.501961, 1.0 ], + "destination" : [ "obj-424", 4 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-383", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 1.0, 1.0 ], + "destination" : [ "obj-424", 3 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-384", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.0, 0.501961, 1.0 ], + "destination" : [ "obj-424", 2 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-385", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.501961, 0.0, 1.0 ], + "destination" : [ "obj-424", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-386", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-391", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-387", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-394", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-388", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-397", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-389", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-38", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-39", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-400", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-390", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-374", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-391", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-383", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-392", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-374", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 1388.333252, 275.0, 1423.833252, 275.0, 1423.833252, 121.0, 1459.333252, 121.0 ], + "source" : [ "obj-393", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-392", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-393", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-376", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-394", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-384", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-395", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-376", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 1237.5, 275.0, 1273.0, 275.0, 1273.0, 121.0, 1308.5, 121.0 ], + "source" : [ "obj-396", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-395", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-396", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-378", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-397", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-385", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-398", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-378", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 1086.666626, 275.0, 1122.166626, 275.0, 1122.166626, 121.0, 1157.666626, 121.0 ], + "source" : [ "obj-399", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-398", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-399", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-24", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-4", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.501961, 0.0, 1.0 ], + "destination" : [ "obj-5", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-4", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.501961, 0.0, 1.0 ], + "destination" : [ "obj-73", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-4", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-75", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 628.333313, 508.0, 750.083313, 508.0 ], + "source" : [ "obj-40", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-380", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-400", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-386", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-401", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 1.0, 0.501961, 1.0 ], + "destination" : [ "obj-406", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-402", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 1.0, 1.0 ], + "destination" : [ "obj-412", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-403", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.0, 0.501961, 1.0 ], + "destination" : [ "obj-422", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-404", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.501961, 0.0, 1.0 ], + "destination" : [ "obj-423", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-405", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-75", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 1367.333252, 507.5, 750.083313, 507.5 ], + "source" : [ "obj-406", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 1.0, 0.501961, 1.0 ], + "destination" : [ "obj-402", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-407", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 1.0, 0.501961, 1.0 ], + "destination" : [ "obj-402", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-407", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 1.0, 0.501961, 1.0 ], + "destination" : [ "obj-407", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-408", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 1.0, 0.501961, 1.0 ], + "destination" : [ "obj-408", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-409", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-16", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-41", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 1.0, 0.501961, 1.0 ], + "destination" : [ "obj-383", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-410", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-393", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-410", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 1.0, 0.501961, 1.0 ], + "destination" : [ "obj-409", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-410", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-410", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-411", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-75", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 1216.5, 507.5, 750.083313, 507.5 ], + "source" : [ "obj-412", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 1.0, 1.0 ], + "destination" : [ "obj-403", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-413", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 1.0, 1.0 ], + "destination" : [ "obj-403", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-413", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 1.0, 1.0 ], + "destination" : [ "obj-413", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-414", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 1.0, 1.0 ], + "destination" : [ "obj-414", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-415", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 1.0, 1.0 ], + "destination" : [ "obj-384", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-416", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-396", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-416", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 1.0, 1.0 ], + "destination" : [ "obj-415", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-416", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-416", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-417", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-437", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-418", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-418", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-419", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 1.0, 0.501961, 1.0 ], + "destination" : [ "obj-65", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-42", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 1.0, 0.501961, 1.0 ], + "destination" : [ "obj-65", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-42", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-419", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-420", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-420", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-421", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-75", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 1065.666626, 507.0, 749.0, 507.0, 749.0, 702.0, 750.083313, 702.0 ], + "source" : [ "obj-422", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-75", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 914.833313, 506.0, 749.0, 506.0, 749.0, 702.0, 750.083313, 702.0 ], + "source" : [ "obj-423", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 1.0, 0.501961, 1.0 ], + "destination" : [ "obj-406", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-424", 3 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 1.0, 1.0 ], + "destination" : [ "obj-412", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 1166.222168, 473.0, 1216.5, 473.0 ], + "source" : [ "obj-424", 2 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.0, 0.501961, 1.0 ], + "destination" : [ "obj-422", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 965.111084, 473.0, 1065.666626, 473.0 ], + "source" : [ "obj-424", 1 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.501961, 0.0, 1.0 ], + "destination" : [ "obj-423", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 764.0, 473.0, 914.833313, 473.0 ], + "source" : [ "obj-424", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.0, 0.501961, 1.0 ], + "destination" : [ "obj-404", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-425", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.0, 0.501961, 1.0 ], + "destination" : [ "obj-404", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-425", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.0, 0.501961, 1.0 ], + "destination" : [ "obj-425", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-426", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.0, 0.501961, 1.0 ], + "destination" : [ "obj-426", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-427", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.0, 0.501961, 1.0 ], + "destination" : [ "obj-385", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-428", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-399", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-428", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.0, 0.501961, 1.0 ], + "destination" : [ "obj-427", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-428", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-428", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-429", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 1.0, 0.501961, 1.0 ], + "destination" : [ "obj-42", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-43", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 0.501961, 1.0 ], + "destination" : [ "obj-392", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 764.0, 273.0, 1367.333252, 273.0 ], + "source" : [ "obj-430", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 0.501961, 1.0 ], + "destination" : [ "obj-395", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 764.0, 273.0, 1216.5, 273.0 ], + "source" : [ "obj-430", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 0.501961, 1.0 ], + "destination" : [ "obj-398", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 764.0, 273.0, 1065.666626, 273.0 ], + "source" : [ "obj-430", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 0.501961, 1.0 ], + "destination" : [ "obj-401", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 764.0, 273.0, 914.833313, 273.0 ], + "source" : [ "obj-430", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 0.25098, 1.0 ], + "destination" : [ "obj-418", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-431", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 0.25098, 1.0 ], + "destination" : [ "obj-430", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-431", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.501961, 0.0, 1.0 ], + "destination" : [ "obj-405", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-432", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.501961, 0.0, 1.0 ], + "destination" : [ "obj-405", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-432", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.501961, 0.0, 1.0 ], + "destination" : [ "obj-432", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-433", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.501961, 0.0, 1.0 ], + "destination" : [ "obj-433", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-434", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-381", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-435", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.501961, 0.0, 1.0 ], + "destination" : [ "obj-386", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-435", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.501961, 0.0, 1.0 ], + "destination" : [ "obj-434", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-435", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-435", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-436", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-411", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 783.833313, 185.5, 1438.333252, 185.5 ], + "source" : [ "obj-437", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-417", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 783.833313, 185.5, 1287.5, 185.5 ], + "source" : [ "obj-437", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-429", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 783.833313, 185.5, 1136.666626, 185.5 ], + "source" : [ "obj-437", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-436", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 783.833313, 185.5, 985.833313, 185.5 ], + "source" : [ "obj-437", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 1.0, 0.501961, 1.0 ], + "destination" : [ "obj-43", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-44", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 1.0, 0.501961, 1.0 ], + "destination" : [ "obj-44", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-45", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-50", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-45", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 1.0, 0.501961, 1.0 ], + "destination" : [ "obj-62", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-45", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-45", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-46", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-61", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-47", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-52", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-48", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-62", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-49", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.501961, 0.0, 1.0 ], + "destination" : [ "obj-6", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-5", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-49", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-50", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-61", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 649.333313, 275.0, 684.833313, 275.0, 684.833313, 121.0, 720.333313, 121.0 ], + "source" : [ "obj-50", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-48", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-51", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-39", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-52", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-67", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-53", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-48", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 498.5, 275.0, 534.0, 275.0, 534.0, 121.0, 569.5, 121.0 ], + "source" : [ "obj-54", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-53", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-54", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.8, 0.4, 1.0, 1.0 ], + "destination" : [ "obj-25", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 1240.833252, 63.0, 260.333313, 63.0 ], + "source" : [ "obj-55", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.8, 0.4, 1.0, 1.0 ], + "destination" : [ "obj-26", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 1240.833252, 63.0, 411.166656, 63.0 ], + "source" : [ "obj-55", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.8, 0.4, 1.0, 1.0 ], + "destination" : [ "obj-391", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 1240.833252, 63.0, 1451.833252, 63.0 ], + "source" : [ "obj-55", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.8, 0.4, 1.0, 1.0 ], + "destination" : [ "obj-394", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 1240.833252, 63.0, 1301.0, 63.0 ], + "source" : [ "obj-55", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.8, 0.4, 1.0, 1.0 ], + "destination" : [ "obj-397", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 1240.833252, 63.0, 1150.166626, 63.0 ], + "source" : [ "obj-55", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.8, 0.4, 1.0, 1.0 ], + "destination" : [ "obj-400", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 1240.833252, 63.0, 999.333313, 63.0 ], + "source" : [ "obj-55", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.8, 0.4, 1.0, 1.0 ], + "destination" : [ "obj-47", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 1240.833252, 63.0, 712.833313, 63.0 ], + "source" : [ "obj-55", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.8, 0.4, 1.0, 1.0 ], + "destination" : [ "obj-51", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 1240.833252, 63.0, 562.0, 63.0 ], + "source" : [ "obj-55", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-47", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-56", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-51", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-57", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-26", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-58", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-25", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-59", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.501961, 0.0, 1.0 ], + "destination" : [ "obj-7", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-6", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-74", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-61", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 1.0, 0.501961, 1.0 ], + "destination" : [ "obj-17", 4 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-62", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.501961, 0.0, 1.0 ], + "destination" : [ "obj-18", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-63", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.0, 0.501961, 1.0 ], + "destination" : [ "obj-19", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-64", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 1.0, 0.501961, 1.0 ], + "destination" : [ "obj-40", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-65", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 1.0, 1.0 ], + "destination" : [ "obj-33", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-66", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 1.0, 1.0 ], + "destination" : [ "obj-17", 3 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-67", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.0, 0.501961, 1.0 ], + "destination" : [ "obj-17", 2 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-68", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-21", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-69", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.501961, 0.0, 1.0 ], + "destination" : [ "obj-63", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-7", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.501961, 0.0, 1.0 ], + "destination" : [ "obj-63", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-7", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-20", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 792.0, 691.0, 791.583313, 691.0 ], + "source" : [ "obj-70", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.501961, 0.0, 1.0 ], + "destination" : [ "obj-17", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-73", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-46", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-74", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-20", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 750.083313, 718.0, 750.083313, 718.0 ], + "source" : [ "obj-75", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-69", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 806.0, 666.0, 1008.25, 666.0 ], + "source" : [ "obj-76", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-70", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-76", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-75", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 764.0, 692.0, 763.583313, 692.0 ], + "source" : [ "obj-77", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-21", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-78", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-77", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 994.75, 635.0, 880.25, 635.0, 880.25, 635.0, 784.25, 635.0, 784.25, 636.0, 764.0, 636.0 ], + "source" : [ "obj-78", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-70", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 764.0, 657.0, 792.0, 657.0 ], + "source" : [ "obj-79", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-77", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 764.0, 633.0, 764.0, 633.0 ], + "source" : [ "obj-79", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-3", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-8", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-79", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-80", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-80", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 764.0, 577.0, 764.0, 577.0 ], + "source" : [ "obj-81", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-78", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 994.0, 607.0, 1008.25, 607.0 ], + "source" : [ "obj-82", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-78", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 994.0, 601.0, 994.75, 601.0 ], + "source" : [ "obj-82", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-80", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 994.0, 608.0, 796.25, 608.0, 796.25, 577.0, 777.5, 577.0 ], + "source" : [ "obj-82", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-83", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-84", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-84", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-85", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-92", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-86", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-56", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-87", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-57", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-88", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-58", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-89", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 0.25098, 1.0 ], + "destination" : [ "obj-10", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-9", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 0.25098, 1.0 ], + "destination" : [ "obj-32", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-9", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-59", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-90", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-82", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-92", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-86", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-94", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-11", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-96", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-84", 2 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-98", 0 ] + } + + } + ] + } + +} diff --git a/plugins/pitchotto/pitchotto.maxpat b/plugins/pitchotto/pitchotto.maxpat new file mode 100644 index 0000000..a190ce9 --- /dev/null +++ b/plugins/pitchotto/pitchotto.maxpat @@ -0,0 +1,7288 @@ +{ + "patcher" : { + "fileversion" : 1, + "appversion" : { + "major" : 6, + "minor" : 1, + "revision" : 9, + "architecture" : "x86" + } +, + "rect" : [ 7.0, 85.0, 735.0, 455.0 ], + "bglocked" : 0, + "openinpresentation" : 0, + "default_fontsize" : 12.0, + "default_fontface" : 0, + "default_fontname" : "Arial", + "gridonopen" : 0, + "gridsize" : [ 15.0, 15.0 ], + "gridsnaponopen" : 0, + "statusbarvisible" : 2, + "toolbarvisible" : 1, + "boxanimatetime" : 200, + "imprint" : 0, + "enablehscroll" : 1, + "enablevscroll" : 1, + "devicewidth" : 0.0, + "description" : "", + "digest" : "", + "tags" : "", + "boxes" : [ { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-28", + "maxclass" : "message", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 81.0, 282.0, 70.0, 18.0 ], + "text" : "exportcode" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "hidden" : 1, + "id" : "obj-24", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 285.0, 18.5, 72.0, 20.0 ], + "text" : "loadmess 2" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "frgb" : 0.0, + "id" : "obj-16", + "linecount" : 2, + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 523.5, 400.0, 176.0, 33.0 ], + "text" : "See also the gen~.slicer.maxpat example" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-27", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 310.5, 262.0, 85.0, 20.0 ], + "text" : "receive shifter" + } + + } +, { + "box" : { + "fontsize" : 13.0, + "id" : "obj-25", + "maxclass" : "live.gain~", + "numinlets" : 2, + "numoutlets" : 5, + "orientation" : 1, + "outlettype" : [ "signal", "signal", "", "float", "list" ], + "parameter_enable" : 1, + "patching_rect" : [ 285.0, 339.0, 136.0, 42.0 ], + "presentation_rect" : [ 287.0, 445.0, 50.0, 42.0 ], + "saved_attribute_attributes" : { + "valueof" : { + "parameter_longname" : "live.gain~[1]", + "parameter_shortname" : "live.gain~", + "parameter_type" : 0, + "parameter_mmin" : -70.0, + "parameter_mmax" : 6.0, + "parameter_initial_enable" : 1, + "parameter_initial" : [ -70 ], + "parameter_unitstyle" : 4 + } + + } +, + "showname" : 0, + "varname" : "live.gain~[1]" + } + + } +, { + "box" : { + "bgcolor" : [ 1.0, 1.0, 1.0, 1.0 ], + "border" : 1.75, + "bordercolor" : [ 0.501961, 0.501961, 0.501961, 1.0 ], + "id" : "obj-26", + "local" : 1, + "maxclass" : "ezdac~", + "numinlets" : 2, + "numoutlets" : 0, + "patching_rect" : [ 285.0, 390.0, 44.0, 44.0 ], + "prototypename" : "helpfile" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-23", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 40.5, 262.0, 85.0, 20.0 ], + "text" : "receive shifter" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-22", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 476.0, 213.0, 73.0, 20.0 ], + "text" : "send shifter" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "frgb" : 0.0, + "id" : "obj-21", + "linecount" : 5, + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 438.0, 305.0, 103.0, 74.0 ], + "text" : "Alternate algorithm for blur (modulates rate rather than phase)" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-20", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 2, + "outlettype" : [ "signal", "signal" ], + "patcher" : { + "fileversion" : 1, + "appversion" : { + "major" : 6, + "minor" : 1, + "revision" : 9, + "architecture" : "x86" + } +, + "rect" : [ 441.0, 44.0, 879.0, 830.0 ], + "bgcolor" : [ 0.9, 0.9, 0.9, 1.0 ], + "bglocked" : 0, + "openinpresentation" : 0, + "default_fontsize" : 12.0, + "default_fontface" : 0, + "default_fontname" : "Arial", + "gridonopen" : 0, + "gridsize" : [ 15.0, 15.0 ], + "gridsnaponopen" : 0, + "statusbarvisible" : 0, + "toolbarvisible" : 1, + "boxanimatetime" : 200, + "imprint" : 0, + "enablehscroll" : 1, + "enablevscroll" : 1, + "devicewidth" : 0.0, + "description" : "", + "digest" : "", + "tags" : "", + "boxes" : [ { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "frgb" : 0.0, + "id" : "obj-86", + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 541.0, 752.0, 256.0, 20.0 ], + "text" : "send the two pairs to separate outs for fun" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-85", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 318.416656, 724.0, 30.0, 20.0 ], + "text" : "in 1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-83", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 365.0, 752.0, 37.0, 20.0 ], + "text" : "out 1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-84", + "maxclass" : "newobj", + "numinlets" : 3, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 365.0, 724.0, 46.0, 20.0 ], + "text" : "mix" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-82", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 441.333313, 724.0, 30.0, 20.0 ], + "text" : "in 1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-80", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 482.333313, 752.0, 37.0, 20.0 ], + "text" : "out 2" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-79", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 553.083313, 724.0, 180.0, 20.0 ], + "text" : "param xfade 1 @min 0 @max 1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "frgb" : 0.0, + "id" : "obj-78", + "linecount" : 2, + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 56.333328, 139.0, 108.0, 33.0 ], + "text" : "add a little noise to delay time" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-74", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 626.833313, 241.0, 28.0, 20.0 ], + "text" : "+ 1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-75", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 476.0, 241.0, 28.0, 20.0 ], + "text" : "+ 1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-76", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 325.166656, 241.0, 28.0, 20.0 ], + "text" : "+ 1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-77", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 174.333328, 241.0, 28.0, 20.0 ], + "text" : "+ 1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-62", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 626.833313, 435.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-67", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 476.0, 435.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-68", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 325.166656, 435.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-73", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 174.333328, 435.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "frgb" : 0.0, + "id" : "obj-60", + "linecount" : 3, + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 56.333328, 364.0, 120.0, 47.0 ], + "text" : "update delay at phasor loop to prevent clicks" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-56", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 626.833313, 153.0, 39.0, 20.0 ], + "text" : "noise" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-57", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 476.0, 153.0, 39.0, 20.0 ], + "text" : "noise" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-58", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 325.166656, 153.0, 39.0, 20.0 ], + "text" : "noise" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-59", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 174.333328, 153.0, 39.0, 20.0 ], + "text" : "noise" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-55", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 78.333328, 180.0, 78.0, 20.0 ], + "text" : "param blur 0" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-47", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 626.833313, 214.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-48", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 626.833313, 180.0, 30.0, 20.0 ], + "text" : "abs" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-49", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 626.833313, 392.0, 40.0, 20.0 ], + "text" : "sah 0" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-50", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 647.833313, 364.0, 37.0, 20.0 ], + "text" : "delta" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-51", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 476.0, 214.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-52", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 476.0, 180.0, 30.0, 20.0 ], + "text" : "abs" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-53", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 476.0, 392.0, 40.0, 20.0 ], + "text" : "sah 0" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-54", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 497.0, 364.0, 37.0, 20.0 ], + "text" : "delta" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-26", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 325.166656, 214.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-27", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 325.166656, 180.0, 30.0, 20.0 ], + "text" : "abs" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-28", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 325.166656, 392.0, 40.0, 20.0 ], + "text" : "sah 0" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-29", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 346.166656, 364.0, 37.0, 20.0 ], + "text" : "delta" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-25", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 174.333328, 214.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-24", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 174.333328, 180.0, 30.0, 20.0 ], + "text" : "abs" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-23", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 174.333328, 392.0, 40.0, 20.0 ], + "text" : "sah 0" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-20", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 195.333328, 364.0, 37.0, 20.0 ], + "text" : "delta" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "frgb" : 0.0, + "id" : "obj-72", + "linecount" : 2, + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 56.333328, 421.0, 103.0, 33.0 ], + "text" : "convert phase to sample delay" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "frgb" : 0.0, + "id" : "obj-71", + "linecount" : 2, + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 732.0, 571.0, 117.0, 33.0 ], + "text" : "convert phase to radians" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "frgb" : 0.0, + "id" : "obj-70", + "linecount" : 2, + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 732.0, 299.0, 125.0, 33.0 ], + "text" : "rotate phase by 25% degrees each" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "frgb" : 0.0, + "id" : "obj-69", + "linecount" : 4, + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 732.0, 629.0, 117.0, 60.0 ], + "text" : "Two 180 degree out-of-phase squared cosines always add up to 1." + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-65", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 688.0, 621.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-66", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 541.0, 621.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-64", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 392.0, 621.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-63", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 245.0, 621.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-40", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 674.5, 648.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-41", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 626.833313, 277.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-42", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 688.0, 585.0, 29.0, 20.0 ], + "text" : "cos" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-43", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 688.0, 557.0, 28.0, 20.0 ], + "text" : "* pi" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-44", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 688.0, 527.0, 35.0, 20.0 ], + "text" : "- 0.5" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-45", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 688.0, 327.0, 31.0, 20.0 ], + "text" : "% 1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-46", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 688.0, 299.0, 44.0, 20.0 ], + "text" : "+ 0.75" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-33", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 527.5, 648.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-34", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 476.0, 277.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-35", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 541.0, 585.0, 29.0, 20.0 ], + "text" : "cos" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-36", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 541.0, 557.0, 28.0, 20.0 ], + "text" : "* pi" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-37", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 541.0, 527.0, 35.0, 20.0 ], + "text" : "- 0.5" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-38", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 541.0, 327.0, 31.0, 20.0 ], + "text" : "% 1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-39", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 541.0, 299.0, 38.0, 20.0 ], + "text" : "+ 0.5" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-32", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 433.0, 94.0, 32.5, 20.0 ], + "text" : "/" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-31", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 433.0, 67.0, 45.0, 20.0 ], + "text" : "* 1000" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-30", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 433.0, 40.0, 31.0, 20.0 ], + "text" : "!- 1." + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-22", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 433.0, 10.0, 172.0, 20.0 ], + "text" : "in 2 @comment \"shift amount\"" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-21", + "maxclass" : "newobj", + "numinlets" : 3, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 482.333313, 724.0, 46.0, 20.0 ], + "text" : "mix" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-19", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 378.5, 648.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-18", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 231.5, 648.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-17", + "maxclass" : "newobj", + "numinlets" : 5, + "numoutlets" : 4, + "outlettype" : [ "", "", "", "" ], + "patching_rect" : [ 23.5, 499.0, 622.333313, 20.0 ], + "text" : "delay 88200 4" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-11", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 325.166656, 277.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-12", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 392.0, 585.0, 29.0, 20.0 ], + "text" : "cos" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-13", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 392.0, 557.0, 28.0, 20.0 ], + "text" : "* pi" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-14", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 392.0, 527.0, 35.0, 20.0 ], + "text" : "- 0.5" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-15", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 392.0, 327.0, 31.0, 20.0 ], + "text" : "% 1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-16", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 392.0, 299.0, 44.0, 20.0 ], + "text" : "+ 0.25" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-10", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 23.5, 236.0, 72.0, 20.0 ], + "text" : "mstosamps" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-9", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 23.5, 63.0, 234.0, 20.0 ], + "text" : "param window 100 @min 0.1 @max 1000" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-8", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 174.333328, 277.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-7", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 245.0, 585.0, 29.0, 20.0 ], + "text" : "cos" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-6", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 245.0, 557.0, 28.0, 20.0 ], + "text" : "* pi" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-5", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 245.0, 527.0, 35.0, 20.0 ], + "text" : "- 0.5" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-4", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 245.0, 327.0, 31.0, 20.0 ], + "text" : "% 1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-3", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 245.0, 299.0, 31.0, 20.0 ], + "text" : "+ 0." + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-2", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 433.0, 119.0, 47.0, 20.0 ], + "text" : "phasor" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-1", + "linecount" : 2, + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 23.5, 458.0, 103.0, 33.0 ], + "text" : "in 1 @comment \"input to shift\"" + } + + } + ], + "lines" : [ { + "patchline" : { + "destination" : [ "obj-17", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-1", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 0.501961, 1.0 ], + "destination" : [ "obj-11", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-10", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 0.501961, 1.0 ], + "destination" : [ "obj-34", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-10", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 0.501961, 1.0 ], + "destination" : [ "obj-41", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-10", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 0.501961, 1.0 ], + "destination" : [ "obj-8", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-10", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-28", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-11", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.0, 0.501961, 1.0 ], + "destination" : [ "obj-64", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-12", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.0, 0.501961, 1.0 ], + "destination" : [ "obj-64", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-12", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.0, 0.501961, 1.0 ], + "destination" : [ "obj-12", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-13", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.0, 0.501961, 1.0 ], + "destination" : [ "obj-13", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-14", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.0, 0.501961, 1.0 ], + "destination" : [ "obj-14", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-15", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-29", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-15", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.0, 0.501961, 1.0 ], + "destination" : [ "obj-68", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-15", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-15", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-16", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.501961, 0.0, 1.0 ], + "destination" : [ "obj-18", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-17", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.0, 0.501961, 1.0 ], + "destination" : [ "obj-19", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-17", 1 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 1.0, 1.0 ], + "destination" : [ "obj-33", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-17", 2 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 1.0, 0.501961, 1.0 ], + "destination" : [ "obj-40", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-17", 3 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-84", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-18", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-21", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-19", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-16", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-2", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-3", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-2", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-39", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-2", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-46", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-2", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-23", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-20", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-80", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-21", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-30", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-22", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-73", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-23", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-25", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-24", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-77", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-25", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-76", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-26", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-26", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-27", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-68", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-28", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-28", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-29", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-4", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-3", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-31", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-30", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-32", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-31", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-2", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-32", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-84", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-33", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-53", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-34", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 1.0, 1.0 ], + "destination" : [ "obj-66", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-35", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 1.0, 1.0 ], + "destination" : [ "obj-66", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-35", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 1.0, 1.0 ], + "destination" : [ "obj-35", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-36", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 1.0, 1.0 ], + "destination" : [ "obj-36", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-37", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 1.0, 1.0 ], + "destination" : [ "obj-37", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-38", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-54", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-38", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 1.0, 1.0 ], + "destination" : [ "obj-67", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-38", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-38", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-39", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-20", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-4", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.501961, 0.0, 1.0 ], + "destination" : [ "obj-5", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-4", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.501961, 0.0, 1.0 ], + "destination" : [ "obj-73", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-4", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-21", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-40", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-49", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-41", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 1.0, 0.501961, 1.0 ], + "destination" : [ "obj-65", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-42", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 1.0, 0.501961, 1.0 ], + "destination" : [ "obj-65", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-42", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 1.0, 0.501961, 1.0 ], + "destination" : [ "obj-42", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-43", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 1.0, 0.501961, 1.0 ], + "destination" : [ "obj-43", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-44", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 1.0, 0.501961, 1.0 ], + "destination" : [ "obj-44", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-45", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-50", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-45", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 1.0, 0.501961, 1.0 ], + "destination" : [ "obj-62", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-45", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-45", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-46", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-74", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-47", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-47", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-48", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-62", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-49", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.501961, 0.0, 1.0 ], + "destination" : [ "obj-6", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-5", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-49", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-50", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-75", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-51", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-51", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-52", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-67", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-53", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-53", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-54", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.8, 0.4, 1.0, 1.0 ], + "destination" : [ "obj-25", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-55", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.8, 0.4, 1.0, 1.0 ], + "destination" : [ "obj-26", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-55", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.8, 0.4, 1.0, 1.0 ], + "destination" : [ "obj-47", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-55", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.8, 0.4, 1.0, 1.0 ], + "destination" : [ "obj-51", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-55", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-48", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-56", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-52", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-57", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-27", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-58", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-24", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-59", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.501961, 0.0, 1.0 ], + "destination" : [ "obj-7", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-6", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 1.0, 0.501961, 1.0 ], + "destination" : [ "obj-17", 4 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-62", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.501961, 0.0, 1.0 ], + "destination" : [ "obj-18", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-63", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.0, 0.501961, 1.0 ], + "destination" : [ "obj-19", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-64", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 1.0, 0.501961, 1.0 ], + "destination" : [ "obj-40", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-65", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 1.0, 1.0 ], + "destination" : [ "obj-33", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-66", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 1.0, 1.0 ], + "destination" : [ "obj-17", 3 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-67", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.0, 0.501961, 1.0 ], + "destination" : [ "obj-17", 2 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-68", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.501961, 0.0, 1.0 ], + "destination" : [ "obj-63", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-7", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.501961, 0.0, 1.0 ], + "destination" : [ "obj-63", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-7", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.501961, 0.0, 1.0 ], + "destination" : [ "obj-17", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-73", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-41", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-74", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-34", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-75", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-11", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-76", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-8", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-77", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-21", 2 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-79", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-84", 2 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-79", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-23", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-8", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-21", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-82", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-83", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-84", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-84", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-85", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 0.25098, 1.0 ], + "destination" : [ "obj-10", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-9", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 0.25098, 1.0 ], + "destination" : [ "obj-32", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-9", 0 ] + } + + } + ] + } +, + "patching_rect" : [ 285.0, 305.0, 136.0, 20.0 ], + "text" : "gen~" + } + + } +, { + "box" : { + "bubble" : 1, + "bubbleside" : 2, + "fontname" : "Arial", + "fontsize" : 12.0, + "frgb" : 0.0, + "id" : "obj-17", + "linecount" : 2, + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 468.5, 81.0, 66.0, 52.0 ], + "text" : "crossfade dry / wet" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-18", + "maxclass" : "flonum", + "maximum" : 1.0, + "minimum" : 0.0, + "numinlets" : 1, + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ], + "parameter_enable" : 0, + "patching_rect" : [ 476.0, 144.0, 50.0, 20.0 ] + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-19", + "maxclass" : "message", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 476.0, 174.0, 57.0, 18.0 ], + "text" : "xfade $1" + } + + } +, { + "box" : { + "bubble" : 1, + "bubbleside" : 2, + "fontname" : "Arial", + "fontsize" : 12.0, + "frgb" : 0.0, + "id" : "obj-13", + "linecount" : 2, + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 555.5, 81.0, 95.0, 52.0 ], + "text" : "reduce metallic edge with blur" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-14", + "maxclass" : "flonum", + "maximum" : 0.25, + "minimum" : 0.0, + "numinlets" : 1, + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ], + "parameter_enable" : 0, + "patching_rect" : [ 578.0, 144.0, 67.0, 20.0 ] + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-15", + "maxclass" : "message", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 578.0, 174.0, 47.0, 18.0 ], + "text" : "blur $1" + } + + } +, { + "box" : { + "bubble" : 1, + "bubbleside" : 2, + "fontname" : "Arial", + "fontsize" : 12.0, + "frgb" : 0.0, + "id" : "obj-3", + "linecount" : 2, + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 347.0, 81.0, 95.0, 52.0 ], + "text" : "window size in milliseconds" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-10", + "maxclass" : "flonum", + "maximum" : 1000.0, + "minimum" : 0.1, + "numinlets" : 1, + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ], + "parameter_enable" : 0, + "patching_rect" : [ 369.5, 144.0, 50.0, 20.0 ] + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-12", + "maxclass" : "message", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 369.5, 174.0, 67.0, 18.0 ], + "text" : "window $1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "frgb" : 0.0, + "id" : "obj-11", + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 15.0, 48.0, 347.0, 20.0 ], + "text" : "By the overlap-add method, with stochastic 'blur'" + } + + } +, { + "box" : { + "bubble" : 1, + "bubbleside" : 2, + "fontname" : "Arial", + "fontsize" : 12.0, + "frgb" : 0.0, + "id" : "obj-9", + "linecount" : 2, + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 285.0, 82.0, 51.0, 52.0 ], + "text" : "shift amount" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-5", + "maxclass" : "flonum", + "numinlets" : 1, + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ], + "parameter_enable" : 0, + "patching_rect" : [ 285.0, 144.0, 50.0, 20.0 ] + } + + } +, { + "box" : { + "fontsize" : 13.0, + "id" : "obj-6", + "maxclass" : "live.gain~", + "numinlets" : 2, + "numoutlets" : 5, + "orientation" : 1, + "outlettype" : [ "signal", "signal", "", "float", "list" ], + "parameter_enable" : 1, + "patching_rect" : [ 15.0, 339.0, 136.0, 42.0 ], + "presentation_rect" : [ 60.0, 60.0, 50.0, 42.0 ], + "saved_attribute_attributes" : { + "valueof" : { + "parameter_longname" : "live.gain~", + "parameter_shortname" : "live.gain~", + "parameter_type" : 0, + "parameter_mmin" : -70.0, + "parameter_mmax" : 6.0, + "parameter_initial_enable" : 1, + "parameter_initial" : [ -70 ], + "parameter_unitstyle" : 4 + } + + } +, + "showname" : 0, + "varname" : "live.gain~" + } + + } +, { + "box" : { + "bgcolor" : [ 1.0, 1.0, 1.0, 1.0 ], + "border" : 1.75, + "bordercolor" : [ 0.501961, 0.501961, 0.501961, 1.0 ], + "id" : "obj-8", + "local" : 1, + "maxclass" : "ezdac~", + "numinlets" : 2, + "numoutlets" : 0, + "patching_rect" : [ 15.0, 390.0, 44.0, 44.0 ], + "prototypename" : "helpfile" + } + + } +, { + "box" : { + "args" : [ "@loop", 1, "@file", 6 ], + "id" : "obj-7", + "maxclass" : "bpatcher", + "name" : "demosound.maxpat", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "signal" ], + "patching_rect" : [ 15.0, 82.0, 225.0, 105.0 ] + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-4", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "signal" ], + "patcher" : { + "fileversion" : 1, + "appversion" : { + "major" : 6, + "minor" : 1, + "revision" : 9, + "architecture" : "x86" + } +, + "rect" : [ 5.0, 45.0, 955.0, 830.0 ], + "bgcolor" : [ 0.9, 0.9, 0.9, 1.0 ], + "bglocked" : 0, + "openinpresentation" : 0, + "default_fontsize" : 12.0, + "default_fontface" : 0, + "default_fontname" : "Arial", + "gridonopen" : 0, + "gridsize" : [ 15.0, 15.0 ], + "gridsnaponopen" : 0, + "statusbarvisible" : 0, + "toolbarvisible" : 1, + "boxanimatetime" : 200, + "imprint" : 0, + "enablehscroll" : 1, + "enablevscroll" : 1, + "devicewidth" : 0.0, + "description" : "", + "digest" : "", + "tags" : "", + "boxes" : [ { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-370", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1428.833252, 36.0, 39.0, 20.0 ], + "text" : "noise" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-371", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1278.0, 36.0, 39.0, 20.0 ], + "text" : "noise" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-372", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1127.166626, 36.0, 39.0, 20.0 ], + "text" : "noise" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-373", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 976.333313, 36.0, 39.0, 20.0 ], + "text" : "noise" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-374", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1428.833252, 131.0, 40.0, 20.0 ], + "text" : "sah 0" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-375", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1428.833252, 156.0, 46.0, 20.0 ], + "text" : "history" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-376", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1278.0, 131.0, 40.0, 20.0 ], + "text" : "sah 0" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-377", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1278.0, 156.0, 46.0, 20.0 ], + "text" : "history" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-378", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1127.166626, 131.0, 40.0, 20.0 ], + "text" : "sah 0" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-379", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1127.166626, 156.0, 46.0, 20.0 ], + "text" : "history" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-380", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 976.333313, 131.0, 40.0, 20.0 ], + "text" : "sah 0" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-381", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 926.333313, 246.0, 37.0, 20.0 ], + "text" : "delta" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-382", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 976.333313, 156.0, 46.0, 20.0 ], + "text" : "history" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-383", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1357.833252, 316.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-384", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1207.0, 316.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-385", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1056.166626, 316.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-386", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 905.333313, 316.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-387", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1428.833252, 71.0, 30.0, 20.0 ], + "text" : "abs" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-388", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1278.0, 71.0, 30.0, 20.0 ], + "text" : "abs" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-389", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1127.166626, 71.0, 30.0, 20.0 ], + "text" : "abs" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-390", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 976.333313, 71.0, 30.0, 20.0 ], + "text" : "abs" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-391", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1428.833252, 96.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-392", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1357.833252, 281.0, 40.0, 20.0 ], + "text" : "sah 0" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-393", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1378.833252, 246.0, 37.0, 20.0 ], + "text" : "delta" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-394", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1278.0, 96.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-395", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1207.0, 281.0, 40.0, 20.0 ], + "text" : "sah 0" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-396", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1228.0, 246.0, 37.0, 20.0 ], + "text" : "delta" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-397", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1127.166626, 96.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-398", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1056.166626, 281.0, 40.0, 20.0 ], + "text" : "sah 0" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-399", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1077.166626, 246.0, 37.0, 20.0 ], + "text" : "delta" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-400", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 976.333313, 96.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-401", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 905.333313, 281.0, 40.0, 20.0 ], + "text" : "sah 0" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-402", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1371.333252, 451.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-403", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1220.5, 451.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-404", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1069.666626, 451.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-405", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 918.833313, 451.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-406", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1357.833252, 476.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-407", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1371.333252, 426.0, 29.0, 20.0 ], + "text" : "cos" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-408", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1371.333252, 401.0, 28.0, 20.0 ], + "text" : "* pi" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-409", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1371.333252, 376.0, 35.0, 20.0 ], + "text" : "- 0.5" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-410", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1428.833252, 221.0, 31.0, 20.0 ], + "text" : "% 1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-411", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1428.833252, 196.0, 44.0, 20.0 ], + "text" : "+ 0.75" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-412", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1207.0, 476.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-413", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1220.5, 426.0, 29.0, 20.0 ], + "text" : "cos" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-414", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1220.5, 401.0, 28.0, 20.0 ], + "text" : "* pi" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-415", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1220.5, 376.0, 35.0, 20.0 ], + "text" : "- 0.5" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-416", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1278.0, 221.0, 31.0, 20.0 ], + "text" : "% 1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-417", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1278.0, 196.0, 38.0, 20.0 ], + "text" : "+ 0.5" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-418", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 774.333313, 131.0, 32.5, 20.0 ], + "text" : "/" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-419", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 774.333313, 96.0, 45.0, 20.0 ], + "text" : "* 1000" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-420", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 774.333313, 71.0, 31.0, 20.0 ], + "text" : "!- 1." + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-421", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 774.333313, 36.0, 198.0, 20.0 ], + "text" : "param ratio2 2. @min 0.5 @max 2." + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-422", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1056.166626, 476.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-423", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 905.333313, 476.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-424", + "maxclass" : "newobj", + "numinlets" : 5, + "numoutlets" : 4, + "outlettype" : [ "", "", "", "" ], + "patching_rect" : [ 754.5, 351.0, 622.333313, 20.0 ], + "text" : "delay 96000 4" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-425", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1069.666626, 426.0, 29.0, 20.0 ], + "text" : "cos" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-426", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1069.666626, 401.0, 28.0, 20.0 ], + "text" : "* pi" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-427", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1069.666626, 376.0, 35.0, 20.0 ], + "text" : "- 0.5" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-428", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1127.166626, 221.0, 31.0, 20.0 ], + "text" : "% 1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-429", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1127.166626, 196.0, 44.0, 20.0 ], + "text" : "+ 0.25" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-430", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 754.5, 246.0, 72.0, 20.0 ], + "text" : "mstosamps" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-431", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 754.5, 11.0, 248.0, 20.0 ], + "text" : "param window2 100. @min 0.1 @max 1000." + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-432", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 918.833313, 426.0, 29.0, 20.0 ], + "text" : "cos" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-433", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 918.833313, 401.0, 28.0, 20.0 ], + "text" : "* pi" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-434", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 918.833313, 376.0, 35.0, 20.0 ], + "text" : "- 0.5" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-435", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 976.333313, 221.0, 31.0, 20.0 ], + "text" : "% 1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-436", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 976.333313, 196.0, 31.0, 20.0 ], + "text" : "+ 0." + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-437", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 774.333313, 156.0, 47.0, 20.0 ], + "text" : "phasor" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-98", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 564.5, 531.0, 186.0, 20.0 ], + "text" : "param mix 0.5 @min 0. @max 1." + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-11", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 754.5, 531.0, 170.0, 20.0 ], + "text" : "expr out=in1*2*PI/samplerate\\;" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-20", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 740.583313, 721.0, 60.5, 20.0 ], + "text" : "-" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-21", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 985.25, 696.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-69", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 998.75, 671.0, 74.0, 20.0 ], + "text" : "history y2 0" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-70", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 782.5, 671.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-75", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 740.583313, 696.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-76", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 796.5, 646.0, 74.0, 20.0 ], + "text" : "history y1 0" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-77", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 754.5, 671.0, 28.0, 20.0 ], + "text" : "+ 1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-78", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 985.25, 611.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-79", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 754.5, 611.0, 30.0, 20.0 ], + "text" : "* -2" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-80", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 754.5, 581.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-81", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 754.5, 556.0, 30.0, 20.0 ], + "text" : "cos" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-82", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 984.5, 581.0, 70.0, 20.0 ], + "text" : "* 0.882497" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-86", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 984.5, 531.0, 50.0, 20.0 ], + "text" : "* 0.125" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-92", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 984.5, 556.0, 30.0, 20.0 ], + "text" : "exp" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-94", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 984.5, 506.0, 230.0, 20.0 ], + "text" : "param resonance 0. @min 0. @max 0.25" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-96", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 754.5, 506.0, 230.0, 20.0 ], + "text" : "param cutoff 2250. @min 0. @max 3000." + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-87", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 689.833313, 36.0, 39.0, 20.0 ], + "text" : "noise" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-88", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 539.0, 36.0, 39.0, 20.0 ], + "text" : "noise" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-89", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 388.166656, 36.0, 39.0, 20.0 ], + "text" : "noise" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-90", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 237.333328, 36.0, 39.0, 20.0 ], + "text" : "noise" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-61", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 689.833313, 131.0, 40.0, 20.0 ], + "text" : "sah 0" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-74", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 689.833313, 156.0, 46.0, 20.0 ], + "text" : "history" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-48", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 539.0, 131.0, 40.0, 20.0 ], + "text" : "sah 0" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-52", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 539.0, 156.0, 46.0, 20.0 ], + "text" : "history" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-34", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 388.166656, 131.0, 40.0, 20.0 ], + "text" : "sah 0" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-41", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 388.166656, 156.0, 46.0, 20.0 ], + "text" : "history" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-27", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 237.333328, 131.0, 40.0, 20.0 ], + "text" : "sah 0" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-24", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 187.333328, 246.0, 37.0, 20.0 ], + "text" : "delta" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-8", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 237.333328, 156.0, 46.0, 20.0 ], + "text" : "history" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-85", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 537.5, 531.0, 30.0, 20.0 ], + "text" : "in 1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-83", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 537.5, 721.0, 37.0, 20.0 ], + "text" : "out 1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-84", + "maxclass" : "newobj", + "numinlets" : 3, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 537.5, 611.0, 46.0, 20.0 ], + "text" : "mix" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-62", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 618.833313, 316.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-67", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 468.0, 316.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-68", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 317.166656, 316.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-73", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 166.333328, 316.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-56", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 689.833313, 71.0, 30.0, 20.0 ], + "text" : "abs" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-57", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 539.0, 71.0, 30.0, 20.0 ], + "text" : "abs" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-58", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 388.166656, 71.0, 30.0, 20.0 ], + "text" : "abs" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-59", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 237.333328, 71.0, 30.0, 20.0 ], + "text" : "abs" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-55", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 508.833313, 11.0, 221.0, 20.0 ], + "text" : "param blur 0.25 @min 0.01 @max 0.25" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-47", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 689.833313, 96.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-49", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 618.833313, 281.0, 40.0, 20.0 ], + "text" : "sah 0" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-50", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 639.833313, 246.0, 37.0, 20.0 ], + "text" : "delta" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-51", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 539.0, 96.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-53", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 468.0, 281.0, 40.0, 20.0 ], + "text" : "sah 0" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-54", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 489.0, 246.0, 37.0, 20.0 ], + "text" : "delta" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-26", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 388.166656, 96.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-28", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 317.166656, 281.0, 40.0, 20.0 ], + "text" : "sah 0" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-29", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 338.166656, 246.0, 37.0, 20.0 ], + "text" : "delta" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-25", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 237.333328, 96.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-23", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 166.333328, 281.0, 40.0, 20.0 ], + "text" : "sah 0" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-65", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 632.333313, 451.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-66", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 481.5, 451.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-64", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 330.666656, 451.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-63", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 179.833328, 451.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-40", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 618.833313, 476.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-42", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 632.333313, 426.0, 29.0, 20.0 ], + "text" : "cos" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-43", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 632.333313, 401.0, 28.0, 20.0 ], + "text" : "* pi" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-44", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 632.333313, 376.0, 35.0, 20.0 ], + "text" : "- 0.5" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-45", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 689.833313, 221.0, 31.0, 20.0 ], + "text" : "% 1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-46", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 689.833313, 196.0, 44.0, 20.0 ], + "text" : "+ 0.75" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-33", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 468.0, 476.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-35", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 481.5, 426.0, 29.0, 20.0 ], + "text" : "cos" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-36", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 481.5, 401.0, 28.0, 20.0 ], + "text" : "* pi" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-37", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 481.5, 376.0, 35.0, 20.0 ], + "text" : "- 0.5" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-38", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 539.0, 221.0, 31.0, 20.0 ], + "text" : "% 1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-39", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 539.0, 196.0, 38.0, 20.0 ], + "text" : "+ 0.5" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-32", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 35.333328, 131.0, 32.5, 20.0 ], + "text" : "/" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-31", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 35.333328, 96.0, 45.0, 20.0 ], + "text" : "* 1000" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-30", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 35.333328, 71.0, 31.0, 20.0 ], + "text" : "!- 1." + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-22", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 35.333328, 36.0, 204.0, 20.0 ], + "text" : "param ratio1 0.5 @min 0.5 @max 2." + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-19", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 317.166656, 476.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-18", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 166.333328, 476.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-17", + "maxclass" : "newobj", + "numinlets" : 5, + "numoutlets" : 4, + "outlettype" : [ "", "", "", "" ], + "patching_rect" : [ 15.5, 351.0, 622.333313, 20.0 ], + "text" : "delay 96000 4" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-12", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 330.666656, 426.0, 29.0, 20.0 ], + "text" : "cos" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-13", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 330.666656, 401.0, 28.0, 20.0 ], + "text" : "* pi" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-14", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 330.666656, 376.0, 35.0, 20.0 ], + "text" : "- 0.5" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-15", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 388.166656, 221.0, 31.0, 20.0 ], + "text" : "% 1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-16", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 388.166656, 196.0, 44.0, 20.0 ], + "text" : "+ 0.25" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-10", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 15.5, 246.0, 72.0, 20.0 ], + "text" : "mstosamps" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-9", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 15.5, 11.0, 248.0, 20.0 ], + "text" : "param window1 100. @min 0.1 @max 1000." + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-7", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 179.833328, 426.0, 29.0, 20.0 ], + "text" : "cos" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-6", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 179.833328, 401.0, 28.0, 20.0 ], + "text" : "* pi" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-5", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 179.833328, 376.0, 35.0, 20.0 ], + "text" : "- 0.5" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-4", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 237.333328, 221.0, 31.0, 20.0 ], + "text" : "% 1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-3", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 237.333328, 196.0, 31.0, 20.0 ], + "text" : "+ 0." + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-2", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 35.333328, 156.0, 47.0, 20.0 ], + "text" : "phasor" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-1", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 15.5, 316.0, 30.0, 20.0 ], + "text" : "in 1" + } + + } + ], + "lines" : [ { + "patchline" : { + "destination" : [ "obj-17", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-1", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-424", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-1", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 0.501961, 1.0 ], + "destination" : [ "obj-23", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 25.0, 273.0, 175.833328, 273.0 ], + "source" : [ "obj-10", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 0.501961, 1.0 ], + "destination" : [ "obj-28", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 25.0, 273.0, 326.666656, 273.0 ], + "source" : [ "obj-10", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 0.501961, 1.0 ], + "destination" : [ "obj-49", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 25.0, 273.0, 628.333313, 273.0 ], + "source" : [ "obj-10", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 0.501961, 1.0 ], + "destination" : [ "obj-53", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 25.0, 273.0, 477.5, 273.0 ], + "source" : [ "obj-10", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-81", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-11", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.0, 0.501961, 1.0 ], + "destination" : [ "obj-64", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-12", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.0, 0.501961, 1.0 ], + "destination" : [ "obj-64", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-12", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.0, 0.501961, 1.0 ], + "destination" : [ "obj-12", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-13", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.0, 0.501961, 1.0 ], + "destination" : [ "obj-13", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-14", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.0, 0.501961, 1.0 ], + "destination" : [ "obj-14", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-15", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-29", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-15", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.0, 0.501961, 1.0 ], + "destination" : [ "obj-68", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-15", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-15", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-16", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.501961, 0.0, 1.0 ], + "destination" : [ "obj-18", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 25.0, 473.0, 175.833328, 473.0 ], + "source" : [ "obj-17", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.0, 0.501961, 1.0 ], + "destination" : [ "obj-19", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 226.111099, 473.0, 326.666656, 473.0 ], + "source" : [ "obj-17", 1 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 1.0, 1.0 ], + "destination" : [ "obj-33", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 427.222198, 473.0, 477.5, 473.0 ], + "source" : [ "obj-17", 2 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 1.0, 0.501961, 1.0 ], + "destination" : [ "obj-40", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-17", 3 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-75", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 175.833328, 508.0, 750.0, 508.0, 750.0, 702.0, 750.083313, 702.0 ], + "source" : [ "obj-18", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-75", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 326.666656, 506.0, 750.083313, 506.0 ], + "source" : [ "obj-19", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-16", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 44.833328, 185.5, 397.666656, 185.5 ], + "source" : [ "obj-2", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-3", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 44.833328, 185.5, 246.833328, 185.5 ], + "source" : [ "obj-2", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-39", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 44.833328, 185.5, 548.5, 185.5 ], + "source" : [ "obj-2", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-46", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 44.833328, 185.5, 699.333313, 185.5 ], + "source" : [ "obj-2", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-76", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 750.083313, 750.0, 733.041626, 750.0, 733.041626, 636.0, 806.0, 636.0 ], + "source" : [ "obj-20", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-84", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 750.083313, 750.0, 655.291626, 750.0, 655.291626, 601.0, 560.5, 601.0 ], + "source" : [ "obj-20", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-20", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 994.75, 717.0, 791.583313, 717.0 ], + "source" : [ "obj-21", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-30", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-22", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-73", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-23", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-23", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-24", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-27", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 196.833328, 275.0, 232.333328, 275.0, 232.333328, 121.0, 267.833313, 121.0 ], + "source" : [ "obj-24", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-27", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-25", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-34", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-26", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-8", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-27", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-68", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-28", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-28", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-29", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-34", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 347.666656, 275.0, 383.166656, 275.0, 383.166656, 121.0, 418.666656, 121.0 ], + "source" : [ "obj-29", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-4", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-3", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-31", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-30", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-32", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-31", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-2", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-32", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-75", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 477.5, 507.0, 750.083313, 507.0 ], + "source" : [ "obj-33", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-41", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-34", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 1.0, 1.0 ], + "destination" : [ "obj-66", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-35", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 1.0, 1.0 ], + "destination" : [ "obj-66", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-35", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 1.0, 1.0 ], + "destination" : [ "obj-35", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-36", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 1.0, 1.0 ], + "destination" : [ "obj-36", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-37", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-387", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-370", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-388", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-371", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-389", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-372", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-390", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-373", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-375", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-374", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-411", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-375", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-377", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-376", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-417", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-377", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-379", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-378", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-429", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-379", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 1.0, 1.0 ], + "destination" : [ "obj-37", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-38", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-54", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-38", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 1.0, 1.0 ], + "destination" : [ "obj-67", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-38", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-382", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-380", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-380", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 935.833313, 275.0, 971.333313, 275.0, 971.333313, 121.0, 1006.833313, 121.0 ], + "source" : [ "obj-381", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-401", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-381", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-436", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-382", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 1.0, 0.501961, 1.0 ], + "destination" : [ "obj-424", 4 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-383", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 1.0, 1.0 ], + "destination" : [ "obj-424", 3 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-384", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.0, 0.501961, 1.0 ], + "destination" : [ "obj-424", 2 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-385", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.501961, 0.0, 1.0 ], + "destination" : [ "obj-424", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-386", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-391", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-387", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-394", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-388", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-397", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-389", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-38", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-39", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-400", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-390", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-374", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-391", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-383", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-392", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-374", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 1388.333252, 275.0, 1423.833252, 275.0, 1423.833252, 121.0, 1459.333252, 121.0 ], + "source" : [ "obj-393", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-392", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-393", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-376", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-394", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-384", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-395", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-376", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 1237.5, 275.0, 1273.0, 275.0, 1273.0, 121.0, 1308.5, 121.0 ], + "source" : [ "obj-396", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-395", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-396", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-378", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-397", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-385", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-398", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-378", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 1086.666626, 275.0, 1122.166626, 275.0, 1122.166626, 121.0, 1157.666626, 121.0 ], + "source" : [ "obj-399", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-398", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-399", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-24", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-4", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.501961, 0.0, 1.0 ], + "destination" : [ "obj-5", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-4", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.501961, 0.0, 1.0 ], + "destination" : [ "obj-73", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-4", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-75", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 628.333313, 508.0, 750.083313, 508.0 ], + "source" : [ "obj-40", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-380", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-400", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-386", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-401", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 1.0, 0.501961, 1.0 ], + "destination" : [ "obj-406", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-402", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 1.0, 1.0 ], + "destination" : [ "obj-412", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-403", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.0, 0.501961, 1.0 ], + "destination" : [ "obj-422", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-404", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.501961, 0.0, 1.0 ], + "destination" : [ "obj-423", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-405", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-75", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 1367.333252, 507.5, 750.083313, 507.5 ], + "source" : [ "obj-406", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 1.0, 0.501961, 1.0 ], + "destination" : [ "obj-402", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-407", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 1.0, 0.501961, 1.0 ], + "destination" : [ "obj-402", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-407", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 1.0, 0.501961, 1.0 ], + "destination" : [ "obj-407", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-408", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 1.0, 0.501961, 1.0 ], + "destination" : [ "obj-408", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-409", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-16", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-41", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 1.0, 0.501961, 1.0 ], + "destination" : [ "obj-383", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-410", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-393", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-410", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 1.0, 0.501961, 1.0 ], + "destination" : [ "obj-409", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-410", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-410", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-411", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-75", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 1216.5, 507.5, 750.083313, 507.5 ], + "source" : [ "obj-412", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 1.0, 1.0 ], + "destination" : [ "obj-403", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-413", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 1.0, 1.0 ], + "destination" : [ "obj-403", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-413", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 1.0, 1.0 ], + "destination" : [ "obj-413", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-414", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 1.0, 1.0 ], + "destination" : [ "obj-414", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-415", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 1.0, 1.0 ], + "destination" : [ "obj-384", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-416", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-396", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-416", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 1.0, 1.0 ], + "destination" : [ "obj-415", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-416", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-416", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-417", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-437", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-418", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-418", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-419", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 1.0, 0.501961, 1.0 ], + "destination" : [ "obj-65", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-42", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 1.0, 0.501961, 1.0 ], + "destination" : [ "obj-65", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-42", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-419", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-420", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-420", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-421", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-75", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 1065.666626, 507.0, 749.0, 507.0, 749.0, 702.0, 750.083313, 702.0 ], + "source" : [ "obj-422", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-75", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 914.833313, 506.0, 749.0, 506.0, 749.0, 702.0, 750.083313, 702.0 ], + "source" : [ "obj-423", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 1.0, 0.501961, 1.0 ], + "destination" : [ "obj-406", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-424", 3 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 1.0, 1.0 ], + "destination" : [ "obj-412", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 1166.222168, 473.0, 1216.5, 473.0 ], + "source" : [ "obj-424", 2 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.0, 0.501961, 1.0 ], + "destination" : [ "obj-422", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 965.111084, 473.0, 1065.666626, 473.0 ], + "source" : [ "obj-424", 1 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.501961, 0.0, 1.0 ], + "destination" : [ "obj-423", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 764.0, 473.0, 914.833313, 473.0 ], + "source" : [ "obj-424", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.0, 0.501961, 1.0 ], + "destination" : [ "obj-404", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-425", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.0, 0.501961, 1.0 ], + "destination" : [ "obj-404", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-425", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.0, 0.501961, 1.0 ], + "destination" : [ "obj-425", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-426", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.0, 0.501961, 1.0 ], + "destination" : [ "obj-426", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-427", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.0, 0.501961, 1.0 ], + "destination" : [ "obj-385", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-428", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-399", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-428", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.0, 0.501961, 1.0 ], + "destination" : [ "obj-427", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-428", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-428", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-429", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 1.0, 0.501961, 1.0 ], + "destination" : [ "obj-42", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-43", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 0.501961, 1.0 ], + "destination" : [ "obj-392", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 764.0, 273.0, 1367.333252, 273.0 ], + "source" : [ "obj-430", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 0.501961, 1.0 ], + "destination" : [ "obj-395", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 764.0, 273.0, 1216.5, 273.0 ], + "source" : [ "obj-430", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 0.501961, 1.0 ], + "destination" : [ "obj-398", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 764.0, 273.0, 1065.666626, 273.0 ], + "source" : [ "obj-430", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 0.501961, 1.0 ], + "destination" : [ "obj-401", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 764.0, 273.0, 914.833313, 273.0 ], + "source" : [ "obj-430", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 0.25098, 1.0 ], + "destination" : [ "obj-418", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-431", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 0.25098, 1.0 ], + "destination" : [ "obj-430", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-431", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.501961, 0.0, 1.0 ], + "destination" : [ "obj-405", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-432", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.501961, 0.0, 1.0 ], + "destination" : [ "obj-405", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-432", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.501961, 0.0, 1.0 ], + "destination" : [ "obj-432", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-433", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.501961, 0.0, 1.0 ], + "destination" : [ "obj-433", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-434", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-381", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-435", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.501961, 0.0, 1.0 ], + "destination" : [ "obj-386", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-435", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.501961, 0.0, 1.0 ], + "destination" : [ "obj-434", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-435", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-435", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-436", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-411", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 783.833313, 185.5, 1438.333252, 185.5 ], + "source" : [ "obj-437", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-417", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 783.833313, 185.5, 1287.5, 185.5 ], + "source" : [ "obj-437", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-429", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 783.833313, 185.5, 1136.666626, 185.5 ], + "source" : [ "obj-437", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-436", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 783.833313, 185.5, 985.833313, 185.5 ], + "source" : [ "obj-437", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 1.0, 0.501961, 1.0 ], + "destination" : [ "obj-43", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-44", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 1.0, 0.501961, 1.0 ], + "destination" : [ "obj-44", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-45", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-50", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-45", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 1.0, 0.501961, 1.0 ], + "destination" : [ "obj-62", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-45", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-45", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-46", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-61", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-47", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-52", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-48", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-62", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-49", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.501961, 0.0, 1.0 ], + "destination" : [ "obj-6", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-5", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-49", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-50", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-61", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 649.333313, 275.0, 684.833313, 275.0, 684.833313, 121.0, 720.333313, 121.0 ], + "source" : [ "obj-50", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-48", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-51", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-39", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-52", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-67", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-53", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-48", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 498.5, 275.0, 534.0, 275.0, 534.0, 121.0, 569.5, 121.0 ], + "source" : [ "obj-54", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-53", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-54", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.8, 0.4, 1.0, 1.0 ], + "destination" : [ "obj-25", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 518.333313, 63.0, 260.333313, 63.0 ], + "source" : [ "obj-55", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.8, 0.4, 1.0, 1.0 ], + "destination" : [ "obj-26", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 518.333313, 63.0, 411.166656, 63.0 ], + "source" : [ "obj-55", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.8, 0.4, 1.0, 1.0 ], + "destination" : [ "obj-391", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 518.333313, 63.0, 1451.833252, 63.0 ], + "source" : [ "obj-55", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.8, 0.4, 1.0, 1.0 ], + "destination" : [ "obj-394", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 518.333313, 63.0, 1301.0, 63.0 ], + "source" : [ "obj-55", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.8, 0.4, 1.0, 1.0 ], + "destination" : [ "obj-397", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 518.333313, 63.0, 1150.166626, 63.0 ], + "source" : [ "obj-55", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.8, 0.4, 1.0, 1.0 ], + "destination" : [ "obj-400", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 518.333313, 63.0, 999.333313, 63.0 ], + "source" : [ "obj-55", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.8, 0.4, 1.0, 1.0 ], + "destination" : [ "obj-47", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 518.333313, 63.0, 712.833313, 63.0 ], + "source" : [ "obj-55", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.8, 0.4, 1.0, 1.0 ], + "destination" : [ "obj-51", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 518.333313, 63.0, 562.0, 63.0 ], + "source" : [ "obj-55", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-47", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-56", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-51", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-57", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-26", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-58", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-25", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-59", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.501961, 0.0, 1.0 ], + "destination" : [ "obj-7", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-6", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-74", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-61", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 1.0, 0.501961, 1.0 ], + "destination" : [ "obj-17", 4 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-62", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.501961, 0.0, 1.0 ], + "destination" : [ "obj-18", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-63", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.0, 0.501961, 1.0 ], + "destination" : [ "obj-19", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-64", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 1.0, 0.501961, 1.0 ], + "destination" : [ "obj-40", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-65", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 1.0, 1.0 ], + "destination" : [ "obj-33", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-66", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 1.0, 1.0 ], + "destination" : [ "obj-17", 3 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-67", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.0, 0.501961, 1.0 ], + "destination" : [ "obj-17", 2 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-68", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-21", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-69", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.501961, 0.0, 1.0 ], + "destination" : [ "obj-63", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-7", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.501961, 0.0, 1.0 ], + "destination" : [ "obj-63", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-7", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-20", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 792.0, 691.0, 791.583313, 691.0 ], + "source" : [ "obj-70", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.501961, 0.0, 1.0 ], + "destination" : [ "obj-17", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-73", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-46", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-74", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-20", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 750.083313, 718.0, 750.083313, 718.0 ], + "source" : [ "obj-75", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-69", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 806.0, 666.0, 1008.25, 666.0 ], + "source" : [ "obj-76", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-70", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-76", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-75", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 764.0, 692.0, 763.583313, 692.0 ], + "source" : [ "obj-77", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-21", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-78", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-77", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 994.75, 635.0, 880.25, 635.0, 880.25, 635.0, 784.25, 635.0, 784.25, 636.0, 764.0, 636.0 ], + "source" : [ "obj-78", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-70", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 764.0, 657.0, 792.0, 657.0 ], + "source" : [ "obj-79", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-77", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 764.0, 633.0, 764.0, 633.0 ], + "source" : [ "obj-79", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-3", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-8", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-79", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-80", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-80", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 764.0, 577.0, 764.0, 577.0 ], + "source" : [ "obj-81", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-78", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 994.0, 607.0, 1008.25, 607.0 ], + "source" : [ "obj-82", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-78", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 994.0, 601.0, 994.75, 601.0 ], + "source" : [ "obj-82", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-80", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 994.0, 608.0, 796.25, 608.0, 796.25, 577.0, 777.5, 577.0 ], + "source" : [ "obj-82", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-83", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-84", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-84", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-85", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-92", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-86", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-56", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-87", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-57", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-88", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-58", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-89", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 0.25098, 1.0 ], + "destination" : [ "obj-10", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-9", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 0.25098, 1.0 ], + "destination" : [ "obj-32", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-9", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-59", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-90", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-82", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-92", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-86", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-94", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-11", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-96", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-84", 2 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-98", 0 ] + } + + } + ] + } +, + "patching_rect" : [ 15.0, 305.0, 136.0, 20.0 ], + "text" : "gen~" + } + + } +, { + "box" : { + "fontname" : "Arial Bold Italic", + "fontsize" : 18.0, + "frgb" : 0.0, + "id" : "obj-2", + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 15.0, 15.0, 227.0, 27.0 ], + "text" : "Pitch Shift" + } + + } + ], + "lines" : [ { + "patchline" : { + "destination" : [ "obj-12", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-10", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-22", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-12", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-15", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-14", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-22", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-15", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-19", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-18", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-22", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-19", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-25", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-20", 1 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-25", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-20", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-4", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-23", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-5", 0 ], + "disabled" : 0, + "hidden" : 1, + "source" : [ "obj-24", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-26", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-25", 1 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-26", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-25", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-20", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-27", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-4", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-28", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-6", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-4", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-20", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 294.5, 234.0, 411.5, 234.0 ], + "source" : [ "obj-5", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-8", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-6", 1 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-8", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-6", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-20", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 24.5, 250.5, 294.5, 250.5 ], + "source" : [ "obj-7", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-4", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-7", 0 ] + } + + } + ], + "parameters" : { + "obj-7::obj-21::obj-6" : [ "live.tab[3]", "live.tab[1]", 0 ], + "obj-25" : [ "live.gain~[1]", "live.gain~", 0 ], + "obj-6" : [ "live.gain~", "live.gain~", 0 ], + "obj-7::obj-35" : [ "[5]", "Level", 0 ], + "obj-7::obj-32" : [ "[8]", "[2]", 0 ] + } +, + "dependency_cache" : [ { + "name" : "demosound.maxpat", + "bootpath" : "/Applications/Max 6.1/Cycling '74/msp-help", + "patcherrelativepath" : "../../../../../../../Applications/Max 6.1/Cycling '74/msp-help", + "type" : "JSON", + "implicit" : 1 + } +, { + "name" : "sine.svg", + "bootpath" : "/Applications/Max 6.1/patches/picts/m4l-picts", + "patcherrelativepath" : "../../../../../../../Applications/Max 6.1/patches/picts/m4l-picts", + "type" : "svg ", + "implicit" : 1 + } +, { + "name" : "saw.svg", + "bootpath" : "/Applications/Max 6.1/patches/picts/m4l-picts", + "patcherrelativepath" : "../../../../../../../Applications/Max 6.1/patches/picts/m4l-picts", + "type" : "svg ", + "implicit" : 1 + } +, { + "name" : "square.svg", + "bootpath" : "/Applications/Max 6.1/patches/picts/m4l-picts", + "patcherrelativepath" : "../../../../../../../Applications/Max 6.1/patches/picts/m4l-picts", + "type" : "svg ", + "implicit" : 1 + } +, { + "name" : "random.svg", + "bootpath" : "/Applications/Max 6.1/patches/picts/m4l-picts", + "patcherrelativepath" : "../../../../../../../Applications/Max 6.1/patches/picts/m4l-picts", + "type" : "svg ", + "implicit" : 1 + } + ] + } + +} diff --git a/plugins/pitchshift/DistrhoPluginInfo.h b/plugins/pitchshift/DistrhoPluginInfo.h new file mode 100644 index 0000000..7611c7e --- /dev/null +++ b/plugins/pitchshift/DistrhoPluginInfo.h @@ -0,0 +1,34 @@ +/* + * DPF Max Gen + * Copyright (C) 2015 Filipe Coelho + * + * Permission to use, copy, modify, and/or distribute this software for any purpose with + * or without fee is hereby granted, provided that the above copyright notice and this + * permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD + * TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN + * NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL + * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER + * IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN + * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +#ifndef DISTRHO_PLUGIN_INFO_H_INCLUDED +#define DISTRHO_PLUGIN_INFO_H_INCLUDED + +#define DISTRHO_PLUGIN_BRAND "DISTRHO" +#define DISTRHO_PLUGIN_NAME "MaPitchshift" +#define DISTRHO_PLUGIN_URI "http://distrho.sf.net/plugins/MaPitchshift" + +#define DISTRHO_PLUGIN_HAS_UI 0 +#define DISTRHO_PLUGIN_IS_RT_SAFE 0 +#define DISTRHO_PLUGIN_NUM_INPUTS 1 +#define DISTRHO_PLUGIN_NUM_OUTPUTS 2 + +#define DISTRHO_PLUGIN_LV2_CATEGORY "lv2:PitchPlugin" + +#define DISTRHO_PLUGIN_DESCRIPTION "Max Gen Pitchshifter example." +#define DISTRHO_PLUGIN_VERSION d_cconst('D', 'M', 'p', 's') + +#endif // DISTRHO_PLUGIN_INFO_H_INCLUDED diff --git a/plugins/pitchshift/DistrhoPluginMaxGen.cpp b/plugins/pitchshift/DistrhoPluginMaxGen.cpp new file mode 120000 index 0000000..d985fe0 --- /dev/null +++ b/plugins/pitchshift/DistrhoPluginMaxGen.cpp @@ -0,0 +1 @@ +../common/DistrhoPluginMaxGen.cpp \ No newline at end of file diff --git a/plugins/pitchshift/Makefile b/plugins/pitchshift/Makefile new file mode 100644 index 0000000..b62719a --- /dev/null +++ b/plugins/pitchshift/Makefile @@ -0,0 +1,40 @@ +#!/usr/bin/make -f +# Makefile for DISTRHO Plugins # +# ---------------------------- # +# Created by falkTX +# + +# -------------------------------------------------------------- +# Project name, used for binaries + +NAME = MaPitchshift + +# -------------------------------------------------------------- +# Files to build + +OBJS_DSP = \ + DistrhoPluginMaxGen.cpp.o \ + gen_exported.cpp.o + +# -------------------------------------------------------------- +# Do some magic + +include ../Makefile.DPF-Max-Gen.mk + +# -------------------------------------------------------------- +# Enable all possible plugin types + +ifeq ($(HAVE_JACK),true) +TARGETS += jack +endif + +ifeq ($(LINUX),true) +TARGETS += ladspa +endif + +TARGETS += lv2_dsp +TARGETS += vst + +all: $(TARGETS) + +# -------------------------------------------------------------- diff --git a/plugins/pitchshift/gen_exported.cpp b/plugins/pitchshift/gen_exported.cpp new file mode 100644 index 0000000..a76fdc7 --- /dev/null +++ b/plugins/pitchshift/gen_exported.cpp @@ -0,0 +1,358 @@ +#include "gen_exported.h" + +namespace gen_exported { + + +/******************************************************************************************************************* +Copyright (c) 2012 Cycling '74 + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software +and associated documentation files (the "Software"), to deal in the Software without restriction, +including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies +or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, +INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE +OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +*******************************************************************************************************************/ + + +// global noise generator +Noise noise; +static const int GENLIB_LOOPCOUNT_BAIL = 100000; + + +// The State struct contains all the state and procedures for the gendsp kernel +typedef struct State { + CommonState __commonstate; + Delay m_delay_5; + Delta m_delta_14; + Delta m_delta_11; + Delta m_delta_20; + Delta m_delta_17; + Phasor m_phasor_10; + Sah m_sah_13; + Sah m_sah_12; + Sah m_sah_15; + Sah m_sah_16; + Sah m_sah_21; + Sah m_sah_19; + Sah m_sah_18; + Sah m_sah_22; + double samples_to_seconds; + double m_ratio_8; + double m_xfade_9; + double m_history_1; + double samplerate; + double m_history_3; + double m_history_2; + double m_blur_6; + double m_window_7; + double m_history_4; + int vectorsize; + int __exception; + // re-initialize all member variables; + inline void reset(double __sr, int __vs) { + __exception = 0; + vectorsize = __vs; + samplerate = __sr; + m_history_1 = 0; + m_history_2 = 0; + m_history_3 = 0; + m_history_4 = 0; + m_delay_5.reset("m_delay_5", 88200); + m_blur_6 = 0; + m_window_7 = 100; + m_ratio_8 = 1; + m_xfade_9 = 1; + samples_to_seconds = (1 / samplerate); + m_phasor_10.reset(0); + m_delta_11.reset(0); + m_sah_12.reset(0); + m_sah_13.reset(0); + m_delta_14.reset(0); + m_sah_15.reset(0); + m_sah_16.reset(0); + m_delta_17.reset(0); + m_sah_18.reset(0); + m_sah_19.reset(0); + m_delta_20.reset(0); + m_sah_21.reset(0); + m_sah_22.reset(0); + genlib_reset_complete(this); + + }; + // the signal processing routine; + inline int perform(t_sample ** __ins, t_sample ** __outs, int __n) { + vectorsize = __n; + const t_sample * __in1 = __ins[0]; + t_sample * __out1 = __outs[0]; + t_sample * __out2 = __outs[1]; + if (__exception) { + return __exception; + + } else if (( (__in1 == 0) || (__out1 == 0) || (__out2 == 0) )) { + __exception = GENLIB_ERR_NULL_BUFFER; + return __exception; + + }; + double mstosamps_1223 = (m_window_7 * (samplerate * 0.001)); + double rsub_1209 = (1 - m_ratio_8); + double mul_1208 = (rsub_1209 * 1000); + double div_1207 = safediv(mul_1208, m_window_7); + samples_to_seconds = (1 / samplerate); + // the main sample loop; + while ((__n--)) { + const double in1 = (*(__in1++)); + double noise_1159 = noise(); + double abs_1177 = fabs(noise_1159); + double mul_1183 = (abs_1177 * m_blur_6); + double noise_1161 = noise(); + double abs_1179 = fabs(noise_1161); + double mul_1189 = (abs_1179 * m_blur_6); + double noise_1160 = noise(); + double abs_1178 = fabs(noise_1160); + double mul_1186 = (abs_1178 * m_blur_6); + double noise_1158 = noise(); + double abs_1176 = fabs(noise_1158); + double mul_1180 = (abs_1176 * m_blur_6); + double phasor_1229 = m_phasor_10(div_1207, samples_to_seconds); + double add_1206 = ((m_history_4 + phasor_1229) + 0.5); + double mod_1205 = safemod(add_1206, 1); + double delta_1185 = m_delta_11(mod_1205); + double sah_1164 = m_sah_12(mul_1183, delta_1185, 0); + double sah_1184 = m_sah_13(mstosamps_1223, delta_1185, 0); + double mul_1173 = (sah_1184 * mod_1205); + double sub_1204 = (mod_1205 - 0.5); + double mul_1203 = (sub_1204 * 3.1415926535898); + double cos_1202 = cos(mul_1203); + double mul_1192 = (cos_1202 * cos_1202); + double add_1228 = ((m_history_3 + phasor_1229) + 0); + double mod_1227 = safemod(add_1228, 1); + double delta_1169 = m_delta_14(mod_1227); + double sah_1168 = m_sah_15(mul_1189, delta_1169, 0); + double sah_1190 = m_sah_16(mstosamps_1223, delta_1169, 0); + double mul_1175 = (sah_1190 * mod_1227); + double sub_1226 = (mod_1227 - 0.5); + double mul_1225 = (sub_1226 * 3.1415926535898); + double cos_1224 = cos(mul_1225); + double mul_1194 = (cos_1224 * cos_1224); + double add_1222 = ((m_history_2 + phasor_1229) + 0.25); + double mod_1221 = safemod(add_1222, 1); + double delta_1188 = m_delta_17(mod_1221); + double sah_1166 = m_sah_18(mul_1186, delta_1188, 0); + double sah_1187 = m_sah_19(mstosamps_1223, delta_1188, 0); + double mul_1174 = (sah_1187 * mod_1221); + double sub_1220 = (mod_1221 - 0.5); + double mul_1219 = (sub_1220 * 3.1415926535898); + double cos_1218 = cos(mul_1219); + double mul_1193 = (cos_1218 * cos_1218); + double add_1200 = ((m_history_1 + phasor_1229) + 0.75); + double mod_1199 = safemod(add_1200, 1); + double delta_1182 = m_delta_20(mod_1199); + double sah_1162 = m_sah_21(mul_1180, delta_1182, 0); + double sah_1181 = m_sah_22(mstosamps_1223, delta_1182, 0); + double mul_1172 = (sah_1181 * mod_1199); + double tap_1214 = m_delay_5.read_linear(mul_1175); + double tap_1215 = m_delay_5.read_linear(mul_1174); + double tap_1216 = m_delay_5.read_linear(mul_1173); + double tap_1217 = m_delay_5.read_linear(mul_1172); + double mul_1212 = (tap_1214 * mul_1194); + double mul_1201 = (tap_1216 * mul_1192); + double add_1245 = (mul_1201 + mul_1212); + double mix_1244 = (in1 + (m_xfade_9 * (add_1245 - in1))); + double out1 = mix_1244; + double mul_1211 = (tap_1215 * mul_1193); + double sub_1198 = (mod_1199 - 0.5); + double mul_1197 = (sub_1198 * 3.1415926535898); + double cos_1196 = cos(mul_1197); + double mul_1191 = (cos_1196 * cos_1196); + double mul_1195 = (tap_1217 * mul_1191); + double add_1247 = (mul_1195 + mul_1211); + double mix_1246 = (in1 + (m_xfade_9 * (add_1247 - in1))); + double out2 = mix_1246; + double history_1165_next_1240 = sah_1164; + double history_1170_next_1241 = sah_1168; + double history_1167_next_1242 = sah_1166; + double history_1163_next_1243 = sah_1162; + m_delay_5.write(in1); + m_history_4 = history_1165_next_1240; + m_history_3 = history_1170_next_1241; + m_history_2 = history_1167_next_1242; + m_history_1 = history_1163_next_1243; + m_delay_5.step(); + // assign results to output buffer; + (*(__out1++)) = out1; + (*(__out2++)) = out2; + + }; + return __exception; + + }; + inline void set_blur(double _value) { + m_blur_6 = (_value < 0 ? 0 : (_value > 0.25 ? 0.25 : _value)); + }; + inline void set_window(double _value) { + m_window_7 = (_value < 0.1 ? 0.1 : (_value > 1000 ? 1000 : _value)); + }; + inline void set_ratio(double _value) { + m_ratio_8 = (_value < 0.25 ? 0.25 : (_value > 4 ? 4 : _value)); + }; + inline void set_xfade(double _value) { + m_xfade_9 = (_value < 0 ? 0 : (_value > 1 ? 1 : _value)); + }; + +} State; + + +/// +/// Configuration for the genlib API +/// + +/// Number of signal inputs and outputs + +int gen_kernel_numins = 1; +int gen_kernel_numouts = 2; + +int num_inputs() { return gen_kernel_numins; } +int num_outputs() { return gen_kernel_numouts; } +int num_params() { return 4; } + +/// Assistive lables for the signal inputs and outputs + +const char * gen_kernel_innames[] = { "in1" }; +const char * gen_kernel_outnames[] = { "out1", "out2" }; + +/// Invoke the signal process of a State object + +int perform(CommonState *cself, t_sample **ins, long numins, t_sample **outs, long numouts, long n) { + State * self = (State *)cself; + return self->perform(ins, outs, n); +} + +/// Reset all parameters and stateful operators of a State object + +void reset(CommonState *cself) { + State * self = (State *)cself; + self->reset(cself->sr, cself->vs); +} + +/// Set a parameter of a State object + +void setparameter(CommonState *cself, long index, double value, void *ref) { + State * self = (State *)cself; + switch (index) { + case 0: self->set_blur(value); break; + case 1: self->set_window(value); break; + case 2: self->set_ratio(value); break; + case 3: self->set_xfade(value); break; + + default: break; + } +} + +/// Get the value of a parameter of a State object + +void getparameter(CommonState *cself, long index, double *value) { + State *self = (State *)cself; + switch (index) { + case 0: *value = self->m_blur_6; break; + case 1: *value = self->m_window_7; break; + case 2: *value = self->m_ratio_8; break; + case 3: *value = self->m_xfade_9; break; + + default: break; + } +} + +/// Allocate and configure a new State object and it's internal CommonState: + +void * create(double sr, long vs) { + State *self = new State; + self->reset(sr, vs); + ParamInfo *pi; + self->__commonstate.inputnames = gen_kernel_innames; + self->__commonstate.outputnames = gen_kernel_outnames; + self->__commonstate.numins = gen_kernel_numins; + self->__commonstate.numouts = gen_kernel_numouts; + self->__commonstate.sr = sr; + self->__commonstate.vs = vs; + self->__commonstate.params = (ParamInfo *)genlib_sysmem_newptr(4 * sizeof(ParamInfo)); + self->__commonstate.numparams = 4; + // initialize parameter 0 ("m_blur_6") + pi = self->__commonstate.params + 0; + pi->name = "blur"; + pi->paramtype = GENLIB_PARAMTYPE_FLOAT; + pi->defaultvalue = self->m_blur_6; + pi->defaultref = 0; + pi->hasinputminmax = false; + pi->inputmin = 0; + pi->inputmax = 1; + pi->hasminmax = true; + pi->outputmin = 0; + pi->outputmax = 0.25; + pi->exp = 0; + pi->units = ""; // no units defined + // initialize parameter 1 ("m_window_7") + pi = self->__commonstate.params + 1; + pi->name = "window"; + pi->paramtype = GENLIB_PARAMTYPE_FLOAT; + pi->defaultvalue = self->m_window_7; + pi->defaultref = 0; + pi->hasinputminmax = false; + pi->inputmin = 0; + pi->inputmax = 1; + pi->hasminmax = true; + pi->outputmin = 0.1; + pi->outputmax = 1000; + pi->exp = 0; + pi->units = ""; // no units defined + // initialize parameter 2 ("m_ratio_8") + pi = self->__commonstate.params + 2; + pi->name = "ratio"; + pi->paramtype = GENLIB_PARAMTYPE_FLOAT; + pi->defaultvalue = self->m_ratio_8; + pi->defaultref = 0; + pi->hasinputminmax = false; + pi->inputmin = 0; + pi->inputmax = 1; + pi->hasminmax = true; + pi->outputmin = 0.25; + pi->outputmax = 4; + pi->exp = 0; + pi->units = ""; // no units defined + // initialize parameter 3 ("m_xfade_9") + pi = self->__commonstate.params + 3; + pi->name = "xfade"; + pi->paramtype = GENLIB_PARAMTYPE_FLOAT; + pi->defaultvalue = self->m_xfade_9; + pi->defaultref = 0; + pi->hasinputminmax = false; + pi->inputmin = 0; + pi->inputmax = 1; + pi->hasminmax = true; + pi->outputmin = 0; + pi->outputmax = 1; + pi->exp = 0; + pi->units = ""; // no units defined + + return self; +} + +/// Release all resources and memory used by a State object: + +void destroy(CommonState *cself) { + State * self = (State *)cself; + genlib_sysmem_freeptr(cself->params); + + delete self; +} + + +} // gen_exported:: diff --git a/plugins/pitchshift/gen_exported.h b/plugins/pitchshift/gen_exported.h new file mode 100644 index 0000000..ab06792 --- /dev/null +++ b/plugins/pitchshift/gen_exported.h @@ -0,0 +1,37 @@ +/******************************************************************************************************************* +Copyright (c) 2012 Cycling '74 + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software +and associated documentation files (the "Software"), to deal in the Software without restriction, +including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies +or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, +INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE +OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +*******************************************************************************************************************/ + + +#include "genlib.h" +#include "genlib_exportfunctions.h" +#include "genlib_ops.h" + +namespace gen_exported { + +int num_inputs(); +int num_outputs(); +int num_params(); +int perform(CommonState *cself, t_sample **ins, long numins, t_sample **outs, long numouts, long n); +void reset(CommonState *cself); +void setparameter(CommonState *cself, long index, double value, void *ref); +void getparameter(CommonState *cself, long index, double *value); +void * create(double sr, long vs); +void destroy(CommonState *cself); + +} // gen_exported:: diff --git a/plugins/pitchshift/gen~.pitchshift.maxpat b/plugins/pitchshift/gen~.pitchshift.maxpat new file mode 100644 index 0000000..7ace35d --- /dev/null +++ b/plugins/pitchshift/gen~.pitchshift.maxpat @@ -0,0 +1,5091 @@ +{ + "patcher" : { + "fileversion" : 1, + "appversion" : { + "major" : 6, + "minor" : 1, + "revision" : 9, + "architecture" : "x86" + } +, + "rect" : [ 7.0, 59.0, 735.0, 481.0 ], + "bglocked" : 0, + "openinpresentation" : 0, + "default_fontsize" : 12.0, + "default_fontface" : 0, + "default_fontname" : "Arial", + "gridonopen" : 0, + "gridsize" : [ 15.0, 15.0 ], + "gridsnaponopen" : 0, + "statusbarvisible" : 2, + "toolbarvisible" : 1, + "boxanimatetime" : 200, + "imprint" : 0, + "enablehscroll" : 1, + "enablevscroll" : 1, + "devicewidth" : 0.0, + "description" : "", + "digest" : "", + "tags" : "", + "boxes" : [ { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-28", + "maxclass" : "message", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 81.0, 282.0, 70.0, 18.0 ], + "text" : "exportcode" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "hidden" : 1, + "id" : "obj-24", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 285.0, 18.5, 72.0, 20.0 ], + "text" : "loadmess 2" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "frgb" : 0.0, + "id" : "obj-16", + "linecount" : 2, + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 523.5, 400.0, 176.0, 33.0 ], + "text" : "See also the gen~.slicer.maxpat example" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-27", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 310.5, 262.0, 85.0, 20.0 ], + "text" : "receive shifter" + } + + } +, { + "box" : { + "fontsize" : 13.0, + "id" : "obj-25", + "maxclass" : "live.gain~", + "numinlets" : 2, + "numoutlets" : 5, + "orientation" : 1, + "outlettype" : [ "signal", "signal", "", "float", "list" ], + "parameter_enable" : 1, + "patching_rect" : [ 285.0, 339.0, 136.0, 42.0 ], + "presentation_rect" : [ 287.0, 445.0, 50.0, 28.0 ], + "saved_attribute_attributes" : { + "valueof" : { + "parameter_longname" : "live.gain~[1]", + "parameter_shortname" : "live.gain~", + "parameter_type" : 0, + "parameter_mmin" : -70.0, + "parameter_mmax" : 6.0, + "parameter_initial_enable" : 1, + "parameter_initial" : [ -70 ], + "parameter_unitstyle" : 4 + } + + } +, + "showname" : 0, + "varname" : "live.gain~[1]" + } + + } +, { + "box" : { + "bgcolor" : [ 1.0, 1.0, 1.0, 1.0 ], + "border" : 1.75, + "bordercolor" : [ 0.501961, 0.501961, 0.501961, 1.0 ], + "id" : "obj-26", + "local" : 1, + "maxclass" : "ezdac~", + "numinlets" : 2, + "numoutlets" : 0, + "patching_rect" : [ 285.0, 390.0, 44.0, 44.0 ], + "prototypename" : "helpfile" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-23", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 40.5, 262.0, 85.0, 20.0 ], + "text" : "receive shifter" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-22", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 476.0, 213.0, 73.0, 20.0 ], + "text" : "send shifter" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "frgb" : 0.0, + "id" : "obj-21", + "linecount" : 5, + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 438.0, 305.0, 103.0, 74.0 ], + "text" : "Alternate algorithm for blur (modulates rate rather than phase)" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-20", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 2, + "outlettype" : [ "signal", "signal" ], + "patcher" : { + "fileversion" : 1, + "appversion" : { + "major" : 6, + "minor" : 1, + "revision" : 9, + "architecture" : "x86" + } +, + "rect" : [ 441.0, 44.0, 879.0, 830.0 ], + "bgcolor" : [ 0.9, 0.9, 0.9, 1.0 ], + "bglocked" : 0, + "openinpresentation" : 0, + "default_fontsize" : 12.0, + "default_fontface" : 0, + "default_fontname" : "Arial", + "gridonopen" : 0, + "gridsize" : [ 15.0, 15.0 ], + "gridsnaponopen" : 0, + "statusbarvisible" : 0, + "toolbarvisible" : 1, + "boxanimatetime" : 200, + "imprint" : 0, + "enablehscroll" : 1, + "enablevscroll" : 1, + "devicewidth" : 0.0, + "description" : "", + "digest" : "", + "tags" : "", + "boxes" : [ { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "frgb" : 0.0, + "id" : "obj-86", + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 541.0, 752.0, 256.0, 20.0 ], + "text" : "send the two pairs to separate outs for fun" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-85", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 318.416656, 724.0, 30.0, 20.0 ], + "text" : "in 1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-83", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 365.0, 752.0, 37.0, 20.0 ], + "text" : "out 1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-84", + "maxclass" : "newobj", + "numinlets" : 3, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 365.0, 724.0, 46.0, 20.0 ], + "text" : "mix" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-82", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 441.333313, 724.0, 30.0, 20.0 ], + "text" : "in 1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-80", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 482.333313, 752.0, 37.0, 20.0 ], + "text" : "out 2" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-79", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 553.083313, 724.0, 180.0, 20.0 ], + "text" : "param xfade 1 @min 0 @max 1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "frgb" : 0.0, + "id" : "obj-78", + "linecount" : 2, + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 56.333328, 139.0, 108.0, 33.0 ], + "text" : "add a little noise to delay time" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-74", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 626.833313, 241.0, 28.0, 20.0 ], + "text" : "+ 1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-75", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 476.0, 241.0, 28.0, 20.0 ], + "text" : "+ 1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-76", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 325.166656, 241.0, 28.0, 20.0 ], + "text" : "+ 1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-77", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 174.333328, 241.0, 28.0, 20.0 ], + "text" : "+ 1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-62", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 626.833313, 435.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-67", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 476.0, 435.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-68", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 325.166656, 435.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-73", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 174.333328, 435.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "frgb" : 0.0, + "id" : "obj-60", + "linecount" : 3, + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 56.333328, 364.0, 120.0, 47.0 ], + "text" : "update delay at phasor loop to prevent clicks" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-56", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 626.833313, 153.0, 39.0, 20.0 ], + "text" : "noise" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-57", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 476.0, 153.0, 39.0, 20.0 ], + "text" : "noise" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-58", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 325.166656, 153.0, 39.0, 20.0 ], + "text" : "noise" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-59", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 174.333328, 153.0, 39.0, 20.0 ], + "text" : "noise" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-55", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 78.333328, 180.0, 78.0, 20.0 ], + "text" : "param blur 0" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-47", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 626.833313, 214.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-48", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 626.833313, 180.0, 30.0, 20.0 ], + "text" : "abs" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-49", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 626.833313, 392.0, 40.0, 20.0 ], + "text" : "sah 0" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-50", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 647.833313, 364.0, 37.0, 20.0 ], + "text" : "delta" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-51", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 476.0, 214.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-52", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 476.0, 180.0, 30.0, 20.0 ], + "text" : "abs" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-53", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 476.0, 392.0, 40.0, 20.0 ], + "text" : "sah 0" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-54", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 497.0, 364.0, 37.0, 20.0 ], + "text" : "delta" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-26", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 325.166656, 214.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-27", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 325.166656, 180.0, 30.0, 20.0 ], + "text" : "abs" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-28", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 325.166656, 392.0, 40.0, 20.0 ], + "text" : "sah 0" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-29", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 346.166656, 364.0, 37.0, 20.0 ], + "text" : "delta" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-25", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 174.333328, 214.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-24", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 174.333328, 180.0, 30.0, 20.0 ], + "text" : "abs" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-23", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 174.333328, 392.0, 40.0, 20.0 ], + "text" : "sah 0" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-20", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 195.333328, 364.0, 37.0, 20.0 ], + "text" : "delta" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "frgb" : 0.0, + "id" : "obj-72", + "linecount" : 2, + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 56.333328, 421.0, 103.0, 33.0 ], + "text" : "convert phase to sample delay" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "frgb" : 0.0, + "id" : "obj-71", + "linecount" : 2, + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 732.0, 571.0, 117.0, 33.0 ], + "text" : "convert phase to radians" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "frgb" : 0.0, + "id" : "obj-70", + "linecount" : 2, + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 732.0, 299.0, 125.0, 33.0 ], + "text" : "rotate phase by 25% degrees each" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "frgb" : 0.0, + "id" : "obj-69", + "linecount" : 4, + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 732.0, 629.0, 117.0, 60.0 ], + "text" : "Two 180 degree out-of-phase squared cosines always add up to 1." + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-65", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 688.0, 621.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-66", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 541.0, 621.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-64", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 392.0, 621.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-63", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 245.0, 621.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-40", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 674.5, 648.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-41", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 626.833313, 277.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-42", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 688.0, 585.0, 29.0, 20.0 ], + "text" : "cos" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-43", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 688.0, 557.0, 28.0, 20.0 ], + "text" : "* pi" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-44", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 688.0, 527.0, 35.0, 20.0 ], + "text" : "- 0.5" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-45", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 688.0, 327.0, 31.0, 20.0 ], + "text" : "% 1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-46", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 688.0, 299.0, 44.0, 20.0 ], + "text" : "+ 0.75" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-33", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 527.5, 648.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-34", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 476.0, 277.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-35", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 541.0, 585.0, 29.0, 20.0 ], + "text" : "cos" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-36", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 541.0, 557.0, 28.0, 20.0 ], + "text" : "* pi" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-37", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 541.0, 527.0, 35.0, 20.0 ], + "text" : "- 0.5" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-38", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 541.0, 327.0, 31.0, 20.0 ], + "text" : "% 1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-39", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 541.0, 299.0, 38.0, 20.0 ], + "text" : "+ 0.5" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-32", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 433.0, 94.0, 32.5, 20.0 ], + "text" : "/" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-31", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 433.0, 67.0, 45.0, 20.0 ], + "text" : "* 1000" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-30", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 433.0, 40.0, 31.0, 20.0 ], + "text" : "!- 1." + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-22", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 433.0, 10.0, 172.0, 20.0 ], + "text" : "in 2 @comment \"shift amount\"" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-21", + "maxclass" : "newobj", + "numinlets" : 3, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 482.333313, 724.0, 46.0, 20.0 ], + "text" : "mix" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-19", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 378.5, 648.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-18", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 231.5, 648.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-17", + "maxclass" : "newobj", + "numinlets" : 5, + "numoutlets" : 4, + "outlettype" : [ "", "", "", "" ], + "patching_rect" : [ 23.5, 499.0, 622.333313, 20.0 ], + "text" : "delay 88200 4" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-11", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 325.166656, 277.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-12", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 392.0, 585.0, 29.0, 20.0 ], + "text" : "cos" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-13", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 392.0, 557.0, 28.0, 20.0 ], + "text" : "* pi" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-14", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 392.0, 527.0, 35.0, 20.0 ], + "text" : "- 0.5" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-15", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 392.0, 327.0, 31.0, 20.0 ], + "text" : "% 1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-16", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 392.0, 299.0, 44.0, 20.0 ], + "text" : "+ 0.25" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-10", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 23.5, 236.0, 72.0, 20.0 ], + "text" : "mstosamps" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-9", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 23.5, 63.0, 234.0, 20.0 ], + "text" : "param window 100 @min 0.1 @max 1000" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-8", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 174.333328, 277.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-7", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 245.0, 585.0, 29.0, 20.0 ], + "text" : "cos" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-6", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 245.0, 557.0, 28.0, 20.0 ], + "text" : "* pi" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-5", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 245.0, 527.0, 35.0, 20.0 ], + "text" : "- 0.5" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-4", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 245.0, 327.0, 31.0, 20.0 ], + "text" : "% 1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-3", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 245.0, 299.0, 31.0, 20.0 ], + "text" : "+ 0." + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-2", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 433.0, 119.0, 47.0, 20.0 ], + "text" : "phasor" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-1", + "linecount" : 2, + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 23.5, 458.0, 103.0, 33.0 ], + "text" : "in 1 @comment \"input to shift\"" + } + + } + ], + "lines" : [ { + "patchline" : { + "destination" : [ "obj-17", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-1", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 0.501961, 1.0 ], + "destination" : [ "obj-11", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-10", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 0.501961, 1.0 ], + "destination" : [ "obj-34", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-10", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 0.501961, 1.0 ], + "destination" : [ "obj-41", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-10", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 0.501961, 1.0 ], + "destination" : [ "obj-8", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-10", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-28", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-11", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.0, 0.501961, 1.0 ], + "destination" : [ "obj-64", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-12", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.0, 0.501961, 1.0 ], + "destination" : [ "obj-64", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-12", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.0, 0.501961, 1.0 ], + "destination" : [ "obj-12", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-13", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.0, 0.501961, 1.0 ], + "destination" : [ "obj-13", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-14", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.0, 0.501961, 1.0 ], + "destination" : [ "obj-14", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-15", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-29", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-15", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.0, 0.501961, 1.0 ], + "destination" : [ "obj-68", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-15", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-15", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-16", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.501961, 0.0, 1.0 ], + "destination" : [ "obj-18", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-17", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.0, 0.501961, 1.0 ], + "destination" : [ "obj-19", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-17", 1 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 1.0, 1.0 ], + "destination" : [ "obj-33", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-17", 2 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 1.0, 0.501961, 1.0 ], + "destination" : [ "obj-40", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-17", 3 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-84", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-18", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-21", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-19", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-16", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-2", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-3", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-2", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-39", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-2", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-46", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-2", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-23", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-20", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-80", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-21", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-30", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-22", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-73", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-23", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-25", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-24", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-77", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-25", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-76", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-26", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-26", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-27", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-68", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-28", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-28", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-29", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-4", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-3", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-31", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-30", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-32", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-31", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-2", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-32", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-84", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-33", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-53", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-34", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 1.0, 1.0 ], + "destination" : [ "obj-66", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-35", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 1.0, 1.0 ], + "destination" : [ "obj-66", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-35", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 1.0, 1.0 ], + "destination" : [ "obj-35", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-36", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 1.0, 1.0 ], + "destination" : [ "obj-36", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-37", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 1.0, 1.0 ], + "destination" : [ "obj-37", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-38", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-54", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-38", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 1.0, 1.0 ], + "destination" : [ "obj-67", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-38", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-38", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-39", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-20", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-4", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.501961, 0.0, 1.0 ], + "destination" : [ "obj-5", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-4", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.501961, 0.0, 1.0 ], + "destination" : [ "obj-73", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-4", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-21", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-40", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-49", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-41", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 1.0, 0.501961, 1.0 ], + "destination" : [ "obj-65", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-42", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 1.0, 0.501961, 1.0 ], + "destination" : [ "obj-65", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-42", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 1.0, 0.501961, 1.0 ], + "destination" : [ "obj-42", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-43", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 1.0, 0.501961, 1.0 ], + "destination" : [ "obj-43", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-44", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 1.0, 0.501961, 1.0 ], + "destination" : [ "obj-44", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-45", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-50", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-45", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 1.0, 0.501961, 1.0 ], + "destination" : [ "obj-62", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-45", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-45", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-46", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-74", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-47", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-47", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-48", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-62", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-49", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.501961, 0.0, 1.0 ], + "destination" : [ "obj-6", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-5", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-49", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-50", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-75", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-51", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-51", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-52", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-67", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-53", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-53", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-54", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.8, 0.4, 1.0, 1.0 ], + "destination" : [ "obj-25", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-55", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.8, 0.4, 1.0, 1.0 ], + "destination" : [ "obj-26", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-55", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.8, 0.4, 1.0, 1.0 ], + "destination" : [ "obj-47", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-55", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.8, 0.4, 1.0, 1.0 ], + "destination" : [ "obj-51", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-55", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-48", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-56", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-52", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-57", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-27", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-58", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-24", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-59", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.501961, 0.0, 1.0 ], + "destination" : [ "obj-7", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-6", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 1.0, 0.501961, 1.0 ], + "destination" : [ "obj-17", 4 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-62", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.501961, 0.0, 1.0 ], + "destination" : [ "obj-18", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-63", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.0, 0.501961, 1.0 ], + "destination" : [ "obj-19", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-64", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 1.0, 0.501961, 1.0 ], + "destination" : [ "obj-40", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-65", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 1.0, 1.0 ], + "destination" : [ "obj-33", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-66", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 1.0, 1.0 ], + "destination" : [ "obj-17", 3 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-67", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.0, 0.501961, 1.0 ], + "destination" : [ "obj-17", 2 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-68", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.501961, 0.0, 1.0 ], + "destination" : [ "obj-63", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-7", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.501961, 0.0, 1.0 ], + "destination" : [ "obj-63", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-7", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.501961, 0.0, 1.0 ], + "destination" : [ "obj-17", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-73", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-41", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-74", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-34", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-75", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-11", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-76", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-8", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-77", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-21", 2 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-79", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-84", 2 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-79", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-23", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-8", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-21", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-82", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-83", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-84", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-84", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-85", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 0.25098, 1.0 ], + "destination" : [ "obj-10", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-9", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 0.25098, 1.0 ], + "destination" : [ "obj-32", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-9", 0 ] + } + + } + ] + } +, + "patching_rect" : [ 285.0, 305.0, 136.0, 20.0 ], + "text" : "gen~" + } + + } +, { + "box" : { + "bubble" : 1, + "bubbleside" : 2, + "fontname" : "Arial", + "fontsize" : 12.0, + "frgb" : 0.0, + "id" : "obj-17", + "linecount" : 2, + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 468.5, 81.0, 66.0, 52.0 ], + "text" : "crossfade dry / wet" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-18", + "maxclass" : "flonum", + "maximum" : 1.0, + "minimum" : 0.0, + "numinlets" : 1, + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ], + "parameter_enable" : 0, + "patching_rect" : [ 476.0, 144.0, 50.0, 20.0 ] + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-19", + "maxclass" : "message", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 476.0, 174.0, 57.0, 18.0 ], + "text" : "xfade $1" + } + + } +, { + "box" : { + "bubble" : 1, + "bubbleside" : 2, + "fontname" : "Arial", + "fontsize" : 12.0, + "frgb" : 0.0, + "id" : "obj-13", + "linecount" : 2, + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 555.5, 81.0, 95.0, 52.0 ], + "text" : "reduce metallic edge with blur" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-14", + "maxclass" : "flonum", + "maximum" : 0.25, + "minimum" : 0.0, + "numinlets" : 1, + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ], + "parameter_enable" : 0, + "patching_rect" : [ 578.0, 144.0, 67.0, 20.0 ] + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-15", + "maxclass" : "message", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 578.0, 174.0, 47.0, 18.0 ], + "text" : "blur $1" + } + + } +, { + "box" : { + "bubble" : 1, + "bubbleside" : 2, + "fontname" : "Arial", + "fontsize" : 12.0, + "frgb" : 0.0, + "id" : "obj-3", + "linecount" : 2, + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 347.0, 81.0, 95.0, 52.0 ], + "text" : "window size in milliseconds" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-10", + "maxclass" : "flonum", + "maximum" : 1000.0, + "minimum" : 0.1, + "numinlets" : 1, + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ], + "parameter_enable" : 0, + "patching_rect" : [ 369.5, 144.0, 50.0, 20.0 ] + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-12", + "maxclass" : "message", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 369.5, 174.0, 67.0, 18.0 ], + "text" : "window $1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "frgb" : 0.0, + "id" : "obj-11", + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 15.0, 48.0, 347.0, 20.0 ], + "text" : "By the overlap-add method, with stochastic 'blur'" + } + + } +, { + "box" : { + "bubble" : 1, + "bubbleside" : 2, + "fontname" : "Arial", + "fontsize" : 12.0, + "frgb" : 0.0, + "id" : "obj-9", + "linecount" : 2, + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 285.0, 82.0, 51.0, 52.0 ], + "text" : "shift amount" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-5", + "maxclass" : "flonum", + "numinlets" : 1, + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ], + "parameter_enable" : 0, + "patching_rect" : [ 285.0, 144.0, 50.0, 20.0 ] + } + + } +, { + "box" : { + "fontsize" : 13.0, + "id" : "obj-6", + "maxclass" : "live.gain~", + "numinlets" : 2, + "numoutlets" : 5, + "orientation" : 1, + "outlettype" : [ "signal", "signal", "", "float", "list" ], + "parameter_enable" : 1, + "patching_rect" : [ 15.0, 339.0, 136.0, 42.0 ], + "presentation_rect" : [ 60.0, 60.0, 50.0, 28.0 ], + "saved_attribute_attributes" : { + "valueof" : { + "parameter_longname" : "live.gain~", + "parameter_shortname" : "live.gain~", + "parameter_type" : 0, + "parameter_mmin" : -70.0, + "parameter_mmax" : 6.0, + "parameter_initial_enable" : 1, + "parameter_initial" : [ -70 ], + "parameter_unitstyle" : 4 + } + + } +, + "showname" : 0, + "varname" : "live.gain~" + } + + } +, { + "box" : { + "bgcolor" : [ 1.0, 1.0, 1.0, 1.0 ], + "border" : 1.75, + "bordercolor" : [ 0.501961, 0.501961, 0.501961, 1.0 ], + "id" : "obj-8", + "local" : 1, + "maxclass" : "ezdac~", + "numinlets" : 2, + "numoutlets" : 0, + "patching_rect" : [ 15.0, 390.0, 44.0, 44.0 ], + "prototypename" : "helpfile" + } + + } +, { + "box" : { + "args" : [ "@loop", 1, "@file", 6 ], + "id" : "obj-7", + "maxclass" : "bpatcher", + "name" : "demosound.maxpat", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "signal" ], + "patching_rect" : [ 15.0, 82.0, 225.0, 105.0 ] + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-4", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 2, + "outlettype" : [ "signal", "signal" ], + "patcher" : { + "fileversion" : 1, + "appversion" : { + "major" : 6, + "minor" : 1, + "revision" : 9, + "architecture" : "x86" + } +, + "rect" : [ 81.0, 45.0, 879.0, 830.0 ], + "bgcolor" : [ 0.9, 0.9, 0.9, 1.0 ], + "bglocked" : 0, + "openinpresentation" : 0, + "default_fontsize" : 12.0, + "default_fontface" : 0, + "default_fontname" : "Arial", + "gridonopen" : 0, + "gridsize" : [ 15.0, 15.0 ], + "gridsnaponopen" : 0, + "statusbarvisible" : 0, + "toolbarvisible" : 1, + "boxanimatetime" : 200, + "imprint" : 0, + "enablehscroll" : 1, + "enablevscroll" : 1, + "devicewidth" : 0.0, + "description" : "", + "digest" : "", + "tags" : "", + "boxes" : [ { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "frgb" : 0.0, + "id" : "obj-91", + "linecount" : 3, + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 150.583328, 209.0, 88.0, 47.0 ], + "text" : "update blur at phasor loop to prevent clicks" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-87", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 688.0, 111.0, 39.0, 20.0 ], + "text" : "noise" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-88", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 541.0, 111.0, 39.0, 20.0 ], + "text" : "noise" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-89", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 392.0, 111.0, 39.0, 20.0 ], + "text" : "noise" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-90", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 245.0, 111.0, 39.0, 20.0 ], + "text" : "noise" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-61", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 688.0, 209.0, 40.0, 20.0 ], + "text" : "sah 0" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-74", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 688.0, 237.0, 46.0, 20.0 ], + "text" : "history" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-48", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 541.0, 209.0, 40.0, 20.0 ], + "text" : "sah 0" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-52", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 541.0, 237.0, 46.0, 20.0 ], + "text" : "history" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-34", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 392.0, 209.0, 40.0, 20.0 ], + "text" : "sah 0" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-41", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 392.0, 237.0, 46.0, 20.0 ], + "text" : "history" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-27", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 245.0, 209.0, 40.0, 20.0 ], + "text" : "sah 0" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-24", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 195.333328, 364.0, 37.0, 20.0 ], + "text" : "delta" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-8", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 245.0, 237.0, 46.0, 20.0 ], + "text" : "history" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "frgb" : 0.0, + "id" : "obj-86", + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 541.0, 752.0, 256.0, 20.0 ], + "text" : "send the two pairs to separate outs for fun" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-85", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 318.416656, 724.0, 30.0, 20.0 ], + "text" : "in 1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-83", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 365.0, 752.0, 37.0, 20.0 ], + "text" : "out 1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-84", + "maxclass" : "newobj", + "numinlets" : 3, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 365.0, 724.0, 46.0, 20.0 ], + "text" : "mix" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-82", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 441.333313, 724.0, 30.0, 20.0 ], + "text" : "in 1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-80", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 482.333313, 752.0, 37.0, 20.0 ], + "text" : "out 2" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-79", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 553.083313, 724.0, 180.0, 20.0 ], + "text" : "param xfade 1 @min 0 @max 1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "frgb" : 0.0, + "id" : "obj-78", + "linecount" : 2, + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 688.0, 71.0, 108.0, 33.0 ], + "text" : "add a little noise to phase offset" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-62", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 626.833313, 435.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-67", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 476.0, 435.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-68", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 325.166656, 435.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-73", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 174.333328, 435.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "frgb" : 0.0, + "id" : "obj-60", + "linecount" : 3, + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 56.333328, 313.0, 120.0, 47.0 ], + "text" : "update delay at phasor loop to prevent clicks" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-56", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 688.0, 138.0, 30.0, 20.0 ], + "text" : "abs" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-57", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 541.0, 138.0, 30.0, 20.0 ], + "text" : "abs" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-58", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 392.0, 138.0, 30.0, 20.0 ], + "text" : "abs" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-59", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 245.0, 138.0, 30.0, 20.0 ], + "text" : "abs" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-55", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 732.0, 138.0, 191.0, 20.0 ], + "text" : "param blur 0 @min 0. @max 0.25" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-47", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 688.0, 172.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-49", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 626.833313, 392.0, 40.0, 20.0 ], + "text" : "sah 0" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-50", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 647.833313, 364.0, 37.0, 20.0 ], + "text" : "delta" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-51", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 541.0, 172.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-53", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 476.0, 392.0, 40.0, 20.0 ], + "text" : "sah 0" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-54", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 497.0, 364.0, 37.0, 20.0 ], + "text" : "delta" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-26", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 392.0, 172.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-28", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 325.166656, 392.0, 40.0, 20.0 ], + "text" : "sah 0" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-29", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 346.166656, 364.0, 37.0, 20.0 ], + "text" : "delta" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-25", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 245.0, 172.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-23", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 174.333328, 392.0, 40.0, 20.0 ], + "text" : "sah 0" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "frgb" : 0.0, + "id" : "obj-72", + "linecount" : 2, + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 56.333328, 421.0, 103.0, 33.0 ], + "text" : "convert phase to sample delay" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "frgb" : 0.0, + "id" : "obj-71", + "linecount" : 2, + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 732.0, 571.0, 117.0, 33.0 ], + "text" : "convert phase to radians" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "frgb" : 0.0, + "id" : "obj-70", + "linecount" : 2, + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 732.0, 299.0, 125.0, 33.0 ], + "text" : "rotate phase by 25% degrees each" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "frgb" : 0.0, + "id" : "obj-69", + "linecount" : 4, + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 732.0, 629.0, 117.0, 60.0 ], + "text" : "Two 180 degree out-of-phase squared cosines always add up to 1." + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-65", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 688.0, 621.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-66", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 541.0, 621.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-64", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 392.0, 621.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-63", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 245.0, 621.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-40", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 674.5, 648.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-42", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 688.0, 585.0, 29.0, 20.0 ], + "text" : "cos" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-43", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 688.0, 557.0, 28.0, 20.0 ], + "text" : "* pi" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-44", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 688.0, 527.0, 35.0, 20.0 ], + "text" : "- 0.5" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-45", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 688.0, 327.0, 31.0, 20.0 ], + "text" : "% 1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-46", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 688.0, 299.0, 44.0, 20.0 ], + "text" : "+ 0.75" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-33", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 527.5, 648.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-35", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 541.0, 585.0, 29.0, 20.0 ], + "text" : "cos" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-36", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 541.0, 557.0, 28.0, 20.0 ], + "text" : "* pi" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-37", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 541.0, 527.0, 35.0, 20.0 ], + "text" : "- 0.5" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-38", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 541.0, 327.0, 31.0, 20.0 ], + "text" : "% 1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-39", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 541.0, 299.0, 38.0, 20.0 ], + "text" : "+ 0.5" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-32", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 56.333328, 228.0, 32.5, 20.0 ], + "text" : "/" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-31", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 56.333328, 201.0, 45.0, 20.0 ], + "text" : "* 1000" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-30", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 56.333328, 174.0, 31.0, 20.0 ], + "text" : "!- 1." + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-22", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 56.333328, 144.0, 184.0, 20.0 ], + "text" : "param ratio @min 0.25 @max 4." + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-21", + "maxclass" : "newobj", + "numinlets" : 3, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 482.333313, 724.0, 46.0, 20.0 ], + "text" : "mix" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-19", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 378.5, 648.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-18", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 231.5, 648.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-17", + "maxclass" : "newobj", + "numinlets" : 5, + "numoutlets" : 4, + "outlettype" : [ "", "", "", "" ], + "patching_rect" : [ 23.5, 499.0, 622.333313, 20.0 ], + "text" : "delay 88200 4" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-12", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 392.0, 585.0, 29.0, 20.0 ], + "text" : "cos" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-13", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 392.0, 557.0, 28.0, 20.0 ], + "text" : "* pi" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-14", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 392.0, 527.0, 35.0, 20.0 ], + "text" : "- 0.5" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-15", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 392.0, 327.0, 31.0, 20.0 ], + "text" : "% 1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-16", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 392.0, 299.0, 44.0, 20.0 ], + "text" : "+ 0.25" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-10", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 23.5, 364.0, 72.0, 20.0 ], + "text" : "mstosamps" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-9", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 23.5, 63.0, 234.0, 20.0 ], + "text" : "param window 100 @min 0.1 @max 1000" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-7", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 245.0, 585.0, 29.0, 20.0 ], + "text" : "cos" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-6", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 245.0, 557.0, 28.0, 20.0 ], + "text" : "* pi" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-5", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 245.0, 527.0, 35.0, 20.0 ], + "text" : "- 0.5" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-4", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 245.0, 327.0, 31.0, 20.0 ], + "text" : "% 1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-3", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 245.0, 299.0, 31.0, 20.0 ], + "text" : "+ 0." + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-2", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 56.333328, 253.0, 47.0, 20.0 ], + "text" : "phasor" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-1", + "linecount" : 2, + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 23.5, 458.0, 103.0, 33.0 ], + "text" : "in 1 @comment \"input to shift\"" + } + + } + ], + "lines" : [ { + "patchline" : { + "destination" : [ "obj-17", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-1", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 0.501961, 1.0 ], + "destination" : [ "obj-23", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-10", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 0.501961, 1.0 ], + "destination" : [ "obj-28", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-10", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 0.501961, 1.0 ], + "destination" : [ "obj-49", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-10", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 0.501961, 1.0 ], + "destination" : [ "obj-53", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-10", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.0, 0.501961, 1.0 ], + "destination" : [ "obj-64", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-12", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.0, 0.501961, 1.0 ], + "destination" : [ "obj-64", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-12", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.0, 0.501961, 1.0 ], + "destination" : [ "obj-12", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-13", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.0, 0.501961, 1.0 ], + "destination" : [ "obj-13", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-14", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.0, 0.501961, 1.0 ], + "destination" : [ "obj-14", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-15", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-29", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-15", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.0, 0.501961, 1.0 ], + "destination" : [ "obj-68", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-15", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-15", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-16", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.501961, 0.0, 1.0 ], + "destination" : [ "obj-18", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-17", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.0, 0.501961, 1.0 ], + "destination" : [ "obj-19", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-17", 1 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 1.0, 1.0 ], + "destination" : [ "obj-33", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-17", 2 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 1.0, 0.501961, 1.0 ], + "destination" : [ "obj-40", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-17", 3 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-84", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-18", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-21", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-19", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-16", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-2", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-3", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-2", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-39", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-2", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-46", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-2", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-80", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-21", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-30", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-22", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-73", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-23", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-23", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-24", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-27", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-24", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-27", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-25", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-34", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-26", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-8", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-27", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-68", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-28", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-28", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-29", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-34", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-29", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-4", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-3", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-31", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-30", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-32", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-31", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-2", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-32", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-84", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-33", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-41", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-34", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 1.0, 1.0 ], + "destination" : [ "obj-66", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-35", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 1.0, 1.0 ], + "destination" : [ "obj-66", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-35", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 1.0, 1.0 ], + "destination" : [ "obj-35", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-36", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 1.0, 1.0 ], + "destination" : [ "obj-36", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-37", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 1.0, 1.0 ], + "destination" : [ "obj-37", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-38", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-54", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-38", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 1.0, 1.0 ], + "destination" : [ "obj-67", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-38", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-38", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-39", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-24", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-4", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.501961, 0.0, 1.0 ], + "destination" : [ "obj-5", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-4", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.501961, 0.0, 1.0 ], + "destination" : [ "obj-73", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-4", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-21", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-40", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-16", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-41", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 1.0, 0.501961, 1.0 ], + "destination" : [ "obj-65", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-42", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 1.0, 0.501961, 1.0 ], + "destination" : [ "obj-65", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-42", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 1.0, 0.501961, 1.0 ], + "destination" : [ "obj-42", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-43", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 1.0, 0.501961, 1.0 ], + "destination" : [ "obj-43", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-44", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 1.0, 0.501961, 1.0 ], + "destination" : [ "obj-44", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-45", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-50", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-45", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 1.0, 0.501961, 1.0 ], + "destination" : [ "obj-62", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-45", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-45", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-46", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-61", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-47", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-52", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-48", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-62", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-49", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.501961, 0.0, 1.0 ], + "destination" : [ "obj-6", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-5", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-49", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-50", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-61", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-50", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-48", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-51", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-39", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-52", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-67", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-53", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-48", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-54", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-53", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-54", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.8, 0.4, 1.0, 1.0 ], + "destination" : [ "obj-25", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-55", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.8, 0.4, 1.0, 1.0 ], + "destination" : [ "obj-26", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-55", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.8, 0.4, 1.0, 1.0 ], + "destination" : [ "obj-47", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-55", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.8, 0.4, 1.0, 1.0 ], + "destination" : [ "obj-51", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-55", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-47", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-56", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-51", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-57", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-26", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-58", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-25", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-59", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.501961, 0.0, 1.0 ], + "destination" : [ "obj-7", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-6", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-74", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-61", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 1.0, 0.501961, 1.0 ], + "destination" : [ "obj-17", 4 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-62", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.501961, 0.0, 1.0 ], + "destination" : [ "obj-18", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-63", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.0, 0.501961, 1.0 ], + "destination" : [ "obj-19", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-64", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 1.0, 0.501961, 1.0 ], + "destination" : [ "obj-40", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-65", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 1.0, 1.0 ], + "destination" : [ "obj-33", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-66", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 1.0, 1.0 ], + "destination" : [ "obj-17", 3 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-67", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.0, 0.501961, 1.0 ], + "destination" : [ "obj-17", 2 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-68", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.501961, 0.0, 1.0 ], + "destination" : [ "obj-63", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-7", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.501961, 0.0, 1.0 ], + "destination" : [ "obj-63", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-7", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.501961, 0.0, 1.0 ], + "destination" : [ "obj-17", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-73", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-46", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-74", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-21", 2 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-79", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-84", 2 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-79", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-3", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-8", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-21", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-82", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-83", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-84", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-84", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-85", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-56", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-87", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-57", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-88", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-58", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-89", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 0.25098, 1.0 ], + "destination" : [ "obj-10", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-9", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 0.25098, 1.0 ], + "destination" : [ "obj-32", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-9", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-59", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-90", 0 ] + } + + } + ] + } +, + "patching_rect" : [ 15.0, 305.0, 136.0, 20.0 ], + "text" : "gen~" + } + + } +, { + "box" : { + "fontname" : "Arial Bold Italic", + "fontsize" : 18.0, + "frgb" : 0.0, + "id" : "obj-2", + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 15.0, 15.0, 227.0, 27.0 ], + "text" : "Pitch Shift" + } + + } + ], + "lines" : [ { + "patchline" : { + "destination" : [ "obj-12", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-10", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-22", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-12", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-15", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-14", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-22", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-15", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-19", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-18", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-22", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-19", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-25", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-20", 1 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-25", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-20", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-4", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-23", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-5", 0 ], + "disabled" : 0, + "hidden" : 1, + "source" : [ "obj-24", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-26", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-25", 1 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-26", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-25", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-20", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-27", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-4", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-28", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-6", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-4", 1 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-6", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-4", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-20", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 294.5, 234.0, 411.5, 234.0 ], + "source" : [ "obj-5", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-8", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-6", 1 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-8", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-6", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-20", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 24.5, 250.5, 294.5, 250.5 ], + "source" : [ "obj-7", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-4", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-7", 0 ] + } + + } + ], + "parameters" : { + "obj-25" : [ "live.gain~[1]", "live.gain~", 0 ], + "obj-7::obj-35" : [ "[5]", "Level", 0 ], + "obj-7::obj-21::obj-6" : [ "live.tab[3]", "live.tab[1]", 0 ], + "obj-7::obj-32" : [ "[8]", "[2]", 0 ], + "obj-6" : [ "live.gain~", "live.gain~", 0 ] + } +, + "dependency_cache" : [ { + "name" : "demosound.maxpat", + "bootpath" : "/Applications/Max 6.1/Cycling '74/msp-help", + "patcherrelativepath" : "../../../../../Applications/Max 6.1/Cycling '74/msp-help", + "type" : "JSON", + "implicit" : 1 + } +, { + "name" : "sine.svg", + "bootpath" : "/Applications/Max 6.1/patches/picts/m4l-picts", + "patcherrelativepath" : "../../../../../Applications/Max 6.1/patches/picts/m4l-picts", + "type" : "svg ", + "implicit" : 1 + } +, { + "name" : "saw.svg", + "bootpath" : "/Applications/Max 6.1/patches/picts/m4l-picts", + "patcherrelativepath" : "../../../../../Applications/Max 6.1/patches/picts/m4l-picts", + "type" : "svg ", + "implicit" : 1 + } +, { + "name" : "square.svg", + "bootpath" : "/Applications/Max 6.1/patches/picts/m4l-picts", + "patcherrelativepath" : "../../../../../Applications/Max 6.1/patches/picts/m4l-picts", + "type" : "svg ", + "implicit" : 1 + } +, { + "name" : "random.svg", + "bootpath" : "/Applications/Max 6.1/patches/picts/m4l-picts", + "patcherrelativepath" : "../../../../../Applications/Max 6.1/patches/picts/m4l-picts", + "type" : "svg ", + "implicit" : 1 + } + ] + } + +} diff --git a/plugins/pitchshift/pitchshift.gendsp b/plugins/pitchshift/pitchshift.gendsp new file mode 100644 index 0000000..8be95ad --- /dev/null +++ b/plugins/pitchshift/pitchshift.gendsp @@ -0,0 +1,2222 @@ +{ + "patcher" : { + "fileversion" : 1, + "appversion" : { + "major" : 6, + "minor" : 1, + "revision" : 9, + "architecture" : "x86" + } +, + "rect" : [ 81.0, 45.0, 879.0, 830.0 ], + "bgcolor" : [ 0.9, 0.9, 0.9, 1.0 ], + "bglocked" : 0, + "openinpresentation" : 0, + "default_fontsize" : 12.0, + "default_fontface" : 0, + "default_fontname" : "Arial", + "gridonopen" : 0, + "gridsize" : [ 15.0, 15.0 ], + "gridsnaponopen" : 0, + "statusbarvisible" : 0, + "toolbarvisible" : 1, + "boxanimatetime" : 200, + "imprint" : 0, + "enablehscroll" : 1, + "enablevscroll" : 1, + "devicewidth" : 0.0, + "description" : "", + "digest" : "", + "tags" : "", + "boxes" : [ { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "frgb" : 0.0, + "id" : "obj-91", + "linecount" : 3, + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 150.583328, 209.0, 88.0, 47.0 ], + "text" : "update blur at phasor loop to prevent clicks" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-87", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 688.0, 111.0, 39.0, 20.0 ], + "text" : "noise" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-88", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 541.0, 111.0, 39.0, 20.0 ], + "text" : "noise" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-89", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 392.0, 111.0, 39.0, 20.0 ], + "text" : "noise" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-90", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 245.0, 111.0, 39.0, 20.0 ], + "text" : "noise" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-61", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 688.0, 209.0, 40.0, 20.0 ], + "text" : "sah 0" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-74", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 688.0, 237.0, 46.0, 20.0 ], + "text" : "history" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-48", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 541.0, 209.0, 40.0, 20.0 ], + "text" : "sah 0" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-52", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 541.0, 237.0, 46.0, 20.0 ], + "text" : "history" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-34", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 392.0, 209.0, 40.0, 20.0 ], + "text" : "sah 0" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-41", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 392.0, 237.0, 46.0, 20.0 ], + "text" : "history" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-27", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 245.0, 209.0, 40.0, 20.0 ], + "text" : "sah 0" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-24", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 195.333328, 364.0, 37.0, 20.0 ], + "text" : "delta" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-8", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 245.0, 237.0, 46.0, 20.0 ], + "text" : "history" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "frgb" : 0.0, + "id" : "obj-86", + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 541.0, 752.0, 256.0, 20.0 ], + "text" : "send the two pairs to separate outs for fun" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-85", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 318.416656, 724.0, 30.0, 20.0 ], + "text" : "in 1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-83", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 365.0, 752.0, 37.0, 20.0 ], + "text" : "out 1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-84", + "maxclass" : "newobj", + "numinlets" : 3, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 365.0, 724.0, 46.0, 20.0 ], + "text" : "mix" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-82", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 441.333313, 724.0, 30.0, 20.0 ], + "text" : "in 1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-80", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 482.333313, 752.0, 37.0, 20.0 ], + "text" : "out 2" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-79", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 553.083313, 724.0, 180.0, 20.0 ], + "text" : "param xfade 1 @min 0 @max 1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "frgb" : 0.0, + "id" : "obj-78", + "linecount" : 2, + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 688.0, 71.0, 108.0, 33.0 ], + "text" : "add a little noise to phase offset" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-62", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 626.833313, 435.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-67", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 476.0, 435.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-68", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 325.166656, 435.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-73", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 174.333328, 435.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "frgb" : 0.0, + "id" : "obj-60", + "linecount" : 3, + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 56.333328, 313.0, 120.0, 47.0 ], + "text" : "update delay at phasor loop to prevent clicks" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-56", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 688.0, 138.0, 30.0, 20.0 ], + "text" : "abs" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-57", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 541.0, 138.0, 30.0, 20.0 ], + "text" : "abs" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-58", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 392.0, 138.0, 30.0, 20.0 ], + "text" : "abs" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-59", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 245.0, 138.0, 30.0, 20.0 ], + "text" : "abs" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-55", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 732.0, 138.0, 191.0, 20.0 ], + "text" : "param blur 0 @min 0. @max 0.25" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-47", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 688.0, 172.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-49", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 626.833313, 392.0, 40.0, 20.0 ], + "text" : "sah 0" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-50", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 647.833313, 364.0, 37.0, 20.0 ], + "text" : "delta" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-51", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 541.0, 172.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-53", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 476.0, 392.0, 40.0, 20.0 ], + "text" : "sah 0" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-54", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 497.0, 364.0, 37.0, 20.0 ], + "text" : "delta" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-26", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 392.0, 172.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-28", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 325.166656, 392.0, 40.0, 20.0 ], + "text" : "sah 0" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-29", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 346.166656, 364.0, 37.0, 20.0 ], + "text" : "delta" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-25", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 245.0, 172.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-23", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 174.333328, 392.0, 40.0, 20.0 ], + "text" : "sah 0" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "frgb" : 0.0, + "id" : "obj-72", + "linecount" : 2, + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 56.333328, 421.0, 103.0, 33.0 ], + "text" : "convert phase to sample delay" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "frgb" : 0.0, + "id" : "obj-71", + "linecount" : 2, + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 732.0, 571.0, 117.0, 33.0 ], + "text" : "convert phase to radians" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "frgb" : 0.0, + "id" : "obj-70", + "linecount" : 2, + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 732.0, 299.0, 125.0, 33.0 ], + "text" : "rotate phase by 25% degrees each" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "frgb" : 0.0, + "id" : "obj-69", + "linecount" : 4, + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 732.0, 629.0, 117.0, 60.0 ], + "text" : "Two 180 degree out-of-phase squared cosines always add up to 1." + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-65", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 688.0, 621.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-66", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 541.0, 621.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-64", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 392.0, 621.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-63", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 245.0, 621.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-40", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 674.5, 648.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-42", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 688.0, 585.0, 29.0, 20.0 ], + "text" : "cos" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-43", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 688.0, 557.0, 28.0, 20.0 ], + "text" : "* pi" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-44", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 688.0, 527.0, 35.0, 20.0 ], + "text" : "- 0.5" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-45", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 688.0, 327.0, 31.0, 20.0 ], + "text" : "% 1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-46", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 688.0, 299.0, 44.0, 20.0 ], + "text" : "+ 0.75" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-33", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 527.5, 648.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-35", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 541.0, 585.0, 29.0, 20.0 ], + "text" : "cos" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-36", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 541.0, 557.0, 28.0, 20.0 ], + "text" : "* pi" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-37", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 541.0, 527.0, 35.0, 20.0 ], + "text" : "- 0.5" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-38", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 541.0, 327.0, 31.0, 20.0 ], + "text" : "% 1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-39", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 541.0, 299.0, 38.0, 20.0 ], + "text" : "+ 0.5" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-32", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 56.333328, 228.0, 32.5, 20.0 ], + "text" : "/" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-31", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 56.333328, 201.0, 45.0, 20.0 ], + "text" : "* 1000" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-30", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 56.333328, 174.0, 31.0, 20.0 ], + "text" : "!- 1." + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-22", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 56.333328, 144.0, 184.0, 20.0 ], + "text" : "param ratio @min 0.25 @max 4." + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-21", + "maxclass" : "newobj", + "numinlets" : 3, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 482.333313, 724.0, 46.0, 20.0 ], + "text" : "mix" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-19", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 378.5, 648.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-18", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 231.5, 648.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-17", + "maxclass" : "newobj", + "numinlets" : 5, + "numoutlets" : 4, + "outlettype" : [ "", "", "", "" ], + "patching_rect" : [ 23.5, 499.0, 622.333313, 20.0 ], + "text" : "delay 88200 4" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-12", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 392.0, 585.0, 29.0, 20.0 ], + "text" : "cos" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-13", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 392.0, 557.0, 28.0, 20.0 ], + "text" : "* pi" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-14", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 392.0, 527.0, 35.0, 20.0 ], + "text" : "- 0.5" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-15", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 392.0, 327.0, 31.0, 20.0 ], + "text" : "% 1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-16", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 392.0, 299.0, 44.0, 20.0 ], + "text" : "+ 0.25" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-10", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 23.5, 364.0, 72.0, 20.0 ], + "text" : "mstosamps" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-9", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 23.5, 63.0, 234.0, 20.0 ], + "text" : "param window 100 @min 0.1 @max 1000" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-7", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 245.0, 585.0, 29.0, 20.0 ], + "text" : "cos" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-6", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 245.0, 557.0, 28.0, 20.0 ], + "text" : "* pi" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-5", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 245.0, 527.0, 35.0, 20.0 ], + "text" : "- 0.5" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-4", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 245.0, 327.0, 31.0, 20.0 ], + "text" : "% 1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-3", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 245.0, 299.0, 31.0, 20.0 ], + "text" : "+ 0." + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-2", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 56.333328, 253.0, 47.0, 20.0 ], + "text" : "phasor" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-1", + "linecount" : 2, + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 23.5, 458.0, 103.0, 33.0 ], + "text" : "in 1 @comment \"input to shift\"" + } + + } + ], + "lines" : [ { + "patchline" : { + "destination" : [ "obj-17", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-1", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 0.501961, 1.0 ], + "destination" : [ "obj-23", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-10", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 0.501961, 1.0 ], + "destination" : [ "obj-28", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-10", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 0.501961, 1.0 ], + "destination" : [ "obj-49", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-10", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 0.501961, 1.0 ], + "destination" : [ "obj-53", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-10", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.0, 0.501961, 1.0 ], + "destination" : [ "obj-64", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-12", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.0, 0.501961, 1.0 ], + "destination" : [ "obj-64", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-12", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.0, 0.501961, 1.0 ], + "destination" : [ "obj-12", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-13", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.0, 0.501961, 1.0 ], + "destination" : [ "obj-13", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-14", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.0, 0.501961, 1.0 ], + "destination" : [ "obj-14", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-15", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-29", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-15", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.0, 0.501961, 1.0 ], + "destination" : [ "obj-68", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-15", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-15", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-16", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.501961, 0.0, 1.0 ], + "destination" : [ "obj-18", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-17", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.0, 0.501961, 1.0 ], + "destination" : [ "obj-19", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-17", 1 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 1.0, 1.0 ], + "destination" : [ "obj-33", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-17", 2 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 1.0, 0.501961, 1.0 ], + "destination" : [ "obj-40", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-17", 3 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-84", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-18", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-21", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-19", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-16", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-2", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-3", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-2", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-39", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-2", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-46", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-2", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-80", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-21", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-30", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-22", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-73", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-23", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-23", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-24", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-27", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-24", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-27", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-25", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-34", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-26", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-8", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-27", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-68", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-28", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-28", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-29", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-34", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-29", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-4", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-3", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-31", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-30", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-32", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-31", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-2", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-32", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-84", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-33", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-41", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-34", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 1.0, 1.0 ], + "destination" : [ "obj-66", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-35", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 1.0, 1.0 ], + "destination" : [ "obj-66", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-35", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 1.0, 1.0 ], + "destination" : [ "obj-35", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-36", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 1.0, 1.0 ], + "destination" : [ "obj-36", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-37", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 1.0, 1.0 ], + "destination" : [ "obj-37", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-38", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-54", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-38", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 1.0, 1.0 ], + "destination" : [ "obj-67", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-38", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-38", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-39", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-24", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-4", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.501961, 0.0, 1.0 ], + "destination" : [ "obj-5", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-4", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.501961, 0.0, 1.0 ], + "destination" : [ "obj-73", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-4", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-21", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-40", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-16", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-41", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 1.0, 0.501961, 1.0 ], + "destination" : [ "obj-65", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-42", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 1.0, 0.501961, 1.0 ], + "destination" : [ "obj-65", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-42", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 1.0, 0.501961, 1.0 ], + "destination" : [ "obj-42", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-43", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 1.0, 0.501961, 1.0 ], + "destination" : [ "obj-43", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-44", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 1.0, 0.501961, 1.0 ], + "destination" : [ "obj-44", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-45", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-50", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-45", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 1.0, 0.501961, 1.0 ], + "destination" : [ "obj-62", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-45", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-45", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-46", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-61", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-47", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-52", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-48", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-62", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-49", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.501961, 0.0, 1.0 ], + "destination" : [ "obj-6", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-5", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-49", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-50", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-61", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-50", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-48", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-51", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-39", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-52", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-67", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-53", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-48", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-54", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-53", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-54", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.8, 0.4, 1.0, 1.0 ], + "destination" : [ "obj-25", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-55", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.8, 0.4, 1.0, 1.0 ], + "destination" : [ "obj-26", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-55", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.8, 0.4, 1.0, 1.0 ], + "destination" : [ "obj-47", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-55", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.8, 0.4, 1.0, 1.0 ], + "destination" : [ "obj-51", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-55", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-47", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-56", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-51", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-57", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-26", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-58", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-25", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-59", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.501961, 0.0, 1.0 ], + "destination" : [ "obj-7", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-6", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-74", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-61", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 1.0, 0.501961, 1.0 ], + "destination" : [ "obj-17", 4 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-62", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.501961, 0.0, 1.0 ], + "destination" : [ "obj-18", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-63", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.0, 0.501961, 1.0 ], + "destination" : [ "obj-19", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-64", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 1.0, 0.501961, 1.0 ], + "destination" : [ "obj-40", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-65", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 1.0, 1.0 ], + "destination" : [ "obj-33", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-66", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 1.0, 1.0 ], + "destination" : [ "obj-17", 3 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-67", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.0, 0.501961, 1.0 ], + "destination" : [ "obj-17", 2 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-68", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.501961, 0.0, 1.0 ], + "destination" : [ "obj-63", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-7", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.501961, 0.0, 1.0 ], + "destination" : [ "obj-63", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-7", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.501961, 0.0, 1.0 ], + "destination" : [ "obj-17", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-73", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-46", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-74", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-21", 2 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-79", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-84", 2 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-79", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-3", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-8", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-21", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-82", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-83", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-84", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-84", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-85", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-56", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-87", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-57", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-88", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-58", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-89", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 0.25098, 1.0 ], + "destination" : [ "obj-10", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-9", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 0.25098, 1.0 ], + "destination" : [ "obj-32", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-9", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-59", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-90", 0 ] + } + + } + ] + } + +} diff --git a/plugins/shiroverb/DistrhoPluginInfo.h b/plugins/shiroverb/DistrhoPluginInfo.h new file mode 100644 index 0000000..291fc09 --- /dev/null +++ b/plugins/shiroverb/DistrhoPluginInfo.h @@ -0,0 +1,34 @@ +/* + * DPF Max Gen + * Copyright (C) 2015 Filipe Coelho + * + * Permission to use, copy, modify, and/or distribute this software for any purpose with + * or without fee is hereby granted, provided that the above copyright notice and this + * permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD + * TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN + * NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL + * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER + * IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN + * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +#ifndef DISTRHO_PLUGIN_INFO_H_INCLUDED +#define DISTRHO_PLUGIN_INFO_H_INCLUDED + +#define DISTRHO_PLUGIN_BRAND "Shiro" +#define DISTRHO_PLUGIN_NAME "Shiroverb" +#define DISTRHO_PLUGIN_URI "http://distrho.sf.net/plugins/Shiroverb" + +#define DISTRHO_PLUGIN_HAS_UI 0 +#define DISTRHO_PLUGIN_IS_RT_SAFE 0 +#define DISTRHO_PLUGIN_NUM_INPUTS 1 +#define DISTRHO_PLUGIN_NUM_OUTPUTS 2 + +#define DISTRHO_PLUGIN_LV2_CATEGORY "lv2:ReverbPlugin" + +#define DISTRHO_PLUGIN_DESCRIPTION "Shiroverb is a shimmer-reverb based on the \"Gigaverb\"-genpatch, ported from the implementation by Juhana Sadeharju, and the \"Pitch-Shift\"-genpatch, both in Max." +#define DISTRHO_PLUGIN_VERSION d_cconst('D', 'M', 's', 'v') + +#endif // DISTRHO_PLUGIN_INFO_H_INCLUDED diff --git a/plugins/shiroverb/DistrhoPluginMaxGen.cpp b/plugins/shiroverb/DistrhoPluginMaxGen.cpp new file mode 120000 index 0000000..d985fe0 --- /dev/null +++ b/plugins/shiroverb/DistrhoPluginMaxGen.cpp @@ -0,0 +1 @@ +../common/DistrhoPluginMaxGen.cpp \ No newline at end of file diff --git a/plugins/shiroverb/Makefile b/plugins/shiroverb/Makefile new file mode 100644 index 0000000..9a90040 --- /dev/null +++ b/plugins/shiroverb/Makefile @@ -0,0 +1,40 @@ +#!/usr/bin/make -f +# Makefile for DISTRHO Plugins # +# ---------------------------- # +# Created by falkTX +# + +# -------------------------------------------------------------- +# Project name, used for binaries + +NAME = Shiroverb + +# -------------------------------------------------------------- +# Files to build + +OBJS_DSP = \ + DistrhoPluginMaxGen.cpp.o \ + gen_exported.cpp.o + +# -------------------------------------------------------------- +# Do some magic + +include ../Makefile.DPF-Max-Gen.mk + +# -------------------------------------------------------------- +# Enable all possible plugin types + +ifeq ($(HAVE_JACK),true) +TARGETS += jack +endif + +ifeq ($(LINUX),true) +TARGETS += ladspa +endif + +TARGETS += lv2_dsp +TARGETS += vst + +all: $(TARGETS) + +# -------------------------------------------------------------- diff --git a/plugins/shiroverb/gen_exported.cpp b/plugins/shiroverb/gen_exported.cpp new file mode 100644 index 0000000..9cea702 --- /dev/null +++ b/plugins/shiroverb/gen_exported.cpp @@ -0,0 +1,798 @@ +#include "gen_exported.h" + +namespace gen_exported { + + +/******************************************************************************************************************* +Copyright (c) 2012 Cycling '74 + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software +and associated documentation files (the "Software"), to deal in the Software without restriction, +including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies +or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, +INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE +OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +*******************************************************************************************************************/ + + +// global noise generator +Noise noise; +static const int GENLIB_LOOPCOUNT_BAIL = 100000; + + +// The State struct contains all the state and procedures for the gendsp kernel +typedef struct State { + CommonState __commonstate; + Delay m_delay_14; + Delay m_delay_18; + Delay m_delay_19; + Delay m_delay_15; + Delay m_delay_12; + Delay m_delay_17; + Delay m_delay_13; + Delay m_delay_21; + Delay m_delay_20; + Delay m_delay_22; + Delay m_delay_24; + Delay m_delay_23; + Delay m_delay_16; + Delta m_delta_43; + Delta m_delta_49; + Delta m_delta_46; + Delta m_delta_40; + Phasor m_phasor_39; + Sah m_sah_50; + Sah m_sah_51; + Sah m_sah_47; + Sah m_sah_48; + Sah m_sah_45; + Sah m_sah_42; + Sah m_sah_44; + Sah m_sah_41; + double m_roomsize_34; + double m_tail_35; + double m_blur_36; + double m_damping_38; + double m_shimmer_33; + double m_decay_37; + double samples_to_seconds; + double m_early_32; + double m_ratio_25; + double m_spread_30; + double m_history_4; + double m_history_5; + double m_history_6; + double m_history_3; + double m_history_1; + double m_y_2; + double samplerate; + double m_cutoff_31; + double m_history_7; + double m_history_9; + double m_tone_28; + double m_mix_29; + double m_history_8; + double m_resonance_27; + double m_y_11; + double m_history_10; + double m_window_26; + int vectorsize; + int __exception; + // re-initialize all member variables; + inline void reset(double __sr, int __vs) { + __exception = 0; + vectorsize = __vs; + samplerate = __sr; + m_history_1 = 0; + m_y_2 = 0; + m_history_3 = 0; + m_history_4 = 0; + m_history_5 = 0; + m_history_6 = 0; + m_history_7 = 0; + m_history_8 = 0; + m_history_9 = 0; + m_history_10 = 0; + m_y_11 = 0; + m_delay_12.reset("m_delay_12", 5000); + m_delay_13.reset("m_delay_13", 7000); + m_delay_14.reset("m_delay_14", 15000); + m_delay_15.reset("m_delay_15", 16000); + m_delay_16.reset("m_delay_16", 6000); + m_delay_17.reset("m_delay_17", 48000); + m_delay_18.reset("m_delay_18", 96000); + m_delay_19.reset("m_delay_19", 10000); + m_delay_20.reset("m_delay_20", 12000); + m_delay_21.reset("m_delay_21", 48000); + m_delay_22.reset("m_delay_22", 48000); + m_delay_23.reset("m_delay_23", 48000); + m_delay_24.reset("m_delay_24", 48000); + m_ratio_25 = 2; + m_window_26 = 100; + m_resonance_27 = 0; + m_tone_28 = 0.5; + m_mix_29 = 0.5; + m_spread_30 = 25; + m_cutoff_31 = 3000; + m_early_32 = 0.25; + m_shimmer_33 = 0.5; + m_roomsize_34 = 150; + m_tail_35 = 0.25; + m_blur_36 = 0.25; + m_decay_37 = 180; + m_damping_38 = 0.75; + samples_to_seconds = (1 / samplerate); + m_phasor_39.reset(0); + m_delta_40.reset(0); + m_sah_41.reset(0); + m_sah_42.reset(0); + m_delta_43.reset(0); + m_sah_44.reset(0); + m_sah_45.reset(0); + m_delta_46.reset(0); + m_sah_47.reset(0); + m_sah_48.reset(0); + m_delta_49.reset(0); + m_sah_50.reset(0); + m_sah_51.reset(0); + genlib_reset_complete(this); + + }; + // the signal processing routine; + inline int perform(t_sample ** __ins, t_sample ** __outs, int __n) { + vectorsize = __n; + const t_sample * __in1 = __ins[0]; + t_sample * __out1 = __outs[0]; + t_sample * __out2 = __outs[1]; + if (__exception) { + return __exception; + + } else if (( (__in1 == 0) || (__out1 == 0) || (__out2 == 0) )) { + __exception = GENLIB_ERR_NULL_BUFFER; + return __exception; + + }; + double rsub_552 = (1 - m_tone_28); + double expr_1476 = safepow(0.001, safediv(1, (m_decay_37 * 44100))); + double expr_1477 = safediv((m_roomsize_34 * 44100), 340); + double mul_542 = (expr_1477 * 0.7071); + double expr_1469 = (-safepow(expr_1476, mul_542)); + double mul_541 = (expr_1477 * 0.63245); + double expr_1468 = (-safepow(expr_1476, mul_541)); + double mul_543 = (expr_1477 * 0.81649); + double expr_1470 = (-safepow(expr_1476, mul_543)); + double mul_544 = (expr_1477 * 1); + double expr_1475 = (-safepow(expr_1476, mul_544)); + double expr_1478 = safediv(((m_cutoff_31 * 2) * 3.1415926535898), 44100); + double cos_1010 = cos(expr_1478); + double mul_1012 = (m_resonance_27 * 0.125); + double exp_1013 = exp(mul_1012); + double mul_1011 = (exp_1013 * 0.882497); + double mul_1007 = (mul_1011 * mul_1011); + double mul_1009 = (cos_1010 * mul_1011); + double mul_1008 = (mul_1009 * -2); + double add_1006 = ((mul_1007 + mul_1008) + 1); + double mul_538 = (expr_1477 * 0.000527); + int int_537 = int(mul_538); + double mstosamps_963 = (m_window_26 * (samplerate * 0.001)); + double add_467 = (expr_1477 + 5); + double expr_1471 = safepow(expr_1476, add_467); + double mul_478 = (m_spread_30 * -0.380445); + double add_477 = (mul_478 + 931); + double rsub_474 = (1341 - add_477); + double mul_487 = (int_537 * rsub_474); + double mul_506 = (m_spread_30 * 0.376623); + double add_505 = (mul_506 + 931); + double rsub_502 = (1341 - add_505); + double mul_513 = (int_537 * rsub_502); + double rsub_950 = (1 - m_ratio_25); + double mul_949 = (rsub_950 * 1000); + double div_948 = safediv(mul_949, m_window_26); + samples_to_seconds = (1 / samplerate); + double mul_473 = (expr_1477 * 0.41); + double add_470 = (mul_473 + 5); + double expr_1474 = safepow(expr_1476, add_470); + double mul_472 = (expr_1477 * 0.3); + double add_469 = (mul_472 + 5); + double expr_1473 = safepow(expr_1476, add_469); + double mul_471 = (expr_1477 * 0.155); + double add_468 = (mul_471 + 5); + double expr_1472 = safepow(expr_1476, add_468); + double mul_536 = (expr_1477 * 0.110732); + double mul_480 = (m_spread_30 * -0.568366); + double add_476 = (mul_480 + 369); + double rsub_475 = (add_477 - add_476); + double mul_494 = (int_537 * rsub_475); + double mul_522 = (m_spread_30 * 0.125541); + double add_504 = (mul_522 + 369); + double rsub_503 = (add_505 - add_504); + double mul_520 = (int_537 * rsub_503); + double add_479 = (mul_480 + 159); + double mul_501 = (int_537 * add_479); + double add_521 = (mul_522 + 159); + double mul_529 = (int_537 * add_521); + // the main sample loop; + while ((__n--)) { + const double in1 = (*(__in1++)); + double noise_900 = noise(); + double abs_917 = fabs(noise_900); + double mul_921 = (abs_917 * m_blur_36); + double noise_902 = noise(); + double abs_919 = fabs(noise_902); + double mul_927 = (abs_919 * m_blur_36); + double noise_903 = noise(); + double abs_920 = fabs(noise_903); + double mul_930 = (abs_920 * m_blur_36); + double noise_901 = noise(); + double abs_918 = fabs(noise_901); + double mul_924 = (abs_918 * m_blur_36); + double tap_447 = m_delay_24.read_linear(mul_542); + double mul_443 = (tap_447 * expr_1469); + double mix_1521 = (mul_443 + (m_damping_38 * (m_history_10 - mul_443))); + double mix_445 = mix_1521; + double tap_441 = m_delay_23.read_linear(mul_541); + double mul_437 = (tap_441 * expr_1468); + double mix_1522 = (mul_437 + (m_damping_38 * (m_history_9 - mul_437))); + double mix_439 = mix_1522; + double tap_453 = m_delay_22.read_linear(mul_543); + double mul_449 = (tap_453 * expr_1470); + double mix_1523 = (mul_449 + (m_damping_38 * (m_history_8 - mul_449))); + double mix_451 = mix_1523; + double tap_549 = m_delay_21.read_linear(mul_544); + double mul_540 = (tap_549 * expr_1475); + double mix_1524 = (mul_540 + (m_damping_38 * (m_history_7 - mul_540))); + double mix_547 = mix_1524; + double mul_1003 = (mul_1007 * m_y_11); + double mul_1004 = (mul_1008 * m_y_2); + double add_431 = (mix_547 + mix_451); + double add_429 = (mix_445 + mix_439); + double add_424 = (add_431 + add_429); + double mul_407 = (add_424 * 0.5); + double sub_428 = (add_431 - add_429); + double mul_410 = (sub_428 * 0.5); + double sub_430 = (mix_547 - mix_451); + double sub_427 = (mix_445 - mix_439); + double sub_426 = (sub_430 - sub_427); + double mul_409 = (sub_426 * 0.5); + double add_425 = (sub_430 + sub_427); + double rsub_423 = (0 - add_425); + double mul_408 = (rsub_423 * 0.5); + double tap_486 = m_delay_20.read_linear(mul_487); + double mul_484 = (tap_486 * 0.625); + double tap_512 = m_delay_19.read_linear(mul_513); + double mul_510 = (tap_512 * 0.625); + double phasor_969 = m_phasor_39(div_948, samples_to_seconds); + double add_941 = ((phasor_969 + m_history_6) + 0.75); + double mod_940 = safemod(add_941, 1); + double delta_923 = m_delta_40(mod_940); + double sah_904 = m_sah_41(mul_921, delta_923, 0); + double sah_922 = m_sah_42(mstosamps_963, delta_923, 0); + double mul_913 = (sah_922 * mod_940); + double sub_939 = (mod_940 - 0.5); + double mul_938 = (sub_939 * 3.1415926535898); + double cos_937 = cos(mul_938); + double mul_932 = (cos_937 * cos_937); + double add_962 = ((phasor_969 + m_history_5) + 0.25); + double mod_961 = safemod(add_962, 1); + double delta_929 = m_delta_43(mod_961); + double sah_908 = m_sah_44(mul_927, delta_929, 0); + double sah_928 = m_sah_45(mstosamps_963, delta_929, 0); + double mul_915 = (sah_928 * mod_961); + double sub_960 = (mod_961 - 0.5); + double mul_959 = (sub_960 * 3.1415926535898); + double cos_958 = cos(mul_959); + double mul_934 = (cos_958 * cos_958); + double add_968 = ((phasor_969 + m_history_4) + 0); + double mod_967 = safemod(add_968, 1); + double delta_911 = m_delta_46(mod_967); + double sah_910 = m_sah_47(mul_930, delta_911, 0); + double sah_931 = m_sah_48(mstosamps_963, delta_911, 0); + double mul_916 = (sah_931 * mod_967); + double sub_966 = (mod_967 - 0.5); + double mul_965 = (sub_966 * 3.1415926535898); + double cos_964 = cos(mul_965); + double mul_935 = (cos_964 * cos_964); + double add_947 = ((phasor_969 + m_history_3) + 0.5); + double mod_946 = safemod(add_947, 1); + double delta_926 = m_delta_49(mod_946); + double sah_906 = m_sah_50(mul_924, delta_926, 0); + double sah_925 = m_sah_51(mstosamps_963, delta_926, 0); + double mul_914 = (sah_925 * mod_946); + double tap_954 = m_delay_18.read_linear(mul_916); + double tap_955 = m_delay_18.read_linear(mul_915); + double tap_956 = m_delay_18.read_linear(mul_914); + double tap_957 = m_delay_18.read_linear(mul_913); + double mul_952 = (tap_954 * mul_935); + double mul_951 = (tap_955 * mul_934); + double mul_936 = (tap_957 * mul_932); + double sub_945 = (mod_946 - 0.5); + double mul_944 = (sub_945 * 3.1415926535898); + double cos_943 = cos(mul_944); + double mul_933 = (cos_943 * cos_943); + double mul_942 = (tap_956 * mul_933); + double mul_1005 = ((((mul_936 + mul_942) + mul_951) + mul_952) * add_1006); + double sub_1002 = (mul_1005 - (mul_1003 + mul_1004)); + double mix_1525 = (in1 + (m_shimmer_33 * (sub_1002 - in1))); + double mix_341 = mix_1525; + double mul_401 = (mix_341 * 0.707); + double mix_1526 = (mul_401 + (rsub_552 * (m_history_1 - mul_401))); + double mix_551 = mix_1526; + double tap_455 = m_delay_17.read_linear(add_470); + double tap_456 = m_delay_17.read_linear(add_469); + double tap_457 = m_delay_17.read_linear(add_468); + double tap_458 = m_delay_17.read_linear(add_467); + double mul_459 = (tap_458 * expr_1471); + double add_432 = (mul_407 + mul_459); + double mul_463 = (tap_456 * expr_1473); + double add_434 = (mul_409 + mul_463); + double mul_465 = (tap_455 * expr_1474); + double add_435 = (mul_410 + mul_465); + double mul_461 = (tap_457 * expr_1472); + double add_433 = (mul_408 + mul_461); + double tap_535 = m_delay_16.read_linear(mul_536); + double mul_533 = (tap_535 * 0.75); + double sub_532 = (mix_551 - mul_533); + double mul_531 = (sub_532 * 0.75); + double add_530 = (mul_531 + tap_535); + double tap_493 = m_delay_15.read_linear(mul_494); + double mul_491 = (tap_493 * 0.625); + double tap_519 = m_delay_14.read_linear(mul_520); + double mul_517 = (tap_519 * 0.625); + double tap_500 = m_delay_13.read_linear(mul_501); + double mul_498 = (tap_500 * 0.75); + double tap_528 = m_delay_12.read_linear(mul_529); + double mul_526 = (tap_528 * 0.75); + double mul_422 = (mul_410 * m_tail_35); + double mul_420 = (mul_408 * m_tail_35); + double add_406 = (mul_422 + mul_420); + double mul_421 = (mul_409 * m_tail_35); + double mul_419 = (mul_407 * m_tail_35); + double add_405 = (mul_421 + mul_419); + double sub_414 = (add_406 - add_405); + double mul_418 = (mul_465 * m_early_32); + double mul_416 = (mul_461 * m_early_32); + double add_404 = (mul_418 + mul_416); + double mul_417 = (mul_463 * m_early_32); + double mul_415 = (mul_459 * m_early_32); + double add_403 = (mul_417 + mul_415); + double sub_413 = (add_404 - add_403); + double add_400 = (sub_414 + sub_413); + double add_402 = (add_400 + mix_341); + double sub_497 = (add_402 - mul_498); + double mul_496 = (sub_497 * 0.75); + double add_495 = (mul_496 + tap_500); + double sub_490 = (add_495 - mul_491); + double mul_489 = (sub_490 * 0.625); + double add_488 = (mul_489 + tap_493); + double sub_483 = (add_488 - mul_484); + double mul_482 = (sub_483 * 0.625); + double add_481 = (mul_482 + tap_486); + double mul_1327 = (add_481 * m_mix_29); + double out2 = (mul_1327 + in1); + double add_412 = (add_400 + mix_341); + double sub_525 = (add_412 - mul_526); + double mul_524 = (sub_525 * 0.75); + double add_523 = (mul_524 + tap_528); + double sub_516 = (add_523 - mul_517); + double mul_515 = (sub_516 * 0.625); + double add_514 = (mul_515 + tap_519); + double sub_509 = (add_514 - mul_510); + double mul_508 = (sub_509 * 0.625); + double add_507 = (mul_508 + tap_512); + double mul_411 = (add_507 * m_mix_29); + double out1 = (in1 + mul_411); + double y2_next_1492 = m_y_2; + double history_444_next_1493 = mix_445; + double history_438_next_1494 = mix_439; + double history_450_next_1495 = mix_451; + double history_546_next_1496 = mix_547; + double history_905_next_1497 = sah_904; + double history_909_next_1498 = sah_908; + double history_912_next_1499 = sah_910; + double history_907_next_1500 = sah_906; + double y1_next_1501 = sub_1002; + double history_550_next_1502 = mix_551; + m_delay_24.write(add_433); + m_delay_23.write(add_432); + m_delay_22.write(add_434); + m_delay_21.write(add_435); + m_delay_20.write(sub_483); + m_delay_19.write(sub_509); + m_delay_18.write(in1); + m_delay_17.write(add_530); + m_delay_16.write(sub_532); + m_delay_15.write(sub_490); + m_delay_14.write(sub_516); + m_delay_13.write(sub_497); + m_delay_12.write(sub_525); + m_y_11 = y2_next_1492; + m_history_10 = history_444_next_1493; + m_history_9 = history_438_next_1494; + m_history_8 = history_450_next_1495; + m_history_7 = history_546_next_1496; + m_history_6 = history_905_next_1497; + m_history_5 = history_909_next_1498; + m_history_4 = history_912_next_1499; + m_history_3 = history_907_next_1500; + m_y_2 = y1_next_1501; + m_history_1 = history_550_next_1502; + m_delay_12.step(); + m_delay_13.step(); + m_delay_14.step(); + m_delay_15.step(); + m_delay_16.step(); + m_delay_17.step(); + m_delay_18.step(); + m_delay_19.step(); + m_delay_20.step(); + m_delay_21.step(); + m_delay_22.step(); + m_delay_23.step(); + m_delay_24.step(); + // assign results to output buffer; + (*(__out1++)) = out1; + (*(__out2++)) = out2; + + }; + return __exception; + + }; + inline void set_ratio(double _value) { + m_ratio_25 = (_value < 0.5 ? 0.5 : (_value > 2 ? 2 : _value)); + }; + inline void set_window(double _value) { + m_window_26 = (_value < 0.1 ? 0.1 : (_value > 1000 ? 1000 : _value)); + }; + inline void set_resonance(double _value) { + m_resonance_27 = (_value < 0 ? 0 : (_value > 0.25 ? 0.25 : _value)); + }; + inline void set_tone(double _value) { + m_tone_28 = (_value < 0 ? 0 : (_value > 1 ? 1 : _value)); + }; + inline void set_mix(double _value) { + m_mix_29 = (_value < 0 ? 0 : (_value > 1 ? 1 : _value)); + }; + inline void set_spread(double _value) { + m_spread_30 = (_value < 0 ? 0 : (_value > 100 ? 100 : _value)); + }; + inline void set_cutoff(double _value) { + m_cutoff_31 = (_value < 0 ? 0 : (_value > 6000 ? 6000 : _value)); + }; + inline void set_early(double _value) { + m_early_32 = (_value < 0 ? 0 : (_value > 1 ? 1 : _value)); + }; + inline void set_shimmer(double _value) { + m_shimmer_33 = (_value < 0 ? 0 : (_value > 1 ? 1 : _value)); + }; + inline void set_roomsize(double _value) { + m_roomsize_34 = (_value < 0.1 ? 0.1 : (_value > 300 ? 300 : _value)); + }; + inline void set_tail(double _value) { + m_tail_35 = (_value < 0 ? 0 : (_value > 1 ? 1 : _value)); + }; + inline void set_blur(double _value) { + m_blur_36 = (_value < 0.01 ? 0.01 : (_value > 0.25 ? 0.25 : _value)); + }; + inline void set_decay(double _value) { + m_decay_37 = (_value < 0.1 ? 0.1 : (_value > 360 ? 360 : _value)); + }; + inline void set_damping(double _value) { + m_damping_38 = (_value < 0 ? 0 : (_value > 1 ? 1 : _value)); + }; + +} State; + + +/// +/// Configuration for the genlib API +/// + +/// Number of signal inputs and outputs + +int gen_kernel_numins = 1; +int gen_kernel_numouts = 2; + +int num_inputs() { return gen_kernel_numins; } +int num_outputs() { return gen_kernel_numouts; } +int num_params() { return 14; } + +/// Assistive lables for the signal inputs and outputs + +const char * gen_kernel_innames[] = { "in1" }; +const char * gen_kernel_outnames[] = { "out1", "out2" }; + +/// Invoke the signal process of a State object + +int perform(CommonState *cself, t_sample **ins, long numins, t_sample **outs, long numouts, long n) { + State * self = (State *)cself; + return self->perform(ins, outs, n); +} + +/// Reset all parameters and stateful operators of a State object + +void reset(CommonState *cself) { + State * self = (State *)cself; + self->reset(cself->sr, cself->vs); +} + +/// Set a parameter of a State object + +void setparameter(CommonState *cself, long index, double value, void *ref) { + State * self = (State *)cself; + switch (index) { + case 0: self->set_ratio(value); break; + case 1: self->set_window(value); break; + case 2: self->set_resonance(value); break; + case 3: self->set_tone(value); break; + case 4: self->set_mix(value); break; + case 5: self->set_spread(value); break; + case 6: self->set_cutoff(value); break; + case 7: self->set_early(value); break; + case 8: self->set_shimmer(value); break; + case 9: self->set_roomsize(value); break; + case 10: self->set_tail(value); break; + case 11: self->set_blur(value); break; + case 12: self->set_decay(value); break; + case 13: self->set_damping(value); break; + + default: break; + } +} + +/// Get the value of a parameter of a State object + +void getparameter(CommonState *cself, long index, double *value) { + State *self = (State *)cself; + switch (index) { + case 0: *value = self->m_ratio_25; break; + case 1: *value = self->m_window_26; break; + case 2: *value = self->m_resonance_27; break; + case 3: *value = self->m_tone_28; break; + case 4: *value = self->m_mix_29; break; + case 5: *value = self->m_spread_30; break; + case 6: *value = self->m_cutoff_31; break; + case 7: *value = self->m_early_32; break; + case 8: *value = self->m_shimmer_33; break; + case 9: *value = self->m_roomsize_34; break; + case 10: *value = self->m_tail_35; break; + case 11: *value = self->m_blur_36; break; + case 12: *value = self->m_decay_37; break; + case 13: *value = self->m_damping_38; break; + + default: break; + } +} + +/// Allocate and configure a new State object and it's internal CommonState: + +void * create(double sr, long vs) { + State *self = new State; + self->reset(sr, vs); + ParamInfo *pi; + self->__commonstate.inputnames = gen_kernel_innames; + self->__commonstate.outputnames = gen_kernel_outnames; + self->__commonstate.numins = gen_kernel_numins; + self->__commonstate.numouts = gen_kernel_numouts; + self->__commonstate.sr = sr; + self->__commonstate.vs = vs; + self->__commonstate.params = (ParamInfo *)genlib_sysmem_newptr(14 * sizeof(ParamInfo)); + self->__commonstate.numparams = 14; + // initialize parameter 0 ("m_ratio_25") + pi = self->__commonstate.params + 0; + pi->name = "ratio"; + pi->paramtype = GENLIB_PARAMTYPE_FLOAT; + pi->defaultvalue = self->m_ratio_25; + pi->defaultref = 0; + pi->hasinputminmax = false; + pi->inputmin = 0; + pi->inputmax = 1; + pi->hasminmax = true; + pi->outputmin = 0.5; + pi->outputmax = 2; + pi->exp = 0; + pi->units = ""; // no units defined + // initialize parameter 1 ("m_window_26") + pi = self->__commonstate.params + 1; + pi->name = "window"; + pi->paramtype = GENLIB_PARAMTYPE_FLOAT; + pi->defaultvalue = self->m_window_26; + pi->defaultref = 0; + pi->hasinputminmax = false; + pi->inputmin = 0; + pi->inputmax = 1; + pi->hasminmax = true; + pi->outputmin = 0.1; + pi->outputmax = 1000; + pi->exp = 0; + pi->units = ""; // no units defined + // initialize parameter 2 ("m_resonance_27") + pi = self->__commonstate.params + 2; + pi->name = "resonance"; + pi->paramtype = GENLIB_PARAMTYPE_FLOAT; + pi->defaultvalue = self->m_resonance_27; + pi->defaultref = 0; + pi->hasinputminmax = false; + pi->inputmin = 0; + pi->inputmax = 1; + pi->hasminmax = true; + pi->outputmin = 0; + pi->outputmax = 0.25; + pi->exp = 0; + pi->units = ""; // no units defined + // initialize parameter 3 ("m_tone_28") + pi = self->__commonstate.params + 3; + pi->name = "tone"; + pi->paramtype = GENLIB_PARAMTYPE_FLOAT; + pi->defaultvalue = self->m_tone_28; + pi->defaultref = 0; + pi->hasinputminmax = false; + pi->inputmin = 0; + pi->inputmax = 1; + pi->hasminmax = true; + pi->outputmin = 0; + pi->outputmax = 1; + pi->exp = 0; + pi->units = ""; // no units defined + // initialize parameter 4 ("m_mix_29") + pi = self->__commonstate.params + 4; + pi->name = "mix"; + pi->paramtype = GENLIB_PARAMTYPE_FLOAT; + pi->defaultvalue = self->m_mix_29; + pi->defaultref = 0; + pi->hasinputminmax = false; + pi->inputmin = 0; + pi->inputmax = 1; + pi->hasminmax = true; + pi->outputmin = 0; + pi->outputmax = 1; + pi->exp = 0; + pi->units = ""; // no units defined + // initialize parameter 5 ("m_spread_30") + pi = self->__commonstate.params + 5; + pi->name = "spread"; + pi->paramtype = GENLIB_PARAMTYPE_FLOAT; + pi->defaultvalue = self->m_spread_30; + pi->defaultref = 0; + pi->hasinputminmax = false; + pi->inputmin = 0; + pi->inputmax = 1; + pi->hasminmax = true; + pi->outputmin = 0; + pi->outputmax = 100; + pi->exp = 0; + pi->units = ""; // no units defined + // initialize parameter 6 ("m_cutoff_31") + pi = self->__commonstate.params + 6; + pi->name = "cutoff"; + pi->paramtype = GENLIB_PARAMTYPE_FLOAT; + pi->defaultvalue = self->m_cutoff_31; + pi->defaultref = 0; + pi->hasinputminmax = false; + pi->inputmin = 0; + pi->inputmax = 1; + pi->hasminmax = true; + pi->outputmin = 0; + pi->outputmax = 6000; + pi->exp = 0; + pi->units = ""; // no units defined + // initialize parameter 7 ("m_early_32") + pi = self->__commonstate.params + 7; + pi->name = "early"; + pi->paramtype = GENLIB_PARAMTYPE_FLOAT; + pi->defaultvalue = self->m_early_32; + pi->defaultref = 0; + pi->hasinputminmax = false; + pi->inputmin = 0; + pi->inputmax = 1; + pi->hasminmax = true; + pi->outputmin = 0; + pi->outputmax = 1; + pi->exp = 0; + pi->units = ""; // no units defined + // initialize parameter 8 ("m_shimmer_33") + pi = self->__commonstate.params + 8; + pi->name = "shimmer"; + pi->paramtype = GENLIB_PARAMTYPE_FLOAT; + pi->defaultvalue = self->m_shimmer_33; + pi->defaultref = 0; + pi->hasinputminmax = false; + pi->inputmin = 0; + pi->inputmax = 1; + pi->hasminmax = true; + pi->outputmin = 0; + pi->outputmax = 1; + pi->exp = 0; + pi->units = ""; // no units defined + // initialize parameter 9 ("m_roomsize_34") + pi = self->__commonstate.params + 9; + pi->name = "roomsize"; + pi->paramtype = GENLIB_PARAMTYPE_FLOAT; + pi->defaultvalue = self->m_roomsize_34; + pi->defaultref = 0; + pi->hasinputminmax = false; + pi->inputmin = 0; + pi->inputmax = 1; + pi->hasminmax = true; + pi->outputmin = 0.1; + pi->outputmax = 300; + pi->exp = 0; + pi->units = ""; // no units defined + // initialize parameter 10 ("m_tail_35") + pi = self->__commonstate.params + 10; + pi->name = "tail"; + pi->paramtype = GENLIB_PARAMTYPE_FLOAT; + pi->defaultvalue = self->m_tail_35; + pi->defaultref = 0; + pi->hasinputminmax = false; + pi->inputmin = 0; + pi->inputmax = 1; + pi->hasminmax = true; + pi->outputmin = 0; + pi->outputmax = 1; + pi->exp = 0; + pi->units = ""; // no units defined + // initialize parameter 11 ("m_blur_36") + pi = self->__commonstate.params + 11; + pi->name = "blur"; + pi->paramtype = GENLIB_PARAMTYPE_FLOAT; + pi->defaultvalue = self->m_blur_36; + pi->defaultref = 0; + pi->hasinputminmax = false; + pi->inputmin = 0; + pi->inputmax = 1; + pi->hasminmax = true; + pi->outputmin = 0.01; + pi->outputmax = 0.25; + pi->exp = 0; + pi->units = ""; // no units defined + // initialize parameter 12 ("m_decay_37") + pi = self->__commonstate.params + 12; + pi->name = "decay"; + pi->paramtype = GENLIB_PARAMTYPE_FLOAT; + pi->defaultvalue = self->m_decay_37; + pi->defaultref = 0; + pi->hasinputminmax = false; + pi->inputmin = 0; + pi->inputmax = 1; + pi->hasminmax = true; + pi->outputmin = 0.1; + pi->outputmax = 360; + pi->exp = 0; + pi->units = ""; // no units defined + // initialize parameter 13 ("m_damping_38") + pi = self->__commonstate.params + 13; + pi->name = "damping"; + pi->paramtype = GENLIB_PARAMTYPE_FLOAT; + pi->defaultvalue = self->m_damping_38; + pi->defaultref = 0; + pi->hasinputminmax = false; + pi->inputmin = 0; + pi->inputmax = 1; + pi->hasminmax = true; + pi->outputmin = 0; + pi->outputmax = 1; + pi->exp = 0; + pi->units = ""; // no units defined + + return self; +} + +/// Release all resources and memory used by a State object: + +void destroy(CommonState *cself) { + State * self = (State *)cself; + genlib_sysmem_freeptr(cself->params); + + delete self; +} + + +} // gen_exported:: diff --git a/plugins/shiroverb/gen_exported.h b/plugins/shiroverb/gen_exported.h new file mode 100644 index 0000000..ab06792 --- /dev/null +++ b/plugins/shiroverb/gen_exported.h @@ -0,0 +1,37 @@ +/******************************************************************************************************************* +Copyright (c) 2012 Cycling '74 + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software +and associated documentation files (the "Software"), to deal in the Software without restriction, +including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies +or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, +INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE +OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +*******************************************************************************************************************/ + + +#include "genlib.h" +#include "genlib_exportfunctions.h" +#include "genlib_ops.h" + +namespace gen_exported { + +int num_inputs(); +int num_outputs(); +int num_params(); +int perform(CommonState *cself, t_sample **ins, long numins, t_sample **outs, long numouts, long n); +void reset(CommonState *cself); +void setparameter(CommonState *cself, long index, double value, void *ref); +void getparameter(CommonState *cself, long index, double *value); +void * create(double sr, long vs); +void destroy(CommonState *cself); + +} // gen_exported:: diff --git a/plugins/shiroverb/shiroverb.gendsp b/plugins/shiroverb/shiroverb.gendsp new file mode 100644 index 0000000..cedb24e --- /dev/null +++ b/plugins/shiroverb/shiroverb.gendsp @@ -0,0 +1,6854 @@ +{ + "patcher" : { + "fileversion" : 1, + "appversion" : { + "major" : 6, + "minor" : 1, + "revision" : 9, + "architecture" : "x86" + } +, + "rect" : [ 0.0, 45.0, 960.0, 810.0 ], + "bgcolor" : [ 0.9, 0.9, 0.9, 1.0 ], + "bglocked" : 0, + "openinpresentation" : 0, + "default_fontsize" : 12.0, + "default_fontface" : 0, + "default_fontname" : "Arial", + "gridonopen" : 0, + "gridsize" : [ 15.0, 15.0 ], + "gridsnaponopen" : 0, + "statusbarvisible" : 2, + "toolbarvisible" : 1, + "boxanimatetime" : 200, + "imprint" : 0, + "enablehscroll" : 1, + "enablevscroll" : 1, + "devicewidth" : 0.0, + "description" : "", + "digest" : "", + "tags" : "", + "boxes" : [ { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-123", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 179.833328, 571.0, 170.0, 20.0 ], + "text" : "expr out=in1*2*PI/samplerate\\;" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-126", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 165.91658, 761.0, 60.5, 20.0 ], + "text" : "-" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-128", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 410.583313, 736.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-130", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 424.083313, 711.0, 74.0, 20.0 ], + "text" : "history y2 0" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-132", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 207.833328, 711.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-133", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 165.91658, 736.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-135", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 221.833328, 686.0, 74.0, 20.0 ], + "text" : "history y1 0" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-138", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 179.833328, 711.0, 28.0, 20.0 ], + "text" : "+ 1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-139", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 410.583313, 651.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-143", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 179.833328, 651.0, 30.0, 20.0 ], + "text" : "* -2" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-145", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 179.833328, 621.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-148", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 179.833328, 596.0, 30.0, 20.0 ], + "text" : "cos" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-149", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 409.833313, 621.0, 70.0, 20.0 ], + "text" : "* 0.882497" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-153", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 409.833313, 571.0, 50.0, 20.0 ], + "text" : "* 0.125" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-155", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 409.833313, 596.0, 30.0, 20.0 ], + "text" : "exp" + } + + } +, { + "box" : { + "color" : [ 0.0, 0.244356, 0.84, 1.0 ], + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-158", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 409.833313, 546.0, 230.0, 20.0 ], + "text" : "param resonance 0. @min 0. @max 0.25" + } + + } +, { + "box" : { + "color" : [ 0.0, 0.244356, 0.84, 1.0 ], + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-159", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 179.833328, 546.0, 230.0, 20.0 ], + "text" : "param cutoff 3000. @min 0. @max 6000." + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-87", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 689.833313, 41.0, 39.0, 20.0 ], + "text" : "noise" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-1", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 539.0, 41.0, 39.0, 20.0 ], + "text" : "noise" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-89", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 388.166656, 41.0, 39.0, 20.0 ], + "text" : "noise" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-90", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 237.333328, 41.0, 39.0, 20.0 ], + "text" : "noise" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-61", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 689.833313, 136.0, 40.0, 20.0 ], + "text" : "sah 0" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-2", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 689.833313, 161.0, 46.0, 20.0 ], + "text" : "history" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-48", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 539.0, 136.0, 40.0, 20.0 ], + "text" : "sah 0" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-8", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 539.0, 161.0, 46.0, 20.0 ], + "text" : "history" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-34", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 388.166656, 136.0, 40.0, 20.0 ], + "text" : "sah 0" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-9", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 388.166656, 161.0, 46.0, 20.0 ], + "text" : "history" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-12", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 237.333328, 136.0, 40.0, 20.0 ], + "text" : "sah 0" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-24", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 187.333328, 251.0, 37.0, 20.0 ], + "text" : "delta" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-13", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 237.333328, 161.0, 46.0, 20.0 ], + "text" : "history" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-15", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 618.833313, 321.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-16", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 468.0, 321.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-68", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 317.166656, 321.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-73", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 166.333328, 321.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-56", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 689.833313, 76.0, 30.0, 20.0 ], + "text" : "abs" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-18", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 539.0, 76.0, 30.0, 20.0 ], + "text" : "abs" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-19", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 388.166656, 76.0, 30.0, 20.0 ], + "text" : "abs" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-20", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 237.333328, 76.0, 30.0, 20.0 ], + "text" : "abs" + } + + } +, { + "box" : { + "color" : [ 0.0, 0.244356, 0.84, 1.0 ], + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-55", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 514.833313, 16.0, 221.0, 20.0 ], + "text" : "param blur 0.25 @min 0.01 @max 0.25" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-47", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 689.833313, 101.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-49", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 618.833313, 286.0, 40.0, 20.0 ], + "text" : "sah 0" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-50", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 639.833313, 251.0, 37.0, 20.0 ], + "text" : "delta" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-21", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 539.0, 101.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-53", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 468.0, 286.0, 40.0, 20.0 ], + "text" : "sah 0" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-54", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 489.0, 251.0, 37.0, 20.0 ], + "text" : "delta" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-26", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 388.166656, 101.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-28", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 317.166656, 286.0, 40.0, 20.0 ], + "text" : "sah 0" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-29", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 338.166656, 251.0, 37.0, 20.0 ], + "text" : "delta" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-25", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 237.333328, 101.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-23", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 166.333328, 286.0, 40.0, 20.0 ], + "text" : "sah 0" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-65", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 632.333313, 456.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-66", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 481.5, 456.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-22", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 330.666656, 456.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-36", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 179.833328, 456.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-37", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 618.833313, 481.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-38", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 632.333313, 431.0, 29.0, 20.0 ], + "text" : "cos" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-39", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 632.333313, 406.0, 28.0, 20.0 ], + "text" : "* pi" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-46", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 632.333313, 381.0, 35.0, 20.0 ], + "text" : "- 0.5" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-60", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 689.833313, 226.0, 31.0, 20.0 ], + "text" : "% 1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-69", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 689.833313, 201.0, 44.0, 20.0 ], + "text" : "+ 0.75" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-70", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 468.0, 481.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-71", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 481.5, 431.0, 29.0, 20.0 ], + "text" : "cos" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-75", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 481.5, 406.0, 28.0, 20.0 ], + "text" : "* pi" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-76", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 481.5, 381.0, 35.0, 20.0 ], + "text" : "- 0.5" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-78", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 539.0, 226.0, 31.0, 20.0 ], + "text" : "% 1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-80", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 539.0, 201.0, 38.0, 20.0 ], + "text" : "+ 0.5" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-82", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 35.333328, 136.0, 32.5, 20.0 ], + "text" : "/" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-83", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 35.333328, 101.0, 45.0, 20.0 ], + "text" : "* 1000" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-91", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 35.333328, 76.0, 31.0, 20.0 ], + "text" : "!- 1." + } + + } +, { + "box" : { + "color" : [ 0.0, 0.244356, 0.84, 1.0 ], + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-92", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 35.333328, 41.0, 191.0, 20.0 ], + "text" : "param ratio 2. @min 0.5 @max 2." + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-93", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 317.166656, 481.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-94", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 166.333328, 481.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-96", + "maxclass" : "newobj", + "numinlets" : 5, + "numoutlets" : 4, + "outlettype" : [ "", "", "", "" ], + "patching_rect" : [ 15.5, 356.0, 622.333313, 20.0 ], + "text" : "delay 96000 4" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-97", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 330.666656, 431.0, 29.0, 20.0 ], + "text" : "cos" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-99", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 330.666656, 406.0, 28.0, 20.0 ], + "text" : "* pi" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-101", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 330.666656, 381.0, 35.0, 20.0 ], + "text" : "- 0.5" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-103", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 388.166656, 226.0, 31.0, 20.0 ], + "text" : "% 1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-104", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 388.166656, 201.0, 44.0, 20.0 ], + "text" : "+ 0.25" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-108", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 15.5, 251.0, 72.0, 20.0 ], + "text" : "mstosamps" + } + + } +, { + "box" : { + "color" : [ 0.0, 0.244356, 0.84, 1.0 ], + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-109", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 15.5, 16.0, 241.0, 20.0 ], + "text" : "param window 100. @min 0.1 @max 1000." + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-110", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 179.833328, 431.0, 29.0, 20.0 ], + "text" : "cos" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-111", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 179.833328, 406.0, 28.0, 20.0 ], + "text" : "* pi" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-113", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 179.833328, 381.0, 35.0, 20.0 ], + "text" : "- 0.5" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-115", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 237.333328, 226.0, 31.0, 20.0 ], + "text" : "% 1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-117", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 237.333328, 201.0, 31.0, 20.0 ], + "text" : "+ 0." + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-118", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 35.333328, 161.0, 47.0, 20.0 ], + "text" : "phasor" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-122", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 15.5, 321.0, 30.0, 20.0 ], + "text" : "in 1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-57", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 703.0, 736.0, 30.0, 20.0 ], + "text" : "in 1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-58", + "maxclass" : "newobj", + "numinlets" : 3, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 811.416626, 793.0, 46.0, 20.0 ], + "text" : "mix" + } + + } +, { + "box" : { + "color" : [ 0.0, 0.244356, 0.84, 1.0 ], + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-59", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 838.416626, 736.0, 214.0, 20.0 ], + "text" : "param shimmer 0.5 @min 0. @max 1." + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-305", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 916.0, 2058.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "color" : [ 0.0, 0.244356, 0.84, 1.0 ], + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-306", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 962.0, 2023.0, 186.0, 20.0 ], + "text" : "param mix 0.5 @min 0. @max 1." + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-302", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 241.0, 1648.0, 32.5, 20.0 ], + "text" : "+" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-298", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 811.0, 823.0, 50.0, 20.0 ], + "text" : "* 0.707" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-296", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 616.0, 1693.0, 32.5, 20.0 ], + "text" : "+" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-294", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1111.0, 1588.0, 32.5, 20.0 ], + "text" : "+" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-295", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 961.0, 1588.0, 32.5, 20.0 ], + "text" : "+" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-293", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 316.0, 1588.0, 32.5, 20.0 ], + "text" : "+" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-292", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 166.0, 1588.0, 32.5, 20.0 ], + "text" : "+" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-289", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 466.0, 1453.0, 36.0, 20.0 ], + "text" : "* 0.5" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-288", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 316.0, 1453.0, 36.0, 20.0 ], + "text" : "* 0.5" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-287", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 166.0, 1453.0, 36.0, 20.0 ], + "text" : "* 0.5" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-286", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 16.000004, 1453.0, 36.0, 20.0 ], + "text" : "* 0.5" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-283", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 406.0, 2058.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-278", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 241.0, 1693.0, 32.5, 20.0 ], + "text" : "+" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-277", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1036.0, 1618.0, 32.5, 20.0 ], + "text" : "-" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-276", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 241.0, 1618.0, 32.5, 20.0 ], + "text" : "-" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-271", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1261.0, 1543.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-272", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1111.0, 1543.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-273", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 961.0, 1543.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-274", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 811.0, 1543.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "color" : [ 0.0, 0.244356, 0.84, 1.0 ], + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-275", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1306.0, 1498.0, 200.0, 20.0 ], + "text" : "param early 0.25 @min 0. @max 1." + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-269", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 466.0, 1543.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-270", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 316.0, 1543.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-267", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 166.0, 1543.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-266", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 16.000004, 1543.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-264", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 316.0, 1423.0, 28.0, 20.0 ], + "text" : "!- 0" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-263", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 466.0, 1393.0, 32.5, 20.0 ], + "text" : "+" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-262", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 316.0, 1393.0, 32.5, 20.0 ], + "text" : "+" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-261", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 166.0, 1393.0, 32.5, 20.0 ], + "text" : "-" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-260", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 406.0, 1348.0, 32.5, 20.0 ], + "text" : "-" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-259", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 16.000004, 1393.0, 32.5, 20.0 ], + "text" : "-" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-258", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 331.0, 1348.0, 32.5, 20.0 ], + "text" : "+" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-257", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 106.0, 1348.0, 32.5, 20.0 ], + "text" : "-" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-256", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 31.0, 1348.0, 32.5, 20.0 ], + "text" : "+" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-245", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 496.0, 1483.0, 32.5, 20.0 ], + "text" : "+" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-246", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 346.0, 1483.0, 32.5, 20.0 ], + "text" : "+" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-247", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 196.0, 1483.0, 32.5, 20.0 ], + "text" : "+" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-248", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 46.0, 1483.0, 32.5, 20.0 ], + "text" : "+" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-231", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 481.0, 1198.0, 113.0, 20.0 ], + "text" : "expr -pow(in2\\,in1)" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-232", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 466.0, 1228.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-233", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 526.0, 1303.0, 47.0, 20.0 ], + "text" : "history" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-234", + "maxclass" : "newobj", + "numinlets" : 3, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 466.0, 1303.0, 46.0, 20.0 ], + "text" : "mix" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-236", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 466.0, 1168.0, 78.0, 20.0 ], + "text" : "delay 48000" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-238", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 331.0, 1198.0, 113.0, 20.0 ], + "text" : "expr -pow(in2\\,in1)" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-239", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 316.0, 1228.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-240", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 376.0, 1303.0, 47.0, 20.0 ], + "text" : "history" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-241", + "maxclass" : "newobj", + "numinlets" : 3, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 316.0, 1303.0, 46.0, 20.0 ], + "text" : "mix" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-243", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 316.0, 1168.0, 78.0, 20.0 ], + "text" : "delay 48000" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-224", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 181.0, 1198.0, 113.0, 20.0 ], + "text" : "expr -pow(in2\\,in1)" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-225", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 166.0, 1228.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-226", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 226.0, 1303.0, 47.0, 20.0 ], + "text" : "history" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-227", + "maxclass" : "newobj", + "numinlets" : 3, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 166.0, 1303.0, 46.0, 20.0 ], + "text" : "mix" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-229", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 166.0, 1168.0, 78.0, 20.0 ], + "text" : "delay 48000" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-214", + "maxclass" : "newobj", + "numinlets" : 5, + "numoutlets" : 4, + "outlettype" : [ "", "", "", "" ], + "patching_rect" : [ 811.0, 1303.0, 465.0, 20.0 ], + "text" : "delay 48000 4" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-211", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 916.0, 2093.0, 38.0, 20.0 ], + "text" : "out 2" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-210", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 406.0, 2093.0, 38.0, 20.0 ], + "text" : "out 1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-204", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1261.0, 1363.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-205", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1276.0, 1333.0, 109.0, 20.0 ], + "text" : "expr pow(in2\\,in1)" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-202", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1111.0, 1363.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-203", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1126.0, 1333.0, 109.0, 20.0 ], + "text" : "expr pow(in2\\,in1)" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-200", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 961.0, 1363.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-201", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 976.0, 1333.0, 109.0, 20.0 ], + "text" : "expr pow(in2\\,in1)" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-199", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 811.0, 1363.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-198", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 826.0, 1333.0, 109.0, 20.0 ], + "text" : "expr pow(in2\\,in1)" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-197", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1276.0, 1273.0, 28.0, 20.0 ], + "text" : "+ 5" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-196", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1126.0, 1273.0, 28.0, 20.0 ], + "text" : "+ 5" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-195", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 976.0, 1273.0, 28.0, 20.0 ], + "text" : "+ 5" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-194", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 826.0, 1273.0, 28.0, 20.0 ], + "text" : "+ 5" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-191", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1126.0, 1243.0, 50.0, 20.0 ], + "text" : "* 0.155" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-192", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 976.0, 1243.0, 36.0, 20.0 ], + "text" : "* 0.3" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-193", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 826.0, 1243.0, 43.0, 20.0 ], + "text" : "* 0.41" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-173", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 946.0, 1813.0, 49.0, 20.0 ], + "text" : "!- 1341" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-174", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 901.0, 1813.0, 32.5, 20.0 ], + "text" : "!-" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-175", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 901.0, 1783.0, 42.0, 20.0 ], + "text" : "+ 369" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-176", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 946.0, 1783.0, 42.0, 20.0 ], + "text" : "+ 931" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-177", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 946.0, 1753.0, 74.0, 20.0 ], + "text" : "* -0.380445" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-178", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 856.0, 1813.0, 42.0, 20.0 ], + "text" : "+ 159" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-179", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 856.0, 1753.0, 74.0, 20.0 ], + "text" : "* -0.568366" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-134", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 916.0, 2023.0, 45.0, 20.0 ], + "text" : "+" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-136", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 916.0, 1993.0, 50.0, 20.0 ], + "text" : "* 0.625" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-137", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 916.0, 1963.0, 32.5, 20.0 ], + "text" : "-" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-140", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 931.0, 1933.0, 50.0, 20.0 ], + "text" : "* 0.625" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-141", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 961.0, 1903.0, 78.0, 20.0 ], + "text" : "delay 12000" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-142", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 991.000061, 1873.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-144", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 766.0, 2023.0, 45.0, 20.0 ], + "text" : "+" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-146", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 766.0, 1993.0, 50.0, 20.0 ], + "text" : "* 0.625" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-147", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 766.0, 1963.0, 32.5, 20.0 ], + "text" : "-" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-150", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 781.0, 1933.0, 50.0, 20.0 ], + "text" : "* 0.625" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-151", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 811.0, 1903.0, 78.0, 20.0 ], + "text" : "delay 16000" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-152", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 841.0, 1873.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-154", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 616.0, 2023.0, 45.0, 20.0 ], + "text" : "+" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-156", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 616.0, 1993.0, 43.0, 20.0 ], + "text" : "* 0.75" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-157", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 616.0, 1963.0, 32.5, 20.0 ], + "text" : "-" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-160", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 631.0, 1933.0, 43.0, 20.0 ], + "text" : "* 0.75" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-161", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 661.0, 1903.0, 71.0, 20.0 ], + "text" : "delay 7000" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-162", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 691.0, 1873.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-131", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 301.0, 1813.0, 49.0, 20.0 ], + "text" : "!- 1341" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-129", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 241.0, 1813.0, 32.5, 20.0 ], + "text" : "!-" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-127", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 241.0, 1783.0, 42.0, 20.0 ], + "text" : "+ 369" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-125", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 301.0, 1783.0, 42.0, 20.0 ], + "text" : "+ 931" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-124", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 301.0, 1753.0, 70.0, 20.0 ], + "text" : "* 0.376623" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-112", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 406.0, 2023.0, 45.0, 20.0 ], + "text" : "+" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-114", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 406.0, 1993.0, 50.0, 20.0 ], + "text" : "* 0.625" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-116", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 406.0, 1963.0, 32.5, 20.0 ], + "text" : "-" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-119", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 421.0, 1933.0, 50.0, 20.0 ], + "text" : "* 0.625" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-120", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 451.0, 1903.0, 78.0, 20.0 ], + "text" : "delay 10000" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-121", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 481.000061, 1873.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-98", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 256.0, 2023.0, 45.0, 20.0 ], + "text" : "+" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-100", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 256.0, 1993.0, 50.0, 20.0 ], + "text" : "* 0.625" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-102", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 256.0, 1963.0, 32.5, 20.0 ], + "text" : "-" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-105", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 271.0, 1933.0, 50.0, 20.0 ], + "text" : "* 0.625" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-106", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 301.0, 1903.0, 78.0, 20.0 ], + "text" : "delay 15000" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-107", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 331.0, 1873.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-95", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 195.999969, 1813.0, 42.0, 20.0 ], + "text" : "+ 159" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-88", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 195.999969, 1753.0, 70.0, 20.0 ], + "text" : "* 0.125541" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-77", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 105.999969, 2023.0, 45.0, 20.0 ], + "text" : "+" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-79", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 105.999969, 1993.0, 43.0, 20.0 ], + "text" : "* 0.75" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-81", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 105.999969, 1963.0, 32.5, 20.0 ], + "text" : "-" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-84", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 120.999969, 1933.0, 43.0, 20.0 ], + "text" : "* 0.75" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-85", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 150.999969, 1903.0, 71.0, 20.0 ], + "text" : "delay 5000" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-86", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 180.999969, 1873.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-74", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 811.0, 1063.0, 64.0, 20.0 ], + "text" : "+" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-72", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 811.0, 1033.0, 43.0, 20.0 ], + "text" : "* 0.75" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-67", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 811.0, 1003.0, 32.5, 20.0 ], + "text" : "-" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-64", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 825.0, 973.0, 43.0, 20.0 ], + "text" : "* 0.75" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-63", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 856.0, 943.0, 71.0, 20.0 ], + "text" : "delay 6000" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-62", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 908.0, 913.0, 70.0, 20.0 ], + "text" : "* 0.110732" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-52", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 646.0, 1813.0, 24.0, 20.0 ], + "text" : "int" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-51", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 646.0, 1783.0, 70.0, 20.0 ], + "text" : "* 0.000527" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-45", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 31.0, 1198.0, 113.0, 20.0 ], + "text" : "expr -pow(in2\\,in1)" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-44", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 16.000004, 1228.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-42", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 526.0, 1108.0, 63.0, 20.0 ], + "text" : "* 0.63245" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-43", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 376.0, 1108.0, 57.0, 20.0 ], + "text" : "* 0.7071" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-41", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 226.0, 1108.0, 63.0, 20.0 ], + "text" : "* 0.81649" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-40", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 76.0, 1108.0, 26.0, 20.0 ], + "text" : "* 1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-35", + "linecount" : 2, + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1096.0, 1153.0, 240.0, 33.0 ], + "text" : "expr pow(pow(10\\,-60/20)\\,1./(in1*samplerate))" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-31", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 76.0, 1303.0, 47.0, 20.0 ], + "text" : "history" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-32", + "maxclass" : "newobj", + "numinlets" : 3, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 16.000004, 1303.0, 46.0, 20.0 ], + "text" : "mix" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-30", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 16.000004, 1168.0, 78.0, 20.0 ], + "text" : "delay 48000" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-27", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 908.0, 868.0, 47.0, 20.0 ], + "text" : "history" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-17", + "maxclass" : "newobj", + "numinlets" : 3, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 811.0, 868.0, 46.0, 20.0 ], + "text" : "mix" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-14", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 931.0, 823.0, 28.0, 20.0 ], + "text" : "!- 1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-11", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 646.0, 883.0, 144.0, 20.0 ], + "text" : "expr in1*samplerate/340" + } + + } +, { + "box" : { + "color" : [ 0.0, 0.244356, 0.84, 1.0 ], + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-10", + "linecount" : 2, + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 541.0, 1498.0, 118.5, 33.0 ], + "text" : "param tail 0.25 @min 0. @max 1." + } + + } +, { + "box" : { + "color" : [ 0.0, 0.244356, 0.84, 1.0 ], + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-7", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 931.0, 793.0, 191.0, 20.0 ], + "text" : "param tone 0.5 @min 0. @max 1." + } + + } +, { + "box" : { + "color" : [ 0.0, 0.244356, 0.84, 1.0 ], + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-6", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 856.0, 1693.0, 218.0, 20.0 ], + "text" : "param spread 25. @min 0. @max 100." + } + + } +, { + "box" : { + "color" : [ 0.0, 0.244356, 0.84, 1.0 ], + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-5", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 43.0, 1063.0, 220.0, 20.0 ], + "text" : "param damping 0.75 @min 0. @max 1." + } + + } +, { + "box" : { + "color" : [ 0.0, 0.244356, 0.84, 1.0 ], + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-4", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1096.0, 1063.0, 226.0, 20.0 ], + "text" : "param decay 180. @min 0.1 @max 360." + } + + } +, { + "box" : { + "color" : [ 0.0, 0.244356, 0.84, 1.0 ], + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-3", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 646.0, 686.0, 243.0, 20.0 ], + "text" : "param roomsize 150. @min 0.1 @max 300." + } + + } + ], + "lines" : [ { + "patchline" : { + "destination" : [ "obj-18", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-1", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-266", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 550.5, 1537.5, 39.000004, 1537.5 ], + "source" : [ "obj-10", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-267", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 550.5, 1537.5, 189.0, 1537.5 ], + "source" : [ "obj-10", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-269", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 550.5, 1537.5, 489.0, 1537.5 ], + "source" : [ "obj-10", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-270", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 550.5, 1537.5, 339.0, 1537.5 ], + "source" : [ "obj-10", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-98", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-100", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.0, 0.501961, 1.0 ], + "destination" : [ "obj-99", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-101", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-100", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-102", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-106", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-102", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.0, 0.501961, 1.0 ], + "destination" : [ "obj-101", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-103", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-29", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-103", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.0, 0.501961, 1.0 ], + "destination" : [ "obj-68", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-103", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-103", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-104", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-102", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-105", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-105", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-106", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-98", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-106", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-106", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-107", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 0.501961, 1.0 ], + "destination" : [ "obj-23", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 25.0, 278.0, 175.833328, 278.0 ], + "source" : [ "obj-108", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 0.501961, 1.0 ], + "destination" : [ "obj-28", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 25.0, 278.0, 326.666656, 278.0 ], + "source" : [ "obj-108", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 0.501961, 1.0 ], + "destination" : [ "obj-49", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 25.0, 278.0, 628.333313, 278.0 ], + "source" : [ "obj-108", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 0.501961, 1.0 ], + "destination" : [ "obj-53", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 25.0, 278.0, 477.5, 278.0 ], + "source" : [ "obj-108", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 0.25098, 1.0 ], + "destination" : [ "obj-108", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-109", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 0.25098, 1.0 ], + "destination" : [ "obj-82", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-109", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.835294, 0.558267, 0.0, 1.0 ], + "destination" : [ "obj-191", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 655.5, 1102.5, 1135.5, 1102.5 ], + "source" : [ "obj-11", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.835294, 0.558267, 0.0, 1.0 ], + "destination" : [ "obj-192", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 655.5, 1102.5, 985.5, 1102.5 ], + "source" : [ "obj-11", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.835294, 0.558267, 0.0, 1.0 ], + "destination" : [ "obj-193", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 655.5, 1102.5, 835.5, 1102.5 ], + "source" : [ "obj-11", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.835294, 0.558267, 0.0, 1.0 ], + "destination" : [ "obj-197", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 655.5, 1101.394897, 1285.5, 1101.394897 ], + "source" : [ "obj-11", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.835294, 0.558267, 0.0, 1.0 ], + "destination" : [ "obj-40", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 655.5, 1100.166504, 85.5, 1100.166504 ], + "source" : [ "obj-11", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.835294, 0.558267, 0.0, 1.0 ], + "destination" : [ "obj-41", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 655.5, 1100.166504, 235.5, 1100.166504 ], + "source" : [ "obj-11", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.835294, 0.558267, 0.0, 1.0 ], + "destination" : [ "obj-42", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 655.5, 1101.630615, 535.5, 1101.630615 ], + "source" : [ "obj-11", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.835294, 0.558267, 0.0, 1.0 ], + "destination" : [ "obj-43", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 655.5, 1098.702393, 385.5, 1098.702393 ], + "source" : [ "obj-11", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.835294, 0.558267, 0.0, 1.0 ], + "destination" : [ "obj-51", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 655.5, 1372.5, 655.5, 1372.5 ], + "source" : [ "obj-11", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.835294, 0.558267, 0.0, 1.0 ], + "destination" : [ "obj-62", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 655.5, 907.679504, 917.5, 907.679504 ], + "source" : [ "obj-11", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.501961, 0.0, 1.0 ], + "destination" : [ "obj-36", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-110", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.501961, 0.0, 1.0 ], + "destination" : [ "obj-36", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-110", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.501961, 0.0, 1.0 ], + "destination" : [ "obj-110", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-111", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-283", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-112", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.501961, 0.0, 1.0 ], + "destination" : [ "obj-111", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-113", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-112", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-114", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.501961, 0.0, 1.0 ], + "destination" : [ "obj-113", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-115", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-24", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-115", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.501961, 0.0, 1.0 ], + "destination" : [ "obj-73", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-115", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-114", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-116", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-120", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-116", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-115", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-117", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-104", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 44.833328, 190.5, 397.666656, 190.5 ], + "source" : [ "obj-118", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-117", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 44.833328, 190.5, 246.833328, 190.5 ], + "source" : [ "obj-118", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-69", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 44.833328, 190.5, 699.333313, 190.5 ], + "source" : [ "obj-118", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-80", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 44.833328, 190.5, 548.5, 190.5 ], + "source" : [ "obj-118", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-116", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-119", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-13", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-12", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-112", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-120", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-119", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-120", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-120", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-121", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-96", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-122", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-148", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-123", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-125", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-124", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-129", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-125", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-131", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-125", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-135", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 175.41658, 801.0, 339.374939, 801.0, 339.374939, 662.0, 231.333328, 662.0 ], + "source" : [ "obj-126", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-58", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 175.41658, 786.5, 834.416626, 786.5 ], + "source" : [ "obj-126", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-129", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-127", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-126", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 420.083313, 757.0, 216.91658, 757.0 ], + "source" : [ "obj-128", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-107", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-129", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-117", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-13", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-128", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-130", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-121", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-131", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-126", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 217.333328, 731.0, 216.91658, 731.0 ], + "source" : [ "obj-132", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-126", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 175.41658, 758.0, 175.41658, 758.0 ], + "source" : [ "obj-133", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-305", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-134", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-130", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 231.333328, 706.0, 433.583313, 706.0 ], + "source" : [ "obj-135", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-132", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-135", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-134", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-136", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-136", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-137", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-141", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-137", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-133", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 189.333328, 732.0, 188.91658, 732.0 ], + "source" : [ "obj-138", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-128", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-139", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-138", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 420.083313, 676.0, 305.583313, 676.0, 305.583313, 676.0, 209.583328, 676.0, 209.583328, 676.0, 189.333328, 676.0 ], + "source" : [ "obj-139", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-17", 2 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 940.5, 855.0, 847.5, 855.0 ], + "source" : [ "obj-14", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-137", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-140", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-134", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-141", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-140", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-141", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-141", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-142", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-132", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 189.333328, 693.0, 217.333328, 693.0 ], + "source" : [ "obj-143", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-138", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 189.333328, 673.0, 189.333328, 673.0 ], + "source" : [ "obj-143", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-137", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-144", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-143", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-145", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-144", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-146", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-146", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-147", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-151", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-147", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-145", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 189.333328, 617.0, 189.333328, 617.0 ], + "source" : [ "obj-148", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-139", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 419.333313, 647.0, 433.583313, 647.0 ], + "source" : [ "obj-149", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-139", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 419.333313, 641.0, 420.083313, 641.0 ], + "source" : [ "obj-149", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-145", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 419.333313, 648.0, 221.583328, 648.0, 221.583328, 617.0, 202.833328, 617.0 ], + "source" : [ "obj-149", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 1.0, 0.501961, 1.0 ], + "destination" : [ "obj-96", 4 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-15", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-147", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-150", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-144", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-151", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-150", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-151", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-151", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-152", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-155", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-153", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-147", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-154", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-149", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-155", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-154", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-156", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-156", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-157", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-161", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-157", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-153", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-158", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-123", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-159", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 1.0, 1.0 ], + "destination" : [ "obj-96", 3 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-16", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-157", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-160", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-154", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-161", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-160", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-161", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-161", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-162", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-27", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-17", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-67", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-17", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-142", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-173", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-152", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-174", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-174", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-175", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-173", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-176", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-174", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-176", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-176", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-177", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-162", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-178", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-175", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-179", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-178", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-179", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-21", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-18", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-26", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-19", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-196", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-191", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-195", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-192", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-194", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-193", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-198", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-194", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-214", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-194", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-201", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-195", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-214", 2 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-195", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-203", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-196", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-214", 3 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-196", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-205", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-197", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-214", 4 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-197", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-199", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-198", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.8, 0.046243, 0.0, 0.9 ], + "destination" : [ "obj-248", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 820.5, 1432.5, 69.0, 1432.5 ], + "source" : [ "obj-199", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.8, 0.046243, 0.0, 0.9 ], + "destination" : [ "obj-274", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-199", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-69", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-2", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-25", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-20", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.8, 0.046243, 0.0, 0.9 ], + "destination" : [ "obj-247", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 970.5, 1432.5, 219.0, 1432.5 ], + "source" : [ "obj-200", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.8, 0.046243, 0.0, 0.9 ], + "destination" : [ "obj-273", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-200", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-200", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-201", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.8, 0.046243, 0.0, 0.9 ], + "destination" : [ "obj-246", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 1120.5, 1432.5, 369.0, 1432.5 ], + "source" : [ "obj-202", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.8, 0.046243, 0.0, 0.9 ], + "destination" : [ "obj-272", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-202", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-202", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-203", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.8, 0.046243, 0.0, 0.9 ], + "destination" : [ "obj-245", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 1270.5, 1432.5, 519.0, 1432.5 ], + "source" : [ "obj-204", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.8, 0.046243, 0.0, 0.9 ], + "destination" : [ "obj-271", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-204", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-204", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-205", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-48", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-21", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-199", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-214", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-200", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-214", 1 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-202", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-214", 2 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-204", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-214", 3 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.0, 0.501961, 1.0 ], + "destination" : [ "obj-93", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-22", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-225", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-224", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-227", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-225", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-227", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-226", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-226", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-227", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-256", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-227", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-257", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-227", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-225", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-229", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-73", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-23", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-232", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-231", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-234", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-232", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-234", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-233", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-233", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-234", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-258", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-234", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-260", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-234", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-232", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-236", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-239", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-238", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-241", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-239", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-12", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 196.833328, 280.0, 232.333328, 280.0, 232.333328, 126.0, 267.833313, 126.0 ], + "source" : [ "obj-24", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-23", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-24", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-241", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-240", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-240", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-241", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-258", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-241", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-260", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-241", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-239", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-243", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-236", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 505.5, 1512.0, 459.5, 1512.0, 459.5, 1158.0, 475.5, 1158.0 ], + "source" : [ "obj-245", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-243", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 355.5, 1512.0, 310.5, 1512.0, 310.5, 1158.0, 325.5, 1158.0 ], + "source" : [ "obj-246", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-229", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 205.5, 1512.0, 159.5, 1512.0, 159.5, 1158.0, 175.5, 1158.0 ], + "source" : [ "obj-247", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-30", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 55.5, 1512.0, 10.5, 1512.0, 10.5, 1158.0, 25.500004, 1158.0 ], + "source" : [ "obj-248", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-12", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-25", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-259", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-256", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-263", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-256", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-261", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-257", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-262", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-257", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-259", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-258", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-263", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-258", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-286", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-259", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-34", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-26", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-261", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-260", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-262", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-260", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-287", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-261", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-264", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-262", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-289", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-263", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-288", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-264", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-292", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-266", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-293", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-267", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-293", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-269", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-17", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-27", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-292", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-270", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-294", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-271", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-295", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-272", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-294", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-273", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-295", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-274", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-271", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 1315.5, 1537.5, 1284.0, 1537.5 ], + "source" : [ "obj-275", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-272", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 1315.5, 1537.5, 1134.0, 1537.5 ], + "source" : [ "obj-275", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-273", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 1315.5, 1537.5, 984.0, 1537.5 ], + "source" : [ "obj-275", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-274", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 1315.5, 1537.5, 834.0, 1537.5 ], + "source" : [ "obj-275", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-302", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 250.5, 1642.5, 250.5, 1642.5 ], + "source" : [ "obj-276", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-302", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 1045.5, 1642.5, 264.0, 1642.5 ], + "source" : [ "obj-277", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-81", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 250.5, 1723.479736, 115.499969, 1723.479736 ], + "source" : [ "obj-278", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-68", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-28", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-210", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-283", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-248", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-286", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-266", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-286", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-247", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-287", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-267", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-287", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-246", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-288", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-270", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-288", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-245", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-289", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-269", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-289", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-28", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-29", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-34", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 347.666656, 280.0, 383.166656, 280.0, 383.166656, 126.0, 418.666656, 126.0 ], + "source" : [ "obj-29", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-276", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-292", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-276", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-293", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-277", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-294", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-277", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-295", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-157", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 625.5, 1722.015625, 625.5, 1722.015625 ], + "source" : [ "obj-296", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-17", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-298", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-11", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-3", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-44", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-30", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-278", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 250.5, 1679.253906, 250.5, 1679.253906 ], + "source" : [ "obj-302", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-296", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 250.5, 1679.253906, 625.5, 1679.253906 ], + "source" : [ "obj-302", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-211", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-305", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-283", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 971.5, 2052.0, 429.0, 2052.0 ], + "source" : [ "obj-306", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-305", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 971.5, 2052.0, 939.0, 2052.0 ], + "source" : [ "obj-306", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-32", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-31", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-256", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-32", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-257", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-32", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-31", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-32", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-9", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-34", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.937255, 0.937255, 1.0 ], + "destination" : [ "obj-198", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 1105.5, 1192.869385, 925.5, 1192.869385 ], + "source" : [ "obj-35", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.937255, 0.937255, 1.0 ], + "destination" : [ "obj-201", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 1105.5, 1192.869385, 1075.5, 1192.869385 ], + "source" : [ "obj-35", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.937255, 0.937255, 1.0 ], + "destination" : [ "obj-203", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 1105.5, 1191.333496, 1225.5, 1191.333496 ], + "source" : [ "obj-35", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.937255, 0.937255, 1.0 ], + "destination" : [ "obj-205", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 1105.5, 1191.405273, 1375.5, 1191.405273 ], + "source" : [ "obj-35", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.937255, 0.937255, 1.0 ], + "destination" : [ "obj-224", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 1105.5, 1192.0, 284.5, 1192.0 ], + "source" : [ "obj-35", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.937255, 0.937255, 1.0 ], + "destination" : [ "obj-231", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 1105.5, 1192.0, 584.5, 1192.0 ], + "source" : [ "obj-35", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.937255, 0.937255, 1.0 ], + "destination" : [ "obj-238", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 1105.5, 1192.0, 434.5, 1192.0 ], + "source" : [ "obj-35", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.937255, 0.937255, 1.0 ], + "destination" : [ "obj-45", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 1105.5, 1192.0, 134.5, 1192.0 ], + "source" : [ "obj-35", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.501961, 0.0, 1.0 ], + "destination" : [ "obj-94", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-36", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-133", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 628.333313, 531.0, 175.0, 531.0, 175.0, 732.0, 175.41658, 732.0 ], + "source" : [ "obj-37", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 1.0, 0.501961, 1.0 ], + "destination" : [ "obj-65", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-38", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 1.0, 0.501961, 1.0 ], + "destination" : [ "obj-65", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-38", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 1.0, 0.501961, 1.0 ], + "destination" : [ "obj-38", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-39", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-35", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-4", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-30", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-40", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-45", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-40", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-224", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-41", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-229", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-41", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-231", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-42", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-236", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-42", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-238", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-43", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-243", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-43", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-32", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-44", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-44", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-45", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 1.0, 0.501961, 1.0 ], + "destination" : [ "obj-39", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-46", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-61", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-47", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-8", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-48", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-15", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-49", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-227", 2 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 52.5, 1297.0, 202.5, 1297.0 ], + "source" : [ "obj-5", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-234", 2 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 52.5, 1297.0, 502.5, 1297.0 ], + "source" : [ "obj-5", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-241", 2 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 52.5, 1297.0, 352.5, 1297.0 ], + "source" : [ "obj-5", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-32", 2 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 52.5, 1297.0, 52.500004, 1297.0 ], + "source" : [ "obj-5", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-49", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-50", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-61", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 649.333313, 280.0, 684.833313, 280.0, 684.833313, 126.0, 720.333313, 126.0 ], + "source" : [ "obj-50", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-52", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-51", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.149092, 0.819608, 1.0 ], + "destination" : [ "obj-107", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 655.5, 1852.5, 340.5, 1852.5 ], + "source" : [ "obj-52", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.149092, 0.819608, 1.0 ], + "destination" : [ "obj-121", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 655.5, 1852.5, 490.500061, 1852.5 ], + "source" : [ "obj-52", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.149092, 0.819608, 1.0 ], + "destination" : [ "obj-142", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 655.5, 1852.5, 1000.500061, 1852.5 ], + "source" : [ "obj-52", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.149092, 0.819608, 1.0 ], + "destination" : [ "obj-152", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 655.5, 1852.5, 850.5, 1852.5 ], + "source" : [ "obj-52", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.149092, 0.819608, 1.0 ], + "destination" : [ "obj-162", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 655.5, 1852.5, 700.5, 1852.5 ], + "source" : [ "obj-52", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.149092, 0.819608, 1.0 ], + "destination" : [ "obj-86", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 655.5, 1852.5, 190.499969, 1852.5 ], + "source" : [ "obj-52", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-16", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-53", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-48", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 498.5, 280.0, 534.0, 280.0, 534.0, 126.0, 569.5, 126.0 ], + "source" : [ "obj-54", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-53", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-54", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.8, 0.4, 1.0, 1.0 ], + "destination" : [ "obj-21", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 524.333313, 68.0, 562.0, 68.0 ], + "source" : [ "obj-55", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.8, 0.4, 1.0, 1.0 ], + "destination" : [ "obj-25", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 524.333313, 68.0, 260.333313, 68.0 ], + "source" : [ "obj-55", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.8, 0.4, 1.0, 1.0 ], + "destination" : [ "obj-26", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 524.333313, 68.0, 411.166656, 68.0 ], + "source" : [ "obj-55", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.8, 0.4, 1.0, 1.0 ], + "destination" : [ "obj-47", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 524.333313, 68.0, 712.833313, 68.0 ], + "source" : [ "obj-55", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-47", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-56", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.04013, 0.8, 0.001307, 1.0 ], + "destination" : [ "obj-210", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 712.5, 2085.0, 415.5, 2085.0 ], + "source" : [ "obj-57", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.04013, 0.8, 0.001307, 1.0 ], + "destination" : [ "obj-211", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 712.5, 2084.0, 925.5, 2084.0 ], + "source" : [ "obj-57", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.04013, 0.8, 0.001307, 1.0 ], + "destination" : [ "obj-58", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 712.5, 774.0, 820.916626, 774.0 ], + "source" : [ "obj-57", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.8, 0.0, 0.709445, 0.9 ], + "destination" : [ "obj-278", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 820.916626, 814.0, 640.0, 814.0, 640.0, 1245.0, 639.0, 1245.0, 639.0, 1290.0, 639.0, 1290.0, 639.0, 1660.0, 264.0, 1660.0 ], + "source" : [ "obj-58", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.8, 0.0, 0.709445, 0.9 ], + "destination" : [ "obj-296", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 820.916626, 814.5, 639.0, 814.5 ], + "source" : [ "obj-58", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.8, 0.0, 0.709445, 0.9 ], + "destination" : [ "obj-298", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-58", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-58", 2 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-59", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.276365, 0.0, 0.8, 0.9 ], + "destination" : [ "obj-124", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 865.5, 1740.0, 310.5, 1740.0 ], + "source" : [ "obj-6", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.276365, 0.0, 0.8, 0.9 ], + "destination" : [ "obj-177", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 865.5, 1740.0, 955.5, 1740.0 ], + "source" : [ "obj-6", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.276365, 0.0, 0.8, 0.9 ], + "destination" : [ "obj-179", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 865.5, 1740.0, 865.5, 1740.0 ], + "source" : [ "obj-6", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.276365, 0.0, 0.8, 0.9 ], + "destination" : [ "obj-88", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 865.5, 1740.0, 205.499969, 1740.0 ], + "source" : [ "obj-6", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 1.0, 0.501961, 1.0 ], + "destination" : [ "obj-15", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-60", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 1.0, 0.501961, 1.0 ], + "destination" : [ "obj-46", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-60", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-50", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-60", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-2", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-61", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-63", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-62", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-64", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-63", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-74", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-63", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-67", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-64", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 1.0, 0.501961, 1.0 ], + "destination" : [ "obj-37", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-65", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 1.0, 1.0 ], + "destination" : [ "obj-70", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-66", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-63", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-67", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-72", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-67", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.0, 0.501961, 1.0 ], + "destination" : [ "obj-96", 2 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-68", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-60", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-69", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-14", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-7", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-133", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 477.5, 531.0, 175.0, 531.0, 175.0, 732.0, 175.41658, 732.0 ], + "source" : [ "obj-70", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 1.0, 1.0 ], + "destination" : [ "obj-66", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-71", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 1.0, 1.0 ], + "destination" : [ "obj-66", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-71", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-74", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-72", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.501961, 0.0, 1.0 ], + "destination" : [ "obj-96", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-73", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-214", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-74", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 1.0, 1.0 ], + "destination" : [ "obj-71", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-75", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 1.0, 1.0 ], + "destination" : [ "obj-75", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-76", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-102", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-77", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 1.0, 1.0 ], + "destination" : [ "obj-16", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-78", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-54", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-78", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 1.0, 1.0 ], + "destination" : [ "obj-76", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-78", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-77", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-79", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-80", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-8", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-78", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-80", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-79", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-81", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-85", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-81", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-118", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-82", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-82", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-83", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-81", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-84", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-77", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-85", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-84", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-85", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-85", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-86", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-56", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-87", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-127", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-88", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-95", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-88", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-19", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-89", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-104", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-9", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-20", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-90", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-83", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-91", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-91", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-92", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-133", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 326.666656, 531.0, 175.0, 531.0, 175.0, 732.0, 175.41658, 732.0 ], + "source" : [ "obj-93", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-133", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 175.833328, 531.0, 175.0, 531.0, 175.0, 732.0, 175.41658, 732.0 ], + "source" : [ "obj-94", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-86", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-95", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 1.0, 0.501961, 1.0 ], + "destination" : [ "obj-37", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-96", 3 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 1.0, 1.0 ], + "destination" : [ "obj-70", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 427.222198, 478.0, 477.5, 478.0 ], + "source" : [ "obj-96", 2 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.0, 0.501961, 1.0 ], + "destination" : [ "obj-93", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 226.111099, 478.0, 326.666656, 478.0 ], + "source" : [ "obj-96", 1 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.501961, 0.0, 1.0 ], + "destination" : [ "obj-94", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 25.0, 478.0, 175.833328, 478.0 ], + "source" : [ "obj-96", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.0, 0.501961, 1.0 ], + "destination" : [ "obj-22", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-97", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.0, 0.501961, 1.0 ], + "destination" : [ "obj-22", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-97", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-116", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-98", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.0, 0.501961, 1.0 ], + "destination" : [ "obj-97", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-99", 0 ] + } + + } + ] + } + +} diff --git a/plugins/shiroverb/shiroverb.maxpat b/plugins/shiroverb/shiroverb.maxpat new file mode 100644 index 0000000..400504c --- /dev/null +++ b/plugins/shiroverb/shiroverb.maxpat @@ -0,0 +1,7784 @@ +{ + "patcher" : { + "fileversion" : 1, + "appversion" : { + "major" : 6, + "minor" : 1, + "revision" : 9, + "architecture" : "x86" + } +, + "rect" : [ 27.0, 118.0, 914.0, 614.0 ], + "bglocked" : 0, + "openinpresentation" : 0, + "default_fontsize" : 12.0, + "default_fontface" : 0, + "default_fontname" : "Arial", + "gridonopen" : 0, + "gridsize" : [ 15.0, 15.0 ], + "gridsnaponopen" : 0, + "statusbarvisible" : 2, + "toolbarvisible" : 1, + "boxanimatetime" : 200, + "imprint" : 0, + "enablehscroll" : 1, + "enablevscroll" : 1, + "devicewidth" : 0.0, + "description" : "", + "digest" : "", + "tags" : "", + "boxes" : [ { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-21", + "maxclass" : "message", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 369.0, 218.0, 83.0, 18.0 ], + "text" : "resonance $1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-3", + "maxclass" : "flonum", + "maximum" : 0.25, + "minimum" : 0.0, + "numinlets" : 1, + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ], + "parameter_enable" : 0, + "patching_rect" : [ 369.0, 188.0, 50.0, 20.0 ] + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-60", + "maxclass" : "message", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 269.0, 218.0, 73.0, 18.0 ], + "text" : "shimmer $1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-58", + "maxclass" : "flonum", + "maximum" : 1.0, + "minimum" : 0.0, + "numinlets" : 1, + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ], + "parameter_enable" : 0, + "patching_rect" : [ 269.0, 188.0, 50.0, 20.0 ] + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-56", + "maxclass" : "flonum", + "maximum" : 1000.0, + "minimum" : 0.1, + "numinlets" : 1, + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ], + "parameter_enable" : 0, + "patching_rect" : [ 457.0, 188.0, 50.0, 20.0 ] + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-54", + "maxclass" : "message", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 457.0, 218.0, 67.0, 18.0 ], + "text" : "window $1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-52", + "maxclass" : "message", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 189.0, 218.0, 47.0, 18.0 ], + "text" : "blur $1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-50", + "maxclass" : "flonum", + "maximum" : 0.25, + "minimum" : 0.01, + "numinlets" : 1, + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ], + "parameter_enable" : 0, + "patching_rect" : [ 189.0, 188.0, 50.0, 20.0 ] + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-46", + "maxclass" : "message", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 106.0, 218.0, 56.0, 18.0 ], + "text" : "cutoff $1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-44", + "maxclass" : "flonum", + "maximum" : 600.0, + "minimum" : 0.0, + "numinlets" : 1, + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ], + "parameter_enable" : 0, + "patching_rect" : [ 106.0, 188.0, 50.0, 20.0 ] + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-38", + "maxclass" : "message", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 42.0, 218.0, 51.0, 18.0 ], + "text" : "ratio $1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-36", + "maxclass" : "flonum", + "maximum" : 2.0, + "minimum" : 0.5, + "numinlets" : 1, + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ], + "parameter_enable" : 0, + "patching_rect" : [ 42.0, 188.0, 50.0, 20.0 ] + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-33", + "maxclass" : "message", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 95.0, 446.0, 70.0, 18.0 ], + "text" : "exportcode" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-10", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "signal" ], + "patching_rect" : [ 59.0, 469.0, 109.0, 20.0 ], + "text" : "receive~ shiroverb" + } + + } +, { + "box" : { + "fontsize" : 13.0, + "id" : "obj-6", + "maxclass" : "live.gain~", + "numinlets" : 2, + "numoutlets" : 5, + "orientation" : 1, + "outlettype" : [ "signal", "signal", "", "float", "list" ], + "parameter_enable" : 1, + "patching_rect" : [ 15.0, 528.0, 136.0, 42.0 ], + "presentation_rect" : [ 60.0, 60.0, 50.0, 42.0 ], + "saved_attribute_attributes" : { + "valueof" : { + "parameter_longname" : "live.gain~", + "parameter_shortname" : "live.gain~", + "parameter_type" : 0, + "parameter_mmin" : -70.0, + "parameter_mmax" : 6.0, + "parameter_initial_enable" : 1, + "parameter_initial" : [ -70 ], + "parameter_unitstyle" : 4 + } + + } +, + "showname" : 0, + "varname" : "live.gain~" + } + + } +, { + "box" : { + "bgcolor" : [ 1.0, 1.0, 1.0, 1.0 ], + "border" : 1.75, + "bordercolor" : [ 0.501961, 0.501961, 0.501961, 1.0 ], + "id" : "obj-8", + "local" : 1, + "maxclass" : "ezdac~", + "numinlets" : 2, + "numoutlets" : 0, + "patching_rect" : [ 15.0, 579.0, 44.0, 44.0 ], + "prototypename" : "helpfile" + } + + } +, { + "box" : { + "args" : [ "@loop", 1, "@file", 5 ], + "id" : "obj-7", + "maxclass" : "bpatcher", + "name" : "demosound.maxpat", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "signal" ], + "patching_rect" : [ 15.0, 15.0, 225.0, 105.0 ] + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-1", + "maxclass" : "flonum", + "maximum" : 100.0, + "minimum" : 0.0, + "numinlets" : 1, + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ], + "parameter_enable" : 0, + "patching_rect" : [ 529.0, 188.0, 50.0, 20.0 ] + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-5", + "maxclass" : "message", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 529.0, 218.0, 65.0, 18.0 ], + "text" : "spread $1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-19", + "maxclass" : "flonum", + "maximum" : 1.0, + "minimum" : 0.0, + "numinlets" : 1, + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ], + "parameter_enable" : 0, + "patching_rect" : [ 269.0, 130.0, 50.0, 20.0 ] + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-20", + "maxclass" : "message", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 269.0, 160.0, 46.0, 18.0 ], + "text" : "mix $1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-23", + "maxclass" : "flonum", + "maximum" : 1.0, + "minimum" : 0.0, + "numinlets" : 1, + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ], + "parameter_enable" : 0, + "patching_rect" : [ 457.0, 130.0, 50.0, 20.0 ] + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-24", + "maxclass" : "message", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 457.0, 160.0, 43.0, 18.0 ], + "text" : "tail $1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-25", + "maxclass" : "flonum", + "maximum" : 1.0, + "minimum" : 0.0, + "numinlets" : 1, + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ], + "parameter_enable" : 0, + "patching_rect" : [ 369.0, 130.0, 50.0, 20.0 ] + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-26", + "maxclass" : "message", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 369.0, 160.0, 54.0, 18.0 ], + "text" : "early $1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-14", + "maxclass" : "flonum", + "maximum" : 360.0, + "minimum" : 0.1, + "numinlets" : 1, + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ], + "parameter_enable" : 0, + "patching_rect" : [ 42.0, 130.0, 50.0, 20.0 ] + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-15", + "maxclass" : "message", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 42.0, 160.0, 59.0, 18.0 ], + "text" : "decay $1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-16", + "maxclass" : "flonum", + "maximum" : 300.0, + "minimum" : 0.1, + "numinlets" : 1, + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ], + "parameter_enable" : 0, + "patching_rect" : [ 106.0, 130.0, 50.0, 20.0 ] + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-18", + "maxclass" : "message", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 106.0, 160.0, 78.0, 18.0 ], + "text" : "roomsize $1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-12", + "maxclass" : "flonum", + "maximum" : 1.0, + "minimum" : 0.0, + "numinlets" : 1, + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ], + "parameter_enable" : 0, + "patching_rect" : [ 189.0, 130.0, 50.0, 20.0 ] + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-13", + "maxclass" : "message", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 189.0, 160.0, 75.0, 18.0 ], + "text" : "damping $1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-11", + "maxclass" : "flonum", + "maximum" : 1.0, + "minimum" : 0.0, + "numinlets" : 1, + "numoutlets" : 2, + "outlettype" : [ "float", "bang" ], + "parameter_enable" : 0, + "patching_rect" : [ 529.0, 130.0, 50.0, 20.0 ] + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-9", + "maxclass" : "message", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 529.0, 160.0, 51.0, 18.0 ], + "text" : "tone $1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-4", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 2, + "outlettype" : [ "signal", "signal" ], + "patcher" : { + "fileversion" : 1, + "appversion" : { + "major" : 6, + "minor" : 1, + "revision" : 9, + "architecture" : "x86" + } +, + "rect" : [ 0.0, 45.0, 960.0, 810.0 ], + "bgcolor" : [ 0.9, 0.9, 0.9, 1.0 ], + "bglocked" : 0, + "openinpresentation" : 0, + "default_fontsize" : 12.0, + "default_fontface" : 0, + "default_fontname" : "Arial", + "gridonopen" : 0, + "gridsize" : [ 15.0, 15.0 ], + "gridsnaponopen" : 0, + "statusbarvisible" : 2, + "toolbarvisible" : 1, + "boxanimatetime" : 200, + "imprint" : 0, + "enablehscroll" : 1, + "enablevscroll" : 1, + "devicewidth" : 0.0, + "description" : "", + "digest" : "", + "tags" : "", + "boxes" : [ { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-123", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 179.833328, 571.0, 170.0, 20.0 ], + "text" : "expr out=in1*2*PI/samplerate\\;" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-126", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 165.91658, 761.0, 60.5, 20.0 ], + "text" : "-" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-128", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 410.583313, 736.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-130", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 424.083313, 711.0, 74.0, 20.0 ], + "text" : "history y2 0" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-132", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 207.833328, 711.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-133", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 165.91658, 736.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-135", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 221.833328, 686.0, 74.0, 20.0 ], + "text" : "history y1 0" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-138", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 179.833328, 711.0, 28.0, 20.0 ], + "text" : "+ 1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-139", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 410.583313, 651.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-143", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 179.833328, 651.0, 30.0, 20.0 ], + "text" : "* -2" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-145", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 179.833328, 621.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-148", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 179.833328, 596.0, 30.0, 20.0 ], + "text" : "cos" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-149", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 409.833313, 621.0, 70.0, 20.0 ], + "text" : "* 0.882497" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-153", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 409.833313, 571.0, 50.0, 20.0 ], + "text" : "* 0.125" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-155", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 409.833313, 596.0, 30.0, 20.0 ], + "text" : "exp" + } + + } +, { + "box" : { + "color" : [ 0.0, 0.244356, 0.84, 1.0 ], + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-158", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 409.833313, 546.0, 230.0, 20.0 ], + "text" : "param resonance 0. @min 0. @max 0.25" + } + + } +, { + "box" : { + "color" : [ 0.0, 0.244356, 0.84, 1.0 ], + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-159", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 179.833328, 546.0, 230.0, 20.0 ], + "text" : "param cutoff 3000. @min 0. @max 6000." + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-87", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 689.833313, 41.0, 39.0, 20.0 ], + "text" : "noise" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-1", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 539.0, 41.0, 39.0, 20.0 ], + "text" : "noise" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-89", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 388.166656, 41.0, 39.0, 20.0 ], + "text" : "noise" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-90", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 237.333328, 41.0, 39.0, 20.0 ], + "text" : "noise" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-61", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 689.833313, 136.0, 40.0, 20.0 ], + "text" : "sah 0" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-2", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 689.833313, 161.0, 46.0, 20.0 ], + "text" : "history" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-48", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 539.0, 136.0, 40.0, 20.0 ], + "text" : "sah 0" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-8", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 539.0, 161.0, 46.0, 20.0 ], + "text" : "history" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-34", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 388.166656, 136.0, 40.0, 20.0 ], + "text" : "sah 0" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-9", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 388.166656, 161.0, 46.0, 20.0 ], + "text" : "history" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-12", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 237.333328, 136.0, 40.0, 20.0 ], + "text" : "sah 0" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-24", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 187.333328, 251.0, 37.0, 20.0 ], + "text" : "delta" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-13", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 237.333328, 161.0, 46.0, 20.0 ], + "text" : "history" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-15", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 618.833313, 321.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-16", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 468.0, 321.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-68", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 317.166656, 321.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-73", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 166.333328, 321.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-56", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 689.833313, 76.0, 30.0, 20.0 ], + "text" : "abs" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-18", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 539.0, 76.0, 30.0, 20.0 ], + "text" : "abs" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-19", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 388.166656, 76.0, 30.0, 20.0 ], + "text" : "abs" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-20", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 237.333328, 76.0, 30.0, 20.0 ], + "text" : "abs" + } + + } +, { + "box" : { + "color" : [ 0.0, 0.244356, 0.84, 1.0 ], + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-55", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 514.833313, 16.0, 221.0, 20.0 ], + "text" : "param blur 0.25 @min 0.01 @max 0.25" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-47", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 689.833313, 101.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-49", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 618.833313, 286.0, 40.0, 20.0 ], + "text" : "sah 0" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-50", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 639.833313, 251.0, 37.0, 20.0 ], + "text" : "delta" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-21", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 539.0, 101.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-53", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 468.0, 286.0, 40.0, 20.0 ], + "text" : "sah 0" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-54", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 489.0, 251.0, 37.0, 20.0 ], + "text" : "delta" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-26", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 388.166656, 101.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-28", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 317.166656, 286.0, 40.0, 20.0 ], + "text" : "sah 0" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-29", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 338.166656, 251.0, 37.0, 20.0 ], + "text" : "delta" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-25", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 237.333328, 101.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-23", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 166.333328, 286.0, 40.0, 20.0 ], + "text" : "sah 0" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-65", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 632.333313, 456.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-66", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 481.5, 456.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-22", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 330.666656, 456.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-36", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 179.833328, 456.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-37", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 618.833313, 481.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-38", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 632.333313, 431.0, 29.0, 20.0 ], + "text" : "cos" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-39", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 632.333313, 406.0, 28.0, 20.0 ], + "text" : "* pi" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-46", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 632.333313, 381.0, 35.0, 20.0 ], + "text" : "- 0.5" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-60", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 689.833313, 226.0, 31.0, 20.0 ], + "text" : "% 1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-69", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 689.833313, 201.0, 44.0, 20.0 ], + "text" : "+ 0.75" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-70", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 468.0, 481.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-71", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 481.5, 431.0, 29.0, 20.0 ], + "text" : "cos" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-75", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 481.5, 406.0, 28.0, 20.0 ], + "text" : "* pi" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-76", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 481.5, 381.0, 35.0, 20.0 ], + "text" : "- 0.5" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-78", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 539.0, 226.0, 31.0, 20.0 ], + "text" : "% 1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-80", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 539.0, 201.0, 38.0, 20.0 ], + "text" : "+ 0.5" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-82", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 35.333328, 136.0, 32.5, 20.0 ], + "text" : "/" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-83", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 35.333328, 101.0, 45.0, 20.0 ], + "text" : "* 1000" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-91", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 35.333328, 76.0, 31.0, 20.0 ], + "text" : "!- 1." + } + + } +, { + "box" : { + "color" : [ 0.0, 0.244356, 0.84, 1.0 ], + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-92", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 35.333328, 41.0, 191.0, 20.0 ], + "text" : "param ratio 2. @min 0.5 @max 2." + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-93", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 317.166656, 481.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-94", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 166.333328, 481.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-96", + "maxclass" : "newobj", + "numinlets" : 5, + "numoutlets" : 4, + "outlettype" : [ "", "", "", "" ], + "patching_rect" : [ 15.5, 356.0, 622.333313, 20.0 ], + "text" : "delay 96000 4" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-97", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 330.666656, 431.0, 29.0, 20.0 ], + "text" : "cos" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-99", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 330.666656, 406.0, 28.0, 20.0 ], + "text" : "* pi" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-101", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 330.666656, 381.0, 35.0, 20.0 ], + "text" : "- 0.5" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-103", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 388.166656, 226.0, 31.0, 20.0 ], + "text" : "% 1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-104", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 388.166656, 201.0, 44.0, 20.0 ], + "text" : "+ 0.25" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-108", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 15.5, 251.0, 72.0, 20.0 ], + "text" : "mstosamps" + } + + } +, { + "box" : { + "color" : [ 0.0, 0.244356, 0.84, 1.0 ], + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-109", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 15.5, 16.0, 241.0, 20.0 ], + "text" : "param window 100. @min 0.1 @max 1000." + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-110", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 179.833328, 431.0, 29.0, 20.0 ], + "text" : "cos" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-111", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 179.833328, 406.0, 28.0, 20.0 ], + "text" : "* pi" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-113", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 179.833328, 381.0, 35.0, 20.0 ], + "text" : "- 0.5" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-115", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 237.333328, 226.0, 31.0, 20.0 ], + "text" : "% 1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-117", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 237.333328, 201.0, 31.0, 20.0 ], + "text" : "+ 0." + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-118", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 35.333328, 161.0, 47.0, 20.0 ], + "text" : "phasor" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-122", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 15.5, 321.0, 30.0, 20.0 ], + "text" : "in 1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-57", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 703.0, 736.0, 30.0, 20.0 ], + "text" : "in 1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-58", + "maxclass" : "newobj", + "numinlets" : 3, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 811.416626, 793.0, 46.0, 20.0 ], + "text" : "mix" + } + + } +, { + "box" : { + "color" : [ 0.0, 0.244356, 0.84, 1.0 ], + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-59", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 838.416626, 736.0, 214.0, 20.0 ], + "text" : "param shimmer 0.5 @min 0. @max 1." + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-305", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 916.0, 2058.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "color" : [ 0.0, 0.244356, 0.84, 1.0 ], + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-306", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 962.0, 2023.0, 186.0, 20.0 ], + "text" : "param mix 0.5 @min 0. @max 1." + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-302", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 241.0, 1648.0, 32.5, 20.0 ], + "text" : "+" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-298", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 811.0, 823.0, 50.0, 20.0 ], + "text" : "* 0.707" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-296", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 616.0, 1693.0, 32.5, 20.0 ], + "text" : "+" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-294", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1111.0, 1588.0, 32.5, 20.0 ], + "text" : "+" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-295", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 961.0, 1588.0, 32.5, 20.0 ], + "text" : "+" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-293", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 316.0, 1588.0, 32.5, 20.0 ], + "text" : "+" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-292", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 166.0, 1588.0, 32.5, 20.0 ], + "text" : "+" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-289", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 466.0, 1453.0, 36.0, 20.0 ], + "text" : "* 0.5" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-288", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 316.0, 1453.0, 36.0, 20.0 ], + "text" : "* 0.5" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-287", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 166.0, 1453.0, 36.0, 20.0 ], + "text" : "* 0.5" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-286", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 16.000004, 1453.0, 36.0, 20.0 ], + "text" : "* 0.5" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-283", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 406.0, 2058.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-278", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 241.0, 1693.0, 32.5, 20.0 ], + "text" : "+" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-277", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1036.0, 1618.0, 32.5, 20.0 ], + "text" : "-" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-276", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 241.0, 1618.0, 32.5, 20.0 ], + "text" : "-" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-271", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1261.0, 1543.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-272", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1111.0, 1543.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-273", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 961.0, 1543.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-274", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 811.0, 1543.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "color" : [ 0.0, 0.244356, 0.84, 1.0 ], + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-275", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1306.0, 1498.0, 200.0, 20.0 ], + "text" : "param early 0.25 @min 0. @max 1." + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-269", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 466.0, 1543.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-270", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 316.0, 1543.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-267", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 166.0, 1543.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-266", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 16.000004, 1543.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-264", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 316.0, 1423.0, 28.0, 20.0 ], + "text" : "!- 0" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-263", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 466.0, 1393.0, 32.5, 20.0 ], + "text" : "+" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-262", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 316.0, 1393.0, 32.5, 20.0 ], + "text" : "+" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-261", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 166.0, 1393.0, 32.5, 20.0 ], + "text" : "-" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-260", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 406.0, 1348.0, 32.5, 20.0 ], + "text" : "-" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-259", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 16.000004, 1393.0, 32.5, 20.0 ], + "text" : "-" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-258", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 331.0, 1348.0, 32.5, 20.0 ], + "text" : "+" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-257", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 106.0, 1348.0, 32.5, 20.0 ], + "text" : "-" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-256", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 31.0, 1348.0, 32.5, 20.0 ], + "text" : "+" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-245", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 496.0, 1483.0, 32.5, 20.0 ], + "text" : "+" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-246", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 346.0, 1483.0, 32.5, 20.0 ], + "text" : "+" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-247", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 196.0, 1483.0, 32.5, 20.0 ], + "text" : "+" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-248", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 46.0, 1483.0, 32.5, 20.0 ], + "text" : "+" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-231", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 481.0, 1198.0, 113.0, 20.0 ], + "text" : "expr -pow(in2\\,in1)" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-232", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 466.0, 1228.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-233", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 526.0, 1303.0, 47.0, 20.0 ], + "text" : "history" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-234", + "maxclass" : "newobj", + "numinlets" : 3, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 466.0, 1303.0, 46.0, 20.0 ], + "text" : "mix" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-236", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 466.0, 1168.0, 78.0, 20.0 ], + "text" : "delay 48000" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-238", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 331.0, 1198.0, 113.0, 20.0 ], + "text" : "expr -pow(in2\\,in1)" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-239", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 316.0, 1228.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-240", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 376.0, 1303.0, 47.0, 20.0 ], + "text" : "history" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-241", + "maxclass" : "newobj", + "numinlets" : 3, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 316.0, 1303.0, 46.0, 20.0 ], + "text" : "mix" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-243", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 316.0, 1168.0, 78.0, 20.0 ], + "text" : "delay 48000" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-224", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 181.0, 1198.0, 113.0, 20.0 ], + "text" : "expr -pow(in2\\,in1)" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-225", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 166.0, 1228.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-226", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 226.0, 1303.0, 47.0, 20.0 ], + "text" : "history" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-227", + "maxclass" : "newobj", + "numinlets" : 3, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 166.0, 1303.0, 46.0, 20.0 ], + "text" : "mix" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-229", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 166.0, 1168.0, 78.0, 20.0 ], + "text" : "delay 48000" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-214", + "maxclass" : "newobj", + "numinlets" : 5, + "numoutlets" : 4, + "outlettype" : [ "", "", "", "" ], + "patching_rect" : [ 811.0, 1303.0, 465.0, 20.0 ], + "text" : "delay 48000 4" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-211", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 916.0, 2093.0, 38.0, 20.0 ], + "text" : "out 2" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-210", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 406.0, 2093.0, 38.0, 20.0 ], + "text" : "out 1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-204", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1261.0, 1363.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-205", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1276.0, 1333.0, 109.0, 20.0 ], + "text" : "expr pow(in2\\,in1)" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-202", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1111.0, 1363.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-203", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1126.0, 1333.0, 109.0, 20.0 ], + "text" : "expr pow(in2\\,in1)" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-200", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 961.0, 1363.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-201", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 976.0, 1333.0, 109.0, 20.0 ], + "text" : "expr pow(in2\\,in1)" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-199", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 811.0, 1363.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-198", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 826.0, 1333.0, 109.0, 20.0 ], + "text" : "expr pow(in2\\,in1)" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-197", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1276.0, 1273.0, 28.0, 20.0 ], + "text" : "+ 5" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-196", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1126.0, 1273.0, 28.0, 20.0 ], + "text" : "+ 5" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-195", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 976.0, 1273.0, 28.0, 20.0 ], + "text" : "+ 5" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-194", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 826.0, 1273.0, 28.0, 20.0 ], + "text" : "+ 5" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-191", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1126.0, 1243.0, 50.0, 20.0 ], + "text" : "* 0.155" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-192", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 976.0, 1243.0, 36.0, 20.0 ], + "text" : "* 0.3" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-193", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 826.0, 1243.0, 43.0, 20.0 ], + "text" : "* 0.41" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-173", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 946.0, 1813.0, 49.0, 20.0 ], + "text" : "!- 1341" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-174", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 901.0, 1813.0, 32.5, 20.0 ], + "text" : "!-" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-175", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 901.0, 1783.0, 42.0, 20.0 ], + "text" : "+ 369" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-176", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 946.0, 1783.0, 42.0, 20.0 ], + "text" : "+ 931" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-177", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 946.0, 1753.0, 74.0, 20.0 ], + "text" : "* -0.380445" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-178", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 856.0, 1813.0, 42.0, 20.0 ], + "text" : "+ 159" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-179", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 856.0, 1753.0, 74.0, 20.0 ], + "text" : "* -0.568366" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-134", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 916.0, 2023.0, 45.0, 20.0 ], + "text" : "+" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-136", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 916.0, 1993.0, 50.0, 20.0 ], + "text" : "* 0.625" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-137", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 916.0, 1963.0, 32.5, 20.0 ], + "text" : "-" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-140", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 931.0, 1933.0, 50.0, 20.0 ], + "text" : "* 0.625" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-141", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 961.0, 1903.0, 78.0, 20.0 ], + "text" : "delay 12000" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-142", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 991.000061, 1873.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-144", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 766.0, 2023.0, 45.0, 20.0 ], + "text" : "+" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-146", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 766.0, 1993.0, 50.0, 20.0 ], + "text" : "* 0.625" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-147", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 766.0, 1963.0, 32.5, 20.0 ], + "text" : "-" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-150", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 781.0, 1933.0, 50.0, 20.0 ], + "text" : "* 0.625" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-151", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 811.0, 1903.0, 78.0, 20.0 ], + "text" : "delay 16000" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-152", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 841.0, 1873.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-154", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 616.0, 2023.0, 45.0, 20.0 ], + "text" : "+" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-156", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 616.0, 1993.0, 43.0, 20.0 ], + "text" : "* 0.75" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-157", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 616.0, 1963.0, 32.5, 20.0 ], + "text" : "-" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-160", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 631.0, 1933.0, 43.0, 20.0 ], + "text" : "* 0.75" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-161", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 661.0, 1903.0, 71.0, 20.0 ], + "text" : "delay 7000" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-162", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 691.0, 1873.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-131", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 301.0, 1813.0, 49.0, 20.0 ], + "text" : "!- 1341" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-129", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 241.0, 1813.0, 32.5, 20.0 ], + "text" : "!-" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-127", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 241.0, 1783.0, 42.0, 20.0 ], + "text" : "+ 369" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-125", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 301.0, 1783.0, 42.0, 20.0 ], + "text" : "+ 931" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-124", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 301.0, 1753.0, 70.0, 20.0 ], + "text" : "* 0.376623" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-112", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 406.0, 2023.0, 45.0, 20.0 ], + "text" : "+" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-114", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 406.0, 1993.0, 50.0, 20.0 ], + "text" : "* 0.625" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-116", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 406.0, 1963.0, 32.5, 20.0 ], + "text" : "-" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-119", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 421.0, 1933.0, 50.0, 20.0 ], + "text" : "* 0.625" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-120", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 451.0, 1903.0, 78.0, 20.0 ], + "text" : "delay 10000" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-121", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 481.000061, 1873.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-98", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 256.0, 2023.0, 45.0, 20.0 ], + "text" : "+" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-100", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 256.0, 1993.0, 50.0, 20.0 ], + "text" : "* 0.625" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-102", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 256.0, 1963.0, 32.5, 20.0 ], + "text" : "-" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-105", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 271.0, 1933.0, 50.0, 20.0 ], + "text" : "* 0.625" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-106", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 301.0, 1903.0, 78.0, 20.0 ], + "text" : "delay 15000" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-107", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 331.0, 1873.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-95", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 195.999969, 1813.0, 42.0, 20.0 ], + "text" : "+ 159" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-88", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 195.999969, 1753.0, 70.0, 20.0 ], + "text" : "* 0.125541" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-77", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 105.999969, 2023.0, 45.0, 20.0 ], + "text" : "+" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-79", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 105.999969, 1993.0, 43.0, 20.0 ], + "text" : "* 0.75" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-81", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 105.999969, 1963.0, 32.5, 20.0 ], + "text" : "-" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-84", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 120.999969, 1933.0, 43.0, 20.0 ], + "text" : "* 0.75" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-85", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 150.999969, 1903.0, 71.0, 20.0 ], + "text" : "delay 5000" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-86", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 180.999969, 1873.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-74", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 811.0, 1063.0, 64.0, 20.0 ], + "text" : "+" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-72", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 811.0, 1033.0, 43.0, 20.0 ], + "text" : "* 0.75" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-67", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 811.0, 1003.0, 32.5, 20.0 ], + "text" : "-" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-64", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 825.0, 973.0, 43.0, 20.0 ], + "text" : "* 0.75" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-63", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 856.0, 943.0, 71.0, 20.0 ], + "text" : "delay 6000" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-62", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 908.0, 913.0, 70.0, 20.0 ], + "text" : "* 0.110732" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-52", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 646.0, 1813.0, 24.0, 20.0 ], + "text" : "int" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-51", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 646.0, 1783.0, 70.0, 20.0 ], + "text" : "* 0.000527" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-45", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 31.0, 1198.0, 113.0, 20.0 ], + "text" : "expr -pow(in2\\,in1)" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-44", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 16.000004, 1228.0, 32.5, 20.0 ], + "text" : "*" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-42", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 526.0, 1108.0, 63.0, 20.0 ], + "text" : "* 0.63245" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-43", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 376.0, 1108.0, 57.0, 20.0 ], + "text" : "* 0.7071" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-41", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 226.0, 1108.0, 63.0, 20.0 ], + "text" : "* 0.81649" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-40", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 76.0, 1108.0, 26.0, 20.0 ], + "text" : "* 1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-35", + "linecount" : 2, + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1096.0, 1153.0, 240.0, 33.0 ], + "text" : "expr pow(pow(10\\,-60/20)\\,1./(in1*samplerate))" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-31", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 76.0, 1303.0, 47.0, 20.0 ], + "text" : "history" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-32", + "maxclass" : "newobj", + "numinlets" : 3, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 16.000004, 1303.0, 46.0, 20.0 ], + "text" : "mix" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-30", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 16.000004, 1168.0, 78.0, 20.0 ], + "text" : "delay 48000" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-27", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 908.0, 868.0, 47.0, 20.0 ], + "text" : "history" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-17", + "maxclass" : "newobj", + "numinlets" : 3, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 811.0, 868.0, 46.0, 20.0 ], + "text" : "mix" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-14", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 931.0, 823.0, 28.0, 20.0 ], + "text" : "!- 1" + } + + } +, { + "box" : { + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-11", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 646.0, 883.0, 144.0, 20.0 ], + "text" : "expr in1*samplerate/340" + } + + } +, { + "box" : { + "color" : [ 0.0, 0.244356, 0.84, 1.0 ], + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-10", + "linecount" : 2, + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 541.0, 1498.0, 118.5, 33.0 ], + "text" : "param tail 0.25 @min 0. @max 1." + } + + } +, { + "box" : { + "color" : [ 0.0, 0.244356, 0.84, 1.0 ], + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-7", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 931.0, 793.0, 191.0, 20.0 ], + "text" : "param tone 0.5 @min 0. @max 1." + } + + } +, { + "box" : { + "color" : [ 0.0, 0.244356, 0.84, 1.0 ], + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-6", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 856.0, 1693.0, 218.0, 20.0 ], + "text" : "param spread 25. @min 0. @max 100." + } + + } +, { + "box" : { + "color" : [ 0.0, 0.244356, 0.84, 1.0 ], + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-5", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 43.0, 1063.0, 220.0, 20.0 ], + "text" : "param damping 0.75 @min 0. @max 1." + } + + } +, { + "box" : { + "color" : [ 0.0, 0.244356, 0.84, 1.0 ], + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-4", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 1096.0, 1063.0, 226.0, 20.0 ], + "text" : "param decay 180. @min 0.1 @max 360." + } + + } +, { + "box" : { + "color" : [ 0.0, 0.244356, 0.84, 1.0 ], + "fontname" : "Arial", + "fontsize" : 12.0, + "id" : "obj-3", + "maxclass" : "newobj", + "numinlets" : 0, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 646.0, 686.0, 243.0, 20.0 ], + "text" : "param roomsize 150. @min 0.1 @max 300." + } + + } + ], + "lines" : [ { + "patchline" : { + "destination" : [ "obj-18", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-1", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-266", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 550.5, 1537.5, 39.000004, 1537.5 ], + "source" : [ "obj-10", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-267", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 550.5, 1537.5, 189.0, 1537.5 ], + "source" : [ "obj-10", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-269", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 550.5, 1537.5, 489.0, 1537.5 ], + "source" : [ "obj-10", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-270", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 550.5, 1537.5, 339.0, 1537.5 ], + "source" : [ "obj-10", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-98", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-100", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.0, 0.501961, 1.0 ], + "destination" : [ "obj-99", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-101", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-100", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-102", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-106", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-102", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.0, 0.501961, 1.0 ], + "destination" : [ "obj-101", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-103", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-29", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-103", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.0, 0.501961, 1.0 ], + "destination" : [ "obj-68", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-103", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-103", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-104", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-102", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-105", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-105", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-106", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-98", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-106", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-106", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-107", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 0.501961, 1.0 ], + "destination" : [ "obj-23", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 25.0, 278.0, 175.833328, 278.0 ], + "source" : [ "obj-108", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 0.501961, 1.0 ], + "destination" : [ "obj-28", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 25.0, 278.0, 326.666656, 278.0 ], + "source" : [ "obj-108", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 0.501961, 1.0 ], + "destination" : [ "obj-49", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 25.0, 278.0, 628.333313, 278.0 ], + "source" : [ "obj-108", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 0.501961, 1.0 ], + "destination" : [ "obj-53", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 25.0, 278.0, 477.5, 278.0 ], + "source" : [ "obj-108", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 0.25098, 1.0 ], + "destination" : [ "obj-108", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-109", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 0.25098, 1.0 ], + "destination" : [ "obj-82", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-109", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.835294, 0.558267, 0.0, 1.0 ], + "destination" : [ "obj-191", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 655.5, 1102.5, 1135.5, 1102.5 ], + "source" : [ "obj-11", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.835294, 0.558267, 0.0, 1.0 ], + "destination" : [ "obj-192", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 655.5, 1102.5, 985.5, 1102.5 ], + "source" : [ "obj-11", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.835294, 0.558267, 0.0, 1.0 ], + "destination" : [ "obj-193", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 655.5, 1102.5, 835.5, 1102.5 ], + "source" : [ "obj-11", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.835294, 0.558267, 0.0, 1.0 ], + "destination" : [ "obj-197", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 655.5, 1101.394897, 1285.5, 1101.394897 ], + "source" : [ "obj-11", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.835294, 0.558267, 0.0, 1.0 ], + "destination" : [ "obj-40", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 655.5, 1100.166504, 85.5, 1100.166504 ], + "source" : [ "obj-11", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.835294, 0.558267, 0.0, 1.0 ], + "destination" : [ "obj-41", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 655.5, 1100.166504, 235.5, 1100.166504 ], + "source" : [ "obj-11", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.835294, 0.558267, 0.0, 1.0 ], + "destination" : [ "obj-42", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 655.5, 1101.630615, 535.5, 1101.630615 ], + "source" : [ "obj-11", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.835294, 0.558267, 0.0, 1.0 ], + "destination" : [ "obj-43", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 655.5, 1098.702393, 385.5, 1098.702393 ], + "source" : [ "obj-11", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.835294, 0.558267, 0.0, 1.0 ], + "destination" : [ "obj-51", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 655.5, 1372.5, 655.5, 1372.5 ], + "source" : [ "obj-11", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.835294, 0.558267, 0.0, 1.0 ], + "destination" : [ "obj-62", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 655.5, 907.679504, 917.5, 907.679504 ], + "source" : [ "obj-11", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.501961, 0.0, 1.0 ], + "destination" : [ "obj-36", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-110", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.501961, 0.0, 1.0 ], + "destination" : [ "obj-36", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-110", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.501961, 0.0, 1.0 ], + "destination" : [ "obj-110", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-111", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-283", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-112", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.501961, 0.0, 1.0 ], + "destination" : [ "obj-111", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-113", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-112", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-114", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.501961, 0.0, 1.0 ], + "destination" : [ "obj-113", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-115", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-24", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-115", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.501961, 0.0, 1.0 ], + "destination" : [ "obj-73", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-115", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-114", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-116", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-120", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-116", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-115", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-117", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-104", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 44.833328, 190.5, 397.666656, 190.5 ], + "source" : [ "obj-118", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-117", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 44.833328, 190.5, 246.833328, 190.5 ], + "source" : [ "obj-118", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-69", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 44.833328, 190.5, 699.333313, 190.5 ], + "source" : [ "obj-118", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-80", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 44.833328, 190.5, 548.5, 190.5 ], + "source" : [ "obj-118", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-116", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-119", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-13", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-12", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-112", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-120", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-119", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-120", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-120", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-121", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-96", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-122", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-148", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-123", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-125", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-124", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-129", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-125", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-131", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-125", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-135", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 175.41658, 801.0, 339.374939, 801.0, 339.374939, 662.0, 231.333328, 662.0 ], + "source" : [ "obj-126", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-58", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 175.41658, 786.5, 834.416626, 786.5 ], + "source" : [ "obj-126", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-129", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-127", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-126", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 420.083313, 757.0, 216.91658, 757.0 ], + "source" : [ "obj-128", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-107", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-129", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-117", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-13", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-128", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-130", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-121", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-131", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-126", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 217.333328, 731.0, 216.91658, 731.0 ], + "source" : [ "obj-132", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-126", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 175.41658, 758.0, 175.41658, 758.0 ], + "source" : [ "obj-133", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-305", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-134", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-130", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 231.333328, 706.0, 433.583313, 706.0 ], + "source" : [ "obj-135", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-132", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-135", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-134", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-136", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-136", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-137", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-141", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-137", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-133", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 189.333328, 732.0, 188.91658, 732.0 ], + "source" : [ "obj-138", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-128", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-139", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-138", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 420.083313, 676.0, 305.583313, 676.0, 305.583313, 676.0, 209.583328, 676.0, 209.583328, 676.0, 189.333328, 676.0 ], + "source" : [ "obj-139", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-17", 2 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 940.5, 855.0, 847.5, 855.0 ], + "source" : [ "obj-14", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-137", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-140", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-134", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-141", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-140", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-141", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-141", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-142", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-132", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 189.333328, 693.0, 217.333328, 693.0 ], + "source" : [ "obj-143", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-138", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 189.333328, 673.0, 189.333328, 673.0 ], + "source" : [ "obj-143", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-137", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-144", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-143", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-145", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-144", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-146", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-146", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-147", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-151", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-147", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-145", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 189.333328, 617.0, 189.333328, 617.0 ], + "source" : [ "obj-148", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-139", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 419.333313, 647.0, 433.583313, 647.0 ], + "source" : [ "obj-149", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-139", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 419.333313, 641.0, 420.083313, 641.0 ], + "source" : [ "obj-149", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-145", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 419.333313, 648.0, 221.583328, 648.0, 221.583328, 617.0, 202.833328, 617.0 ], + "source" : [ "obj-149", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 1.0, 0.501961, 1.0 ], + "destination" : [ "obj-96", 4 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-15", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-147", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-150", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-144", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-151", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-150", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-151", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-151", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-152", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-155", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-153", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-147", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-154", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-149", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-155", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-154", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-156", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-156", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-157", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-161", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-157", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-153", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-158", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-123", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-159", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 1.0, 1.0 ], + "destination" : [ "obj-96", 3 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-16", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-157", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-160", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-154", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-161", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-160", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-161", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-161", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-162", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-27", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-17", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-67", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-17", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-142", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-173", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-152", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-174", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-174", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-175", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-173", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-176", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-174", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-176", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-176", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-177", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-162", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-178", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-175", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-179", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-178", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-179", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-21", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-18", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-26", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-19", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-196", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-191", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-195", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-192", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-194", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-193", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-198", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-194", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-214", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-194", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-201", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-195", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-214", 2 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-195", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-203", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-196", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-214", 3 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-196", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-205", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-197", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-214", 4 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-197", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-199", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-198", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.8, 0.046243, 0.0, 0.9 ], + "destination" : [ "obj-248", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 820.5, 1432.5, 69.0, 1432.5 ], + "source" : [ "obj-199", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.8, 0.046243, 0.0, 0.9 ], + "destination" : [ "obj-274", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-199", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-69", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-2", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-25", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-20", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.8, 0.046243, 0.0, 0.9 ], + "destination" : [ "obj-247", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 970.5, 1432.5, 219.0, 1432.5 ], + "source" : [ "obj-200", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.8, 0.046243, 0.0, 0.9 ], + "destination" : [ "obj-273", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-200", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-200", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-201", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.8, 0.046243, 0.0, 0.9 ], + "destination" : [ "obj-246", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 1120.5, 1432.5, 369.0, 1432.5 ], + "source" : [ "obj-202", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.8, 0.046243, 0.0, 0.9 ], + "destination" : [ "obj-272", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-202", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-202", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-203", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.8, 0.046243, 0.0, 0.9 ], + "destination" : [ "obj-245", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 1270.5, 1432.5, 519.0, 1432.5 ], + "source" : [ "obj-204", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.8, 0.046243, 0.0, 0.9 ], + "destination" : [ "obj-271", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-204", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-204", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-205", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-48", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-21", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-199", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-214", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-200", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-214", 1 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-202", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-214", 2 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-204", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-214", 3 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.0, 0.501961, 1.0 ], + "destination" : [ "obj-93", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-22", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-225", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-224", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-227", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-225", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-227", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-226", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-226", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-227", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-256", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-227", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-257", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-227", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-225", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-229", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-73", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-23", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-232", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-231", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-234", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-232", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-234", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-233", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-233", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-234", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-258", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-234", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-260", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-234", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-232", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-236", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-239", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-238", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-241", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-239", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-12", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 196.833328, 280.0, 232.333328, 280.0, 232.333328, 126.0, 267.833313, 126.0 ], + "source" : [ "obj-24", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-23", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-24", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-241", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-240", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-240", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-241", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-258", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-241", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-260", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-241", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-239", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-243", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-236", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 505.5, 1512.0, 459.5, 1512.0, 459.5, 1158.0, 475.5, 1158.0 ], + "source" : [ "obj-245", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-243", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 355.5, 1512.0, 310.5, 1512.0, 310.5, 1158.0, 325.5, 1158.0 ], + "source" : [ "obj-246", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-229", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 205.5, 1512.0, 159.5, 1512.0, 159.5, 1158.0, 175.5, 1158.0 ], + "source" : [ "obj-247", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-30", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 55.5, 1512.0, 10.5, 1512.0, 10.5, 1158.0, 25.500004, 1158.0 ], + "source" : [ "obj-248", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-12", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-25", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-259", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-256", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-263", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-256", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-261", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-257", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-262", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-257", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-259", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-258", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-263", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-258", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-286", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-259", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-34", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-26", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-261", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-260", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-262", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-260", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-287", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-261", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-264", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-262", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-289", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-263", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-288", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-264", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-292", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-266", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-293", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-267", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-293", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-269", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-17", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-27", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-292", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-270", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-294", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-271", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-295", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-272", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-294", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-273", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-295", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-274", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-271", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 1315.5, 1537.5, 1284.0, 1537.5 ], + "source" : [ "obj-275", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-272", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 1315.5, 1537.5, 1134.0, 1537.5 ], + "source" : [ "obj-275", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-273", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 1315.5, 1537.5, 984.0, 1537.5 ], + "source" : [ "obj-275", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-274", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 1315.5, 1537.5, 834.0, 1537.5 ], + "source" : [ "obj-275", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-302", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 250.5, 1642.5, 250.5, 1642.5 ], + "source" : [ "obj-276", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-302", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 1045.5, 1642.5, 264.0, 1642.5 ], + "source" : [ "obj-277", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-81", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 250.5, 1723.479736, 115.499969, 1723.479736 ], + "source" : [ "obj-278", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-68", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-28", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-210", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-283", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-248", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-286", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-266", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-286", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-247", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-287", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-267", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-287", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-246", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-288", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-270", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-288", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-245", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-289", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-269", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-289", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-28", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-29", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-34", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 347.666656, 280.0, 383.166656, 280.0, 383.166656, 126.0, 418.666656, 126.0 ], + "source" : [ "obj-29", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-276", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-292", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-276", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-293", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-277", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-294", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-277", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-295", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-157", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 625.5, 1722.015625, 625.5, 1722.015625 ], + "source" : [ "obj-296", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-17", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-298", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-11", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-3", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-44", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-30", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-278", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 250.5, 1679.253906, 250.5, 1679.253906 ], + "source" : [ "obj-302", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-296", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 250.5, 1679.253906, 625.5, 1679.253906 ], + "source" : [ "obj-302", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-211", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-305", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-283", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 971.5, 2052.0, 429.0, 2052.0 ], + "source" : [ "obj-306", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-305", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 971.5, 2052.0, 939.0, 2052.0 ], + "source" : [ "obj-306", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-32", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-31", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-256", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-32", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-257", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-32", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-31", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-32", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-9", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-34", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.937255, 0.937255, 1.0 ], + "destination" : [ "obj-198", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 1105.5, 1192.869385, 925.5, 1192.869385 ], + "source" : [ "obj-35", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.937255, 0.937255, 1.0 ], + "destination" : [ "obj-201", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 1105.5, 1192.869385, 1075.5, 1192.869385 ], + "source" : [ "obj-35", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.937255, 0.937255, 1.0 ], + "destination" : [ "obj-203", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 1105.5, 1191.333496, 1225.5, 1191.333496 ], + "source" : [ "obj-35", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.937255, 0.937255, 1.0 ], + "destination" : [ "obj-205", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 1105.5, 1191.405273, 1375.5, 1191.405273 ], + "source" : [ "obj-35", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.937255, 0.937255, 1.0 ], + "destination" : [ "obj-224", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 1105.5, 1192.0, 284.5, 1192.0 ], + "source" : [ "obj-35", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.937255, 0.937255, 1.0 ], + "destination" : [ "obj-231", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 1105.5, 1192.0, 584.5, 1192.0 ], + "source" : [ "obj-35", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.937255, 0.937255, 1.0 ], + "destination" : [ "obj-238", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 1105.5, 1192.0, 434.5, 1192.0 ], + "source" : [ "obj-35", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.937255, 0.937255, 1.0 ], + "destination" : [ "obj-45", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 1105.5, 1192.0, 134.5, 1192.0 ], + "source" : [ "obj-35", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.501961, 0.0, 1.0 ], + "destination" : [ "obj-94", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-36", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-133", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 628.333313, 531.0, 175.0, 531.0, 175.0, 732.0, 175.41658, 732.0 ], + "source" : [ "obj-37", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 1.0, 0.501961, 1.0 ], + "destination" : [ "obj-65", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-38", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 1.0, 0.501961, 1.0 ], + "destination" : [ "obj-65", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-38", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 1.0, 0.501961, 1.0 ], + "destination" : [ "obj-38", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-39", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-35", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-4", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-30", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-40", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-45", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-40", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-224", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-41", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-229", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-41", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-231", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-42", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-236", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-42", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-238", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-43", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-243", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-43", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-32", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-44", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-44", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-45", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 1.0, 0.501961, 1.0 ], + "destination" : [ "obj-39", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-46", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-61", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-47", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-8", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-48", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-15", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-49", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-227", 2 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 52.5, 1297.0, 202.5, 1297.0 ], + "source" : [ "obj-5", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-234", 2 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 52.5, 1297.0, 502.5, 1297.0 ], + "source" : [ "obj-5", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-241", 2 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 52.5, 1297.0, 352.5, 1297.0 ], + "source" : [ "obj-5", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-32", 2 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 52.5, 1297.0, 52.500004, 1297.0 ], + "source" : [ "obj-5", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-49", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-50", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-61", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 649.333313, 280.0, 684.833313, 280.0, 684.833313, 126.0, 720.333313, 126.0 ], + "source" : [ "obj-50", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-52", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-51", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.149092, 0.819608, 1.0 ], + "destination" : [ "obj-107", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 655.5, 1852.5, 340.5, 1852.5 ], + "source" : [ "obj-52", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.149092, 0.819608, 1.0 ], + "destination" : [ "obj-121", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 655.5, 1852.5, 490.500061, 1852.5 ], + "source" : [ "obj-52", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.149092, 0.819608, 1.0 ], + "destination" : [ "obj-142", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 655.5, 1852.5, 1000.500061, 1852.5 ], + "source" : [ "obj-52", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.149092, 0.819608, 1.0 ], + "destination" : [ "obj-152", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 655.5, 1852.5, 850.5, 1852.5 ], + "source" : [ "obj-52", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.149092, 0.819608, 1.0 ], + "destination" : [ "obj-162", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 655.5, 1852.5, 700.5, 1852.5 ], + "source" : [ "obj-52", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.149092, 0.819608, 1.0 ], + "destination" : [ "obj-86", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 655.5, 1852.5, 190.499969, 1852.5 ], + "source" : [ "obj-52", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-16", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-53", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-48", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 498.5, 280.0, 534.0, 280.0, 534.0, 126.0, 569.5, 126.0 ], + "source" : [ "obj-54", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-53", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-54", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.8, 0.4, 1.0, 1.0 ], + "destination" : [ "obj-21", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 524.333313, 68.0, 562.0, 68.0 ], + "source" : [ "obj-55", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.8, 0.4, 1.0, 1.0 ], + "destination" : [ "obj-25", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 524.333313, 68.0, 260.333313, 68.0 ], + "source" : [ "obj-55", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.8, 0.4, 1.0, 1.0 ], + "destination" : [ "obj-26", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 524.333313, 68.0, 411.166656, 68.0 ], + "source" : [ "obj-55", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.8, 0.4, 1.0, 1.0 ], + "destination" : [ "obj-47", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 524.333313, 68.0, 712.833313, 68.0 ], + "source" : [ "obj-55", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-47", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-56", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.04013, 0.8, 0.001307, 1.0 ], + "destination" : [ "obj-210", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 712.5, 2085.0, 415.5, 2085.0 ], + "source" : [ "obj-57", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.04013, 0.8, 0.001307, 1.0 ], + "destination" : [ "obj-211", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 712.5, 2084.0, 925.5, 2084.0 ], + "source" : [ "obj-57", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.04013, 0.8, 0.001307, 1.0 ], + "destination" : [ "obj-58", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 712.5, 774.0, 820.916626, 774.0 ], + "source" : [ "obj-57", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.8, 0.0, 0.709445, 0.9 ], + "destination" : [ "obj-278", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 820.916626, 814.0, 640.0, 814.0, 640.0, 1245.0, 639.0, 1245.0, 639.0, 1290.0, 639.0, 1290.0, 639.0, 1660.0, 264.0, 1660.0 ], + "source" : [ "obj-58", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.8, 0.0, 0.709445, 0.9 ], + "destination" : [ "obj-296", 1 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 820.916626, 814.5, 639.0, 814.5 ], + "source" : [ "obj-58", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.8, 0.0, 0.709445, 0.9 ], + "destination" : [ "obj-298", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-58", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-58", 2 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-59", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.276365, 0.0, 0.8, 0.9 ], + "destination" : [ "obj-124", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 865.5, 1740.0, 310.5, 1740.0 ], + "source" : [ "obj-6", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.276365, 0.0, 0.8, 0.9 ], + "destination" : [ "obj-177", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 865.5, 1740.0, 955.5, 1740.0 ], + "source" : [ "obj-6", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.276365, 0.0, 0.8, 0.9 ], + "destination" : [ "obj-179", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 865.5, 1740.0, 865.5, 1740.0 ], + "source" : [ "obj-6", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.276365, 0.0, 0.8, 0.9 ], + "destination" : [ "obj-88", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 865.5, 1740.0, 205.499969, 1740.0 ], + "source" : [ "obj-6", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 1.0, 0.501961, 1.0 ], + "destination" : [ "obj-15", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-60", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 1.0, 0.501961, 1.0 ], + "destination" : [ "obj-46", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-60", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-50", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-60", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-2", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-61", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-63", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-62", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-64", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-63", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-74", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-63", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-67", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-64", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 1.0, 0.501961, 1.0 ], + "destination" : [ "obj-37", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-65", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 1.0, 1.0 ], + "destination" : [ "obj-70", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-66", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-63", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-67", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-72", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-67", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.0, 0.501961, 1.0 ], + "destination" : [ "obj-96", 2 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-68", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-60", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-69", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-14", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-7", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-133", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 477.5, 531.0, 175.0, 531.0, 175.0, 732.0, 175.41658, 732.0 ], + "source" : [ "obj-70", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 1.0, 1.0 ], + "destination" : [ "obj-66", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-71", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 1.0, 1.0 ], + "destination" : [ "obj-66", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-71", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-74", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-72", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.501961, 0.0, 1.0 ], + "destination" : [ "obj-96", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-73", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-214", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-74", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 1.0, 1.0 ], + "destination" : [ "obj-71", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-75", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 1.0, 1.0 ], + "destination" : [ "obj-75", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-76", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-102", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-77", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 1.0, 1.0 ], + "destination" : [ "obj-16", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-78", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-54", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-78", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 1.0, 1.0 ], + "destination" : [ "obj-76", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-78", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-77", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-79", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-80", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-8", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-78", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-80", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-79", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-81", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-85", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-81", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-118", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-82", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-82", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-83", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-81", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-84", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-77", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-85", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-84", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-85", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-85", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-86", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-56", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-87", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-127", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-88", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-95", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-88", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-19", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-89", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-104", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-9", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-20", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-90", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-83", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-91", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-91", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-92", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-133", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 326.666656, 531.0, 175.0, 531.0, 175.0, 732.0, 175.41658, 732.0 ], + "source" : [ "obj-93", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-133", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 175.833328, 531.0, 175.0, 531.0, 175.0, 732.0, 175.41658, 732.0 ], + "source" : [ "obj-94", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-86", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-95", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 1.0, 0.501961, 1.0 ], + "destination" : [ "obj-37", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-96", 3 ] + } + + } +, { + "patchline" : { + "color" : [ 0.0, 0.501961, 1.0, 1.0 ], + "destination" : [ "obj-70", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 427.222198, 478.0, 477.5, 478.0 ], + "source" : [ "obj-96", 2 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.0, 0.501961, 1.0 ], + "destination" : [ "obj-93", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 226.111099, 478.0, 326.666656, 478.0 ], + "source" : [ "obj-96", 1 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.501961, 0.0, 1.0 ], + "destination" : [ "obj-94", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 25.0, 478.0, 175.833328, 478.0 ], + "source" : [ "obj-96", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.0, 0.501961, 1.0 ], + "destination" : [ "obj-22", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-97", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.0, 0.501961, 1.0 ], + "destination" : [ "obj-22", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-97", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-116", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-98", 0 ] + } + + } +, { + "patchline" : { + "color" : [ 1.0, 0.0, 0.501961, 1.0 ], + "destination" : [ "obj-97", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-99", 0 ] + } + + } + ] + } +, + "patching_rect" : [ 15.0, 494.0, 150.0, 20.0 ], + "saved_object_attributes" : { + "exportfolder" : "Macintosh HD:/Users/Nino/Documents/Git/DPF-Max-Gen/plugins/shiroverb/" + } +, + "text" : "gen~" + } + + } + ], + "lines" : [ { + "patchline" : { + "destination" : [ "obj-5", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-1", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-4", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-10", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-9", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-11", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-13", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-12", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-4", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 198.5, 180.0, 174.0, 180.0, 174.0, 432.0, 24.5, 432.0 ], + "source" : [ "obj-13", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-15", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-14", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-4", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 51.5, 180.0, 24.5, 180.0 ], + "source" : [ "obj-15", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-18", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-16", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-4", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 115.5, 180.0, 102.0, 180.0, 102.0, 432.0, 24.5, 432.0 ], + "source" : [ "obj-18", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-20", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-19", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-4", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 278.5, 180.0, 255.0, 180.0, 255.0, 432.0, 24.5, 432.0 ], + "source" : [ "obj-20", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-4", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 378.5, 432.0, 24.5, 432.0 ], + "source" : [ "obj-21", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-24", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-23", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-4", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 466.5, 180.0, 453.0, 180.0, 453.0, 432.0, 24.5, 432.0 ], + "source" : [ "obj-24", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-26", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-25", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-4", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 378.5, 180.0, 330.0, 180.0, 330.0, 432.0, 24.5, 432.0 ], + "source" : [ "obj-26", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-21", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-3", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-4", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-33", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-38", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-36", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-4", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 51.5, 456.0, 24.5, 456.0 ], + "source" : [ "obj-38", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-6", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-4", 1 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-6", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-4", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-46", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-44", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-4", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 115.5, 432.0, 24.5, 432.0 ], + "source" : [ "obj-46", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-4", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 538.5, 432.0, 24.5, 432.0 ], + "source" : [ "obj-5", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-52", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-50", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-4", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 198.5, 432.0, 24.5, 432.0 ], + "source" : [ "obj-52", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-4", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 466.5, 432.0, 24.5, 432.0 ], + "source" : [ "obj-54", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-54", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-56", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-60", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-58", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-8", 1 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-6", 1 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-8", 0 ], + "disabled" : 0, + "hidden" : 0, + "source" : [ "obj-6", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-4", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 278.5, 432.0, 24.5, 432.0 ], + "source" : [ "obj-60", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-4", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 24.5, 120.0, 24.5, 120.0 ], + "source" : [ "obj-7", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-4", 0 ], + "disabled" : 0, + "hidden" : 0, + "midpoints" : [ 538.5, 180.0, 525.0, 180.0, 525.0, 432.0, 24.5, 432.0 ], + "source" : [ "obj-9", 0 ] + } + + } + ], + "parameters" : { + "obj-7::obj-21::obj-6" : [ "live.tab[3]", "live.tab[1]", 0 ], + "obj-6" : [ "live.gain~", "live.gain~", 0 ], + "obj-7::obj-35" : [ "[5]", "Level", 0 ], + "obj-7::obj-32" : [ "[8]", "[2]", 0 ] + } +, + "dependency_cache" : [ { + "name" : "demosound.maxpat", + "bootpath" : "/Applications/Max 6.1/Cycling '74/msp-help", + "patcherrelativepath" : "../../../../../../../Applications/Max 6.1/Cycling '74/msp-help", + "type" : "JSON", + "implicit" : 1 + } +, { + "name" : "sine.svg", + "bootpath" : "/Applications/Max 6.1/patches/picts/m4l-picts", + "patcherrelativepath" : "../../../../../../../Applications/Max 6.1/patches/picts/m4l-picts", + "type" : "svg ", + "implicit" : 1 + } +, { + "name" : "saw.svg", + "bootpath" : "/Applications/Max 6.1/patches/picts/m4l-picts", + "patcherrelativepath" : "../../../../../../../Applications/Max 6.1/patches/picts/m4l-picts", + "type" : "svg ", + "implicit" : 1 + } +, { + "name" : "square.svg", + "bootpath" : "/Applications/Max 6.1/patches/picts/m4l-picts", + "patcherrelativepath" : "../../../../../../../Applications/Max 6.1/patches/picts/m4l-picts", + "type" : "svg ", + "implicit" : 1 + } +, { + "name" : "random.svg", + "bootpath" : "/Applications/Max 6.1/patches/picts/m4l-picts", + "patcherrelativepath" : "../../../../../../../Applications/Max 6.1/patches/picts/m4l-picts", + "type" : "svg ", + "implicit" : 1 + } + ] + } + +}