computerscare-vcv-modules

computerscare modules for VCV Rack
Log | Files | Refs

commit 70b72edde6add4719a6e399f7699ae8db21d3dec
parent 175158e5280096a01cad446778d44acb3c5c406a
Author: Adam M <aemalone@gmail.com>
Date:   Thu,  4 Jul 2019 16:45:01 -0500

Add Boly Puttons, change default range for Oh Peas, clean up Knoly Pobs

Diffstat:
MMakefile | 1+
Mplugin.json | 5+++++
Ares/ComputerscareBolyPuttonsPanel.svg | 403+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Ares/computerscare-iso-button-small-down.svg | 92+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Ares/computerscare-iso-button-small-up.svg | 84+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Msrc/Computerscare.cpp | 1+
Msrc/Computerscare.hpp | 8++++++++
Asrc/ComputerscareBolyPuttons.cpp | 189+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Msrc/ComputerscareKnolyPobs.cpp | 33++++++---------------------------
Msrc/ComputerscareOhPeas.cpp | 2+-
10 files changed, 790 insertions(+), 28 deletions(-)

diff --git a/Makefile b/Makefile @@ -17,6 +17,7 @@ SOURCES += $(wildcard src/ComputerscareSvgPort.cpp) SOURCES += $(wildcard src/ComputerscareIso.cpp) SOURCES += $(wildcard src/ComputerscareKnolyPobs.cpp) +SOURCES += $(wildcard src/ComputerscareBolyPuttons.cpp) SOURCES += $(wildcard src/ComputerscarePatchSequencer.cpp) SOURCES += $(wildcard src/ComputerscareLaundrySoup.cpp) diff --git a/plugin.json b/plugin.json @@ -15,6 +15,11 @@ "description":"16 knobs with polyphonic output", "tags":["Poly","Utility"] }, + {"slug":"computerscare-bolyputtons", + "name":"Boly Puttons", + "description":"16 momentary or latch buttons with polyphonic output and optional input", + "tags":["Poly","Utility"] + }, {"slug":"computerscare-debug", "name":"Debug", "description":"Debugger, poly sample & hold, poly volt meter", diff --git a/res/ComputerscareBolyPuttonsPanel.svg b/res/ComputerscareBolyPuttonsPanel.svg @@ -0,0 +1,403 @@ +<?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#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="60" + height="380" + viewBox="0 0 15.875 100.54167" + version="1.1" + id="svg8" + inkscape:version="0.92.2 5c3e80d, 2017-08-06" + sodipodi:docname="ComputerscareBolyPuttonsPanel.svg" + style="enable-background:new"> + <defs + id="defs2" /> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="11.313709" + inkscape:cx="28.873505" + inkscape:cy="344.99523" + inkscape:document-units="mm" + inkscape:current-layer="g1669" + showgrid="false" + units="px" + inkscape:snap-bbox="true" + inkscape:snap-page="true" + inkscape:bbox-nodes="true" + inkscape:snap-bbox-edge-midpoints="true" + inkscape:window-width="1440" + inkscape:window-height="856" + inkscape:window-x="0" + inkscape:window-y="0" + inkscape:window-maximized="0" + inkscape:snap-global="false" + showguides="false" + inkscape:lockguides="false" /> + <metadata + id="metadata5"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title></dc:title> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1" + transform="translate(0,-196.45832)" + style="display:none"> + <path + style="opacity:1;vector-effect:none;fill:#f0f0f0;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.48607069;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal" + d="M 0,196.45831 H 23.8125 V 296.99999 H 0 Z" + id="rect817" + 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" + x="8.2147436" + y="295.57718" + id="text1490" + transform="rotate(1.4468834)"><tspan + sodipodi:role="line" + 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> + <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" + 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" + 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" + x="20.711658" + y="288.87244" + id="text1498" + transform="rotate(1.9714728)"><tspan + sodipodi:role="line" + 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> + <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" + 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" + y="289.16214" + x="20.314623" + id="tspan1519" + sodipodi:role="line">clr</tspan></text> + <text + transform="matrix(1.0139335,-0.02825079,0.06854811,0.98434808,0,0)" + 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" + 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" + y="204.61243" + x="-10.296249" + id="tspan1643" + sodipodi:role="line">debug</tspan></text> + </g> + <g + inkscape:groupmode="layer" + id="layer3" + inkscape:label="bg" /> + <g + style="display:inline" + transform="translate(0,-196.45832)" + id="g1669" + inkscape:groupmode="layer" + inkscape:label="Layer 1 copy"> + <path + inkscape:connector-curvature="0" + id="path1647" + d="M 2.3647136,198.04581 H 15.887339 v 98.95418 H 2.3647136 Z" + style="opacity:1;vector-effect:none;fill:#e0e0e0;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.26300001;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal" /> + <path + style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.37162125;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="M 13.773402,196.45833 H -0.01800263 v 13.86979 H 6.7831954 l 5.2596366,-1.91766 1.73057,-2.9436 z" + id="rect888" + inkscape:connector-curvature="0" + sodipodi:nodetypes="ccccccc" /> + <g + aria-label="computerscare" + transform="matrix(0.579664,-0.0209809,0.12827949,1.4870391,-39.556662,-142.90507)" + 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" + id="text1651"> + <path + d="m 9.6564066,294.11837 -0.022491,0.23707 q -0.1028223,-0.0489 -0.2099211,-0.0673 -0.1055806,-0.0199 -0.2168506,-0.009 -0.2488775,0.0238 -0.4014201,0.19401 -0.1524199,0.16888 -0.1792271,0.45145 -0.026804,0.28254 0.095932,0.42654 0.1228661,0.14262 0.371738,0.11887 0.1112317,-0.0106 0.2224055,-0.0498 0.1127112,-0.0408 0.2267849,-0.11044 l -0.022229,0.23431 q -0.111772,0.0599 -0.2295122,0.0956 -0.1163563,0.0357 -0.2456588,0.048 -0.3517468,0.0335 -0.5381239,-0.16582 -0.1863704,-0.19938 -0.1510635,-0.57153 0.035829,-0.37767 0.2649098,-0.61397 0.2304697,-0.23642 0.5947391,-0.27118 0.1181718,-0.0112 0.2283935,0.003 0.110394,0.0127 0.2114822,0.0509 z" + 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" + id="path1701" + inkscape:connector-curvature="0" /> + <path + d="m 10.696255,294.13661 q -0.205776,0.0197 -0.340506,0.19093 -0.134608,0.16992 -0.160888,0.44696 -0.02628,0.27705 0.07673,0.42565 0.104532,0.1471 0.311691,0.12734 0.204372,-0.0195 0.339118,-0.1908 0.134737,-0.1713 0.160888,-0.44696 0.02602,-0.27428 -0.07838,-0.42277 -0.10427,-0.14986 -0.308651,-0.13035 z m 0.0204,-0.21501 q 0.333675,-0.0318 0.503758,0.16499 0.170076,0.19686 0.133987,0.57727 -0.03596,0.37905 -0.246966,0.61361 -0.210875,0.23319 -0.544555,0.26503 -0.335078,0.032 -0.505151,-0.16486 -0.1685548,-0.19836 -0.1325956,-0.5774 0.036091,-0.38042 0.2455756,-0.61348 0.210875,-0.23319 0.545947,-0.26516 z" + 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" + id="path1703" + inkscape:connector-curvature="0" /> + <path + d="m 13.143759,294.1394 q 0.109103,-0.20599 0.261143,-0.30389 0.152033,-0.0979 0.358066,-0.0977 0.277351,3.4e-4 0.428154,0.205 0.150801,0.203 0.151243,0.57869 l 0.0013,1.12376 -0.2932,-3.3e-4 -0.0013,-1.1138 q -3.15e-4,-0.26763 -0.0908,-0.39742 -0.0905,-0.12977 -0.275921,-0.13 -0.226635,-2.7e-4 -0.357993,0.15747 -0.131357,0.15777 -0.131036,0.4304 l 0.0012,1.05229 -0.2932,-3.4e-4 -0.0013,-1.1138 q -3.17e-4,-0.2693 -0.0908,-0.39742 -0.0905,-0.12976 -0.279091,-0.13 -0.223465,-2.8e-4 -0.354821,0.15914 -0.131357,0.15777 -0.131039,0.42874 l 0.0012,1.05227 -0.293194,-3.3e-4 -0.0022,-1.86186 0.293199,3.4e-4 3.42e-4,0.28924 q 0.09965,-0.17108 0.239016,-0.25238 0.139373,-0.0812 0.331141,-0.081 0.193354,2.3e-4 0.328188,0.10342 0.136421,0.10314 0.201631,0.29946 z" + 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.31164581" + id="path1705" + inkscape:connector-curvature="0" /> + <path + d="m 14.742929,294.81667 v 0.81855 h -0.254937 v -2.13044 h 0.254937 v 0.23426 q 0.07993,-0.1378 0.201194,-0.20395 0.122645,-0.0675 0.292144,-0.0675 0.28112,0 0.45613,0.22324 0.176389,0.22324 0.176389,0.58705 0,0.3638 -0.176389,0.58704 -0.17501,0.22324 -0.45613,0.22324 -0.169499,0 -0.292144,-0.0661 -0.121268,-0.0675 -0.201194,-0.20533 z m 0.862652,-0.53881 q 0,-0.27975 -0.115755,-0.43822 -0.114377,-0.15985 -0.315571,-0.15985 -0.201193,0 -0.316949,0.15985 -0.114377,0.15847 -0.114377,0.43822 0,0.27974 0.114377,0.43959 0.115756,0.15847 0.316949,0.15847 0.201194,0 0.315571,-0.15847 0.115755,-0.15985 0.115755,-0.43959 z" + 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" + id="path1707" + inkscape:connector-curvature="0" /> + <path + d="m 16.276561,294.97975 -1.52e-4,-0.94031 0.251931,-0.0648 1.5e-4,0.9306 q 3.6e-5,0.22051 0.08495,0.30972 0.08491,0.0878 0.254686,0.0444 0.204008,-0.052 0.321737,-0.21413 0.119098,-0.16225 0.119061,-0.38971 l -1.43e-4,-0.88065 0.251931,-0.0648 2.51e-4,1.55331 -0.25193,0.0648 -3.9e-5,-0.23855 q -0.09172,0.16493 -0.213559,0.26548 -0.120476,0.0987 -0.280672,0.13983 -0.264253,0.0678 -0.401197,-0.0637 -0.136946,-0.13139 -0.136998,-0.45174 z" + 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" + id="path1709" + inkscape:connector-curvature="0" /> + <path + d="m 18.344702,293.59556 v 0.43822 h 0.522277 v 0.19706 h -0.522277 v 0.83784 q 0,0.18879 0.05099,0.24254 0.05237,0.0537 0.21084,0.0537 h 0.260449 v 0.21222 H 18.60653 q -0.293522,0 -0.405144,-0.10887 -0.111621,-0.11024 -0.111621,-0.39963 V 294.2308 H 17.90373 v -0.19706 h 0.186035 v -0.43822 z" + 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" + id="path1711" + inkscape:connector-curvature="0" /> + <path + d="m 20.508346,294.20141 2.1e-5,0.12482 -1.158332,0.29657 q 0.01648,0.25929 0.156153,0.36223 0.141049,0.1012 0.391609,0.037 0.145134,-0.0376 0.280676,-0.10793 0.136913,-0.0711 0.271081,-0.17758 l 4e-5,0.24133 q -0.135541,0.093 -0.277931,0.15998 -0.14239,0.0669 -0.288893,0.10441 -0.366941,0.094 -0.581938,-0.0673 -0.213628,-0.16169 -0.213688,-0.53061 -6.1e-5,-0.38138 0.202543,-0.65655 0.203972,-0.2769 0.549007,-0.36523 0.309435,-0.0789 0.488832,0.0774 0.180765,0.15485 0.18082,0.50156 z m -0.251942,-0.0103 q -0.0028,-0.2087 -0.116435,-0.30445 -0.112293,-0.0961 -0.298502,-0.0484 -0.210854,0.0537 -0.338169,0.20723 -0.125945,0.15291 -0.145079,0.37694 z" + 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" + id="path1713" + inkscape:connector-curvature="0" /> + <path + d="m 21.832517,294.2708 q -0.04272,-0.0248 -0.09371,-0.0358 -0.04961,-0.0124 -0.110243,-0.0124 -0.214974,0 -0.330729,0.14056 -0.114377,0.13918 -0.114377,0.40101 v 0.81304 h -0.254937 v -1.5434 h 0.254937 v 0.23977 q 0.07993,-0.14056 0.208084,-0.20808 0.128157,-0.0689 0.311436,-0.0689 0.02618,0 0.05788,0.004 0.03169,0.003 0.07028,0.01 z" + 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" + id="path1715" + inkscape:connector-curvature="0" /> + <path + d="m 23.185447,294.16269 -0.03488,0.23723 q -0.09833,-0.0702 -0.208837,-0.11429 -0.110508,-0.0442 -0.233212,-0.0622 -0.186783,-0.0275 -0.289279,0.016 -0.101136,0.0437 -0.117973,0.15816 -0.01283,0.0873 0.04655,0.14753 0.05959,0.0589 0.254751,0.13358 l 0.08309,0.0317 q 0.258799,0.0966 0.355164,0.21797 0.09793,0.12025 0.07046,0.30705 -0.03127,0.21268 -0.218575,0.31189 -0.185938,0.0994 -0.480428,0.0561 -0.122703,-0.018 -0.252707,-0.0622 -0.128844,-0.0426 -0.269062,-0.11204 l 0.03809,-0.25904 q 0.128445,0.0927 0.258001,0.14937 0.129765,0.0553 0.262013,0.0747 0.17724,0.0261 0.281492,-0.0199 0.104454,-0.0473 0.120693,-0.15775 0.01504,-0.10226 -0.04648,-0.16702 -0.06015,-0.0645 -0.285871,-0.14928 l -0.08424,-0.0333 q -0.225922,-0.0833 -0.314703,-0.19949 -0.08858,-0.11748 -0.06252,-0.29473 0.03167,-0.21541 0.201614,-0.31021 0.169938,-0.0948 0.450794,-0.0535 0.139065,0.0204 0.258757,0.059 0.119693,0.0385 0.217301,0.0946 z" + 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" + id="path1717" + inkscape:connector-curvature="0" /> + <path + d="m 24.74878,294.2652 c -0.08645,0.15984 -0.310959,-0.0317 -0.546114,0.002 -0.163883,0.0136 -0.286821,0.0763 -0.368812,0.1882 -0.08207,0.11097 -0.115323,0.2603 -0.09977,0.44799 0.01555,0.18768 0.07297,0.32995 0.172262,0.42682 0.09921,0.096 0.230762,0.13713 0.394645,0.12355 0.07324,-0.006 0.144777,-0.0216 0.2146,-0.0468 0.07066,-0.0261 0.140065,-0.0618 0.208213,-0.10716 l 0.01935,0.23346 c -0.06777,0.0388 -0.138962,0.0696 -0.213589,0.0923 -0.07371,0.0227 -0.153138,0.0376 -0.238284,0.0446 -0.231635,0.0192 -0.421693,-0.0383 -0.570174,-0.17261 -0.14848,-0.13426 -0.232962,-0.32499 -0.253446,-0.57219 -0.02079,-0.25087 0.03153,-0.45386 0.15695,-0.60898 0.126338,-0.1552 0.309444,-0.24274 0.549319,-0.26262 0.07782,-0.007 0.154496,-0.005 0.230021,0.006 0.07545,0.009 0.411602,0.13108 0.483843,0.15738 z" + 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" + id="path1719" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cccccccccccccccccc" /> + <path + d="m 24.81823,294.75924 c -0.297765,0.0229 -0.512808,0.0705 -0.64513,0.14291 -0.132332,0.0724 -0.219561,0.18524 -0.261686,0.33845 -0.03363,0.12213 -0.01763,0.21604 0.04798,0.28174 0.06728,0.0643 0.175023,0.0907 0.323232,0.0794 0.204311,-0.0157 0.386389,-0.0956 0.546234,-0.23957 0.161537,-0.14536 0.273146,-0.33019 0.334829,-0.55448 l 0.02101,-0.0766 z m 0.774145,-0.19853 -0.328455,1.19434 -0.368516,0.0282 0.08737,-0.31774 c -0.119089,0.13356 -0.249784,0.2357 -0.392086,0.30641 -0.141957,0.0694 -0.303742,0.11113 -0.485354,0.12512 -0.229693,0.0177 -0.39618,-0.0281 -0.499459,-0.13726 -0.101626,-0.1105 -0.124676,-0.26669 -0.06915,-0.46856 0.06476,-0.2355 0.197713,-0.41952 0.398859,-0.55206 0.202482,-0.13265 0.471302,-0.21186 0.806461,-0.23762 l 0.516775,-0.0398 0.0092,-0.0335 c 0.04352,-0.15825 0.02102,-0.27605 -0.0675,-0.35341 -0.08684,-0.0787 -0.231074,-0.11031 -0.4327,-0.0948 -0.128187,0.01 -0.256984,0.0338 -0.386391,0.0718 -0.129384,0.038 -0.22788,0.0181 -0.35582,0.0841 l 0.0572,-0.24589 c 0.148221,-0.0589 0.289013,-0.10504 0.422378,-0.13852 0.133697,-0.0347 0.260649,-0.0566 0.380855,-0.0659 0.324493,-0.025 0.54526,0.0349 0.662301,0.17963 0.117059,0.14469 0.131725,0.37653 0.044,0.69552 z" + 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.36754596" + id="path1721" + inkscape:connector-curvature="0" + sodipodi:nodetypes="ccccccccccccccccccccccccccccccc" /> + <path + d="m 27.811045,294.03187 q -0.04765,-0.0359 -0.114148,-0.0521 -0.06379,-0.0182 -0.149723,-0.0183 -0.304614,-6.2e-4 -0.541819,0.20246 -0.234523,0.20105 -0.370837,0.57993 l -0.423324,1.17649 -0.361236,-7.4e-4 0.803473,-2.23334 0.361237,7.5e-4 -0.124848,0.34694 q 0.186434,-0.20316 0.403183,-0.30051 0.217505,-0.0995 0.47719,-0.0989 0.0371,8e-5 0.07992,0.006 0.04318,0.005 0.09438,0.0146 z" + 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.37900135" + id="path1723" + inkscape:connector-curvature="0" /> + <path + d="m 29.712571,294.7854 -0.06094,0.16877 -1.603439,0.13193 c -0.07023,0.23754 -0.110719,0.28611 -0.02315,0.41121 0.08941,0.12391 0.253311,0.18583 0.491653,0.18595 0.138059,6e-5 0.277401,-0.016 0.418108,-0.0485 0.14201,-0.0325 0.508333,-0.14208 0.659478,-0.20707 l -0.117939,0.32633 c -0.147934,0.0525 -0.514377,0.15339 -0.659762,0.18081 -0.145379,0.0275 -0.287764,0.0411 -0.427099,0.041 -0.349049,-1.8e-4 -0.590562,-0.0978 -0.724584,-0.29298 -0.132697,-0.19514 -0.138963,-0.459 -0.01879,-0.79157 0.12432,-0.34382 0.319099,-0.61634 0.584612,-0.81755 0.267249,-0.20244 0.56498,-0.30358 0.893191,-0.30341 0.29435,1.4e-4 0.493835,0.0916 0.598514,0.27415 0.106411,0.18138 0.103144,0.42835 -0.0098,0.74092 z m -0.322894,-0.1014 c 0.06552,-0.18878 0.06466,-0.33947 -0.0028,-0.45204 -0.06612,-0.1126 -0.187772,-0.16891 -0.364898,-0.16901 -0.200575,-10e-5 -0.381115,0.0543 -0.541512,0.16293 -0.159132,0.1087 -0.116464,0.24257 -0.206093,0.4401 z" + 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.36754596" + id="path1725" + inkscape:connector-curvature="0" + sodipodi:nodetypes="ccccscccsscscscccccsccc" /> + </g> + <g + id="g9547" + transform="matrix(0.21334155,-0.05917659,0,0.23311691,0.66317883,289.22115)"> + <g + style="display:inline" + inkscape:label="Layer 1" + id="layer4" /> + <path + id="rect5872" + d="m 11.987289,9.3234482 h 7.991524 v 3.9957608 h -7.991524 z" + style="opacity:1;fill:#0f0f00;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + inkscape:connector-curvature="0" /> + <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" + inkscape:connector-curvature="0" /> + <path + id="rect5878" + d="m -29.323654,9.3234482 h 7.989551 v 3.9957608 h -7.989551 z" + style="opacity:1;fill:#0c0c00;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + transform="scale(-1,1)" + inkscape:connector-curvature="0" /> + <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" + inkscape:connector-curvature="0" /> + <path + id="rect5882" + d="m 19.995058,14.667374 h 1.331921 v 3.995762 h -1.331921 z" + style="opacity:1;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + inkscape:connector-curvature="0" /> + <path + id="rect5884" + d="m 20.888507,17.21991 2.579094,0.32072 v 1.33192 l -2.579094,-0.32072 z" + style="opacity:1;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + inkscape:connector-curvature="0" /> + <path + id="rect5886" + d="m 11.954803,20.011301 h 2.696328 v 2.663842 h -2.696328 z" + style="opacity:1;fill:#000200;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + inkscape:connector-curvature="0" /> + <path + id="rect5888" + d="m 27.970341,20.011301 h 2.696327 v 2.663842 h -2.696327 z" + style="opacity:1;fill:#000200;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + inkscape:connector-curvature="0" /> + <path + id="rect5890" + d="m 14.651131,20.011301 h 13.351695 v 1.33192 H 14.651131 Z" + style="opacity:1;fill:#000200;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + inkscape:connector-curvature="0" /> + </g> + <path + style="fill:none;stroke:#dadada;stroke-width:0.30698216;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 2.7900557,181.68338 0.1810466,-1.94464 -0.2632421,-0.0154 -0.1048935,2.82045 0.6339358,-1.61065 1.5029883,1.40056 -1.8853796,-1.40054 1.7836213,-1.12069 v 0 0" + id="path870" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cccccccccc" /> + <path + style="fill:none;stroke:#dadada;stroke-width:0.461;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 5.1505587,180.43869 0.2821815,2.32627 0.1612468,-1.95897 1.3705962,0.57138 -0.5643632,1.26516" + id="path872" + inkscape:connector-curvature="0" /> + <path + style="fill:none;stroke:#dadada;stroke-width:0.45020127;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 8.3746737,179.84092 -0.6970941,2.11575 1.8821541,0.13502 0.2788377,-1.30547 z" + id="path874" + inkscape:connector-curvature="0" /> + <path + style="fill:none;stroke:#dadada;stroke-width:0.48511115;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 10.459266,179.71619 0.573608,2.94745 -0.229446,-0.10342" + id="path876" + inkscape:connector-curvature="0" /> + <path + style="fill:none;stroke:#dadada;stroke-width:0.68092787;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 12.694902,179.73387 1.128406,2.34083 1.241248,-1.85498 -1.354089,1.89915 -1.861871,0.97166 -0.05642,0.13247" + id="path878" + inkscape:connector-curvature="0" /> + <path + style="fill:none;stroke:#dadada;stroke-width:0.38047731;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 2.4766957,183.36951 0.2336598,3.20154 v -3.27963 l 1.6356202,1.01511 -0.444637,0.65145 -1.2844471,-0.14389 v 0" + id="path880" + inkscape:connector-curvature="0" + sodipodi:nodetypes="ccccccc" /> + <path + style="fill:none;stroke:#dadada;stroke-width:0.82099998;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 5.9117535,183.74801 -1.1717131,1.847 0.8201994,0.3144 2.0700265,-0.55018 -0.5127879,-1.436 z" + id="path882" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cccccc" /> + <path + style="fill:none;stroke:#dadada;stroke-width:0.35956258;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 8.2466977,182.78895 0.5459683,2.43123 1.967422,-0.0877 -0.8005287,-0.95854 -1.4016522,-0.15179" + id="path884" + inkscape:connector-curvature="0" + inkscape:transform-center-x="-1.0897816" + inkscape:transform-center-y="-0.51580917" + sodipodi:nodetypes="ccccc" /> + <path + style="fill:none;stroke:#dadada;stroke-width:0.40228334;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 14.165554,183.77819 -2.495352,0.13685 1.722981,0.98938 1.544743,0.76866 -3.56479,-0.43227" + id="path886" + inkscape:connector-curvature="0" /> + <path + style="fill:#afafaf;fill-opacity:1;stroke:none;stroke-width:0.36093959;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 13.770304,196.46789 2.089789,1.62471 0.0149,11.57492 -2.613391,1.21568 -1.256152,-2.52768 1.742464,-2.84178 z" + id="path890" + inkscape:connector-curvature="0" + sodipodi:nodetypes="ccccccc" /> + <path + style="fill:#626262;fill-opacity:1;stroke:none;stroke-width:0.42375344;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 12.013114,208.34875 -5.3235435,1.97489 -6.69943113,0.01 2.58018153,1.10658 10.7157081,-0.59892 z" + id="path892" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cccccc" /> + <path + style="fill:none;stroke:#dadada;stroke-width:0.45823276;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 0.65653092,197.27527 c -0.0136473,0.43346 -0.0168363,0.87335 0.15942843,1.29609 0.0250435,0.20907 0.0912968,0.42199 0.17439883,0.61835 0.0740767,0.38032 0.0139221,0.7656 0.0820099,1.14585 -0.0097,0.2362 0.018458,0.47428 -0.044121,0.70862 0.088086,0.21749 -0.12636674,0.43994 -0.02505,0.65565 0.2667008,0.12633 0.6397364,-0.0783 0.9638221,-0.0477 0.4668753,-0.0291 0.9871113,-0.10776 1.2497037,-0.3689 0.2773662,-0.20612 0.6977212,-0.41228 0.6441774,-0.70844 -0.2236735,-0.42332 -0.8971942,-0.68739 -1.5475771,-0.83917 -0.2518322,-0.0788 -0.5128892,-0.15515 -0.8006394,-0.17709 -0.1562923,-0.0166 -0.58901006,-0.0569 -0.2253771,-0.0894 0.7930713,-0.13416 1.5496371,-0.33651 2.3022498,-0.5361 0.3146208,-0.0907 0.5433659,-0.3262 0.3712593,-0.53162 -0.2341884,-0.37789 -0.4745162,-0.76057 -0.8237227,-1.10487 -0.3532772,-0.27518 -0.975027,-0.41494 -1.5339013,-0.33757 -0.3734022,0.0399 -0.4956638,0.38491 -0.90862212,0.31273 l -0.038039,0.003 z" + id="path1294" + inkscape:connector-curvature="0" /> + <path + style="fill:none;stroke:#dadada;stroke-width:0.66333157;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 5.7843672,199.16241 c -0.4997165,0.008 -0.7234892,0.5894 -0.725154,0.96656 -0.056773,0.43097 -0.015744,1.0865 0.6332436,1.15638 0.5382834,-0.0301 1.0821854,-0.0133 1.6234377,-0.0173 0.3111165,-0.38641 0.4179181,-0.89038 0.2749804,-1.33757 -0.2856993,-0.37239 -0.7693212,-0.62388 -1.2991329,-0.64241 -0.187767,-0.0256 -0.3098008,-0.0617 -0.5073748,-0.12561 z" + id="path1302" + inkscape:connector-curvature="0" /> + <path + style="fill:none;stroke:#dadada;stroke-width:0.45823276;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 9.0366027,197.89459 c -0.00842,1.12915 0.016866,2.25923 -0.012694,3.38779 -0.00537,0.0409 -0.018264,0.0811 -0.024888,0.12188" + id="path1304" + inkscape:connector-curvature="0" /> + <path + id="path1308" + style="fill:none;stroke:#dadada;stroke-width:0.45823276;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 12.418694,200.61838 c -0.314229,0.20872 -0.670497,0.41215 -1.066851,0.55183 -0.210794,0.091 -0.456502,0.20024 -0.62419,0.22839 m -0.338214,-2.72996 c 0.28554,0.29674 0.635663,0.57287 0.969044,0.8463 0.369625,0.34968 0.749713,0.6846 1.127906,1.02497 0.09437,0.11321 0.02266,-0.19258 0.04504,-0.26641 0,-0.64202 0,-1.28404 0,-1.92605" + inkscape:connector-curvature="0" /> + <path + style="fill:none;stroke:#dadada;stroke-width:0.39147678px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 7.776946,203.84606 c 0.323253,-0.56907 1.099348,-1.31136 1.4913679,-1.3653 0.3960782,-0.0911 0.7180197,0.0728 0.6061989,0.57753 -0.1280772,0.41525 -0.5643414,0.84959 -0.9127385,1.10954 -0.3793257,0.30924 -0.763256,0.62844 -1.1364355,0.84563 m -0.027093,-1.48934 c 0.037836,1.89762 0.2534142,3.65377 0.1784411,5.64081" + id="path1312" + inkscape:connector-curvature="0" + sodipodi:nodetypes="ccccccc" /> + <path + style="fill:none;stroke:#dadada;stroke-width:0.50315398px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 8.8764927,205.85583 0.069985,1.58718 c -0.087017,0.52743 0.4888062,-0.0202 0.7303814,-0.30606 0.1852255,-0.71506 0.1142458,-1.27784 0.097536,-1.85936 0.061731,-0.37624 0.095122,0.14784 -0.1389978,-0.334" + id="path1314" + inkscape:connector-curvature="0" + sodipodi:nodetypes="ccccc" /> + <path + id="path1318" + style="fill:none;stroke:#dadada;stroke-width:0.44958332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 10.296923,204.75883 c 0.318991,-0.37082 0.639727,-0.71319 0.957557,-1.10383 l 0.324682,-1.0784 m -1.044542,-0.37303 c 0.291568,1.01786 0.612324,2.04509 0.640702,3.52917 0.111758,0.17335 0.128708,0.58839 0.210882,0.80961" + inkscape:connector-curvature="0" /> + <path + id="path1322" + style="fill:none;stroke:#dadada;stroke-width:0.38891584px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 12.061073,203.48467 c 0.292525,-0.22686 1.267897,-1.45704 1.368485,-1.4838 m -0.685532,-0.5337 c 0.01616,1.51894 0.03233,3.03786 0.04847,4.55685" + inkscape:connector-curvature="0" /> + <path + style="fill:none;stroke:#282828;stroke-width:0.46782875;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 14.514623,202.26947 c -0.240165,0.13682 -0.403128,0.57731 -0.337357,1.17151 -0.0073,0.77749 0.06027,2.06295 0.488448,1.28546 0.304568,-0.80527 0.317171,-2.17378 0.04527,-2.40895 -0.0717,-0.22655 -0.193339,-0.0652 -0.316092,0.0905" + id="path1324" + inkscape:connector-curvature="0" /> + <path + style="fill:none;stroke:#282828;stroke-width:0.36399999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 14.033208,205.3727 c -0.05426,0.3258 -0.174332,1.6171 -0.154102,1.67281 0.09452,-0.47357 0.155284,-0.55608 0.557997,-1.06103 0.449293,-0.41993 0.594347,0.0635 0.591615,0.38459 0.0094,0.2531 -0.0056,1.04199 0.0027,1.29041" + id="path1326" + inkscape:connector-curvature="0" + sodipodi:nodetypes="ccccc" /> + <path + style="fill:none;stroke:#282828;stroke-width:0.35277778;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 15.713332,207.97809 c -0.403474,-0.008 -0.973881,0.11908 -1.339085,0.69561 -0.411739,0.5041 0.276888,0.3953 0.40465,0.60115 0.633791,-0.32012 -0.134122,0.43012 -0.417057,0.3759 -0.216369,-0.0314 -0.691672,0.32763 -0.700459,0.35109" + id="path1328" + inkscape:connector-curvature="0" /> + </g> +</svg> diff --git a/res/computerscare-iso-button-small-down.svg b/res/computerscare-iso-button-small-down.svg @@ -0,0 +1,92 @@ +<?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#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="7mm" + height="7mm" + viewBox="0 0 7 7" + version="1.1" + id="svg837" + inkscape:version="0.92.2 5c3e80d, 2017-08-06" + sodipodi:docname="computerscare-iso-button-small-down.svg"> + <defs + id="defs831"> + <inkscape:perspective + sodipodi:type="inkscape:persp3d" + inkscape:vp_x="-15.502741 : -0.68761461 : 1" + inkscape:vp_y="0 : 1935.9757 : 0" + inkscape:vp_z="25.090656 : 9.2983744 : 1" + inkscape:persp3d-origin="19.059341 : -5.6235546 : 1" + id="perspective1382" /> + </defs> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="15.839192" + inkscape:cx="11.646149" + inkscape:cy="12.208888" + inkscape:document-units="mm" + inkscape:current-layer="layer1" + showgrid="false" + inkscape:window-width="1440" + inkscape:window-height="855" + inkscape:window-x="0" + inkscape:window-y="1" + inkscape:window-maximized="1" + inkscape:snap-object-midpoints="false" + inkscape:snap-others="false" + inkscape:object-nodes="false" + inkscape:snap-nodes="false" /> + <metadata + id="metadata834"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title></dc:title> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1" + transform="translate(0,-290)"> + <path + style="fill:#245559;fill-opacity:1;stroke:#000000;stroke-width:0.17936714px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 6.6808181,290.97403 c -5.6745886,-0.0497 -5.72230161,0.0508 -5.72230161,0.0508 l 0.0167043,5.62316 5.76761466,0.0158 z" + id="path1551" + inkscape:connector-curvature="0" + sodipodi:nodetypes="ccccc" /> + <path + style="fill:none;stroke:#000000;stroke-width:0.19468118px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="M 0.971682,296.6539 Z" + id="path2175" + inkscape:connector-curvature="0" /> + <path + style="fill:#245559;fill-opacity:1;stroke:#000000;stroke-width:0.19468118px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 1.7393958,296.5995 -0.047277,-4.96564 v 0 l -0.71689745,-0.72599 -0.19883882,3e-4 0.19883915,5.74019 v 0 z" + id="path2177" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cccccccc" /> + <path + style="fill:#24c9a6;fill-opacity:1;stroke:#000000;stroke-width:0.19468118px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 0.97522084,290.90787 c 1.90186576,0.0221 3.80373156,0.044 5.70559726,0.0662 l 0.00699,0.62149 -4.9956948,0.0383 z" + id="path2181" + inkscape:connector-curvature="0" + sodipodi:nodetypes="ccccc" /> + </g> +</svg> diff --git a/res/computerscare-iso-button-small-up.svg b/res/computerscare-iso-button-small-up.svg @@ -0,0 +1,84 @@ +<?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#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="7mm" + height="7mm" + viewBox="0 0 7 7" + version="1.1" + id="svg837" + inkscape:version="0.92.2 5c3e80d, 2017-08-06" + sodipodi:docname="computerscare-iso-button-small-up.svg"> + <defs + id="defs831"> + <inkscape:perspective + sodipodi:type="inkscape:persp3d" + inkscape:vp_x="-15.502741 : -0.68761461 : 1" + inkscape:vp_y="0 : 1935.9757 : 0" + inkscape:vp_z="25.090656 : 9.2983744 : 1" + inkscape:persp3d-origin="19.059341 : -5.6235546 : 1" + id="perspective1382" /> + </defs> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="63.356768" + inkscape:cx="4.0509685" + inkscape:cy="27.076668" + inkscape:document-units="mm" + inkscape:current-layer="layer1" + showgrid="false" + inkscape:window-width="1440" + inkscape:window-height="855" + inkscape:window-x="0" + inkscape:window-y="1" + inkscape:window-maximized="1" + inkscape:snap-nodes="false" /> + <metadata + id="metadata834"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title></dc:title> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1" + transform="translate(0,-290)"> + <path + style="fill:#24c9a6;fill-opacity:1;stroke:#000000;stroke-width:0.18405969px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 0.10147925,295.8682 0.79396217,0.89976 5.94907228,0.1315 -0.098604,-6.01481 C 6.5854509,290.5501 6.480752,290.27243 6.2082133,290.21959" + id="path1553" + inkscape:connector-curvature="0" + sodipodi:nodetypes="ccccc" /> + <path + style="fill:#009b00;fill-opacity:1;stroke:#000000;stroke-width:0.18405969px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 6.191267,295.81375 0.6532467,1.08568 v 0 0 0 0" + id="path1555" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cccccc" /> + <path + style="fill:#24c9a6;fill-opacity:1;stroke:#000000;stroke-width:0.18405969px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 6.1699123,290.2256 c -6.01480776,-0.0494 -6.04767555,-0.0657 -6.04767555,-0.0657 v 0 5.70256 l 6.11341125,0.0164 z" + id="path1551" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cscccc" /> + </g> +</svg> diff --git a/src/Computerscare.cpp b/src/Computerscare.cpp @@ -14,4 +14,5 @@ void init(Plugin *p) { p->addModel(modelComputerscareOhPeas); //p->addModel(modelComputerscareIso); p->addModel(modelComputerscareKnolyPobs); + p->addModel(modelComputerscareBolyPuttons); } diff --git a/src/Computerscare.hpp b/src/Computerscare.hpp @@ -32,6 +32,7 @@ extern Model *modelComputerscareLaundrySoup; extern Model *modelComputerscareOhPeas; //extern Model *modelComputerscareIso; extern Model *modelComputerscareKnolyPobs; +extern Model *modelComputerscareBolyPuttons; static const NVGcolor COLOR_COMPUTERSCARE_LIGHT_GREEN = nvgRGB(0xC0, 0xE7, 0xDE); static const NVGcolor COLOR_COMPUTERSCARE_GREEN = nvgRGB(0x24, 0xc9, 0xa6); @@ -77,6 +78,13 @@ struct IsoButton : SvgSwitch { addFrame(APP->window->loadSvg(asset::plugin(pluginInstance, "res/computerscare-iso-button-up.svg"))); } }; +struct SmallIsoButton : SvgSwitch { + SmallIsoButton() { + addFrame(APP->window->loadSvg(asset::plugin(pluginInstance, "res/computerscare-iso-button-small-up.svg"))); + + addFrame(APP->window->loadSvg(asset::plugin(pluginInstance, "res/computerscare-iso-button-small-down.svg"))); + } +}; struct ComputerscareIsoThree : app::SvgSwitch { ComputerscareIsoThree() { addFrame(APP->window->loadSvg(asset::plugin(pluginInstance, "res/iso-3way-1.svg"))); diff --git a/src/ComputerscareBolyPuttons.cpp b/src/ComputerscareBolyPuttons.cpp @@ -0,0 +1,189 @@ +#include "Computerscare.hpp" + +struct ComputerscareBolyPuttons; + +const int numToggles = 16; + +struct ComputerscareBolyPuttons : Module { + int counter = 0; + int outputRangeEnum = 0; + float outputRanges[4][2]; + + ComputerscareSVGPanel* panelRef; + enum ParamIds { + TOGGLE, + NUM_PARAMS = TOGGLE + numToggles + + }; + enum InputIds { + CHANNEL_INPUT, + A_INPUT, + B_INPUT, + NUM_INPUTS + }; + enum OutputIds { + POLY_OUTPUT, + NUM_OUTPUTS + }; + enum LightIds { + NUM_LIGHTS + }; + + + ComputerscareBolyPuttons() { + + config(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS); + + for (int i = 0; i < numToggles; i++) { + //configParam(KNOB + i, 0.0f, 10.0f, 0.0f); + configParam(TOGGLE + i, 0.f, 1.f, 0.f, "Channel " + std::to_string(i + 1) + " Voltage", " Volts"); + } + + outputRanges[0][0] = 0.f; + outputRanges[0][1] = 10.f; + outputRanges[1][0] = -5.f; + outputRanges[1][1] = 5.f; + outputRanges[2][0] = 0.f; + outputRanges[2][1] = 5.f; + outputRanges[3][0] = 0.f; + outputRanges[3][1] = 1.f; + outputRanges[4][0] = -1.f; + outputRanges[4][1] = 1.f; + outputRanges[5][0] = -10.f; + outputRanges[5][1] = 10.f; + } + void process(const ProcessArgs &args) override { + float min = outputRanges[outputRangeEnum][0]; + float max = outputRanges[outputRangeEnum][1]; + int numAChannels = inputs[A_INPUT].getChannels(); + int numBChannels = inputs[B_INPUT].getChannels(); + counter++; + if (counter > 5012) { + //printf("%f \n",random::uniform()); + counter = 0; + //rect4032 + //south facing high wall + } + outputs[POLY_OUTPUT].setChannels(16); + + //if (outputs[SCALED_OUTPUT + i].isConnected() || outputs[QUANTIZED_OUTPUT + i].isConnected()) { + // numInputChannels = inputs[CHANNEL_INPUT + i].getChannels(); + + for (int i = 0; i < numToggles; i++) { + if(inputs[A_INPUT].isConnected()) { + min = inputs[A_INPUT].getVoltage(i % numAChannels); + } + + if(inputs[B_INPUT].isConnected()) { + max = inputs[B_INPUT].getVoltage(i % numBChannels); + } + + float spread = max - min; + outputs[POLY_OUTPUT].setVoltage(params[TOGGLE + i].getValue()*spread + min, i); + } + } + +}; + +struct ComputerscareBolyPuttonsWidget : ModuleWidget { + ComputerscareBolyPuttonsWidget(ComputerscareBolyPuttons *module) { + + setModule(module); + //setPanel(APP->window->loadSvg(asset::plugin(pluginInstance, "res/ComputerscareKnolyPobsPanel.svg"))); + box.size = Vec(4 * 15, 380); + { + ComputerscareSVGPanel *panel = new ComputerscareSVGPanel(); + panel->box.size = box.size; + panel->setBackground(APP->window->loadSvg(asset::plugin(pluginInstance, "res/ComputerscareBolyPuttonsPanel.svg"))); + + //module->panelRef = panel; + + addChild(panel); + + } + float xx; + float yy; + for (int i = 0; i < numToggles; i++) { + xx = 7.4f + 27.3 * (i % 2); + yy = 94 + 16.5 * (i - i % 2) + 11.3 * (i % 2); + addLabeledButton(std::to_string(i + 1), xx, yy, module, i, (i % 2) * (3 + 10 * (i < 9)) - 2, 0); + } + + + addInput(createInput<InPort>(Vec(9, 58), module, ComputerscareBolyPuttons::A_INPUT)); + addInput(createInput<PointingUpPentagonPort>(Vec(33, 55), module, ComputerscareBolyPuttons::B_INPUT)); + + addOutput(createOutput<PointingUpPentagonPort>(Vec(1, 24), module, ComputerscareBolyPuttons::POLY_OUTPUT)); + bolyPuttons = module; + } + void addLabeledButton(std::string label, int x, int y, ComputerscareBolyPuttons *module, int index, float labelDx, float labelDy) { + + smallLetterDisplay = new SmallLetterDisplay(); + smallLetterDisplay->box.size = Vec(5, 10); + smallLetterDisplay->fontSize = 16; + smallLetterDisplay->value = label; + smallLetterDisplay->textAlign = 1; + + addParam(createParam<SmallIsoButton>(Vec(x, y), module, ComputerscareBolyPuttons::TOGGLE + index)); + + smallLetterDisplay->box.pos = Vec(x + labelDx, y - 12 + labelDy); + + + addChild(smallLetterDisplay); + + } + json_t *toJson() override + { + json_t *rootJ = ModuleWidget::toJson(); + json_object_set_new(rootJ, "outputRange", json_integer(bolyPuttons->outputRangeEnum)); + return rootJ; + } + void fromJson(json_t *rootJ) override + { + ModuleWidget::fromJson(rootJ); + // button states + + json_t *outputRangeEnumJ = json_object_get(rootJ, "outputRange"); + if (outputRangeEnumJ) { bolyPuttons->outputRangeEnum = json_integer_value(outputRangeEnumJ); } + + } + void appendContextMenu(Menu *menu) override; + ComputerscareBolyPuttons *bolyPuttons; + SmallLetterDisplay* smallLetterDisplay; +}; +struct OutputRangeItem : MenuItem { + ComputerscareBolyPuttons *bolyPuttons; + int outputRangeEnum; + void onAction(const event::Action &e) override { + bolyPuttons->outputRangeEnum = outputRangeEnum; + } + void step() override { + rightText = CHECKMARK(bolyPuttons->outputRangeEnum == outputRangeEnum); + MenuItem::step(); + } +}; +void ComputerscareBolyPuttonsWidget::appendContextMenu(Menu *menu) +{ + ComputerscareBolyPuttons *bolyPuttons = dynamic_cast<ComputerscareBolyPuttons *>(this->module); + + MenuLabel *spacerLabel = new MenuLabel(); + menu->addChild(spacerLabel); + + + MenuLabel *modeLabel = new MenuLabel(); + modeLabel->text = "Output Range"; + menu->addChild(modeLabel); + + // randomization output bounds + menu->addChild(construct<MenuLabel>()); + menu->addChild(construct<MenuLabel>(&MenuLabel::text, "Output Range")); + menu->addChild(construct<OutputRangeItem>(&MenuItem::text, " 0v ... +10v", &OutputRangeItem::bolyPuttons, bolyPuttons, &OutputRangeItem::outputRangeEnum, 0)); + menu->addChild(construct<OutputRangeItem>(&MenuItem::text, " -5v ... +5v", &OutputRangeItem::bolyPuttons, bolyPuttons, &OutputRangeItem::outputRangeEnum, 1)); + menu->addChild(construct<OutputRangeItem>(&MenuItem::text, " 0v ... +5v", &OutputRangeItem::bolyPuttons, bolyPuttons, &OutputRangeItem::outputRangeEnum, 2)); + menu->addChild(construct<OutputRangeItem>(&MenuItem::text, " 0v ... +1v", &OutputRangeItem::bolyPuttons, bolyPuttons, &OutputRangeItem::outputRangeEnum, 3)); + menu->addChild(construct<OutputRangeItem>(&MenuItem::text, " -1v ... +1v", &OutputRangeItem::bolyPuttons, bolyPuttons, &OutputRangeItem::outputRangeEnum, 4)); + + menu->addChild(construct<OutputRangeItem>(&MenuItem::text, "-10v ... +10v", &OutputRangeItem::bolyPuttons, bolyPuttons, &OutputRangeItem::outputRangeEnum, 5)); + +} +Model *modelComputerscareBolyPuttons = createModel<ComputerscareBolyPuttons, ComputerscareBolyPuttonsWidget>("computerscare-bolyputtons"); diff --git a/src/ComputerscareKnolyPobs.cpp b/src/ComputerscareKnolyPobs.cpp @@ -37,7 +37,6 @@ struct ComputerscareKnolyPobs : Module { configParam(KNOB + i, 0.0f, 10.0f, 0.0f); configParam(KNOB + i, 0.f, 10.f, 0.f, "Channel " + std::to_string(i + 1) + " Voltage", " Volts"); } - configParam(TOGGLES, 0.0f, 1.0f, 0.0f); } void process(const ProcessArgs &args) override { @@ -77,7 +76,7 @@ struct ComputerscareKnolyPobsWidget : ModuleWidget { for (int i = 0; i < numKnobs; i++) { xx = 1.4f + 24.3 * (i % 2); yy = 64 + 18.5 * (i - i % 2) + 11.3 * (i % 2); - addLabeledKnob(std::to_string(i + 1), xx, yy, module, i, 0, (i % 2) * (11 + 5 * (i < 9)) - 4, 0); + addLabeledKnob(std::to_string(i + 1), xx, yy, module, i, (i % 2) * (11 + 5 * (i < 9)) - 4, 0); } @@ -85,38 +84,18 @@ struct ComputerscareKnolyPobsWidget : ModuleWidget { addOutput(createOutput<PointingUpPentagonPort>(Vec(28, 24), module, ComputerscareKnolyPobs::POLY_OUTPUT)); } - void addLabeledKnob(std::string label, int x, int y, ComputerscareKnolyPobs *module, int index, int type, float labelDx, float labelDy) { + void addLabeledKnob(std::string label, int x, int y, ComputerscareKnolyPobs *module, int index, float labelDx, float labelDy) { smallLetterDisplay = new SmallLetterDisplay(); smallLetterDisplay->box.size = Vec(5, 10); smallLetterDisplay->fontSize = 16; smallLetterDisplay->value = label; smallLetterDisplay->textAlign = 1; - if (type == 0) { - addParam(createParam<SmoothKnob>(Vec(x, y), module, ComputerscareKnolyPobs::KNOB + index)); - smallLetterDisplay->box.pos = Vec(x + labelDx, y - 12 + labelDy); - } - else if (type == 1) { - addParam(createParam<SmallKnob>(Vec(x, y), module, ComputerscareKnolyPobs::KNOB + index)); - smallLetterDisplay->box.pos = Vec(x + 12 + labelDx, y - 10 + labelDy); - } - else if (type == 2) { - addParam(createParam<BigSmoothKnob>(Vec(x, y), module, ComputerscareKnolyPobs::KNOB + index)); - smallLetterDisplay->box.pos = Vec(x + 22 + labelDx, y - 12 + labelDy); - } - else if (type == 3) { - addParam(createParam<LrgKnob>(Vec(x, y), module, ComputerscareKnolyPobs::KNOB + index)); - smallLetterDisplay->box.pos = Vec(x + 22 + labelDx, y - 12 + labelDy); - } - else if (type == 4) { - addParam(createParam<BigSmoothKnob>(Vec(x, y), module, ComputerscareKnolyPobs::KNOB + index)); - smallLetterDisplay->box.pos = Vec(x + 22 + labelDx, y - 12 + labelDy); - } - else { - addParam(createParam<MediumSnapKnob>(Vec(x, y), module, ComputerscareKnolyPobs::KNOB + index)); - smallLetterDisplay->box.pos = Vec(x + 12, y - 10); - } + addParam(createParam<SmoothKnob>(Vec(x, y), module, ComputerscareKnolyPobs::KNOB + index)); + smallLetterDisplay->box.pos = Vec(x + labelDx, y - 12 + labelDy); + + addChild(smallLetterDisplay); } diff --git a/src/ComputerscareOhPeas.cpp b/src/ComputerscareOhPeas.cpp @@ -154,7 +154,7 @@ struct ComputerscareOhPeas : Module { std::string chi = "Ch. " + std::to_string(i + 1); configParam( SCALE_TRIM + i, -1.f, 1.f, 0.0f, chi + " Scale CV Amount"); - configParam( SCALE_VAL + i, -5.f, 5.f, 0.0f, chi + " Scale Value"); + configParam( SCALE_VAL + i, -2.f, 2.f, 1.0f, chi + " Scale Value"); configParam( OFFSET_TRIM + i, -1.f, 1.f, 0.0f, chi + " Offset CV Amount"); configParam( OFFSET_VAL + i, -5.f, 5.f, 0.0f, chi + " Offset Value");