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");