BogaudioModules

BogaudioModules for VCV Rack
Log | Files | Refs | README | LICENSE

XCO-src.svg (16143B)


      1 <?xml version="1.0"?>
      2 <module hp="20">
      3   <style/>
      4 
      5   <defs>
      6     <symbol id="dial-fm-xco" viewBox="0 0 50px 50px">
      7       <g transform="translate(25 25)">
      8         <text font-size="6.0pt" transform="rotate(-240) translate(24 0) rotate(240) translate(-4 3)">0</text>
      9         <polyline points="0,0 3,0" stroke-width="0.7" transform="rotate(-210) translate(22 0)"/>
     10         <polyline points="0,0 3,0" stroke-width="0.7" transform="rotate(-180) translate(22 0)"/>
     11         <polyline points="0,0 3,0" stroke-width="0.7" transform="rotate(-150) translate(22 0)"/>
     12         <polyline points="0,0 3,0" stroke-width="0.7" transform="rotate(-120) translate(22 0)"/>
     13         <polyline points="0,0 3,0" stroke-width="0.7" transform="rotate(-90) translate(22 0)"/>
     14         <polyline points="0,0 3,0" stroke-width="0.7" transform="rotate(-60) translate(22 0)"/>
     15         <polyline points="0,0 3,0" stroke-width="0.7" transform="rotate(-30) translate(22 0)"/>
     16         <polyline points="0,0 3,0" stroke-width="0.7" transform="rotate(0) translate(22 0)"/>
     17         <polyline points="0,0 3,0" stroke-width="0.7" transform="rotate(30) translate(22 0)"/>
     18         <polyline points="0,0 4,0" stroke-width="1" transform="rotate(60) translate(22 0)"/>
     19       </g>
     20     </symbol>
     21   </defs>
     22 
     23   <def xlink:href="#module" var-name="XCO"/>
     24 
     25   <g transform="translate(20 25)">
     26     <!-- <rect width="108" height="98" fill="none" stroke="#0f0" /> -->
     27     <!-- <polyline points="0,54 54,54" stroke="#0f0" stroke-width="1" fill="none" /> -->
     28     <!-- <polyline points="54,54 54,354" stroke="#0f0" stroke-width="1" fill="none" /> -->
     29     <def id="FREQUENCY_PARAM" xlink:href="#knob68" transform="translate(20 20)"/>
     30   </g>
     31   <def xlink:href="#dial-frequency" transform="translate(20 25)"/>
     32 
     33   <text font-size="6pt" letter-spacing="1px" transform="translate(30 135)">0V = C4 = 261.63HZ</text>
     34   <!-- <rect width="90" height="10" fill="#0f0" transform="translate(0 143)" /> -->
     35 
     36   <g transform="translate(34 153)">
     37     <!-- <polyline points="0,-5 70,-5" stroke="#0f0" stroke-width="1" fill="none" /> -->
     38     <!-- <polyline points="0,8 70,8" stroke="#0f0" stroke-width="1" fill="none" /> -->
     39     <!-- <polyline points="0,21 70,21" stroke="#0f0" stroke-width="1" fill="none" /> -->
     40     <!-- <polyline points="21,-10 21,240" stroke="#0f0" stroke-width="1" fill="none" /> -->
     41     <text font-size="8pt" letter-spacing="2px" transform="translate(0 22) rotate(270)">FINE</text>
     42     <def id="FINE_PARAM" xlink:href="#knob16" transform="translate(13 0)"/>
     43     <!-- <rect width="90" height="10" fill="#0f0" transform="translate(0 17)" /> -->
     44   </g>
     45   <def xlink:href="#dial-centertick" transform="translate(35 141)"/>
     46 
     47   <g transform="translate(72 158.5)">
     48     <text font-size="6pt" letter-spacing="2px" transform="translate(9 6.1)">SLOW</text>
     49     <def id="SLOW_PARAM" xlink:href="#button-small" transform="translate(40 -1.3)"/>
     50   </g>
     51 
     52   <g transform="translate(31 194)">
     53     <g transform="translate(4 0)">
     54       <!-- <polyline points="-50,0 100,0" stroke="#0f0" stroke-width="1" fill="none" transform="translate(0 19)" /> -->
     55       <text font-size="8pt" letter-spacing="2px" transform="translate(9 27) rotate(270)">FM</text>
     56       <def id="FM_DEPTH_PARAM" xlink:href="#knob38" transform="translate(20 0)"/>
     57     </g>
     58     <!-- <rect width="90" height="10" fill="#0f0" transform="translate(0 26)" /> -->
     59     <g class="io-group" transform="translate(-19 52)">
     60       <rect class="input-background" width="71" height="47" rx="5" transform="translate(10 0)"/>
     61       <g transform="translate(10 0)">
     62         <!-- <rect width="30" height="47" rx="5" fill="#fafafa" /> -->
     63         <def id="FM_INPUT" xlink:href="#input" transform="translate(7 5)"/>
     64         <text class="input-label" font-size="6pt" letter-spacing="1px" transform="translate(11 40)">FM</text>
     65       </g>
     66       <g transform="translate(47 0)">
     67         <!-- <rect width="30" height="47" rx="5" fill="#fafafa" /> -->
     68         <def id="FM_DEPTH_INPUT" xlink:href="#input" transform="translate(3 5)"/>
     69         <text class="input-label" font-size="6pt" letter-spacing="1px" transform="translate(0 40)">DEPTH</text>
     70       </g>
     71     </g>
     72     <g transform="translate(63 52)">
     73       <!-- <rect width="30" height="47" rx="5" fill="#00c" /> -->
     74       <g transform="translate(8 9)">
     75         <text font-size="5pt" letter-spacing="2px" transform="translate(-1 -1)">EXP</text>
     76         <def id="FM_TYPE_PARAM" xlink:href="#switch" transform="translate(0 2)"/>
     77         <text font-size="5pt" letter-spacing="2px" transform="translate(0 34)">LIN</text>
     78       </g>
     79     </g>
     80   </g>
     81   <use xlink:href="#dial-fm-xco" transform="translate(49 188)"/>
     82 
     83   <!-- <rect width="90" height="18" fill="#0f0" transform="translate(0 175)" /> -->
     84   <!-- <rect width="90" height="18" fill="#0f0" transform="translate(0 295)" /> -->
     85 
     86   <rect class="output-background" width="193" height="47" rx="5" transform="translate(97 313)"/>
     87 
     88   <g class="io-group" transform="translate(140 30)">
     89     <rect class="input-background" width="30" height="330" rx="5"/>
     90     <!-- <polyline points="15,0 15,320" stroke="#0f0" stroke-width="1" fill="none" /> -->
     91     <!-- <rect width="30" height="20" fill="#0f0" transform="translate(0 90)" /> -->
     92     <!-- <rect width="30" height="20" fill="#0f0" transform="translate(0 177)" /> -->
     93     <!-- <rect width="30" height="20" fill="#0f0" transform="translate(0 267)" /> -->
     94     <!-- <text font-size="6pt" letter-spacing="2px" transform="translate(5.2 15)">SQR</text> -->
     95     <g transform="translate(9 6)">
     96       <!-- <rect width="12" height="8" fill="none" stroke-width="1" stroke="#0f0" /> -->
     97       <polyline class="input-label" points="0,4 0,0 6,0 6,8 12,8 12,4" stroke-width="1" fill="none"/>
     98     </g>
     99     <g transform="translate(3 30)">
    100       <def id="SQUARE_PW_PARAM" xlink:href="#knob16" transform="translate(4 0)"/>
    101       <text class="input-label" font-size="6pt" letter-spacing="2px" transform="translate(5 30)">PW</text>
    102       <def id="SQUARE_PW_INPUT" xlink:href="#input" transform="translate(0 35)"/>
    103     </g>
    104     <g transform="translate(3 118)">
    105       <def id="SQUARE_PHASE_PARAM" xlink:href="#knob16" transform="translate(4 0)"/>
    106       <text class="input-label" font-size="6pt" letter-spacing="2px" transform="translate(2 30)">PHS</text>
    107       <def id="SQUARE_PHASE_INPUT" xlink:href="#input" transform="translate(0 35)"/>
    108     </g>
    109     <g transform="translate(3 207)">
    110       <def id="SQUARE_MIX_PARAM" xlink:href="#knob16" transform="translate(4 0)"/>
    111       <text class="input-label" font-size="6pt" letter-spacing="2px" transform="translate(2.5 30)">MIX</text>
    112       <def id="SQUARE_MIX_INPUT" xlink:href="#input" transform="translate(0 35)"/>
    113     </g>
    114     <g class="io-group" transform="translate(0 288)">
    115       <rect class="output-background-filler" width="32" height="5" transform="translate(-1 -5)"/>
    116       <rect class="output-background" width="32" height="47" rx="5" transform="translate(-1 -5)"/>
    117       <g transform="translate(3 0)">
    118         <def id="SQUARE_OUTPUT" xlink:href="#output" transform="translate(0 0)"/>
    119         <text class="output-label" font-size="6pt" letter-spacing="2px" transform="translate(2 36)">OUT</text>
    120       </g>
    121     </g>
    122   </g>
    123   <def xlink:href="#dial-centertick-input" transform="translate(135 48)"/>
    124   <def xlink:href="#dial-centertick-input" transform="translate(135 136)"/>
    125   <def xlink:href="#dial-mintick-input" transform="translate(135 225)"/>
    126 
    127   <g class="io-group" transform="translate(180 30)">
    128     <rect class="input-background" width="30" height="330" rx="5"/>
    129     <!-- <polyline points="15,0 15,320" stroke="#0f0" stroke-width="1" fill="none" /> -->
    130     <!-- <rect width="30" height="20" fill="#0f0" transform="translate(0 90)" /> -->
    131     <!-- <rect width="30" height="20" fill="#0f0" transform="translate(0 177)" /> -->
    132     <!-- <rect width="30" height="20" fill="#0f0" transform="translate(0 267)" /> -->
    133     <!-- <text font-size="6pt" letter-spacing="2px" transform="translate(4.3 15)">SAW</text> -->
    134     <g transform="translate(9 6)">
    135       <!-- <rect width="12" height="8" fill="none" stroke-width="1" stroke="#0f0" /> -->
    136       <polyline class="input-label" points="0,8 12,0 12,8" stroke-width="1" fill="none"/>
    137     </g>
    138     <g transform="translate(3 30)">
    139       <def id="SAW_SATURATION_PARAM" xlink:href="#knob16" transform="translate(4 0)"/>
    140       <text class="input-label" font-size="6pt" letter-spacing="2px" transform="translate(2.5 30)">SAT</text>
    141       <def id="SAW_SATURATION_INPUT" xlink:href="#input" transform="translate(0 35)"/>
    142     </g>
    143     <g transform="translate(3 118)">
    144       <def id="SAW_PHASE_PARAM" xlink:href="#knob16" transform="translate(4 0)"/>
    145       <text class="input-label" font-size="6pt" letter-spacing="2px" transform="translate(2 30)">PHS</text>
    146       <def id="SAW_PHASE_INPUT" xlink:href="#input" transform="translate(0 35)"/>
    147     </g>
    148     <g transform="translate(3 207)">
    149       <def id="SAW_MIX_PARAM" xlink:href="#knob16" transform="translate(4 0)"/>
    150       <text class="input-label" font-size="6pt" letter-spacing="2px" transform="translate(2.5 30)">MIX</text>
    151       <def id="SAW_MIX_INPUT" xlink:href="#input" transform="translate(0 35)"/>
    152     </g>
    153     <g class="io-group" transform="translate(0 288)">
    154       <rect class="output-background-filler" width="32" height="5" transform="translate(-1 -5)"/>
    155       <rect class="output-background" width="32" height="47" rx="5" transform="translate(-1 -5)"/>
    156       <g transform="translate(3 0)">
    157         <def id="SAW_OUTPUT" xlink:href="#output" transform="translate(0 0)"/>
    158         <text class="output-label" font-size="6pt" letter-spacing="2px" transform="translate(2 36)">OUT</text>
    159       </g>
    160     </g>
    161   </g>
    162   <def xlink:href="#dial-mintick-input" transform="translate(175 48)"/>
    163   <def xlink:href="#dial-centertick-input" transform="translate(175 136)"/>
    164   <def xlink:href="#dial-mintick-input" transform="translate(175 225)"/>
    165 
    166   <g class="io-group" transform="translate(220 30)">
    167     <rect class="input-background" width="30" height="330" rx="5"/>
    168     <!-- <polyline points="15,0 15,320" stroke="#0f0" stroke-width="1" fill="none" /> -->
    169     <!-- <rect width="30" height="20" fill="#0f0" transform="translate(0 90)" /> -->
    170     <!-- <rect width="30" height="20" fill="#0f0" transform="translate(0 177)" /> -->
    171     <!-- <rect width="30" height="20" fill="#0f0" transform="translate(0 267)" /> -->
    172     <!-- <text font-size="6pt" letter-spacing="2px" transform="translate(7 15)">TRI</text> -->
    173     <g transform="translate(9 6)">
    174       <!-- <rect width="12" height="8" fill="none" stroke-width="1" stroke="#0f0" /> -->
    175       <polyline class="input-label" points="0,4 3,0 9,8 12,4" stroke-width="1" fill="none"/>
    176     </g>
    177     <g transform="translate(3 30)">
    178       <def id="TRIANGLE_SAMPLE_PARAM" xlink:href="#knob16" transform="translate(4 0)"/>
    179       <text class="input-label" font-size="6pt" letter-spacing="2px" transform="translate(1.5 30)">SAM</text>
    180       <def id="TRIANGLE_SAMPLE_INPUT" xlink:href="#input" transform="translate(0 35)"/>
    181     </g>
    182     <g transform="translate(3 118)">
    183       <def id="TRIANGLE_PHASE_PARAM" xlink:href="#knob16" transform="translate(4 0)"/>
    184       <text class="input-label" font-size="6pt" letter-spacing="2px" transform="translate(2 30)">PHS</text>
    185       <def id="TRIANGLE_PHASE_INPUT" xlink:href="#input" transform="translate(0 35)"/>
    186     </g>
    187     <g transform="translate(3 207)">
    188       <def id="TRIANGLE_MIX_PARAM" xlink:href="#knob16" transform="translate(4 0)"/>
    189       <text class="input-label" font-size="6pt" letter-spacing="2px" transform="translate(2.5 30)">MIX</text>
    190       <def id="TRIANGLE_MIX_INPUT" xlink:href="#input" transform="translate(0 35)"/>
    191     </g>
    192     <g class="io-group" transform="translate(0 288)">
    193       <rect class="output-background-filler" width="32" height="5" transform="translate(-1 -5)"/>
    194       <rect class="output-background" width="32" height="47" rx="5" transform="translate(-1 -5)"/>
    195       <g transform="translate(3 0)">
    196         <def id="TRIANGLE_OUTPUT" xlink:href="#output" transform="translate(0 0)"/>
    197         <text class="output-label" font-size="6pt" letter-spacing="2px" transform="translate(2 36)">OUT</text>
    198       </g>
    199     </g>
    200   </g>
    201   <def xlink:href="#dial-mintick-input" transform="translate(215 48)"/>
    202   <def xlink:href="#dial-centertick-input" transform="translate(215 136)"/>
    203   <def xlink:href="#dial-mintick-input" transform="translate(215 225)"/>
    204 
    205   <g class="io-group" transform="translate(260 30)">
    206     <rect class="input-background" width="30" height="330" rx="5"/>
    207     <!-- <polyline points="15,0 15,320" stroke="#0f0" stroke-width="1" fill="none" /> -->
    208     <!-- <rect width="30" height="20" fill="#0f0" transform="translate(0 90)" /> -->
    209     <!-- <rect width="30" height="20" fill="#0f0" transform="translate(0 177)" /> -->
    210     <!-- <rect width="30" height="20" fill="#0f0" transform="translate(0 267)" /> -->
    211     <!-- <text font-size="6pt" letter-spacing="2px" transform="translate(6.5 15)">SIN</text> -->
    212     <g transform="translate(9 6)">
    213       <!-- <rect width="12" height="8" fill="none" stroke-width="1" stroke="#0f0" /> -->
    214       <path class="input-label" d="M 0 4 A 2 3 0 0 1 6 4" stroke-width="1" stroke="#333" fill="none"/>
    215       <path class="input-label" d="M 6 4 A 2 3 0 0 0 12 4" stroke-width="1" stroke="#333" fill="none"/>
    216     </g>
    217     <g transform="translate(3 30)">
    218       <def id="SINE_FEEDBACK_PARAM" xlink:href="#knob16" transform="translate(4 0)"/>
    219       <text class="input-label" font-size="6pt" letter-spacing="1px" transform="translate(0.5 30)">FDBK</text>
    220       <def id="SINE_FEEDBACK_INPUT" xlink:href="#input" transform="translate(0 35)"/>
    221     </g>
    222     <g transform="translate(3 118)">
    223       <def id="SINE_PHASE_PARAM" xlink:href="#knob16" transform="translate(4 0)"/>
    224       <text class="input-label" font-size="6pt" letter-spacing="2px" transform="translate(2 30)">PHS</text>
    225       <def id="SINE_PHASE_INPUT" xlink:href="#input" transform="translate(0 35)"/>
    226     </g>
    227     <g transform="translate(3 207)">
    228       <def id="SINE_MIX_PARAM" xlink:href="#knob16" transform="translate(4 0)"/>
    229       <text class="input-label" font-size="6pt" letter-spacing="2px" transform="translate(2.5 30)">MIX</text>
    230       <def id="SINE_MIX_INPUT" xlink:href="#input" transform="translate(0 35)"/>
    231     </g>
    232     <g class="io-group" transform="translate(0 288)">
    233       <rect class="output-background-filler" width="31" height="5" transform="translate(-1 -5)"/>
    234       <rect class="output-background" width="31" height="47" rx="5" transform="translate(-1 -5)"/>
    235       <g transform="translate(3 0)">
    236         <def id="SINE_OUTPUT" xlink:href="#output" transform="translate(0 0)"/>
    237         <text class="output-label" font-size="6pt" letter-spacing="2px" transform="translate(2 36)">OUT</text>
    238       </g>
    239     </g>
    240   </g>
    241   <def xlink:href="#dial-mintick-input" transform="translate(255 48)"/>
    242   <def xlink:href="#dial-centertick-input" transform="translate(255 136)"/>
    243   <def xlink:href="#dial-mintick-input" transform="translate(255 225)"/>
    244 
    245   <!-- <rect width="30" height="10" fill="#0f0" transform="translate(0 303)" /> -->
    246   <g class="io-group" transform="translate(0 313)">
    247     <rect class="input-background" width="71" height="47" rx="5" transform="translate(10 0)"/>
    248     <g transform="translate(10 0)">
    249       <!-- <rect width="30" height="47" rx="5" fill="#fafafa" /> -->
    250       <def id="PITCH_INPUT" xlink:href="#input" transform="translate(7 5)"/>
    251       <text class="input-label" font-size="6pt" letter-spacing="1px" transform="translate(5 40)">V/OCT</text>
    252     </g>
    253     <g transform="translate(47 0)">
    254       <!-- <rect width="30" height="47" rx="5" fill="#fafafa" /> -->
    255       <def id="SYNC_INPUT" xlink:href="#input" transform="translate(3 5)"/>
    256       <text class="input-label" font-size="6pt" letter-spacing="1px" transform="translate(3 40)">SYNC</text>
    257     </g>
    258     <g transform="translate(100 0)">
    259       <!-- <rect width="30" height="47" rx="5" fill="#bbb" transform="translate(0 0)" /> -->
    260       <def id="MIX_OUTPUT" xlink:href="#output" transform="translate(3 5)"/>
    261       <text class="output-label" font-size="6pt" letter-spacing="2px" transform="translate(5 40)">MIX</text>
    262     </g>
    263   </g>
    264 </module>