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 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + 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(); -}