| @@ -0,0 +1,104 @@ | |||
| <?xml version="1.0" encoding="UTF-8" standalone="no"?> | |||
| <!-- Created with Inkscape (http://www.inkscape.org/) --> | |||
| <svg | |||
| xmlns:dc="http://purl.org/dc/elements/1.1/" | |||
| xmlns:cc="http://creativecommons.org/ns#" | |||
| xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" | |||
| xmlns:svg="http://www.w3.org/2000/svg" | |||
| xmlns="http://www.w3.org/2000/svg" | |||
| xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" | |||
| xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" | |||
| width="3.96875mm" | |||
| height="3.9684556mm" | |||
| viewBox="0 0 3.9687499 3.9684557" | |||
| version="1.1" | |||
| id="svg18800" | |||
| inkscape:version="0.92.2 5c3e80d, 2017-08-06" | |||
| sodipodi:docname="Knurlie.svg"> | |||
| <defs | |||
| id="defs18794" /> | |||
| <sodipodi:namedview | |||
| id="base" | |||
| pagecolor="#ffffff" | |||
| bordercolor="#666666" | |||
| borderopacity="1.0" | |||
| inkscape:pageopacity="0.0" | |||
| inkscape:pageshadow="2" | |||
| inkscape:zoom="63.356767" | |||
| inkscape:cx="6.0512345" | |||
| inkscape:cy="7.5860127" | |||
| 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="1422" | |||
| inkscape:window-x="0" | |||
| inkscape:window-y="18" | |||
| inkscape:window-maximized="0" | |||
| inkscape:snap-bbox="true" | |||
| inkscape:snap-bbox-midpoints="true" | |||
| inkscape:snap-object-midpoints="true" | |||
| inkscape:snap-page="true" /> | |||
| <metadata | |||
| id="metadata18797"> | |||
| <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(-27.124952,-67.361781)"> | |||
| <ellipse | |||
| style="opacity:1;vector-effect:none;fill:#222222;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.10000001;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal" | |||
| id="path53480" | |||
| cx="29.109327" | |||
| cy="69.346008" | |||
| rx="1.4497962" | |||
| ry="1.4496888" /> | |||
| <ellipse | |||
| ry="1.4496888" | |||
| rx="1.4497962" | |||
| cy="69.346008" | |||
| cx="29.109327" | |||
| id="ellipse53482" | |||
| style="opacity:1;vector-effect:none;fill:#4c4c4c;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.10000001;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal" /> | |||
| <path | |||
| d="m 29.412049,70.787161 h -0.605445 v -2.882012 h 0.605445 z" | |||
| style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.35277778" | |||
| id="path6839" | |||
| inkscape:connector-curvature="0" /> | |||
| <path | |||
| d="M 30.541801,69.648876 H 27.67685 v -0.605445 h 2.864951 z" | |||
| style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.35277775" | |||
| id="path6841" | |||
| inkscape:connector-curvature="0" /> | |||
| <path | |||
| sodipodi:type="star" | |||
| style="opacity:1;vector-effect:none;fill:#050505;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.09999999;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal" | |||
| id="path53478" | |||
| sodipodi:sides="6" | |||
| sodipodi:cx="29.109327" | |||
| sodipodi:cy="69.346008" | |||
| sodipodi:r1="0.85442221" | |||
| sodipodi:r2="0.73995137" | |||
| sodipodi:arg1="0.52359878" | |||
| sodipodi:arg2="1.0471976" | |||
| inkscape:flatsided="true" | |||
| inkscape:rounded="0" | |||
| inkscape:randomized="0" | |||
| d="m 29.849279,69.773219 -0.739952,0.427211 -0.739951,-0.427211 0,-0.854422 0.739951,-0.427211 0.739952,0.427211 z" /> | |||
| </g> | |||
| </svg> | |||
| @@ -74,8 +74,8 @@ ABCWidget::ABCWidget() { | |||
| addChild(panel); | |||
| } | |||
| addChild(createScrew<ScrewBlack>(Vec(15, 0))); | |||
| addChild(createScrew<ScrewBlack>(Vec(15, 365))); | |||
| addChild(createScrew<Knurlie>(Vec(15, 0))); | |||
| addChild(createScrew<Knurlie>(Vec(15, 365))); | |||
| addParam(createParam<Davies1900hRedKnob>(Vec(44, 37), module, ABC::B1_LEVEL_PARAM, -1.0, 1.0, 0.0)); | |||
| addParam(createParam<Davies1900hWhiteKnob>(Vec(44, 107), module, ABC::C1_LEVEL_PARAM, -1.0, 1.0, 0.0)); | |||
| @@ -6,6 +6,14 @@ using namespace rack; | |||
| extern Plugin *plugin; | |||
| struct Knurlie : SVGScrew { | |||
| Knurlie() { | |||
| sw->svg = SVG::load(assetPlugin(plugin, "res/Knurlie.svg")); | |||
| sw->wrap(); | |||
| box.size = sw->box.size; | |||
| } | |||
| }; | |||
| void springReverbInit(); | |||
| //////////////////// | |||
| @@ -53,8 +53,8 @@ DualAtenuverterWidget::DualAtenuverterWidget() { | |||
| addChild(panel); | |||
| } | |||
| addChild(createScrew<ScrewBlack>(Vec(15, 0))); | |||
| addChild(createScrew<ScrewBlack>(Vec(15, 365))); | |||
| addChild(createScrew<Knurlie>(Vec(15, 0))); | |||
| addChild(createScrew<Knurlie>(Vec(15, 365))); | |||
| addParam(createParam<Davies1900hWhiteKnob>(Vec(20, 33), module, DualAtenuverter::ATEN1_PARAM, -1.0, 1.0, 0.0)); | |||
| addParam(createParam<Davies1900hRedKnob>(Vec(20, 91), module, DualAtenuverter::OFFSET1_PARAM, -10.0, 10.0, 0.0)); | |||
| @@ -142,10 +142,10 @@ EvenVCOWidget::EvenVCOWidget() { | |||
| addChild(panel); | |||
| } | |||
| addChild(createScrew<ScrewBlack>(Vec(15, 0))); | |||
| addChild(createScrew<ScrewBlack>(Vec(15, 365))); | |||
| addChild(createScrew<ScrewBlack>(Vec(15*6, 0))); | |||
| addChild(createScrew<ScrewBlack>(Vec(15*6, 365))); | |||
| addChild(createScrew<Knurlie>(Vec(15, 0))); | |||
| addChild(createScrew<Knurlie>(Vec(15, 365))); | |||
| addChild(createScrew<Knurlie>(Vec(15*6, 0))); | |||
| addChild(createScrew<Knurlie>(Vec(15*6, 365))); | |||
| addParam(createParam<BefacoBigSnapKnob>(Vec(24-4+2, 35-4+1), module, EvenVCO::OCTAVE_PARAM, -5.0, 4.0, 0.0)); | |||
| addParam(createParam<BefacoTinyKnob>(Vec(73, 131), module, EvenVCO::TUNE_PARAM, -7.0, 7.0, 0.0)); | |||
| @@ -54,8 +54,8 @@ MixerWidget::MixerWidget() { | |||
| addChild(panel); | |||
| } | |||
| addChild(createScrew<ScrewBlack>(Vec(15, 0))); | |||
| addChild(createScrew<ScrewBlack>(Vec(15, 365))); | |||
| addChild(createScrew<Knurlie>(Vec(15, 0))); | |||
| addChild(createScrew<Knurlie>(Vec(15, 365))); | |||
| addParam(createParam<Davies1900hWhiteKnob>(Vec(19, 32), module, Mixer::CH1_PARAM, 0.0, 1.0, 0.0)); | |||
| addParam(createParam<Davies1900hWhiteKnob>(Vec(19, 85), module, Mixer::CH2_PARAM, 0.0, 1.0, 0.0)); | |||
| @@ -119,10 +119,10 @@ RampageWidget::RampageWidget() { | |||
| addChild(panel); | |||
| } | |||
| addChild(createScrew<ScrewBlack>(Vec(15, 0))); | |||
| addChild(createScrew<ScrewBlack>(Vec(box.size.x-30, 0))); | |||
| addChild(createScrew<ScrewBlack>(Vec(15, 365))); | |||
| addChild(createScrew<ScrewBlack>(Vec(box.size.x-30, 365))); | |||
| addChild(createScrew<Knurlie>(Vec(15, 0))); | |||
| addChild(createScrew<Knurlie>(Vec(box.size.x-30, 0))); | |||
| addChild(createScrew<Knurlie>(Vec(15, 365))); | |||
| addChild(createScrew<Knurlie>(Vec(box.size.x-30, 365))); | |||
| addInput(createInput<PJ3410Port>(Vec(14-3, 30-3), module, Rampage::IN_A_INPUT)); | |||
| addInput(createInput<PJ3410Port>(Vec(52-3, 37-3), module, Rampage::TRIGG_A_INPUT)); | |||
| @@ -69,8 +69,8 @@ SlewLimiterWidget::SlewLimiterWidget() { | |||
| addChild(panel); | |||
| } | |||
| addChild(createScrew<ScrewBlack>(Vec(15, 0))); | |||
| addChild(createScrew<ScrewBlack>(Vec(15, 365))); | |||
| addChild(createScrew<Knurlie>(Vec(15, 0))); | |||
| addChild(createScrew<Knurlie>(Vec(15, 365))); | |||
| addParam(createParam<Davies1900hWhiteKnob>(Vec(27, 39), module, ::SlewLimiter::SHAPE_PARAM, 0.0, 1.0, 0.0)); | |||
| @@ -269,10 +269,10 @@ SpringReverbWidget::SpringReverbWidget() { | |||
| addChild(panel); | |||
| } | |||
| addChild(createScrew<ScrewBlack>(Vec(15, 0))); | |||
| addChild(createScrew<ScrewBlack>(Vec(15, 365))); | |||
| addChild(createScrew<ScrewBlack>(Vec(15*6, 0))); | |||
| addChild(createScrew<ScrewBlack>(Vec(15*6, 365))); | |||
| addChild(createScrew<Knurlie>(Vec(15, 0))); | |||
| addChild(createScrew<Knurlie>(Vec(15, 365))); | |||
| addChild(createScrew<Knurlie>(Vec(15*6, 0))); | |||
| addChild(createScrew<Knurlie>(Vec(15*6, 365))); | |||
| addParam(createParam<BefacoBigKnob>(Vec(22, 29), module, SpringReverb::WET_PARAM, 0.0, 1.0, 0.5)); | |||