commit 60efafdb6433f7530ebd80382e91fdbadc07b5b9
parent 034a972de8205f52d7c2252209a2baf5226330ac
Author: Matt Demanett <matt@demanett.net>
Date: Mon, 17 Aug 2020 13:43:00 -0400
MATRIX81: knobs complement to SWITCH81, gotta keep things balanced. #135
Diffstat:
14 files changed, 1272 insertions(+), 8 deletions(-)
diff --git a/plugin.json b/plugin.json
@@ -513,10 +513,10 @@
]
},
{
- "slug": "Bogaudio-Switch81",
- "name": "SWITCH81",
+ "slug": "Bogaudio-Matrix81",
+ "name": "MATRIX81",
"description": "8-channel mixer",
- "manualUrl": "https://github.com/bogaudio/BogaudioModules/blob/master/README.md#switch81",
+ "manualUrl": "https://github.com/bogaudio/BogaudioModules/blob/master/README.md#matrix81",
"tags": [
"Mixer",
"Polyphonic"
@@ -543,6 +543,16 @@
]
},
{
+ "slug": "Bogaudio-Switch81",
+ "name": "SWITCH81",
+ "description": "8-channel mixer",
+ "manualUrl": "https://github.com/bogaudio/BogaudioModules/blob/master/README.md#switch81",
+ "tags": [
+ "Mixer",
+ "Polyphonic"
+ ]
+ },
+ {
"slug": "Bogaudio-Switch44",
"name": "SWITCH44",
"description": "4x4 matrix mixer",
diff --git a/res-pp/Matrix81-dark-pp.svg b/res-pp/Matrix81-dark-pp.svg
@@ -0,0 +1,377 @@
+<?xml version="1.0"?>
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="90.0" height="380.0" viewBox="0 0 90.0 380.0">
+ <style>text {
+ fill: #333;
+ font-family: 'Roboto', sans-serif;
+ font-weight: bold;
+}
+text.title {
+ font-family: 'Comfortaa', sans-serif;
+ font-weight: normal;
+}
+text.brand {
+ font-family: 'Audiowide', sans-serif;
+ font-weight: bold;
+}
+
+polyline {
+ stroke: #333;
+}
+path {
+ stroke: #333;
+}
+
+rect.module-background, .background-fill {
+ fill: #ddd;
+}
+polyline.module-border-inner {
+ stroke: #e4e4e4;
+}
+polyline.module-border-middle {
+ stroke: #ebebeb;
+}
+polyline.module-border-outer {
+ stroke: #f2f2f2;
+}
+
+g.io-group {
+}
+rect.input-background, rect.input-background-filler {
+ fill: #fafafa;
+}
+rect.output-background, rect.output-background-filler {
+ fill: #bbb;
+}
+text.input-label, text.output-label {
+ /* font-size: 6pt; */
+}
+polyline.input-label, polyline.output-label {
+}
+path.input-label, path.output-label {
+}
+
+circle.port-rim {
+ stroke: #f0f0f0;
+}
+circle.port-barrel {
+ stroke: #222;
+ fill: #222;
+}
+circle.knob-center {
+ fill: #eee;
+}
+circle.knob-rim {
+ fill: #333;
+}
+circle.knob-tick {
+ fill: #fff;
+}
+polyline.knob-tick {
+ stroke: #fff;
+}
+
+
+text {
+ fill: #eee;
+}
+
+polyline {
+ stroke: #ccc;
+}
+path {
+ stroke: #ccc;
+}
+
+rect.module-background, .background-fill {
+ fill: #111;
+}
+polyline.module-border-inner {
+ stroke: #191919;
+}
+polyline.module-border-middle {
+ stroke: #111;
+}
+polyline.module-border-outer {
+ stroke: #000;
+}
+
+rect.input-background, rect.input-background-filler {
+ fill: #aaa;
+}
+rect.output-background, rect.output-background-filler {
+ fill: #666;
+}
+text.input-label {
+ fill: #222;
+}
+polyline.input-label, path.input-label {
+ stroke: #222;
+}
+text.output-label {
+ fill: #ddd;
+}
+polyline.output-label, path.output-label {
+ stroke: #ddd;
+}
+
+circle.port-rim {
+ stroke: #c0c0c0;
+}
+circle.port-barrel {
+ stroke: #222;
+ fill: #222;
+}
+circle.knob-center {
+ fill: #888;
+}
+circle.knob-rim {
+ fill: #444;
+}
+circle.knob-tick {
+ fill: #fff;
+}
+polyline.knob-tick {
+ stroke: #fff;
+}
+</style>
+
+
+
+ <rect class="module-background background-fill" width="90.0" height="380.0"/>
+
+
+ <polyline class="module-border-inner" points="1,1 89.0,1 89.0,379.0 1,379.0 1,1" stroke-width="0.5" fill="none"/>
+ <polyline class="module-border-middle" points="0.5,0.5 89.5,0.5 89.5,379.5 0.5,379.5 0.5,0.5" stroke-width="0.8" fill="none"/>
+ <polyline class="module-border-outer" points="0,0 90.0,0 90.0,380.0 0,380.0 0,0" stroke-width="1" fill="none"/>
+
+ <text class="title" font-size="9pt" letter-spacing="0.7px" text-anchor="end" transform="translate(85.0 17)">MATRIX81</text>
+ <g transform="translate(5.5 374)">
+ <text class="brand" font-size="6.5pt" letter-spacing="2px">BOGAUDIO</text>
+ <rect class="background-fill" width="1.5" height="2" fill="#ddd" transform="translate(21 -4)"/>
+ </g>
+
+
+ <g transform="translate(2 25)">
+ <g class="io-group" transform="translate(5.5 0)">
+ <rect class="input-background-filler" width="34" height="10" transform="translate(0 283)"/>
+ <rect class="input-background" width="34" height="293" rx="5"/>
+ <g transform="translate(5 5)"><svg id="IN1_INPUT">
+ <g transform="translate(12 12)">
+ <circle cx="0" cy="0" r="5" stroke-width="1" stroke="#0f0" fill="#0f0"/>
+ <circle cx="0" cy="0" r="10.5" stroke-width="3" stroke="#0f0" fill="none"/>
+ </g>
+ </svg></g>
+ <g transform="translate(5 42)"><svg id="IN2_INPUT">
+ <g transform="translate(12 12)">
+ <circle cx="0" cy="0" r="5" stroke-width="1" stroke="#0f0" fill="#0f0"/>
+ <circle cx="0" cy="0" r="10.5" stroke-width="3" stroke="#0f0" fill="none"/>
+ </g>
+ </svg></g>
+ <g transform="translate(5 79)"><svg id="IN3_INPUT">
+ <g transform="translate(12 12)">
+ <circle cx="0" cy="0" r="5" stroke-width="1" stroke="#0f0" fill="#0f0"/>
+ <circle cx="0" cy="0" r="10.5" stroke-width="3" stroke="#0f0" fill="none"/>
+ </g>
+ </svg></g>
+ <g transform="translate(5 116)"><svg id="IN4_INPUT">
+ <g transform="translate(12 12)">
+ <circle cx="0" cy="0" r="5" stroke-width="1" stroke="#0f0" fill="#0f0"/>
+ <circle cx="0" cy="0" r="10.5" stroke-width="3" stroke="#0f0" fill="none"/>
+ </g>
+ </svg></g>
+ <g transform="translate(5 153)"><svg id="IN5_INPUT">
+ <g transform="translate(12 12)">
+ <circle cx="0" cy="0" r="5" stroke-width="1" stroke="#0f0" fill="#0f0"/>
+ <circle cx="0" cy="0" r="10.5" stroke-width="3" stroke="#0f0" fill="none"/>
+ </g>
+ </svg></g>
+ <g transform="translate(5 190)"><svg id="IN6_INPUT">
+ <g transform="translate(12 12)">
+ <circle cx="0" cy="0" r="5" stroke-width="1" stroke="#0f0" fill="#0f0"/>
+ <circle cx="0" cy="0" r="10.5" stroke-width="3" stroke="#0f0" fill="none"/>
+ </g>
+ </svg></g>
+ <g transform="translate(5 227)"><svg id="IN7_INPUT">
+ <g transform="translate(12 12)">
+ <circle cx="0" cy="0" r="5" stroke-width="1" stroke="#0f0" fill="#0f0"/>
+ <circle cx="0" cy="0" r="10.5" stroke-width="3" stroke="#0f0" fill="none"/>
+ </g>
+ </svg></g>
+ <g transform="translate(5 264)"><svg id="IN8_INPUT">
+ <g transform="translate(12 12)">
+ <circle cx="0" cy="0" r="5" stroke-width="1" stroke="#0f0" fill="#0f0"/>
+ <circle cx="0" cy="0" r="10.5" stroke-width="3" stroke="#0f0" fill="none"/>
+ </g>
+ </svg></g>
+ </g>
+ <g class="io-group" transform="translate(5.5 295)">
+ <rect class="output-background-filler" width="34" height="10" transform="translate(0 -3)"/>
+ <rect class="output-background" width="34" height="38" rx="5"/>
+ <g transform="translate(5 1)"><svg id="OUT_OUTPUT">
+ <g transform="translate(12 12)">
+ <circle cx="0" cy="0" r="5" stroke-width="1" stroke="#f00" fill="#f00"/>
+ <circle cx="0" cy="0" r="10.5" stroke-width="3" stroke="#f00" fill="none"/>
+ </g>
+ </svg></g>
+ <text class="output-label" font-size="5pt" letter-spacing="2px" transform="translate(8.5 33)">OUT</text>
+ </g>
+ </g>
+
+ <g transform="translate(52 0)">
+ <g transform="translate(0 24)">
+ <g transform="translate(3.5 8)"><svg id="MIX1_PARAM">
+ <g transform="translate(10 10)">
+ <polyline points="-3,0 3,0" stroke-width="1" stroke="#00f"/>
+ <polyline points="0,-3 0,3" stroke-width="1" stroke="#00f"/>
+ <circle cx="0" cy="0" r="9.3" stroke-width="1" stroke="#00f" fill="none"/>
+ </g>
+ </svg></g>
+ <g transform="translate(-6.5 -2)">
+ <g transform="translate(20 20)">
+ <polyline points="0,0 4,0" stroke-width="1" transform="rotate(-90) translate(11.5 0)"/>
+ <path d="M 0 -13.5 A 13.5 13.5 0 0 1 13.5 0" stroke-width="0.7" stroke-linecap="round" stroke="#ccc" fill="none" transform="rotate(20)"/>
+ <path d="M 0 -13.5 A 13.5 13.5 0 0 1 13.5 0" stroke-width="0.7" stroke-linecap="round" stroke="#ccc" fill="none" transform="rotate(43)"/>
+ <path d="M 0 -13.5 A 13.5 13.5 0 0 0 -13.5 0" stroke-width="0.7" stroke-linecap="round" stroke="#ccc" fill="none" transform="rotate(-20)"/>
+ <path d="M 0 -13.5 A 13.5 13.5 0 0 0 -13.5 0" stroke-width="0.7" stroke-linecap="round" stroke="#ccc" fill="none" transform="rotate(-43)"/>
+ </g>
+ </g>
+ </g>
+ <g transform="translate(0 61)">
+ <g transform="translate(3.5 8)"><svg id="MIX2_PARAM">
+ <g transform="translate(10 10)">
+ <polyline points="-3,0 3,0" stroke-width="1" stroke="#00f"/>
+ <polyline points="0,-3 0,3" stroke-width="1" stroke="#00f"/>
+ <circle cx="0" cy="0" r="9.3" stroke-width="1" stroke="#00f" fill="none"/>
+ </g>
+ </svg></g>
+ <g transform="translate(-6.5 -2)">
+ <g transform="translate(20 20)">
+ <polyline points="0,0 4,0" stroke-width="1" transform="rotate(-90) translate(11.5 0)"/>
+ <path d="M 0 -13.5 A 13.5 13.5 0 0 1 13.5 0" stroke-width="0.7" stroke-linecap="round" stroke="#ccc" fill="none" transform="rotate(20)"/>
+ <path d="M 0 -13.5 A 13.5 13.5 0 0 1 13.5 0" stroke-width="0.7" stroke-linecap="round" stroke="#ccc" fill="none" transform="rotate(43)"/>
+ <path d="M 0 -13.5 A 13.5 13.5 0 0 0 -13.5 0" stroke-width="0.7" stroke-linecap="round" stroke="#ccc" fill="none" transform="rotate(-20)"/>
+ <path d="M 0 -13.5 A 13.5 13.5 0 0 0 -13.5 0" stroke-width="0.7" stroke-linecap="round" stroke="#ccc" fill="none" transform="rotate(-43)"/>
+ </g>
+ </g>
+ </g>
+ <g transform="translate(0 98)">
+ <g transform="translate(3.5 8)"><svg id="MIX3_PARAM">
+ <g transform="translate(10 10)">
+ <polyline points="-3,0 3,0" stroke-width="1" stroke="#00f"/>
+ <polyline points="0,-3 0,3" stroke-width="1" stroke="#00f"/>
+ <circle cx="0" cy="0" r="9.3" stroke-width="1" stroke="#00f" fill="none"/>
+ </g>
+ </svg></g>
+ <g transform="translate(-6.5 -2)">
+ <g transform="translate(20 20)">
+ <polyline points="0,0 4,0" stroke-width="1" transform="rotate(-90) translate(11.5 0)"/>
+ <path d="M 0 -13.5 A 13.5 13.5 0 0 1 13.5 0" stroke-width="0.7" stroke-linecap="round" stroke="#ccc" fill="none" transform="rotate(20)"/>
+ <path d="M 0 -13.5 A 13.5 13.5 0 0 1 13.5 0" stroke-width="0.7" stroke-linecap="round" stroke="#ccc" fill="none" transform="rotate(43)"/>
+ <path d="M 0 -13.5 A 13.5 13.5 0 0 0 -13.5 0" stroke-width="0.7" stroke-linecap="round" stroke="#ccc" fill="none" transform="rotate(-20)"/>
+ <path d="M 0 -13.5 A 13.5 13.5 0 0 0 -13.5 0" stroke-width="0.7" stroke-linecap="round" stroke="#ccc" fill="none" transform="rotate(-43)"/>
+ </g>
+ </g>
+ </g>
+ <g transform="translate(0 135)">
+ <g transform="translate(3.5 8)"><svg id="MIX4_PARAM">
+ <g transform="translate(10 10)">
+ <polyline points="-3,0 3,0" stroke-width="1" stroke="#00f"/>
+ <polyline points="0,-3 0,3" stroke-width="1" stroke="#00f"/>
+ <circle cx="0" cy="0" r="9.3" stroke-width="1" stroke="#00f" fill="none"/>
+ </g>
+ </svg></g>
+ <g transform="translate(-6.5 -2)">
+ <g transform="translate(20 20)">
+ <polyline points="0,0 4,0" stroke-width="1" transform="rotate(-90) translate(11.5 0)"/>
+ <path d="M 0 -13.5 A 13.5 13.5 0 0 1 13.5 0" stroke-width="0.7" stroke-linecap="round" stroke="#ccc" fill="none" transform="rotate(20)"/>
+ <path d="M 0 -13.5 A 13.5 13.5 0 0 1 13.5 0" stroke-width="0.7" stroke-linecap="round" stroke="#ccc" fill="none" transform="rotate(43)"/>
+ <path d="M 0 -13.5 A 13.5 13.5 0 0 0 -13.5 0" stroke-width="0.7" stroke-linecap="round" stroke="#ccc" fill="none" transform="rotate(-20)"/>
+ <path d="M 0 -13.5 A 13.5 13.5 0 0 0 -13.5 0" stroke-width="0.7" stroke-linecap="round" stroke="#ccc" fill="none" transform="rotate(-43)"/>
+ </g>
+ </g>
+ </g>
+ <g transform="translate(0 172)">
+ <g transform="translate(3.5 8)"><svg id="MIX5_PARAM">
+ <g transform="translate(10 10)">
+ <polyline points="-3,0 3,0" stroke-width="1" stroke="#00f"/>
+ <polyline points="0,-3 0,3" stroke-width="1" stroke="#00f"/>
+ <circle cx="0" cy="0" r="9.3" stroke-width="1" stroke="#00f" fill="none"/>
+ </g>
+ </svg></g>
+ <g transform="translate(-6.5 -2)">
+ <g transform="translate(20 20)">
+ <polyline points="0,0 4,0" stroke-width="1" transform="rotate(-90) translate(11.5 0)"/>
+ <path d="M 0 -13.5 A 13.5 13.5 0 0 1 13.5 0" stroke-width="0.7" stroke-linecap="round" stroke="#ccc" fill="none" transform="rotate(20)"/>
+ <path d="M 0 -13.5 A 13.5 13.5 0 0 1 13.5 0" stroke-width="0.7" stroke-linecap="round" stroke="#ccc" fill="none" transform="rotate(43)"/>
+ <path d="M 0 -13.5 A 13.5 13.5 0 0 0 -13.5 0" stroke-width="0.7" stroke-linecap="round" stroke="#ccc" fill="none" transform="rotate(-20)"/>
+ <path d="M 0 -13.5 A 13.5 13.5 0 0 0 -13.5 0" stroke-width="0.7" stroke-linecap="round" stroke="#ccc" fill="none" transform="rotate(-43)"/>
+ </g>
+ </g>
+ </g>
+ <g transform="translate(0 209)">
+ <g transform="translate(3.5 8)"><svg id="MIX6_PARAM">
+ <g transform="translate(10 10)">
+ <polyline points="-3,0 3,0" stroke-width="1" stroke="#00f"/>
+ <polyline points="0,-3 0,3" stroke-width="1" stroke="#00f"/>
+ <circle cx="0" cy="0" r="9.3" stroke-width="1" stroke="#00f" fill="none"/>
+ </g>
+ </svg></g>
+ <g transform="translate(-6.5 -2)">
+ <g transform="translate(20 20)">
+ <polyline points="0,0 4,0" stroke-width="1" transform="rotate(-90) translate(11.5 0)"/>
+ <path d="M 0 -13.5 A 13.5 13.5 0 0 1 13.5 0" stroke-width="0.7" stroke-linecap="round" stroke="#ccc" fill="none" transform="rotate(20)"/>
+ <path d="M 0 -13.5 A 13.5 13.5 0 0 1 13.5 0" stroke-width="0.7" stroke-linecap="round" stroke="#ccc" fill="none" transform="rotate(43)"/>
+ <path d="M 0 -13.5 A 13.5 13.5 0 0 0 -13.5 0" stroke-width="0.7" stroke-linecap="round" stroke="#ccc" fill="none" transform="rotate(-20)"/>
+ <path d="M 0 -13.5 A 13.5 13.5 0 0 0 -13.5 0" stroke-width="0.7" stroke-linecap="round" stroke="#ccc" fill="none" transform="rotate(-43)"/>
+ </g>
+ </g>
+ </g>
+ <g transform="translate(0 246)">
+ <g transform="translate(3.5 8)"><svg id="MIX7_PARAM">
+ <g transform="translate(10 10)">
+ <polyline points="-3,0 3,0" stroke-width="1" stroke="#00f"/>
+ <polyline points="0,-3 0,3" stroke-width="1" stroke="#00f"/>
+ <circle cx="0" cy="0" r="9.3" stroke-width="1" stroke="#00f" fill="none"/>
+ </g>
+ </svg></g>
+ <g transform="translate(-6.5 -2)">
+ <g transform="translate(20 20)">
+ <polyline points="0,0 4,0" stroke-width="1" transform="rotate(-90) translate(11.5 0)"/>
+ <path d="M 0 -13.5 A 13.5 13.5 0 0 1 13.5 0" stroke-width="0.7" stroke-linecap="round" stroke="#ccc" fill="none" transform="rotate(20)"/>
+ <path d="M 0 -13.5 A 13.5 13.5 0 0 1 13.5 0" stroke-width="0.7" stroke-linecap="round" stroke="#ccc" fill="none" transform="rotate(43)"/>
+ <path d="M 0 -13.5 A 13.5 13.5 0 0 0 -13.5 0" stroke-width="0.7" stroke-linecap="round" stroke="#ccc" fill="none" transform="rotate(-20)"/>
+ <path d="M 0 -13.5 A 13.5 13.5 0 0 0 -13.5 0" stroke-width="0.7" stroke-linecap="round" stroke="#ccc" fill="none" transform="rotate(-43)"/>
+ </g>
+ </g>
+ </g>
+ <g transform="translate(0 283)">
+ <g transform="translate(3.5 8)"><svg id="MIX8_PARAM">
+ <g transform="translate(10 10)">
+ <polyline points="-3,0 3,0" stroke-width="1" stroke="#00f"/>
+ <polyline points="0,-3 0,3" stroke-width="1" stroke="#00f"/>
+ <circle cx="0" cy="0" r="9.3" stroke-width="1" stroke="#00f" fill="none"/>
+ </g>
+ </svg></g>
+ <g transform="translate(-6.5 -2)">
+ <g transform="translate(20 20)">
+ <polyline points="0,0 4,0" stroke-width="1" transform="rotate(-90) translate(11.5 0)"/>
+ <path d="M 0 -13.5 A 13.5 13.5 0 0 1 13.5 0" stroke-width="0.7" stroke-linecap="round" stroke="#ccc" fill="none" transform="rotate(20)"/>
+ <path d="M 0 -13.5 A 13.5 13.5 0 0 1 13.5 0" stroke-width="0.7" stroke-linecap="round" stroke="#ccc" fill="none" transform="rotate(43)"/>
+ <path d="M 0 -13.5 A 13.5 13.5 0 0 0 -13.5 0" stroke-width="0.7" stroke-linecap="round" stroke="#ccc" fill="none" transform="rotate(-20)"/>
+ <path d="M 0 -13.5 A 13.5 13.5 0 0 0 -13.5 0" stroke-width="0.7" stroke-linecap="round" stroke="#ccc" fill="none" transform="rotate(-43)"/>
+ </g>
+ </g>
+ </g>
+ </g>
+
+
+
+
+
+
+
+
+
+
+
+</svg>
diff --git a/res-pp/Matrix81-lowcontrast-pp.svg b/res-pp/Matrix81-lowcontrast-pp.svg
@@ -0,0 +1,377 @@
+<?xml version="1.0"?>
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="90.0" height="380.0" viewBox="0 0 90.0 380.0">
+ <style>text {
+ fill: #333;
+ font-family: 'Roboto', sans-serif;
+ font-weight: bold;
+}
+text.title {
+ font-family: 'Comfortaa', sans-serif;
+ font-weight: normal;
+}
+text.brand {
+ font-family: 'Audiowide', sans-serif;
+ font-weight: bold;
+}
+
+polyline {
+ stroke: #333;
+}
+path {
+ stroke: #333;
+}
+
+rect.module-background, .background-fill {
+ fill: #ddd;
+}
+polyline.module-border-inner {
+ stroke: #e4e4e4;
+}
+polyline.module-border-middle {
+ stroke: #ebebeb;
+}
+polyline.module-border-outer {
+ stroke: #f2f2f2;
+}
+
+g.io-group {
+}
+rect.input-background, rect.input-background-filler {
+ fill: #fafafa;
+}
+rect.output-background, rect.output-background-filler {
+ fill: #bbb;
+}
+text.input-label, text.output-label {
+ /* font-size: 6pt; */
+}
+polyline.input-label, polyline.output-label {
+}
+path.input-label, path.output-label {
+}
+
+circle.port-rim {
+ stroke: #f0f0f0;
+}
+circle.port-barrel {
+ stroke: #222;
+ fill: #222;
+}
+circle.knob-center {
+ fill: #eee;
+}
+circle.knob-rim {
+ fill: #333;
+}
+circle.knob-tick {
+ fill: #fff;
+}
+polyline.knob-tick {
+ stroke: #fff;
+}
+
+
+text {
+ fill: #b3b3b3;
+}
+
+polyline {
+ stroke: #b3b3b3;
+}
+path {
+ stroke: #b3b3b3;
+}
+
+rect.module-background, .background-fill {
+ fill: #333;
+}
+polyline.module-border-inner {
+ stroke: #191919;
+}
+polyline.module-border-middle {
+ stroke: #111;
+}
+polyline.module-border-outer {
+ stroke: #000;
+}
+
+rect.input-background, rect.input-background-filler {
+ fill: #b3b3b3;
+}
+rect.output-background, rect.output-background-filler {
+ fill: #888;
+}
+text.input-label {
+ fill: #666;
+}
+polyline.input-label, path.input-label {
+ stroke: #666;
+}
+text.output-label {
+ fill: #ccc;
+}
+polyline.output-label, path.output-label {
+ stroke: #ccc;
+}
+
+circle.port-rim {
+ stroke: #bbb;
+}
+circle.port-barrel {
+ stroke: #222;
+ fill: #222;
+}
+circle.knob-center {
+ fill: #bbb;
+}
+circle.knob-rim {
+ fill: #555;
+}
+circle.knob-tick {
+ fill: #fff;
+}
+polyline.knob-tick {
+ stroke: #fff;
+}
+</style>
+
+
+
+ <rect class="module-background background-fill" width="90.0" height="380.0"/>
+
+
+ <polyline class="module-border-inner" points="1,1 89.0,1 89.0,379.0 1,379.0 1,1" stroke-width="0.5" fill="none"/>
+ <polyline class="module-border-middle" points="0.5,0.5 89.5,0.5 89.5,379.5 0.5,379.5 0.5,0.5" stroke-width="0.8" fill="none"/>
+ <polyline class="module-border-outer" points="0,0 90.0,0 90.0,380.0 0,380.0 0,0" stroke-width="1" fill="none"/>
+
+ <text class="title" font-size="9pt" letter-spacing="0.7px" text-anchor="end" transform="translate(85.0 17)">MATRIX81</text>
+ <g transform="translate(5.5 374)">
+ <text class="brand" font-size="6.5pt" letter-spacing="2px">BOGAUDIO</text>
+ <rect class="background-fill" width="1.5" height="2" fill="#ddd" transform="translate(21 -4)"/>
+ </g>
+
+
+ <g transform="translate(2 25)">
+ <g class="io-group" transform="translate(5.5 0)">
+ <rect class="input-background-filler" width="34" height="10" transform="translate(0 283)"/>
+ <rect class="input-background" width="34" height="293" rx="5"/>
+ <g transform="translate(5 5)"><svg id="IN1_INPUT">
+ <g transform="translate(12 12)">
+ <circle cx="0" cy="0" r="5" stroke-width="1" stroke="#0f0" fill="#0f0"/>
+ <circle cx="0" cy="0" r="10.5" stroke-width="3" stroke="#0f0" fill="none"/>
+ </g>
+ </svg></g>
+ <g transform="translate(5 42)"><svg id="IN2_INPUT">
+ <g transform="translate(12 12)">
+ <circle cx="0" cy="0" r="5" stroke-width="1" stroke="#0f0" fill="#0f0"/>
+ <circle cx="0" cy="0" r="10.5" stroke-width="3" stroke="#0f0" fill="none"/>
+ </g>
+ </svg></g>
+ <g transform="translate(5 79)"><svg id="IN3_INPUT">
+ <g transform="translate(12 12)">
+ <circle cx="0" cy="0" r="5" stroke-width="1" stroke="#0f0" fill="#0f0"/>
+ <circle cx="0" cy="0" r="10.5" stroke-width="3" stroke="#0f0" fill="none"/>
+ </g>
+ </svg></g>
+ <g transform="translate(5 116)"><svg id="IN4_INPUT">
+ <g transform="translate(12 12)">
+ <circle cx="0" cy="0" r="5" stroke-width="1" stroke="#0f0" fill="#0f0"/>
+ <circle cx="0" cy="0" r="10.5" stroke-width="3" stroke="#0f0" fill="none"/>
+ </g>
+ </svg></g>
+ <g transform="translate(5 153)"><svg id="IN5_INPUT">
+ <g transform="translate(12 12)">
+ <circle cx="0" cy="0" r="5" stroke-width="1" stroke="#0f0" fill="#0f0"/>
+ <circle cx="0" cy="0" r="10.5" stroke-width="3" stroke="#0f0" fill="none"/>
+ </g>
+ </svg></g>
+ <g transform="translate(5 190)"><svg id="IN6_INPUT">
+ <g transform="translate(12 12)">
+ <circle cx="0" cy="0" r="5" stroke-width="1" stroke="#0f0" fill="#0f0"/>
+ <circle cx="0" cy="0" r="10.5" stroke-width="3" stroke="#0f0" fill="none"/>
+ </g>
+ </svg></g>
+ <g transform="translate(5 227)"><svg id="IN7_INPUT">
+ <g transform="translate(12 12)">
+ <circle cx="0" cy="0" r="5" stroke-width="1" stroke="#0f0" fill="#0f0"/>
+ <circle cx="0" cy="0" r="10.5" stroke-width="3" stroke="#0f0" fill="none"/>
+ </g>
+ </svg></g>
+ <g transform="translate(5 264)"><svg id="IN8_INPUT">
+ <g transform="translate(12 12)">
+ <circle cx="0" cy="0" r="5" stroke-width="1" stroke="#0f0" fill="#0f0"/>
+ <circle cx="0" cy="0" r="10.5" stroke-width="3" stroke="#0f0" fill="none"/>
+ </g>
+ </svg></g>
+ </g>
+ <g class="io-group" transform="translate(5.5 295)">
+ <rect class="output-background-filler" width="34" height="10" transform="translate(0 -3)"/>
+ <rect class="output-background" width="34" height="38" rx="5"/>
+ <g transform="translate(5 1)"><svg id="OUT_OUTPUT">
+ <g transform="translate(12 12)">
+ <circle cx="0" cy="0" r="5" stroke-width="1" stroke="#f00" fill="#f00"/>
+ <circle cx="0" cy="0" r="10.5" stroke-width="3" stroke="#f00" fill="none"/>
+ </g>
+ </svg></g>
+ <text class="output-label" font-size="5pt" letter-spacing="2px" transform="translate(8.5 33)">OUT</text>
+ </g>
+ </g>
+
+ <g transform="translate(52 0)">
+ <g transform="translate(0 24)">
+ <g transform="translate(3.5 8)"><svg id="MIX1_PARAM">
+ <g transform="translate(10 10)">
+ <polyline points="-3,0 3,0" stroke-width="1" stroke="#00f"/>
+ <polyline points="0,-3 0,3" stroke-width="1" stroke="#00f"/>
+ <circle cx="0" cy="0" r="9.3" stroke-width="1" stroke="#00f" fill="none"/>
+ </g>
+ </svg></g>
+ <g transform="translate(-6.5 -2)">
+ <g transform="translate(20 20)">
+ <polyline points="0,0 4,0" stroke-width="1" transform="rotate(-90) translate(11.5 0)"/>
+ <path d="M 0 -13.5 A 13.5 13.5 0 0 1 13.5 0" stroke-width="0.7" stroke-linecap="round" stroke="#b3b3b3" fill="none" transform="rotate(20)"/>
+ <path d="M 0 -13.5 A 13.5 13.5 0 0 1 13.5 0" stroke-width="0.7" stroke-linecap="round" stroke="#b3b3b3" fill="none" transform="rotate(43)"/>
+ <path d="M 0 -13.5 A 13.5 13.5 0 0 0 -13.5 0" stroke-width="0.7" stroke-linecap="round" stroke="#b3b3b3" fill="none" transform="rotate(-20)"/>
+ <path d="M 0 -13.5 A 13.5 13.5 0 0 0 -13.5 0" stroke-width="0.7" stroke-linecap="round" stroke="#b3b3b3" fill="none" transform="rotate(-43)"/>
+ </g>
+ </g>
+ </g>
+ <g transform="translate(0 61)">
+ <g transform="translate(3.5 8)"><svg id="MIX2_PARAM">
+ <g transform="translate(10 10)">
+ <polyline points="-3,0 3,0" stroke-width="1" stroke="#00f"/>
+ <polyline points="0,-3 0,3" stroke-width="1" stroke="#00f"/>
+ <circle cx="0" cy="0" r="9.3" stroke-width="1" stroke="#00f" fill="none"/>
+ </g>
+ </svg></g>
+ <g transform="translate(-6.5 -2)">
+ <g transform="translate(20 20)">
+ <polyline points="0,0 4,0" stroke-width="1" transform="rotate(-90) translate(11.5 0)"/>
+ <path d="M 0 -13.5 A 13.5 13.5 0 0 1 13.5 0" stroke-width="0.7" stroke-linecap="round" stroke="#b3b3b3" fill="none" transform="rotate(20)"/>
+ <path d="M 0 -13.5 A 13.5 13.5 0 0 1 13.5 0" stroke-width="0.7" stroke-linecap="round" stroke="#b3b3b3" fill="none" transform="rotate(43)"/>
+ <path d="M 0 -13.5 A 13.5 13.5 0 0 0 -13.5 0" stroke-width="0.7" stroke-linecap="round" stroke="#b3b3b3" fill="none" transform="rotate(-20)"/>
+ <path d="M 0 -13.5 A 13.5 13.5 0 0 0 -13.5 0" stroke-width="0.7" stroke-linecap="round" stroke="#b3b3b3" fill="none" transform="rotate(-43)"/>
+ </g>
+ </g>
+ </g>
+ <g transform="translate(0 98)">
+ <g transform="translate(3.5 8)"><svg id="MIX3_PARAM">
+ <g transform="translate(10 10)">
+ <polyline points="-3,0 3,0" stroke-width="1" stroke="#00f"/>
+ <polyline points="0,-3 0,3" stroke-width="1" stroke="#00f"/>
+ <circle cx="0" cy="0" r="9.3" stroke-width="1" stroke="#00f" fill="none"/>
+ </g>
+ </svg></g>
+ <g transform="translate(-6.5 -2)">
+ <g transform="translate(20 20)">
+ <polyline points="0,0 4,0" stroke-width="1" transform="rotate(-90) translate(11.5 0)"/>
+ <path d="M 0 -13.5 A 13.5 13.5 0 0 1 13.5 0" stroke-width="0.7" stroke-linecap="round" stroke="#b3b3b3" fill="none" transform="rotate(20)"/>
+ <path d="M 0 -13.5 A 13.5 13.5 0 0 1 13.5 0" stroke-width="0.7" stroke-linecap="round" stroke="#b3b3b3" fill="none" transform="rotate(43)"/>
+ <path d="M 0 -13.5 A 13.5 13.5 0 0 0 -13.5 0" stroke-width="0.7" stroke-linecap="round" stroke="#b3b3b3" fill="none" transform="rotate(-20)"/>
+ <path d="M 0 -13.5 A 13.5 13.5 0 0 0 -13.5 0" stroke-width="0.7" stroke-linecap="round" stroke="#b3b3b3" fill="none" transform="rotate(-43)"/>
+ </g>
+ </g>
+ </g>
+ <g transform="translate(0 135)">
+ <g transform="translate(3.5 8)"><svg id="MIX4_PARAM">
+ <g transform="translate(10 10)">
+ <polyline points="-3,0 3,0" stroke-width="1" stroke="#00f"/>
+ <polyline points="0,-3 0,3" stroke-width="1" stroke="#00f"/>
+ <circle cx="0" cy="0" r="9.3" stroke-width="1" stroke="#00f" fill="none"/>
+ </g>
+ </svg></g>
+ <g transform="translate(-6.5 -2)">
+ <g transform="translate(20 20)">
+ <polyline points="0,0 4,0" stroke-width="1" transform="rotate(-90) translate(11.5 0)"/>
+ <path d="M 0 -13.5 A 13.5 13.5 0 0 1 13.5 0" stroke-width="0.7" stroke-linecap="round" stroke="#b3b3b3" fill="none" transform="rotate(20)"/>
+ <path d="M 0 -13.5 A 13.5 13.5 0 0 1 13.5 0" stroke-width="0.7" stroke-linecap="round" stroke="#b3b3b3" fill="none" transform="rotate(43)"/>
+ <path d="M 0 -13.5 A 13.5 13.5 0 0 0 -13.5 0" stroke-width="0.7" stroke-linecap="round" stroke="#b3b3b3" fill="none" transform="rotate(-20)"/>
+ <path d="M 0 -13.5 A 13.5 13.5 0 0 0 -13.5 0" stroke-width="0.7" stroke-linecap="round" stroke="#b3b3b3" fill="none" transform="rotate(-43)"/>
+ </g>
+ </g>
+ </g>
+ <g transform="translate(0 172)">
+ <g transform="translate(3.5 8)"><svg id="MIX5_PARAM">
+ <g transform="translate(10 10)">
+ <polyline points="-3,0 3,0" stroke-width="1" stroke="#00f"/>
+ <polyline points="0,-3 0,3" stroke-width="1" stroke="#00f"/>
+ <circle cx="0" cy="0" r="9.3" stroke-width="1" stroke="#00f" fill="none"/>
+ </g>
+ </svg></g>
+ <g transform="translate(-6.5 -2)">
+ <g transform="translate(20 20)">
+ <polyline points="0,0 4,0" stroke-width="1" transform="rotate(-90) translate(11.5 0)"/>
+ <path d="M 0 -13.5 A 13.5 13.5 0 0 1 13.5 0" stroke-width="0.7" stroke-linecap="round" stroke="#b3b3b3" fill="none" transform="rotate(20)"/>
+ <path d="M 0 -13.5 A 13.5 13.5 0 0 1 13.5 0" stroke-width="0.7" stroke-linecap="round" stroke="#b3b3b3" fill="none" transform="rotate(43)"/>
+ <path d="M 0 -13.5 A 13.5 13.5 0 0 0 -13.5 0" stroke-width="0.7" stroke-linecap="round" stroke="#b3b3b3" fill="none" transform="rotate(-20)"/>
+ <path d="M 0 -13.5 A 13.5 13.5 0 0 0 -13.5 0" stroke-width="0.7" stroke-linecap="round" stroke="#b3b3b3" fill="none" transform="rotate(-43)"/>
+ </g>
+ </g>
+ </g>
+ <g transform="translate(0 209)">
+ <g transform="translate(3.5 8)"><svg id="MIX6_PARAM">
+ <g transform="translate(10 10)">
+ <polyline points="-3,0 3,0" stroke-width="1" stroke="#00f"/>
+ <polyline points="0,-3 0,3" stroke-width="1" stroke="#00f"/>
+ <circle cx="0" cy="0" r="9.3" stroke-width="1" stroke="#00f" fill="none"/>
+ </g>
+ </svg></g>
+ <g transform="translate(-6.5 -2)">
+ <g transform="translate(20 20)">
+ <polyline points="0,0 4,0" stroke-width="1" transform="rotate(-90) translate(11.5 0)"/>
+ <path d="M 0 -13.5 A 13.5 13.5 0 0 1 13.5 0" stroke-width="0.7" stroke-linecap="round" stroke="#b3b3b3" fill="none" transform="rotate(20)"/>
+ <path d="M 0 -13.5 A 13.5 13.5 0 0 1 13.5 0" stroke-width="0.7" stroke-linecap="round" stroke="#b3b3b3" fill="none" transform="rotate(43)"/>
+ <path d="M 0 -13.5 A 13.5 13.5 0 0 0 -13.5 0" stroke-width="0.7" stroke-linecap="round" stroke="#b3b3b3" fill="none" transform="rotate(-20)"/>
+ <path d="M 0 -13.5 A 13.5 13.5 0 0 0 -13.5 0" stroke-width="0.7" stroke-linecap="round" stroke="#b3b3b3" fill="none" transform="rotate(-43)"/>
+ </g>
+ </g>
+ </g>
+ <g transform="translate(0 246)">
+ <g transform="translate(3.5 8)"><svg id="MIX7_PARAM">
+ <g transform="translate(10 10)">
+ <polyline points="-3,0 3,0" stroke-width="1" stroke="#00f"/>
+ <polyline points="0,-3 0,3" stroke-width="1" stroke="#00f"/>
+ <circle cx="0" cy="0" r="9.3" stroke-width="1" stroke="#00f" fill="none"/>
+ </g>
+ </svg></g>
+ <g transform="translate(-6.5 -2)">
+ <g transform="translate(20 20)">
+ <polyline points="0,0 4,0" stroke-width="1" transform="rotate(-90) translate(11.5 0)"/>
+ <path d="M 0 -13.5 A 13.5 13.5 0 0 1 13.5 0" stroke-width="0.7" stroke-linecap="round" stroke="#b3b3b3" fill="none" transform="rotate(20)"/>
+ <path d="M 0 -13.5 A 13.5 13.5 0 0 1 13.5 0" stroke-width="0.7" stroke-linecap="round" stroke="#b3b3b3" fill="none" transform="rotate(43)"/>
+ <path d="M 0 -13.5 A 13.5 13.5 0 0 0 -13.5 0" stroke-width="0.7" stroke-linecap="round" stroke="#b3b3b3" fill="none" transform="rotate(-20)"/>
+ <path d="M 0 -13.5 A 13.5 13.5 0 0 0 -13.5 0" stroke-width="0.7" stroke-linecap="round" stroke="#b3b3b3" fill="none" transform="rotate(-43)"/>
+ </g>
+ </g>
+ </g>
+ <g transform="translate(0 283)">
+ <g transform="translate(3.5 8)"><svg id="MIX8_PARAM">
+ <g transform="translate(10 10)">
+ <polyline points="-3,0 3,0" stroke-width="1" stroke="#00f"/>
+ <polyline points="0,-3 0,3" stroke-width="1" stroke="#00f"/>
+ <circle cx="0" cy="0" r="9.3" stroke-width="1" stroke="#00f" fill="none"/>
+ </g>
+ </svg></g>
+ <g transform="translate(-6.5 -2)">
+ <g transform="translate(20 20)">
+ <polyline points="0,0 4,0" stroke-width="1" transform="rotate(-90) translate(11.5 0)"/>
+ <path d="M 0 -13.5 A 13.5 13.5 0 0 1 13.5 0" stroke-width="0.7" stroke-linecap="round" stroke="#b3b3b3" fill="none" transform="rotate(20)"/>
+ <path d="M 0 -13.5 A 13.5 13.5 0 0 1 13.5 0" stroke-width="0.7" stroke-linecap="round" stroke="#b3b3b3" fill="none" transform="rotate(43)"/>
+ <path d="M 0 -13.5 A 13.5 13.5 0 0 0 -13.5 0" stroke-width="0.7" stroke-linecap="round" stroke="#b3b3b3" fill="none" transform="rotate(-20)"/>
+ <path d="M 0 -13.5 A 13.5 13.5 0 0 0 -13.5 0" stroke-width="0.7" stroke-linecap="round" stroke="#b3b3b3" fill="none" transform="rotate(-43)"/>
+ </g>
+ </g>
+ </g>
+ </g>
+
+
+
+
+
+
+
+
+
+
+
+</svg>
diff --git a/res-pp/Matrix81-pp.svg b/res-pp/Matrix81-pp.svg
@@ -0,0 +1,313 @@
+<?xml version="1.0"?>
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="90.0" height="380.0" viewBox="0 0 90.0 380.0">
+ <style>text {
+ fill: #333;
+ font-family: 'Roboto', sans-serif;
+ font-weight: bold;
+}
+text.title {
+ font-family: 'Comfortaa', sans-serif;
+ font-weight: normal;
+}
+text.brand {
+ font-family: 'Audiowide', sans-serif;
+ font-weight: bold;
+}
+
+polyline {
+ stroke: #333;
+}
+path {
+ stroke: #333;
+}
+
+rect.module-background, .background-fill {
+ fill: #ddd;
+}
+polyline.module-border-inner {
+ stroke: #e4e4e4;
+}
+polyline.module-border-middle {
+ stroke: #ebebeb;
+}
+polyline.module-border-outer {
+ stroke: #f2f2f2;
+}
+
+g.io-group {
+}
+rect.input-background, rect.input-background-filler {
+ fill: #fafafa;
+}
+rect.output-background, rect.output-background-filler {
+ fill: #bbb;
+}
+text.input-label, text.output-label {
+ /* font-size: 6pt; */
+}
+polyline.input-label, polyline.output-label {
+}
+path.input-label, path.output-label {
+}
+
+circle.port-rim {
+ stroke: #f0f0f0;
+}
+circle.port-barrel {
+ stroke: #222;
+ fill: #222;
+}
+circle.knob-center {
+ fill: #eee;
+}
+circle.knob-rim {
+ fill: #333;
+}
+circle.knob-tick {
+ fill: #fff;
+}
+polyline.knob-tick {
+ stroke: #fff;
+}
+</style>
+
+
+
+ <rect class="module-background background-fill" width="90.0" height="380.0"/>
+
+
+ <polyline class="module-border-inner" points="1,1 89.0,1 89.0,379.0 1,379.0 1,1" stroke-width="0.5" fill="none"/>
+ <polyline class="module-border-middle" points="0.5,0.5 89.5,0.5 89.5,379.5 0.5,379.5 0.5,0.5" stroke-width="0.8" fill="none"/>
+ <polyline class="module-border-outer" points="0,0 90.0,0 90.0,380.0 0,380.0 0,0" stroke-width="1" fill="none"/>
+
+ <text class="title" font-size="9pt" letter-spacing="0.7px" text-anchor="end" transform="translate(85.0 17)">MATRIX81</text>
+ <g transform="translate(5.5 374)">
+ <text class="brand" font-size="6.5pt" letter-spacing="2px">BOGAUDIO</text>
+ <rect class="background-fill" width="1.5" height="2" fill="#ddd" transform="translate(21 -4)"/>
+ </g>
+
+
+ <g transform="translate(2 25)">
+ <g class="io-group" transform="translate(5.5 0)">
+ <rect class="input-background-filler" width="34" height="10" transform="translate(0 283)"/>
+ <rect class="input-background" width="34" height="293" rx="5"/>
+ <g transform="translate(5 5)"><svg id="IN1_INPUT">
+ <g transform="translate(12 12)">
+ <circle cx="0" cy="0" r="5" stroke-width="1" stroke="#0f0" fill="#0f0"/>
+ <circle cx="0" cy="0" r="10.5" stroke-width="3" stroke="#0f0" fill="none"/>
+ </g>
+ </svg></g>
+ <g transform="translate(5 42)"><svg id="IN2_INPUT">
+ <g transform="translate(12 12)">
+ <circle cx="0" cy="0" r="5" stroke-width="1" stroke="#0f0" fill="#0f0"/>
+ <circle cx="0" cy="0" r="10.5" stroke-width="3" stroke="#0f0" fill="none"/>
+ </g>
+ </svg></g>
+ <g transform="translate(5 79)"><svg id="IN3_INPUT">
+ <g transform="translate(12 12)">
+ <circle cx="0" cy="0" r="5" stroke-width="1" stroke="#0f0" fill="#0f0"/>
+ <circle cx="0" cy="0" r="10.5" stroke-width="3" stroke="#0f0" fill="none"/>
+ </g>
+ </svg></g>
+ <g transform="translate(5 116)"><svg id="IN4_INPUT">
+ <g transform="translate(12 12)">
+ <circle cx="0" cy="0" r="5" stroke-width="1" stroke="#0f0" fill="#0f0"/>
+ <circle cx="0" cy="0" r="10.5" stroke-width="3" stroke="#0f0" fill="none"/>
+ </g>
+ </svg></g>
+ <g transform="translate(5 153)"><svg id="IN5_INPUT">
+ <g transform="translate(12 12)">
+ <circle cx="0" cy="0" r="5" stroke-width="1" stroke="#0f0" fill="#0f0"/>
+ <circle cx="0" cy="0" r="10.5" stroke-width="3" stroke="#0f0" fill="none"/>
+ </g>
+ </svg></g>
+ <g transform="translate(5 190)"><svg id="IN6_INPUT">
+ <g transform="translate(12 12)">
+ <circle cx="0" cy="0" r="5" stroke-width="1" stroke="#0f0" fill="#0f0"/>
+ <circle cx="0" cy="0" r="10.5" stroke-width="3" stroke="#0f0" fill="none"/>
+ </g>
+ </svg></g>
+ <g transform="translate(5 227)"><svg id="IN7_INPUT">
+ <g transform="translate(12 12)">
+ <circle cx="0" cy="0" r="5" stroke-width="1" stroke="#0f0" fill="#0f0"/>
+ <circle cx="0" cy="0" r="10.5" stroke-width="3" stroke="#0f0" fill="none"/>
+ </g>
+ </svg></g>
+ <g transform="translate(5 264)"><svg id="IN8_INPUT">
+ <g transform="translate(12 12)">
+ <circle cx="0" cy="0" r="5" stroke-width="1" stroke="#0f0" fill="#0f0"/>
+ <circle cx="0" cy="0" r="10.5" stroke-width="3" stroke="#0f0" fill="none"/>
+ </g>
+ </svg></g>
+ </g>
+ <g class="io-group" transform="translate(5.5 295)">
+ <rect class="output-background-filler" width="34" height="10" transform="translate(0 -3)"/>
+ <rect class="output-background" width="34" height="38" rx="5"/>
+ <g transform="translate(5 1)"><svg id="OUT_OUTPUT">
+ <g transform="translate(12 12)">
+ <circle cx="0" cy="0" r="5" stroke-width="1" stroke="#f00" fill="#f00"/>
+ <circle cx="0" cy="0" r="10.5" stroke-width="3" stroke="#f00" fill="none"/>
+ </g>
+ </svg></g>
+ <text class="output-label" font-size="5pt" letter-spacing="2px" transform="translate(8.5 33)">OUT</text>
+ </g>
+ </g>
+
+ <g transform="translate(52 0)">
+ <g transform="translate(0 24)">
+ <g transform="translate(3.5 8)"><svg id="MIX1_PARAM">
+ <g transform="translate(10 10)">
+ <polyline points="-3,0 3,0" stroke-width="1" stroke="#00f"/>
+ <polyline points="0,-3 0,3" stroke-width="1" stroke="#00f"/>
+ <circle cx="0" cy="0" r="9.3" stroke-width="1" stroke="#00f" fill="none"/>
+ </g>
+ </svg></g>
+ <g transform="translate(-6.5 -2)">
+ <g transform="translate(20 20)">
+ <polyline points="0,0 4,0" stroke-width="1" transform="rotate(-90) translate(11.5 0)"/>
+ <path d="M 0 -13.5 A 13.5 13.5 0 0 1 13.5 0" stroke-width="0.7" stroke-linecap="round" stroke="#333" fill="none" transform="rotate(20)"/>
+ <path d="M 0 -13.5 A 13.5 13.5 0 0 1 13.5 0" stroke-width="0.7" stroke-linecap="round" stroke="#333" fill="none" transform="rotate(43)"/>
+ <path d="M 0 -13.5 A 13.5 13.5 0 0 0 -13.5 0" stroke-width="0.7" stroke-linecap="round" stroke="#333" fill="none" transform="rotate(-20)"/>
+ <path d="M 0 -13.5 A 13.5 13.5 0 0 0 -13.5 0" stroke-width="0.7" stroke-linecap="round" stroke="#333" fill="none" transform="rotate(-43)"/>
+ </g>
+ </g>
+ </g>
+ <g transform="translate(0 61)">
+ <g transform="translate(3.5 8)"><svg id="MIX2_PARAM">
+ <g transform="translate(10 10)">
+ <polyline points="-3,0 3,0" stroke-width="1" stroke="#00f"/>
+ <polyline points="0,-3 0,3" stroke-width="1" stroke="#00f"/>
+ <circle cx="0" cy="0" r="9.3" stroke-width="1" stroke="#00f" fill="none"/>
+ </g>
+ </svg></g>
+ <g transform="translate(-6.5 -2)">
+ <g transform="translate(20 20)">
+ <polyline points="0,0 4,0" stroke-width="1" transform="rotate(-90) translate(11.5 0)"/>
+ <path d="M 0 -13.5 A 13.5 13.5 0 0 1 13.5 0" stroke-width="0.7" stroke-linecap="round" stroke="#333" fill="none" transform="rotate(20)"/>
+ <path d="M 0 -13.5 A 13.5 13.5 0 0 1 13.5 0" stroke-width="0.7" stroke-linecap="round" stroke="#333" fill="none" transform="rotate(43)"/>
+ <path d="M 0 -13.5 A 13.5 13.5 0 0 0 -13.5 0" stroke-width="0.7" stroke-linecap="round" stroke="#333" fill="none" transform="rotate(-20)"/>
+ <path d="M 0 -13.5 A 13.5 13.5 0 0 0 -13.5 0" stroke-width="0.7" stroke-linecap="round" stroke="#333" fill="none" transform="rotate(-43)"/>
+ </g>
+ </g>
+ </g>
+ <g transform="translate(0 98)">
+ <g transform="translate(3.5 8)"><svg id="MIX3_PARAM">
+ <g transform="translate(10 10)">
+ <polyline points="-3,0 3,0" stroke-width="1" stroke="#00f"/>
+ <polyline points="0,-3 0,3" stroke-width="1" stroke="#00f"/>
+ <circle cx="0" cy="0" r="9.3" stroke-width="1" stroke="#00f" fill="none"/>
+ </g>
+ </svg></g>
+ <g transform="translate(-6.5 -2)">
+ <g transform="translate(20 20)">
+ <polyline points="0,0 4,0" stroke-width="1" transform="rotate(-90) translate(11.5 0)"/>
+ <path d="M 0 -13.5 A 13.5 13.5 0 0 1 13.5 0" stroke-width="0.7" stroke-linecap="round" stroke="#333" fill="none" transform="rotate(20)"/>
+ <path d="M 0 -13.5 A 13.5 13.5 0 0 1 13.5 0" stroke-width="0.7" stroke-linecap="round" stroke="#333" fill="none" transform="rotate(43)"/>
+ <path d="M 0 -13.5 A 13.5 13.5 0 0 0 -13.5 0" stroke-width="0.7" stroke-linecap="round" stroke="#333" fill="none" transform="rotate(-20)"/>
+ <path d="M 0 -13.5 A 13.5 13.5 0 0 0 -13.5 0" stroke-width="0.7" stroke-linecap="round" stroke="#333" fill="none" transform="rotate(-43)"/>
+ </g>
+ </g>
+ </g>
+ <g transform="translate(0 135)">
+ <g transform="translate(3.5 8)"><svg id="MIX4_PARAM">
+ <g transform="translate(10 10)">
+ <polyline points="-3,0 3,0" stroke-width="1" stroke="#00f"/>
+ <polyline points="0,-3 0,3" stroke-width="1" stroke="#00f"/>
+ <circle cx="0" cy="0" r="9.3" stroke-width="1" stroke="#00f" fill="none"/>
+ </g>
+ </svg></g>
+ <g transform="translate(-6.5 -2)">
+ <g transform="translate(20 20)">
+ <polyline points="0,0 4,0" stroke-width="1" transform="rotate(-90) translate(11.5 0)"/>
+ <path d="M 0 -13.5 A 13.5 13.5 0 0 1 13.5 0" stroke-width="0.7" stroke-linecap="round" stroke="#333" fill="none" transform="rotate(20)"/>
+ <path d="M 0 -13.5 A 13.5 13.5 0 0 1 13.5 0" stroke-width="0.7" stroke-linecap="round" stroke="#333" fill="none" transform="rotate(43)"/>
+ <path d="M 0 -13.5 A 13.5 13.5 0 0 0 -13.5 0" stroke-width="0.7" stroke-linecap="round" stroke="#333" fill="none" transform="rotate(-20)"/>
+ <path d="M 0 -13.5 A 13.5 13.5 0 0 0 -13.5 0" stroke-width="0.7" stroke-linecap="round" stroke="#333" fill="none" transform="rotate(-43)"/>
+ </g>
+ </g>
+ </g>
+ <g transform="translate(0 172)">
+ <g transform="translate(3.5 8)"><svg id="MIX5_PARAM">
+ <g transform="translate(10 10)">
+ <polyline points="-3,0 3,0" stroke-width="1" stroke="#00f"/>
+ <polyline points="0,-3 0,3" stroke-width="1" stroke="#00f"/>
+ <circle cx="0" cy="0" r="9.3" stroke-width="1" stroke="#00f" fill="none"/>
+ </g>
+ </svg></g>
+ <g transform="translate(-6.5 -2)">
+ <g transform="translate(20 20)">
+ <polyline points="0,0 4,0" stroke-width="1" transform="rotate(-90) translate(11.5 0)"/>
+ <path d="M 0 -13.5 A 13.5 13.5 0 0 1 13.5 0" stroke-width="0.7" stroke-linecap="round" stroke="#333" fill="none" transform="rotate(20)"/>
+ <path d="M 0 -13.5 A 13.5 13.5 0 0 1 13.5 0" stroke-width="0.7" stroke-linecap="round" stroke="#333" fill="none" transform="rotate(43)"/>
+ <path d="M 0 -13.5 A 13.5 13.5 0 0 0 -13.5 0" stroke-width="0.7" stroke-linecap="round" stroke="#333" fill="none" transform="rotate(-20)"/>
+ <path d="M 0 -13.5 A 13.5 13.5 0 0 0 -13.5 0" stroke-width="0.7" stroke-linecap="round" stroke="#333" fill="none" transform="rotate(-43)"/>
+ </g>
+ </g>
+ </g>
+ <g transform="translate(0 209)">
+ <g transform="translate(3.5 8)"><svg id="MIX6_PARAM">
+ <g transform="translate(10 10)">
+ <polyline points="-3,0 3,0" stroke-width="1" stroke="#00f"/>
+ <polyline points="0,-3 0,3" stroke-width="1" stroke="#00f"/>
+ <circle cx="0" cy="0" r="9.3" stroke-width="1" stroke="#00f" fill="none"/>
+ </g>
+ </svg></g>
+ <g transform="translate(-6.5 -2)">
+ <g transform="translate(20 20)">
+ <polyline points="0,0 4,0" stroke-width="1" transform="rotate(-90) translate(11.5 0)"/>
+ <path d="M 0 -13.5 A 13.5 13.5 0 0 1 13.5 0" stroke-width="0.7" stroke-linecap="round" stroke="#333" fill="none" transform="rotate(20)"/>
+ <path d="M 0 -13.5 A 13.5 13.5 0 0 1 13.5 0" stroke-width="0.7" stroke-linecap="round" stroke="#333" fill="none" transform="rotate(43)"/>
+ <path d="M 0 -13.5 A 13.5 13.5 0 0 0 -13.5 0" stroke-width="0.7" stroke-linecap="round" stroke="#333" fill="none" transform="rotate(-20)"/>
+ <path d="M 0 -13.5 A 13.5 13.5 0 0 0 -13.5 0" stroke-width="0.7" stroke-linecap="round" stroke="#333" fill="none" transform="rotate(-43)"/>
+ </g>
+ </g>
+ </g>
+ <g transform="translate(0 246)">
+ <g transform="translate(3.5 8)"><svg id="MIX7_PARAM">
+ <g transform="translate(10 10)">
+ <polyline points="-3,0 3,0" stroke-width="1" stroke="#00f"/>
+ <polyline points="0,-3 0,3" stroke-width="1" stroke="#00f"/>
+ <circle cx="0" cy="0" r="9.3" stroke-width="1" stroke="#00f" fill="none"/>
+ </g>
+ </svg></g>
+ <g transform="translate(-6.5 -2)">
+ <g transform="translate(20 20)">
+ <polyline points="0,0 4,0" stroke-width="1" transform="rotate(-90) translate(11.5 0)"/>
+ <path d="M 0 -13.5 A 13.5 13.5 0 0 1 13.5 0" stroke-width="0.7" stroke-linecap="round" stroke="#333" fill="none" transform="rotate(20)"/>
+ <path d="M 0 -13.5 A 13.5 13.5 0 0 1 13.5 0" stroke-width="0.7" stroke-linecap="round" stroke="#333" fill="none" transform="rotate(43)"/>
+ <path d="M 0 -13.5 A 13.5 13.5 0 0 0 -13.5 0" stroke-width="0.7" stroke-linecap="round" stroke="#333" fill="none" transform="rotate(-20)"/>
+ <path d="M 0 -13.5 A 13.5 13.5 0 0 0 -13.5 0" stroke-width="0.7" stroke-linecap="round" stroke="#333" fill="none" transform="rotate(-43)"/>
+ </g>
+ </g>
+ </g>
+ <g transform="translate(0 283)">
+ <g transform="translate(3.5 8)"><svg id="MIX8_PARAM">
+ <g transform="translate(10 10)">
+ <polyline points="-3,0 3,0" stroke-width="1" stroke="#00f"/>
+ <polyline points="0,-3 0,3" stroke-width="1" stroke="#00f"/>
+ <circle cx="0" cy="0" r="9.3" stroke-width="1" stroke="#00f" fill="none"/>
+ </g>
+ </svg></g>
+ <g transform="translate(-6.5 -2)">
+ <g transform="translate(20 20)">
+ <polyline points="0,0 4,0" stroke-width="1" transform="rotate(-90) translate(11.5 0)"/>
+ <path d="M 0 -13.5 A 13.5 13.5 0 0 1 13.5 0" stroke-width="0.7" stroke-linecap="round" stroke="#333" fill="none" transform="rotate(20)"/>
+ <path d="M 0 -13.5 A 13.5 13.5 0 0 1 13.5 0" stroke-width="0.7" stroke-linecap="round" stroke="#333" fill="none" transform="rotate(43)"/>
+ <path d="M 0 -13.5 A 13.5 13.5 0 0 0 -13.5 0" stroke-width="0.7" stroke-linecap="round" stroke="#333" fill="none" transform="rotate(-20)"/>
+ <path d="M 0 -13.5 A 13.5 13.5 0 0 0 -13.5 0" stroke-width="0.7" stroke-linecap="round" stroke="#333" fill="none" transform="rotate(-43)"/>
+ </g>
+ </g>
+ </g>
+ </g>
+
+
+
+
+
+
+
+
+
+
+
+</svg>
diff --git a/res-src/Matrix81-src.svg b/res-src/Matrix81-src.svg
@@ -0,0 +1,73 @@
+<?xml version="1.0"?>
+<module hp="6">
+ <style/>
+
+ <def xlink:href="#module6" var-name="MATRIX81" var-letterspacing="0.7"/>
+
+ <g transform="translate(2 25)">
+ <g class="io-group" transform="translate(5.5 0)">
+ <rect class="input-background-filler" width="34" height="10" transform="translate(0 283)"/>
+ <rect class="input-background" width="34" height="293" rx="5"/>
+ <def id="IN1_INPUT" xlink:href="#input" transform="translate(5 5)"/>
+ <def id="IN2_INPUT" xlink:href="#input" transform="translate(5 42)"/>
+ <def id="IN3_INPUT" xlink:href="#input" transform="translate(5 79)"/>
+ <def id="IN4_INPUT" xlink:href="#input" transform="translate(5 116)"/>
+ <def id="IN5_INPUT" xlink:href="#input" transform="translate(5 153)"/>
+ <def id="IN6_INPUT" xlink:href="#input" transform="translate(5 190)"/>
+ <def id="IN7_INPUT" xlink:href="#input" transform="translate(5 227)"/>
+ <def id="IN8_INPUT" xlink:href="#input" transform="translate(5 264)"/>
+ </g>
+ <g class="io-group" transform="translate(5.5 295)">
+ <rect class="output-background-filler" width="34" height="10" transform="translate(0 -3)"/>
+ <rect class="output-background" width="34" height="38" rx="5"/>
+ <def id="OUT_OUTPUT" xlink:href="#output" transform="translate(5 1)"/>
+ <text class="output-label" font-size="5pt" letter-spacing="2px" transform="translate(8.5 33)">OUT</text>
+ </g>
+ </g>
+
+ <g transform="translate(52 0)">
+ <g transform="translate(0 24)">
+ <def id="MIX1_PARAM" xlink:href="#knob19" transform="translate(3.5 8)"/>
+ <def xlink:href="#dial-centertick-19" transform="translate(-6.5 -2)"/>
+ </g>
+ <g transform="translate(0 61)">
+ <def id="MIX2_PARAM" xlink:href="#knob19" transform="translate(3.5 8)"/>
+ <def xlink:href="#dial-centertick-19" transform="translate(-6.5 -2)"/>
+ </g>
+ <g transform="translate(0 98)">
+ <def id="MIX3_PARAM" xlink:href="#knob19" transform="translate(3.5 8)"/>
+ <def xlink:href="#dial-centertick-19" transform="translate(-6.5 -2)"/>
+ </g>
+ <g transform="translate(0 135)">
+ <def id="MIX4_PARAM" xlink:href="#knob19" transform="translate(3.5 8)"/>
+ <def xlink:href="#dial-centertick-19" transform="translate(-6.5 -2)"/>
+ </g>
+ <g transform="translate(0 172)">
+ <def id="MIX5_PARAM" xlink:href="#knob19" transform="translate(3.5 8)"/>
+ <def xlink:href="#dial-centertick-19" transform="translate(-6.5 -2)"/>
+ </g>
+ <g transform="translate(0 209)">
+ <def id="MIX6_PARAM" xlink:href="#knob19" transform="translate(3.5 8)"/>
+ <def xlink:href="#dial-centertick-19" transform="translate(-6.5 -2)"/>
+ </g>
+ <g transform="translate(0 246)">
+ <def id="MIX7_PARAM" xlink:href="#knob19" transform="translate(3.5 8)"/>
+ <def xlink:href="#dial-centertick-19" transform="translate(-6.5 -2)"/>
+ </g>
+ <g transform="translate(0 283)">
+ <def id="MIX8_PARAM" xlink:href="#knob19" transform="translate(3.5 8)"/>
+ <def xlink:href="#dial-centertick-19" transform="translate(-6.5 -2)"/>
+ </g>
+ </g>
+
+ <!-- <polyline points="0,0 0,380" stroke-width="0.7" stroke="#0f0" transform="translate(24.5 0)" /> -->
+ <!-- <polyline points="0,0 0,380" stroke-width="0.7" stroke="#0f0" transform="translate(65.5 0)" /> -->
+ <!-- <polyline points="0,0 90,0" stroke-width="0.7" stroke="#0f0" transform="translate(0 42)" /> -->
+ <!-- <polyline points="0,0 90,0" stroke-width="0.7" stroke="#0f0" transform="translate(0 79)" /> -->
+ <!-- <polyline points="0,0 90,0" stroke-width="0.7" stroke="#0f0" transform="translate(0 116)" /> -->
+ <!-- <polyline points="0,0 90,0" stroke-width="0.7" stroke="#0f0" transform="translate(0 153)" /> -->
+ <!-- <polyline points="0,0 90,0" stroke-width="0.7" stroke="#0f0" transform="translate(0 190)" /> -->
+ <!-- <polyline points="0,0 90,0" stroke-width="0.7" stroke="#0f0" transform="translate(0 227)" /> -->
+ <!-- <polyline points="0,0 90,0" stroke-width="0.7" stroke="#0f0" transform="translate(0 264)" /> -->
+ <!-- <polyline points="0,0 90,0" stroke-width="0.7" stroke="#0f0" transform="translate(0 301)" /> -->
+</module>
diff --git a/res/Matrix81-dark.svg b/res/Matrix81-dark.svg
Binary files differ.
diff --git a/res/Matrix81-lowcontrast.svg b/res/Matrix81-lowcontrast.svg
Binary files differ.
diff --git a/res/Matrix81.svg b/res/Matrix81.svg
Binary files differ.
diff --git a/src/Matrix44.hpp b/src/Matrix44.hpp
@@ -44,7 +44,7 @@ struct Matrix44 : KnobMatrixModule {
NUM_OUTPUTS
};
- Matrix44() : KnobMatrixModule(4, MIX11_PARAM, IN1_INPUT, OUT1_OUTPUT) {
+ Matrix44() : KnobMatrixModule(4, 4, MIX11_PARAM, IN1_INPUT, OUT1_OUTPUT) {
config(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS);
configParam(MIX11_PARAM, -1.0f, 1.0f, 0.0f, "Mix 1A", "%", 0.0f, 100.0f);
configParam(MIX21_PARAM, -1.0f, 1.0f, 0.0f, "Mix 2A", "%", 0.0f, 100.0f);
diff --git a/src/Matrix81.cpp b/src/Matrix81.cpp
@@ -0,0 +1,59 @@
+
+#include "Matrix81.hpp"
+
+struct Matrix81Widget : KnobMatrixModuleWidget {
+ static constexpr int hp = 6;
+
+ Matrix81Widget(Matrix81* module) {
+ setModule(module);
+ box.size = Vec(RACK_GRID_WIDTH * hp, RACK_GRID_HEIGHT);
+ setPanel(box.size, "Matrix81");
+
+ addChild(createWidget<ScrewSilver>(Vec(0, 0)));
+ addChild(createWidget<ScrewSilver>(Vec(box.size.x - 15, 365)));
+
+ // generated by svg_widgets.rb
+ auto mix1ParamPosition = Vec(55.7, 32.2);
+ auto mix2ParamPosition = Vec(55.7, 69.2);
+ auto mix3ParamPosition = Vec(55.7, 106.2);
+ auto mix4ParamPosition = Vec(55.7, 143.2);
+ auto mix5ParamPosition = Vec(55.7, 180.2);
+ auto mix6ParamPosition = Vec(55.7, 217.2);
+ auto mix7ParamPosition = Vec(55.7, 254.2);
+ auto mix8ParamPosition = Vec(55.7, 291.2);
+
+ auto in1InputPosition = Vec(12.5, 30.0);
+ auto in2InputPosition = Vec(12.5, 67.0);
+ auto in3InputPosition = Vec(12.5, 104.0);
+ auto in4InputPosition = Vec(12.5, 141.0);
+ auto in5InputPosition = Vec(12.5, 178.0);
+ auto in6InputPosition = Vec(12.5, 215.0);
+ auto in7InputPosition = Vec(12.5, 252.0);
+ auto in8InputPosition = Vec(12.5, 289.0);
+
+ auto outOutputPosition = Vec(12.5, 321.0);
+ // end generated by svg_widgets.rb
+
+ createKnob(mix1ParamPosition, module, Matrix81::MIX1_PARAM);
+ createKnob(mix2ParamPosition, module, Matrix81::MIX2_PARAM);
+ createKnob(mix3ParamPosition, module, Matrix81::MIX3_PARAM);
+ createKnob(mix4ParamPosition, module, Matrix81::MIX4_PARAM);
+ createKnob(mix5ParamPosition, module, Matrix81::MIX5_PARAM);
+ createKnob(mix6ParamPosition, module, Matrix81::MIX6_PARAM);
+ createKnob(mix7ParamPosition, module, Matrix81::MIX7_PARAM);
+ createKnob(mix8ParamPosition, module, Matrix81::MIX8_PARAM);
+
+ addInput(createInput<Port24>(in1InputPosition, module, Matrix81::IN1_INPUT));
+ addInput(createInput<Port24>(in2InputPosition, module, Matrix81::IN2_INPUT));
+ addInput(createInput<Port24>(in3InputPosition, module, Matrix81::IN3_INPUT));
+ addInput(createInput<Port24>(in4InputPosition, module, Matrix81::IN4_INPUT));
+ addInput(createInput<Port24>(in5InputPosition, module, Matrix81::IN5_INPUT));
+ addInput(createInput<Port24>(in6InputPosition, module, Matrix81::IN6_INPUT));
+ addInput(createInput<Port24>(in7InputPosition, module, Matrix81::IN7_INPUT));
+ addInput(createInput<Port24>(in8InputPosition, module, Matrix81::IN8_INPUT));
+
+ addOutput(createOutput<Port24>(outOutputPosition, module, Matrix81::OUT_OUTPUT));
+ }
+};
+
+Model* modelMatrix81 = createModel<Matrix81, Matrix81Widget>("Bogaudio-Matrix81", "MATRIX81", "8-channel mixer", "Mixer", "Polyphonic");
diff --git a/src/Matrix81.hpp b/src/Matrix81.hpp
@@ -0,0 +1,53 @@
+#pragma once
+
+#include "bogaudio.hpp"
+#include "matrix_base.hpp"
+
+extern Model* modelMatrix81;
+
+namespace bogaudio {
+
+struct Matrix81 : KnobMatrixModule {
+ enum ParamsIds {
+ MIX1_PARAM,
+ MIX2_PARAM,
+ MIX3_PARAM,
+ MIX4_PARAM,
+ MIX5_PARAM,
+ MIX6_PARAM,
+ MIX7_PARAM,
+ MIX8_PARAM,
+ NUM_PARAMS
+ };
+
+ enum InputsIds {
+ IN1_INPUT,
+ IN2_INPUT,
+ IN3_INPUT,
+ IN4_INPUT,
+ IN5_INPUT,
+ IN6_INPUT,
+ IN7_INPUT,
+ IN8_INPUT,
+ NUM_INPUTS
+ };
+
+ enum OutputsIds {
+ OUT_OUTPUT,
+ NUM_OUTPUTS
+ };
+
+ Matrix81() : KnobMatrixModule(8, 1, MIX1_PARAM, IN1_INPUT, OUT_OUTPUT) {
+ config(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS);
+ configParam(MIX1_PARAM, -1.0f, 1.0f, 0.0f, "Mix 1", "%", 0.0f, 100.0f);
+ configParam(MIX2_PARAM, -1.0f, 1.0f, 0.0f, "Mix 2", "%", 0.0f, 100.0f);
+ configParam(MIX3_PARAM, -1.0f, 1.0f, 0.0f, "Mix 3", "%", 0.0f, 100.0f);
+ configParam(MIX4_PARAM, -1.0f, 1.0f, 0.0f, "Mix 4", "%", 0.0f, 100.0f);
+ configParam(MIX5_PARAM, -1.0f, 1.0f, 0.0f, "Mix 5", "%", 0.0f, 100.0f);
+ configParam(MIX6_PARAM, -1.0f, 1.0f, 0.0f, "Mix 6", "%", 0.0f, 100.0f);
+ configParam(MIX7_PARAM, -1.0f, 1.0f, 0.0f, "Mix 7", "%", 0.0f, 100.0f);
+ configParam(MIX8_PARAM, -1.0f, 1.0f, 0.0f, "Mix 8", "%", 0.0f, 100.0f);
+ }
+};
+
+} // namespace bogaudio
diff --git a/src/Matrix88.hpp b/src/Matrix88.hpp
@@ -100,7 +100,7 @@ struct Matrix88 : KnobMatrixModule {
NUM_OUTPUTS
};
- Matrix88() : KnobMatrixModule(8, MIX11_PARAM, IN1_INPUT, OUT1_OUTPUT) {
+ Matrix88() : KnobMatrixModule(8, 8, MIX11_PARAM, IN1_INPUT, OUT1_OUTPUT) {
config(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS);
configParam(MIX11_PARAM, -1.0f, 1.0f, 0.0f, "Mix 1A", "%", 0.0f, 100.0f);
configParam(MIX21_PARAM, -1.0f, 1.0f, 0.0f, "Mix 2A", "%", 0.0f, 100.0f);
diff --git a/src/bogaudio.cpp b/src/bogaudio.cpp
@@ -41,6 +41,7 @@
#include "LVCO.hpp"
#include "Manual.hpp"
#include "Matrix44.hpp"
+#include "Matrix81.hpp"
#include "Matrix88.hpp"
#include "Mix1.hpp"
#include "Mix2.hpp"
@@ -167,9 +168,10 @@ void init(rack::Plugin *p) {
p->addModel(modelUMix);
p->addModel(modelMumix);
- p->addModel(modelSwitch81);
+ p->addModel(modelMatrix81);
p->addModel(modelMatrix44);
p->addModel(modelMatrix88);
+ p->addModel(modelSwitch81);
p->addModel(modelSwitch44);
p->addModel(modelSwitch88);
p->addModel(modelSwitch1616);
diff --git a/src/matrix_base.hpp b/src/matrix_base.hpp
@@ -68,8 +68,8 @@ struct MatrixModule : MatrixBaseModule {
struct KnobMatrixModule : MatrixModule {
bool _indicatorKnobs = true;
- KnobMatrixModule(int n, int firstParamID, int firstInputID, int firstOutputID)
- : MatrixModule(n, n, firstParamID, firstInputID, firstOutputID)
+ KnobMatrixModule(int ins, int outs, int firstParamID, int firstInputID, int firstOutputID)
+ : MatrixModule(ins, outs, firstParamID, firstInputID, firstOutputID)
{}
json_t* toJson(json_t* root) override;