BogaudioModules

BogaudioModules for VCV Rack
Log | Files | Refs | README | LICENSE

commit 58948d398afaab5273f0fcc9340717d5c3d7d671
parent a2e4dc31065936f6fb948b5d92c2781d2446e0b1
Author: Matt Demanett <matt@demanett.net>
Date:   Fri,  6 Apr 2018 23:27:51 -0400

Oscillator tweaks, fixes, cleanups.

Diffstat:
Mres-src/Additator-src.svg | 2+-
Mres-src/EightFO-src.svg | 6+++---
Mres-src/FMOp-src.svg | 28++++++++++++++--------------
Mres-src/LFO-src.svg | 72+++++++++++++++++++++++++++++++++++++++++++++++++++++++-----------------
Mres-src/VCO-src.svg | 37++++++++++++++++++-------------------
Mres-src/XCO-src.svg | 90++++++++++++++++++++++++++++++++++++++++++-------------------------------------
Mres/Additator.svg | 0
Mres/EightFO.svg | 0
Mres/FMOp.svg | 0
Mres/LFO.svg | 0
Mres/VCO.svg | 0
Mres/XCO.svg | 0
Msrc/Additator.cpp | 4++--
Msrc/EightFO.cpp | 2+-
Msrc/FMOp.cpp | 20++++++++++----------
Msrc/LFO.cpp | 18+++++++++---------
Msrc/VCO.cpp | 26++++++++++----------------
Msrc/VCO.hpp | 2--
Msrc/XCO.cpp | 26++++++++++----------------
Msrc/XCO.hpp | 2--
20 files changed, 181 insertions(+), 154 deletions(-)

