computerscare-vcv-modules

computerscare modules for VCV Rack
Log | Files | Refs

commit 939d6a401f3a2efffaf2e32f449baf20c04f54f6
parent 544d0da1d53bc49332e55c5eecabb98e3e43c00b
Author: Adam M <aemalone@gmail.com>
Date:   Sun, 24 Feb 2019 15:37:51 -0600

Alter Debug knob visibility based on which mode, change to vertical layout

Diffstat:
Mres/ComputerscareDebugPanel.svg | 118++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------
Ares/debug-clock-selector-4way-template.svg | 215+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Ares/vertical-x-1.svg | 68++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Ares/vertical-x-2.svg | 68++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Ares/vertical-x-3.svg | 68++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Msrc/Computerscare.hpp | 33+++++++++++++++++++++++++++++++--
Msrc/ComputerscareDebug.cpp | 110++++++++++++++++++++++++++++++++++++++++++++++++++++++-------------------------
7 files changed, 633 insertions(+), 47 deletions(-)

diff --git a/res/ComputerscareDebugPanel.svg b/res/ComputerscareDebugPanel.svg @@ -34,11 +34,11 @@ borderopacity="1.0" inkscape:pageopacity="0.0" inkscape:pageshadow="2" - inkscape:zoom="5.6568545" - inkscape:cx="46.719213" - inkscape:cy="54.426326" + inkscape:zoom="2.8284273" + inkscape:cx="44.597893" + inkscape:cy="82.710596" inkscape:document-units="mm" - inkscape:current-layer="g1669" + inkscape:current-layer="text2992" showgrid="false" units="px" inkscape:snap-bbox="true" @@ -61,7 +61,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> @@ -150,11 +150,11 @@ <path inkscape:connector-curvature="0" id="path1647" - d="M 0,196.45831 H 23.8125 V 296.99999 H 0 Z" + d="M 0,196.41154 H 23.8125 V 296.95322 H 0 Z" style="opacity:1;vector-effect:none;fill:#f9f9f9;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" /> <g aria-label="computerscare" - transform="matrix(0.8241748,0.02257152,-0.02081721,0.89362904,5.4323529,30.898447)" + transform="matrix(0.8241748,0.02257152,-0.02081721,0.89362904,5.4323529,31.427614)" 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 @@ -226,11 +226,11 @@ </g> <g aria-label="in" - transform="matrix(1.0058386,-0.11250462,0.18306476,1.875217,-62.527051,-254.77112)" + transform="matrix(1.1587322,-0.11250462,0.21089172,1.875217,-66.196614,-253.71278)" 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:#200000;fill-opacity:1;stroke:none;stroke-width:0.26458332" id="text1659"> <path - d="m 20.97762,287.32903 0.338042,0.075 -0.03879,1.43613 -0.299249,0.0322 z m 0,-0.60082 0.66381,0.023 0.264762,0.32529 -0.928573,-0.0272 z" + d="m 20.830404,287.69433 0.338042,0.075 -0.03879,1.43613 -0.299249,0.0322 z m 0,-0.60082 0.66381,0.023 0.264762,0.32529 -0.928573,-0.0272 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;fill:#200000;fill-opacity:1;stroke-width:0.26458332" id="path1689" inkscape:connector-curvature="0" @@ -280,7 +280,7 @@ </g> <g id="g9547" - transform="matrix(0.26458333,0,0,0.26458333,-2.3613788,290.04527)"> + transform="matrix(0.26458333,0,0,0.26458333,-2.3613788,290.57444)"> <g style="display:inline" inkscape:label="Layer 1" @@ -333,5 +333,103 @@ 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> + <g + aria-label="single +internal +poly" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.58333302px;line-height:1.25;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:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332" + id="text2992" + transform="matrix(0.40498722,0,0,0.22005185,8.184542,217.4858)"> + <path + d="m -3.003362,248.58206 v 0.89917 q -0.4030762,-0.2067 -0.8371582,-0.31006 -0.434082,-0.10335 -0.8991699,-0.10335 -0.7079671,0 -1.0645344,0.21704 -0.3513998,0.21704 -0.3513998,0.65112 0,0.33073 0.2532145,0.52194 0.2532145,0.18603 1.0180257,0.35656 l 0.3255615,0.0724 q 1.0128581,0.21704 1.4366048,0.61495 0.4289144,0.39274 0.4289144,1.10071 0,0.80615 -0.6407878,1.27641 -0.6356201,0.47025 -1.751831,0.47025 -0.4650878,0 -0.9715169,-0.093 -0.5012613,-0.0879 -1.0593668,-0.26871 v -0.98186 q 0.5270996,0.27389 1.0386963,0.41342 0.5115966,0.13435 1.012858,0.13435 0.6717936,0 1.0335286,-0.22737 0.361735,-0.23255 0.361735,-0.65113 0,-0.38757 -0.2635497,-0.59427 -0.2583822,-0.20671 -1.1420492,-0.39791 l -0.3307291,-0.0775 q -0.883667,-0.18603 -1.2764079,-0.56844 -0.3927408,-0.38757 -0.3927408,-1.05936 0,-0.81649 0.578776,-1.26091 0.578776,-0.44442 1.6433105,-0.44442 0.5270996,0 0.9921875,0.0775 0.4650878,0.0775 0.8578287,0.23254 z" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.58333302px;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:center;writing-mode:lr-tb;text-anchor:middle;stroke-width:0.26458332" + id="path2998" + inkscape:connector-curvature="0" /> + <path + d="m -1.1740162,248.41153 h 0.95084631 v 5.78776 H -1.1740162 Z m 0,-2.25309 h 0.95084631 v 1.20406 H -1.1740162 Z" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.58333302px;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:center;writing-mode:lr-tb;text-anchor:middle;stroke-width:0.26458332" + id="path3000" + inkscape:connector-curvature="0" /> + <path + d="m 6.5722802,250.70596 v 3.49333 H 5.6214339 v -3.46232 q 0,-0.82166 -0.3203939,-1.2299 -0.3203938,-0.40824 -0.9611816,-0.40824 -0.7699788,0 -1.2143961,0.49092 -0.4444173,0.49093 -0.4444173,1.33842 v 3.27112 H 1.725031 v -5.78776 h 0.956014 v 0.89917 q 0.3410644,-0.52193 0.8009847,-0.78031 0.4650879,-0.25839 1.0697021,-0.25839 0.9973551,0 1.5089518,0.62012 0.5115966,0.61495 0.5115966,1.81384 z" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.58333302px;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:center;writing-mode:lr-tb;text-anchor:middle;stroke-width:0.26458332" + id="path3002" + inkscape:connector-curvature="0" /> + <path + d="m 12.287694,251.23823 q 0,-1.03353 -0.428914,-1.60197 -0.423747,-0.56844 -1.193726,-0.56844 -0.7648111,0 -1.1937255,0.56844 -0.4237467,0.56844 -0.4237467,1.60197 0,1.02836 0.4237467,1.5968 0.4289144,0.56844 1.1937255,0.56844 0.769979,0 1.193726,-0.56844 0.428914,-0.56844 0.428914,-1.5968 z m 0.950847,2.24276 q 0,1.47794 -0.656291,2.19625 -0.656291,0.72347 -2.010213,0.72347 -0.501262,0 -0.9456792,-0.0775 -0.4444173,-0.0723 -0.8629964,-0.22738 v -0.925 q 0.4185791,0.22737 0.8268229,0.33589 0.4082438,0.10852 0.8319907,0.10852 0.935343,0 1.400432,-0.49092 0.465087,-0.48576 0.465087,-1.47278 v -0.47026 q -0.294555,0.5116 -0.754476,0.76482 -0.45992,0.25321 -1.100708,0.25321 -1.0645343,0 -1.7156574,-0.81132 -0.651123,-0.81132 -0.651123,-2.14974 0,-1.34359 0.651123,-2.15491 0.6511231,-0.81132 1.7156574,-0.81132 0.640788,0 1.100708,0.25322 0.459921,0.25321 0.754476,0.76481 v -0.8785 h 0.950847 z" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.58333302px;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:center;writing-mode:lr-tb;text-anchor:middle;stroke-width:0.26458332" + id="path3004" + inkscape:connector-curvature="0" /> + <path + d="m 15.197078,246.15844 h 0.950846 v 8.04085 h -0.950846 z" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.58333302px;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:center;writing-mode:lr-tb;text-anchor:middle;stroke-width:0.26458332" + id="path3006" + inkscape:connector-curvature="0" /> + <path + d="m 23.082901,251.0677 v 0.46509 h -4.371826 q 0.06201,0.98185 0.589111,1.49861 0.532267,0.5116 1.477946,0.5116 0.54777,0 1.059367,-0.13436 0.516764,-0.13436 1.023193,-0.40308 v 0.89917 q -0.511597,0.21705 -1.049031,0.33073 -0.537435,0.11369 -1.090373,0.11369 -1.384928,0 -2.196248,-0.80615 -0.806153,-0.80615 -0.806153,-2.18075 0,-1.4211 0.764811,-2.25309 0.769979,-0.83716 2.072225,-0.83716 1.167888,0 1.844849,0.75448 0.682129,0.74931 0.682129,2.04122 z m -0.950847,-0.27905 q -0.01034,-0.78032 -0.439249,-1.24541 -0.423747,-0.46508 -1.126546,-0.46508 -0.795817,0 -1.276408,0.44958 -0.475423,0.44959 -0.54777,1.26607 z" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.58333302px;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:center;writing-mode:lr-tb;text-anchor:middle;stroke-width:0.26458332" + id="path3008" + inkscape:connector-curvature="0" /> + <path + d="m -9.9683874,262.916 h 0.950847 v 5.78776 h -0.950847 z m 0,-2.2531 h 0.950847 v 1.20406 h -0.950847 z" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.58333302px;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:center;writing-mode:lr-tb;text-anchor:middle;stroke-width:0.26458332" + id="path3010" + inkscape:connector-curvature="0" /> + <path + d="m -2.2220906,265.21043 v 3.49333 h -0.9508463 v -3.46232 q 0,-0.82166 -0.3203939,-1.2299 -0.3203939,-0.40825 -0.9611816,-0.40825 -0.7699788,0 -1.2143961,0.49093 -0.4444173,0.49092 -0.4444173,1.33842 v 3.27112 H -7.0693397 V 262.916 h 0.9560139 v 0.89917 q 0.3410644,-0.52194 0.8009846,-0.78032 0.4650879,-0.25838 1.0697022,-0.25838 0.9973551,0 1.5089517,0.62012 0.5115967,0.61495 0.5115967,1.81384 z" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.58333302px;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:center;writing-mode:lr-tb;text-anchor:middle;stroke-width:0.26458332" + id="path3012" + inkscape:connector-curvature="0" /> + <path + d="M 0.62528077,261.27269 V 262.916 H 2.5838175 v 0.73897 H 0.62528077 v 3.14193 q 0,0.70796 0.1912028,0.9095 0.19637043,0.20154 0.79064943,0.20154 h 0.9766845 v 0.79582 H 1.607133 q -1.10070799,0 -1.51928709,-0.40825 -0.4185791,-0.41341 -0.4185791,-1.49861 v -3.14193 H -1.028365 V 262.916 h 0.69763181 v -1.64331 z" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.58333302px;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:center;writing-mode:lr-tb;text-anchor:middle;stroke-width:0.26458332" + id="path3014" + inkscape:connector-curvature="0" /> + <path + d="m 8.790157,265.57216 v 0.46509 H 4.4183309 q 0.062012,0.98185 0.5891113,1.49862 0.5322673,0.5116 1.4779459,0.5116 0.5477702,0 1.0593669,-0.13436 0.5167643,-0.13436 1.0231933,-0.40308 v 0.89917 q -0.5115967,0.21704 -1.0490315,0.33073 -0.5374349,0.11369 -1.0903727,0.11369 -1.3849284,0 -2.1962483,-0.80615 -0.8061524,-0.80616 -0.8061524,-2.18075 0,-1.4211 0.7648112,-2.25309 0.7699788,-0.83716 2.0722249,-0.83716 1.1678873,0 1.8448486,0.75448 0.6821289,0.7493 0.6821289,2.04121 z m -0.9508464,-0.27905 q -0.010335,-0.78031 -0.4392496,-1.2454 -0.4237468,-0.46509 -1.1265462,-0.46509 -0.7958171,0 -1.2764079,0.44959 -0.4754231,0.44958 -0.5477701,1.26607 z" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.58333302px;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:center;writing-mode:lr-tb;text-anchor:middle;stroke-width:0.26458332" + id="path3016" + inkscape:connector-curvature="0" /> + <path + d="m 13.704585,263.80483 q -0.160196,-0.093 -0.351399,-0.13436 -0.186035,-0.0465 -0.413412,-0.0465 -0.806152,0 -1.240234,0.5271 -0.428915,0.52193 -0.428915,1.50379 v 3.04891 h -0.956014 v -5.78776 h 0.956014 v 0.89917 q 0.299723,-0.5271 0.780314,-0.78032 0.480591,-0.25838 1.167888,-0.25838 0.09818,0 0.217041,0.0155 0.118856,0.0103 0.26355,0.0362 z" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.58333302px;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:center;writing-mode:lr-tb;text-anchor:middle;stroke-width:0.26458332" + id="path3018" + inkscape:connector-curvature="0" /> + <path + d="m 19.347654,265.21043 v 3.49333 h -0.950847 v -3.46232 q 0,-0.82166 -0.320393,-1.2299 -0.320394,-0.40825 -0.961182,-0.40825 -0.769979,0 -1.214396,0.49093 -0.444418,0.49092 -0.444418,1.33842 v 3.27112 H 14.500405 V 262.916 h 0.956013 v 0.89917 q 0.341065,-0.52194 0.800985,-0.78032 0.465088,-0.25838 1.069702,-0.25838 0.997355,0 1.508952,0.62012 0.511597,0.61495 0.511597,1.81384 z" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.58333302px;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:center;writing-mode:lr-tb;text-anchor:middle;stroke-width:0.26458332" + id="path3020" + inkscape:connector-curvature="0" /> + <path + d="m 23.895178,265.79437 q -1.152384,0 -1.596802,0.26355 -0.444417,0.26355 -0.444417,0.89917 0,0.50643 0.330729,0.80615 0.335897,0.29456 0.909505,0.29456 0.79065,0 1.266073,-0.5581 0.480591,-0.56328 0.480591,-1.49345 v -0.21188 z m 1.896525,-0.39274 v 3.30213 h -0.950846 v -0.8785 q -0.325562,0.5271 -0.81132,0.78031 -0.485759,0.24805 -1.188558,0.24805 -0.888835,0 -1.415934,-0.4961 -0.521932,-0.50126 -0.521932,-1.33842 0,-0.97668 0.651123,-1.47277 0.65629,-0.4961 1.953369,-0.4961 h 1.333252 v -0.093 q 0,-0.65629 -0.434082,-1.01285 -0.428915,-0.36174 -1.209229,-0.36174 -0.496094,0 -0.966349,0.11886 -0.470256,0.11885 -0.904338,0.35656 v -0.87849 q 0.521932,-0.20154 1.012858,-0.29973 0.490926,-0.10335 0.956014,-0.10335 1.255738,0 1.875855,0.65112 0.620117,0.65113 0.620117,1.97404 z" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.58333302px;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:center;writing-mode:lr-tb;text-anchor:middle;stroke-width:0.26458332" + id="path3022" + inkscape:connector-curvature="0" /> + <path + d="m 27.755406,260.6629 h 0.950847 v 8.04086 h -0.950847 z" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.58333302px;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:center;writing-mode:lr-tb;text-anchor:middle;stroke-width:0.26458332" + id="path3024" + inkscape:connector-curvature="0" /> + <path + d="m -1.2980398,279.78946 v 3.06958 h -0.956014 v -7.98918 h 0.956014 v 0.8785 q 0.29972331,-0.51676 0.75447591,-0.76481 0.4599202,-0.25321 1.0955403,-0.25321 1.05419919,0 1.71048989,0.83715 0.6614583,0.83716 0.6614583,2.20142 0,1.36426 -0.6614583,2.20142 -0.6562907,0.83715 -1.71048989,0.83715 -0.6356201,0 -1.0955403,-0.24804 -0.4547526,-0.25322 -0.75447591,-0.76998 z m 3.2349446,-2.02055 q 0,-1.04903 -0.434082,-1.64331 -0.4289144,-0.59945 -1.18339029,-0.59945 -0.7544759,0 -1.1885579,0.59945 -0.42891441,0.59428 -0.42891441,1.64331 0,1.04903 0.42891441,1.64848 0.434082,0.59428 1.1885579,0.59428 0.75447589,0 1.18339029,-0.59428 0.434082,-0.59945 0.434082,-1.64848 z" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.58333302px;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:center;writing-mode:lr-tb;text-anchor:middle;stroke-width:0.26458332" + id="path3026" + inkscape:connector-curvature="0" /> + <path + d="m 6.7428129,275.53649 q -0.7648112,0 -1.2092285,0.59944 -0.4444173,0.59428 -0.4444173,1.63298 0,1.0387 0.4392497,1.63814 0.4444173,0.59428 1.2143961,0.59428 0.7596435,0 1.2040608,-0.59945 0.4444173,-0.59944 0.4444173,-1.63297 0,-1.02836 -0.4444173,-1.62781 -0.4444173,-0.60461 -1.2040608,-0.60461 z m 0,-0.80615 q 1.2402343,0 1.9482014,0.80615 0.7079671,0.80615 0.7079671,2.23242 0,1.4211 -0.7079671,2.23242 -0.7079671,0.80615 -1.9482014,0.80615 -1.245402,0 -1.9533691,-0.80615 -0.7027995,-0.81132 -0.7027995,-2.23242 0,-1.42627 0.7027995,-2.23242 0.7079671,-0.80615 1.9533691,-0.80615 z" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.58333302px;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:center;writing-mode:lr-tb;text-anchor:middle;stroke-width:0.26458332" + id="path3028" + inkscape:connector-curvature="0" /> + <path + d="m 10.969945,272.61677 h 0.950847 v 8.04085 h -0.950847 z" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.58333302px;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:center;writing-mode:lr-tb;text-anchor:middle;stroke-width:0.26458332" + id="path3030" + inkscape:connector-curvature="0" /> + <path + d="m 16.313289,281.19506 q -0.403076,1.03353 -0.785482,1.34875 -0.382406,0.31523 -1.023193,0.31523 H 13.74497 v -0.79582 h 0.558106 q 0.39274,0 0.609781,-0.18603 0.217041,-0.18604 0.480591,-0.8785 l 0.170532,-0.43409 -2.340942,-5.69474 h 1.007691 l 1.808675,4.52686 1.808675,-4.52686 h 1.00769 z" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.58333302px;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:center;writing-mode:lr-tb;text-anchor:middle;stroke-width:0.26458332" + id="path3032" + inkscape:connector-curvature="0" /> + </g> </g> </svg> diff --git a/res/debug-clock-selector-4way-template.svg b/res/debug-clock-selector-4way-template.svg @@ -0,0 +1,215 @@ +<?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="90mm" + height="20mm" + viewBox="0 0 90 20" + version="1.1" + id="svg875" + inkscape:version="0.92.2 5c3e80d, 2017-08-06" + sodipodi:docname="debug-clock-selector-4way-template.svg"> + <defs + id="defs869" /> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="1.979899" + inkscape:cx="180.98042" + inkscape:cy="19.895486" + 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-global="false" /> + <metadata + id="metadata872"> + <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,-277)"> + <path + style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.11972128;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers" + d="M 0.46118526,277.62933 H 28.244261 l -0.170303,2.96926 H 0.29088276 Z" + id="rect1439" + inkscape:connector-curvature="0" + sodipodi:nodetypes="ccccc" /> + <path + style="fill:#24c9a6;fill-opacity:1;stroke:#000000;stroke-width:0.10233776px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 0.46950006,277.6377 v 3.12328 l 7.68074424,0.17113 -0.2497801,-3.37998 z" + id="path1441" + inkscape:connector-curvature="0" /> + <g + aria-label="clock +mode" + transform="matrix(0.42567632,0,0,0.24331969,-0.18393281,188.36236)" + style="font-style:normal;font-weight:normal;font-size:8.4089632px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.21022408" + id="text2004"> + <path + d="m 4.6977589,369.31719 v 0.52261 q -0.2445013,-0.13066 -0.4921373,-0.19446 -0.2445013,-0.0668 -0.495272,-0.0668 -0.5610992,0 -0.8714278,0.34637 -0.3103287,0.34334 -0.3103287,0.96621 0,0.62288 0.3103287,0.96926 0.3103286,0.34334 0.8714278,0.34334 0.2507707,0 0.495272,-0.0638 0.247636,-0.0668 0.4921373,-0.19749 v 0.51653 q -0.2413667,0.10938 -0.5015412,0.16407 -0.2570399,0.0547 -0.5485607,0.0547 -0.7930621,0 -1.2601223,-0.48311 -0.4670604,-0.4831 -0.4670604,-1.30347 0,-0.83253 0.470195,-1.30956 0.4733295,-0.47703 1.2946033,-0.47703 0.2664438,0 0.520349,0.0547 0.2539053,0.0516 0.4921373,0.158 z" + style="stroke-width:0.15801062" + id="path2008" + inkscape:connector-curvature="0" /> + <path + d="m 5.7071108,367.86179 h 0.5767723 v 4.72776 H 5.7071108 Z" + style="stroke-width:0.15801062" + id="path2010" + inkscape:connector-curvature="0" /> + <path + d="m 8.8480127,369.57849 q -0.463926,0 -0.733504,0.35246 -0.269578,0.34941 -0.269578,0.96013 0,0.61073 0.266444,0.96317 0.269577,0.34943 0.736638,0.34943 0.460791,0 0.730369,-0.35246 0.269579,-0.35246 0.269579,-0.96014 0,-0.60464 -0.269579,-0.9571 -0.269578,-0.35549 -0.730369,-0.35549 z m 0,-0.47399 q 0.752312,0 1.1817563,0.47399 0.429445,0.47399 0.429445,1.31259 0,0.83557 -0.429445,1.3126 -0.4294443,0.47398 -1.1817563,0.47398 -0.755446,0 -1.184891,-0.47398 -0.4263099,-0.47703 -0.4263099,-1.3126 0,-0.8386 0.4263099,-1.31259 0.429445,-0.47399 1.184891,-0.47399 z" + style="stroke-width:0.15801062" + id="path2012" + inkscape:connector-curvature="0" /> + <path + d="m 13.938656,369.31719 v 0.52261 q -0.244501,-0.13066 -0.492137,-0.19446 -0.244502,-0.0668 -0.495272,-0.0668 -0.561099,0 -0.871428,0.34637 -0.310329,0.34334 -0.310329,0.96621 0,0.62288 0.310329,0.96926 0.310329,0.34334 0.871428,0.34334 0.25077,0 0.495272,-0.0638 0.247636,-0.0668 0.492137,-0.19749 v 0.51653 q -0.241366,0.10938 -0.501541,0.16407 -0.25704,0.0547 -0.548561,0.0547 -0.793062,0 -1.260122,-0.48311 -0.46706,-0.4831 -0.46706,-1.30347 0,-0.83253 0.470195,-1.30956 0.473329,-0.47703 1.294603,-0.47703 0.266444,0 0.520349,0.0547 0.253906,0.0516 0.492137,0.158 z" + style="stroke-width:0.15801062" + id="path2014" + inkscape:connector-curvature="0" /> + <path + d="m 14.926066,367.86179 h 0.579907 v 2.7923 l 1.720913,-1.46755 h 0.736639 l -1.861972,1.59212 1.940337,1.81089 h -0.752311 l -1.783606,-1.66201 v 1.66201 h -0.579907 z" + style="stroke-width:0.15801062" + id="path2016" + inkscape:connector-curvature="0" /> + <path + d="m 4.5911814,375.08548 q 0.2162896,-0.37676 0.5172144,-0.55603 0.3009247,-0.17926 0.7084269,-0.17926 0.5485605,0 0.8463512,0.37372 0.29779,0.37069 0.29779,1.05737 v 2.05397 H 6.3810566 v -2.03574 q 0,-0.48918 -0.1786737,-0.72618 -0.1786744,-0.237 -0.5454264,-0.237 -0.4482525,0 -0.708427,0.28866 -0.2601745,0.28864 -0.2601745,0.78695 v 1.92331 H 4.1084479 v -2.03574 q 0,-0.49222 -0.178674,-0.72618 -0.1786741,-0.237 -0.5516954,-0.237 -0.4419832,0 -0.7021577,0.29169 -0.2601746,0.28865 -0.2601746,0.78392 v 1.92331 h -0.579907 v -3.40302 h 0.579907 v 0.52868 q 0.1974819,-0.31295 0.4733296,-0.46183 0.2758477,-0.14889 0.6551383,-0.14889 0.3824251,0 0.6488689,0.18838 0.2695784,0.18838 0.3980984,0.54691 z" + style="stroke-width:0.15801062" + id="path2018" + inkscape:connector-curvature="0" /> + <path + d="m 9.4749397,374.82418 q -0.463926,0 -0.733505,0.35246 -0.269578,0.34941 -0.269578,0.96014 0,0.61071 0.266444,0.96317 0.269578,0.34942 0.736639,0.34942 0.460791,0 0.7303693,-0.35246 0.269579,-0.35246 0.269579,-0.96013 0,-0.60465 -0.269579,-0.9571 -0.2695783,-0.3555 -0.7303693,-0.3555 z m 0,-0.47399 q 0.7523123,0 1.1817563,0.47399 0.429445,0.474 0.429445,1.3126 0,0.83556 -0.429445,1.31259 -0.429444,0.47399 -1.1817563,0.47399 -0.755447,0 -1.184892,-0.47399 -0.426309,-0.47703 -0.426309,-1.31259 0,-0.8386 0.426309,-1.3126 0.429445,-0.47399 1.184892,-0.47399 z" + style="stroke-width:0.15801062" + id="path2020" + inkscape:connector-curvature="0" /> + <path + d="m 14.349293,374.94875 v -1.84126 h 0.576773 v 4.72776 h -0.576773 v -0.51046 q -0.181808,0.30384 -0.460791,0.45272 -0.275847,0.14585 -0.664542,0.14585 -0.636331,0 -1.037563,-0.49222 -0.398099,-0.49223 -0.398099,-1.29436 0,-0.80214 0.398099,-1.29436 0.401232,-0.49223 1.037563,-0.49223 0.388695,0 0.664542,0.14889 0.278983,0.14584 0.460791,0.44967 z m -1.965415,1.18803 q 0,0.61679 0.260175,0.96925 0.263309,0.34941 0.720965,0.34941 0.457657,0 0.720966,-0.34941 0.263309,-0.35246 0.263309,-0.96925 0,-0.6168 -0.263309,-0.96622 -0.263309,-0.35245 -0.720966,-0.35245 -0.457656,0 -0.720965,0.35245 -0.260175,0.34942 -0.260175,0.96622 z" + style="stroke-width:0.15801062" + id="path2022" + inkscape:connector-curvature="0" /> + <path + d="m 19.11707,375.99397 v 0.27346 h -2.6519 q 0.03761,0.57729 0.357349,0.88113 0.322867,0.30081 0.896505,0.30081 0.332271,0 0.642599,-0.079 0.313464,-0.079 0.620658,-0.237 v 0.52869 q -0.310329,0.12761 -0.63633,0.19445 -0.326003,0.0668 -0.661409,0.0668 -0.840081,0 -1.332218,-0.474 -0.489003,-0.47398 -0.489003,-1.2822 0,-0.83557 0.463926,-1.32475 0.46706,-0.49222 1.256987,-0.49222 0.708428,0 1.119065,0.44361 0.413771,0.44056 0.413771,1.20017 z m -0.576772,-0.16407 q -0.0063,-0.4588 -0.266444,-0.73226 -0.25704,-0.27346 -0.68335,-0.27346 -0.482733,0 -0.774255,0.26435 -0.288386,0.26433 -0.33227,0.7444 z" + style="stroke-width:0.15801062" + id="path2024" + inkscape:connector-curvature="0" /> + </g> + <g + aria-label="sing" + 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="text2029" + transform="matrix(0.24788152,0,0,0.19166054,-0.30011791,231.82204)"> + <path + d="m 9.4979038,260.24587 v 0.89917 q -0.4030761,-0.20671 -0.8371581,-0.31006 -0.4340821,-0.10335 -0.8991699,-0.10335 -0.7079671,0 -1.0645345,0.21704 -0.3513997,0.21704 -0.3513997,0.65112 0,0.33073 0.2532145,0.52193 0.2532145,0.18604 1.0180257,0.35657 l 0.3255615,0.0723 q 1.012858,0.21704 1.4366048,0.61495 0.4289143,0.39274 0.4289143,1.10071 0,0.80615 -0.6407877,1.2764 -0.6356201,0.47026 -1.751831,0.47026 -0.4650879,0 -0.9715169,-0.093 -0.5012614,-0.0879 -1.0593668,-0.26872 v -0.98185 q 0.5270995,0.27389 1.0386962,0.41341 0.5115967,0.13436 1.0128581,0.13436 0.6717936,0 1.0335286,-0.22737 0.361735,-0.23255 0.361735,-0.65113 0,-0.38757 -0.2635498,-0.59428 -0.2583822,-0.2067 -1.1420491,-0.3979 l -0.3307292,-0.0775 q -0.883667,-0.18603 -1.2764078,-0.56844 -0.3927409,-0.38757 -0.3927409,-1.05937 0,-0.81648 0.578776,-1.2609 0.578776,-0.44442 1.6433105,-0.44442 0.5270996,0 0.9921875,0.0775 0.4650879,0.0775 0.8578287,0.23254 z" + style="stroke-width:0.26458332" + id="path2043" + inkscape:connector-curvature="0" /> + <path + d="m 11.32725,260.07534 h 0.950846 v 5.78776 H 11.32725 Z m 0,-2.25309 h 0.950846 v 1.20406 H 11.32725 Z" + style="stroke-width:0.26458332" + id="path2045" + inkscape:connector-curvature="0" /> + <path + d="m 19.073546,262.36977 v 3.49333 H 18.1227 v -3.46232 q 0,-0.82166 -0.320394,-1.2299 -0.320394,-0.40825 -0.961182,-0.40825 -0.769979,0 -1.214396,0.49093 -0.444417,0.49093 -0.444417,1.33842 v 3.27112 h -0.956014 v -5.78776 h 0.956014 v 0.89917 q 0.341064,-0.52193 0.800985,-0.78032 0.465087,-0.25838 1.069702,-0.25838 0.997355,0 1.508951,0.62012 0.511597,0.61495 0.511597,1.81384 z" + style="stroke-width:0.26458332" + id="path2047" + inkscape:connector-curvature="0" /> + <path + d="m 24.78896,262.90204 q 0,-1.03353 -0.428915,-1.60197 -0.423746,-0.56844 -1.193725,-0.56844 -0.764811,0 -1.193726,0.56844 -0.423746,0.56844 -0.423746,1.60197 0,1.02836 0.423746,1.5968 0.428915,0.56844 1.193726,0.56844 0.769979,0 1.193725,-0.56844 0.428915,-0.56844 0.428915,-1.5968 z m 0.950846,2.24276 q 0,1.47794 -0.656291,2.19624 -0.65629,0.72347 -2.010213,0.72347 -0.501261,0 -0.945678,-0.0775 -0.444418,-0.0724 -0.862997,-0.22738 v -0.925 q 0.418579,0.22737 0.826823,0.33589 0.408244,0.10852 0.831991,0.10852 0.935343,0 1.400431,-0.49092 0.465088,-0.48576 0.465088,-1.47278 v -0.47026 q -0.294556,0.5116 -0.754476,0.76481 -0.45992,0.25322 -1.100708,0.25322 -1.064535,0 -1.715658,-0.81132 -0.651123,-0.81132 -0.651123,-2.14974 0,-1.34359 0.651123,-2.15491 0.651123,-0.81132 1.715658,-0.81132 0.640788,0 1.100708,0.25322 0.45992,0.25321 0.754476,0.76481 v -0.8785 h 0.950846 z" + style="stroke-width:0.26458332" + id="path2049" + inkscape:connector-curvature="0" /> + </g> + <g + aria-label="int" + 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="text2033" + transform="matrix(0.32041122,-0.03020076,0.01966042,0.20858479,-8.1685374,228.88505)"> + <path + d="m 35.876029,258.739 h 0.950846 v 5.78776 h -0.950846 z m 0,-2.25309 h 0.950846 v 1.20406 h -0.950846 z" + style="stroke-width:0.26458332" + id="path2068" + inkscape:connector-curvature="0" /> + <path + d="m 43.622326,261.03344 v 3.49332 h -0.950847 v -3.46232 q 0,-0.82165 -0.320394,-1.2299 -0.320394,-0.40824 -0.961181,-0.40824 -0.769979,0 -1.214396,0.49093 -0.444418,0.49092 -0.444418,1.33842 v 3.27111 H 38.775076 V 258.739 h 0.956014 v 0.89917 q 0.341065,-0.52193 0.800985,-0.78031 0.465088,-0.25838 1.069702,-0.25838 0.997355,0 1.508952,0.62011 0.511597,0.61495 0.511597,1.81385 z" + style="stroke-width:0.26458332" + id="path2070" + inkscape:connector-curvature="0" /> + <path + d="m 46.469697,257.09569 v 1.64331 h 1.958537 v 0.73898 h -1.958537 v 3.14192 q 0,0.70797 0.191203,0.90951 0.19637,0.20154 0.790649,0.20154 h 0.976685 v 0.79581 h -0.976685 q -1.100708,0 -1.519287,-0.40824 -0.418579,-0.41341 -0.418579,-1.49862 v -3.14192 H 44.816051 V 258.739 h 0.697632 v -1.64331 z" + style="stroke-width:0.26458332" + id="path2072" + inkscape:connector-curvature="0" /> + </g> + <g + aria-label="poly" + 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="text2037" + transform="matrix(0.25663654,0,0,0.21265583,-0.6642181,226.54879)"> + <path + d="m 59.620352,262.38469 v 3.29869 l -1.234482,-0.29872 v -8.58548 l 1.234482,0.29872 v 0.94407 q 0.387028,-0.46168 0.974241,-0.58614 0.593887,-0.12841 1.414651,0.0702 1.361266,0.3294 2.208721,1.4341 0.854129,1.10634 0.854129,2.57242 0,1.46608 -0.854129,2.15904 -0.847455,0.69458 -2.208721,0.36518 -0.820764,-0.19861 -1.414651,-0.60888 -0.587213,-0.4142 -0.974241,-1.0632 z m 4.177222,-1.16055 q 0,-1.12734 -0.560521,-1.9016 -0.553849,-0.77822 -1.528089,-1.01396 -0.97424,-0.23575 -1.534762,0.27281 -0.55385,0.5046 -0.55385,1.63194 0,1.12733 0.55385,1.90554 0.560522,0.77427 1.534762,1.01002 0.97424,0.23574 1.528089,-0.26887 0.560521,-0.50855 0.560521,-1.63588 z" + style="stroke-width:0.31167662" + id="path2059" + inkscape:connector-curvature="0" /> + <path + d="m 68.890982,258.87108 q -0.764811,0 -1.209228,0.59945 -0.444418,0.59428 -0.444418,1.63298 0,1.03869 0.43925,1.63814 0.444417,0.59428 1.214396,0.59428 0.759644,0 1.204061,-0.59945 0.444417,-0.59945 0.444417,-1.63297 0,-1.02837 -0.444417,-1.62781 -0.444417,-0.60462 -1.204061,-0.60462 z m 0,-0.80615 q 1.240234,0 1.948201,0.80615 0.707968,0.80616 0.707968,2.23243 0,1.4211 -0.707968,2.23242 -0.707967,0.80615 -1.948201,0.80615 -1.245402,0 -1.953369,-0.80615 -0.702799,-0.81132 -0.702799,-2.23242 0,-1.42627 0.702799,-2.23243 0.707967,-0.80615 1.953369,-0.80615 z" + style="stroke-width:0.26458332" + id="path2061" + inkscape:connector-curvature="0" /> + <path + d="m 73.118114,255.95137 h 0.950846 v 8.04085 h -0.950846 z" + style="stroke-width:0.26458332" + id="path2063" + inkscape:connector-curvature="0" /> + <path + d="m 78.461457,264.52965 q -0.403076,1.03353 -0.785481,1.34876 -0.382406,0.31522 -1.023194,0.31522 h -0.759643 v -0.79581 h 0.558105 q 0.392741,0 0.609782,-0.18604 0.217041,-0.18603 0.480591,-0.8785 l 0.170532,-0.43408 -2.340942,-5.69474 h 1.00769 l 1.808675,4.52685 1.808675,-4.52685 h 1.007691 z" + style="stroke-width:0.26458332" + id="path2065" + inkscape:connector-curvature="0" /> + </g> + <g + aria-label="off" + 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="text2041" + transform="matrix(0.38538639,0,0,0.2273168,-0.53266411,220.80402)"> + <path + d="m 62.306679,267.82461 q -0.764812,0 -1.209229,0.59944 -0.444417,0.59428 -0.444417,1.63298 0,1.03869 0.43925,1.63814 0.444417,0.59428 1.214396,0.59428 0.759643,0 1.204061,-0.59945 0.444417,-0.59944 0.444417,-1.63297 0,-1.02836 -0.444417,-1.62781 -0.444418,-0.60461 -1.204061,-0.60461 z m 0,-0.80616 q 1.240234,0 1.948201,0.80616 0.707967,0.80615 0.707967,2.23242 0,1.4211 -0.707967,2.23242 -0.707967,0.80615 -1.948201,0.80615 -1.245402,0 -1.953369,-0.80615 -0.7028,-0.81132 -0.7028,-2.23242 0,-1.42627 0.7028,-2.23242 0.707967,-0.80616 1.953369,-0.80616 z" + style="stroke-width:0.26458332" + id="path2052" + inkscape:connector-curvature="0" /> + <path + d="m 69.463864,264.90489 v 0.79065 h -0.909505 q -0.511596,0 -0.713135,0.2067 -0.19637,0.20671 -0.19637,0.74414 v 0.5116 h 1.565796 v 0.73897 h -1.565796 v 5.04879 H 66.68884 v -5.04879 h -0.909505 v -0.73897 h 0.909505 v -0.40308 q 0,-0.96635 0.449585,-1.4056 0.449585,-0.44441 1.426269,-0.44441 z" + style="stroke-width:0.26458332" + id="path2054" + inkscape:connector-curvature="0" /> + <path + d="m 73.184567,264.90489 v 0.79065 h -0.909505 q -0.511597,0 -0.713135,0.2067 -0.19637,0.20671 -0.19637,0.74414 v 0.5116 h 1.565796 v 0.73897 h -1.565796 v 5.04879 h -0.956014 v -5.04879 h -0.909505 v -0.73897 h 0.909505 v -0.40308 q 0,-0.96635 0.449585,-1.4056 0.449585,-0.44441 1.426269,-0.44441 z" + style="stroke-width:0.26458332" + id="path2056" + inkscape:connector-curvature="0" /> + </g> + </g> +</svg> diff --git a/res/vertical-x-1.svg b/res/vertical-x-1.svg @@ -0,0 +1,68 @@ +<?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="6mm" + height="18mm" + viewBox="0 0 6 18" + version="1.1" + id="svg2350" + inkscape:version="0.92.2 5c3e80d, 2017-08-06" + sodipodi:docname="vertical-x-1.svg"> + <defs + id="defs2344" /> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="5.6" + inkscape:cx="14.48155" + inkscape:cy="34.214325" + 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" /> + <metadata + id="metadata2347"> + <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,-279)"> + <path + style="fill:none;stroke:#000000;stroke-width:0.28717566;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 0.43541036,283.21834 c 5.46977774,-3.81203 5.46977774,-3.81203 5.46977774,-3.81203 v 0 0" + id="path2903" + inkscape:connector-curvature="0" /> + <path + style="fill:none;stroke:#000000;stroke-width:0.28717566;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 0.76893342,279.48105 c 0.59516198,0.48977 1.18954558,1.03911 1.54989938,1.46084 2.1838762,2.55584 2.7525477,2.0962 2.7525477,2.0962" + id="path2905" + inkscape:connector-curvature="0" + sodipodi:nodetypes="csc" /> + </g> +</svg> diff --git a/res/vertical-x-2.svg b/res/vertical-x-2.svg @@ -0,0 +1,68 @@ +<?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="6mm" + height="18mm" + viewBox="0 0 6 18" + version="1.1" + id="svg2350" + inkscape:version="0.92.2 5c3e80d, 2017-08-06" + sodipodi:docname="vertical-x-2.svg"> + <defs + id="defs2344" /> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="5.6" + inkscape:cx="14.48155" + inkscape:cy="34.214325" + 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" /> + <metadata + id="metadata2347"> + <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,-279)"> + <path + style="fill:none;stroke:#000000;stroke-width:0.28717566;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="M 0.29366929,288.22652 C 5.763447,284.41449 5.763447,284.41449 5.763447,284.41449 v 0 0" + id="path2903" + inkscape:connector-curvature="0" /> + <path + style="fill:none;stroke:#000000;stroke-width:0.28717566;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 0.62719235,284.48923 c 0.59516195,0.48977 1.18954555,1.03911 1.54989935,1.46084 2.1838762,2.55584 2.7525477,2.0962 2.7525477,2.0962" + id="path2905" + inkscape:connector-curvature="0" + sodipodi:nodetypes="csc" /> + </g> +</svg> diff --git a/res/vertical-x-3.svg b/res/vertical-x-3.svg @@ -0,0 +1,68 @@ +<?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="6mm" + height="18mm" + viewBox="0 0 6 18" + version="1.1" + id="svg2350" + inkscape:version="0.92.2 5c3e80d, 2017-08-06" + sodipodi:docname="vertical-x-3.svg"> + <defs + id="defs2344" /> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="5.6" + inkscape:cx="14.48155" + inkscape:cy="34.214325" + 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" /> + <metadata + id="metadata2347"> + <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,-279)"> + <path + style="fill:none;stroke:#000000;stroke-width:0.26821467;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 4.9144282,292.08187 c -4.77133006,-3.81203 -4.77133006,-3.81203 -4.77133006,-3.81203 v 0 0" + id="path2903" + inkscape:connector-curvature="0" /> + <path + style="fill:none;stroke:#000000;stroke-width:0.26821467;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 4.6234934,288.34458 c -0.5191645,0.48977 -1.03765,1.03911 -1.3519894,1.46084 -1.9050123,2.55584 -2.40106897,2.0962 -2.40106897,2.0962" + id="path2905" + inkscape:connector-curvature="0" + sodipodi:nodetypes="csc" /> + </g> +</svg> diff --git a/src/Computerscare.hpp b/src/Computerscare.hpp @@ -1,7 +1,6 @@ #pragma once #include "rack.hpp" -#include "component.hpp" #include "app/common.hpp" #include "widget/TransparentWidget.hpp" @@ -84,6 +83,22 @@ struct ComputerscareIsoThree : app::SvgSwitch { addFrame(APP->window->loadSvg(asset::plugin(pluginInstance,"res/iso-3way-3.svg"))); } }; +struct ThreeVerticalXSwitch : app::SvgSwitch { + ThreeVerticalXSwitch() { + addFrame(APP->window->loadSvg(asset::plugin(pluginInstance,"res/vertical-x-1.svg"))); + addFrame(APP->window->loadSvg(asset::plugin(pluginInstance,"res/vertical-x-2.svg"))); + addFrame(APP->window->loadSvg(asset::plugin(pluginInstance,"res/vertical-x-3.svg"))); + } +}; +struct ComputerscareDebugFour : app::SvgSwitch { + ComputerscareDebugFour() { + addFrame(APP->window->loadSvg(asset::plugin(pluginInstance,"res/debug-clock-selector-4way-template.svg"))); + addFrame(APP->window->loadSvg(asset::plugin(pluginInstance,"res/debug-clock-selector-4way-template.svg"))); + + addFrame(APP->window->loadSvg(asset::plugin(pluginInstance,"res/debug-clock-selector-4way-template.svg"))); + addFrame(APP->window->loadSvg(asset::plugin(pluginInstance,"res/debug-clock-selector-4way-template.svg"))); + } +}; struct ComputerscareResetButton : SvgSwitch { ComputerscareResetButton() { momentary=true; @@ -173,7 +188,7 @@ struct PointingUpPentagonPort : ComputerscareSvgPort { } }; -struct InPort : SvgPort { +struct InPort : ComputerscareSvgPort { InPort() { setSvg(APP->window->loadSvg(asset::plugin(pluginInstance, "res/computerscare-pentagon-jack-1-outline.svg"))); //background->wrap(); @@ -210,6 +225,20 @@ struct SmallKnob : RoundKnob { setSvg(APP->window->loadSvg(asset::plugin(pluginInstance, "res/computerscare-small-knob-effed.svg"))); } }; +struct SmallSnapKnob : RoundBlackSnapKnob { + //bool visible = true; + SmallSnapKnob() { + setSvg(APP->window->loadSvg(asset::plugin(pluginInstance, "res/computerscare-small-knob-effed.svg"))); + } + /*void draw(const DrawArgs &args) { + if(visible) { + Widget::draw(args); + } + else { + //Widget::draw(args); + } + };*/ +}; struct BigSmoothKnob : RoundKnob { BigSmoothKnob() { setSvg(APP->window->loadSvg(asset::plugin(pluginInstance, "res/computerscare-big-knob-effed.svg"))); diff --git a/src/ComputerscareDebug.cpp b/src/ComputerscareDebug.cpp @@ -38,23 +38,26 @@ struct ComputerscareDebug : Module { std::string defaultStrValue = "+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n+0.000000\n"; std::string strValue = "0.000000\n0.000000\n0.000000\n0.000000\n0.000000\n0.000000\n0.000000\n0.000000\n0.000000\n0.000000\n0.000000\n0.000000\n0.000000\n0.000000\n0.000000\n0.000000\n"; - float logLines[NUM_LINES] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}; + float logLines[NUM_LINES] = {0.f}; int lineCounter = 0; int clockChannel = 0; int inputChannel = 0; + int clockMode = 0; + int inputMode = 0; + int stepCounter = 0; dsp::SchmittTrigger clockTriggers[NUM_LINES]; dsp::SchmittTrigger clearTrigger; dsp::SchmittTrigger manualClockTrigger; dsp::SchmittTrigger manualClearTrigger; - enum clockMode { - SINGLE_CLOCK, - INTERNAL_CLOCK, - POLY_CLOCK + enum clockAndInputModes { + SINGLE_MODE, + INTERNAL_MODE, + POLY_MODE }; //StringDisplayWidget3* textDisplay; @@ -62,8 +65,8 @@ struct ComputerscareDebug : Module { config(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS); params[MANUAL_TRIGGER].config(0.0f, 1.0f, 0.0f, "Manual Trigger"); params[MANUAL_CLEAR_TRIGGER].config(0.0f, 1.0f, 0.0f, "Clear"); - params[SWITCH_VIEW].config(0.0f, 1.0f, 0.0f, "Single / All Channels"); - params[WHICH_CLOCK].config(0.0f, 2.0f, 0.0f, "Clock Method"); + params[SWITCH_VIEW].config(0.0f, 2.0f, 0.0f, "Input Mode"); + params[WHICH_CLOCK].config(0.0f, 2.0f, 0.0f, "Clock Mode"); params[CLOCK_CHANNEL_FOCUS].config(0.f,15.f,0.f,"Clock Channel Selector"); params[INPUT_CHANNEL_FOCUS].config(0.f,15.f,0.f,"Input Channel Selector"); outputs[POLY_OUTPUT].setChannels(16); @@ -82,20 +85,21 @@ struct ComputerscareDebug : Module { void ComputerscareDebug::step() { std::string thisVal; - int whichClock = floor(params[WHICH_CLOCK].value); + + clockMode = floor(params[WHICH_CLOCK].value); - bool polyInMode = params[SWITCH_VIEW].value < 0.5; + inputMode = floor(params[SWITCH_VIEW].value); inputChannel = floor(params[INPUT_CHANNEL_FOCUS].value); clockChannel = floor(params[CLOCK_CHANNEL_FOCUS].value); - if(whichClock == SINGLE_CLOCK) { + if(clockMode == SINGLE_MODE) { if (clockTriggers[clockChannel].process(inputs[TRG_INPUT].getVoltage(clockChannel) / 2.f) || manualClockTrigger.process(params[MANUAL_TRIGGER].value) ) { - if(polyInMode) { + if(inputMode == POLY_MODE) { for(int i = 0; i < 16; i++) { logLines[i] = inputs[VAL_INPUT].getVoltage(i); } } - else { + else if(inputMode == SINGLE_MODE) { for( unsigned int a = NUM_LINES-1; a > 0; a = a - 1 ) { logLines[a] = logLines[a-1]; @@ -104,37 +108,54 @@ void ComputerscareDebug::step() { logLines[0] = inputs[VAL_INPUT].getVoltage(inputChannel); } + else if(inputMode == INTERNAL_MODE) { + for(int i = 0; i < 16; i++) { + logLines[i] = random::uniform(); + } + } //thisVal = std::to_string(logLines[0]).substr(0,10); //outputs[POLY_OUTPUT].setVoltage(logLines[0],0); } } - else if(whichClock == INTERNAL_CLOCK) { - if(polyInMode) { + else if(clockMode == INTERNAL_MODE) { + if(inputMode == POLY_MODE) { for(int i = 0; i < 16; i++) { logLines[i] = inputs[VAL_INPUT].getVoltage(i); } } - else { + else if(inputMode == SINGLE_MODE) { logLines[inputChannel] = inputs[VAL_INPUT].getVoltage(inputChannel); } + else if(inputMode == INTERNAL_MODE) { + for(int i = 0; i < 16; i++) { + logLines[i] = random::uniform(); + } + } } - else if(whichClock == POLY_CLOCK) { - if(polyInMode) { + else if(clockMode == POLY_MODE) { + if(inputMode == POLY_MODE) { for(int i = 0; i < 16; i++) { if (clockTriggers[i].process(inputs[TRG_INPUT].getVoltage(i) / 2.f) || manualClockTrigger.process(params[MANUAL_TRIGGER].value) ) { logLines[i] = inputs[VAL_INPUT].getVoltage(i); } } } - else { + else if(inputMode == SINGLE_MODE) { for(int i = 0; i < 16; i++) { if (clockTriggers[i].process(inputs[TRG_INPUT].getVoltage(i) / 2.f) || manualClockTrigger.process(params[MANUAL_TRIGGER].value) ) { logLines[i] = inputs[VAL_INPUT].getVoltage(inputChannel); } } } + else if(inputMode == INTERNAL_MODE) { + for(int i = 0; i < 16; i++) { + if (clockTriggers[i].process(inputs[TRG_INPUT].getVoltage(i) / 2.f) || manualClockTrigger.process(params[MANUAL_TRIGGER].value) ) { + logLines[i] = random::uniform(); + } + } + } } if(clearTrigger.process(inputs[CLR_INPUT].getVoltage() / 2.f) || manualClearTrigger.process(params[MANUAL_CLEAR_TRIGGER].value)) { @@ -161,6 +182,19 @@ void ComputerscareDebug::step() { } +struct HidableSmallSnapKnob : SmallSnapKnob { + bool visible = true; + int hackIndex = 0; + ComputerscareDebug *module; + HidableSmallSnapKnob() { + SmallSnapKnob(); + } + void draw(const DrawArgs &args) { + if(module ? (hackIndex == 0 ? module->clockMode == 0 : module->inputMode == 0) : true) { + Widget::draw(args); + } + }; +}; //////////////////////////////////// struct StringDisplayWidget3 : Widget { @@ -207,44 +241,50 @@ struct ComputerscareDebugWidget : ModuleWidget { setModule(module); setPanel(APP->window->loadSvg(asset::plugin(pluginInstance, "res/ComputerscareDebugPanel.svg"))); - addInput(createInput<InPort>(Vec(3, 330), module, ComputerscareDebug::TRG_INPUT)); - addInput(createInput<InPort>(Vec(33, 330), module, ComputerscareDebug::VAL_INPUT)); - addInput(createInput<InPort>(Vec(63, 330), module, ComputerscareDebug::CLR_INPUT)); + addInput(createInput<InPort>(Vec(3, 335), module, ComputerscareDebug::TRG_INPUT)); + addInput(createInput<InPort>(Vec(63, 335), module, ComputerscareDebug::VAL_INPUT)); + addInput(createInput<InPort>(Vec(33, 335), module, ComputerscareDebug::CLR_INPUT)); - addParam(createParam<ComputerscareClockButton>(Vec(2, 315), module, ComputerscareDebug::MANUAL_TRIGGER)); + addParam(createParam<ComputerscareClockButton>(Vec(2, 321), module, ComputerscareDebug::MANUAL_TRIGGER)); - addParam(createParam<ComputerscareResetButton>(Vec(62, 315), module, ComputerscareDebug::MANUAL_CLEAR_TRIGGER)); + addParam(createParam<ComputerscareResetButton>(Vec(32, 320), module, ComputerscareDebug::MANUAL_CLEAR_TRIGGER)); + addParam(createParam<ThreeVerticalXSwitch>(Vec(2,279),module,ComputerscareDebug::WHICH_CLOCK)); + addParam(createParam<ThreeVerticalXSwitch>(Vec(66,279),module,ComputerscareDebug::SWITCH_VIEW)); + - - + HidableSmallSnapKnob *clockKnob = createParam<HidableSmallSnapKnob>(Vec(6,305),module,ComputerscareDebug::CLOCK_CHANNEL_FOCUS); + //clockKnob->visible = (module->clockMode == 0); + clockKnob->module = module; + clockKnob->hackIndex = 0; + addParam(clockKnob); + HidableSmallSnapKnob *inputKnob =createParam<HidableSmallSnapKnob>(Vec(66,305),module,ComputerscareDebug::INPUT_CHANNEL_FOCUS); + inputKnob->module = module; + inputKnob->hackIndex = 1; + + addParam(inputKnob); + + addOutput(createOutput<OutPort>(Vec(57, 1), module, ComputerscareDebug::POLY_OUTPUT)); + + StringDisplayWidget3 *stringDisplay = createWidget<StringDisplayWidget3>(Vec(15,34)); stringDisplay->box.size = Vec(73, 245); stringDisplay->module = module; addChild(stringDisplay); - - printf("ujj\n"); for(int i = 0; i < 16; i++) { SmallLetterDisplay *sld = new SmallLetterDisplay(); sld->fontSize = 15; sld->textAlign=1; - sld->box.pos = Vec(-4,34+15.14*i); + sld->box.pos = Vec(-4,33.8+15.08*i); sld->box.size = Vec(8, 10); sld->value=std::to_string(i+1); addChild(sld); } - addParam(createParam<ComputerscareIsoThree>(Vec(4,279),module,ComputerscareDebug::WHICH_CLOCK)); - addParam(createParam<IsoButton>(Vec(34,279),module,ComputerscareDebug::SWITCH_VIEW)); - - addParam(createParam<MediumSnapKnob>(Vec(6,290),module,ComputerscareDebug::CLOCK_CHANNEL_FOCUS)); - addParam(createParam<MediumSnapKnob>(Vec(36,290),module,ComputerscareDebug::INPUT_CHANNEL_FOCUS)); - addOutput(createOutput<OutPort>(Vec(57, 1), module, ComputerscareDebug::POLY_OUTPUT)); - } };