* changed polyphony logic (we don't want to "broadcast" monophonic channels in the mixer, as downstream these will be summed via getVoltageSum, see e.g. VCMixer in Fundamental)tags/v2.1.0
@@ -0,0 +1,105 @@ | |||
<?xml version="1.0" encoding="UTF-8" standalone="no"?> | |||
<svg | |||
xmlns:dc="http://purl.org/dc/elements/1.1/" | |||
xmlns:cc="http://creativecommons.org/ns#" | |||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" | |||
xmlns:svg="http://www.w3.org/2000/svg" | |||
xmlns="http://www.w3.org/2000/svg" | |||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" | |||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" | |||
width="36" | |||
height="36.001503" | |||
viewBox="0 0 9.5249996 9.5253972" | |||
version="1.1" | |||
id="svg16908" | |||
inkscape:version="1.0.2-2 (e86c870879, 2021-01-15)" | |||
sodipodi:docname="Davies1900hBlack.svg"> | |||
<defs | |||
id="defs16902"> | |||
<clipPath | |||
clipPathUnits="userSpaceOnUse" | |||
id="clipPath6367"> | |||
<path | |||
d="M 0,3193 H 2089 V 0 H 0 Z" | |||
id="path6365" | |||
inkscape:connector-curvature="0" /> | |||
</clipPath> | |||
</defs> | |||
<sodipodi:namedview | |||
id="base" | |||
pagecolor="#ffffff" | |||
bordercolor="#666666" | |||
borderopacity="1.0" | |||
inkscape:pageopacity="0.0" | |||
inkscape:pageshadow="2" | |||
inkscape:zoom="7.919596" | |||
inkscape:cx="-28.930746" | |||
inkscape:cy="1.3566533" | |||
inkscape:document-units="mm" | |||
inkscape:current-layer="layer1" | |||
showgrid="false" | |||
fit-margin-top="0" | |||
fit-margin-left="0" | |||
fit-margin-right="0" | |||
fit-margin-bottom="0" | |||
inkscape:window-width="2560" | |||
inkscape:window-height="1393" | |||
inkscape:window-x="0" | |||
inkscape:window-y="18" | |||
inkscape:window-maximized="1" | |||
units="px" | |||
inkscape:document-rotation="0" /> | |||
<metadata | |||
id="metadata16905"> | |||
<rdf:RDF> | |||
<cc:Work | |||
rdf:about=""> | |||
<dc:format>image/svg+xml</dc:format> | |||
<dc:type | |||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> | |||
<dc:title /> | |||
</cc:Work> | |||
</rdf:RDF> | |||
</metadata> | |||
<g | |||
inkscape:label="Layer 1" | |||
inkscape:groupmode="layer" | |||
id="layer1" | |||
transform="translate(-230.09585,-123.23243)"> | |||
<g | |||
id="g2012" | |||
transform="matrix(0.26457966,0,0,-0.26457966,-112.8694,754.07)" | |||
style="stroke-width:1.33335185"> | |||
<g | |||
transform="translate(1332.2646,2366.2998)" | |||
id="g6443" | |||
style="stroke-width:1.33335185"> | |||
<path | |||
inkscape:connector-curvature="0" | |||
id="path6445" | |||
style="fill:#606060;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.33335185" | |||
d="m 0,0 c 0,-9.941 -8.06,-18 -18,-18 -9.941,0 -18,8.059 -18,18 0,9.941 8.059,18 18,18 C -8.06,18 0,9.941 0,0" /> | |||
</g> | |||
<g | |||
transform="translate(1332.1631,2368.2021)" | |||
id="g6447" | |||
style="stroke-width:1.33335185"> | |||
<path | |||
inkscape:connector-curvature="0" | |||
id="path6449" | |||
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.33335185" | |||
d="m 0,0 c -0.79,1.279 -2.12,2.537 -2.86,4.327 -0.74,1.784 -0.691,3.609 -1.033,5.067 -0.805,0.997 -1.711,1.902 -2.709,2.708 -1.459,0.341 -3.282,0.293 -5.068,1.033 -1.79,0.742 -3.048,2.069 -4.325,2.86 -0.625,0.066 -1.26,0.104 -1.902,0.104 -0.644,0 -1.279,-0.038 -1.903,-0.104 -1.279,-0.791 -2.537,-2.118 -4.327,-2.86 -1.784,-0.74 -3.607,-0.692 -5.067,-1.033 -0.997,-0.806 -1.904,-1.711 -2.708,-2.708 -0.342,-1.458 -0.294,-3.283 -1.035,-5.067 -0.74,-1.79 -2.069,-3.048 -2.858,-4.327 -0.066,-0.625 -0.103,-1.26 -0.103,-1.902 0,-0.643 0.037,-1.278 0.103,-1.905 0.789,-1.277 2.118,-2.535 2.858,-4.325 0.741,-1.784 0.693,-3.609 1.035,-5.066 0.804,-0.998 1.711,-1.904 2.708,-2.709 1.46,-0.342 3.283,-0.293 5.067,-1.032 1.79,-0.743 3.048,-2.071 4.327,-2.861 0.624,-0.065 1.259,-0.103 1.903,-0.103 0.642,0 1.277,0.038 1.902,0.103 1.277,0.79 2.535,2.118 4.325,2.861 1.786,0.739 3.609,0.69 5.068,1.032 0.998,0.805 1.904,1.711 2.709,2.709 0.342,1.457 0.293,3.282 1.033,5.066 0.74,1.79 2.07,3.048 2.86,4.325 0.065,0.627 0.102,1.262 0.102,1.905 C 0.102,-1.26 0.065,-0.625 0,0" /> | |||
</g> | |||
<g | |||
transform="translate(1314.8633,2384.2314)" | |||
id="g6451" | |||
style="stroke-width:1.33335185"> | |||
<path | |||
inkscape:connector-curvature="0" | |||
id="path6453" | |||
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.33335185" | |||
d="M 0,0 C -0.195,0.045 -0.393,0.069 -0.598,0.069 -0.804,0.069 -1.002,0.045 -1.196,0 V -18.157 H 0 Z" /> | |||
</g> | |||
</g> | |||
</g> | |||
</svg> |
@@ -0,0 +1,105 @@ | |||
<?xml version="1.0" encoding="UTF-8" standalone="no"?> | |||
<svg | |||
xmlns:dc="http://purl.org/dc/elements/1.1/" | |||
xmlns:cc="http://creativecommons.org/ns#" | |||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" | |||
xmlns:svg="http://www.w3.org/2000/svg" | |||
xmlns="http://www.w3.org/2000/svg" | |||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" | |||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" | |||
width="36.000004" | |||
height="36.001602" | |||
viewBox="0 0 9.5250006 9.5254239" | |||
version="1.1" | |||
id="svg16908" | |||
inkscape:version="1.0.2-2 (e86c870879, 2021-01-15)" | |||
sodipodi:docname="Davies1900hDarkGrey.svg"> | |||
<defs | |||
id="defs16902"> | |||
<clipPath | |||
clipPathUnits="userSpaceOnUse" | |||
id="clipPath6367"> | |||
<path | |||
d="M 0,3193 H 2089 V 0 H 0 Z" | |||
id="path6365" | |||
inkscape:connector-curvature="0" /> | |||
</clipPath> | |||
</defs> | |||
<sodipodi:namedview | |||
id="base" | |||
pagecolor="#ffffff" | |||
bordercolor="#666666" | |||
borderopacity="1.0" | |||
inkscape:pageopacity="0.0" | |||
inkscape:pageshadow="2" | |||
inkscape:zoom="15.839192" | |||
inkscape:cx="1.2551529" | |||
inkscape:cy="5.4491462" | |||
inkscape:document-units="mm" | |||
inkscape:current-layer="layer1" | |||
showgrid="false" | |||
fit-margin-top="0" | |||
fit-margin-left="0" | |||
fit-margin-right="0" | |||
fit-margin-bottom="0" | |||
inkscape:window-width="2560" | |||
inkscape:window-height="1361" | |||
inkscape:window-x="-9" | |||
inkscape:window-y="-9" | |||
inkscape:window-maximized="1" | |||
units="px" | |||
inkscape:document-rotation="0" /> | |||
<metadata | |||
id="metadata16905"> | |||
<rdf:RDF> | |||
<cc:Work | |||
rdf:about=""> | |||
<dc:format>image/svg+xml</dc:format> | |||
<dc:type | |||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> | |||
<dc:title /> | |||
</cc:Work> | |||
</rdf:RDF> | |||
</metadata> | |||
<g | |||
inkscape:label="Layer 1" | |||
inkscape:groupmode="layer" | |||
id="layer1" | |||
transform="translate(-231.61419,-123.05063)"> | |||
<g | |||
id="g2004" | |||
transform="matrix(0.2645804,0,0,-0.2645804,-126.59926,753.88997)" | |||
style="stroke-width:1.33334816"> | |||
<g | |||
transform="translate(1389.8926,2366.2998)" | |||
id="g6455" | |||
style="stroke-width:1.33334816"> | |||
<path | |||
inkscape:connector-curvature="0" | |||
id="path6457" | |||
style="fill:#a8a8a8;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.33334816" | |||
d="m 0,0 c 0,-9.941 -8.059,-18 -18,-18 -9.941,0 -18,8.059 -18,18 0,9.941 8.059,18 18,18 C -8.059,18 0,9.941 0,0" /> | |||
</g> | |||
<g | |||
transform="translate(1389.791,2368.2021)" | |||
id="g6459" | |||
style="stroke-width:1.33334816"> | |||
<path | |||
inkscape:connector-curvature="0" | |||
id="path6461" | |||
style="fill:#606060;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.33334816" | |||
d="m 0,0 c -0.79,1.279 -2.12,2.537 -2.86,4.327 -0.74,1.784 -0.691,3.609 -1.033,5.067 -0.805,0.997 -1.711,1.902 -2.709,2.708 -1.459,0.341 -3.282,0.293 -5.068,1.033 -1.79,0.742 -3.048,2.069 -4.325,2.86 -0.625,0.066 -1.26,0.104 -1.902,0.104 -0.644,0 -1.279,-0.038 -1.903,-0.104 -1.279,-0.791 -2.537,-2.118 -4.327,-2.86 -1.784,-0.74 -3.607,-0.692 -5.067,-1.033 -0.997,-0.806 -1.904,-1.711 -2.708,-2.708 -0.342,-1.458 -0.294,-3.283 -1.035,-5.067 -0.74,-1.79 -2.069,-3.048 -2.858,-4.327 -0.066,-0.625 -0.103,-1.26 -0.103,-1.902 0,-0.643 0.037,-1.278 0.103,-1.905 0.789,-1.277 2.118,-2.535 2.858,-4.325 0.741,-1.784 0.693,-3.609 1.035,-5.066 0.804,-0.998 1.711,-1.904 2.708,-2.709 1.46,-0.342 3.283,-0.293 5.067,-1.032 1.79,-0.743 3.048,-2.071 4.327,-2.861 0.624,-0.065 1.259,-0.103 1.903,-0.103 0.642,0 1.277,0.038 1.902,0.103 1.277,0.79 2.535,2.118 4.325,2.861 1.786,0.739 3.609,0.69 5.068,1.032 0.998,0.805 1.904,1.711 2.709,2.709 0.342,1.457 0.293,3.282 1.033,5.066 0.74,1.79 2.07,3.048 2.86,4.325 0.065,0.627 0.102,1.262 0.102,1.905 C 0.102,-1.26 0.065,-0.625 0,0" /> | |||
</g> | |||
<g | |||
transform="translate(1372.4912,2384.2314)" | |||
id="g6463" | |||
style="stroke-width:1.33334816"> | |||
<path | |||
inkscape:connector-curvature="0" | |||
id="path6465" | |||
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.33334816" | |||
d="M 0,0 C -0.195,0.045 -0.393,0.069 -0.598,0.069 -0.804,0.069 -1.002,0.045 -1.196,0 V -18.157 H 0 Z" /> | |||
</g> | |||
</g> | |||
</g> | |||
</svg> |
@@ -0,0 +1,105 @@ | |||
<?xml version="1.0" encoding="UTF-8" standalone="no"?> | |||
<svg | |||
xmlns:dc="http://purl.org/dc/elements/1.1/" | |||
xmlns:cc="http://creativecommons.org/ns#" | |||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" | |||
xmlns:svg="http://www.w3.org/2000/svg" | |||
xmlns="http://www.w3.org/2000/svg" | |||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" | |||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" | |||
width="36.000004" | |||
height="36.001602" | |||
viewBox="0 0 9.5250006 9.5254239" | |||
version="1.1" | |||
id="svg16908" | |||
inkscape:version="1.0.2-2 (e86c870879, 2021-01-15)" | |||
sodipodi:docname="Davies1900hLightGrey.svg"> | |||
<defs | |||
id="defs16902"> | |||
<clipPath | |||
clipPathUnits="userSpaceOnUse" | |||
id="clipPath6367"> | |||
<path | |||
d="M 0,3193 H 2089 V 0 H 0 Z" | |||
id="path6365" | |||
inkscape:connector-curvature="0" /> | |||
</clipPath> | |||
</defs> | |||
<sodipodi:namedview | |||
id="base" | |||
pagecolor="#ffffff" | |||
bordercolor="#666666" | |||
borderopacity="1.0" | |||
inkscape:pageopacity="0.0" | |||
inkscape:pageshadow="2" | |||
inkscape:zoom="3.959798" | |||
inkscape:cx="-91.947964" | |||
inkscape:cy="8.8255993" | |||
inkscape:document-units="mm" | |||
inkscape:current-layer="layer1" | |||
showgrid="false" | |||
fit-margin-top="0" | |||
fit-margin-left="0" | |||
fit-margin-right="0" | |||
fit-margin-bottom="0" | |||
inkscape:window-width="2560" | |||
inkscape:window-height="1393" | |||
inkscape:window-x="0" | |||
inkscape:window-y="18" | |||
inkscape:window-maximized="1" | |||
units="px" | |||
inkscape:document-rotation="0" /> | |||
<metadata | |||
id="metadata16905"> | |||
<rdf:RDF> | |||
<cc:Work | |||
rdf:about=""> | |||
<dc:format>image/svg+xml</dc:format> | |||
<dc:type | |||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> | |||
<dc:title></dc:title> | |||
</cc:Work> | |||
</rdf:RDF> | |||
</metadata> | |||
<g | |||
inkscape:label="Layer 1" | |||
inkscape:groupmode="layer" | |||
id="layer1" | |||
transform="translate(-231.61419,-123.05063)"> | |||
<g | |||
id="g2004" | |||
transform="matrix(0.2645804,0,0,-0.2645804,-126.59926,753.88997)" | |||
style="stroke-width:1.33334816"> | |||
<g | |||
transform="translate(1389.8926,2366.2998)" | |||
id="g6455" | |||
style="stroke-width:1.33334816"> | |||
<path | |||
inkscape:connector-curvature="0" | |||
id="path6457" | |||
style="fill:#d6d6d6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.33334816" | |||
d="m 0,0 c 0,-9.941 -8.059,-18 -18,-18 -9.941,0 -18,8.059 -18,18 0,9.941 8.059,18 18,18 C -8.059,18 0,9.941 0,0" /> | |||
</g> | |||
<g | |||
transform="translate(1389.791,2368.2021)" | |||
id="g6459" | |||
style="stroke-width:1.33334816"> | |||
<path | |||
inkscape:connector-curvature="0" | |||
id="path6461" | |||
style="fill:#a8a8a8;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.33334816" | |||
d="m 0,0 c -0.79,1.279 -2.12,2.537 -2.86,4.327 -0.74,1.784 -0.691,3.609 -1.033,5.067 -0.805,0.997 -1.711,1.902 -2.709,2.708 -1.459,0.341 -3.282,0.293 -5.068,1.033 -1.79,0.742 -3.048,2.069 -4.325,2.86 -0.625,0.066 -1.26,0.104 -1.902,0.104 -0.644,0 -1.279,-0.038 -1.903,-0.104 -1.279,-0.791 -2.537,-2.118 -4.327,-2.86 -1.784,-0.74 -3.607,-0.692 -5.067,-1.033 -0.997,-0.806 -1.904,-1.711 -2.708,-2.708 -0.342,-1.458 -0.294,-3.283 -1.035,-5.067 -0.74,-1.79 -2.069,-3.048 -2.858,-4.327 -0.066,-0.625 -0.103,-1.26 -0.103,-1.902 0,-0.643 0.037,-1.278 0.103,-1.905 0.789,-1.277 2.118,-2.535 2.858,-4.325 0.741,-1.784 0.693,-3.609 1.035,-5.066 0.804,-0.998 1.711,-1.904 2.708,-2.709 1.46,-0.342 3.283,-0.293 5.067,-1.032 1.79,-0.743 3.048,-2.071 4.327,-2.861 0.624,-0.065 1.259,-0.103 1.903,-0.103 0.642,0 1.277,0.038 1.902,0.103 1.277,0.79 2.535,2.118 4.325,2.861 1.786,0.739 3.609,0.69 5.068,1.032 0.998,0.805 1.904,1.711 2.709,2.709 0.342,1.457 0.293,3.282 1.033,5.066 0.74,1.79 2.07,3.048 2.86,4.325 0.065,0.627 0.102,1.262 0.102,1.905 C 0.102,-1.26 0.065,-0.625 0,0" /> | |||
</g> | |||
<g | |||
transform="translate(1372.4912,2384.2314)" | |||
id="g6463" | |||
style="stroke-width:1.33334816"> | |||
<path | |||
inkscape:connector-curvature="0" | |||
id="path6465" | |||
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.33334816" | |||
d="M 0,0 C -0.195,0.045 -0.393,0.069 -0.598,0.069 -0.804,0.069 -1.002,0.045 -1.196,0 V -18.157 H 0 Z" /> | |||
</g> | |||
</g> | |||
</g> | |||
</svg> |
@@ -51,8 +51,8 @@ struct STMix : Module { | |||
const float gain = (i < numMixerChannels) ? exponentialBipolar80Pade_5_4(params[GAIN_PARAM + i].getValue()) : 1.f; | |||
for (int c = 0; c < numActivePolyphonyEngines; c += 4) { | |||
const float_4 in_left = inputs[LEFT_INPUT + i].getNormalPolyVoltageSimd<float_4>(0.f, c); | |||
const float_4 in_right = inputs[RIGHT_INPUT + i].getNormalPolyVoltageSimd<float_4>(in_left, c); | |||
const float_4 in_left = inputs[LEFT_INPUT + i].getNormalVoltageSimd<float_4>(0.f, c); | |||
const float_4 in_right = inputs[RIGHT_INPUT + i].getNormalVoltageSimd<float_4>(in_left, c); | |||
out_left[c / 4] += in_left * gain; | |||
out_right[c / 4] += in_right * gain; | |||
@@ -105,9 +105,9 @@ struct STMixWidget : ModuleWidget { | |||
addChild(createWidget<Knurlie>(Vec(RACK_GRID_WIDTH, RACK_GRID_HEIGHT - RACK_GRID_WIDTH))); | |||
addParam(createParamCentered<Davies1900hWhiteKnob>(mm2px(Vec(21.0, 18.141)), module, STMix::GAIN_PARAM + 0)); | |||
addParam(createParamCentered<Davies1900hWhiteKnob>(mm2px(Vec(21.0, 41.451)), module, STMix::GAIN_PARAM + 1)); | |||
addParam(createParamCentered<Davies1900hWhiteKnob>(mm2px(Vec(21.0, 64.318)), module, STMix::GAIN_PARAM + 2)); | |||
addParam(createParamCentered<Davies1900hWhiteKnob>(mm2px(Vec(21.0, 87.124)), module, STMix::GAIN_PARAM + 3)); | |||
addParam(createParamCentered<Davies1900hLightGreyKnob>(mm2px(Vec(21.0, 41.451)), module, STMix::GAIN_PARAM + 1)); | |||
addParam(createParamCentered<Davies1900hDarkGreyKnob>(mm2px(Vec(21.0, 64.318)), module, STMix::GAIN_PARAM + 2)); | |||
addParam(createParamCentered<Davies1900hDarkBlackAlt>(mm2px(Vec(21.0, 87.124)), module, STMix::GAIN_PARAM + 3)); | |||
addInput(createInputCentered<BefacoInputPort>(mm2px(Vec(6.3, 13.108)), module, STMix::LEFT_INPUT + 0)); | |||
addInput(createInputCentered<BefacoInputPort>(mm2px(Vec(6.3, 36.175)), module, STMix::LEFT_INPUT + 1)); | |||
@@ -78,6 +78,25 @@ struct Davies1900hLargeGreyKnob : Davies1900hKnob { | |||
} | |||
}; | |||
struct Davies1900hLightGreyKnob : Davies1900hWhiteKnob { | |||
Davies1900hLightGreyKnob() { | |||
setSvg(APP->window->loadSvg(asset::plugin(pluginInstance, "res/Davies1900hLightGrey.svg"))); | |||
} | |||
}; | |||
struct Davies1900hDarkGreyKnob : Davies1900hWhiteKnob { | |||
Davies1900hDarkGreyKnob() { | |||
setSvg(APP->window->loadSvg(asset::plugin(pluginInstance, "res/Davies1900hDarkGrey.svg"))); | |||
} | |||
}; | |||
// library black Davies1900h doesn't work well on black backgrounds | |||
struct Davies1900hDarkBlackAlt : Davies1900hWhiteKnob { | |||
Davies1900hDarkBlackAlt() { | |||
setSvg(APP->window->loadSvg(asset::plugin(pluginInstance, "res/Davies1900hBlack.svg"))); | |||
} | |||
}; | |||
struct BefacoOutputPort : app::SvgPort { | |||
BefacoOutputPort() { | |||
setSvg(APP->window->loadSvg(asset::plugin(pluginInstance, "res/BefacoOutputPort.svg"))); | |||