Matrix88M.cpp (10074B)
1 2 #include "Matrix88M.hpp" 3 #include "mixer.hpp" 4 5 void Matrix88M::processAlways(const ProcessArgs& args) { 6 int position = 0; 7 int baseID = 0; 8 if (baseConnected()) { 9 Matrix88ExpanderMessage* bm = fromBase(); 10 baseID = bm->baseID; 11 position = bm->position; 12 } 13 setBaseIDAndPosition(baseID, position); 14 15 if (expanderConnected()) { 16 Matrix88ExpanderMessage* te = toExpander(); 17 te->baseID = _baseID; 18 te->position = _position > 0 ? _position + 1 : 0; 19 } 20 } 21 22 struct Matrix88MWidget : MutesMatrixExpanderModuleWidget { 23 static constexpr int hp = 20; 24 25 Matrix88MWidget(Matrix88M* module) { 26 setModule(module); 27 box.size = Vec(RACK_GRID_WIDTH * hp, RACK_GRID_HEIGHT); 28 setPanel(box.size, "Matrix88M"); 29 createScrews(); 30 31 // generated by svg_widgets.rb 32 auto mute11ParamPosition = Vec(18.5, 33.0); 33 auto mute21ParamPosition = Vec(18.5, 70.0); 34 auto mute31ParamPosition = Vec(18.5, 107.0); 35 auto mute41ParamPosition = Vec(18.5, 144.0); 36 auto mute51ParamPosition = Vec(18.5, 181.0); 37 auto mute61ParamPosition = Vec(18.5, 218.0); 38 auto mute71ParamPosition = Vec(18.5, 255.0); 39 auto mute81ParamPosition = Vec(18.5, 292.0); 40 auto mute12ParamPosition = Vec(53.5, 33.0); 41 auto mute22ParamPosition = Vec(53.5, 70.0); 42 auto mute32ParamPosition = Vec(53.5, 107.0); 43 auto mute42ParamPosition = Vec(53.5, 144.0); 44 auto mute52ParamPosition = Vec(53.5, 181.0); 45 auto mute62ParamPosition = Vec(53.5, 218.0); 46 auto mute72ParamPosition = Vec(53.5, 255.0); 47 auto mute82ParamPosition = Vec(53.5, 292.0); 48 auto mute13ParamPosition = Vec(88.5, 33.0); 49 auto mute23ParamPosition = Vec(88.5, 70.0); 50 auto mute33ParamPosition = Vec(88.5, 107.0); 51 auto mute43ParamPosition = Vec(88.5, 144.0); 52 auto mute53ParamPosition = Vec(88.5, 181.0); 53 auto mute63ParamPosition = Vec(88.5, 218.0); 54 auto mute73ParamPosition = Vec(88.5, 255.0); 55 auto mute83ParamPosition = Vec(88.5, 292.0); 56 auto mute14ParamPosition = Vec(123.5, 33.0); 57 auto mute24ParamPosition = Vec(123.5, 70.0); 58 auto mute34ParamPosition = Vec(123.5, 107.0); 59 auto mute44ParamPosition = Vec(123.5, 144.0); 60 auto mute54ParamPosition = Vec(123.5, 181.0); 61 auto mute64ParamPosition = Vec(123.5, 218.0); 62 auto mute74ParamPosition = Vec(123.5, 255.0); 63 auto mute84ParamPosition = Vec(123.5, 292.0); 64 auto mute15ParamPosition = Vec(158.5, 33.0); 65 auto mute25ParamPosition = Vec(158.5, 70.0); 66 auto mute35ParamPosition = Vec(158.5, 107.0); 67 auto mute45ParamPosition = Vec(158.5, 144.0); 68 auto mute55ParamPosition = Vec(158.5, 181.0); 69 auto mute65ParamPosition = Vec(158.5, 218.0); 70 auto mute75ParamPosition = Vec(158.5, 255.0); 71 auto mute85ParamPosition = Vec(158.5, 292.0); 72 auto mute16ParamPosition = Vec(193.5, 33.0); 73 auto mute26ParamPosition = Vec(193.5, 70.0); 74 auto mute36ParamPosition = Vec(193.5, 107.0); 75 auto mute46ParamPosition = Vec(193.5, 144.0); 76 auto mute56ParamPosition = Vec(193.5, 181.0); 77 auto mute66ParamPosition = Vec(193.5, 218.0); 78 auto mute76ParamPosition = Vec(193.5, 255.0); 79 auto mute86ParamPosition = Vec(193.5, 292.0); 80 auto mute17ParamPosition = Vec(228.5, 33.0); 81 auto mute27ParamPosition = Vec(228.5, 70.0); 82 auto mute37ParamPosition = Vec(228.5, 107.0); 83 auto mute47ParamPosition = Vec(228.5, 144.0); 84 auto mute57ParamPosition = Vec(228.5, 181.0); 85 auto mute67ParamPosition = Vec(228.5, 218.0); 86 auto mute77ParamPosition = Vec(228.5, 255.0); 87 auto mute87ParamPosition = Vec(228.5, 292.0); 88 auto mute18ParamPosition = Vec(263.5, 33.0); 89 auto mute28ParamPosition = Vec(263.5, 70.0); 90 auto mute38ParamPosition = Vec(263.5, 107.0); 91 auto mute48ParamPosition = Vec(263.5, 144.0); 92 auto mute58ParamPosition = Vec(263.5, 181.0); 93 auto mute68ParamPosition = Vec(263.5, 218.0); 94 auto mute78ParamPosition = Vec(263.5, 255.0); 95 auto mute88ParamPosition = Vec(263.5, 292.0); 96 // end generated by svg_widgets.rb 97 98 addParam(createParam<SoloMuteButton>(mute11ParamPosition, module, Matrix88M::MUTE11_PARAM)); 99 addParam(createParam<SoloMuteButton>(mute21ParamPosition, module, Matrix88M::MUTE21_PARAM)); 100 addParam(createParam<SoloMuteButton>(mute31ParamPosition, module, Matrix88M::MUTE31_PARAM)); 101 addParam(createParam<SoloMuteButton>(mute41ParamPosition, module, Matrix88M::MUTE41_PARAM)); 102 addParam(createParam<SoloMuteButton>(mute51ParamPosition, module, Matrix88M::MUTE51_PARAM)); 103 addParam(createParam<SoloMuteButton>(mute61ParamPosition, module, Matrix88M::MUTE61_PARAM)); 104 addParam(createParam<SoloMuteButton>(mute71ParamPosition, module, Matrix88M::MUTE71_PARAM)); 105 addParam(createParam<SoloMuteButton>(mute81ParamPosition, module, Matrix88M::MUTE81_PARAM)); 106 addParam(createParam<SoloMuteButton>(mute12ParamPosition, module, Matrix88M::MUTE12_PARAM)); 107 addParam(createParam<SoloMuteButton>(mute22ParamPosition, module, Matrix88M::MUTE22_PARAM)); 108 addParam(createParam<SoloMuteButton>(mute32ParamPosition, module, Matrix88M::MUTE32_PARAM)); 109 addParam(createParam<SoloMuteButton>(mute42ParamPosition, module, Matrix88M::MUTE42_PARAM)); 110 addParam(createParam<SoloMuteButton>(mute52ParamPosition, module, Matrix88M::MUTE52_PARAM)); 111 addParam(createParam<SoloMuteButton>(mute62ParamPosition, module, Matrix88M::MUTE62_PARAM)); 112 addParam(createParam<SoloMuteButton>(mute72ParamPosition, module, Matrix88M::MUTE72_PARAM)); 113 addParam(createParam<SoloMuteButton>(mute82ParamPosition, module, Matrix88M::MUTE82_PARAM)); 114 addParam(createParam<SoloMuteButton>(mute13ParamPosition, module, Matrix88M::MUTE13_PARAM)); 115 addParam(createParam<SoloMuteButton>(mute23ParamPosition, module, Matrix88M::MUTE23_PARAM)); 116 addParam(createParam<SoloMuteButton>(mute33ParamPosition, module, Matrix88M::MUTE33_PARAM)); 117 addParam(createParam<SoloMuteButton>(mute43ParamPosition, module, Matrix88M::MUTE43_PARAM)); 118 addParam(createParam<SoloMuteButton>(mute53ParamPosition, module, Matrix88M::MUTE53_PARAM)); 119 addParam(createParam<SoloMuteButton>(mute63ParamPosition, module, Matrix88M::MUTE63_PARAM)); 120 addParam(createParam<SoloMuteButton>(mute73ParamPosition, module, Matrix88M::MUTE73_PARAM)); 121 addParam(createParam<SoloMuteButton>(mute83ParamPosition, module, Matrix88M::MUTE83_PARAM)); 122 addParam(createParam<SoloMuteButton>(mute14ParamPosition, module, Matrix88M::MUTE14_PARAM)); 123 addParam(createParam<SoloMuteButton>(mute24ParamPosition, module, Matrix88M::MUTE24_PARAM)); 124 addParam(createParam<SoloMuteButton>(mute34ParamPosition, module, Matrix88M::MUTE34_PARAM)); 125 addParam(createParam<SoloMuteButton>(mute44ParamPosition, module, Matrix88M::MUTE44_PARAM)); 126 addParam(createParam<SoloMuteButton>(mute54ParamPosition, module, Matrix88M::MUTE54_PARAM)); 127 addParam(createParam<SoloMuteButton>(mute64ParamPosition, module, Matrix88M::MUTE64_PARAM)); 128 addParam(createParam<SoloMuteButton>(mute74ParamPosition, module, Matrix88M::MUTE74_PARAM)); 129 addParam(createParam<SoloMuteButton>(mute84ParamPosition, module, Matrix88M::MUTE84_PARAM)); 130 addParam(createParam<SoloMuteButton>(mute15ParamPosition, module, Matrix88M::MUTE15_PARAM)); 131 addParam(createParam<SoloMuteButton>(mute25ParamPosition, module, Matrix88M::MUTE25_PARAM)); 132 addParam(createParam<SoloMuteButton>(mute35ParamPosition, module, Matrix88M::MUTE35_PARAM)); 133 addParam(createParam<SoloMuteButton>(mute45ParamPosition, module, Matrix88M::MUTE45_PARAM)); 134 addParam(createParam<SoloMuteButton>(mute55ParamPosition, module, Matrix88M::MUTE55_PARAM)); 135 addParam(createParam<SoloMuteButton>(mute65ParamPosition, module, Matrix88M::MUTE65_PARAM)); 136 addParam(createParam<SoloMuteButton>(mute75ParamPosition, module, Matrix88M::MUTE75_PARAM)); 137 addParam(createParam<SoloMuteButton>(mute85ParamPosition, module, Matrix88M::MUTE85_PARAM)); 138 addParam(createParam<SoloMuteButton>(mute16ParamPosition, module, Matrix88M::MUTE16_PARAM)); 139 addParam(createParam<SoloMuteButton>(mute26ParamPosition, module, Matrix88M::MUTE26_PARAM)); 140 addParam(createParam<SoloMuteButton>(mute36ParamPosition, module, Matrix88M::MUTE36_PARAM)); 141 addParam(createParam<SoloMuteButton>(mute46ParamPosition, module, Matrix88M::MUTE46_PARAM)); 142 addParam(createParam<SoloMuteButton>(mute56ParamPosition, module, Matrix88M::MUTE56_PARAM)); 143 addParam(createParam<SoloMuteButton>(mute66ParamPosition, module, Matrix88M::MUTE66_PARAM)); 144 addParam(createParam<SoloMuteButton>(mute76ParamPosition, module, Matrix88M::MUTE76_PARAM)); 145 addParam(createParam<SoloMuteButton>(mute86ParamPosition, module, Matrix88M::MUTE86_PARAM)); 146 addParam(createParam<SoloMuteButton>(mute17ParamPosition, module, Matrix88M::MUTE17_PARAM)); 147 addParam(createParam<SoloMuteButton>(mute27ParamPosition, module, Matrix88M::MUTE27_PARAM)); 148 addParam(createParam<SoloMuteButton>(mute37ParamPosition, module, Matrix88M::MUTE37_PARAM)); 149 addParam(createParam<SoloMuteButton>(mute47ParamPosition, module, Matrix88M::MUTE47_PARAM)); 150 addParam(createParam<SoloMuteButton>(mute57ParamPosition, module, Matrix88M::MUTE57_PARAM)); 151 addParam(createParam<SoloMuteButton>(mute67ParamPosition, module, Matrix88M::MUTE67_PARAM)); 152 addParam(createParam<SoloMuteButton>(mute77ParamPosition, module, Matrix88M::MUTE77_PARAM)); 153 addParam(createParam<SoloMuteButton>(mute87ParamPosition, module, Matrix88M::MUTE87_PARAM)); 154 addParam(createParam<SoloMuteButton>(mute18ParamPosition, module, Matrix88M::MUTE18_PARAM)); 155 addParam(createParam<SoloMuteButton>(mute28ParamPosition, module, Matrix88M::MUTE28_PARAM)); 156 addParam(createParam<SoloMuteButton>(mute38ParamPosition, module, Matrix88M::MUTE38_PARAM)); 157 addParam(createParam<SoloMuteButton>(mute48ParamPosition, module, Matrix88M::MUTE48_PARAM)); 158 addParam(createParam<SoloMuteButton>(mute58ParamPosition, module, Matrix88M::MUTE58_PARAM)); 159 addParam(createParam<SoloMuteButton>(mute68ParamPosition, module, Matrix88M::MUTE68_PARAM)); 160 addParam(createParam<SoloMuteButton>(mute78ParamPosition, module, Matrix88M::MUTE78_PARAM)); 161 addParam(createParam<SoloMuteButton>(mute88ParamPosition, module, Matrix88M::MUTE88_PARAM)); 162 } 163 }; 164 165 Model* modelMatrix88M = createModel<Matrix88M, Matrix88MWidget>("Bogaudio-Matrix88M", "MX88M", "Mutes expander for MATRIX88", "Mixer", "Expander", "Polyphonic");