diff --git a/res/ComponentLibrary/SpiralKnobBidoo.svg b/res/ComponentLibrary/SpiralKnobBidoo.svg
new file mode 100644
index 0000000..4459bcd
--- /dev/null
+++ b/res/ComponentLibrary/SpiralKnobBidoo.svg
@@ -0,0 +1,76 @@
+
+
diff --git a/res/MOIRE.svg b/res/MOIRE.svg
index 3fb100c..fad17a4 100644
--- a/res/MOIRE.svg
+++ b/res/MOIRE.svg
@@ -6,6 +6,7 @@
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:xlink="http://www.w3.org/1999/xlink"
id="svg12553"
version="1.1"
viewBox="0 0 59.53125 100.54166"
@@ -13,6 +14,28 @@
width="225">
+
+
+
+
+
+
+
+
@@ -54,6 +77,22 @@
k3="0"
k4="0" />
+
+
@@ -339,4 +378,12 @@
style="opacity:1;fill:#a60000;fill-opacity:1;fill-rule:evenodd;stroke:#a60000;stroke-width:0.23071666;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
d="m 18.910094,61.277328 a 2.645853,2.6603746 0 0 1 -2.642238,2.660372 2.645853,2.6603746 0 0 1 -2.649458,-2.653102 2.645853,2.6603746 0 0 1 2.634997,-2.667623 2.645853,2.6603746 0 0 1 2.65666,2.645812"
id="path856" />
+
+
diff --git a/res/MOIREtemp.svg b/res/MOIREtemp.svg
index c6e6246..992b3ed 100644
--- a/res/MOIREtemp.svg
+++ b/res/MOIREtemp.svg
@@ -6,6 +6,7 @@
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:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="225"
@@ -27,16 +28,44 @@
inkscape:window-width="1920"
inkscape:window-height="1017"
id="namedview80"
- showgrid="false"
- inkscape:zoom="9.9368421"
- inkscape:cx="71.923963"
- inkscape:cy="148.12751"
+ showgrid="true"
+ inkscape:zoom="2.4842105"
+ inkscape:cx="126.81953"
+ inkscape:cy="250.29807"
inkscape:window-x="-8"
inkscape:window-y="-8"
inkscape:window-maximized="1"
- inkscape:current-layer="svg12553" />
+ inkscape:current-layer="svg12553">
+
+
+
+
+
+
+
+
+
+
@@ -78,6 +107,24 @@
id="feComposite4766"
in2="colormatrix" />
+
+
@@ -97,7 +144,8 @@
+ style="fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.32258889"
+ inkscape:connector-curvature="0" />
+ d="m 25.467308,97.809389 q 0,-0.44235 -0.14056,-0.667659 -0.140559,-0.225309 -0.415478,-0.225309 -0.276986,0 -0.419613,0.227376 -0.142627,0.225309 -0.142627,0.665592 0,0.438216 0.142627,0.665593 0.142627,0.227376 0.419613,0.227376 0.274919,0 0.415478,-0.225309 0.14056,-0.225309 0.14056,-0.66766 z m -1.118278,-0.86403 q 0.09095,-0.169498 0.250114,-0.260449 0.161231,-0.09095 0.372071,-0.09095 0.417545,0 0.657324,0.322461 0.239778,0.320393 0.239778,0.8847 0,0.572575 -0.241845,0.89917 -0.239779,0.324528 -0.659392,0.324528 -0.206705,0 -0.365869,-0.08888 -0.157096,-0.09095 -0.252181,-0.262516 v 0.291455 h -0.380338 v -3.216341 h 0.380338 z"
+ inkscape:connector-curvature="0" />
+ d="m 26.531843,95.878758 h 1.71359 v 0.3514 h -0.646989 v 2.383317 h 0.646989 v 0.351399 h -1.71359 v -0.351399 h 0.646989 v -2.383317 h -0.646989 z"
+ inkscape:connector-curvature="0" />
+ d="m 30.436514,96.945359 v -1.196826 h 0.380338 v 3.216341 h -0.380338 v -0.291455 q -0.09508,0.171566 -0.254248,0.262516 -0.157097,0.08888 -0.363802,0.08888 -0.419613,0 -0.661459,-0.324528 -0.239778,-0.326595 -0.239778,-0.89917 0,-0.564307 0.241845,-0.8847 0.241846,-0.322461 0.659392,-0.322461 0.208772,0 0.367936,0.09095 0.159163,0.08888 0.250114,0.260449 z m -1.118278,0.86403 q 0,0.442351 0.14056,0.66766 0.14056,0.225309 0.415478,0.225309 0.274919,0 0.417546,-0.227376 0.144694,-0.227377 0.144694,-0.665593 0,-0.440283 -0.144694,-0.665592 -0.142627,-0.227376 -0.417546,-0.227376 -0.274918,0 -0.415478,0.225309 -0.14056,0.225309 -0.14056,0.667659 z"
+ inkscape:connector-curvature="0" />
+ d="m 32.4829,95.822947 q 0.134359,0 0.254248,0.05168 0.121956,0.04961 0.212907,0.144694 0.09302,0.09302 0.14056,0.21084 0.04961,0.117822 0.04961,0.254248 0,0.272851 -0.192236,0.46302 -0.192236,0.188103 -0.469222,0.188103 -0.279053,0 -0.465088,-0.186035 -0.186035,-0.186036 -0.186035,-0.465088 0,-0.276986 0.190169,-0.469222 0.190169,-0.192237 0.465088,-0.192237 z m 0,0.266651 q -0.163297,0 -0.279053,0.115755 -0.113688,0.113688 -0.113688,0.279053 0,0.165364 0.111621,0.276985 0.113688,0.111621 0.276986,0.111621 0.165365,0 0.28112,-0.113688 0.117822,-0.113688 0.117822,-0.274918 0,-0.163298 -0.115755,-0.279053 -0.115755,-0.115755 -0.279053,-0.115755 z"
+ inkscape:connector-curvature="0" />
+ d="m 35.029515,95.822947 q 0.134358,0 0.254248,0.05168 0.121956,0.04961 0.212907,0.144694 0.09302,0.09302 0.14056,0.21084 0.04961,0.117822 0.04961,0.254248 0,0.272851 -0.192236,0.46302 -0.192237,0.188103 -0.469222,0.188103 -0.279053,0 -0.465088,-0.186035 -0.186035,-0.186036 -0.186035,-0.465088 0,-0.276986 0.190169,-0.469222 0.190169,-0.192237 0.465088,-0.192237 z m 0,0.266651 q -0.163298,0 -0.279053,0.115755 -0.113688,0.113688 -0.113688,0.279053 0,0.165364 0.111621,0.276985 0.113688,0.111621 0.276986,0.111621 0.165364,0 0.281119,-0.113688 0.117823,-0.113688 0.117823,-0.274918 0,-0.163298 -0.115756,-0.279053 -0.115755,-0.115755 -0.279052,-0.115755 z"
+ inkscape:connector-curvature="0" />
+ d="m 23.549076,2.5814003 h 0.558106 l 0.5333,1.5709635 0.537435,-1.5709635 H 25.73809 V 5.6675167 H 25.35155 V 2.9410683 l -0.549837,1.626774 h -0.31626 l -0.551904,-1.626774 v 2.7264484 h -0.384473 z"
+ inkscape:connector-curvature="0" />
+ d="m 27.78861,4.1275591 q 0,-0.6800618 -0.140559,-0.9715169 -0.138493,-0.291455 -0.45682,-0.291455 -0.31626,0 -0.45682,0.291455 -0.138493,0.2914551 -0.138493,0.9715169 0,0.6779948 0.138493,0.9694498 0.14056,0.2914551 0.45682,0.2914551 0.318327,0 0.45682,-0.289388 0.140559,-0.2914551 0.140559,-0.9715169 z m 0.43615,0 q 0,0.8061523 -0.256316,1.2030273 -0.254248,0.396875 -0.777213,0.396875 -0.522966,0 -0.777214,-0.394808 -0.254248,-0.3948079 -0.254248,-1.2050943 0,-0.8082194 0.254248,-1.2050943 0.256316,-0.396875 0.777214,-0.396875 0.522965,0 0.777213,0.396875 0.256316,0.3968749 0.256316,1.2050943 z"
+ inkscape:connector-curvature="0" />
+ d="m 28.993705,3.3524127 h 0.973584 v 2.0195148 h 0.754476 V 5.6675167 H 28.832474 V 5.3719275 H 29.58695 V 3.6480018 h -0.593245 z m 0.593245,-0.901237 h 0.380339 V 2.9328001 H 29.58695 Z"
+ inkscape:connector-curvature="0" />
+ d="m 32.582116,4.2102414 q 0.16123,0.041341 0.274918,0.1570963 0.113688,0.1136882 0.283187,0.4568197 l 0.419613,0.8433593 H 33.111282 L 32.743346,4.8882362 Q 32.584183,4.5554399 32.456025,4.4603553 32.329935,4.3632036 32.125296,4.3632036 H 31.726354 V 5.6675167 H 31.306741 V 2.5814003 h 0.859896 q 0.508496,0 0.779281,0.2294434 0.270784,0.2294433 0.270784,0.6635253 0,0.3059245 -0.167431,0.5002279 -0.165365,0.1922363 -0.467155,0.2356445 z M 31.726354,2.9245318 v 1.0955403 h 0.45682 q 0.299723,0 0.446484,-0.1343587 0.146761,-0.1343587 0.146761,-0.4113444 0,-0.2666503 -0.157096,-0.4072102 -0.15503,-0.142627 -0.452686,-0.142627 z"
+ inkscape:connector-curvature="0" />
+ d="m 33.964977,2.5814003 h 1.831413 v 0.3513998 h -1.413867 v 0.9136392 h 1.351855 V 4.1978391 H 34.382523 V 5.316117 h 1.453141 v 0.3513997 h -1.870687 z"
+ inkscape:connector-curvature="0" />
+ d="m 33.271351,12.997656 q -0.07166,-0.0248 -0.148828,-0.03583 -0.07441,-0.01378 -0.137804,-0.01378 -0.104731,0 -0.170877,0.0248 -0.06339,0.0248 -0.101975,0.06615 -0.03583,0.04134 -0.04961,0.09922 -0.01102,0.05788 -0.01102,0.124023 0,0.12678 0.05236,0.201194 0.05237,0.07166 0.129536,0.124023 0.07993,0.04961 0.170876,0.0882 0.09095,0.03858 0.168121,0.09646 0.07993,0.05512 0.132292,0.14056 0.05237,0.08544 0.05237,0.228755 0,0.223242 -0.14056,0.327973 -0.14056,0.104731 -0.399631,0.104731 -0.09646,0 -0.201193,-0.01929 -0.101975,-0.01654 -0.195682,-0.05236 l 0.05237,-0.181901 q 0.07993,0.03032 0.162608,0.05236 0.08544,0.01929 0.190169,0.01929 0.09371,0 0.157097,-0.01654 0.06339,-0.01929 0.09922,-0.04961 0.03583,-0.03307 0.04961,-0.07441 0.01654,-0.0441 0.01654,-0.09371 0,-0.107487 -0.05236,-0.168121 -0.05237,-0.06339 -0.132292,-0.107487 -0.07717,-0.0441 -0.16812,-0.08544 -0.09095,-0.04134 -0.170877,-0.101975 -0.07717,-0.06339 -0.129536,-0.162608 -0.05237,-0.09922 -0.05237,-0.261828 0,-0.110243 0.03307,-0.201193 0.03583,-0.09371 0.101975,-0.159853 0.0689,-0.0689 0.170876,-0.10473 0.101975,-0.03858 0.237023,-0.03858 0.07993,0 0.168121,0.01378 0.09095,0.01102 0.162608,0.03583 z"
+ inkscape:connector-curvature="0" />
+ d="m 33.613104,14.543815 q 0.01929,-0.250803 0.05788,-0.493338 0.03858,-0.242535 0.09095,-0.465777 0.05512,-0.225998 0.124024,-0.429948 0.07166,-0.203949 0.157096,-0.374826 h 0.176389 q 0.08544,0.170877 0.15434,0.374826 0.07166,0.20395 0.124024,0.429948 0.05512,0.223242 0.09095,0.465777 0.03858,0.242535 0.06063,0.493338 l -0.20395,0.01378 q -0.0248,-0.275607 -0.06614,-0.534679 h -0.49885 q -0.01929,0.129536 -0.03583,0.261828 -0.01378,0.132291 -0.02756,0.272851 z m 0.518143,-1.507574 q -0.06615,0.165365 -0.121268,0.369314 -0.05512,0.20395 -0.09922,0.440972 h 0.440972 q -0.0441,-0.237022 -0.09922,-0.440972 -0.05512,-0.203949 -0.121267,-0.369314 z"
+ inkscape:connector-curvature="0" />
+ d="m 35.884111,12.793706 q -0.02205,0.250803 -0.06063,0.493338 -0.03583,0.242535 -0.09095,0.468533 -0.05236,0.223242 -0.124023,0.427192 -0.0689,0.203949 -0.154341,0.374826 h -0.176388 q -0.08544,-0.170877 -0.157097,-0.374826 -0.0689,-0.20395 -0.124023,-0.427192 -0.05237,-0.225998 -0.09095,-0.468533 -0.03858,-0.242535 -0.05788,-0.493338 l 0.203949,-0.01378 q 0.03859,0.465777 0.118512,0.854384 0.07993,0.38585 0.195681,0.669726 0.112999,-0.283876 0.192925,-0.669726 0.07993,-0.388607 0.121268,-0.854384 z"
+ inkscape:connector-curvature="0" />
+ d="m 37.014103,12.964583 h -0.666971 v 0.705556 h 0.518143 v 0.176388 h -0.518143 v 0.529167 h 0.694532 v 0.176389 h -0.892969 v -1.763889 h 0.865408 z"
+ inkscape:connector-curvature="0" />
+ d="m 39.444962,12.997656 q -0.07166,-0.0248 -0.148828,-0.03583 -0.07441,-0.01378 -0.137804,-0.01378 -0.104731,0 -0.170877,0.0248 -0.06339,0.0248 -0.101974,0.06615 -0.03583,0.04134 -0.04961,0.09922 -0.01102,0.05788 -0.01102,0.124023 0,0.12678 0.05236,0.201194 0.05237,0.07166 0.129536,0.124023 0.07993,0.04961 0.170877,0.0882 0.09095,0.03858 0.16812,0.09646 0.07993,0.05512 0.132292,0.14056 0.05237,0.08544 0.05237,0.228755 0,0.223242 -0.140559,0.327973 -0.14056,0.104731 -0.399632,0.104731 -0.09646,0 -0.201193,-0.01929 -0.101975,-0.01654 -0.195682,-0.05236 l 0.05237,-0.181901 q 0.07993,0.03032 0.162608,0.05236 0.08544,0.01929 0.19017,0.01929 0.09371,0 0.157096,-0.01654 0.06339,-0.01929 0.09922,-0.04961 0.03583,-0.03307 0.04961,-0.07441 0.01654,-0.0441 0.01654,-0.09371 0,-0.107487 -0.05237,-0.168121 -0.05237,-0.06339 -0.132292,-0.107487 -0.07717,-0.0441 -0.16812,-0.08544 -0.09095,-0.04134 -0.170877,-0.101975 -0.07717,-0.06339 -0.129536,-0.162608 -0.05237,-0.09922 -0.05237,-0.261828 0,-0.110243 0.03307,-0.201193 0.03583,-0.09371 0.101975,-0.159853 0.0689,-0.0689 0.170877,-0.10473 0.101974,-0.03858 0.237022,-0.03858 0.07993,0 0.168121,0.01378 0.09095,0.01102 0.162608,0.03583 z"
+ inkscape:connector-curvature="0" />
+ d="m 40.067836,13.672895 q 0,0.195681 0.01102,0.333485 0.01102,0.137804 0.04961,0.225998 0.03858,0.08544 0.115756,0.12678 0.07993,0.04134 0.214974,0.04134 0.05512,0 0.115755,-0.0055 0.06339,-0.0083 0.132291,-0.02481 l 0.03858,0.168121 q -0.0689,0.01929 -0.151584,0.02756 -0.07993,0.01103 -0.151584,0.01103 -0.162608,0 -0.275608,-0.04685 -0.110243,-0.04961 -0.181901,-0.157096 -0.0689,-0.107487 -0.101974,-0.278364 -0.03032,-0.173632 -0.03032,-0.421679 0,-0.248047 0.03032,-0.418924 0.03307,-0.173633 0.101974,-0.28112 0.07166,-0.107487 0.181901,-0.15434 0.113,-0.04961 0.275608,-0.04961 0.06339,0 0.14056,0.0083 0.07717,0.0083 0.146072,0.02481 l -0.03859,0.16812 q -0.121267,-0.02481 -0.23151,-0.02481 -0.135048,0 -0.214974,0.04134 -0.07717,0.04134 -0.115756,0.129535 -0.03859,0.08544 -0.04961,0.225998 -0.01102,0.137804 -0.01102,0.33073 z"
+ inkscape:connector-curvature="0" />
+ d="m 41.952992,12.964583 h -0.666971 v 0.705556 h 0.518143 v 0.176388 h -0.518143 v 0.529167 h 0.694532 v 0.176389 h -0.892969 v -1.763889 h 0.865408 z"
+ inkscape:connector-curvature="0" />
+ d="m 42.322306,12.788194 h 0.225998 l 0.396875,1.058333 0.08268,0.341754 v -1.400087 h 0.198437 v 1.763889 h -0.225998 l -0.396875,-1.058333 -0.08268,-0.333486 v 1.391819 h -0.198437 z"
+ inkscape:connector-curvature="0" />
+ d="m 44.422436,12.964583 h -0.66697 v 0.705556 h 0.518142 v 0.176388 h -0.518142 v 0.529167 h 0.694531 v 0.176389 h -0.892969 v -1.763889 h 0.865408 z"
+ inkscape:connector-curvature="0" />
+ d="m 33.453253,58.122933 q 0,0.195681 0.01102,0.333485 0.01102,0.137804 0.04961,0.225998 0.03858,0.08544 0.115756,0.12678 0.07993,0.04134 0.214974,0.04134 0.05512,0 0.115755,-0.0055 0.06339,-0.0083 0.132291,-0.02481 l 0.03859,0.168121 q -0.0689,0.01929 -0.151584,0.02756 -0.07993,0.01103 -0.151584,0.01103 -0.162608,0 -0.275608,-0.04685 -0.110243,-0.04961 -0.181901,-0.157096 -0.0689,-0.107487 -0.101974,-0.278364 -0.03032,-0.173633 -0.03032,-0.421679 0,-0.248047 0.03032,-0.418924 0.03307,-0.173633 0.101974,-0.28112 0.07166,-0.107487 0.181901,-0.15434 0.113,-0.04961 0.275608,-0.04961 0.06339,0 0.14056,0.0083 0.07717,0.0083 0.146072,0.0248 l -0.03858,0.168121 q -0.121267,-0.02481 -0.23151,-0.02481 -0.135048,0 -0.214974,0.04134 -0.07717,0.04134 -0.115756,0.129535 -0.03858,0.08544 -0.04961,0.225998 -0.01102,0.137804 -0.01102,0.33073 z"
+ inkscape:connector-curvature="0" />
+ d="m 35.44314,57.243744 q -0.02205,0.250803 -0.06063,0.493338 -0.03583,0.242535 -0.09095,0.468533 -0.05237,0.223242 -0.124024,0.427192 -0.0689,0.203949 -0.15434,0.374826 h -0.176389 q -0.08544,-0.170877 -0.157096,-0.374826 -0.0689,-0.20395 -0.124024,-0.427192 -0.05237,-0.225998 -0.09095,-0.468533 -0.03859,-0.242535 -0.05788,-0.493338 l 0.20395,-0.01378 q 0.03858,0.465777 0.118511,0.854384 0.07993,0.38585 0.195681,0.669726 0.113,-0.283876 0.192926,-0.669726 0.07993,-0.388607 0.121267,-0.854384 z"
+ inkscape:connector-curvature="0" />
+ d="m 36.879056,58.122933 q 0,-0.912262 0.515386,-0.912262 0.26734,0 0.391363,0.225999 0.124023,0.223242 0.124023,0.686263 0,0.451996 -0.124023,0.68075 -0.124023,0.225999 -0.391363,0.225999 -0.261827,0 -0.388607,-0.225999 -0.126779,-0.228754 -0.126779,-0.68075 z m 0.209462,0 q 0,0.198437 0.01654,0.336241 0.01654,0.137804 0.05237,0.225998 0.03583,0.08544 0.09371,0.124024 0.06063,0.03858 0.143316,0.03858 0.08268,0 0.14056,-0.03858 0.06063,-0.03858 0.09646,-0.124024 0.03583,-0.08819 0.05237,-0.225998 0.01654,-0.137804 0.01654,-0.336241 0,-0.198438 -0.01654,-0.336242 -0.01654,-0.14056 -0.05237,-0.225998 -0.03583,-0.08819 -0.09646,-0.126779 -0.05788,-0.04134 -0.14056,-0.04134 -0.08268,0 -0.143316,0.04134 -0.05788,0.03858 -0.09371,0.126779 -0.03583,0.08544 -0.05237,0.225998 -0.01654,0.137804 -0.01654,0.336242 z"
+ inkscape:connector-curvature="0" />
+ d="m 38.177168,57.238232 h 0.198437 v 1.298112 q 0,0.07166 0.0083,0.129536 0.01102,0.05788 0.03859,0.09922 0.02756,0.03858 0.07717,0.06063 0.04961,0.02205 0.129535,0.02205 0.07441,0 0.124024,-0.02205 0.04961,-0.02205 0.07717,-0.06063 0.03032,-0.04134 0.04134,-0.09922 0.01102,-0.05788 0.01102,-0.129536 v -1.298112 h 0.198438 v 1.287088 q 0,0.135047 -0.03307,0.23151 -0.03307,0.09371 -0.09371,0.15434 -0.06063,0.05788 -0.143316,0.08544 -0.08268,0.02756 -0.181901,0.02756 -0.09922,0 -0.181901,-0.02756 -0.08268,-0.02756 -0.143316,-0.08544 -0.06063,-0.06063 -0.09371,-0.15434 -0.03307,-0.09646 -0.03307,-0.228754 z"
+ inkscape:connector-curvature="0" />
+ d="m 40.35998,57.414621 h -0.396875 v 1.5875 h -0.198437 v -1.5875 h -0.396875 v -0.176389 h 0.992187 z"
+ inkscape:connector-curvature="0" />
+ d="m 40.646612,57.238232 h 0.427192 q 0.234267,0 0.372071,0.159853 0.14056,0.159852 0.14056,0.46302 0,0.303169 -0.14056,0.457509 -0.14056,0.15434 -0.372071,0.15434 H 40.84505 v 0.529167 h -0.198438 z m 0.198438,0.176389 v 0.881944 h 0.209462 q 0.09922,0 0.159852,-0.03032 0.06339,-0.03307 0.09922,-0.09095 0.03583,-0.05788 0.04961,-0.137804 0.01378,-0.07993 0.01378,-0.176389 0,-0.101974 -0.01378,-0.184657 -0.01378,-0.08268 -0.05236,-0.14056 -0.03583,-0.05788 -0.09922,-0.08819 -0.06063,-0.03307 -0.157096,-0.03307 z"
+ inkscape:connector-curvature="0" />
+ d="m 41.881335,57.238232 h 0.198437 v 1.298112 q 0,0.07166 0.0083,0.129536 0.01103,0.05788 0.03858,0.09922 0.02756,0.03858 0.07717,0.06063 0.04961,0.02205 0.129535,0.02205 0.07441,0 0.124024,-0.02205 0.04961,-0.02205 0.07717,-0.06063 0.03032,-0.04134 0.04134,-0.09922 0.01102,-0.05788 0.01102,-0.129536 v -1.298112 h 0.198438 v 1.287088 q 0,0.135047 -0.03307,0.23151 -0.03307,0.09371 -0.09371,0.15434 -0.06063,0.05788 -0.143316,0.08544 -0.08268,0.02756 -0.181901,0.02756 -0.09922,0 -0.181901,-0.02756 -0.08268,-0.02756 -0.143316,-0.08544 -0.06063,-0.06063 -0.09371,-0.15434 -0.03307,-0.09646 -0.03307,-0.228754 z"
+ inkscape:connector-curvature="0" />
+ d="m 44.064147,57.414621 h -0.396875 v 1.5875 h -0.198437 v -1.5875 H 43.07196 v -0.176389 h 0.992187 z"
+ inkscape:connector-curvature="0" />
+ d="m 45.177602,57.447694 q -0.07166,-0.02481 -0.148828,-0.03583 -0.07441,-0.01378 -0.137804,-0.01378 -0.104731,0 -0.170877,0.0248 -0.06339,0.02481 -0.101975,0.06615 -0.03583,0.04134 -0.04961,0.09922 -0.01102,0.05788 -0.01102,0.124023 0,0.12678 0.05237,0.201194 0.05237,0.07166 0.129536,0.124023 0.07993,0.04961 0.170876,0.08819 0.09095,0.03858 0.168121,0.09646 0.07993,0.05512 0.132292,0.14056 0.05236,0.08544 0.05236,0.228755 0,0.223242 -0.14056,0.327973 -0.14056,0.104731 -0.399631,0.104731 -0.09646,0 -0.201193,-0.01929 -0.101975,-0.01654 -0.195682,-0.05237 l 0.05237,-0.181901 q 0.07993,0.03032 0.162608,0.05236 0.08544,0.01929 0.190169,0.01929 0.09371,0 0.157097,-0.01654 0.06339,-0.01929 0.09922,-0.04961 0.03583,-0.03307 0.04961,-0.07441 0.01654,-0.0441 0.01654,-0.09371 0,-0.107487 -0.05237,-0.168121 -0.05237,-0.06339 -0.132292,-0.107487 -0.07717,-0.0441 -0.16812,-0.08544 -0.09095,-0.04134 -0.170877,-0.101975 -0.07717,-0.06339 -0.129536,-0.162608 -0.05237,-0.09922 -0.05237,-0.261828 0,-0.110243 0.03307,-0.201193 0.03583,-0.09371 0.101975,-0.159853 0.0689,-0.0689 0.170876,-0.10473 0.101975,-0.03859 0.237023,-0.03859 0.07993,0 0.168121,0.01378 0.09095,0.01102 0.162608,0.03583 z"
+ inkscape:connector-curvature="0" />
+ d="M 9.2555979,72.226685 H 8.4838965 v -0.176389 h 0.7717014 z"
+ inkscape:connector-curvature="0" />
+ d="m 9.6745215,72.524341 q 0.1157553,0.02756 0.2039497,0.04134 0.09095,0.01378 0.1846568,0.01378 0.165365,0 0.234267,-0.06339 0.07166,-0.06615 0.07166,-0.212218 0,-0.07441 -0.01378,-0.124023 -0.01378,-0.05237 -0.04685,-0.08268 -0.03307,-0.03307 -0.08819,-0.04685 -0.05512,-0.01378 -0.137804,-0.01378 -0.085439,0 -0.1653647,0.01102 -0.07717,0.0083 -0.1763889,0.02481 l -0.066146,-0.06339 0.035829,-0.840603 h 0.8075306 v 0.176389 H 9.9005198 l -0.022049,0.540191 q 0.046853,-0.0083 0.1102431,-0.01654 0.06339,-0.0083 0.1488281,-0.0083 0.08544,0 0.165365,0.02205 0.07993,0.02205 0.14056,0.07441 0.06339,0.04961 0.09922,0.132291 0.03583,0.08268 0.03583,0.20395 0,0.129536 -0.03858,0.21773 -0.03583,0.08819 -0.104731,0.143316 -0.06615,0.05512 -0.159853,0.07993 -0.09095,0.02205 -0.201193,0.02205 -0.1212681,0 -0.225999,-0.01378 -0.1019749,-0.01654 -0.214974,-0.04685 z"
+ inkscape:connector-curvature="0" />
+ d="m 11.857334,70.997475 q -0.02205,0.250803 -0.06063,0.493338 -0.03583,0.242534 -0.09095,0.468533 -0.05237,0.223242 -0.124024,0.427192 -0.0689,0.203949 -0.15434,0.374826 h -0.176389 q -0.08544,-0.170877 -0.157096,-0.374826 -0.0689,-0.20395 -0.124024,-0.427192 -0.05236,-0.225999 -0.09095,-0.468533 -0.03858,-0.242535 -0.05788,-0.493338 l 0.20395,-0.01378 q 0.03859,0.465777 0.118511,0.854383 0.07993,0.385851 0.195682,0.669727 0.112999,-0.283876 0.192925,-0.669727 0.07993,-0.388606 0.121267,-0.854383 z"
+ inkscape:connector-curvature="0" />
+ d="m 12.480207,72.946021 -0.195681,-0.03307 0.383095,-2.11391 0.195681,0.03307 z"
+ inkscape:connector-curvature="0" />
+ d="m 14.373632,72.050296 h -0.471289 v 0.490582 H 13.71493 v -0.490582 h -0.471289 v -0.176389 h 0.471289 v -0.476801 h 0.187413 v 0.476801 h 0.471289 z"
+ inkscape:connector-curvature="0" />
+ d="m 14.61341,72.524341 q 0.115756,0.02756 0.20395,0.04134 0.09095,0.01378 0.184657,0.01378 0.165365,0 0.234267,-0.06339 0.07166,-0.06615 0.07166,-0.212218 0,-0.07441 -0.01378,-0.124023 -0.01378,-0.05237 -0.04685,-0.08268 -0.03307,-0.03307 -0.08819,-0.04685 -0.05512,-0.01378 -0.137804,-0.01378 -0.08544,0 -0.165365,0.01102 -0.07717,0.0083 -0.176389,0.02481 l -0.06615,-0.06339 0.03583,-0.840603 h 0.807531 v 0.176389 h -0.617361 l -0.02205,0.540191 q 0.04685,-0.0083 0.110243,-0.01654 0.06339,-0.0083 0.148828,-0.0083 0.08544,0 0.165365,0.02205 0.07993,0.02205 0.14056,0.07441 0.06339,0.04961 0.09922,0.132291 0.03583,0.08268 0.03583,0.20395 0,0.129536 -0.03859,0.21773 -0.03583,0.08819 -0.10473,0.143316 -0.06615,0.05512 -0.159853,0.07993 -0.09095,0.02205 -0.201193,0.02205 -0.121268,0 -0.225999,-0.01378 -0.101975,-0.01654 -0.214974,-0.04685 z"
+ inkscape:connector-curvature="0" />
+ d="m 16.796223,70.997475 q -0.02205,0.250803 -0.06063,0.493338 -0.03583,0.242534 -0.09095,0.468533 -0.05237,0.223242 -0.124023,0.427192 -0.0689,0.203949 -0.154341,0.374826 h -0.176388 q -0.08544,-0.170877 -0.157097,-0.374826 -0.0689,-0.20395 -0.124023,-0.427192 -0.05237,-0.225999 -0.09095,-0.468533 -0.03859,-0.242535 -0.05788,-0.493338 l 0.203949,-0.01378 q 0.03858,0.465777 0.118512,0.854383 0.07993,0.385851 0.195681,0.669727 0.112999,-0.283876 0.192925,-0.669727 0.07993,-0.388606 0.121268,-0.854383 z"
+ inkscape:connector-curvature="0" />
+ d="m 8.5281994,81.241515 q 0,-0.187413 0.030317,-0.338997 0.033073,-0.154341 0.096463,-0.261828 0.06339,-0.107487 0.1570964,-0.165364 0.096463,-0.05788 0.2232422,-0.05788 0.1295356,0 0.2259982,0.05788 0.096463,0.05788 0.1570964,0.165364 0.06339,0.107487 0.093707,0.261828 0.030317,0.151584 0.030317,0.338997 0,0.181901 -0.030317,0.333485 -0.030317,0.148828 -0.093707,0.256315 -0.060634,0.107487 -0.1570964,0.168121 -0.096463,0.06063 -0.2259982,0.06063 -0.1267795,0 -0.2232422,-0.06063 -0.093707,-0.06063 -0.1570964,-0.168121 -0.06339,-0.107487 -0.096463,-0.256315 -0.030317,-0.151584 -0.030317,-0.333485 z m 0.2094618,0 q 0,0.330729 0.066146,0.485069 0.068902,0.151585 0.2315105,0.151585 0.1626085,0 0.2287543,-0.151585 0.068902,-0.15434 0.068902,-0.485069 0,-0.333485 -0.068902,-0.487826 -0.066146,-0.15434 -0.2287543,-0.15434 -0.1626085,0 -0.2315105,0.15434 -0.066146,0.154341 -0.066146,0.487826 z"
+ inkscape:connector-curvature="0" />
+ d="m 10.788182,80.274132 q -0.02205,0.250803 -0.06063,0.493338 -0.03583,0.242535 -0.09095,0.468533 -0.05237,0.223242 -0.124024,0.427192 -0.0689,0.203949 -0.15434,0.374826 H 10.181845 Q 10.096407,81.867144 10.024749,81.663195 9.955847,81.459245 9.9007255,81.236003 9.84836,81.010005 9.809775,80.76747 9.7711899,80.524935 9.7518974,80.274132 l 0.2039496,-0.01378 q 0.038585,0.465777 0.118511,0.854383 0.07993,0.385851 0.195682,0.669727 0.112999,-0.283876 0.192925,-0.669727 0.07993,-0.388606 0.121267,-0.854383 z"
+ inkscape:connector-curvature="0" />
+ d="m 11.411055,82.222678 -0.195681,-0.03307 0.383095,-2.11391 0.195681,0.03307 z"
+ inkscape:connector-curvature="0" />
+ d="m 13.30448,81.326953 h -0.471289 v 0.490582 h -0.187413 v -0.490582 h -0.471289 v -0.176389 h 0.471289 v -0.476801 h 0.187413 v 0.476801 h 0.471289 z"
+ inkscape:connector-curvature="0" />
+ d="m 13.965938,80.433985 h 0.14056 l -0.0055,1.422135 H 14.4703 v 0.176389 H 13.533234 V 81.85612 h 0.369315 l 0.0028,-1.13826 -0.28112,0.250803 -0.118511,-0.146072 z"
+ inkscape:connector-curvature="0" />
+ d="m 14.701811,81.241515 q 0,-0.187413 0.03032,-0.338997 0.03307,-0.154341 0.09646,-0.261828 0.06339,-0.107487 0.157096,-0.165364 0.09646,-0.05788 0.223243,-0.05788 0.129535,0 0.225998,0.05788 0.09646,0.05788 0.157096,0.165364 0.06339,0.107487 0.09371,0.261828 0.03032,0.151584 0.03032,0.338997 0,0.181901 -0.03032,0.333485 -0.03032,0.148828 -0.09371,0.256315 -0.06063,0.107487 -0.157096,0.168121 -0.09646,0.06063 -0.225998,0.06063 -0.12678,0 -0.223243,-0.06063 -0.09371,-0.06063 -0.157096,-0.168121 -0.06339,-0.107487 -0.09646,-0.256315 -0.03032,-0.151584 -0.03032,-0.333485 z m 0.209461,0 q 0,0.330729 0.06615,0.485069 0.0689,0.151585 0.231511,0.151585 0.162608,0 0.228754,-0.151585 0.0689,-0.15434 0.0689,-0.485069 0,-0.333485 -0.0689,-0.487826 -0.06615,-0.15434 -0.228754,-0.15434 -0.162609,0 -0.231511,0.15434 -0.06615,0.154341 -0.06615,0.487826 z"
+ inkscape:connector-curvature="0" />
+ d="m 16.961794,80.274132 q -0.02205,0.250803 -0.06063,0.493338 -0.03583,0.242535 -0.09095,0.468533 -0.05237,0.223242 -0.124023,0.427192 -0.0689,0.203949 -0.15434,0.374826 h -0.176389 q -0.08544,-0.170877 -0.157097,-0.374826 -0.0689,-0.20395 -0.124023,-0.427192 -0.05236,-0.225998 -0.09095,-0.468533 -0.03858,-0.242535 -0.05788,-0.493338 l 0.20395,-0.01378 q 0.03858,0.465777 0.118511,0.854383 0.07993,0.385851 0.195681,0.669727 0.112999,-0.283876 0.192926,-0.669727 0.07993,-0.388606 0.121267,-0.854383 z"
+ inkscape:connector-curvature="0" />
+ id="path974-1"
+ inkscape:connector-curvature="0" />
+ id="path1051-3"
+ inkscape:connector-curvature="0" />
+ id="path974"
+ inkscape:connector-curvature="0" />
+ id="path1051"
+ inkscape:connector-curvature="0" />
+
+
diff --git a/src/Bidoo.hpp b/src/Bidoo.hpp
index 556788f..80daec5 100644
--- a/src/Bidoo.hpp
+++ b/src/Bidoo.hpp
@@ -45,7 +45,6 @@ struct ACNEWidget : ModuleWidget {
struct MOIREWidget : ModuleWidget {
ParamWidget *controls[16];
- ParamWidget *slider;
- void step() override;
+ ParamWidget *morphButton;
MOIREWidget();
};
diff --git a/src/BidooComponents.hpp b/src/BidooComponents.hpp
index ad1fac6..f7a0f10 100644
--- a/src/BidooComponents.hpp
+++ b/src/BidooComponents.hpp
@@ -34,23 +34,10 @@ struct BidooColoredKnob : RoundKnob {
};
void onMouseDown(EventMouseDown &e) override {
+ this->setValue(this->value);
RoundKnob::onMouseDown(e);
- focused = true;
- }
-
- void onMouseUp(EventMouseUp &e) override {
- RoundKnob::onMouseUp(e);
- focused = false;
- }
-
- void onDragStart(EventDragStart &e) override {
- RoundKnob::onDragStart(e);
- focused = true;
- }
-
- void onDragEnd(EventDragEnd &e) override {
- RoundKnob::onDragEnd(e);
- focused = false;
+ if (e.button == 1)
+ focused = false;
}
void onDragMove(EventDragMove &e) override {
@@ -59,6 +46,13 @@ struct BidooColoredKnob : RoundKnob {
}
};
+struct BidooSpiralKnob : RoundKnob {
+ BidooSpiralKnob() {
+ setSVG(SVG::load(assetPlugin(plugin,"res/ComponentLibrary/SpiralKnobBidoo.svg")));
+ box.size = Vec(28, 28);
+ }
+};
+
struct BidooColoredTrimpot : RoundKnob {
BidooColoredTrimpot() {
diff --git a/src/MOIRE.cpp b/src/MOIRE.cpp
index 9a53467..83301e3 100644
--- a/src/MOIRE.cpp
+++ b/src/MOIRE.cpp
@@ -40,7 +40,6 @@ struct MOIRE : Module {
float currentValues[16] = {0};
int controlsTypes[16] = {0};
BidooColoredKnob *knobs[16];
- BidooLongSlider *slider;
SchmittTrigger typeTriggers[16];
@@ -48,6 +47,10 @@ struct MOIRE : Module {
void step() override;
+ void randomize() override {
+
+ }
+
json_t *toJson() override {
json_t *rootJ = json_object();
// scenes
@@ -101,15 +104,9 @@ struct MOIRE : Module {
};
void MOIRE::step() {
- if (inputs[TARGETSCENE_INPUT].active)
- targetScene = clampf(floor(inputs[TARGETSCENE_INPUT].value) * 1.61,0,15);
- else
- targetScene = floor(params[TARGETSCENE_PARAM].value);
- if (inputs[CURRENTSCENE_INPUT].active)
- currentScene = clampf(floor(inputs[CURRENTSCENE_INPUT].value) * 1.61,0,15);
- else
- currentScene = floor(params[CURRENTSCENE_PARAM].value);
+ targetScene = clampf(floor(inputs[TARGETSCENE_INPUT].value * 1.6) + params[TARGETSCENE_PARAM].value , 0, 15);
+ currentScene = clampf(floor(inputs[CURRENTSCENE_INPUT].value * 1.6) + params[CURRENTSCENE_PARAM].value , 0, 15);
for (int i = 0; i < 16; i++) {
if (typeTriggers[i].process(params[TYPE_PARAMS + i].value)) {
@@ -118,27 +115,23 @@ void MOIRE::step() {
lights[TYPE_LIGHTS + i].value = controlsTypes[i];
}
- float coeff = inputs[MORPH_INPUT].active ? inputs[MORPH_INPUT].value/10 : params[MORPH_PARAM].value;
+ float coeff = clampf(inputs[MORPH_INPUT].value + params[MORPH_PARAM].value, 0, 10);
+
for (int i = 0 ; i < 16; i++) {
- if (inputs[MORPH_INPUT].active) {
- if (knobs[i] && knobs[i]->focused)
- currentValues[i] = params[CONTROLS_PARAMS + i].value;
- else {
- if (controlsTypes[i] == 0) {
- currentValues[i] = rescalef(coeff,0,1,scenes[currentScene][i],scenes[targetScene][i]);
- } else {
- if (coeff >= 0.999) {
- currentValues[i] = scenes[targetScene][i];
- }
- else {
- currentValues[i] = scenes[currentScene][i];
- }
+ if (!knobs[i]->focused) {
+ if (controlsTypes[i] == 0) {
+ currentValues[i] = rescalef(coeff,0,10,scenes[currentScene][i],scenes[targetScene][i]);
+ } else {
+ if (coeff >= 9.98) {
+ currentValues[i] = scenes[targetScene][i];
+ }
+ else {
+ currentValues[i] = scenes[currentScene][i];
}
- knobs[i]->setValueNoEngine(currentValues[i]);
}
outputs[CV_OUTPUTS + i].value = currentValues[i] - 5 * params[VOLTAGE_PARAM].value;
- }
- else {
+ knobs[i]->setValueNoEngine(currentValues[i]);
+ } else {
outputs[CV_OUTPUTS + i].value = params[CONTROLS_PARAMS + i].value - 5 * params[VOLTAGE_PARAM].value;
}
}
@@ -148,29 +141,21 @@ struct MOIRECKD6 : CKD6 {
void onMouseDown(EventMouseDown &e) override {
MOIREWidget *parent = dynamic_cast(this->parent);
MOIRE *module = dynamic_cast(this->module);
- if (parent && module) {
+ if (parent && module && !module->inputs[MOIRE::MORPH_INPUT].active) {
if (this->paramId == MOIRE::ADONF_PARAM) {
- module->slider->focused = true;
- module->slider->setValue(1);
- module->slider->focused = false;
+ parent->morphButton->setValue(10);
for (int i = 0; i<16; i++){
- module->knobs[i]->focused = true;
- module->knobs[i]->setValue(module->scenes[module->targetScene][i]);
- module->knobs[i]->focused = false;
+ parent->controls[i]->setValue(module->scenes[module->targetScene][i]);
}
} else if (this->paramId == MOIRE::NADA_PARAM) {
- module->slider->focused = true;
- module->slider->setValue(0);
- module->slider->focused = false;
+ parent->morphButton->setValue(0);
for (int i = 0; i<16; i++){
- module->knobs[i]->focused = true;
- module->knobs[i]->setValue(module->scenes[module->currentScene][i]);
- module->knobs[i]->focused = false;
+ parent->controls[i]->setValue(module->scenes[module->currentScene][i]);
}
}
else if (this->paramId == MOIRE::SAVE_PARAM) {
for (int i = 0 ; i < 16; i++) {
- module->scenes[module->targetScene][i] = module->params[MOIRE::CONTROLS_PARAMS + i].value;
+ module->scenes[module->targetScene][i] = module->knobs[i]->value;
}
}
}
@@ -202,49 +187,14 @@ struct MOIREDisplay : TransparentWidget {
}
};
-struct MOIREBidooColoredKnob : BidooColoredKnob {
- void onChange(EventChange &e) override {
- if (this->focused)
- BidooColoredKnob::onChange(e);
- else
- {
- e.consumed = true;
- return;
- }
- }
-};
-
-struct MOIREBidooLongSlider : BidooLongSlider {
- void onChange(EventChange &e) override {
- if (this->focused) {
- BidooLongSlider::onChange(e);
- MOIREWidget *parent = dynamic_cast(this->parent);
+struct MOIRESpiralKnob : BidooSpiralKnob {
+ void onMouseDown(EventMouseDown &e) override {
MOIRE *module = dynamic_cast(this->module);
for (int i = 0 ; i < 16; i++) {
- if (module->controlsTypes[i] == 0) {
- module->knobs[i]->focused = true;
- module->knobs[i]->setValue(rescalef(value,0,1,module->scenes[module->currentScene][i],module->scenes[module->targetScene][i]));
- module->knobs[i]->focused = false;
- } else {
- if (value >= 0.999) {
- module->knobs[i]->focused = true;
- module->knobs[i]->setValue(module->scenes[module->targetScene][i]);
- module->knobs[i]->focused = false;
- }
- else {
- module->knobs[i]->focused = true;
- module->knobs[i]->setValue(module->scenes[module->currentScene][i]);
- module->knobs[i]->focused = false;
- }
- }
+ module->knobs[i]->focused = false;
}
+ BidooSpiralKnob::onMouseDown(e);
}
- else
- {
- e.consumed = true;
- return;
- }
- }
};
MOIREWidget::MOIREWidget() {
@@ -289,14 +239,13 @@ MOIREWidget::MOIREWidget() {
addInput(createInput(Vec(portX0[0]+2, portY0[7]-6), module, MOIRE::CURRENTSCENE_INPUT));
addInput(createInput(Vec(portX0[0]+34, portY0[7]-6), module, MOIRE::MORPH_INPUT));
- slider = createParam(Vec(portX0[0]+32, portY0[2]+12), module, MOIRE::MORPH_PARAM, 0, 1, 0);
- module->slider= dynamic_cast(slider);
- addParam(slider);
+ morphButton = createParam(Vec(portX0[0]+27, portY0[3]+15), module, MOIRE::MORPH_PARAM, 0, 10, 0);
+ addParam(morphButton);
addParam(createParam(Vec(40, 279), module, MOIRE::VOLTAGE_PARAM, 0.0, 1.0, 0.0));
for (int i = 0; i < 16; i++) {
- controls[i] = createParam(Vec(portX0[i%4+5], portY0[int(i/4) + 2]), module, MOIRE::CONTROLS_PARAMS + i, 0.0, 10, 0);
+ controls[i] = createParam(Vec(portX0[i%4+5], portY0[int(i/4) + 2]), module, MOIRE::CONTROLS_PARAMS + i, 0.0, 10, 0);
module->knobs[i]= dynamic_cast(controls[i]);
addParam(controls[i]);
addParam(createParam(Vec(portX0[i%4+5]+24, portY0[int(i/4) + 2]+24), module, MOIRE::TYPE_PARAMS + i, 0.0, 1.0, 0));
@@ -304,10 +253,3 @@ MOIREWidget::MOIREWidget() {
addOutput(createOutput(Vec(portX0[i%4+5]+2, portY0[int(i/4) + 7]), module, MOIRE::CV_OUTPUTS + i));
}
};
-
-void MOIREWidget::step() {
- MOIRE *module = dynamic_cast(this->module);
- if (module->inputs[MOIRE::MORPH_INPUT].active)
- slider->setValue(module->inputs[MOIRE::MORPH_INPUT].value/10);
- ModuleWidget::step();
-}