diff --git a/res-src/Additator-src.svg b/res-src/Additator-src.svg @@ -273,7 +273,7 @@ </g> <use xlink:href="#knobguide-frequency" transform="translate(20 25)" /> - <text font-size="6pt" letter-spacing="1px" transform="translate(29 135)">0V = C4 = 261.63HZ</text> + <text font-size="6pt" letter-spacing="1px" transform="translate(32 135)">0V = C4 = 261.6HZ</text> <g transform="translate(144 60)"> <!-- <polyline points="0,19 68,19" stroke="#0f0" stroke-width="1" fill="none" /> --> diff --git a/res-src/EightFO-src.svg b/res-src/EightFO-src.svg @@ -239,7 +239,7 @@ <!-- <rect width="20" height="10" fill="#0f0" transform="translate(20 130)" /> --> <!-- <rect width="20" height="10" fill="#0f0" transform="translate(108 130)" /> --> - <text font-size="6pt" letter-spacing="1px" transform="translate(41 137)">0V = 261.63HZ</text> + <text font-size="6pt" letter-spacing="1px" transform="translate(44.5 137)">0V = 261.6HZ</text> <g transform="translate(86 335)"> <!-- <rect width="230" height="15" fill="#0f0" transform="translate(-30 -17)" /> --> @@ -261,7 +261,7 @@ <!-- <polyline points="0,0 170,0" stroke="#0f0" stroke-width="1" fill="none" transform="translate(-10 13)" /> --> <!-- <polyline points="0,0 0,170" stroke="#0f0" stroke-width="1" fill="none" transform="translate(33 -13)" /> --> <!-- <polyline points="0,0 170,0" stroke="#f00" stroke-width="1" fill="none" transform="translate(-10 33)" /> --> - <text font-size="8pt" letter-spacing="2px" transform="translate(8 33) rotate(270)">SH/PW</text> + <text font-size="8pt" letter-spacing="2px" transform="translate(8 38) rotate(270)">SAM/PW</text> <use id="SAMPLE_PWM_PARAM" xlink:href="#knob-medium" transform="translate(20 0)" /> </g> <use xlink:href="#knobguide-attenuverter" transform="translate(80.5 -9.6)" /> @@ -371,7 +371,7 @@ <g transform="translate(10 -40)"> <!-- <rect width="30" height="40" rx="5" fill="#fafafa" /> --> <use id="SAMPLE_PWM_INPUT" xlink:href="#input" transform="translate(4 4)" /> - <text font-size="6pt" letter-spacing="0.5px" transform="translate(1 38)">SH/PW</text> + <text font-size="6pt" letter-spacing="1px" transform="translate(4 38)">S/PW</text> </g> <g transform="translate(50 -40)"> <!-- <rect width="30" height="40" rx="5" fill="#fafafa" /> --> diff --git a/res-src/FMOp-src.svg b/res-src/FMOp-src.svg @@ -228,27 +228,27 @@ <!-- <rect width="30" height="18" fill="#0f0" transform="translate(20 26)" /> --> </g> <use xlink:href="#knobguide-time" transform="translate(10.5 -9.5)" /> - <g transform="translate(0 43)"> + <g transform="translate(0 42)"> <!-- <polyline points="0,0 200,0" stroke="#0f0" stroke-width="1" fill="none" transform="translate(-140 -10)" /> --> <text font-size="8pt" letter-spacing="2px" transform="translate(8 25) rotate(270)">DEC</text> <use id="DECAY_PARAM" xlink:href="#knob-medium" transform="translate(20 0)" /> <!-- <rect width="30" height="18" fill="#0f0" transform="translate(20 26)" /> --> </g> - <use xlink:href="#knobguide-time" transform="translate(10.5 33.5)" /> - <g transform="translate(0 86)"> + <use xlink:href="#knobguide-time" transform="translate(10.5 32.5)" /> + <g transform="translate(0 84)"> <!-- <polyline points="0,0 200,0" stroke="#0f0" stroke-width="1" fill="none" transform="translate(-140 -10)" /> --> <text font-size="8pt" letter-spacing="2px" transform="translate(8 25) rotate(270)">SUS</text> <use id="SUSTAIN_PARAM" xlink:href="#knob-medium" transform="translate(20 0)" /> <!-- <rect width="30" height="18" fill="#0f0" transform="translate(20 26)" /> --> </g> - <use xlink:href="#knobguide-linear" transform="translate(10.5 76.5)" /> - <g transform="translate(0 129)"> + <use xlink:href="#knobguide-linear" transform="translate(10.5 74.5)" /> + <g transform="translate(0 126)"> <!-- <polyline points="0,0 200,0" stroke="#0f0" stroke-width="1" fill="none" transform="translate(-140 -10)" /> --> <text font-size="8pt" letter-spacing="2px" transform="translate(8 25) rotate(270)">REL</text> <use id="RELEASE_PARAM" xlink:href="#knob-medium" transform="translate(20 0)" /> <!-- <rect width="30" height="18" fill="#0f0" transform="translate(20 26)" /> --> </g> - <use xlink:href="#knobguide-time" transform="translate(10.5 119.5)" /> + <use xlink:href="#knobguide-time" transform="translate(10.5 116.5)" /> </g> <g transform="translate(16 113)"> @@ -257,19 +257,19 @@ <use id="DEPTH_PARAM" xlink:href="#knob-medium" transform="translate(20 0)" /> </g> <use xlink:href="#knobguide-linear" transform="translate(10.5 -9.5)" /> - <g transform="translate(0 49)"> - <text font-size="8pt" letter-spacing="2px" transform="translate(8 29) rotate(270)">FDBK</text> + <g transform="translate(0 48)"> + <text font-size="8pt" letter-spacing="2px" transform="translate(8 30) rotate(270)">FDBK</text> <use id="FEEDBACK_PARAM" xlink:href="#knob-medium" transform="translate(20 0)" /> </g> - <use xlink:href="#knobguide-linear" transform="translate(10.5 39.5)" /> - <g transform="translate(0 98)"> - <text font-size="8pt" letter-spacing="2px" transform="translate(8 33) rotate(270)">LEVEL</text> + <use xlink:href="#knobguide-linear" transform="translate(10.5 38.5)" /> + <g transform="translate(0 96)"> + <text font-size="8pt" letter-spacing="2px" transform="translate(8 33.5) rotate(270)">LEVEL</text> <use id="LEVEL_PARAM" xlink:href="#knob-medium" transform="translate(20 0)" /> </g> - <use xlink:href="#knobguide-linear" transform="translate(10.5 88.5)" /> + <use xlink:href="#knobguide-linear" transform="translate(10.5 86.5)" /> </g> - <g transform="translate(13 239)"> + <g transform="translate(13 237.5)"> <g transform="translate(0 17.5)"> <!-- <polyline points="0,0 200,0" stroke="#0f0" stroke-width="1" fill="none" transform="translate(0 3.3)" /> --> <text font-size="6pt" letter-spacing="1px" transform="translate(0 6.2)">ENV:</text> @@ -281,7 +281,7 @@ <g transform="translate(81 0)"> <use id="ENV_TO_FEEDBACK_LIGHT" xlink:href="#light-small" transform="translate(0 0)" /> <text font-size="6pt" letter-spacing="1px" transform="translate(9 6.2)">FDBK</text> - <use id="ENV_TO_FEEDBACK_PARAM" xlink:href="#button-small" transform="translate(34 -1.2)" /> + <use id="ENV_TO_FEEDBACK_PARAM" xlink:href="#button-small" transform="translate(34.5 -1.2)" /> </g> </g> </g> diff --git a/res-src/LFO-src.svg b/res-src/LFO-src.svg @@ -39,6 +39,14 @@ </g> </symbol> + <symbol id="knob-smallest" viewBox="0 0 16px 16px"> + <g transform="translate(8 8)"> + <polyline points="-3,0 3,0" stroke-width="1" stroke="#00f" /> + <polyline points="0,-3 0,3" stroke-width="1" stroke="#00f" /> + <circle r="7.5" stroke-width="1" stroke="#00f" fill="none" /> + </g> + </symbol> + <symbol id="knobguide-frequency" viewBox="0 0 108px 108px"> <g transform="translate(54 54)"> <g transform="rotate(-240) translate(34 0)"> @@ -135,6 +143,30 @@ </g> </symbol> + <symbol id="knobguide-centertick" viewBox="0 0 40px 40px"> + <g transform="translate(20 20)"> + <g transform="rotate(-90) translate(10 0)"> + <polyline points="0,0 4,0" stroke-width="1" stroke="#333" /> + </g> + <path d="M 0 -12.5 A 12.5 12.5 0 0 1 12.5 0" stroke="#333" stroke-width="0.5" stroke-linecap="round" fill="none" transform="rotate(20)" /> + <path d="M 0 -12.5 A 12.5 12.5 0 0 1 12.5 0" stroke="#333" stroke-width="0.5" stroke-linecap="round" fill="none" transform="rotate(43)" /> + <path d="M 0 -12.5 A 12.5 12.5 0 0 0 -12.5 0" stroke="#333" stroke-width="0.5" stroke-linecap="round" fill="none" transform="rotate(-20)" /> + <path d="M 0 -12.5 A 12.5 12.5 0 0 0 -12.5 0" stroke="#333" stroke-width="0.5" stroke-linecap="round" fill="none" transform="rotate(-43)" /> + </g> + </symbol> + + <symbol id="knobguide-maxtick" viewBox="0 0 40px 40px"> + <g transform="translate(20 20)"> + <g transform="rotate(60) translate(10 0)"> + <polyline points="0,0 4,0" stroke-width="1" stroke="#333" /> + </g> + <path d="M 0 -12.5 A 12.5 12.5 0 0 1 12.5 0" stroke="#333" stroke-width="0.5" stroke-linecap="round" fill="none" transform="rotate(0)" /> + <path d="M 0 -12.5 A 12.5 12.5 0 0 1 12.5 0" stroke="#333" stroke-width="0.5" stroke-linecap="round" fill="none" transform="rotate(43)" /> + <path d="M 0 -12.5 A 12.5 12.5 0 0 0 -12.5 0" stroke="#333" stroke-width="0.5" stroke-linecap="round" fill="none" transform="rotate(0)" /> + <path d="M 0 -12.5 A 12.5 12.5 0 0 0 -12.5 0" stroke="#333" stroke-width="0.5" stroke-linecap="round" fill="none" transform="rotate(-43)" /> + </g> + </symbol> + <symbol id="input" viewBox="0 0 24px 24px"> <g transform="translate(12 12)"> <circle cx="0" cy="0" r="5" stroke-width="1" stroke="#0f0" fill="#0f0" /> @@ -186,7 +218,7 @@ <!-- <rect width="20" height="10" fill="#0f0" transform="translate(20 130)" /> --> <!-- <rect width="20" height="10" fill="#0f0" transform="translate(108 130)" /> --> - <text font-size="6pt" letter-spacing="1px" transform="translate(41 137)">0V = 261.63HZ</text> + <text font-size="6pt" letter-spacing="1px" transform="translate(44.5 137)">0V = 261.6HZ</text> <g transform="translate(111 240)"> <!-- <rect width="230" height="15" fill="#0f0" transform="translate(-30 -17)" /> --> @@ -196,36 +228,42 @@ <text font-size="6pt" letter-spacing="1px" transform="translate(9 6.1)">SLOW</text> </g> - <g transform="translate(10 149)"> + <g transform="translate(10 152)"> <g transform="translate(7 0)"> <!-- <rect width="52" height="38" fill="none" stroke="#0f0" transform="translate(0 -7)" /> --> - <text font-size="8pt" letter-spacing="2px" transform="translate(8 26) rotate(270)">S&amp;H</text> + <!-- <polyline points="0,0 0,354" stroke="#0f0" stroke-width="1" fill="none" transform="translate(33 0)" /> --> + <text font-size="8pt" letter-spacing="2px" transform="translate(8 27) rotate(270)">SAM</text> <use id="SAMPLE_PARAM" xlink:href="#knob-medium" transform="translate(20 0)" /> </g> <use xlink:href="#knobguide-linear" transform="translate(17.5 -9.6)" /> <g transform="translate(72 0)"> <!-- <rect width="52" height="38" fill="none" stroke="#0f0" transform="translate(0 -7)" /> --> + <!-- <polyline points="0,0 0,354" stroke="#0f0" stroke-width="1" fill="none" transform="translate(33 0)" /> --> <text font-size="8pt" letter-spacing="2px" transform="translate(8 22.5) rotate(270)">PW</text> <use id="PW_PARAM" xlink:href="#knob-medium" transform="translate(20 0)" /> </g> <use xlink:href="#knobguide-attenuverter" transform="translate(82.5 -9.6)" /> </g> - <g transform="translate(10 191)"> + <g transform="translate(10 197)"> <g transform="translate(7 0)"> <!-- <rect width="52" height="38" fill="none" stroke="#0f0" transform="translate(0 -7)" /> --> - <text font-size="8pt" letter-spacing="2px" transform="translate(8 25) rotate(270)">OFF</text> - <use id="OFFSET_PARAM" xlink:href="#knob-medium" transform="translate(20 0)" /> + <text font-size="8pt" letter-spacing="2px" transform="translate(8 18) rotate(270)">OFF</text> + <use id="OFFSET_PARAM" xlink:href="#knob-smallest" transform="translate(25 0)" /> </g> - <use xlink:href="#knobguide-attenuverter" transform="translate(17.5 -9.6)" /> + <use xlink:href="#knobguide-centertick" transform="translate(20 -12)" /> <g transform="translate(72 0)"> <!-- <rect width="52" height="38" fill="none" stroke="#0f0" transform="translate(0 -7)" /> --> - <text font-size="8pt" letter-spacing="2px" transform="translate(8 25) rotate(270)">SCL</text> - <use id="SCALE_PARAM" xlink:href="#knob-medium" transform="translate(20 0)" /> + <text font-size="8pt" letter-spacing="2px" transform="translate(8 18) rotate(270)">SCL</text> + <use id="SCALE_PARAM" xlink:href="#knob-smallest" transform="translate(25 0)" /> </g> - <use xlink:href="#knobguide-linear" transform="translate(82.5 -9.6)" /> + <use xlink:href="#knobguide-maxtick" transform="translate(85 -12)" /> </g> + <!-- <rect width="50" height="10" fill="#0f0" transform="translate(0 137)" /> --> + <!-- <rect width="50" height="10" fill="#0f0" transform="translate(0 181)" /> --> + <!-- <rect width="50" height="10" fill="#0f0" transform="translate(0 215)" /> --> + <g transform="translate(0 225)"> <rect width="130" height="91" rx="5" fill="#bbb" transform="translate(10 44)" /> <rect width="97.5" height="135" rx="5" fill="#bbb" transform="translate(10 0)" /> @@ -236,16 +274,18 @@ <g transform="translate(12 0)"> <use id="SAMPLE_INPUT" xlink:href="#input" transform="translate(3 5)" /> - <text font-size="6pt" letter-spacing="1px" transform="translate(6 40)">S&amp;H</text> + <text font-size="6pt" letter-spacing="1px" transform="translate(5 40)">SAM</text> </g> <g transform="translate(44 0)"> <use id="PW_INPUT" xlink:href="#input" transform="translate(3 5)" /> <text font-size="6pt" letter-spacing="1px" transform="translate(8 40)">PW</text> </g> <g transform="translate(76 0)"> - <use id="RAMP_UP_OUTPUT" xlink:href="#output" transform="translate(3 5)" /> + <use id="RAMP_DOWN_OUTPUT" xlink:href="#output" transform="translate(3 5)" /> + <!-- <text font-size="6pt" letter-spacing="2px" transform="translate(4.5 40)">SAW</text> --> <g transform="translate(9 33.5)"> - <polyline points="0,8 12,0 12,8" stroke-width="1" stroke="#333" fill="none" /> + <!-- <rect width="12" height="8" fill="none" stroke-width="1" stroke="#0f0" /> --> + <polyline points="0,8 0,0 12,8" stroke-width="1" stroke="#333" fill="none" /> </g> </g> @@ -259,11 +299,9 @@ <text font-size="6pt" letter-spacing="1px" transform="translate(6.5 40)">SCL</text> </g> <g transform="translate(76 0)"> - <use id="RAMP_DOWN_OUTPUT" xlink:href="#output" transform="translate(3 5)" /> - <!-- <text font-size="6pt" letter-spacing="2px" transform="translate(4.5 40)">SAW</text> --> + <use id="RAMP_UP_OUTPUT" xlink:href="#output" transform="translate(3 5)" /> <g transform="translate(9 33.5)"> - <!-- <rect width="12" height="8" fill="none" stroke-width="1" stroke="#0f0" /> --> - <polyline points="0,8 0,0 12,8" stroke-width="1" stroke="#333" fill="none" /> + <polyline points="0,8 12,0 12,8" stroke-width="1" stroke="#333" fill="none" /> </g> </g> <g transform="translate(108 0)"> diff --git a/res-src/VCO-src.svg b/res-src/VCO-src.svg @@ -217,6 +217,11 @@ <symbol id="light-small" viewBox="0 0 6.4px 6.4px"> <rect width="6.4" height="6.4" fill="#0f0" /> </symbol> + + <symbol id="switch" viewBox="0 0 14px 24px"> + <rect width="14px" height="24px" stroke-width="1" stroke="#000" fill="#ddd" /> + <rect width="14px" height="12px" stroke-width="0" fill="#000" /> + </symbol> </defs> <rect width="100%" height="100%" fill="#ddd" /> @@ -233,7 +238,7 @@ <rect width="3.0" height="3" fill="#ddd" transform="translate(24 -5)" /> </g> - <g transform="translate(20 25)"> + <g transform="translate(21 25)"> <!-- <rect width="108" height="98" fill="none" stroke="#0f0" /> --> <!-- <polyline points="0,54 54,54" stroke="#0f0" stroke-width="1" fill="none" /> --> <!-- <polyline points="54,54 54,354" stroke="#0f0" stroke-width="1" fill="none" /> --> @@ -241,11 +246,11 @@ </g> <use xlink:href="#knobguide-frequency" transform="translate(20 25)" /> - <text font-size="6pt" letter-spacing="1px" transform="translate(29 135)">0V = C4 = 261.63HZ</text> + <text font-size="6pt" letter-spacing="1px" transform="translate(32 135)">0V = C4 = 261.6HZ</text> <!-- <rect width="100" height="7" fill="#0f0" transform="translate(10 136)" /> --> - <g transform="translate(34 151)"> + <g transform="translate(35 153)"> <!-- <polyline points="0,-5 70,-5" stroke="#0f0" stroke-width="1" fill="none" /> --> <!-- <polyline points="0,8 70,8" stroke="#0f0" stroke-width="1" fill="none" /> --> <!-- <polyline points="0,21 70,21" stroke="#0f0" stroke-width="1" fill="none" /> --> @@ -254,9 +259,9 @@ <use id="FINE_PARAM" xlink:href="#knob-smallest" transform="translate(13 0)" /> <!-- <rect width="90" height="10" fill="#0f0" transform="translate(0 17)" /> --> </g> - <use xlink:href="#knobguide-centertick" transform="translate(35 139)" /> + <use xlink:href="#knobguide-centertick" transform="translate(36 141)" /> - <g transform="translate(81 156.5)"> + <g transform="translate(82 158.5)"> <!-- <polyline points="0,3.2 70,3.2" stroke="#0f0" stroke-width="1" fill="none" /> --> <use id="SLOW_PARAM" xlink:href="#button-small" transform="translate(40 -1.3)" /> <use id="SLOW_LIGHT" xlink:href="#light-small" transform="translate(0 0)" /> @@ -266,16 +271,16 @@ <!-- <rect width="100" height="7" fill="#0f0" transform="translate(10 172)" /> --> - <g transform="translate(43 187)"> + <g transform="translate(44 188)"> <!-- <polyline points="0,13 70,13" stroke="#0f0" stroke-width="1" fill="none" /> --> <text font-size="8pt" letter-spacing="2px" transform="translate(10 22.5) rotate(270)">PW</text> <use id="PW_PARAM" xlink:href="#knob-medium" transform="translate(18 0)" /> </g> - <use xlink:href="#knobguide-attenuverter" transform="translate(51.5 177.5)" /> + <use xlink:href="#knobguide-attenuverter" transform="translate(52.5 178.5)" /> <!-- <rect width="100" height="7" fill="#0f0" transform="translate(10 218)" /> --> - <g transform="translate(34.5 230)"> + <g transform="translate(44 230)"> <!-- <rect width="83" height="7" fill="#0f0" transform="translate(0 0)" /> --> <g transform="translate(0 0)"> <!-- <polyline points="0,13 100,13" stroke="#0f0" stroke-width="1" fill="none" /> --> @@ -283,19 +288,13 @@ <use id="FM_PARAM" xlink:href="#knob-medium" transform="translate(18 0)" /> </g> <!-- <rect width="90" height="10" fill="#0f0" transform="translate(0 26)" /> --> - <g transform="translate(53 -3)"> - <use id="FM_TYPE_PARAM" xlink:href="#button-small" transform="translate(9 26)" /> - <g transform="translate(0 2)"> - <use id="FM_EXP_LIGHT" xlink:href="#light-small" transform="translate(0 0)" /> - <text font-size="6pt" letter-spacing="2px" transform="translate(9 6.2)">EXP</text> - </g> - <g transform="translate(0 15.3)"> - <use id="FM_LIN_LIGHT" xlink:href="#light-small" transform="translate(0 0)" /> - <text font-size="6pt" letter-spacing="2px" transform="translate(9 6.2)">LIN</text> - </g> + <g transform="translate(57 -0)"> + <text font-size="5pt" letter-spacing="2px" transform="translate(-1 -1)">EXP</text> + <use id="FM_TYPE_PARAM" xlink:href="#switch" transform="translate(0 2)" /> + <text font-size="5pt" letter-spacing="2px" transform="translate(0 34)">LIN</text> </g> </g> - <use xlink:href="#knobguide-fm" transform="translate(43 220.5)" /> + <use xlink:href="#knobguide-fm" transform="translate(52.5 220.5)" /> <!-- <rect width="150" height="7" fill="#0f0" transform="translate(10 262)" /> --> diff --git a/res-src/XCO-src.svg b/res-src/XCO-src.svg @@ -31,11 +31,11 @@ </g> </symbol> - <symbol id="knob-medium" viewBox="0 0 26px 26px"> - <g transform="translate(13 13)"> - <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="12.5" stroke-width="1" stroke="#00f" fill="none" /> + <symbol id="knob" viewBox="0 0 38px 38px"> + <g transform="translate(19 19)"> + <polyline points="-5,0 5,0" stroke-width="1" stroke="#00f" /> + <polyline points="0,-5 0,5" stroke-width="1" stroke="#00f" /> + <circle cx="0" cy="0" r="18.5" stroke-width="1" stroke="#00f" fill="none" /> </g> </symbol> @@ -128,19 +128,19 @@ </g> </symbol> - <symbol id="knobguide-fm" viewBox="0 0 45px 45px"> - <g transform="translate(22.5 22.5)"> - <text font-size="5.0pt" transform="rotate(-240) translate(18 0) rotate(240) translate(-2 2)">0</text> - <polyline points="0,0 2.5,0" stroke-width="0.3" stroke="#333" transform="rotate(-210) translate(15 0)" /> - <polyline points="0,0 2.5,0" stroke-width="0.3" stroke="#333" transform="rotate(-180) translate(15 0)" /> - <polyline points="0,0 2.5,0" stroke-width="0.3" stroke="#333" transform="rotate(-150) translate(15 0)" /> - <polyline points="0,0 2.5,0" stroke-width="0.3" stroke="#333" transform="rotate(-120) translate(15 0)" /> - <polyline points="0,0 2.5,0" stroke-width="0.3" stroke="#333" transform="rotate(-90) translate(15 0)" /> - <polyline points="0,0 2.5,0" stroke-width="0.3" stroke="#333" transform="rotate(-60) translate(15 0)" /> - <polyline points="0,0 2.5,0" stroke-width="0.3" stroke="#333" transform="rotate(-30) translate(15 0)" /> - <polyline points="0,0 2.5,0" stroke-width="0.3" stroke="#333" transform="rotate(0) translate(15 0)" /> - <polyline points="0,0 2.5,0" stroke-width="0.3" stroke="#333" transform="rotate(30) translate(15 0)" /> - <polyline points="0,0 3.5,0" stroke-width="1" stroke="#333" transform="rotate(60) translate(15 0)" /> + <symbol id="knobguide-fm" viewBox="0 0 50px 50px"> + <g transform="translate(25 25)"> + <text font-size="6.0pt" transform="rotate(-240) translate(24 0) rotate(240) translate(-4 3)">0</text> + <polyline points="0,0 3,0" stroke-width="0.5" stroke="#333" transform="rotate(-210) translate(22 0)" /> + <polyline points="0,0 3,0" stroke-width="0.5" stroke="#333" transform="rotate(-180) translate(22 0)" /> + <polyline points="0,0 3,0" stroke-width="0.5" stroke="#333" transform="rotate(-150) translate(22 0)" /> + <polyline points="0,0 3,0" stroke-width="0.5" stroke="#333" transform="rotate(-120) translate(22 0)" /> + <polyline points="0,0 3,0" stroke-width="0.5" stroke="#333" transform="rotate(-90) translate(22 0)" /> + <polyline points="0,0 3,0" stroke-width="0.5" stroke="#333" transform="rotate(-60) translate(22 0)" /> + <polyline points="0,0 3,0" stroke-width="0.5" stroke="#333" transform="rotate(-30) translate(22 0)" /> + <polyline points="0,0 3,0" stroke-width="0.5" stroke="#333" transform="rotate(0) translate(22 0)" /> + <polyline points="0,0 3,0" stroke-width="0.5" stroke="#333" transform="rotate(30) translate(22 0)" /> + <polyline points="0,0 4,0" stroke-width="1" stroke="#333" transform="rotate(60) translate(22 0)" /> </g> </symbol> @@ -203,6 +203,11 @@ <symbol id="light-small" viewBox="0 0 6.4px 6.4px"> <rect width="6.4" height="6.4" fill="#0f0" /> </symbol> + + <symbol id="switch" viewBox="0 0 14px 24px"> + <rect width="14px" height="24px" stroke-width="1" stroke="#000" fill="#ddd" /> + <rect width="14px" height="12px" stroke-width="0" fill="#000" /> + </symbol> </defs> <rect width="100%" height="100%" fill="#ddd" /> @@ -227,18 +232,21 @@ </g> <use xlink:href="#knobguide-frequency" transform="translate(20 25)" /> - <text font-size="6pt" letter-spacing="1px" transform="translate(29 136)">0V = C4 = 261.63HZ</text> + <text font-size="6pt" letter-spacing="1px" transform="translate(32 136)">0V = C4 = 261.6HZ</text> <!-- <rect width="90" height="10" fill="#0f0" transform="translate(0 143)" /> --> - <g transform="translate(45.5 156)"> + <g transform="translate(34 153)"> + <!-- <polyline points="0,-5 70,-5" stroke="#0f0" stroke-width="1" fill="none" /> --> <!-- <polyline points="0,8 70,8" stroke="#0f0" stroke-width="1" fill="none" /> --> - <text font-size="8pt" letter-spacing="2px" transform="translate(5.7 22) rotate(270)">FINE</text> - <use id="FINE_PARAM" xlink:href="#knob-smallest" transform="translate(20 0)" /> + <!-- <polyline points="0,21 70,21" stroke="#0f0" stroke-width="1" fill="none" /> --> + <!-- <polyline points="21,-10 21,240" stroke="#0f0" stroke-width="1" fill="none" /> --> + <text font-size="8pt" letter-spacing="2px" transform="translate(0 22) rotate(270)">FINE</text> + <use id="FINE_PARAM" xlink:href="#knob-smallest" transform="translate(13 0)" /> <!-- <rect width="90" height="10" fill="#0f0" transform="translate(0 17)" /> --> </g> - <use xlink:href="#knobguide-centertick" transform="translate(53.7 144)" /> + <use xlink:href="#knobguide-centertick" transform="translate(35 141)" /> - <g transform="translate(50 193)"> + <g transform="translate(81 158.5)"> <!-- <polyline points="0,3.2 70,3.2" stroke="#0f0" stroke-width="1" fill="none" /> --> <use id="SLOW_PARAM" xlink:href="#button-small" transform="translate(40 -1.3)" /> <use id="SLOW_LIGHT" xlink:href="#light-small" transform="translate(0 0)" /> @@ -246,35 +254,33 @@ <!-- <rect width="90" height="10" fill="#0f0" transform="translate(0 7)" /> --> </g> - <g transform="translate(31 219)"> - <g transform="translate(10 0)"> - <!-- <polyline points="0,13 70,13" stroke="#0f0" stroke-width="1" fill="none" /> --> - <text font-size="8pt" letter-spacing="2px" transform="translate(10 22) rotate(270)">FM</text> - <use id="FM_PARAM" xlink:href="#knob-medium" transform="translate(20 0)" /> + <g transform="translate(31 194)"> + <g transform="translate(4 0)"> + <!-- <polyline points="-50,0 100,0" stroke="#0f0" stroke-width="1" fill="none" transform="translate(0 19)" /> --> + <text font-size="8pt" letter-spacing="2px" transform="translate(9 27) rotate(270)">FM</text> + <use id="FM_PARAM" xlink:href="#knob" transform="translate(20 0)" /> </g> <!-- <rect width="90" height="10" fill="#0f0" transform="translate(0 26)" /> --> - <g transform="translate(0 37)"> + <g transform="translate(6 52)"> <g transform="translate(0 0)"> + <!-- <rect width="62" height="47" stroke="#0f0" fill="none" transform="translate(0 0)" /> --> <!-- <polyline points="0,23.5 100,23.5" stroke="#0f0" stroke-width="1" fill="none" /> --> <!-- <polyline points="15,23.5 15,-123.5" stroke="#0f0" stroke-width="1" fill="none" /> --> <rect width="30" height="47" rx="5" fill="#fafafa" /> <use id="FM_INPUT" xlink:href="#input" transform="translate(3 5)" /> <text font-size="6pt" letter-spacing="1px" transform="translate(9 40)">FM</text> </g> - <g transform="translate(42 6)"> - <use id="FM_TYPE_PARAM" xlink:href="#button-small" transform="translate(9 26)" /> - <g transform="translate(0 2)"> - <use id="FM_EXP_LIGHT" xlink:href="#light-small" transform="translate(0 0)" /> - <text font-size="6pt" letter-spacing="2px" transform="translate(9 6.2)">EXP</text> - </g> - <g transform="translate(0 15.3)"> - <use id="FM_LIN_LIGHT" xlink:href="#light-small" transform="translate(0 0)" /> - <text font-size="6pt" letter-spacing="2px" transform="translate(9 6.2)">LIN</text> - </g> + <g transform="translate(47 9)"> + <text font-size="5pt" letter-spacing="2px" transform="translate(-1 -1)">EXP</text> + <use id="FM_TYPE_PARAM" xlink:href="#switch" transform="translate(0 2)" /> + <text font-size="5pt" letter-spacing="2px" transform="translate(0 34)">LIN</text> </g> </g> </g> - <use xlink:href="#knobguide-fm" transform="translate(51.5 209.5)" /> + <use xlink:href="#knobguide-fm" transform="translate(49 188)" /> + + <!-- <rect width="90" height="18" fill="#0f0" transform="translate(0 175)" /> --> + <!-- <rect width="90" height="18" fill="#0f0" transform="translate(0 295)" /> --> <rect width="191" height="47" rx="5" fill="#bbb" transform="translate(99 313)" /> @@ -369,7 +375,7 @@ </g> <g transform="translate(3 30)"> <use id="TRIANGLE_SAMPLE_PARAM" xlink:href="#knob-smallest" transform="translate(4 0)" /> - <text font-size="6pt" letter-spacing="2px" transform="translate(2 30)">S&amp;H</text> + <text font-size="6pt" letter-spacing="2px" transform="translate(1.5 30)">SAM</text> <use id="TRIANGLE_SAMPLE_INPUT" xlink:href="#input" transform="translate(0 35)" /> </g> <g transform="translate(3 118)"> diff --git a/res/Additator.svg b/res/Additator.svg Binary files differ. diff --git a/res/EightFO.svg b/res/EightFO.svg Binary files differ. diff --git a/res/FMOp.svg b/res/FMOp.svg Binary files differ. diff --git a/res/LFO.svg b/res/LFO.svg Binary files differ. diff --git a/res/VCO.svg b/res/VCO.svg Binary files differ. diff --git a/res/XCO.svg b/res/XCO.svg Binary files differ. diff --git a/src/Additator.cpp b/src/Additator.cpp @@ -25,7 +25,7 @@ float Additator::cvValue(Input& cv, bool dc) { void Additator::step() { if (!outputs[AUDIO_OUTPUT].active) { - Phase phase = ((int)params[PHASE_PARAM].value) == 2 ? PHASE_COSINE : PHASE_SINE; + Phase phase = params[PHASE_PARAM].value > 1.5f ? PHASE_COSINE : PHASE_SINE; lights[SINE_LIGHT].value = phase == PHASE_SINE; lights[COSINE_LIGHT].value = phase == PHASE_COSINE; return; @@ -120,7 +120,7 @@ void Additator::step() { if (_syncTrigger.process(inputs[SYNC_INPUT].value)) { _oscillator.syncToPhase(_phase == PHASE_SINE ? 0.0f : M_PI / 2.0f); } - Phase phase = ((int)params[PHASE_PARAM].value) == 2 ? PHASE_COSINE : PHASE_SINE; + Phase phase = params[PHASE_PARAM].value > 1.5f ? PHASE_COSINE : PHASE_SINE; if (_phase != phase) { _phase = phase; _oscillator.syncToPhase(_phase == PHASE_SINE ? 0.0f : M_PI / 2.0f); diff --git a/src/EightFO.cpp b/src/EightFO.cpp @@ -15,7 +15,7 @@ void EightFO::onSampleRateChange() { } void EightFO::step() { - lights[SLOW_LIGHT].value = _slowMode = ((int)params[SLOW_PARAM].value) == 1; + lights[SLOW_LIGHT].value = _slowMode = params[SLOW_PARAM].value > 0.5f; if (!( outputs[PHASE7_OUTPUT].active || outputs[PHASE6_OUTPUT].active || diff --git a/src/FMOp.cpp b/src/FMOp.cpp @@ -133,14 +133,14 @@ struct FMOpWidget : ModuleWidget { auto ratioParamPosition = Vec(30.0, 45.0); auto fineParamPosition = Vec(112.0, 57.0); auto attackParamPosition = Vec(107.0, 90.0); - auto decayParamPosition = Vec(107.0, 133.0); - auto sustainParamPosition = Vec(107.0, 176.0); - auto releaseParamPosition = Vec(107.0, 219.0); + auto decayParamPosition = Vec(107.0, 132.0); + auto sustainParamPosition = Vec(107.0, 174.0); + auto releaseParamPosition = Vec(107.0, 216.0); auto depthParamPosition = Vec(36.0, 113.0); - auto feedbackParamPosition = Vec(36.0, 162.0); - auto levelParamPosition = Vec(36.0, 211.0); - auto envToLevelParamPosition = Vec(78.0, 255.3); - auto envToFeedbackParamPosition = Vec(128.0, 255.3); + auto feedbackParamPosition = Vec(36.0, 161.0); + auto levelParamPosition = Vec(36.0, 209.0); + auto envToLevelParamPosition = Vec(78.0, 253.8); + auto envToFeedbackParamPosition = Vec(128.5, 253.8); auto depthInputPosition = Vec(15.0, 274.0); auto feedbackInputPosition = Vec(47.0, 274.0); @@ -152,8 +152,8 @@ struct FMOpWidget : ModuleWidget { auto audioOutputPosition = Vec(111.0, 318.0); - auto envToLevelLightPosition = Vec(40.0, 256.5); - auto envToFeedbackLightPosition = Vec(94.0, 256.5); + auto envToLevelLightPosition = Vec(40.0, 255.0); + auto envToFeedbackLightPosition = Vec(94.0, 255.0); // end generated by svg_widgets.rb addParam(ParamWidget::create<Knob38>(ratioParamPosition, module, FMOp::RATIO_PARAM, -1.0, 1.0, 0.0)); @@ -183,4 +183,4 @@ struct FMOpWidget : ModuleWidget { } }; -Model* modelFMOp = Model::create<FMOp, FMOpWidget>("Bogaudio", "Bogaudio-FMOp", "FM-OP", OSCILLATOR_TAG); +Model* modelFMOp = Model::create<FMOp, FMOpWidget>("Bogaudio", "Bogaudio-FMOp", "FM-OP", OSCILLATOR_TAG, SYNTH_VOICE_TAG); diff --git a/src/LFO.cpp b/src/LFO.cpp @@ -15,7 +15,7 @@ void LFO::onSampleRateChange() { } void LFO::step() { - lights[SLOW_LIGHT].value = _slowMode = ((int)params[SLOW_PARAM].value) == 1; + lights[SLOW_LIGHT].value = _slowMode = params[SLOW_PARAM].value > 0.5f; if (!( outputs[SINE_OUTPUT].active || outputs[TRIANGLE_OUTPUT].active || @@ -128,10 +128,10 @@ struct LFOWidget : ModuleWidget { // generated by svg_widgets.rb auto frequencyParamPosition = Vec(41.0, 45.0); auto slowParamPosition = Vec(120.0, 249.0); - auto sampleParamPosition = Vec(37.0, 149.0); - auto pwParamPosition = Vec(102.0, 149.0); - auto offsetParamPosition = Vec(37.0, 191.0); - auto scaleParamPosition = Vec(102.0, 191.0); + auto sampleParamPosition = Vec(37.0, 152.0); + auto pwParamPosition = Vec(102.0, 152.0); + auto offsetParamPosition = Vec(42.0, 197.0); + auto scaleParamPosition = Vec(107.0, 197.0); auto sampleInputPosition = Vec(15.0, 230.0); auto pwInputPosition = Vec(47.0, 230.0); @@ -140,8 +140,8 @@ struct LFOWidget : ModuleWidget { auto pitchInputPosition = Vec(15.0, 318.0); auto resetInputPosition = Vec(47.0, 318.0); - auto rampUpOutputPosition = Vec(79.0, 230.0); - auto rampDownOutputPosition = Vec(79.0, 274.0); + auto rampDownOutputPosition = Vec(79.0, 230.0); + auto rampUpOutputPosition = Vec(79.0, 274.0); auto squareOutputPosition = Vec(111.0, 274.0); auto triangleOutputPosition = Vec(79.0, 318.0); auto sineOutputPosition = Vec(111.0, 318.0); @@ -153,8 +153,8 @@ struct LFOWidget : ModuleWidget { addParam(ParamWidget::create<StatefulButton9>(slowParamPosition, module, LFO::SLOW_PARAM, 0.0, 1.0, 0.0)); addParam(ParamWidget::create<Knob26>(sampleParamPosition, module, LFO::SAMPLE_PARAM, 0.0, 1.0, 0.0)); addParam(ParamWidget::create<Knob26>(pwParamPosition, module, LFO::PW_PARAM, -1.0, 1.0, 0.0)); - addParam(ParamWidget::create<Knob26>(offsetParamPosition, module, LFO::OFFSET_PARAM, -1.0, 1.0, 0.0)); - addParam(ParamWidget::create<Knob26>(scaleParamPosition, module, LFO::SCALE_PARAM, 0.0, 1.0, 1.0)); + addParam(ParamWidget::create<Knob16>(offsetParamPosition, module, LFO::OFFSET_PARAM, -1.0, 1.0, 0.0)); + addParam(ParamWidget::create<Knob16>(scaleParamPosition, module, LFO::SCALE_PARAM, 0.0, 1.0, 1.0)); addInput(Port::create<Port24>(sampleInputPosition, Port::INPUT, module, LFO::SAMPLE_INPUT)); addInput(Port::create<Port24>(pwInputPosition, Port::INPUT, module, LFO::PW_INPUT)); diff --git a/src/VCO.cpp b/src/VCO.cpp @@ -13,10 +13,8 @@ void VCO::onSampleRateChange() { } void VCO::step() { - lights[SLOW_LIGHT].value = _slowMode = ((int)params[SLOW_PARAM].value) == 1; - _fmLinearMode = ((int)params[FM_TYPE_PARAM].value) == 1; - lights[FM_EXP_LIGHT].value = !_fmLinearMode; - lights[FM_LIN_LIGHT].value = _fmLinearMode; + lights[SLOW_LIGHT].value = _slowMode = params[SLOW_PARAM].value > 0.5f; + _fmLinearMode = params[FM_TYPE_PARAM].value < 0.5f; if (!( outputs[SQUARE_OUTPUT].active || @@ -102,12 +100,12 @@ struct VCOWidget : ModuleWidget { addChild(Widget::create<ScrewSilver>(Vec(box.size.x - 15, 365))); // generated by svg_widgets.rb - auto frequencyParamPosition = Vec(40.0, 45.0); - auto fineParamPosition = Vec(47.0, 151.0); - auto slowParamPosition = Vec(121.0, 155.2); - auto pwParamPosition = Vec(61.0, 187.0); - auto fmParamPosition = Vec(52.5, 230.0); - auto fmTypeParamPosition = Vec(96.5, 253.0); + auto frequencyParamPosition = Vec(41.0, 45.0); + auto fineParamPosition = Vec(48.0, 153.0); + auto slowParamPosition = Vec(122.0, 157.2); + auto pwParamPosition = Vec(62.0, 188.0); + auto fmParamPosition = Vec(62.0, 230.0); + auto fmTypeParamPosition = Vec(100.5, 231.5); auto pwInputPosition = Vec(15.0, 274.0); auto fmInputPosition = Vec(47.0, 274.0); @@ -119,9 +117,7 @@ struct VCOWidget : ModuleWidget { auto triangleOutputPosition = Vec(79.0, 318.0); auto sineOutputPosition = Vec(111.0, 318.0); - auto slowLightPosition = Vec(81.0, 156.5); - auto fmExpLightPosition = Vec(87.5, 229.0); - auto fmLinLightPosition = Vec(87.5, 242.3); + auto slowLightPosition = Vec(82.0, 158.5); // end generated by svg_widgets.rb addParam(ParamWidget::create<Knob68>(frequencyParamPosition, module, VCO::FREQUENCY_PARAM, -3.0, 6.0, 0.0)); @@ -129,7 +125,7 @@ struct VCOWidget : ModuleWidget { addParam(ParamWidget::create<StatefulButton9>(slowParamPosition, module, VCO::SLOW_PARAM, 0.0, 1.0, 0.0)); addParam(ParamWidget::create<Knob26>(pwParamPosition, module, VCO::PW_PARAM, -1.0, 1.0, 0.0)); addParam(ParamWidget::create<Knob26>(fmParamPosition, module, VCO::FM_PARAM, 0.0, 1.0, 0.0)); - addParam(ParamWidget::create<StatefulButton9>(fmTypeParamPosition, module, VCO::FM_TYPE_PARAM, 0.0, 1.0, 0.0)); + addParam(ParamWidget::create<SliderSwitch2State14>(fmTypeParamPosition, module, VCO::FM_TYPE_PARAM, 0.0, 1.0, 1.0)); addInput(Port::create<Port24>(pitchInputPosition, Port::INPUT, module, VCO::PITCH_INPUT)); addInput(Port::create<Port24>(syncInputPosition, Port::INPUT, module, VCO::SYNC_INPUT)); @@ -142,8 +138,6 @@ struct VCOWidget : ModuleWidget { addOutput(Port::create<Port24>(sineOutputPosition, Port::OUTPUT, module, VCO::SINE_OUTPUT)); addChild(ModuleLightWidget::create<SmallLight<GreenLight>>(slowLightPosition, module, VCO::SLOW_LIGHT)); - addChild(ModuleLightWidget::create<SmallLight<GreenLight>>(fmExpLightPosition, module, VCO::FM_EXP_LIGHT)); - addChild(ModuleLightWidget::create<SmallLight<GreenLight>>(fmLinLightPosition, module, VCO::FM_LIN_LIGHT)); } }; diff --git a/src/VCO.hpp b/src/VCO.hpp @@ -38,8 +38,6 @@ struct VCO : Module { enum LightsIds { SLOW_LIGHT, - FM_EXP_LIGHT, - FM_LIN_LIGHT, NUM_LIGHTS }; diff --git a/src/XCO.cpp b/src/XCO.cpp @@ -13,10 +13,8 @@ void XCO::onSampleRateChange() { } void XCO::step() { - lights[SLOW_LIGHT].value = _slowMode = ((int)params[SLOW_PARAM].value) == 1; - _fmLinearMode = ((int)params[FM_TYPE_PARAM].value) == 1; - lights[FM_EXP_LIGHT].value = !_fmLinearMode; - lights[FM_LIN_LIGHT].value = _fmLinearMode; + lights[SLOW_LIGHT].value = _slowMode = params[SLOW_PARAM].value > 0.5f; + _fmLinearMode = params[FM_TYPE_PARAM].value < 0.5f; if (!( outputs[MIX_OUTPUT].active || @@ -159,10 +157,10 @@ struct XCOWidget : ModuleWidget { // generated by svg_widgets.rb auto frequencyParamPosition = Vec(40.0, 45.0); - auto fineParamPosition = Vec(65.5, 156.0); - auto slowParamPosition = Vec(90.0, 191.7); - auto fmParamPosition = Vec(61.0, 219.0); - auto fmTypeParamPosition = Vec(82.0, 288.0); + auto fineParamPosition = Vec(47.0, 153.0); + auto slowParamPosition = Vec(121.0, 157.2); + auto fmParamPosition = Vec(55.0, 194.0); + auto fmTypeParamPosition = Vec(83.5, 256.5); auto squarePwParamPosition = Vec(147.0, 60.0); auto squarePhaseParamPosition = Vec(147.0, 148.0); auto squareMixParamPosition = Vec(147.0, 237.0); @@ -176,7 +174,7 @@ struct XCOWidget : ModuleWidget { auto sinePhaseParamPosition = Vec(267.0, 148.0); auto sineMixParamPosition = Vec(267.0, 237.0); - auto fmInputPosition = Vec(34.0, 261.0); + auto fmInputPosition = Vec(40.0, 251.0); auto squarePwInputPosition = Vec(143.0, 95.0); auto squarePhaseInputPosition = Vec(143.0, 183.0); auto squareMixInputPosition = Vec(143.0, 272.0); @@ -198,16 +196,14 @@ struct XCOWidget : ModuleWidget { auto sineOutputPosition = Vec(263.0, 318.0); auto mixOutputPosition = Vec(103.0, 318.0); - auto slowLightPosition = Vec(50.0, 193.0); - auto fmExpLightPosition = Vec(73.0, 264.0); - auto fmLinLightPosition = Vec(73.0, 277.3); + auto slowLightPosition = Vec(81.0, 158.5); // end generated by svg_widgets.rb addParam(ParamWidget::create<Knob68>(frequencyParamPosition, module, XCO::FREQUENCY_PARAM, -3.0, 6.0, 0.0)); addParam(ParamWidget::create<Knob16>(fineParamPosition, module, XCO::FINE_PARAM, -1.0, 1.0, 0.0)); addParam(ParamWidget::create<StatefulButton9>(slowParamPosition, module, XCO::SLOW_PARAM, 0.0, 1.0, 0.0)); - addParam(ParamWidget::create<Knob26>(fmParamPosition, module, XCO::FM_PARAM, 0.0, 1.0, 0.0)); - addParam(ParamWidget::create<StatefulButton9>(fmTypeParamPosition, module, XCO::FM_TYPE_PARAM, 0.0, 1.0, 0.0)); + addParam(ParamWidget::create<Knob38>(fmParamPosition, module, XCO::FM_PARAM, 0.0, 1.0, 0.0)); + addParam(ParamWidget::create<SliderSwitch2State14>(fmTypeParamPosition, module, XCO::FM_TYPE_PARAM, 0.0, 1.0, 1.0)); addParam(ParamWidget::create<Knob16>(squarePwParamPosition, module, XCO::SQUARE_PW_PARAM, -0.97, 0.97, 0.0)); addParam(ParamWidget::create<Knob16>(squarePhaseParamPosition, module, XCO::SQUARE_PHASE_PARAM, -1.0, 1.0, 0.0)); addParam(ParamWidget::create<Knob16>(squareMixParamPosition, module, XCO::SQUARE_MIX_PARAM, 0.0, 1.0, 1.0)); @@ -244,8 +240,6 @@ struct XCOWidget : ModuleWidget { addOutput(Port::create<Port24>(mixOutputPosition, Port::OUTPUT, module, XCO::MIX_OUTPUT)); addChild(ModuleLightWidget::create<SmallLight<GreenLight>>(slowLightPosition, module, XCO::SLOW_LIGHT)); - addChild(ModuleLightWidget::create<SmallLight<GreenLight>>(fmExpLightPosition, module, XCO::FM_EXP_LIGHT)); - addChild(ModuleLightWidget::create<SmallLight<GreenLight>>(fmLinLightPosition, module, XCO::FM_LIN_LIGHT)); } }; diff --git a/src/XCO.hpp b/src/XCO.hpp @@ -61,8 +61,6 @@ struct XCO : Module { enum LightsIds { SLOW_LIGHT, - FM_EXP_LIGHT, - FM_LIN_LIGHT, NUM_LIGHTS };