computerscare-vcv-modules

computerscare modules for VCV Rack
Log | Files | Refs

commit e7ae208842d07803f074ce035aa5c274927d1109
parent b6ea35836a6225d69231ce249065bcef9918d7ee
Author: Adam M <aemalone@gmail.com>
Date:   Fri, 25 Dec 2020 09:37:07 -0600

penerator panel, horse modes

Diffstat:
Mres/ComputerscareGolyPeneratorPanel.svg | 180++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---------------
Msrc/ComputerscareGolyPenerator.cpp | 30+++++++++++++++---------------
Msrc/ComputerscareHorseADoodleDoo.cpp | 20+++++++++++++++-----
3 files changed, 177 insertions(+), 53 deletions(-)

diff --git a/res/ComputerscareGolyPeneratorPanel.svg b/res/ComputerscareGolyPeneratorPanel.svg @@ -1,6 +1,4 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> -<!-- Created with Inkscape (http://www.inkscape.org/) --> - <svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" @@ -14,7 +12,7 @@ viewBox="0 0 15.875 100.54167" version="1.1" id="svg8" - inkscape:version="0.92.2 5c3e80d, 2017-08-06" + inkscape:version="1.0.1 (c497b03c, 2020-09-10)" sodipodi:docname="ComputerscareGolyPeneratorPanel.svg" style="enable-background:new"> <defs @@ -26,9 +24,9 @@ borderopacity="1.0" inkscape:pageopacity="0.0" inkscape:pageshadow="2" - inkscape:zoom="8.0000004" - inkscape:cx="34.585767" - inkscape:cy="369.60644" + inkscape:zoom="4.0000002" + inkscape:cx="39.643621" + inkscape:cy="244.8204" inkscape:document-units="mm" inkscape:current-layer="g1669" showgrid="false" @@ -38,13 +36,14 @@ inkscape:bbox-nodes="true" inkscape:snap-bbox-edge-midpoints="true" inkscape:window-width="1440" - inkscape:window-height="856" + inkscape:window-height="855" inkscape:window-x="0" - inkscape:window-y="0" - inkscape:window-maximized="0" + inkscape:window-y="23" + inkscape:window-maximized="1" inkscape:snap-global="false" showguides="false" - inkscape:lockguides="false" /> + inkscape:lockguides="false" + inkscape:document-rotation="0" /> <metadata id="metadata5"> <rdf:RDF> @@ -53,7 +52,7 @@ <dc:format>image/svg+xml</dc:format> <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> - <dc:title></dc:title> + <dc:title /> </cc:Work> </rdf:RDF> </metadata> @@ -70,7 +69,7 @@ inkscape:connector-curvature="0" /> <text xml:space="preserve" - style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332" + style="font-style:normal;font-weight:normal;font-size:10.5833px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583" x="8.2147436" y="295.57718" id="text1490" @@ -79,22 +78,22 @@ id="tspan1488" x="8.2147436" y="295.57718" - style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.26458332">computerscare</tspan></text> + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.264583">computerscare</tspan></text> <text transform="rotate(-5.9989835)" id="text1494" y="288.0314" x="-28.710276" - style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332" + style="font-style:normal;font-weight:normal;font-size:10.5833px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583" xml:space="preserve"><tspan - style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.26458332" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.264583" y="288.0314" x="-28.710276" id="tspan1492" sodipodi:role="line">trg</tspan></text> <text xml:space="preserve" - style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332" + style="font-style:normal;font-weight:normal;font-size:10.5833px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583" x="20.711658" y="288.87244" id="text1498" @@ -103,15 +102,15 @@ id="tspan1496" x="20.711658" y="288.87244" - style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.26458332">in</tspan></text> + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.264583">in</tspan></text> <text transform="rotate(0.49746114)" id="text1521" y="289.16214" x="20.314623" - style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332" + style="font-style:normal;font-weight:normal;font-size:10.5833px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583" xml:space="preserve"><tspan - style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.17499995px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.26458332" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.175px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.264583" y="289.16214" x="20.314623" id="tspan1519" @@ -121,9 +120,9 @@ id="text1645" y="204.61243" x="-10.296249" - style="font-style:normal;font-weight:normal;font-size:10.74719143px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26867977" + style="font-style:normal;font-weight:normal;font-size:10.7472px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26868" xml:space="preserve"><tspan - style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:5.01535606px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.26867977" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:5.01536px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.26868" y="204.61243" x="-10.296249" id="tspan1643" @@ -154,12 +153,12 @@ x="3.9198055" y="238.41199" /> <rect - style="fill:#fcfcfc;fill-opacity:1;stroke:#666666;stroke-width:0.263;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers" + style="fill:#fcfcfc;fill-opacity:1;stroke:#666666;stroke-width:0.362623;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers" id="rect1123" - width="21.034372" - height="28.839581" - x="-6.4161453" - y="213.19322" /> + width="14.320168" + height="80.53215" + x="0.24824893" + y="199.22011" /> <g aria-label="computerscare" transform="matrix(0.60064444,-0.07085766,0.25618802,1.4708996,-77.768926,-137.20328)" @@ -236,7 +235,7 @@ </g> <g id="g9547" - transform="matrix(0.23127322,-0.10884571,0.02054862,0.32688517,-1.1606061,287.19328)"> + transform="matrix(0.23127322,-0.07546583,0.02054862,0.22663881,-1.1606061,289.06733)"> <g style="display:inline" inkscape:label="Layer 1" @@ -249,7 +248,7 @@ <path id="rect5874" d="m 14.667374,10.662096 h 3.995763 v 1.331921 h -3.995763 z" - style="opacity:1;fill:#ffffff;fill-opacity:0.98571424;stroke:#000000;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + style="opacity:1;fill:#ffffff;fill-opacity:0.985714;stroke:#000000;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" inkscape:connector-curvature="0" /> <path id="rect5878" @@ -260,7 +259,7 @@ <path id="rect5880" d="m 26.64423,10.662096 -3.171232,0.209056 v 1.331921 l 3.171232,-0.209056 z" - style="opacity:1;fill:#ffffff;fill-opacity:0.98571424;stroke:#000000;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + style="opacity:1;fill:#ffffff;fill-opacity:0.985714;stroke:#000000;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" inkscape:connector-curvature="0" /> <path id="rect5882" @@ -293,8 +292,7 @@ d="M 0.56126595,197.843 H 15.154181 v 16.83798 H 0.56126595 Z" id="rect1087" /> <g - aria-label="goly -penerator" + aria-label="goly penerator" style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#fcfcfc;fill-opacity:1;stroke:none;stroke-width:0.26458332" id="text1092" transform="matrix(0.41379048,0,0,0.48986175,-12.489446,90.192177)"> @@ -372,10 +370,126 @@ penerator" inkscape:connector-curvature="0" /> </g> <path - style="fill:#fcfcfc;fill-opacity:1;stroke:#666666;stroke-width:0.54941285;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers" - d="m 1.1353945,240.78695 12.5402735,0.0459 -0.258787,1.37905 -0.365747,12.95368 -11.9157329,-0.0459 z" + style="fill:#fcfcfc;fill-opacity:1;stroke:#464646;stroke-width:0.296;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers" + d="m 0.84393651,279.05851 14.57839849,0.0321 -0.300846,0.96549 -0.42519,9.06913 -13.85235483,-0.0321 z" id="rect1127" inkscape:connector-curvature="0" sodipodi:nodetypes="cccccc" /> + <g + aria-label="scale" + transform="scale(0.79744536,1.2540044)" + id="text1023" + style="font-style:normal;font-weight:normal;font-size:2.98674px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.074669"> + <path + d="m 11.691861,217.14857 q 0,0.22313 -0.185213,0.36605 -0.183755,0.14292 -0.503138,0.14292 -0.180838,0 -0.332508,-0.0423 -0.150212,-0.0438 -0.252298,-0.0948 v -0.30771 h 0.01458 q 0.129795,0.0977 0.288757,0.15604 0.158962,0.0569 0.304799,0.0569 0.180838,0 0.282924,-0.0583 0.102086,-0.0583 0.102086,-0.18375 0,-0.0962 -0.05542,-0.14584 -0.05542,-0.0496 -0.212922,-0.0846 -0.05833,-0.0131 -0.153129,-0.0306 -0.09334,-0.0175 -0.170629,-0.0379 -0.214381,-0.0569 -0.304799,-0.16625 -0.08896,-0.11084 -0.08896,-0.27126 0,-0.10062 0.04083,-0.18958 0.04229,-0.089 0.126879,-0.15897 0.08167,-0.0685 0.207088,-0.10792 0.126878,-0.0408 0.282924,-0.0408 0.145836,0 0.29459,0.0365 0.150212,0.035 0.249381,0.086 v 0.29313 h -0.01458 q -0.105003,-0.0773 -0.255215,-0.12979 -0.150212,-0.054 -0.294591,-0.054 -0.150212,0 -0.253756,0.0583 -0.103544,0.0569 -0.103544,0.17062 0,0.10063 0.06271,0.15167 0.06125,0.0511 0.198338,0.0831 0.07583,0.0175 0.169171,0.035 0.09479,0.0175 0.157504,0.0321 0.191046,0.0437 0.29459,0.15021 0.103545,0.10792 0.103545,0.28584 z" + style="stroke-width:0.074669" + id="path1059" /> + <path + d="m 13.290233,217.51608 q -0.137087,0.0656 -0.261048,0.10208 -0.122503,0.0365 -0.261048,0.0365 -0.176463,0 -0.323758,-0.051 -0.147295,-0.0525 -0.252298,-0.1575 -0.106461,-0.10501 -0.164796,-0.26543 -0.05833,-0.16042 -0.05833,-0.3748 0,-0.39959 0.218755,-0.6271 0.220214,-0.2275 0.580431,-0.2275 0.140003,0 0.274173,0.0394 0.135629,0.0394 0.247923,0.0963 v 0.3048 h -0.01458 q -0.125419,-0.0977 -0.259589,-0.15022 -0.132712,-0.0525 -0.25959,-0.0525 -0.233339,0 -0.368967,0.15751 -0.13417,0.15604 -0.13417,0.45938 0,0.29459 0.131253,0.45356 0.132711,0.1575 0.371884,0.1575 0.08313,0 0.169171,-0.0219 0.08604,-0.0219 0.154587,-0.0569 0.05979,-0.0306 0.112294,-0.0642 0.0525,-0.035 0.08313,-0.0598 h 0.01458 z" + style="stroke-width:0.074669" + id="path1061" /> + <path + d="m 14.909023,217.61816 h -0.272715 v -0.17354 q -0.03646,0.0248 -0.09917,0.07 -0.06125,0.0437 -0.119586,0.07 -0.06854,0.0335 -0.157504,0.0554 -0.08896,0.0233 -0.208547,0.0233 -0.220214,0 -0.373343,-0.14583 -0.153128,-0.14584 -0.153128,-0.37189 0,-0.18521 0.07875,-0.29896 0.08021,-0.11521 0.227506,-0.18084 0.148754,-0.0656 0.357301,-0.089 0.208546,-0.0233 0.447719,-0.035 v -0.0423 q 0,-0.0933 -0.03354,-0.15458 -0.03208,-0.0613 -0.09333,-0.0962 -0.05833,-0.0335 -0.140004,-0.0452 -0.08167,-0.0117 -0.170629,-0.0117 -0.107919,0 -0.240631,0.0292 -0.132711,0.0277 -0.274173,0.0817 h -0.01458 v -0.27855 q 0.08021,-0.0219 0.231881,-0.0481 0.15167,-0.0263 0.298965,-0.0263 0.172088,0 0.298966,0.0292 0.128337,0.0277 0.221672,0.0962 0.09188,0.0671 0.140004,0.17355 0.04813,0.10646 0.04813,0.26396 z m -0.272715,-0.40105 v -0.45355 q -0.12542,0.007 -0.296049,0.0219 -0.169171,0.0146 -0.26834,0.0423 -0.118128,0.0335 -0.191046,0.105 -0.07292,0.07 -0.07292,0.19396 0,0.14001 0.08459,0.21147 0.08458,0.07 0.258131,0.07 0.144378,0 0.263965,-0.0554 0.119586,-0.0569 0.221672,-0.13563 z" + style="stroke-width:0.074669" + id="path1063" /> + <path + d="m 15.71696,217.61816 h -0.274174 v -2.26922 h 0.274174 z" + style="stroke-width:0.074669" + id="path1065" /> + <path + d="m 17.625965,216.8321 h -1.200238 q 0,0.15022 0.04521,0.26251 0.04521,0.11084 0.123962,0.1823 0.07583,0.07 0.179379,0.105 0.105003,0.035 0.230423,0.035 0.166254,0 0.333966,-0.0656 0.169171,-0.0671 0.240631,-0.13125 h 0.01458 v 0.29896 q -0.138545,0.0583 -0.282924,0.0977 -0.144378,0.0394 -0.303341,0.0394 -0.405426,0 -0.632932,-0.21875 -0.227505,-0.22022 -0.227505,-0.62419 0,-0.39959 0.217297,-0.63439 0.218755,-0.23479 0.574597,-0.23479 0.329591,0 0.507512,0.1925 0.17938,0.19251 0.17938,0.54689 z m -0.266882,-0.21 q -0.0015,-0.21584 -0.109377,-0.33397 -0.106461,-0.11813 -0.325217,-0.11813 -0.220213,0 -0.351467,0.1298 -0.129795,0.12979 -0.147295,0.3223 z" + style="stroke-width:0.074669" + id="path1067" /> + </g> + <g + aria-label="offset" + transform="matrix(0.79744536,0,0,1.2540044,0,-0.52916667)" + id="text1040" + style="font-style:normal;font-weight:normal;font-size:2.98674px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.074669"> + <path + d="m 2.2945782,215.80218 q 0,0.39814 -0.2041717,0.62856 -0.2041717,0.23042 -0.5468884,0.23042 -0.3456335,0 -0.54980521,-0.23042 -0.20271331,-0.23042 -0.20271331,-0.62856 0,-0.39813 0.20271331,-0.62856 0.20417171,-0.23188 0.54980521,-0.23188 0.3427167,0 0.5468884,0.23188 0.2041717,0.23043 0.2041717,0.62856 z m -0.2829236,0 q 0,-0.31646 -0.1239614,-0.46959 -0.1239614,-0.15459 -0.3441751,-0.15459 -0.2231305,0 -0.3470919,0.15459 -0.122503,0.15313 -0.122503,0.46959 0,0.30626 0.1239614,0.46522 0.1239614,0.15751 0.3456335,0.15751 0.2187554,0 0.3427167,-0.15605 0.1254198,-0.1575 0.1254198,-0.46668 z" + style="stroke-width:0.074669" + id="path1042" /> + <path + d="m 3.5969019,214.61215 h -0.014584 q -0.045209,-0.0131 -0.1181279,-0.0263 -0.072918,-0.0146 -0.1283365,-0.0146 -0.1764627,0 -0.256673,0.0788 -0.078752,0.0773 -0.078752,0.28147 v 0.0554 H 3.494816 v 0.23043 H 3.0091791 v 1.39857 H 2.7350057 v -1.39857 H 2.5497928 v -0.23043 h 0.1852129 v -0.054 q 0,-0.29021 0.1443785,-0.4448 0.1443786,-0.15604 0.4170936,-0.15604 0.091877,0 0.1647957,0.009 0.074377,0.009 0.1356284,0.0204 z" + style="stroke-width:0.074669" + id="path1044" /> + <path + d="M 4.6469277,214.61215 H 4.632344 q -0.045209,-0.0131 -0.1181279,-0.0263 -0.072918,-0.0146 -0.1283365,-0.0146 -0.1764627,0 -0.256673,0.0788 -0.078752,0.0773 -0.078752,0.28147 v 0.0554 h 0.4943872 v 0.23043 h -0.485637 v 1.39857 H 3.7850315 v -1.39857 H 3.5998186 v -0.23043 h 0.1852129 v -0.054 q 0,-0.29021 0.1443786,-0.4448 0.1443785,-0.15604 0.4170935,-0.15604 0.091877,0 0.1647958,0.009 0.074377,0.009 0.1356283,0.0204 z" + style="stroke-width:0.074669" + id="path1046" /> + <path + d="m 5.9842521,216.14636 q 0,0.22313 -0.1852129,0.36605 -0.1837545,0.14292 -0.5031373,0.14292 -0.1808378,0 -0.3325082,-0.0423 -0.150212,-0.0438 -0.2522979,-0.0948 v -0.30772 h 0.014584 q 0.1297949,0.0977 0.2887571,0.15605 0.1589623,0.0569 0.3047992,0.0569 0.1808378,0 0.2829236,-0.0583 0.1020858,-0.0583 0.1020858,-0.18375 0,-0.0963 -0.055418,-0.14584 -0.055418,-0.0496 -0.2129219,-0.0846 -0.058335,-0.0131 -0.1531288,-0.0306 -0.093336,-0.0175 -0.1706291,-0.0379 -0.2143803,-0.0569 -0.3047992,-0.16625 -0.08896,-0.11084 -0.08896,-0.27126 0,-0.10063 0.040834,-0.18959 0.042293,-0.089 0.1268781,-0.15896 0.081669,-0.0685 0.2070885,-0.10792 0.1268781,-0.0408 0.2829236,-0.0408 0.1458369,0 0.2945906,0.0365 0.150212,0.035 0.2493811,0.086 v 0.29313 h -0.014584 q -0.1050026,-0.0773 -0.2552146,-0.12979 -0.150212,-0.054 -0.2945906,-0.054 -0.150212,0 -0.2537562,0.0583 -0.1035442,0.0569 -0.1035442,0.17063 0,0.10063 0.06271,0.15167 0.061252,0.0511 0.1983382,0.0831 0.075835,0.0175 0.1691709,0.035 0.094794,0.0175 0.1575038,0.0321 0.1910464,0.0438 0.2945906,0.15022 0.1035442,0.10792 0.1035442,0.28584 z" + style="stroke-width:0.074669" + id="path1048" /> + <path + d="M 7.7415872,215.82989 H 6.5413494 q 0,0.15021 0.045209,0.26251 0.04521,0.11083 0.1239614,0.18229 0.075835,0.07 0.1793794,0.10501 0.1050026,0.035 0.2304223,0.035 0.1662541,0 0.3339666,-0.0656 0.1691708,-0.0671 0.2406309,-0.13125 h 0.014584 v 0.29896 q -0.1385451,0.0583 -0.2829236,0.0977 -0.1443786,0.0394 -0.3033408,0.0394 -0.4054267,0 -0.6329322,-0.21876 -0.2275056,-0.22021 -0.2275056,-0.62418 0,-0.39959 0.217297,-0.63439 0.2187553,-0.2348 0.5745974,-0.2348 0.3295915,0 0.5075125,0.19251 0.1793794,0.1925 0.1793794,0.54689 z m -0.2668815,-0.21 q -0.00146,-0.21584 -0.1093777,-0.33397 -0.106461,-0.11813 -0.3252164,-0.11813 -0.2202137,0 -0.3514669,0.1298 -0.1297949,0.12979 -0.1472953,0.3223 z" + style="stroke-width:0.074669" + id="path1050" /> + <path + d="m 9.0030767,216.60137 q -0.077293,0.0204 -0.1691708,0.0335 -0.090419,0.0131 -0.161879,0.0131 -0.2493811,0 -0.379176,-0.13417 -0.1297948,-0.13417 -0.1297948,-0.43022 v -0.86627 H 7.9778432 v -0.23043 h 0.1852129 v -0.46813 h 0.2741734 v 0.46813 h 0.5658472 v 0.23043 H 8.4372295 v 0.74231 q 0,0.12833 0.00583,0.20125 0.00583,0.0715 0.040834,0.13417 0.032084,0.0583 0.087502,0.086 0.056876,0.0263 0.1720876,0.0263 0.067085,0 0.1400035,-0.0189 0.072918,-0.0204 0.1050025,-0.0336 h 0.014584 z" + style="stroke-width:0.074669" + id="path1052" /> + </g> + <g + aria-label="spread" + transform="matrix(0.69156414,0,0,1.4459975,0.19843749,0.39687498)" + id="text1072" + style="font-style:normal;font-weight:normal;font-size:2.59017px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.0647548"> + <path + d="m 2.0229424,150.25746 q 0,0.1935 -0.1606209,0.31745 -0.1593562,0.12394 -0.4363323,0.12394 -0.1568267,0 -0.2883588,-0.0367 -0.1302673,-0.0379 -0.21879852,-0.0822 v -0.26686 h 0.0126473 q 0.11256112,0.0847 0.25041682,0.13532 0.1378557,0.0493 0.2643289,0.0493 0.1568267,0 0.2453579,-0.0506 0.088531,-0.0506 0.088531,-0.15936 0,-0.0835 -0.04806,-0.12647 -0.04806,-0.043 -0.1846508,-0.0734 -0.050589,-0.0114 -0.1327968,-0.0266 -0.080943,-0.0152 -0.1479736,-0.0329 -0.1859155,-0.0493 -0.2643288,-0.14418 -0.0771487,-0.0961 -0.0771487,-0.23524 0,-0.0873 0.0354125,-0.16441 0.0366772,-0.0772 0.11003161,-0.13786 0.070825,-0.0594 0.1795919,-0.0936 0.1100316,-0.0354 0.2453579,-0.0354 0.1264731,0 0.2554757,0.0316 0.1302674,0.0303 0.2162691,0.0746 v 0.25421 h -0.012647 q -0.091061,-0.067 -0.221328,-0.11256 -0.1302673,-0.0468 -0.2554757,-0.0468 -0.1302674,0 -0.2200633,0.0506 -0.089796,0.0493 -0.089796,0.14798 0,0.0873 0.054383,0.13153 0.053119,0.0443 0.1720035,0.0721 0.065766,0.0152 0.1467088,0.0303 0.082208,0.0152 0.136591,0.0278 0.1656798,0.0379 0.2554758,0.13026 0.089796,0.0936 0.089796,0.24789 z" + style="stroke-width:0.0647548" + id="path1074" /> + <path + d="m 3.6076509,149.94128 q 0,0.172 -0.049325,0.31492 -0.049324,0.14165 -0.1391204,0.24029 -0.083472,0.0936 -0.1972981,0.14545 -0.1125611,0.0506 -0.2390343,0.0506 -0.1100316,0 -0.1998275,-0.024 -0.088531,-0.024 -0.1808566,-0.0746 v 0.59189 H 2.3644199 V 149.252 h 0.2377695 v 0.14797 q 0.094855,-0.0797 0.2124749,-0.13279 0.1188847,-0.0544 0.2529463,-0.0544 0.2554757,0 0.3971256,0.19351 0.1429147,0.19223 0.1429147,0.53498 z m -0.2453579,0.006 q 0,-0.25548 -0.087267,-0.38195 -0.087267,-0.12647 -0.2681231,-0.12647 -0.1024432,0 -0.2061512,0.0443 -0.1037079,0.0443 -0.1985628,0.11636 v 0.80057 q 0.1011785,0.0455 0.1732682,0.062 0.073354,0.0164 0.1656798,0.0164 0.1985628,0 0.3098592,-0.13406 0.1112964,-0.13407 0.1112964,-0.39713 z" + style="stroke-width:0.0647548" + id="path1076" /> + <path + d="M 4.859735,149.51127 H 4.847088 q -0.053119,-0.0127 -0.103708,-0.0177 -0.049324,-0.006 -0.11762,-0.006 -0.1100317,0 -0.2124749,0.0493 -0.1024432,0.0481 -0.1972981,0.12521 v 1.00293 H 3.9782172 v -1.4127 h 0.2377695 v 0.20868 q 0.1416499,-0.11383 0.2491521,-0.16062 0.1087669,-0.0481 0.221328,-0.0481 0.061972,0 0.089796,0.004 0.027824,0.003 0.083472,0.0114 z" + style="stroke-width:0.0647548" + id="path1078" /> + <path + d="M 6.268646,149.98301 H 5.227772 q 0,0.13027 0.039207,0.22765 0.039207,0.0961 0.1075022,0.1581 0.065766,0.0607 0.1555619,0.0911 0.091061,0.0303 0.1998276,0.0303 0.1441794,0 0.2896235,-0.0569 0.1467088,-0.0582 0.2086807,-0.11383 h 0.012647 v 0.25927 q -0.1201495,0.0506 -0.2453579,0.0847 -0.1252084,0.0341 -0.2630641,0.0341 -0.3515954,0 -0.5488935,-0.18971 -0.1972981,-0.19098 -0.1972981,-0.54131 0,-0.34653 0.188445,-0.55016 0.1897097,-0.20362 0.4983042,-0.20362 0.2858293,0 0.4401265,0.16695 0.155562,0.16694 0.155562,0.47427 z m -0.2314459,-0.18212 q -0.00126,-0.18718 -0.094855,-0.28962 -0.092325,-0.10244 -0.2820351,-0.10244 -0.1909745,0 -0.3048003,0.11256 -0.1125611,0.11256 -0.1277379,0.2795 z" + style="stroke-width:0.0647548" + id="path1080" /> + <path + d="M 7.7268811,150.6647 H 7.4903763 v -0.1505 q -0.031618,0.0215 -0.086002,0.0607 -0.053119,0.0379 -0.1037079,0.0607 -0.059442,0.0291 -0.136591,0.0481 -0.077149,0.0202 -0.1808566,0.0202 -0.1909744,0 -0.3237712,-0.12647 -0.1327968,-0.12648 -0.1327968,-0.32251 0,-0.16062 0.068295,-0.25927 0.06956,-0.0999 0.1972981,-0.15683 0.1290026,-0.0569 0.3098591,-0.0771 0.1808566,-0.0202 0.3882726,-0.0304 v -0.0367 q 0,-0.0809 -0.029089,-0.13406 -0.027824,-0.0531 -0.080943,-0.0835 -0.050589,-0.0291 -0.1214143,-0.0392 -0.070825,-0.0101 -0.1479735,-0.0101 -0.09359,0 -0.2086807,0.0253 -0.1150906,0.024 -0.2377695,0.0708 h -0.012647 v -0.24157 q 0.06956,-0.019 0.2010923,-0.0417 0.131532,-0.0228 0.2592699,-0.0228 0.1492383,0 0.2592699,0.0253 0.1112964,0.024 0.1922392,0.0835 0.079678,0.0582 0.1214142,0.1505 0.041736,0.0923 0.041736,0.22892 z m -0.2365048,-0.3478 v -0.39333 q -0.1087669,0.006 -0.2567405,0.019 -0.1467088,0.0126 -0.2327106,0.0367 -0.1024432,0.0291 -0.1656798,0.0911 -0.063237,0.0607 -0.063237,0.16821 0,0.12141 0.073354,0.18338 0.073354,0.0607 0.2238574,0.0607 0.1252084,0 0.2289164,-0.0481 0.103708,-0.0493 0.1922392,-0.11762 z" + style="stroke-width:0.0647548" + id="path1082" /> + <path + d="M 9.3330897,150.6647 H 9.0953202 v -0.14797 q -0.1024432,0.0885 -0.2137396,0.13786 -0.1112964,0.0493 -0.2415637,0.0493 -0.2529463,0 -0.4021846,-0.19477 -0.1479736,-0.19477 -0.1479736,-0.54004 0,-0.17959 0.050589,-0.31998 0.051854,-0.14038 0.1391205,-0.23903 0.086002,-0.0961 0.1998275,-0.14671 0.1150906,-0.0506 0.2377695,-0.0506 0.1112964,0 0.1972981,0.024 0.086002,0.0228 0.1808566,0.0721 v -0.61213 h 0.2377695 z m -0.2377695,-0.3478 v -0.81069 q -0.09612,-0.043 -0.1720035,-0.0594 -0.075884,-0.0164 -0.1656798,-0.0164 -0.1998275,0 -0.3111239,0.13912 -0.1112964,0.13912 -0.1112964,0.39459 0,0.25168 0.086002,0.38322 0.086002,0.13026 0.2757114,0.13026 0.1011785,0 0.2048865,-0.0443 0.103708,-0.0455 0.1935039,-0.11636 z" + style="stroke-width:0.0647548" + id="path1084" /> + </g> + <g + aria-label="center" + transform="scale(0.75364817,1.3268791)" + id="text1089" + style="font-style:normal;font-weight:normal;font-size:2.8227px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.070568"> + <path + d="m 11.475263,163.79482 q -0.129558,0.062 -0.246711,0.0965 -0.115775,0.0344 -0.246711,0.0344 -0.166771,0 -0.305976,-0.0482 -0.139205,-0.0496 -0.238441,-0.14885 -0.100614,-0.0992 -0.155745,-0.25085 -0.05513,-0.1516 -0.05513,-0.35421 0,-0.37765 0.20674,-0.59266 0.208119,-0.21501 0.548552,-0.21501 0.132314,0 0.259115,0.0372 0.12818,0.0372 0.234307,0.091 v 0.28806 h -0.01378 q -0.118532,-0.0923 -0.245333,-0.14196 -0.125422,-0.0496 -0.245332,-0.0496 -0.220523,0 -0.348703,0.14885 -0.126801,0.14748 -0.126801,0.43416 0,0.27841 0.124045,0.42864 0.125423,0.14885 0.351459,0.14885 0.07856,0 0.15988,-0.0207 0.08132,-0.0207 0.146096,-0.0538 0.05651,-0.0289 0.106127,-0.0606 0.04962,-0.0331 0.07856,-0.0565 h 0.01378 z" + style="stroke-width:0.070568" + id="path1091" /> + <path + d="m 13.097488,163.14841 h -1.134317 q 0,0.14196 0.04273,0.24809 0.04273,0.10475 0.117153,0.17228 0.07167,0.0662 0.169527,0.0992 0.09924,0.0331 0.217767,0.0331 0.157123,0 0.315625,-0.062 0.159879,-0.0634 0.227414,-0.12404 h 0.01378 v 0.28254 q -0.130936,0.0551 -0.267385,0.0923 -0.136448,0.0372 -0.28668,0.0372 -0.38316,0 -0.59817,-0.20674 -0.21501,-0.20812 -0.21501,-0.5899 0,-0.37765 0.205362,-0.59955 0.206741,-0.2219 0.543039,-0.2219 0.31149,0 0.479639,0.18193 0.169527,0.18193 0.169527,0.51685 z m -0.252224,-0.19847 q -0.0014,-0.20399 -0.10337,-0.31563 -0.100614,-0.11164 -0.307355,-0.11164 -0.208119,0 -0.332163,0.12267 -0.122666,0.12267 -0.139205,0.3046 z" + style="stroke-width:0.070568" + id="path1093" /> + <path + d="m 14.777601,163.8913 h -0.259115 v -0.87658 q 0,-0.10613 -0.0124,-0.19848 -0.0124,-0.0937 -0.04548,-0.14609 -0.03446,-0.0579 -0.09924,-0.0855 -0.06478,-0.029 -0.168149,-0.029 -0.106127,0 -0.221902,0.0524 -0.115775,0.0524 -0.221901,0.13369 v 1.14948 h -0.259115 v -1.53953 h 0.259115 v 0.1709 q 0.121287,-0.10061 0.250845,-0.15712 0.129558,-0.0565 0.266006,-0.0565 0.249468,0 0.380403,0.15023 0.130936,0.15023 0.130936,0.43278 z" + style="stroke-width:0.070568" + id="path1095" /> + <path + d="m 16.075933,163.87751 q -0.07305,0.0193 -0.15988,0.0317 -0.08545,0.0124 -0.152988,0.0124 -0.235684,0 -0.358351,-0.1268 -0.122666,-0.1268 -0.122666,-0.40659 v -0.8187 h -0.17504 v -0.21776 h 0.17504 v -0.44243 h 0.259115 v 0.44243 h 0.53477 v 0.21776 h -0.53477 v 0.70154 q 0,0.12129 0.0055,0.19021 0.0055,0.0675 0.03859,0.1268 0.03032,0.0551 0.0827,0.0813 0.05375,0.0248 0.162636,0.0248 0.0634,0 0.132314,-0.0179 0.06891,-0.0193 0.09924,-0.0317 h 0.01378 z" + style="stroke-width:0.070568" + id="path1097" /> + <path + d="m 17.678863,163.14841 h -1.134318 q 0,0.14196 0.04273,0.24809 0.04273,0.10475 0.117153,0.17228 0.07167,0.0662 0.169527,0.0992 0.09924,0.0331 0.217767,0.0331 0.157123,0 0.315624,-0.062 0.15988,-0.0634 0.227415,-0.12404 h 0.01378 v 0.28254 q -0.130936,0.0551 -0.267385,0.0923 -0.136449,0.0372 -0.28668,0.0372 -0.38316,0 -0.59817,-0.20674 -0.215011,-0.20812 -0.215011,-0.5899 0,-0.37765 0.205363,-0.59955 0.206741,-0.2219 0.543039,-0.2219 0.311489,0 0.479638,0.18193 0.169528,0.18193 0.169528,0.51685 z m -0.252224,-0.19847 q -0.0014,-0.20399 -0.10337,-0.31563 -0.100614,-0.11164 -0.307355,-0.11164 -0.208119,0 -0.332163,0.12267 -0.122667,0.12267 -0.139206,0.3046 z" + style="stroke-width:0.070568" + id="path1099" /> + <path + d="m 19.032325,162.63431 h -0.01378 q -0.05789,-0.0138 -0.113018,-0.0193 -0.05375,-0.007 -0.128179,-0.007 -0.11991,0 -0.23155,0.0538 -0.11164,0.0524 -0.21501,0.13645 v 1.09297 H 18.07167 v -1.53953 h 0.259115 v 0.22741 q 0.154366,-0.12404 0.271519,-0.17504 0.118532,-0.0524 0.241198,-0.0524 0.06753,0 0.09786,0.004 0.03032,0.003 0.09097,0.0124 z" + style="stroke-width:0.070568" + id="path1101" /> + </g> </g> </svg> diff --git a/src/ComputerscareGolyPenerator.cpp b/src/ComputerscareGolyPenerator.cpp @@ -45,9 +45,9 @@ struct ComputerscareGolyPenerator : ComputerscarePolyModule { config(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS); configParam(ALGORITHM , 1.f, 4.f, 1.f, "Algorithm"); - configParam(IN_OFFSET, -1.f, 1.f, 0.f, "Input Offset"); + configParam(IN_OFFSET, -1.f, 1.f, 0.f, "Channel Center"); - configParam(IN_SCALE, -2.f, 2.f, 1.f, "Input Scale"); + configParam(IN_SCALE, -2.f, 2.f, 1.f, "Channel Spread"); configParam(OUT_SCALE, -20.f, 20.f, 10.f, "Output Scale"); configParam(OUT_OFFSET, -10.f, 10.f, 0.f, "Output Offset"); @@ -106,16 +106,16 @@ struct PeneratorDisplay : TransparentWidget { Points pts = Points(); nvgTranslate(args.vg, box.size.x / 2, box.size.y/2+5); - pts.linear(ch, Vec(0, -box.size.y/2), Vec(0, 50)); + pts.linear(ch, Vec(0, -box.size.y/2), Vec(0, 150)); std::vector<Vec> polyVals; std::vector<NVGcolor> colors; std::vector<Vec> thicknesses; for (int i = 0; i < 16; i++) { polyVals.push_back(Vec(valsToDraw[i] * 2,0.f)); - colors.push_back(draw.sincolor(valsToDraw[i],{2,2,1})); + colors.push_back(draw.sincolor(0,{1,1,0})); - thicknesses.push_back(Vec(3.f, 0)); + thicknesses.push_back(Vec(160/(1+ch), 0)); } draw.drawLines(pts.get(), polyVals, colors, thicknesses); } @@ -139,8 +139,8 @@ struct ComputerscareGolyPeneratorWidget : ModuleWidget { PeneratorDisplay *display = new PeneratorDisplay(); display->module = module; - display->box.pos = Vec(0, 70); - display->box.size = Vec(box.size.x, 300); + display->box.pos = Vec(0, 120); + display->box.size = Vec(box.size.x, 400); //display->sizex addChild(display); @@ -148,18 +148,18 @@ struct ComputerscareGolyPeneratorWidget : ModuleWidget { float yy; // ParamWidget* stepsKnob = createParam<LrgKnob>(Vec(108, 30), module, ComputerscarePatchSequencer::STEPS_PARAM); - addLabeledKnob<SmoothKnob>("Algo", 5, 140, module, ComputerscareGolyPenerator::ALGORITHM, 0, 0, true); - addLabeledKnob<SmoothKnob>("In Offset", 10, 250, module, ComputerscareGolyPenerator::IN_OFFSET, 0, 0); - addLabeledKnob<SmallKnob>("In Scale", 20, 300, module, ComputerscareGolyPenerator::IN_SCALE, 0, 0); - addLabeledKnob<SmallKnob>("Out Scale", 30, 260, module, ComputerscareGolyPenerator::OUT_SCALE, 0, 0); - addLabeledKnob<SmoothKnob>("Out Offset", 30, 310, module, ComputerscareGolyPenerator::OUT_OFFSET, 0, 0); + addLabeledKnob<SmoothKnob>("Algo", 5, 30, module, ComputerscareGolyPenerator::ALGORITHM, 0, 0, true); + addLabeledKnob<SmoothKnob>("center", 28, 80, module, ComputerscareGolyPenerator::IN_OFFSET, 0, 0); + addLabeledKnob<SmallKnob>("spread", 5, 86, module, ComputerscareGolyPenerator::IN_SCALE, 0, 0); + addLabeledKnob<SmallKnob>("scale", 33, 290, module, ComputerscareGolyPenerator::OUT_SCALE, 0, 0); + addLabeledKnob<SmoothKnob>("offset", 2, 284, module, ComputerscareGolyPenerator::OUT_OFFSET, 0, 0); //addLabeledKnob("ch out",5,90,module,ComputerscareGolyPenerator::POLY_CHANNELS,-2,0); - channelWidget = new PolyOutputChannelsWidget(Vec(0, 170), module, ComputerscareGolyPenerator::POLY_CHANNELS); + channelWidget = new PolyOutputChannelsWidget(Vec(0, 312), module, ComputerscareGolyPenerator::POLY_CHANNELS); addChild(channelWidget); - addOutput(createOutput<PointingUpPentagonPort>(Vec(18, 184), module, ComputerscareGolyPenerator::POLY_OUTPUT)); + addOutput(createOutput<PointingUpPentagonPort>(Vec(28, 318), module, ComputerscareGolyPenerator::POLY_OUTPUT)); } @@ -183,7 +183,7 @@ struct ComputerscareGolyPeneratorWidget : ModuleWidget { smallLetterDisplay->box.pos = Vec(x + labelDx, y - 12 + labelDy); - addChild(smallLetterDisplay); + //addChild(smallLetterDisplay); } PolyOutputChannelsWidget* channelWidget; diff --git a/src/ComputerscareHorseADoodleDoo.cpp b/src/ComputerscareHorseADoodleDoo.cpp @@ -209,7 +209,7 @@ struct ComputerscareHorseADoodleDoo : ComputerscarePolyModule { configParam<AutoParamQuantity>(POLY_KNOB, 0.f, 16.f, 0.f, "Polyphony"); - configParam(MODE_KNOB, 1.f, 3.f, 1.f, "Mode"); + configParam(MODE_KNOB, 1.f, 4.f, 1.f, "Mode"); configParam(MANUAL_RESET_BUTTON, 0.f, 1.f, 0.f); configParam(MANUAL_CLOCK_BUTTON, 0.f, 1.f, 0.f); @@ -275,7 +275,7 @@ struct ComputerscareHorseADoodleDoo : ComputerscarePolyModule { } seqVal[ch] = overriddenTriggerHigh; } - else if (overrideMode == 3) { + else if (overrideMode == 3 || overrideMode == 4) { if (overriddenTriggerHigh) { seqVal[ch] = seq[ch].tickAndGet(); cvVal[ch] = seq[ch].getCV(); @@ -323,13 +323,13 @@ struct ComputerscareHorseADoodleDoo : ComputerscarePolyModule { if (mode == 1) { //each poly channel processes independent trigger and cv for (int i = 0; i < 16; i++) { - processChannel(i, currentClock[clockChannels[i] - 1], currentReset[resetChannels[i] - 1], isHigh[clockChannels[i] - 1]); } } else if (mode == 2) { // all poly channels 2-16 CV only changes along with channel 1 trigger // what to do with the triggers for these channels? + // force to 1 channel gate output? for (int i = 0; i < 16; i++) { if (i == 0) { processChannel(i, currentClock[clockChannels[i] - 1], currentReset[resetChannels[i] - 1], isHigh[clockChannels[i] - 1]); @@ -338,15 +338,25 @@ struct ComputerscareHorseADoodleDoo : ComputerscarePolyModule { processChannel(i, currentClock[clockChannels[i] - 1], currentReset[resetChannels[i] - 1], isHigh[clockChannels[i] - 1], 2, seqVal[0]); } } + } else if (mode == 3) { + // trigger cascade + for (int i = 0; i < 16; i++) { + if (i == 0) { + processChannel(i, currentClock[clockChannels[i] - 1], currentReset[resetChannels[i] - 1], isHigh[clockChannels[i] - 1]); + } + else { + processChannel(i, currentClock[clockChannels[i] - 1], currentReset[resetChannels[i] - 1], isHigh[clockChannels[i] - 1], 3, seqVal[i - 1]); + } + } } - else if (mode == 3) { + else if (mode == 4) { // eoc cascade: previous channels EOC clocks next channels CV and trigger for (int i = 0; i < 16; i++) { if (i == 0) { processChannel(i, currentClock[clockChannels[i] - 1], currentReset[resetChannels[i] - 1], isHigh[clockChannels[i] - 1]); } else { - processChannel(i, currentClock[clockChannels[i] - 1], currentReset[resetChannels[i] - 1], isHigh[clockChannels[i] - 1], 3, atFirstStepPoly[i - 1]); + processChannel(i, currentClock[clockChannels[i] - 1], currentReset[resetChannels[i] - 1], isHigh[clockChannels[i] - 1], 4, atFirstStepPoly[i - 1]); } } }