commit 0b877235a79c4b0eeaf249cceffbfa118cee7a62
parent bb10c50f69f47df39f588778190ea7d765f5f574
Author: Matt Demanett <matt@demanett.net>
Date: Sat, 11 Apr 2020 00:04:06 -0400
SWITCH*: add option to have switch click toggle between on and off, rather than through inverted; fix switch right-click to not toggle. #108
Diffstat:
10 files changed, 402 insertions(+), 347 deletions(-)
diff --git a/src/Switch1616.cpp b/src/Switch1616.cpp
@@ -1,7 +1,7 @@
#include "Switch1616.hpp"
-struct Switch1616Widget : MatrixBaseModuleWidget {
+struct Switch1616Widget : SwitchMatrixModuleWidget {
static constexpr int hp = 22;
Switch1616Widget(Switch1616* module) {
@@ -313,262 +313,262 @@ struct Switch1616Widget : MatrixBaseModuleWidget {
auto out16OutputPosition = Vec(296.5, 306.0);
// end generated by svg_widgets.rb
- addParam(createParam<InvertingIndicatorButton9>(mix11ParamPosition, module, Switch1616::MIX_1_1_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix12ParamPosition, module, Switch1616::MIX_1_2_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix13ParamPosition, module, Switch1616::MIX_1_3_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix14ParamPosition, module, Switch1616::MIX_1_4_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix15ParamPosition, module, Switch1616::MIX_1_5_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix16ParamPosition, module, Switch1616::MIX_1_6_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix17ParamPosition, module, Switch1616::MIX_1_7_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix18ParamPosition, module, Switch1616::MIX_1_8_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix19ParamPosition, module, Switch1616::MIX_1_9_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix110ParamPosition, module, Switch1616::MIX_1_10_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix1_11ParamPosition, module, Switch1616::MIX_1_11_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix1_12ParamPosition, module, Switch1616::MIX_1_12_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix1_13ParamPosition, module, Switch1616::MIX_1_13_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix1_14ParamPosition, module, Switch1616::MIX_1_14_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix1_15ParamPosition, module, Switch1616::MIX_1_15_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix1_16ParamPosition, module, Switch1616::MIX_1_16_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix21ParamPosition, module, Switch1616::MIX_2_1_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix22ParamPosition, module, Switch1616::MIX_2_2_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix23ParamPosition, module, Switch1616::MIX_2_3_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix24ParamPosition, module, Switch1616::MIX_2_4_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix25ParamPosition, module, Switch1616::MIX_2_5_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix26ParamPosition, module, Switch1616::MIX_2_6_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix27ParamPosition, module, Switch1616::MIX_2_7_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix28ParamPosition, module, Switch1616::MIX_2_8_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix29ParamPosition, module, Switch1616::MIX_2_9_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix210ParamPosition, module, Switch1616::MIX_2_10_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix211ParamPosition, module, Switch1616::MIX_2_11_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix212ParamPosition, module, Switch1616::MIX_2_12_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix213ParamPosition, module, Switch1616::MIX_2_13_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix214ParamPosition, module, Switch1616::MIX_2_14_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix215ParamPosition, module, Switch1616::MIX_2_15_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix216ParamPosition, module, Switch1616::MIX_2_16_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix31ParamPosition, module, Switch1616::MIX_3_1_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix32ParamPosition, module, Switch1616::MIX_3_2_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix33ParamPosition, module, Switch1616::MIX_3_3_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix34ParamPosition, module, Switch1616::MIX_3_4_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix35ParamPosition, module, Switch1616::MIX_3_5_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix36ParamPosition, module, Switch1616::MIX_3_6_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix37ParamPosition, module, Switch1616::MIX_3_7_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix38ParamPosition, module, Switch1616::MIX_3_8_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix39ParamPosition, module, Switch1616::MIX_3_9_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix310ParamPosition, module, Switch1616::MIX_3_10_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix311ParamPosition, module, Switch1616::MIX_3_11_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix312ParamPosition, module, Switch1616::MIX_3_12_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix313ParamPosition, module, Switch1616::MIX_3_13_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix314ParamPosition, module, Switch1616::MIX_3_14_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix315ParamPosition, module, Switch1616::MIX_3_15_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix316ParamPosition, module, Switch1616::MIX_3_16_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix41ParamPosition, module, Switch1616::MIX_4_1_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix42ParamPosition, module, Switch1616::MIX_4_2_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix43ParamPosition, module, Switch1616::MIX_4_3_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix44ParamPosition, module, Switch1616::MIX_4_4_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix45ParamPosition, module, Switch1616::MIX_4_5_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix46ParamPosition, module, Switch1616::MIX_4_6_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix47ParamPosition, module, Switch1616::MIX_4_7_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix48ParamPosition, module, Switch1616::MIX_4_8_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix49ParamPosition, module, Switch1616::MIX_4_9_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix410ParamPosition, module, Switch1616::MIX_4_10_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix411ParamPosition, module, Switch1616::MIX_4_11_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix412ParamPosition, module, Switch1616::MIX_4_12_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix413ParamPosition, module, Switch1616::MIX_4_13_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix414ParamPosition, module, Switch1616::MIX_4_14_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix415ParamPosition, module, Switch1616::MIX_4_15_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix416ParamPosition, module, Switch1616::MIX_4_16_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix51ParamPosition, module, Switch1616::MIX_5_1_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix52ParamPosition, module, Switch1616::MIX_5_2_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix53ParamPosition, module, Switch1616::MIX_5_3_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix54ParamPosition, module, Switch1616::MIX_5_4_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix55ParamPosition, module, Switch1616::MIX_5_5_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix56ParamPosition, module, Switch1616::MIX_5_6_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix57ParamPosition, module, Switch1616::MIX_5_7_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix58ParamPosition, module, Switch1616::MIX_5_8_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix59ParamPosition, module, Switch1616::MIX_5_9_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix510ParamPosition, module, Switch1616::MIX_5_10_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix511ParamPosition, module, Switch1616::MIX_5_11_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix512ParamPosition, module, Switch1616::MIX_5_12_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix513ParamPosition, module, Switch1616::MIX_5_13_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix514ParamPosition, module, Switch1616::MIX_5_14_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix515ParamPosition, module, Switch1616::MIX_5_15_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix516ParamPosition, module, Switch1616::MIX_5_16_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix61ParamPosition, module, Switch1616::MIX_6_1_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix62ParamPosition, module, Switch1616::MIX_6_2_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix63ParamPosition, module, Switch1616::MIX_6_3_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix64ParamPosition, module, Switch1616::MIX_6_4_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix65ParamPosition, module, Switch1616::MIX_6_5_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix66ParamPosition, module, Switch1616::MIX_6_6_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix67ParamPosition, module, Switch1616::MIX_6_7_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix68ParamPosition, module, Switch1616::MIX_6_8_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix69ParamPosition, module, Switch1616::MIX_6_9_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix610ParamPosition, module, Switch1616::MIX_6_10_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix611ParamPosition, module, Switch1616::MIX_6_11_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix612ParamPosition, module, Switch1616::MIX_6_12_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix613ParamPosition, module, Switch1616::MIX_6_13_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix614ParamPosition, module, Switch1616::MIX_6_14_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix615ParamPosition, module, Switch1616::MIX_6_15_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix616ParamPosition, module, Switch1616::MIX_6_16_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix71ParamPosition, module, Switch1616::MIX_7_1_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix72ParamPosition, module, Switch1616::MIX_7_2_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix73ParamPosition, module, Switch1616::MIX_7_3_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix74ParamPosition, module, Switch1616::MIX_7_4_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix75ParamPosition, module, Switch1616::MIX_7_5_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix76ParamPosition, module, Switch1616::MIX_7_6_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix77ParamPosition, module, Switch1616::MIX_7_7_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix78ParamPosition, module, Switch1616::MIX_7_8_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix79ParamPosition, module, Switch1616::MIX_7_9_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix710ParamPosition, module, Switch1616::MIX_7_10_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix711ParamPosition, module, Switch1616::MIX_7_11_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix712ParamPosition, module, Switch1616::MIX_7_12_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix713ParamPosition, module, Switch1616::MIX_7_13_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix714ParamPosition, module, Switch1616::MIX_7_14_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix715ParamPosition, module, Switch1616::MIX_7_15_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix716ParamPosition, module, Switch1616::MIX_7_16_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix81ParamPosition, module, Switch1616::MIX_8_1_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix82ParamPosition, module, Switch1616::MIX_8_2_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix83ParamPosition, module, Switch1616::MIX_8_3_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix84ParamPosition, module, Switch1616::MIX_8_4_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix85ParamPosition, module, Switch1616::MIX_8_5_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix86ParamPosition, module, Switch1616::MIX_8_6_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix87ParamPosition, module, Switch1616::MIX_8_7_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix88ParamPosition, module, Switch1616::MIX_8_8_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix89ParamPosition, module, Switch1616::MIX_8_9_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix810ParamPosition, module, Switch1616::MIX_8_10_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix811ParamPosition, module, Switch1616::MIX_8_11_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix812ParamPosition, module, Switch1616::MIX_8_12_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix813ParamPosition, module, Switch1616::MIX_8_13_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix814ParamPosition, module, Switch1616::MIX_8_14_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix815ParamPosition, module, Switch1616::MIX_8_15_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix816ParamPosition, module, Switch1616::MIX_8_16_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix91ParamPosition, module, Switch1616::MIX_9_1_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix92ParamPosition, module, Switch1616::MIX_9_2_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix93ParamPosition, module, Switch1616::MIX_9_3_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix94ParamPosition, module, Switch1616::MIX_9_4_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix95ParamPosition, module, Switch1616::MIX_9_5_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix96ParamPosition, module, Switch1616::MIX_9_6_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix97ParamPosition, module, Switch1616::MIX_9_7_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix98ParamPosition, module, Switch1616::MIX_9_8_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix99ParamPosition, module, Switch1616::MIX_9_9_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix910ParamPosition, module, Switch1616::MIX_9_10_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix911ParamPosition, module, Switch1616::MIX_9_11_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix912ParamPosition, module, Switch1616::MIX_9_12_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix913ParamPosition, module, Switch1616::MIX_9_13_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix914ParamPosition, module, Switch1616::MIX_9_14_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix915ParamPosition, module, Switch1616::MIX_9_15_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix916ParamPosition, module, Switch1616::MIX_9_16_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix101ParamPosition, module, Switch1616::MIX_10_1_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix102ParamPosition, module, Switch1616::MIX_10_2_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix103ParamPosition, module, Switch1616::MIX_10_3_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix104ParamPosition, module, Switch1616::MIX_10_4_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix105ParamPosition, module, Switch1616::MIX_10_5_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix106ParamPosition, module, Switch1616::MIX_10_6_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix107ParamPosition, module, Switch1616::MIX_10_7_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix108ParamPosition, module, Switch1616::MIX_10_8_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix109ParamPosition, module, Switch1616::MIX_10_9_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix1010ParamPosition, module, Switch1616::MIX_10_10_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix1011ParamPosition, module, Switch1616::MIX_10_11_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix1012ParamPosition, module, Switch1616::MIX_10_12_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix1013ParamPosition, module, Switch1616::MIX_10_13_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix1014ParamPosition, module, Switch1616::MIX_10_14_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix1015ParamPosition, module, Switch1616::MIX_10_15_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix1016ParamPosition, module, Switch1616::MIX_10_16_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix111ParamPosition, module, Switch1616::MIX_11_1_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix112ParamPosition, module, Switch1616::MIX_11_2_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix113ParamPosition, module, Switch1616::MIX_11_3_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix114ParamPosition, module, Switch1616::MIX_11_4_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix115ParamPosition, module, Switch1616::MIX_11_5_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix116ParamPosition, module, Switch1616::MIX_11_6_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix117ParamPosition, module, Switch1616::MIX_11_7_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix118ParamPosition, module, Switch1616::MIX_11_8_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix119ParamPosition, module, Switch1616::MIX_11_9_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix1110ParamPosition, module, Switch1616::MIX_11_10_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix1111ParamPosition, module, Switch1616::MIX_11_11_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix1112ParamPosition, module, Switch1616::MIX_11_12_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix1113ParamPosition, module, Switch1616::MIX_11_13_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix1114ParamPosition, module, Switch1616::MIX_11_14_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix1115ParamPosition, module, Switch1616::MIX_11_15_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix1116ParamPosition, module, Switch1616::MIX_11_16_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix121ParamPosition, module, Switch1616::MIX_12_1_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix122ParamPosition, module, Switch1616::MIX_12_2_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix123ParamPosition, module, Switch1616::MIX_12_3_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix124ParamPosition, module, Switch1616::MIX_12_4_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix125ParamPosition, module, Switch1616::MIX_12_5_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix126ParamPosition, module, Switch1616::MIX_12_6_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix127ParamPosition, module, Switch1616::MIX_12_7_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix128ParamPosition, module, Switch1616::MIX_12_8_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix129ParamPosition, module, Switch1616::MIX_12_9_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix1210ParamPosition, module, Switch1616::MIX_12_10_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix1211ParamPosition, module, Switch1616::MIX_12_11_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix1212ParamPosition, module, Switch1616::MIX_12_12_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix1213ParamPosition, module, Switch1616::MIX_12_13_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix1214ParamPosition, module, Switch1616::MIX_12_14_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix1215ParamPosition, module, Switch1616::MIX_12_15_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix1216ParamPosition, module, Switch1616::MIX_12_16_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix131ParamPosition, module, Switch1616::MIX_13_1_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix132ParamPosition, module, Switch1616::MIX_13_2_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix133ParamPosition, module, Switch1616::MIX_13_3_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix134ParamPosition, module, Switch1616::MIX_13_4_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix135ParamPosition, module, Switch1616::MIX_13_5_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix136ParamPosition, module, Switch1616::MIX_13_6_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix137ParamPosition, module, Switch1616::MIX_13_7_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix138ParamPosition, module, Switch1616::MIX_13_8_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix139ParamPosition, module, Switch1616::MIX_13_9_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix1310ParamPosition, module, Switch1616::MIX_13_10_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix1311ParamPosition, module, Switch1616::MIX_13_11_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix1312ParamPosition, module, Switch1616::MIX_13_12_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix1313ParamPosition, module, Switch1616::MIX_13_13_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix1314ParamPosition, module, Switch1616::MIX_13_14_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix1315ParamPosition, module, Switch1616::MIX_13_15_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix1316ParamPosition, module, Switch1616::MIX_13_16_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix141ParamPosition, module, Switch1616::MIX_14_1_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix142ParamPosition, module, Switch1616::MIX_14_2_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix143ParamPosition, module, Switch1616::MIX_14_3_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix144ParamPosition, module, Switch1616::MIX_14_4_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix145ParamPosition, module, Switch1616::MIX_14_5_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix146ParamPosition, module, Switch1616::MIX_14_6_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix147ParamPosition, module, Switch1616::MIX_14_7_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix148ParamPosition, module, Switch1616::MIX_14_8_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix149ParamPosition, module, Switch1616::MIX_14_9_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix1410ParamPosition, module, Switch1616::MIX_14_10_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix1411ParamPosition, module, Switch1616::MIX_14_11_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix1412ParamPosition, module, Switch1616::MIX_14_12_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix1413ParamPosition, module, Switch1616::MIX_14_13_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix1414ParamPosition, module, Switch1616::MIX_14_14_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix1415ParamPosition, module, Switch1616::MIX_14_15_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix1416ParamPosition, module, Switch1616::MIX_14_16_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix151ParamPosition, module, Switch1616::MIX_15_1_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix152ParamPosition, module, Switch1616::MIX_15_2_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix153ParamPosition, module, Switch1616::MIX_15_3_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix154ParamPosition, module, Switch1616::MIX_15_4_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix155ParamPosition, module, Switch1616::MIX_15_5_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix156ParamPosition, module, Switch1616::MIX_15_6_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix157ParamPosition, module, Switch1616::MIX_15_7_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix158ParamPosition, module, Switch1616::MIX_15_8_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix159ParamPosition, module, Switch1616::MIX_15_9_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix1510ParamPosition, module, Switch1616::MIX_15_10_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix1511ParamPosition, module, Switch1616::MIX_15_11_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix1512ParamPosition, module, Switch1616::MIX_15_12_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix1513ParamPosition, module, Switch1616::MIX_15_13_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix1514ParamPosition, module, Switch1616::MIX_15_14_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix1515ParamPosition, module, Switch1616::MIX_15_15_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix1516ParamPosition, module, Switch1616::MIX_15_16_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix161ParamPosition, module, Switch1616::MIX_16_1_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix162ParamPosition, module, Switch1616::MIX_16_2_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix163ParamPosition, module, Switch1616::MIX_16_3_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix164ParamPosition, module, Switch1616::MIX_16_4_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix165ParamPosition, module, Switch1616::MIX_16_5_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix166ParamPosition, module, Switch1616::MIX_16_6_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix167ParamPosition, module, Switch1616::MIX_16_7_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix168ParamPosition, module, Switch1616::MIX_16_8_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix169ParamPosition, module, Switch1616::MIX_16_9_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix1610ParamPosition, module, Switch1616::MIX_16_10_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix1611ParamPosition, module, Switch1616::MIX_16_11_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix1612ParamPosition, module, Switch1616::MIX_16_12_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix1613ParamPosition, module, Switch1616::MIX_16_13_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix1614ParamPosition, module, Switch1616::MIX_16_14_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix1615ParamPosition, module, Switch1616::MIX_16_15_PARAM));
- addParam(createParam<InvertingIndicatorButton9>(mix1616ParamPosition, module, Switch1616::MIX_16_16_PARAM));
+ createSwitch<InvertingIndicatorButton9>(mix11ParamPosition, module, Switch1616::MIX_1_1_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix12ParamPosition, module, Switch1616::MIX_1_2_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix13ParamPosition, module, Switch1616::MIX_1_3_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix14ParamPosition, module, Switch1616::MIX_1_4_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix15ParamPosition, module, Switch1616::MIX_1_5_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix16ParamPosition, module, Switch1616::MIX_1_6_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix17ParamPosition, module, Switch1616::MIX_1_7_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix18ParamPosition, module, Switch1616::MIX_1_8_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix19ParamPosition, module, Switch1616::MIX_1_9_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix110ParamPosition, module, Switch1616::MIX_1_10_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix1_11ParamPosition, module, Switch1616::MIX_1_11_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix1_12ParamPosition, module, Switch1616::MIX_1_12_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix1_13ParamPosition, module, Switch1616::MIX_1_13_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix1_14ParamPosition, module, Switch1616::MIX_1_14_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix1_15ParamPosition, module, Switch1616::MIX_1_15_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix1_16ParamPosition, module, Switch1616::MIX_1_16_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix21ParamPosition, module, Switch1616::MIX_2_1_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix22ParamPosition, module, Switch1616::MIX_2_2_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix23ParamPosition, module, Switch1616::MIX_2_3_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix24ParamPosition, module, Switch1616::MIX_2_4_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix25ParamPosition, module, Switch1616::MIX_2_5_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix26ParamPosition, module, Switch1616::MIX_2_6_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix27ParamPosition, module, Switch1616::MIX_2_7_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix28ParamPosition, module, Switch1616::MIX_2_8_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix29ParamPosition, module, Switch1616::MIX_2_9_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix210ParamPosition, module, Switch1616::MIX_2_10_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix211ParamPosition, module, Switch1616::MIX_2_11_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix212ParamPosition, module, Switch1616::MIX_2_12_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix213ParamPosition, module, Switch1616::MIX_2_13_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix214ParamPosition, module, Switch1616::MIX_2_14_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix215ParamPosition, module, Switch1616::MIX_2_15_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix216ParamPosition, module, Switch1616::MIX_2_16_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix31ParamPosition, module, Switch1616::MIX_3_1_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix32ParamPosition, module, Switch1616::MIX_3_2_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix33ParamPosition, module, Switch1616::MIX_3_3_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix34ParamPosition, module, Switch1616::MIX_3_4_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix35ParamPosition, module, Switch1616::MIX_3_5_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix36ParamPosition, module, Switch1616::MIX_3_6_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix37ParamPosition, module, Switch1616::MIX_3_7_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix38ParamPosition, module, Switch1616::MIX_3_8_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix39ParamPosition, module, Switch1616::MIX_3_9_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix310ParamPosition, module, Switch1616::MIX_3_10_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix311ParamPosition, module, Switch1616::MIX_3_11_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix312ParamPosition, module, Switch1616::MIX_3_12_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix313ParamPosition, module, Switch1616::MIX_3_13_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix314ParamPosition, module, Switch1616::MIX_3_14_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix315ParamPosition, module, Switch1616::MIX_3_15_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix316ParamPosition, module, Switch1616::MIX_3_16_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix41ParamPosition, module, Switch1616::MIX_4_1_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix42ParamPosition, module, Switch1616::MIX_4_2_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix43ParamPosition, module, Switch1616::MIX_4_3_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix44ParamPosition, module, Switch1616::MIX_4_4_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix45ParamPosition, module, Switch1616::MIX_4_5_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix46ParamPosition, module, Switch1616::MIX_4_6_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix47ParamPosition, module, Switch1616::MIX_4_7_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix48ParamPosition, module, Switch1616::MIX_4_8_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix49ParamPosition, module, Switch1616::MIX_4_9_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix410ParamPosition, module, Switch1616::MIX_4_10_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix411ParamPosition, module, Switch1616::MIX_4_11_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix412ParamPosition, module, Switch1616::MIX_4_12_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix413ParamPosition, module, Switch1616::MIX_4_13_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix414ParamPosition, module, Switch1616::MIX_4_14_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix415ParamPosition, module, Switch1616::MIX_4_15_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix416ParamPosition, module, Switch1616::MIX_4_16_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix51ParamPosition, module, Switch1616::MIX_5_1_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix52ParamPosition, module, Switch1616::MIX_5_2_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix53ParamPosition, module, Switch1616::MIX_5_3_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix54ParamPosition, module, Switch1616::MIX_5_4_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix55ParamPosition, module, Switch1616::MIX_5_5_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix56ParamPosition, module, Switch1616::MIX_5_6_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix57ParamPosition, module, Switch1616::MIX_5_7_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix58ParamPosition, module, Switch1616::MIX_5_8_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix59ParamPosition, module, Switch1616::MIX_5_9_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix510ParamPosition, module, Switch1616::MIX_5_10_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix511ParamPosition, module, Switch1616::MIX_5_11_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix512ParamPosition, module, Switch1616::MIX_5_12_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix513ParamPosition, module, Switch1616::MIX_5_13_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix514ParamPosition, module, Switch1616::MIX_5_14_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix515ParamPosition, module, Switch1616::MIX_5_15_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix516ParamPosition, module, Switch1616::MIX_5_16_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix61ParamPosition, module, Switch1616::MIX_6_1_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix62ParamPosition, module, Switch1616::MIX_6_2_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix63ParamPosition, module, Switch1616::MIX_6_3_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix64ParamPosition, module, Switch1616::MIX_6_4_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix65ParamPosition, module, Switch1616::MIX_6_5_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix66ParamPosition, module, Switch1616::MIX_6_6_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix67ParamPosition, module, Switch1616::MIX_6_7_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix68ParamPosition, module, Switch1616::MIX_6_8_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix69ParamPosition, module, Switch1616::MIX_6_9_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix610ParamPosition, module, Switch1616::MIX_6_10_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix611ParamPosition, module, Switch1616::MIX_6_11_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix612ParamPosition, module, Switch1616::MIX_6_12_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix613ParamPosition, module, Switch1616::MIX_6_13_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix614ParamPosition, module, Switch1616::MIX_6_14_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix615ParamPosition, module, Switch1616::MIX_6_15_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix616ParamPosition, module, Switch1616::MIX_6_16_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix71ParamPosition, module, Switch1616::MIX_7_1_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix72ParamPosition, module, Switch1616::MIX_7_2_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix73ParamPosition, module, Switch1616::MIX_7_3_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix74ParamPosition, module, Switch1616::MIX_7_4_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix75ParamPosition, module, Switch1616::MIX_7_5_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix76ParamPosition, module, Switch1616::MIX_7_6_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix77ParamPosition, module, Switch1616::MIX_7_7_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix78ParamPosition, module, Switch1616::MIX_7_8_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix79ParamPosition, module, Switch1616::MIX_7_9_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix710ParamPosition, module, Switch1616::MIX_7_10_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix711ParamPosition, module, Switch1616::MIX_7_11_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix712ParamPosition, module, Switch1616::MIX_7_12_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix713ParamPosition, module, Switch1616::MIX_7_13_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix714ParamPosition, module, Switch1616::MIX_7_14_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix715ParamPosition, module, Switch1616::MIX_7_15_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix716ParamPosition, module, Switch1616::MIX_7_16_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix81ParamPosition, module, Switch1616::MIX_8_1_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix82ParamPosition, module, Switch1616::MIX_8_2_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix83ParamPosition, module, Switch1616::MIX_8_3_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix84ParamPosition, module, Switch1616::MIX_8_4_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix85ParamPosition, module, Switch1616::MIX_8_5_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix86ParamPosition, module, Switch1616::MIX_8_6_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix87ParamPosition, module, Switch1616::MIX_8_7_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix88ParamPosition, module, Switch1616::MIX_8_8_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix89ParamPosition, module, Switch1616::MIX_8_9_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix810ParamPosition, module, Switch1616::MIX_8_10_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix811ParamPosition, module, Switch1616::MIX_8_11_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix812ParamPosition, module, Switch1616::MIX_8_12_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix813ParamPosition, module, Switch1616::MIX_8_13_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix814ParamPosition, module, Switch1616::MIX_8_14_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix815ParamPosition, module, Switch1616::MIX_8_15_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix816ParamPosition, module, Switch1616::MIX_8_16_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix91ParamPosition, module, Switch1616::MIX_9_1_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix92ParamPosition, module, Switch1616::MIX_9_2_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix93ParamPosition, module, Switch1616::MIX_9_3_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix94ParamPosition, module, Switch1616::MIX_9_4_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix95ParamPosition, module, Switch1616::MIX_9_5_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix96ParamPosition, module, Switch1616::MIX_9_6_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix97ParamPosition, module, Switch1616::MIX_9_7_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix98ParamPosition, module, Switch1616::MIX_9_8_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix99ParamPosition, module, Switch1616::MIX_9_9_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix910ParamPosition, module, Switch1616::MIX_9_10_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix911ParamPosition, module, Switch1616::MIX_9_11_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix912ParamPosition, module, Switch1616::MIX_9_12_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix913ParamPosition, module, Switch1616::MIX_9_13_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix914ParamPosition, module, Switch1616::MIX_9_14_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix915ParamPosition, module, Switch1616::MIX_9_15_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix916ParamPosition, module, Switch1616::MIX_9_16_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix101ParamPosition, module, Switch1616::MIX_10_1_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix102ParamPosition, module, Switch1616::MIX_10_2_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix103ParamPosition, module, Switch1616::MIX_10_3_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix104ParamPosition, module, Switch1616::MIX_10_4_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix105ParamPosition, module, Switch1616::MIX_10_5_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix106ParamPosition, module, Switch1616::MIX_10_6_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix107ParamPosition, module, Switch1616::MIX_10_7_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix108ParamPosition, module, Switch1616::MIX_10_8_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix109ParamPosition, module, Switch1616::MIX_10_9_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix1010ParamPosition, module, Switch1616::MIX_10_10_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix1011ParamPosition, module, Switch1616::MIX_10_11_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix1012ParamPosition, module, Switch1616::MIX_10_12_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix1013ParamPosition, module, Switch1616::MIX_10_13_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix1014ParamPosition, module, Switch1616::MIX_10_14_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix1015ParamPosition, module, Switch1616::MIX_10_15_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix1016ParamPosition, module, Switch1616::MIX_10_16_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix111ParamPosition, module, Switch1616::MIX_11_1_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix112ParamPosition, module, Switch1616::MIX_11_2_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix113ParamPosition, module, Switch1616::MIX_11_3_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix114ParamPosition, module, Switch1616::MIX_11_4_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix115ParamPosition, module, Switch1616::MIX_11_5_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix116ParamPosition, module, Switch1616::MIX_11_6_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix117ParamPosition, module, Switch1616::MIX_11_7_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix118ParamPosition, module, Switch1616::MIX_11_8_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix119ParamPosition, module, Switch1616::MIX_11_9_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix1110ParamPosition, module, Switch1616::MIX_11_10_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix1111ParamPosition, module, Switch1616::MIX_11_11_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix1112ParamPosition, module, Switch1616::MIX_11_12_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix1113ParamPosition, module, Switch1616::MIX_11_13_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix1114ParamPosition, module, Switch1616::MIX_11_14_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix1115ParamPosition, module, Switch1616::MIX_11_15_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix1116ParamPosition, module, Switch1616::MIX_11_16_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix121ParamPosition, module, Switch1616::MIX_12_1_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix122ParamPosition, module, Switch1616::MIX_12_2_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix123ParamPosition, module, Switch1616::MIX_12_3_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix124ParamPosition, module, Switch1616::MIX_12_4_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix125ParamPosition, module, Switch1616::MIX_12_5_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix126ParamPosition, module, Switch1616::MIX_12_6_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix127ParamPosition, module, Switch1616::MIX_12_7_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix128ParamPosition, module, Switch1616::MIX_12_8_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix129ParamPosition, module, Switch1616::MIX_12_9_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix1210ParamPosition, module, Switch1616::MIX_12_10_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix1211ParamPosition, module, Switch1616::MIX_12_11_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix1212ParamPosition, module, Switch1616::MIX_12_12_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix1213ParamPosition, module, Switch1616::MIX_12_13_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix1214ParamPosition, module, Switch1616::MIX_12_14_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix1215ParamPosition, module, Switch1616::MIX_12_15_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix1216ParamPosition, module, Switch1616::MIX_12_16_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix131ParamPosition, module, Switch1616::MIX_13_1_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix132ParamPosition, module, Switch1616::MIX_13_2_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix133ParamPosition, module, Switch1616::MIX_13_3_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix134ParamPosition, module, Switch1616::MIX_13_4_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix135ParamPosition, module, Switch1616::MIX_13_5_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix136ParamPosition, module, Switch1616::MIX_13_6_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix137ParamPosition, module, Switch1616::MIX_13_7_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix138ParamPosition, module, Switch1616::MIX_13_8_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix139ParamPosition, module, Switch1616::MIX_13_9_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix1310ParamPosition, module, Switch1616::MIX_13_10_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix1311ParamPosition, module, Switch1616::MIX_13_11_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix1312ParamPosition, module, Switch1616::MIX_13_12_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix1313ParamPosition, module, Switch1616::MIX_13_13_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix1314ParamPosition, module, Switch1616::MIX_13_14_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix1315ParamPosition, module, Switch1616::MIX_13_15_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix1316ParamPosition, module, Switch1616::MIX_13_16_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix141ParamPosition, module, Switch1616::MIX_14_1_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix142ParamPosition, module, Switch1616::MIX_14_2_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix143ParamPosition, module, Switch1616::MIX_14_3_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix144ParamPosition, module, Switch1616::MIX_14_4_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix145ParamPosition, module, Switch1616::MIX_14_5_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix146ParamPosition, module, Switch1616::MIX_14_6_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix147ParamPosition, module, Switch1616::MIX_14_7_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix148ParamPosition, module, Switch1616::MIX_14_8_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix149ParamPosition, module, Switch1616::MIX_14_9_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix1410ParamPosition, module, Switch1616::MIX_14_10_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix1411ParamPosition, module, Switch1616::MIX_14_11_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix1412ParamPosition, module, Switch1616::MIX_14_12_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix1413ParamPosition, module, Switch1616::MIX_14_13_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix1414ParamPosition, module, Switch1616::MIX_14_14_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix1415ParamPosition, module, Switch1616::MIX_14_15_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix1416ParamPosition, module, Switch1616::MIX_14_16_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix151ParamPosition, module, Switch1616::MIX_15_1_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix152ParamPosition, module, Switch1616::MIX_15_2_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix153ParamPosition, module, Switch1616::MIX_15_3_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix154ParamPosition, module, Switch1616::MIX_15_4_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix155ParamPosition, module, Switch1616::MIX_15_5_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix156ParamPosition, module, Switch1616::MIX_15_6_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix157ParamPosition, module, Switch1616::MIX_15_7_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix158ParamPosition, module, Switch1616::MIX_15_8_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix159ParamPosition, module, Switch1616::MIX_15_9_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix1510ParamPosition, module, Switch1616::MIX_15_10_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix1511ParamPosition, module, Switch1616::MIX_15_11_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix1512ParamPosition, module, Switch1616::MIX_15_12_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix1513ParamPosition, module, Switch1616::MIX_15_13_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix1514ParamPosition, module, Switch1616::MIX_15_14_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix1515ParamPosition, module, Switch1616::MIX_15_15_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix1516ParamPosition, module, Switch1616::MIX_15_16_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix161ParamPosition, module, Switch1616::MIX_16_1_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix162ParamPosition, module, Switch1616::MIX_16_2_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix163ParamPosition, module, Switch1616::MIX_16_3_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix164ParamPosition, module, Switch1616::MIX_16_4_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix165ParamPosition, module, Switch1616::MIX_16_5_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix166ParamPosition, module, Switch1616::MIX_16_6_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix167ParamPosition, module, Switch1616::MIX_16_7_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix168ParamPosition, module, Switch1616::MIX_16_8_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix169ParamPosition, module, Switch1616::MIX_16_9_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix1610ParamPosition, module, Switch1616::MIX_16_10_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix1611ParamPosition, module, Switch1616::MIX_16_11_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix1612ParamPosition, module, Switch1616::MIX_16_12_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix1613ParamPosition, module, Switch1616::MIX_16_13_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix1614ParamPosition, module, Switch1616::MIX_16_14_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix1615ParamPosition, module, Switch1616::MIX_16_15_PARAM);
+ createSwitch<InvertingIndicatorButton9>(mix1616ParamPosition, module, Switch1616::MIX_16_16_PARAM);
addInput(createInput<Port24>(in2InputPosition, module, Switch1616::IN2_INPUT));
addInput(createInput<Port24>(in4InputPosition, module, Switch1616::IN4_INPUT));
diff --git a/src/Switch1616.hpp b/src/Switch1616.hpp
@@ -7,7 +7,7 @@ extern Model* modelSwitch1616;
namespace bogaudio {
-struct Switch1616 : MatrixModule {
+struct Switch1616 : SwitchMatrixModule {
enum ParamsIds {
MIX_1_1_PARAM,
MIX_1_2_PARAM,
@@ -308,7 +308,7 @@ struct Switch1616 : MatrixModule {
NUM_OUTPUTS
};
- Switch1616() : MatrixModule(16, MIX_1_1_PARAM, IN1_INPUT, OUT1_OUTPUT) {
+ Switch1616() : SwitchMatrixModule(16, MIX_1_1_PARAM, IN1_INPUT, OUT1_OUTPUT) {
config(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS);
configParam(MIX_1_1_PARAM, -1.0f, 1.0f, 0.0f, "Mix 1A", "%", 0.0f, 100.0f);
diff --git a/src/Switch44.cpp b/src/Switch44.cpp
@@ -1,7 +1,7 @@
#include "Switch44.hpp"
-struct Switch44Widget : MatrixBaseModuleWidget {
+struct Switch44Widget : SwitchMatrixModuleWidget {
static constexpr int hp = 10;
Switch44Widget(Switch44* module) {
@@ -49,22 +49,22 @@ struct Switch44Widget : MatrixBaseModuleWidget {
auto out4OutputPosition = Vec(111.0, 318.0);
// end generated by svg_widgets.rb
- addParam(createParam<InvertingIndicatorButton18>(mix11ParamPosition, module, Switch44::MIX11_PARAM));
- addParam(createParam<InvertingIndicatorButton18>(mix21ParamPosition, module, Switch44::MIX21_PARAM));
- addParam(createParam<InvertingIndicatorButton18>(mix31ParamPosition, module, Switch44::MIX31_PARAM));
- addParam(createParam<InvertingIndicatorButton18>(mix41ParamPosition, module, Switch44::MIX41_PARAM));
- addParam(createParam<InvertingIndicatorButton18>(mix12ParamPosition, module, Switch44::MIX12_PARAM));
- addParam(createParam<InvertingIndicatorButton18>(mix22ParamPosition, module, Switch44::MIX22_PARAM));
- addParam(createParam<InvertingIndicatorButton18>(mix32ParamPosition, module, Switch44::MIX32_PARAM));
- addParam(createParam<InvertingIndicatorButton18>(mix42ParamPosition, module, Switch44::MIX42_PARAM));
- addParam(createParam<InvertingIndicatorButton18>(mix13ParamPosition, module, Switch44::MIX13_PARAM));
- addParam(createParam<InvertingIndicatorButton18>(mix23ParamPosition, module, Switch44::MIX23_PARAM));
- addParam(createParam<InvertingIndicatorButton18>(mix33ParamPosition, module, Switch44::MIX33_PARAM));
- addParam(createParam<InvertingIndicatorButton18>(mix43ParamPosition, module, Switch44::MIX43_PARAM));
- addParam(createParam<InvertingIndicatorButton18>(mix14ParamPosition, module, Switch44::MIX14_PARAM));
- addParam(createParam<InvertingIndicatorButton18>(mix24ParamPosition, module, Switch44::MIX24_PARAM));
- addParam(createParam<InvertingIndicatorButton18>(mix34ParamPosition, module, Switch44::MIX34_PARAM));
- addParam(createParam<InvertingIndicatorButton18>(mix44ParamPosition, module, Switch44::MIX44_PARAM));
+ createSwitch<InvertingIndicatorButton18>(mix11ParamPosition, module, Switch44::MIX11_PARAM);
+ createSwitch<InvertingIndicatorButton18>(mix21ParamPosition, module, Switch44::MIX21_PARAM);
+ createSwitch<InvertingIndicatorButton18>(mix31ParamPosition, module, Switch44::MIX31_PARAM);
+ createSwitch<InvertingIndicatorButton18>(mix41ParamPosition, module, Switch44::MIX41_PARAM);
+ createSwitch<InvertingIndicatorButton18>(mix12ParamPosition, module, Switch44::MIX12_PARAM);
+ createSwitch<InvertingIndicatorButton18>(mix22ParamPosition, module, Switch44::MIX22_PARAM);
+ createSwitch<InvertingIndicatorButton18>(mix32ParamPosition, module, Switch44::MIX32_PARAM);
+ createSwitch<InvertingIndicatorButton18>(mix42ParamPosition, module, Switch44::MIX42_PARAM);
+ createSwitch<InvertingIndicatorButton18>(mix13ParamPosition, module, Switch44::MIX13_PARAM);
+ createSwitch<InvertingIndicatorButton18>(mix23ParamPosition, module, Switch44::MIX23_PARAM);
+ createSwitch<InvertingIndicatorButton18>(mix33ParamPosition, module, Switch44::MIX33_PARAM);
+ createSwitch<InvertingIndicatorButton18>(mix43ParamPosition, module, Switch44::MIX43_PARAM);
+ createSwitch<InvertingIndicatorButton18>(mix14ParamPosition, module, Switch44::MIX14_PARAM);
+ createSwitch<InvertingIndicatorButton18>(mix24ParamPosition, module, Switch44::MIX24_PARAM);
+ createSwitch<InvertingIndicatorButton18>(mix34ParamPosition, module, Switch44::MIX34_PARAM);
+ createSwitch<InvertingIndicatorButton18>(mix44ParamPosition, module, Switch44::MIX44_PARAM);
addInput(createInput<Port24>(in1InputPosition, module, Switch44::IN1_INPUT));
addInput(createInput<Port24>(in2InputPosition, module, Switch44::IN2_INPUT));
diff --git a/src/Switch44.hpp b/src/Switch44.hpp
@@ -7,7 +7,7 @@ extern Model* modelSwitch44;
namespace bogaudio {
-struct Switch44 : MatrixModule {
+struct Switch44 : SwitchMatrixModule {
enum ParamsIds {
MIX11_PARAM,
MIX21_PARAM,
@@ -44,7 +44,7 @@ struct Switch44 : MatrixModule {
NUM_OUTPUTS
};
- Switch44() : MatrixModule(4, MIX11_PARAM, IN1_INPUT, OUT1_OUTPUT) {
+ Switch44() : SwitchMatrixModule(4, MIX11_PARAM, IN1_INPUT, OUT1_OUTPUT) {
config(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS);
configParam(MIX11_PARAM, -1.0f, 1.0f, 0.0f, "Mix 1A", "%", 0.0f, 100.0f);
configParam(MIX21_PARAM, -1.0f, 1.0f, 0.0f, "Mix 2A", "%", 0.0f, 100.0f);
diff --git a/src/Switch88.cpp b/src/Switch88.cpp
@@ -1,7 +1,7 @@
#include "Switch88.hpp"
-struct Switch88Widget : MatrixBaseModuleWidget {
+struct Switch88Widget : SwitchMatrixModuleWidget {
static constexpr int hp = 22;
Switch88Widget(Switch88* module) {
@@ -105,70 +105,70 @@ struct Switch88Widget : MatrixBaseModuleWidget {
auto out8OutputPosition = Vec(296.5, 328.0);
// end generated by svg_widgets.rb
- addParam(createParam<InvertingIndicatorButton18>(mix11ParamPosition, module, Switch88::MIX11_PARAM));
- addParam(createParam<InvertingIndicatorButton18>(mix21ParamPosition, module, Switch88::MIX21_PARAM));
- addParam(createParam<InvertingIndicatorButton18>(mix31ParamPosition, module, Switch88::MIX31_PARAM));
- addParam(createParam<InvertingIndicatorButton18>(mix41ParamPosition, module, Switch88::MIX41_PARAM));
- addParam(createParam<InvertingIndicatorButton18>(mix51ParamPosition, module, Switch88::MIX51_PARAM));
- addParam(createParam<InvertingIndicatorButton18>(mix61ParamPosition, module, Switch88::MIX61_PARAM));
- addParam(createParam<InvertingIndicatorButton18>(mix71ParamPosition, module, Switch88::MIX71_PARAM));
- addParam(createParam<InvertingIndicatorButton18>(mix81ParamPosition, module, Switch88::MIX81_PARAM));
- addParam(createParam<InvertingIndicatorButton18>(mix12ParamPosition, module, Switch88::MIX12_PARAM));
- addParam(createParam<InvertingIndicatorButton18>(mix22ParamPosition, module, Switch88::MIX22_PARAM));
- addParam(createParam<InvertingIndicatorButton18>(mix32ParamPosition, module, Switch88::MIX32_PARAM));
- addParam(createParam<InvertingIndicatorButton18>(mix42ParamPosition, module, Switch88::MIX42_PARAM));
- addParam(createParam<InvertingIndicatorButton18>(mix52ParamPosition, module, Switch88::MIX52_PARAM));
- addParam(createParam<InvertingIndicatorButton18>(mix62ParamPosition, module, Switch88::MIX62_PARAM));
- addParam(createParam<InvertingIndicatorButton18>(mix72ParamPosition, module, Switch88::MIX72_PARAM));
- addParam(createParam<InvertingIndicatorButton18>(mix82ParamPosition, module, Switch88::MIX82_PARAM));
- addParam(createParam<InvertingIndicatorButton18>(mix13ParamPosition, module, Switch88::MIX13_PARAM));
- addParam(createParam<InvertingIndicatorButton18>(mix23ParamPosition, module, Switch88::MIX23_PARAM));
- addParam(createParam<InvertingIndicatorButton18>(mix33ParamPosition, module, Switch88::MIX33_PARAM));
- addParam(createParam<InvertingIndicatorButton18>(mix43ParamPosition, module, Switch88::MIX43_PARAM));
- addParam(createParam<InvertingIndicatorButton18>(mix53ParamPosition, module, Switch88::MIX53_PARAM));
- addParam(createParam<InvertingIndicatorButton18>(mix63ParamPosition, module, Switch88::MIX63_PARAM));
- addParam(createParam<InvertingIndicatorButton18>(mix73ParamPosition, module, Switch88::MIX73_PARAM));
- addParam(createParam<InvertingIndicatorButton18>(mix83ParamPosition, module, Switch88::MIX83_PARAM));
- addParam(createParam<InvertingIndicatorButton18>(mix14ParamPosition, module, Switch88::MIX14_PARAM));
- addParam(createParam<InvertingIndicatorButton18>(mix24ParamPosition, module, Switch88::MIX24_PARAM));
- addParam(createParam<InvertingIndicatorButton18>(mix34ParamPosition, module, Switch88::MIX34_PARAM));
- addParam(createParam<InvertingIndicatorButton18>(mix44ParamPosition, module, Switch88::MIX44_PARAM));
- addParam(createParam<InvertingIndicatorButton18>(mix54ParamPosition, module, Switch88::MIX54_PARAM));
- addParam(createParam<InvertingIndicatorButton18>(mix64ParamPosition, module, Switch88::MIX64_PARAM));
- addParam(createParam<InvertingIndicatorButton18>(mix74ParamPosition, module, Switch88::MIX74_PARAM));
- addParam(createParam<InvertingIndicatorButton18>(mix84ParamPosition, module, Switch88::MIX84_PARAM));
- addParam(createParam<InvertingIndicatorButton18>(mix15ParamPosition, module, Switch88::MIX15_PARAM));
- addParam(createParam<InvertingIndicatorButton18>(mix25ParamPosition, module, Switch88::MIX25_PARAM));
- addParam(createParam<InvertingIndicatorButton18>(mix35ParamPosition, module, Switch88::MIX35_PARAM));
- addParam(createParam<InvertingIndicatorButton18>(mix45ParamPosition, module, Switch88::MIX45_PARAM));
- addParam(createParam<InvertingIndicatorButton18>(mix55ParamPosition, module, Switch88::MIX55_PARAM));
- addParam(createParam<InvertingIndicatorButton18>(mix65ParamPosition, module, Switch88::MIX65_PARAM));
- addParam(createParam<InvertingIndicatorButton18>(mix75ParamPosition, module, Switch88::MIX75_PARAM));
- addParam(createParam<InvertingIndicatorButton18>(mix85ParamPosition, module, Switch88::MIX85_PARAM));
- addParam(createParam<InvertingIndicatorButton18>(mix16ParamPosition, module, Switch88::MIX16_PARAM));
- addParam(createParam<InvertingIndicatorButton18>(mix26ParamPosition, module, Switch88::MIX26_PARAM));
- addParam(createParam<InvertingIndicatorButton18>(mix36ParamPosition, module, Switch88::MIX36_PARAM));
- addParam(createParam<InvertingIndicatorButton18>(mix46ParamPosition, module, Switch88::MIX46_PARAM));
- addParam(createParam<InvertingIndicatorButton18>(mix56ParamPosition, module, Switch88::MIX56_PARAM));
- addParam(createParam<InvertingIndicatorButton18>(mix66ParamPosition, module, Switch88::MIX66_PARAM));
- addParam(createParam<InvertingIndicatorButton18>(mix76ParamPosition, module, Switch88::MIX76_PARAM));
- addParam(createParam<InvertingIndicatorButton18>(mix86ParamPosition, module, Switch88::MIX86_PARAM));
- addParam(createParam<InvertingIndicatorButton18>(mix17ParamPosition, module, Switch88::MIX17_PARAM));
- addParam(createParam<InvertingIndicatorButton18>(mix27ParamPosition, module, Switch88::MIX27_PARAM));
- addParam(createParam<InvertingIndicatorButton18>(mix37ParamPosition, module, Switch88::MIX37_PARAM));
- addParam(createParam<InvertingIndicatorButton18>(mix47ParamPosition, module, Switch88::MIX47_PARAM));
- addParam(createParam<InvertingIndicatorButton18>(mix57ParamPosition, module, Switch88::MIX57_PARAM));
- addParam(createParam<InvertingIndicatorButton18>(mix67ParamPosition, module, Switch88::MIX67_PARAM));
- addParam(createParam<InvertingIndicatorButton18>(mix77ParamPosition, module, Switch88::MIX77_PARAM));
- addParam(createParam<InvertingIndicatorButton18>(mix87ParamPosition, module, Switch88::MIX87_PARAM));
- addParam(createParam<InvertingIndicatorButton18>(mix18ParamPosition, module, Switch88::MIX18_PARAM));
- addParam(createParam<InvertingIndicatorButton18>(mix28ParamPosition, module, Switch88::MIX28_PARAM));
- addParam(createParam<InvertingIndicatorButton18>(mix38ParamPosition, module, Switch88::MIX38_PARAM));
- addParam(createParam<InvertingIndicatorButton18>(mix48ParamPosition, module, Switch88::MIX48_PARAM));
- addParam(createParam<InvertingIndicatorButton18>(mix58ParamPosition, module, Switch88::MIX58_PARAM));
- addParam(createParam<InvertingIndicatorButton18>(mix68ParamPosition, module, Switch88::MIX68_PARAM));
- addParam(createParam<InvertingIndicatorButton18>(mix78ParamPosition, module, Switch88::MIX78_PARAM));
- addParam(createParam<InvertingIndicatorButton18>(mix88ParamPosition, module, Switch88::MIX88_PARAM));
+ createSwitch<InvertingIndicatorButton18>(mix11ParamPosition, module, Switch88::MIX11_PARAM);
+ createSwitch<InvertingIndicatorButton18>(mix21ParamPosition, module, Switch88::MIX21_PARAM);
+ createSwitch<InvertingIndicatorButton18>(mix31ParamPosition, module, Switch88::MIX31_PARAM);
+ createSwitch<InvertingIndicatorButton18>(mix41ParamPosition, module, Switch88::MIX41_PARAM);
+ createSwitch<InvertingIndicatorButton18>(mix51ParamPosition, module, Switch88::MIX51_PARAM);
+ createSwitch<InvertingIndicatorButton18>(mix61ParamPosition, module, Switch88::MIX61_PARAM);
+ createSwitch<InvertingIndicatorButton18>(mix71ParamPosition, module, Switch88::MIX71_PARAM);
+ createSwitch<InvertingIndicatorButton18>(mix81ParamPosition, module, Switch88::MIX81_PARAM);
+ createSwitch<InvertingIndicatorButton18>(mix12ParamPosition, module, Switch88::MIX12_PARAM);
+ createSwitch<InvertingIndicatorButton18>(mix22ParamPosition, module, Switch88::MIX22_PARAM);
+ createSwitch<InvertingIndicatorButton18>(mix32ParamPosition, module, Switch88::MIX32_PARAM);
+ createSwitch<InvertingIndicatorButton18>(mix42ParamPosition, module, Switch88::MIX42_PARAM);
+ createSwitch<InvertingIndicatorButton18>(mix52ParamPosition, module, Switch88::MIX52_PARAM);
+ createSwitch<InvertingIndicatorButton18>(mix62ParamPosition, module, Switch88::MIX62_PARAM);
+ createSwitch<InvertingIndicatorButton18>(mix72ParamPosition, module, Switch88::MIX72_PARAM);
+ createSwitch<InvertingIndicatorButton18>(mix82ParamPosition, module, Switch88::MIX82_PARAM);
+ createSwitch<InvertingIndicatorButton18>(mix13ParamPosition, module, Switch88::MIX13_PARAM);
+ createSwitch<InvertingIndicatorButton18>(mix23ParamPosition, module, Switch88::MIX23_PARAM);
+ createSwitch<InvertingIndicatorButton18>(mix33ParamPosition, module, Switch88::MIX33_PARAM);
+ createSwitch<InvertingIndicatorButton18>(mix43ParamPosition, module, Switch88::MIX43_PARAM);
+ createSwitch<InvertingIndicatorButton18>(mix53ParamPosition, module, Switch88::MIX53_PARAM);
+ createSwitch<InvertingIndicatorButton18>(mix63ParamPosition, module, Switch88::MIX63_PARAM);
+ createSwitch<InvertingIndicatorButton18>(mix73ParamPosition, module, Switch88::MIX73_PARAM);
+ createSwitch<InvertingIndicatorButton18>(mix83ParamPosition, module, Switch88::MIX83_PARAM);
+ createSwitch<InvertingIndicatorButton18>(mix14ParamPosition, module, Switch88::MIX14_PARAM);
+ createSwitch<InvertingIndicatorButton18>(mix24ParamPosition, module, Switch88::MIX24_PARAM);
+ createSwitch<InvertingIndicatorButton18>(mix34ParamPosition, module, Switch88::MIX34_PARAM);
+ createSwitch<InvertingIndicatorButton18>(mix44ParamPosition, module, Switch88::MIX44_PARAM);
+ createSwitch<InvertingIndicatorButton18>(mix54ParamPosition, module, Switch88::MIX54_PARAM);
+ createSwitch<InvertingIndicatorButton18>(mix64ParamPosition, module, Switch88::MIX64_PARAM);
+ createSwitch<InvertingIndicatorButton18>(mix74ParamPosition, module, Switch88::MIX74_PARAM);
+ createSwitch<InvertingIndicatorButton18>(mix84ParamPosition, module, Switch88::MIX84_PARAM);
+ createSwitch<InvertingIndicatorButton18>(mix15ParamPosition, module, Switch88::MIX15_PARAM);
+ createSwitch<InvertingIndicatorButton18>(mix25ParamPosition, module, Switch88::MIX25_PARAM);
+ createSwitch<InvertingIndicatorButton18>(mix35ParamPosition, module, Switch88::MIX35_PARAM);
+ createSwitch<InvertingIndicatorButton18>(mix45ParamPosition, module, Switch88::MIX45_PARAM);
+ createSwitch<InvertingIndicatorButton18>(mix55ParamPosition, module, Switch88::MIX55_PARAM);
+ createSwitch<InvertingIndicatorButton18>(mix65ParamPosition, module, Switch88::MIX65_PARAM);
+ createSwitch<InvertingIndicatorButton18>(mix75ParamPosition, module, Switch88::MIX75_PARAM);
+ createSwitch<InvertingIndicatorButton18>(mix85ParamPosition, module, Switch88::MIX85_PARAM);
+ createSwitch<InvertingIndicatorButton18>(mix16ParamPosition, module, Switch88::MIX16_PARAM);
+ createSwitch<InvertingIndicatorButton18>(mix26ParamPosition, module, Switch88::MIX26_PARAM);
+ createSwitch<InvertingIndicatorButton18>(mix36ParamPosition, module, Switch88::MIX36_PARAM);
+ createSwitch<InvertingIndicatorButton18>(mix46ParamPosition, module, Switch88::MIX46_PARAM);
+ createSwitch<InvertingIndicatorButton18>(mix56ParamPosition, module, Switch88::MIX56_PARAM);
+ createSwitch<InvertingIndicatorButton18>(mix66ParamPosition, module, Switch88::MIX66_PARAM);
+ createSwitch<InvertingIndicatorButton18>(mix76ParamPosition, module, Switch88::MIX76_PARAM);
+ createSwitch<InvertingIndicatorButton18>(mix86ParamPosition, module, Switch88::MIX86_PARAM);
+ createSwitch<InvertingIndicatorButton18>(mix17ParamPosition, module, Switch88::MIX17_PARAM);
+ createSwitch<InvertingIndicatorButton18>(mix27ParamPosition, module, Switch88::MIX27_PARAM);
+ createSwitch<InvertingIndicatorButton18>(mix37ParamPosition, module, Switch88::MIX37_PARAM);
+ createSwitch<InvertingIndicatorButton18>(mix47ParamPosition, module, Switch88::MIX47_PARAM);
+ createSwitch<InvertingIndicatorButton18>(mix57ParamPosition, module, Switch88::MIX57_PARAM);
+ createSwitch<InvertingIndicatorButton18>(mix67ParamPosition, module, Switch88::MIX67_PARAM);
+ createSwitch<InvertingIndicatorButton18>(mix77ParamPosition, module, Switch88::MIX77_PARAM);
+ createSwitch<InvertingIndicatorButton18>(mix87ParamPosition, module, Switch88::MIX87_PARAM);
+ createSwitch<InvertingIndicatorButton18>(mix18ParamPosition, module, Switch88::MIX18_PARAM);
+ createSwitch<InvertingIndicatorButton18>(mix28ParamPosition, module, Switch88::MIX28_PARAM);
+ createSwitch<InvertingIndicatorButton18>(mix38ParamPosition, module, Switch88::MIX38_PARAM);
+ createSwitch<InvertingIndicatorButton18>(mix48ParamPosition, module, Switch88::MIX48_PARAM);
+ createSwitch<InvertingIndicatorButton18>(mix58ParamPosition, module, Switch88::MIX58_PARAM);
+ createSwitch<InvertingIndicatorButton18>(mix68ParamPosition, module, Switch88::MIX68_PARAM);
+ createSwitch<InvertingIndicatorButton18>(mix78ParamPosition, module, Switch88::MIX78_PARAM);
+ createSwitch<InvertingIndicatorButton18>(mix88ParamPosition, module, Switch88::MIX88_PARAM);
addInput(createInput<Port24>(in1InputPosition, module, Switch88::IN1_INPUT));
addInput(createInput<Port24>(in2InputPosition, module, Switch88::IN2_INPUT));
diff --git a/src/Switch88.hpp b/src/Switch88.hpp
@@ -7,7 +7,7 @@ extern Model* modelSwitch88;
namespace bogaudio {
-struct Switch88 : MatrixModule {
+struct Switch88 : SwitchMatrixModule {
enum ParamsIds {
MIX11_PARAM,
MIX21_PARAM,
@@ -100,7 +100,7 @@ struct Switch88 : MatrixModule {
NUM_OUTPUTS
};
- Switch88() : MatrixModule(8, MIX11_PARAM, IN1_INPUT, OUT1_OUTPUT) {
+ Switch88() : SwitchMatrixModule(8, MIX11_PARAM, IN1_INPUT, OUT1_OUTPUT) {
config(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS);
configParam(MIX11_PARAM, -1.0f, 1.0f, 0.0f, "Mix 1A", "%", 0.0f, 100.0f);
configParam(MIX21_PARAM, -1.0f, 1.0f, 0.0f, "Mix 2A", "%", 0.0f, 100.0f);
diff --git a/src/matrix_base.cpp b/src/matrix_base.cpp
@@ -70,3 +70,20 @@ void KnobMatrixModule::dataFromJson(json_t* root) {
_indicatorKnobs = json_is_true(k);
}
}
+
+
+#define CLICK_TO_INVERT "click_to_invert"
+
+json_t* SwitchMatrixModule::dataToJson() {
+ json_t* root = MatrixBaseModule::dataToJson();
+ json_object_set_new(root, CLICK_TO_INVERT, json_boolean(_clickToInvert));
+ return root;
+}
+
+void SwitchMatrixModule::dataFromJson(json_t* root) {
+ MatrixBaseModule::dataFromJson(root);
+ json_t* c = json_object_get(root, CLICK_TO_INVERT);
+ if (c) {
+ _clickToInvert = json_is_true(c);
+ }
+}
diff --git a/src/matrix_base.hpp b/src/matrix_base.hpp
@@ -80,6 +80,7 @@ struct KnobMatrixModule : MatrixModule {
struct KnobMatrixModuleWidget : MatrixBaseModuleWidget {
std::vector<IndicatorKnob19*> _knobs;
+
void createKnob(math::Vec& position, KnobMatrixModule* module, int id) {
IndicatorKnob19* knob = dynamic_cast<IndicatorKnob19*>(createParam<IndicatorKnob19>(position, module, id));
if (module) {
@@ -107,4 +108,36 @@ struct KnobMatrixModuleWidget : MatrixBaseModuleWidget {
}
};
+struct SwitchMatrixModule : MatrixModule {
+ bool _clickToInvert = true;
+
+ SwitchMatrixModule(int n, int firstParamID, int firstInputID, int firstOutputID)
+ : MatrixModule(n, firstParamID, firstInputID, firstOutputID)
+ {}
+
+ json_t* dataToJson() override;
+ void dataFromJson(json_t* root) override;
+};
+
+struct SwitchMatrixModuleWidget : MatrixBaseModuleWidget {
+ template<class W> void createSwitch(math::Vec& position, SwitchMatrixModule* module, int id) {
+ auto s = dynamic_cast<W*>(createParam<W>(position, module, id));
+ if (module) {
+ s->setClickToInvertCallback([module]() { return module->_clickToInvert; });
+ }
+ addParam(s);
+ }
+
+ void appendContextMenu(Menu* menu) override {
+ SwitchMatrixModule* m = dynamic_cast<SwitchMatrixModule*>(module);
+ assert(m);
+ MatrixBaseModuleWidget::appendContextMenu(menu);
+ menu->addChild(new OptionMenuItem(
+ "Click to invert",
+ [m]() { return m->_clickToInvert; },
+ [m]() { m->_clickToInvert = !m->_clickToInvert; }
+ ));
+ }
+};
+
} // namespace bogaudio
diff --git a/src/widgets.cpp b/src/widgets.cpp
@@ -393,7 +393,7 @@ void InvertingIndicatorButton::onHover(const event::Hover& e) {
void InvertingIndicatorButton::onButton(const event::Button& e) {
ParamWidget::onButton(e);
- if (!paramQuantity || !(e.action == GLFW_PRESS && (e.mods & RACK_MOD_MASK) == 0)) {
+ if (!paramQuantity || !(e.action == GLFW_PRESS && (e.mods & RACK_MOD_MASK) == 0) || e.button == GLFW_MOUSE_BUTTON_RIGHT) {
return;
}
@@ -404,9 +404,12 @@ void InvertingIndicatorButton::onButton(const event::Button& e) {
else if (value < 1.0f) {
paramQuantity->setValue(1.0f);
}
- else {
+ else if (!clickToInvertCB || clickToInvertCB()) {
paramQuantity->setValue(-1.0f);
}
+ else {
+ paramQuantity->setValue(0.0f);
+ }
}
void InvertingIndicatorButton::onChange(const event::Change& e) {
diff --git a/src/widgets.hpp b/src/widgets.hpp
@@ -132,9 +132,11 @@ struct InvertingIndicatorButton : ParamWidget {
widget::FramebufferWidget* fb;
CircularShadow* shadow;
IIBWidget* w;
+ std::function<bool()> clickToInvertCB;
InvertingIndicatorButton(int dim);
+ inline void setClickToInvertCallback(std::function<bool()> fn) { clickToInvertCB = fn; }
void reset() override;
void randomize() override;
void onHover(const event::Hover& e) override;