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:
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));
-
}
};