commit b6149aadd68e862dbf4063c545d22aacdd7a7ebd
parent 9eb9bdcf083311878a5912982c3282cdef468fbb
Author: Adam M <aemalone@gmail.com>
Date: Fri, 19 Nov 2021 14:16:21 -0600
horse cv2, put cv and gate options in submenu, update panel
Diffstat:
2 files changed, 164 insertions(+), 125 deletions(-)
diff --git a/res/ComputerscareHorseADoodleDooPanel.svg b/res/ComputerscareHorseADoodleDooPanel.svg
@@ -24,11 +24,11 @@
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
- inkscape:zoom="4.0000003"
- inkscape:cx="17.256898"
- inkscape:cy="212.5269"
+ inkscape:zoom="11.313709"
+ inkscape:cx="71.704039"
+ inkscape:cy="354.94638"
inkscape:document-units="mm"
- inkscape:current-layer="g1669"
+ inkscape:current-layer="text1141"
showgrid="false"
units="px"
inkscape:snap-bbox="true"
@@ -173,82 +173,8 @@
x="0.071190082"
y="290.79446" />
<g
- aria-label="computerscare"
- transform="matrix(0.94988578,-0.02804688,0.4051471,0.5822115,-124.33412,122.62476)"
- style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
- id="text1651">
- <path
- d="m 9.6027791,290.64805 -0.1785472,1.13642 q -0.2071013,-0.22115 -0.4403012,-0.2959 -0.2289893,-0.082 -0.4873177,-0.0166 -0.5763522,0.1409 -1.0153469,0.97678 -0.4367476,0.82622 -0.6495621,2.18074 -0.2127596,1.35428 -0.011668,2.0279 0.2021416,0.66697 0.7797313,0.52296 0.259638,-0.0689 0.5316849,-0.2657 0.2776392,-0.20851 0.5741694,-0.55615 l -0.1764568,1.12315 q -0.2859177,0.30015 -0.5722526,0.48508 -0.2831694,0.18458 -0.583333,0.25957 -0.8170394,0.20584 -1.1320824,-0.72716 -0.3157407,-0.93062 -0.035471,-2.7145 0.2844124,-1.8103 0.9313988,-2.96829 0.6501935,-1.15871 1.4955927,-1.36946 0.2742623,-0.0675 0.516621,-0.0134 0.2438341,0.0468 0.4524011,0.21807 z"
- style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.86896825"
- id="path1701"
- inkscape:connector-curvature="0" />
- <path
- d="m 10.830236,291.43632 q -0.242121,0.0741 -0.521559,0.57491 -0.278305,0.4971 -0.5188844,1.29095 -0.2405799,0.79385 -0.2403983,1.20956 0.00301,0.41129 0.2467005,0.33695 0.2404212,-0.0734 0.5199302,-0.57442 0.2795,-0.50105 0.51888,-1.29093 0.238185,-0.78594 0.236377,-1.20119 -6.09e-4,-0.4192 -0.241046,-0.34583 z m 0.186718,-0.6161 q 0.392499,-0.11967 0.429888,0.42797 0.03734,0.54781 -0.293009,1.63784 -0.329159,1.08613 -0.741139,1.77453 -0.410787,0.68447 -0.8033151,0.80422 -0.3941992,0.12035 -0.431527,-0.42747 -0.034513,-0.55222 0.2946412,-1.63833 0.3303527,-1.09005 0.7395069,-1.77404 0.410787,-0.68447 0.804954,-0.80472 z"
- style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.46487415"
- id="path1703"
- inkscape:connector-curvature="0" />
- <path
- d="m 12.807825,292.43649 q 0.205376,-0.44273 0.383783,-0.65959 0.178399,-0.21686 0.344437,-0.2297 0.223488,-0.0171 0.228448,0.40604 0.0059,0.41968 -0.207833,1.21429 l -0.639393,2.37685 -0.236181,0.0178 0.633715,-2.35578 q 0.15227,-0.56606 0.153268,-0.83476 10e-4,-0.26867 -0.148429,-0.25721 -0.182514,0.0136 -0.378442,0.35612 -0.195844,0.34217 -0.350959,0.91879 l -0.598741,2.22567 -0.236178,0.0178 0.633714,-2.35578 q 0.153226,-0.56959 0.153269,-0.83477 10e-4,-0.26864 -0.150977,-0.25701 -0.179992,0.0135 -0.376835,0.35945 -0.195847,0.34216 -0.350016,0.91529 l -0.598731,2.22564 -0.236175,0.0178 1.059316,-3.93799 0.236176,-0.0178 -0.164564,0.61175 q 0.177856,-0.36827 0.336583,-0.5492 0.158669,-0.18072 0.313205,-0.19264 0.155863,-0.0123 0.205723,0.19761 0.05123,0.20939 -0.0081,0.62045 z"
- style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.40262118"
- id="path1705"
- inkscape:connector-curvature="0" />
- <path
- d="m 13.60117,295.28799 -0.554629,2.13184 -0.267265,0.0195 1.443525,-5.54854 0.267267,-0.0195 -0.158727,0.61011 q 0.177173,-0.36501 0.349134,-0.54657 0.17433,-0.18522 0.352032,-0.19813 0.294924,-0.0224 0.326968,0.54651 0.03367,0.56789 -0.212846,1.51542 -0.246502,0.94749 -0.582696,1.54239 -0.334749,0.59479 -0.629491,0.61632 -0.17774,0.0129 -0.261498,-0.14988 -0.08139,-0.16659 -0.07182,-0.51936 z m 1.269531,-1.4693 q 0.189548,-0.72859 0.175557,-1.13245 -0.01161,-0.40756 -0.222552,-0.39216 -0.210881,0.0151 -0.440613,0.44055 -0.227296,0.42149 -0.416846,1.15007 -0.189545,0.72858 -0.177937,1.13612 0.01399,0.40387 0.22493,0.38848 0.210882,-0.0151 0.438235,-0.43686 0.229674,-0.42519 0.419218,-1.15375 z"
- style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.43304038"
- id="path1707"
- inkscape:connector-curvature="0" />
- <path
- d="m 15.055401,295.73684 0.724151,-2.70123 0.3058,-0.15606 -0.716673,2.67333 q -0.169825,0.63345 -0.15225,0.89989 0.01859,0.26239 0.224461,0.15806 0.247262,-0.12499 0.491712,-0.57662 0.245936,-0.45182 0.421108,-1.10524 l 0.678203,-2.52983 0.305801,-0.15606 -1.19623,4.46214 -0.305797,0.15607 0.183713,-0.68527 q -0.220195,0.4628 -0.421392,0.73706 -0.198389,0.26912 -0.392768,0.36807 -0.32063,0.16323 -0.35841,-0.231 -0.03788,-0.39383 0.208823,-1.31409 z"
- style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.45902026"
- id="path1709"
- inkscape:connector-curvature="0" />
- <path
- d="m 18.113428,292.3357 -0.179064,0.85803 0.491607,0.0721 -0.08052,0.38584 -0.491607,-0.0721 -0.342349,1.64047 q -0.07714,0.36965 -0.0511,0.4819 0.02738,0.11224 0.176528,0.13418 l 0.245304,0.0351 -0.08672,0.41554 -0.245305,-0.0351 q -0.276353,-0.0402 -0.336915,-0.26884 -0.06004,-0.23118 0.05822,-0.79779 l 0.342349,-1.64049 -0.175178,-0.0253 0.08052,-0.38584 0.175179,0.0253 0.179063,-0.85803 z"
- style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.36464316"
- id="path1711"
- inkscape:connector-curvature="0" />
- <path
- d="m 20.261915,292.97708 -0.07466,0.29993 -1.257665,0.52946 q -0.139748,0.62563 -0.07111,0.89506 0.07099,0.26547 0.343071,0.15079 0.157847,-0.0674 0.326325,-0.21496 0.170227,-0.14922 0.359046,-0.38381 l -0.144348,0.57988 q -0.182046,0.20203 -0.354909,0.34045 -0.172839,0.13835 -0.331881,0.2052 -0.398421,0.16777 -0.502421,-0.25374 -0.102476,-0.42229 0.118208,-1.30876 0.228131,-0.91641 0.581722,-1.54555 0.355894,-0.63309 0.730507,-0.79076 0.33577,-0.14063 0.40955,0.26329 0.07592,0.40065 -0.13147,1.23373 z m -0.228747,-0.0648 q 0.122266,-0.50191 0.07358,-0.74995 -0.04723,-0.24866 -0.249404,-0.16353 -0.228759,0.0957 -0.439357,0.44448 -0.20894,0.34749 -0.360834,0.88279 z"
- style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.40433538"
- id="path1713"
- inkscape:connector-curvature="0" />
- <path
- d="m 21.673498,292.84153 q -0.02499,-0.0664 -0.06594,-0.10097 -0.03882,-0.0377 -0.09539,-0.0472 -0.200434,-0.0342 -0.392529,0.28546 -0.189936,0.31632 -0.3466,0.94546 l -0.486472,1.9536 -0.237943,-0.0394 0.923474,-3.70854 0.237943,0.0394 -0.143468,0.57613 q 0.158635,-0.3251 0.318554,-0.46708 0.160764,-0.1454 0.331675,-0.1164 0.02431,0.005 0.05169,0.0182 0.0278,0.0121 0.05955,0.0351 z"
- style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.40433538"
- id="path1715"
- inkscape:connector-curvature="0" />
- <path
- d="m 22.229258,293.93465 -0.102668,0.39617 q -0.07248,-0.13083 -0.164162,-0.21902 -0.09165,-0.0884 -0.202529,-0.13415 -0.168771,-0.0697 -0.278572,-0.009 -0.108573,0.0611 -0.158124,0.25229 -0.03777,0.1458 7.57e-4,0.2549 0.03913,0.10682 0.201965,0.25733 l 0.06936,0.0639 q 0.216657,0.19541 0.272253,0.41237 0.05741,0.21525 -0.02345,0.5272 -0.09204,0.35517 -0.298505,0.49929 -0.205219,0.14461 -0.471313,0.0347 -0.110888,-0.0457 -0.220988,-0.13657 -0.109481,-0.0879 -0.221839,-0.22275 l 0.112114,-0.43259 q 0.09439,0.17255 0.200407,0.28439 0.106615,0.10961 0.226124,0.15887 0.160139,0.0662 0.272416,8.8e-4 0.112791,-0.0669 0.160582,-0.25127 0.04426,-0.17077 0.005,-0.28779 -0.038,-0.1165 -0.226818,-0.28773 l -0.06998,-0.0667 q -0.189435,-0.16883 -0.239373,-0.3761 -0.04937,-0.20941 0.02734,-0.50541 0.09322,-0.35974 0.281955,-0.49858 0.188722,-0.13884 0.442502,-0.0341 0.125679,0.0517 0.227651,0.13195 0.102022,0.0799 0.177954,0.18687 z"
- style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.33832553"
- id="path1717"
- inkscape:connector-curvature="0" />
- <path
- d="m 23.986751,292.12191 c -0.128774,0.25908 -0.285096,-0.0923 -0.517645,-0.0646 -0.159144,0.002 -0.29396,0.0931 -0.404426,0.27171 -0.110275,0.17711 -0.185605,0.42507 -0.225985,0.7439 -0.04034,0.31882 -0.02779,0.56619 0.03777,0.74213 0.06574,0.17449 0.178211,0.26034 0.337352,0.25788 0.07111,-10e-4 0.143417,-0.0185 0.216918,-0.0523 0.07456,-0.0353 0.150753,-0.0869 0.228587,-0.15493 l -0.05024,0.39658 c -0.07555,0.0571 -0.151996,0.10017 -0.229319,0.12922 -0.07646,0.0292 -0.15603,0.0444 -0.238701,0.0456 -0.224928,0.003 -0.387991,-0.11731 -0.48913,-0.36262 -0.101153,-0.24523 -0.12514,-0.57778 -0.07196,-0.9977 0.05397,-0.42616 0.163107,-0.76234 0.327388,-1.00858 0.165177,-0.24626 0.364234,-0.3712 0.597172,-0.37482 0.07569,-0.002 0.147877,0.01 0.215995,0.039 0.06878,0.0246 0.351198,0.27269 0.41187,0.32611 z"
- style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.33832553"
- id="path1719"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="cccccccccccccccccc" />
- <path
- d="m 25.156213,294.62363 c -0.312517,0.0125 -0.547151,0.0755 -0.703953,0.18946 -0.15681,0.11392 -0.278931,0.30245 -0.366342,0.56547 -0.06973,0.20967 -0.08035,0.37475 -0.03187,0.49525 0.05059,0.11828 0.153688,0.17414 0.309207,0.16813 0.21443,-0.009 0.424504,-0.13092 0.630195,-0.36698 0.207831,-0.23833 0.375738,-0.55003 0.503717,-0.93507 l 0.04365,-0.13151 z m 0.852522,-0.27447 -0.681487,2.05034 -0.386726,0.0151 0.181291,-0.54547 c -0.160822,0.22168 -0.324516,0.38756 -0.491082,0.49763 -0.165839,0.10786 -0.344069,0.16559 -0.53468,0.1732 -0.241081,0.01 -0.398927,-0.0855 -0.473591,-0.28516 -0.07257,-0.20187 -0.05126,-0.47611 0.06392,-0.82266 0.134371,-0.40428 0.323972,-0.71259 0.568803,-0.92494 0.246236,-0.21242 0.54523,-0.32562 0.896983,-0.33958 l 0.542379,-0.0216 0.01911,-0.0576 c 0.0903,-0.27167 0.101113,-0.47897 0.03246,-0.62188 -0.06654,-0.14511 -0.205622,-0.21349 -0.417233,-0.20506 -0.134581,0.006 -0.27376,0.0353 -0.41765,0.0894 -0.143873,0.0543 -0.23933,0.0105 -0.389784,0.11369 l 0.129593,-0.42308 c 0.169238,-0.0889 0.327181,-0.15634 0.47384,-0.20236 0.147348,-0.0481 0.284083,-0.0745 0.410263,-0.0797 0.340575,-0.0136 0.550131,0.11107 0.628684,0.37402 0.07858,0.26285 0.02686,0.66808 -0.155151,1.21569 z"
- style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.49534509"
- id="path1721"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="ccccccccccccccccccccccccccccccc" />
- <path
- d="m 28.126914,293.2913 q -0.04162,-0.05 -0.103389,-0.0773 -0.05896,-0.0295 -0.141049,-0.0387 -0.290942,-0.0329 -0.539632,0.19734 -0.245901,0.22772 -0.417305,0.68886 l -0.532281,1.43196 -0.345034,-0.0384 1.010313,-2.71829 0.345034,0.0384 -0.156978,0.42227 q 0.200189,-0.2354 0.41784,-0.33487 0.218607,-0.10209 0.466633,-0.0742 0.03543,0.004 0.07571,0.0154 0.0407,0.0112 0.08858,0.0282 z"
- style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.41692752"
- id="path1723"
- inkscape:connector-curvature="0" />
- <path
- d="m 29.861651,294.43588 -0.07656,0.20539 -1.546187,-0.002 c -0.09291,0.29071 -0.13687,0.34741 -0.0668,0.51355 0.07195,0.16485 0.221806,0.25971 0.449493,0.2848 0.131883,0.0148 0.266754,0.009 0.404711,-0.017 0.139202,-0.0259 0.501078,-0.12507 0.652538,-0.1908 l -0.148138,0.39714 c -0.147036,0.0504 -0.508081,0.13863 -0.649956,0.15781 -0.141876,0.0193 -0.279382,0.0214 -0.412486,0.007 -0.33344,-0.037 -0.553567,-0.18454 -0.660393,-0.44348 -0.105566,-0.25875 -0.08288,-0.5905 0.06807,-0.99522 0.156134,-0.41842 0.371833,-0.73999 0.647359,-0.96467 0.277318,-0.22604 0.572748,-0.32179 0.886286,-0.28722 0.281199,0.0307 0.461833,0.16663 0.541999,0.40665 0.08195,0.23874 0.05199,0.5483 -0.08989,0.92868 z m -0.297458,-0.16104 c 0.08311,-0.23003 0.09867,-0.4192 0.04645,-0.56751 -0.05093,-0.14821 -0.161032,-0.23161 -0.330238,-0.25027 -0.191612,-0.021 -0.370002,0.0283 -0.535043,0.14776 -0.16384,0.11974 -0.137625,0.29219 -0.244719,0.53066 z"
- style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.40432581"
- id="path1725"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="ccccscccsscscscccccsccc" />
- </g>
- <g
id="g9547"
- transform="matrix(0.60186406,0.03418152,0.00599569,0.11388483,4.9544592,293.20677)">
+ transform="matrix(0.36066609,0.08758903,0.00359291,0.29182614,-3.8000472,287.26951)">
<g
style="display:inline"
inkscape:label="Layer 1"
@@ -261,7 +187,7 @@
<path
id="rect5874"
d="m 14.667374,10.662096 h 3.995763 v 1.331921 h -3.995763 z"
- style="opacity:1;fill:#ffffff;fill-opacity:0.98571424;stroke:#000000;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ style="opacity:1;fill:#ffffff;fill-opacity:0.985714;stroke:#000000;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
inkscape:connector-curvature="0" />
<path
id="rect5878"
@@ -272,7 +198,7 @@
<path
id="rect5880"
d="m 26.64423,10.662096 -3.171232,0.209056 v 1.331921 l 3.171232,-0.209056 z"
- style="opacity:1;fill:#ffffff;fill-opacity:0.98571424;stroke:#000000;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ style="opacity:1;fill:#ffffff;fill-opacity:0.985714;stroke:#000000;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
inkscape:connector-curvature="0" />
<path
id="rect5882"
@@ -394,20 +320,31 @@
</g>
</g>
<path
- style="fill:#c6c6c6;fill-opacity:1;stroke:#000000;stroke-width:0.4221397px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- d="m 10.989302,259.65003 12.552693,0.18603 -0.238953,30.41303 H 9.4437423 Z"
+ style="fill:#c6c6c6;fill-opacity:1;stroke:#000000;stroke-width:0.42214px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 11.121594,261.03909 12.420401,-0.74001 -0.172807,36.4323 -13.5947166,-0.13229 z"
id="path1132"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccc" />
+ <g
+ aria-label="2"
+ id="text1141"
+ style="font-style:normal;font-weight:normal;font-size:10.5833px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+ transform="matrix(0.77106807,0,0,0.79873627,1.6721348,60.549491)">
+ <path
+ d="m 26.105737,293.05816 0.895481,0.2877 -0.09525,0.35494 -1.20414,-0.38685 0.09525,-0.35495 c 0.141834,-0.13434 0.217058,-0.58166 0.459435,-0.80618 0.243602,-0.22565 0.514705,-0.10403 0.579559,-0.17089 0.122854,-0.12531 0.214382,-0.23502 0.274578,-0.32908 0.06139,-0.0951 0.105752,-0.19357 0.133028,-0.29518 0.04446,-0.16563 0.04516,-0.31208 0.002,-0.43933 -0.04226,-0.12704 -0.120134,-0.20869 -0.233604,-0.24515 -0.08045,-0.0258 -0.209651,0.11115 -0.311744,0.12826 -0.101233,0.0173 -0.177255,-0.0849 -0.303897,-0.0243 l 0.114308,-0.42593 c 0.121607,-0.035 0.231981,-0.0556 0.331068,-0.0615 0.09908,-0.006 0.185891,0.003 0.260379,0.0273 0.196449,0.0632 0.33144,0.1942 0.404968,0.39319 0.07352,0.19901 0.07405,0.43352 0.0016,0.70356 -0.03437,0.12806 -0.08188,0.24509 -0.142511,0.35111 -0.05944,0.10493 -0.148585,0.2229 -0.267477,0.35404 -0.03202,0.0336 -0.13071,0.12888 -0.296097,0.28588 -0.165023,0.15564 -0.397348,0.37355 -0.696983,0.65376 z"
+ style="stroke-width:0.0868997"
+ id="path1143"
+ sodipodi:nodetypes="cccccsccscscccssssccccc" />
+ </g>
<path
- style="fill:#a2a2a2;fill-opacity:1;stroke:#000000;stroke-width:0.36160204px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- d="m 10.607003,259.85857 -2.0699576,1.9084 -0.6415948,29.4234 1.4581693,-1.05082 z"
+ style="fill:#a2a2a2;fill-opacity:1;stroke:#000000;stroke-width:0.361602px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 11.136169,260.98305 -0.945478,-1.39889 -2.0968029,31.07705 1.6566068,5.89448 z"
id="path1134"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccc" />
<path
- style="fill:#e1e1e1;fill-opacity:1;stroke:#000000;stroke-width:0.36353821;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- d="m 7.8742933,291.40381 13.6624767,0.0171 1.73142,-1.00133 -13.87197,-0.30939 z"
+ style="fill:#e1e1e1;fill-opacity:1;stroke:#000000;stroke-width:0.363538;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 11.247731,260.97674 12.273415,-0.7105 -1.311288,-1.19977 -12.15218,0.28592 z"
id="path1136"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccc" />
@@ -447,8 +384,8 @@
inkscape:connector-curvature="0" />
<g
aria-label="trg"
- transform="scale(1.0194966,0.98087624)"
- style="font-style:normal;font-weight:normal;font-size:2.87486291px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.07187158"
+ transform="matrix(1.0194966,0,0,0.98087624,0,-1.0583333)"
+ style="font-style:normal;font-weight:normal;font-size:2.87486px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.0718716"
id="text898">
<path
d="m 19.369058,273.29735 -0.148579,0.73956 0.520786,0.11303 -0.06682,0.33258 -0.520786,-0.11303 -0.284071,1.41399 q -0.06401,0.31861 -0.03139,0.42035 0.034,0.10198 0.192027,0.13627 l 0.259706,0.0564 -0.07195,0.35814 -0.259705,-0.0564 q -0.292685,-0.0635 -0.367078,-0.2714 -0.07392,-0.21021 0.02419,-0.69861 l 0.284071,-1.41399 -0.185504,-0.0403 0.06681,-0.33257 0.185504,0.0403 0.148577,-0.73956 z"
@@ -457,7 +394,7 @@
inkscape:connector-curvature="0" />
<path
d="m 20.999928,274.1158 c -0.0348,-0.0338 -0.07296,-0.0582 -0.11448,-0.0732 -0.0404,-0.0168 -0.08529,-0.0252 -0.134672,-0.0252 -0.175082,0 -0.309761,0.0956 -0.404037,0.28686 -0.09315,0.18936 -0.139733,0.46216 -0.139733,0.8184 v 0.944 l -0.311446,0.0477 v -2.48223 h 0.311446 v 0.48934 c 0.06509,-0.19124 0.149828,-0.33279 0.254205,-0.42465 0.104377,-0.0938 0.231199,-0.14064 0.380467,-0.14064 0.02132,0 0.04489,0.003 0.07071,0.008 0.02581,0.004 0.05443,0.0107 0.08586,0.02 z"
- style="stroke-width:0.11140583"
+ style="stroke-width:0.111406"
id="path926"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccscsccccccsccc" />
@@ -474,25 +411,25 @@
style="font-style:normal;font-weight:normal;font-size:2.47565603px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.0618914"
id="text906">
<path
- d="m 22.962019,243.99449 v 0.1088 l -1.022659,0.0894 c 0.0097,0.15311 0.05561,0.18058 0.137805,0.26117 0.08301,0.0798 0.198246,0.11968 0.345722,0.11968 0.08542,0 0.168025,-0.0105 0.247807,-0.0314 0.08059,-0.0209 0.16037,-0.0524 0.239346,-0.0943 v 0.21033 c -0.07978,0.0339 -0.161579,0.0597 -0.24539,0.0774 -0.08381,0.0177 -0.168831,0.0266 -0.25506,0.0266 -0.215975,0 -0.387224,-0.0629 -0.513747,-0.18857 -0.125717,-0.12572 -0.188576,-0.29576 -0.188576,-0.51012 0,-0.22162 0.05964,-0.3973 0.178905,-0.52705 0.120076,-0.13055 0.281655,-0.19583 0.484736,-0.19583 0.182128,0 0.325977,0.0588 0.431547,0.17649 0.106376,0.11685 0.159564,0.27601 0.159564,0.47748 z m -0.222422,-0.0653 c -0.0016,-0.12169 -0.03585,-0.2188 -0.10275,-0.29133 -0.06608,-0.0725 -0.153921,-0.10879 -0.263522,-0.10879 -0.124105,0 -0.223631,0.0351 -0.298577,0.10517 -0.07414,0.0701 -0.116853,0.26938 -0.128135,0.39671 z"
+ d="m 22.962019,243.48887 v 0.1088 l -1.022659,0.0894 c 0.0097,0.15311 0.05561,0.18058 0.137805,0.26117 0.08301,0.0798 0.198246,0.11968 0.345722,0.11968 0.08542,0 0.168025,-0.0105 0.247807,-0.0314 0.08059,-0.0209 0.16037,-0.0524 0.239346,-0.0943 v 0.21033 c -0.07978,0.0339 -0.161579,0.0597 -0.24539,0.0774 -0.08381,0.0177 -0.168831,0.0266 -0.25506,0.0266 -0.215975,0 -0.387224,-0.0629 -0.513747,-0.18857 -0.125717,-0.12572 -0.188576,-0.29576 -0.188576,-0.51012 0,-0.22162 0.05964,-0.3973 0.178905,-0.52705 0.120076,-0.13055 0.281655,-0.19583 0.484736,-0.19583 0.182128,0 0.325977,0.0588 0.431547,0.17649 0.106376,0.11685 0.159564,0.27601 0.159564,0.47748 z m -0.222422,-0.0653 c -0.0016,-0.12169 -0.03585,-0.2188 -0.10275,-0.29133 -0.06608,-0.0725 -0.153921,-0.10879 -0.263522,-0.10879 -0.124105,0 -0.223631,0.0351 -0.298577,0.10517 -0.07414,0.0701 -0.116853,0.26938 -0.128135,0.39671 z"
style="stroke-width:0.0618914"
id="path917"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccscccsscscscccccsccc" />
<path
- d="m 23.767779,243.53029 q -0.178498,0.005 -0.259683,0.1479 -0.08138,0.14164 -0.04233,0.38406 0.03905,0.24241 0.164102,0.37941 0.126065,0.13576 0.30577,0.13067 0.177291,-0.005 0.258475,-0.14787 0.08119,-0.14284 0.04233,-0.38405 -0.03866,-0.24002 -0.164921,-0.37698 -0.126452,-0.13817 -0.303744,-0.13314 z m -0.03031,-0.18815 q 0.289456,-0.008 0.484995,0.17526 0.195539,0.18346 0.249161,0.51634 0.05343,0.33167 -0.0813,0.52571 -0.134923,0.19282 -0.424379,0.20102 -0.290663,0.008 -0.486201,-0.17522 -0.194528,-0.18471 -0.247955,-0.51637 -0.05362,-0.33288 0.0801,-0.52567 0.134923,-0.19284 0.425585,-0.20107 z"
+ d="m 23.767779,243.02467 q -0.178498,0.005 -0.259683,0.1479 -0.08138,0.14164 -0.04233,0.38406 0.03905,0.24241 0.164102,0.37941 0.126065,0.13576 0.30577,0.13067 0.177291,-0.005 0.258475,-0.14787 0.08119,-0.14284 0.04233,-0.38405 -0.03866,-0.24002 -0.164921,-0.37698 -0.126452,-0.13817 -0.303744,-0.13314 z m -0.03031,-0.18815 q 0.289456,-0.008 0.484995,0.17526 0.195539,0.18346 0.249161,0.51634 0.05343,0.33167 -0.0813,0.52571 -0.134923,0.19282 -0.424379,0.20102 -0.290663,0.008 -0.486201,-0.17522 -0.194528,-0.18471 -0.247955,-0.51637 -0.05362,-0.33288 0.0801,-0.52567 0.134923,-0.19284 0.425585,-0.20107 z"
style="stroke-width:0.0618914"
id="path919"
inkscape:connector-curvature="0" />
<path
- d="m 25.814825,243.18343 v 0.24551 q -0.09429,-0.0614 -0.189784,-0.0914 -0.09429,-0.0314 -0.190993,-0.0314 -0.216378,0 -0.336051,0.16271 -0.119673,0.16128 -0.119673,0.45389 0,0.29259 0.119673,0.45532 0.119673,0.16129 0.336051,0.16129 0.09671,0 0.190993,-0.03 0.0955,-0.0314 0.189784,-0.0927 v 0.24265 q -0.09308,0.0514 -0.19341,0.0771 -0.09912,0.0258 -0.211543,0.0258 -0.305831,0 -0.485944,-0.22695 -0.180114,-0.22694 -0.180114,-0.61231 0,-0.3911 0.181323,-0.61518 0.182531,-0.22411 0.499241,-0.22411 0.102749,0 0.200663,0.0258 0.09791,0.0244 0.189784,0.0743 z"
- style="stroke-width:0.06725306"
+ d="m 25.814825,242.67781 v 0.24551 q -0.09429,-0.0614 -0.189784,-0.0914 -0.09429,-0.0314 -0.190993,-0.0314 -0.216378,0 -0.336051,0.16271 -0.119673,0.16128 -0.119673,0.45389 0,0.29259 0.119673,0.45532 0.119673,0.16129 0.336051,0.16129 0.09671,0 0.190993,-0.03 0.0955,-0.0314 0.189784,-0.0927 v 0.24265 q -0.09308,0.0514 -0.19341,0.0771 -0.09912,0.0258 -0.211543,0.0258 -0.305831,0 -0.485944,-0.22695 -0.180114,-0.22694 -0.180114,-0.61231 0,-0.3911 0.181323,-0.61518 0.182531,-0.22411 0.499241,-0.22411 0.102749,0 0.200663,0.0258 0.09791,0.0244 0.189784,0.0743 z"
+ style="stroke-width:0.0672531"
id="path921"
inkscape:connector-curvature="0" />
<g
aria-label="poly"
- transform="matrix(3.0969641,0,0,1.8287161,-91.027165,-317.14641)"
- style="font-style:normal;font-weight:normal;font-size:1.05467272px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.00163188"
+ transform="matrix(3.0969641,0,0,1.8287161,-91.027165,-316.64079)"
+ style="font-style:normal;font-weight:normal;font-size:1.05467px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.00163188"
id="text933">
<path
d="m 33.763349,302.77256 v 0.40526 h -0.09527 v -1.05476 h 0.09527 v 0.11592 q 0.02987,-0.0682 0.07519,-0.10095 0.04583,-0.0334 0.109175,-0.0334 0.105056,0 0.170458,0.11049 0.06592,0.11049 0.06592,0.29063 0,0.18012 -0.06592,0.29064 -0.0654,0.11049 -0.170458,0.11049 -0.06334,0 -0.109175,-0.0327 -0.04532,-0.0334 -0.07519,-0.10161 z m 0.322375,-0.26676 q 0,-0.1385 -0.04326,-0.21695 -0.04274,-0.0791 -0.117929,-0.0791 -0.07519,0 -0.118445,0.0791 -0.04274,0.0784 -0.04274,0.21695 0,0.13849 0.04274,0.21764 0.04326,0.0784 0.118445,0.0784 0.07519,0 0.117929,-0.0784 0.04326,-0.0791 0.04326,-0.21764 z"
@@ -519,18 +456,18 @@
</g>
<g
aria-label="cv"
- transform="matrix(1.0194966,0,0,2.0575314,0,-312.25393)"
- style="font-style:normal;font-weight:normal;font-size:2.87486291px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.07187158"
+ transform="matrix(1.0194966,0,0,2.0575314,0,-313.31227)"
+ style="font-style:normal;font-weight:normal;font-size:2.87486px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.0718716"
id="text910">
<path
d="m 20.309217,290.12043 v 0.24145 c -0.07299,-0.0403 -0.146457,-0.0702 -0.220387,-0.0898 -0.073,-0.0206 -0.146925,-0.0309 -0.221791,-0.0309 -0.167513,0 -0.297593,0.0533 -0.39024,0.16002 -0.09265,0.10575 -0.09309,0.26591 -0.09309,0.45776 0,0.19184 4.46e-4,0.32974 0.09309,0.43643 0.09265,0.10575 0.222727,0.15862 0.39024,0.15862 0.07487,0 0.148796,-0.01 0.221791,-0.0295 0.07393,-0.0206 0.101515,0.0172 0.174509,-0.023 l 0.04588,0.17043 c -0.07206,0.0337 -0.146925,0.0589 -0.224598,0.0758 -0.07674,0.0169 -0.158623,0.0253 -0.245655,0.0253 -0.236765,0 -0.424866,-0.0744 -0.564304,-0.22319 -0.139439,-0.1488 -0.209158,-0.34954 -0.209158,-0.60221 0,-0.25641 0.07019,-0.45808 0.210561,-0.60501 0.14131,-0.14693 0.334559,-0.22039 0.579746,-0.22039 0.07954,0 0.157219,0.008 0.233021,0.0253 0.0758,0.0159 0.149264,0.0403 0.220387,0.073 z"
- style="stroke-width:0.07187158"
+ style="stroke-width:0.0718716"
id="path912"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccscscsccccscscsccc" />
<path
d="m 20.575928,290.151 0.27373,-0.0227 0.49131,1.25132 0.238982,-1.30815 0.526057,-0.0114 -0.589572,1.57219 H 21.1655 Z"
- style="stroke-width:0.07187158"
+ style="stroke-width:0.0718716"
id="path914"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccccccc" />
@@ -664,5 +601,23 @@
id="path976"
inkscape:connector-curvature="0" />
</g>
+ <g
+ aria-label="cv"
+ transform="matrix(0.88126119,0.11679658,-0.2461928,1.8575899,74.319121,-250.2889)"
+ style="font-style:normal;font-weight:normal;font-size:2.87486px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.0718716"
+ id="g1137">
+ <path
+ d="m 20.309217,290.12043 v 0.24145 c -0.07299,-0.0403 -0.146457,-0.0702 -0.220387,-0.0898 -0.073,-0.0206 -0.146925,-0.0309 -0.221791,-0.0309 -0.167513,0 -0.297593,0.0533 -0.39024,0.16002 -0.09265,0.10575 -0.09309,0.26591 -0.09309,0.45776 0,0.19184 4.46e-4,0.32974 0.09309,0.43643 0.09265,0.10575 0.222727,0.15862 0.39024,0.15862 0.07487,0 0.148796,-0.01 0.221791,-0.0295 0.07393,-0.0206 0.101515,0.0172 0.174509,-0.023 l 0.04588,0.17043 c -0.07206,0.0337 -0.146925,0.0589 -0.224598,0.0758 -0.07674,0.0169 -0.158623,0.0253 -0.245655,0.0253 -0.236765,0 -0.424866,-0.0744 -0.564304,-0.22319 -0.139439,-0.1488 -0.209158,-0.34954 -0.209158,-0.60221 0,-0.25641 0.07019,-0.45808 0.210561,-0.60501 0.14131,-0.14693 0.334559,-0.22039 0.579746,-0.22039 0.07954,0 0.157219,0.008 0.233021,0.0253 0.0758,0.0159 0.149264,0.0403 0.220387,0.073 z"
+ style="stroke-width:0.0718716"
+ id="path1133"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccscscsccccscscsccc" />
+ <path
+ d="m 20.575928,290.151 0.27373,-0.0227 0.49131,1.25132 0.238982,-1.30815 0.526057,-0.0114 -0.589572,1.57219 H 21.1655 Z"
+ style="stroke-width:0.0718716"
+ id="path1135"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccccccc" />
+ </g>
</g>
</svg>
diff --git a/src/ComputerscareHorseADoodleDoo.cpp b/src/ComputerscareHorseADoodleDoo.cpp
@@ -40,6 +40,7 @@ struct HorseSequencer {
int pendingNumSteps = 8;
float pendingDensity = 0.5f;
float pendingPhase = 0.f;
+ float pendingPhase2 = 0.f;
float pendingGatePhase = 0.f;
bool pendingChange = 0;
bool forceChange = 0;
@@ -61,12 +62,13 @@ struct HorseSequencer {
HorseSequencer() {
}
- HorseSequencer(float patt, int steps, float dens, int ch, float phi, float gatePhi) {
+ HorseSequencer(float patt, int steps, float dens, int ch, float phi, float phi2, float gatePhi) {
numSteps = steps;
density = dens;
pattern = patt;
channel = ch;
phase = phi;
+ phase2 = phi2;
gatePhase = gatePhi;
makeAbsolute();
}
@@ -129,13 +131,14 @@ struct HorseSequencer {
setTimeToNextStep();
}
- void checkAndArm(float patt, int steps, float dens, float phi, float gatePhi) {
+ void checkAndArm(float patt, int steps, float dens, float phi, float phi2, float gatePhi) {
- if (pattern != patt || numSteps != steps || density != dens || phase != phi || gatePhase != gatePhi) {
+ if (pattern != patt || numSteps != steps || density != dens || phase != phi || phase2 != phi2 || gatePhase != gatePhi) {
pendingPattern = patt;
pendingNumSteps = steps;
pendingDensity = dens;
pendingPhase = phi;
+ pendingPhase2 = phi2;
pendingGatePhase = gatePhi;
pendingChange = true;
}
@@ -149,13 +152,15 @@ struct HorseSequencer {
pendingNumSteps = numSteps;
pendingDensity = density;
pendingPhase = phase;
+ pendingPhase2 = phase2;
pendingGatePhase = gatePhase;
}
- void change(float patt, int steps, float dens, float phi, float gatePhi) {
+ void change(float patt, int steps, float dens, float phi, float phi2, float gatePhi) {
numSteps = std::max(1, steps);
density = std::fmax(0, dens);
pattern = patt;
phase = phi;
+ phase2 = phi2;
gatePhase = gatePhi;
currentStep = 0;
makeAbsolute();
@@ -165,7 +170,7 @@ struct HorseSequencer {
currentStep++;
currentStep %= numSteps;
if ((currentStep == 0 && pendingChange) || forceChange) {
- change(pendingPattern, pendingNumSteps, pendingDensity, pendingPhase, pendingGatePhase);
+ change(pendingPattern, pendingNumSteps, pendingDensity, pendingPhase, pendingPhase2, pendingGatePhase);
pendingChange = false;
forceChange = false;
currentStep = 0;
@@ -246,6 +251,9 @@ struct ComputerscareHorseADoodleDoo : ComputerscareMenuParamModule {
GATE_LENGTH_SCALE,
GATE_LENGTH_OFFSET,
GATE_LENGTH_PHASE,
+ CV2_SCALE,
+ CV2_OFFSET,
+ CV2_PHASE,
NUM_PARAMS
};
enum InputIds {
@@ -287,6 +295,10 @@ struct ComputerscareHorseADoodleDoo : ComputerscareMenuParamModule {
float cvOffset = 0.f;
float cvScale = 1.f;
+ float lastPhase2Knob = 0.f;
+ float cv2Offset = 0.f;
+ float cv2Scale = 1.f;
+
float gateLengthOffset = 0.f;
float gateLengthScale = 1.f;
@@ -391,11 +403,15 @@ struct ComputerscareHorseADoodleDoo : ComputerscareMenuParamModule {
configMenuParam(CV_SCALE, -2.f, 2.f, 1.f, "CV Scale", 2);
configMenuParam(CV_OFFSET, -10.f, 10.f, 0.f, "CV Offset", 2);
- configMenuParam(CV_PHASE, -3.14159f, 3.14159f, 0.f, "CV Phase", 2);
+ configMenuParam(CV_PHASE, -3.14159f, 3.14159f, 0.f, "CV Variation", 2);
+
+ configMenuParam(CV2_SCALE, -2.f, 2.f, 1.f, "CV2 Scale", 2);
+ configMenuParam(CV2_OFFSET, -10.f, 10.f, 0.f, "CV2 Offset", 2);
+ configMenuParam(CV2_PHASE, -3.14159f, 3.14159f, 0.f, "CV2 Variation", 2);
configMenuParam(GATE_LENGTH_SCALE, 0.f, 2.f, 1.f, "Gate Length Scaling", 2);
configMenuParam(GATE_LENGTH_OFFSET, 0.f, 1.f, 0.f, "Gate Length Minimum", 2);
- configMenuParam(GATE_LENGTH_PHASE, -3.14159f, 3.14159f, 0.f, "Gate Length Phase", 2);
+ configMenuParam(GATE_LENGTH_PHASE, -3.14159f, 3.14159f, 0.f, "Gate Length Variation", 2);
getParamQuantity(POLY_KNOB)->randomizeEnabled = false;
@@ -417,7 +433,7 @@ struct ComputerscareHorseADoodleDoo : ComputerscareMenuParamModule {
configOutput(CV2_OUTPUT, "2nd CV Sequence");
for (int i = 0; i < 16; i++) {
- seq[i] = HorseSequencer(0.f, 8, 0.f, i, 0.f, 0.f);
+ seq[i] = HorseSequencer(0.f, 8, 0.f, i, 0.f, 0.f, 0.f);
previousStep[i] = -1;
}
@@ -535,6 +551,9 @@ struct ComputerscareHorseADoodleDoo : ComputerscareMenuParamModule {
cvScale = params[CV_SCALE].getValue();
cvOffset = params[CV_OFFSET].getValue();
+ cv2Scale = params[CV2_SCALE].getValue();
+ cv2Offset = params[CV2_OFFSET].getValue();
+
gateLengthOffset = params[GATE_LENGTH_OFFSET].getValue();
gateLengthScale = params[GATE_LENGTH_SCALE].getValue();
@@ -543,6 +562,7 @@ struct ComputerscareHorseADoodleDoo : ComputerscareMenuParamModule {
lastPolyKnob = std::floor(params[POLY_KNOB].getValue());
lastPhaseKnob = params[CV_PHASE].getValue();
+ lastPhase2Knob = params[CV2_PHASE].getValue();
lastGatePhaseKnob = params[GATE_LENGTH_PHASE].getValue();
polyChannels = lastPolyKnob == 0 ? std::max(clockNum, std::max(pattNum, std::max(stepsNum, densityNum))) : lastPolyKnob;
@@ -569,7 +589,7 @@ struct ComputerscareHorseADoodleDoo : ComputerscareMenuParamModule {
stepsVal = std::max(2, stepsVal);
densityVal = std::fmax(0, std::fmin(1, densityVal));
- seq[i].checkAndArm(patternVal, stepsVal, densityVal, lastPhaseKnob, lastGatePhaseKnob);
+ seq[i].checkAndArm(patternVal, stepsVal, densityVal, lastPhaseKnob, lastPhase2Knob, lastGatePhaseKnob);
}
}
void processChannel(int ch, bool clocked, bool reset, bool clockInputHigh, int overrideMode = 0, bool overriddenTriggerHigh = false) {
@@ -647,7 +667,7 @@ struct ComputerscareHorseADoodleDoo : ComputerscareMenuParamModule {
}
//DEBUG("before output:%f",cvVal);
outputs[CV_OUTPUT].setVoltage(cvScale * cvVal[ch] + cvOffset, ch);
- outputs[CV2_OUTPUT].setVoltage(cvScale * cv2Val[ch] + cvOffset, ch);
+ outputs[CV2_OUTPUT].setVoltage(cv2Scale * cv2Val[ch] + cv2Offset, ch);
//outputs[EOC_OUTPUT].setVoltage((currentTriggerIsHigh && atFirstStepPoly[ch]) ? 10.f : 0.0f, ch);
}
else {
@@ -888,7 +908,7 @@ struct ComputerscareHorseADoodleDooWidget : ModuleWidget {
addInput(createInput<InPort>(Vec(2, inputY + 2 * dy), module, ComputerscareHorseADoodleDoo::RESET_INPUT));
- channelWidget = new PolyOutputChannelsWidget(Vec(outputX + 18, inputY - 25), module, ComputerscareHorseADoodleDoo::POLY_KNOB);
+ channelWidget = new PolyOutputChannelsWidget(Vec(outputX + 18, inputY - 22), module, ComputerscareHorseADoodleDoo::POLY_KNOB);
addChild(channelWidget);
addOutput(createOutput<PointingUpPentagonPort>(Vec(outputX, outputY), module, ComputerscareHorseADoodleDoo::TRIGGER_OUTPUT));
@@ -948,6 +968,64 @@ struct ComputerscareHorseADoodleDooWidget : ModuleWidget {
void appendContextMenu(Menu* menu) override {
ComputerscareHorseADoodleDoo* horse = dynamic_cast<ComputerscareHorseADoodleDoo*>(this->module);
+
+ struct CV1Submenu : MenuItem {
+ ComputerscareHorseADoodleDoo* module;
+ Menu *createChildMenu() override {
+ Menu *submenu = new Menu;
+
+ submenu->addChild(construct<MenuLabel>(&MenuLabel::text, "Dialingus Bingus. Dialingus Bingus"));
+
+ MenuParam* cvScaleParamControl = new MenuParam(module->paramQuantities[ComputerscareHorseADoodleDoo::CV_SCALE], 2);
+ submenu->addChild(cvScaleParamControl);
+
+ MenuParam* cvOffsetParamControl = new MenuParam(module->paramQuantities[ComputerscareHorseADoodleDoo::CV_OFFSET], 2);
+ submenu->addChild(cvOffsetParamControl);
+
+ MenuParam* cvPhaseParamControl = new MenuParam(module->paramQuantities[ComputerscareHorseADoodleDoo::CV_PHASE], 2);
+ submenu->addChild(cvPhaseParamControl);
+
+ return submenu;
+ }
+ };
+ struct CV2Submenu : MenuItem {
+ ComputerscareHorseADoodleDoo* module;
+ Menu *createChildMenu() override {
+ Menu *submenu = new Menu;
+
+ submenu->addChild(construct<MenuLabel>(&MenuLabel::text, "Dialingus Bingus. Dialingus Bingus"));
+
+ MenuParam* cvScaleParamControl = new MenuParam(module->paramQuantities[ComputerscareHorseADoodleDoo::CV2_SCALE], 2);
+ submenu->addChild(cvScaleParamControl);
+
+ MenuParam* cvOffsetParamControl = new MenuParam(module->paramQuantities[ComputerscareHorseADoodleDoo::CV2_OFFSET], 2);
+ submenu->addChild(cvOffsetParamControl);
+
+ MenuParam* cvPhaseParamControl = new MenuParam(module->paramQuantities[ComputerscareHorseADoodleDoo::CV2_PHASE], 2);
+ submenu->addChild(cvPhaseParamControl);
+
+ return submenu;
+ }
+ };
+ struct GateLengthSubmenu : MenuItem {
+ ComputerscareHorseADoodleDoo* module;
+ Menu *createChildMenu() override {
+ Menu *submenu = new Menu;
+
+ submenu->addChild(construct<MenuLabel>(&MenuLabel::text, "Dialingus Bingus. Dialingus Bingus"));
+ MenuParam* gateScaleParamControl = new MenuParam(module->paramQuantities[ComputerscareHorseADoodleDoo::GATE_LENGTH_SCALE], 2);
+ submenu->addChild(gateScaleParamControl);
+
+ MenuParam* gateOffsetParamControl = new MenuParam(module->paramQuantities[ComputerscareHorseADoodleDoo::GATE_LENGTH_OFFSET], 2);
+ submenu->addChild(gateOffsetParamControl);
+
+ MenuParam* gatePhaseParamControl = new MenuParam(module->paramQuantities[ComputerscareHorseADoodleDoo::GATE_LENGTH_PHASE], 2);
+ submenu->addChild(gatePhaseParamControl);
+
+ return submenu;
+ }
+ };
+
menu->addChild(new MenuEntry);
ModeChildMenu *modeMenu = new ModeChildMenu();
modeMenu->text = "Polyphonic Triggering Mode";
@@ -963,26 +1041,32 @@ struct ComputerscareHorseADoodleDooWidget : ModuleWidget {
menu->addChild(construct<MenuLabel>(&MenuLabel::text, ""));
- MenuParam* cvScaleParamControl = new MenuParam(horse->paramQuantities[ComputerscareHorseADoodleDoo::CV_SCALE], 2);
- menu->addChild(cvScaleParamControl);
+ CV1Submenu *cv1 = new CV1Submenu();
+ cv1->text = "CV 1 Configuration";
+ cv1->rightText = RIGHT_ARROW;
+ cv1->module = horse;
+ menu->addChild(cv1);
- MenuParam* cvOffsetParamControl = new MenuParam(horse->paramQuantities[ComputerscareHorseADoodleDoo::CV_OFFSET], 2);
- menu->addChild(cvOffsetParamControl);
- MenuParam* cvPhaseParamControl = new MenuParam(horse->paramQuantities[ComputerscareHorseADoodleDoo::CV_PHASE], 2);
- menu->addChild(cvPhaseParamControl);
+ CV2Submenu *cv2 = new CV2Submenu();
+ cv2->text = "CV 2 Configuration";
+ cv2->rightText = RIGHT_ARROW;
+ cv2->module = horse;
+ menu->addChild(cv2);
- menu->addChild(construct<MenuLabel>(&MenuLabel::text, ""));
- menu->addChild(construct<MenuLabel>(&MenuLabel::text, "Gate Length Options"));
- MenuParam* gateScaleParamControl = new MenuParam(horse->paramQuantities[ComputerscareHorseADoodleDoo::GATE_LENGTH_SCALE], 2);
- menu->addChild(gateScaleParamControl);
- MenuParam* gateOffsetParamControl = new MenuParam(horse->paramQuantities[ComputerscareHorseADoodleDoo::GATE_LENGTH_OFFSET], 2);
- menu->addChild(gateOffsetParamControl);
+ GateLengthSubmenu *gateMenu = new GateLengthSubmenu();
+ gateMenu->text = "Gate Length Configuration";
+ gateMenu->rightText = RIGHT_ARROW;
+ gateMenu->module = horse;
+ menu->addChild(gateMenu);
+
+
+
+ menu->addChild(construct<MenuLabel>(&MenuLabel::text, "Gate Length Options"));
+
- MenuParam* gatePhaseParamControl = new MenuParam(horse->paramQuantities[ComputerscareHorseADoodleDoo::GATE_LENGTH_PHASE], 2);
- menu->addChild(gatePhaseParamControl);
}
PolyOutputChannelsWidget* channelWidget;
NumStepsOverKnobDisplay* numStepsKnob;