BogaudioModules

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

Matrix88Cv.cpp (9212B)


      1 
      2 #include "Matrix88Cv.hpp"
      3 
      4 void Matrix88Cv::processAlways(const ProcessArgs& args) {
      5 	int position = 0;
      6 	int baseID = 0;
      7 	if (baseConnected()) {
      8 		Matrix88ExpanderMessage* bm = fromBase();
      9 		baseID = bm->baseID;
     10 		position = bm->position;
     11 	}
     12 	setBaseIDAndPosition(baseID, position);
     13 
     14 	if (expanderConnected()) {
     15 		Matrix88ExpanderMessage* te = toExpander();
     16 		te->baseID = _baseID;
     17 		te->position = _position > 0 ? _position + 1 : 0;
     18 	}
     19 }
     20 
     21 struct Matrix88CvWidget : BGModuleWidget {
     22 	static constexpr int hp = 20;
     23 
     24 	Matrix88CvWidget(Matrix88Cv* module) {
     25 		setModule(module);
     26 		box.size = Vec(RACK_GRID_WIDTH * hp, RACK_GRID_HEIGHT);
     27 		setPanel(box.size, "Matrix88Cv");
     28 		createScrews();
     29 
     30 		// generated by svg_widgets.rb
     31 		auto cv11InputPosition = Vec(15.5, 30.0);
     32 		auto cv21InputPosition = Vec(15.5, 67.0);
     33 		auto cv31InputPosition = Vec(15.5, 104.0);
     34 		auto cv41InputPosition = Vec(15.5, 141.0);
     35 		auto cv51InputPosition = Vec(15.5, 178.0);
     36 		auto cv61InputPosition = Vec(15.5, 215.0);
     37 		auto cv71InputPosition = Vec(15.5, 252.0);
     38 		auto cv81InputPosition = Vec(15.5, 289.0);
     39 		auto cv12InputPosition = Vec(50.5, 30.0);
     40 		auto cv22InputPosition = Vec(50.5, 67.0);
     41 		auto cv32InputPosition = Vec(50.5, 104.0);
     42 		auto cv42InputPosition = Vec(50.5, 141.0);
     43 		auto cv52InputPosition = Vec(50.5, 178.0);
     44 		auto cv62InputPosition = Vec(50.5, 215.0);
     45 		auto cv72InputPosition = Vec(50.5, 252.0);
     46 		auto cv82InputPosition = Vec(50.5, 289.0);
     47 		auto cv13InputPosition = Vec(85.5, 30.0);
     48 		auto cv23InputPosition = Vec(85.5, 67.0);
     49 		auto cv33InputPosition = Vec(85.5, 104.0);
     50 		auto cv43InputPosition = Vec(85.5, 141.0);
     51 		auto cv53InputPosition = Vec(85.5, 178.0);
     52 		auto cv63InputPosition = Vec(85.5, 215.0);
     53 		auto cv73InputPosition = Vec(85.5, 252.0);
     54 		auto cv83InputPosition = Vec(85.5, 289.0);
     55 		auto cv14InputPosition = Vec(120.5, 30.0);
     56 		auto cv24InputPosition = Vec(120.5, 67.0);
     57 		auto cv34InputPosition = Vec(120.5, 104.0);
     58 		auto cv44InputPosition = Vec(120.5, 141.0);
     59 		auto cv54InputPosition = Vec(120.5, 178.0);
     60 		auto cv64InputPosition = Vec(120.5, 215.0);
     61 		auto cv74InputPosition = Vec(120.5, 252.0);
     62 		auto cv84InputPosition = Vec(120.5, 289.0);
     63 		auto cv15InputPosition = Vec(155.5, 30.0);
     64 		auto cv25InputPosition = Vec(155.5, 67.0);
     65 		auto cv35InputPosition = Vec(155.5, 104.0);
     66 		auto cv45InputPosition = Vec(155.5, 141.0);
     67 		auto cv55InputPosition = Vec(155.5, 178.0);
     68 		auto cv65InputPosition = Vec(155.5, 215.0);
     69 		auto cv75InputPosition = Vec(155.5, 252.0);
     70 		auto cv85InputPosition = Vec(155.5, 289.0);
     71 		auto cv16InputPosition = Vec(190.5, 30.0);
     72 		auto cv26InputPosition = Vec(190.5, 67.0);
     73 		auto cv36InputPosition = Vec(190.5, 104.0);
     74 		auto cv46InputPosition = Vec(190.5, 141.0);
     75 		auto cv56InputPosition = Vec(190.5, 178.0);
     76 		auto cv66InputPosition = Vec(190.5, 215.0);
     77 		auto cv76InputPosition = Vec(190.5, 252.0);
     78 		auto cv86InputPosition = Vec(190.5, 289.0);
     79 		auto cv17InputPosition = Vec(225.5, 30.0);
     80 		auto cv27InputPosition = Vec(225.5, 67.0);
     81 		auto cv37InputPosition = Vec(225.5, 104.0);
     82 		auto cv47InputPosition = Vec(225.5, 141.0);
     83 		auto cv57InputPosition = Vec(225.5, 178.0);
     84 		auto cv67InputPosition = Vec(225.5, 215.0);
     85 		auto cv77InputPosition = Vec(225.5, 252.0);
     86 		auto cv87InputPosition = Vec(225.5, 289.0);
     87 		auto cv18InputPosition = Vec(260.5, 30.0);
     88 		auto cv28InputPosition = Vec(260.5, 67.0);
     89 		auto cv38InputPosition = Vec(260.5, 104.0);
     90 		auto cv48InputPosition = Vec(260.5, 141.0);
     91 		auto cv58InputPosition = Vec(260.5, 178.0);
     92 		auto cv68InputPosition = Vec(260.5, 215.0);
     93 		auto cv78InputPosition = Vec(260.5, 252.0);
     94 		auto cv88InputPosition = Vec(260.5, 289.0);
     95 		// end generated by svg_widgets.rb
     96 
     97 		addInput(createInput<Port24>(cv11InputPosition, module, Matrix88Cv::CV11_INPUT));
     98 		addInput(createInput<Port24>(cv21InputPosition, module, Matrix88Cv::CV21_INPUT));
     99 		addInput(createInput<Port24>(cv31InputPosition, module, Matrix88Cv::CV31_INPUT));
    100 		addInput(createInput<Port24>(cv41InputPosition, module, Matrix88Cv::CV41_INPUT));
    101 		addInput(createInput<Port24>(cv51InputPosition, module, Matrix88Cv::CV51_INPUT));
    102 		addInput(createInput<Port24>(cv61InputPosition, module, Matrix88Cv::CV61_INPUT));
    103 		addInput(createInput<Port24>(cv71InputPosition, module, Matrix88Cv::CV71_INPUT));
    104 		addInput(createInput<Port24>(cv81InputPosition, module, Matrix88Cv::CV81_INPUT));
    105 		addInput(createInput<Port24>(cv12InputPosition, module, Matrix88Cv::CV12_INPUT));
    106 		addInput(createInput<Port24>(cv22InputPosition, module, Matrix88Cv::CV22_INPUT));
    107 		addInput(createInput<Port24>(cv32InputPosition, module, Matrix88Cv::CV32_INPUT));
    108 		addInput(createInput<Port24>(cv42InputPosition, module, Matrix88Cv::CV42_INPUT));
    109 		addInput(createInput<Port24>(cv52InputPosition, module, Matrix88Cv::CV52_INPUT));
    110 		addInput(createInput<Port24>(cv62InputPosition, module, Matrix88Cv::CV62_INPUT));
    111 		addInput(createInput<Port24>(cv72InputPosition, module, Matrix88Cv::CV72_INPUT));
    112 		addInput(createInput<Port24>(cv82InputPosition, module, Matrix88Cv::CV82_INPUT));
    113 		addInput(createInput<Port24>(cv13InputPosition, module, Matrix88Cv::CV13_INPUT));
    114 		addInput(createInput<Port24>(cv23InputPosition, module, Matrix88Cv::CV23_INPUT));
    115 		addInput(createInput<Port24>(cv33InputPosition, module, Matrix88Cv::CV33_INPUT));
    116 		addInput(createInput<Port24>(cv43InputPosition, module, Matrix88Cv::CV43_INPUT));
    117 		addInput(createInput<Port24>(cv53InputPosition, module, Matrix88Cv::CV53_INPUT));
    118 		addInput(createInput<Port24>(cv63InputPosition, module, Matrix88Cv::CV63_INPUT));
    119 		addInput(createInput<Port24>(cv73InputPosition, module, Matrix88Cv::CV73_INPUT));
    120 		addInput(createInput<Port24>(cv83InputPosition, module, Matrix88Cv::CV83_INPUT));
    121 		addInput(createInput<Port24>(cv14InputPosition, module, Matrix88Cv::CV14_INPUT));
    122 		addInput(createInput<Port24>(cv24InputPosition, module, Matrix88Cv::CV24_INPUT));
    123 		addInput(createInput<Port24>(cv34InputPosition, module, Matrix88Cv::CV34_INPUT));
    124 		addInput(createInput<Port24>(cv44InputPosition, module, Matrix88Cv::CV44_INPUT));
    125 		addInput(createInput<Port24>(cv54InputPosition, module, Matrix88Cv::CV54_INPUT));
    126 		addInput(createInput<Port24>(cv64InputPosition, module, Matrix88Cv::CV64_INPUT));
    127 		addInput(createInput<Port24>(cv74InputPosition, module, Matrix88Cv::CV74_INPUT));
    128 		addInput(createInput<Port24>(cv84InputPosition, module, Matrix88Cv::CV84_INPUT));
    129 		addInput(createInput<Port24>(cv15InputPosition, module, Matrix88Cv::CV15_INPUT));
    130 		addInput(createInput<Port24>(cv25InputPosition, module, Matrix88Cv::CV25_INPUT));
    131 		addInput(createInput<Port24>(cv35InputPosition, module, Matrix88Cv::CV35_INPUT));
    132 		addInput(createInput<Port24>(cv45InputPosition, module, Matrix88Cv::CV45_INPUT));
    133 		addInput(createInput<Port24>(cv55InputPosition, module, Matrix88Cv::CV55_INPUT));
    134 		addInput(createInput<Port24>(cv65InputPosition, module, Matrix88Cv::CV65_INPUT));
    135 		addInput(createInput<Port24>(cv75InputPosition, module, Matrix88Cv::CV75_INPUT));
    136 		addInput(createInput<Port24>(cv85InputPosition, module, Matrix88Cv::CV85_INPUT));
    137 		addInput(createInput<Port24>(cv16InputPosition, module, Matrix88Cv::CV16_INPUT));
    138 		addInput(createInput<Port24>(cv26InputPosition, module, Matrix88Cv::CV26_INPUT));
    139 		addInput(createInput<Port24>(cv36InputPosition, module, Matrix88Cv::CV36_INPUT));
    140 		addInput(createInput<Port24>(cv46InputPosition, module, Matrix88Cv::CV46_INPUT));
    141 		addInput(createInput<Port24>(cv56InputPosition, module, Matrix88Cv::CV56_INPUT));
    142 		addInput(createInput<Port24>(cv66InputPosition, module, Matrix88Cv::CV66_INPUT));
    143 		addInput(createInput<Port24>(cv76InputPosition, module, Matrix88Cv::CV76_INPUT));
    144 		addInput(createInput<Port24>(cv86InputPosition, module, Matrix88Cv::CV86_INPUT));
    145 		addInput(createInput<Port24>(cv17InputPosition, module, Matrix88Cv::CV17_INPUT));
    146 		addInput(createInput<Port24>(cv27InputPosition, module, Matrix88Cv::CV27_INPUT));
    147 		addInput(createInput<Port24>(cv37InputPosition, module, Matrix88Cv::CV37_INPUT));
    148 		addInput(createInput<Port24>(cv47InputPosition, module, Matrix88Cv::CV47_INPUT));
    149 		addInput(createInput<Port24>(cv57InputPosition, module, Matrix88Cv::CV57_INPUT));
    150 		addInput(createInput<Port24>(cv67InputPosition, module, Matrix88Cv::CV67_INPUT));
    151 		addInput(createInput<Port24>(cv77InputPosition, module, Matrix88Cv::CV77_INPUT));
    152 		addInput(createInput<Port24>(cv87InputPosition, module, Matrix88Cv::CV87_INPUT));
    153 		addInput(createInput<Port24>(cv18InputPosition, module, Matrix88Cv::CV18_INPUT));
    154 		addInput(createInput<Port24>(cv28InputPosition, module, Matrix88Cv::CV28_INPUT));
    155 		addInput(createInput<Port24>(cv38InputPosition, module, Matrix88Cv::CV38_INPUT));
    156 		addInput(createInput<Port24>(cv48InputPosition, module, Matrix88Cv::CV48_INPUT));
    157 		addInput(createInput<Port24>(cv58InputPosition, module, Matrix88Cv::CV58_INPUT));
    158 		addInput(createInput<Port24>(cv68InputPosition, module, Matrix88Cv::CV68_INPUT));
    159 		addInput(createInput<Port24>(cv78InputPosition, module, Matrix88Cv::CV78_INPUT));
    160 		addInput(createInput<Port24>(cv88InputPosition, module, Matrix88Cv::CV88_INPUT));
    161 	}
    162 };
    163 
    164 Model* modelMatrix88Cv = createModel<Matrix88Cv, Matrix88CvWidget>("Bogaudio-Matrix88Cv", "MX88CV", "CV expander for MATRIX88", "Mixer", "Expander", "Polyphonic");