Matrix44Cvm.cpp (5441B)
1 2 #include "Matrix44Cvm.hpp" 3 #include "mixer.hpp" 4 5 void Matrix44Cvm::processAlways(const ProcessArgs& args) { 6 int position = 0; 7 int baseID = 0; 8 if (baseConnected()) { 9 Matrix44ExpanderMessage* bm = fromBase(); 10 baseID = bm->baseID; 11 position = bm->position; 12 } 13 setBaseIDAndPosition(baseID, position); 14 15 if (expanderConnected()) { 16 Matrix44ExpanderMessage* te = toExpander(); 17 te->baseID = _baseID; 18 te->position = _position > 0 ? _position + 1 : 0; 19 } 20 } 21 22 struct Matrix44CvmWidget : MutesMatrixExpanderModuleWidget { 23 static constexpr int hp = 10; 24 25 Matrix44CvmWidget(Matrix44Cvm* module) { 26 setModule(module); 27 box.size = Vec(RACK_GRID_WIDTH * hp, RACK_GRID_HEIGHT); 28 setPanel(box.size, "Matrix44Cvm"); 29 createScrews(); 30 31 // generated by svg_widgets.rb 32 auto mute11ParamPosition = Vec(16.75, 61.75); 33 auto mute21ParamPosition = Vec(16.75, 94.25); 34 auto mute31ParamPosition = Vec(16.75, 126.75); 35 auto mute41ParamPosition = Vec(16.75, 159.25); 36 auto mute12ParamPosition = Vec(49.25, 61.75); 37 auto mute22ParamPosition = Vec(49.25, 94.25); 38 auto mute32ParamPosition = Vec(49.25, 126.75); 39 auto mute42ParamPosition = Vec(49.25, 159.25); 40 auto mute13ParamPosition = Vec(81.75, 61.75); 41 auto mute23ParamPosition = Vec(81.75, 94.25); 42 auto mute33ParamPosition = Vec(81.75, 126.75); 43 auto mute43ParamPosition = Vec(81.75, 159.25); 44 auto mute14ParamPosition = Vec(114.25, 61.75); 45 auto mute24ParamPosition = Vec(114.25, 94.25); 46 auto mute34ParamPosition = Vec(114.25, 126.75); 47 auto mute44ParamPosition = Vec(114.25, 159.25); 48 49 auto cv11InputPosition = Vec(14.25, 217.25); 50 auto cv21InputPosition = Vec(14.25, 249.75); 51 auto cv31InputPosition = Vec(14.25, 282.25); 52 auto cv41InputPosition = Vec(14.25, 314.75); 53 auto cv12InputPosition = Vec(46.75, 217.25); 54 auto cv22InputPosition = Vec(46.75, 249.75); 55 auto cv32InputPosition = Vec(46.75, 282.25); 56 auto cv42InputPosition = Vec(46.75, 314.75); 57 auto cv13InputPosition = Vec(79.25, 217.25); 58 auto cv23InputPosition = Vec(79.25, 249.75); 59 auto cv33InputPosition = Vec(79.25, 282.25); 60 auto cv43InputPosition = Vec(79.25, 314.75); 61 auto cv14InputPosition = Vec(111.75, 217.25); 62 auto cv24InputPosition = Vec(111.75, 249.75); 63 auto cv34InputPosition = Vec(111.75, 282.25); 64 auto cv44InputPosition = Vec(111.75, 314.75); 65 // end generated by svg_widgets.rb 66 67 addParam(createParam<SoloMuteButton>(mute11ParamPosition, module, Matrix44Cvm::MUTE11_PARAM)); 68 addParam(createParam<SoloMuteButton>(mute21ParamPosition, module, Matrix44Cvm::MUTE21_PARAM)); 69 addParam(createParam<SoloMuteButton>(mute31ParamPosition, module, Matrix44Cvm::MUTE31_PARAM)); 70 addParam(createParam<SoloMuteButton>(mute41ParamPosition, module, Matrix44Cvm::MUTE41_PARAM)); 71 addParam(createParam<SoloMuteButton>(mute12ParamPosition, module, Matrix44Cvm::MUTE12_PARAM)); 72 addParam(createParam<SoloMuteButton>(mute22ParamPosition, module, Matrix44Cvm::MUTE22_PARAM)); 73 addParam(createParam<SoloMuteButton>(mute32ParamPosition, module, Matrix44Cvm::MUTE32_PARAM)); 74 addParam(createParam<SoloMuteButton>(mute42ParamPosition, module, Matrix44Cvm::MUTE42_PARAM)); 75 addParam(createParam<SoloMuteButton>(mute13ParamPosition, module, Matrix44Cvm::MUTE13_PARAM)); 76 addParam(createParam<SoloMuteButton>(mute23ParamPosition, module, Matrix44Cvm::MUTE23_PARAM)); 77 addParam(createParam<SoloMuteButton>(mute33ParamPosition, module, Matrix44Cvm::MUTE33_PARAM)); 78 addParam(createParam<SoloMuteButton>(mute43ParamPosition, module, Matrix44Cvm::MUTE43_PARAM)); 79 addParam(createParam<SoloMuteButton>(mute14ParamPosition, module, Matrix44Cvm::MUTE14_PARAM)); 80 addParam(createParam<SoloMuteButton>(mute24ParamPosition, module, Matrix44Cvm::MUTE24_PARAM)); 81 addParam(createParam<SoloMuteButton>(mute34ParamPosition, module, Matrix44Cvm::MUTE34_PARAM)); 82 addParam(createParam<SoloMuteButton>(mute44ParamPosition, module, Matrix44Cvm::MUTE44_PARAM)); 83 84 addInput(createInput<Port24>(cv11InputPosition, module, Matrix44Cvm::CV11_INPUT)); 85 addInput(createInput<Port24>(cv21InputPosition, module, Matrix44Cvm::CV21_INPUT)); 86 addInput(createInput<Port24>(cv31InputPosition, module, Matrix44Cvm::CV31_INPUT)); 87 addInput(createInput<Port24>(cv41InputPosition, module, Matrix44Cvm::CV41_INPUT)); 88 addInput(createInput<Port24>(cv12InputPosition, module, Matrix44Cvm::CV12_INPUT)); 89 addInput(createInput<Port24>(cv22InputPosition, module, Matrix44Cvm::CV22_INPUT)); 90 addInput(createInput<Port24>(cv32InputPosition, module, Matrix44Cvm::CV32_INPUT)); 91 addInput(createInput<Port24>(cv42InputPosition, module, Matrix44Cvm::CV42_INPUT)); 92 addInput(createInput<Port24>(cv13InputPosition, module, Matrix44Cvm::CV13_INPUT)); 93 addInput(createInput<Port24>(cv23InputPosition, module, Matrix44Cvm::CV23_INPUT)); 94 addInput(createInput<Port24>(cv33InputPosition, module, Matrix44Cvm::CV33_INPUT)); 95 addInput(createInput<Port24>(cv43InputPosition, module, Matrix44Cvm::CV43_INPUT)); 96 addInput(createInput<Port24>(cv14InputPosition, module, Matrix44Cvm::CV14_INPUT)); 97 addInput(createInput<Port24>(cv24InputPosition, module, Matrix44Cvm::CV24_INPUT)); 98 addInput(createInput<Port24>(cv34InputPosition, module, Matrix44Cvm::CV34_INPUT)); 99 addInput(createInput<Port24>(cv44InputPosition, module, Matrix44Cvm::CV44_INPUT)); 100 } 101 }; 102 103 Model* modelMatrix44Cvm = createModel<Matrix44Cvm, Matrix44CvmWidget>("Bogaudio-Matrix44Cvm", "MX44CVM", "CV and mutes expander for MATRIX44", "Mixer", "Expander", "Polyphonic");