commit ce5f687081ffd83a43ff57554abbf0d163a590c0
parent 438ab94adece65fca9ff8073a9e97c9b126327e6
Author: Matt Demanett <matt@demanett.net>
Date: Mon, 20 Apr 2020 23:15:54 -0400
SWITCH*: add option to completely disable inverting, to make buttons easier to midi map. #111 #108
Diffstat:
6 files changed, 413 insertions(+), 349 deletions(-)
diff --git a/src/Switch1616.hpp b/src/Switch1616.hpp
@@ -311,277 +311,277 @@ struct Switch1616 : SwitchMatrixModule {
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);
- configParam(MIX_1_2_PARAM, -1.0f, 1.0f, 0.0f, "Mix 2A", "%", 0.0f, 100.0f);
- configParam(MIX_1_3_PARAM, -1.0f, 1.0f, 0.0f, "Mix 3A", "%", 0.0f, 100.0f);
- configParam(MIX_1_4_PARAM, -1.0f, 1.0f, 0.0f, "Mix 4A", "%", 0.0f, 100.0f);
- configParam(MIX_1_5_PARAM, -1.0f, 1.0f, 0.0f, "Mix 5A", "%", 0.0f, 100.0f);
- configParam(MIX_1_6_PARAM, -1.0f, 1.0f, 0.0f, "Mix 6A", "%", 0.0f, 100.0f);
- configParam(MIX_1_7_PARAM, -1.0f, 1.0f, 0.0f, "Mix 7A", "%", 0.0f, 100.0f);
- configParam(MIX_1_8_PARAM, -1.0f, 1.0f, 0.0f, "Mix 8A", "%", 0.0f, 100.0f);
- configParam(MIX_1_9_PARAM, -1.0f, 1.0f, 0.0f, "Mix 9A", "%", 0.0f, 100.0f);
- configParam(MIX_1_10_PARAM, -1.0f, 1.0f, 0.0f, "Mix 10A", "%", 0.0f, 100.0f);
- configParam(MIX_1_11_PARAM, -1.0f, 1.0f, 0.0f, "Mix 11A", "%", 0.0f, 100.0f);
- configParam(MIX_1_12_PARAM, -1.0f, 1.0f, 0.0f, "Mix 12A", "%", 0.0f, 100.0f);
- configParam(MIX_1_13_PARAM, -1.0f, 1.0f, 0.0f, "Mix 13A", "%", 0.0f, 100.0f);
- configParam(MIX_1_14_PARAM, -1.0f, 1.0f, 0.0f, "Mix 14A", "%", 0.0f, 100.0f);
- configParam(MIX_1_15_PARAM, -1.0f, 1.0f, 0.0f, "Mix 15A", "%", 0.0f, 100.0f);
- configParam(MIX_1_16_PARAM, -1.0f, 1.0f, 0.0f, "Mix 16A", "%", 0.0f, 100.0f);
+ configSwitchParam(MIX_1_1_PARAM, "Mix 1A");
+ configSwitchParam(MIX_1_2_PARAM, "Mix 2A");
+ configSwitchParam(MIX_1_3_PARAM, "Mix 3A");
+ configSwitchParam(MIX_1_4_PARAM, "Mix 4A");
+ configSwitchParam(MIX_1_5_PARAM, "Mix 5A");
+ configSwitchParam(MIX_1_6_PARAM, "Mix 6A");
+ configSwitchParam(MIX_1_7_PARAM, "Mix 7A");
+ configSwitchParam(MIX_1_8_PARAM, "Mix 8A");
+ configSwitchParam(MIX_1_9_PARAM, "Mix 9A");
+ configSwitchParam(MIX_1_10_PARAM, "Mix 10A");
+ configSwitchParam(MIX_1_11_PARAM, "Mix 11A");
+ configSwitchParam(MIX_1_12_PARAM, "Mix 12A");
+ configSwitchParam(MIX_1_13_PARAM, "Mix 13A");
+ configSwitchParam(MIX_1_14_PARAM, "Mix 14A");
+ configSwitchParam(MIX_1_15_PARAM, "Mix 15A");
+ configSwitchParam(MIX_1_16_PARAM, "Mix 16A");
- configParam(MIX_2_1_PARAM, -1.0f, 1.0f, 0.0f, "Mix 1B", "%", 0.0f, 100.0f);
- configParam(MIX_2_2_PARAM, -1.0f, 1.0f, 0.0f, "Mix 2B", "%", 0.0f, 100.0f);
- configParam(MIX_2_3_PARAM, -1.0f, 1.0f, 0.0f, "Mix 3B", "%", 0.0f, 100.0f);
- configParam(MIX_2_4_PARAM, -1.0f, 1.0f, 0.0f, "Mix 4B", "%", 0.0f, 100.0f);
- configParam(MIX_2_5_PARAM, -1.0f, 1.0f, 0.0f, "Mix 5B", "%", 0.0f, 100.0f);
- configParam(MIX_2_6_PARAM, -1.0f, 1.0f, 0.0f, "Mix 6B", "%", 0.0f, 100.0f);
- configParam(MIX_2_7_PARAM, -1.0f, 1.0f, 0.0f, "Mix 7B", "%", 0.0f, 100.0f);
- configParam(MIX_2_8_PARAM, -1.0f, 1.0f, 0.0f, "Mix 8B", "%", 0.0f, 100.0f);
- configParam(MIX_2_9_PARAM, -1.0f, 1.0f, 0.0f, "Mix 9B", "%", 0.0f, 100.0f);
- configParam(MIX_2_10_PARAM, -1.0f, 1.0f, 0.0f, "Mix 10B", "%", 0.0f, 100.0f);
- configParam(MIX_2_11_PARAM, -1.0f, 1.0f, 0.0f, "Mix 11B", "%", 0.0f, 100.0f);
- configParam(MIX_2_12_PARAM, -1.0f, 1.0f, 0.0f, "Mix 12B", "%", 0.0f, 100.0f);
- configParam(MIX_2_13_PARAM, -1.0f, 1.0f, 0.0f, "Mix 13B", "%", 0.0f, 100.0f);
- configParam(MIX_2_14_PARAM, -1.0f, 1.0f, 0.0f, "Mix 14B", "%", 0.0f, 100.0f);
- configParam(MIX_2_15_PARAM, -1.0f, 1.0f, 0.0f, "Mix 15B", "%", 0.0f, 100.0f);
- configParam(MIX_2_16_PARAM, -1.0f, 1.0f, 0.0f, "Mix 16B", "%", 0.0f, 100.0f);
+ configSwitchParam(MIX_2_1_PARAM, "Mix 1B");
+ configSwitchParam(MIX_2_2_PARAM, "Mix 2B");
+ configSwitchParam(MIX_2_3_PARAM, "Mix 3B");
+ configSwitchParam(MIX_2_4_PARAM, "Mix 4B");
+ configSwitchParam(MIX_2_5_PARAM, "Mix 5B");
+ configSwitchParam(MIX_2_6_PARAM, "Mix 6B");
+ configSwitchParam(MIX_2_7_PARAM, "Mix 7B");
+ configSwitchParam(MIX_2_8_PARAM, "Mix 8B");
+ configSwitchParam(MIX_2_9_PARAM, "Mix 9B");
+ configSwitchParam(MIX_2_10_PARAM, "Mix 10B");
+ configSwitchParam(MIX_2_11_PARAM, "Mix 11B");
+ configSwitchParam(MIX_2_12_PARAM, "Mix 12B");
+ configSwitchParam(MIX_2_13_PARAM, "Mix 13B");
+ configSwitchParam(MIX_2_14_PARAM, "Mix 14B");
+ configSwitchParam(MIX_2_15_PARAM, "Mix 15B");
+ configSwitchParam(MIX_2_16_PARAM, "Mix 16B");
- configParam(MIX_3_1_PARAM, -1.0f, 1.0f, 0.0f, "Mix 1C", "%", 0.0f, 100.0f);
- configParam(MIX_3_2_PARAM, -1.0f, 1.0f, 0.0f, "Mix 2C", "%", 0.0f, 100.0f);
- configParam(MIX_3_3_PARAM, -1.0f, 1.0f, 0.0f, "Mix 3C", "%", 0.0f, 100.0f);
- configParam(MIX_3_4_PARAM, -1.0f, 1.0f, 0.0f, "Mix 4C", "%", 0.0f, 100.0f);
- configParam(MIX_3_5_PARAM, -1.0f, 1.0f, 0.0f, "Mix 5C", "%", 0.0f, 100.0f);
- configParam(MIX_3_6_PARAM, -1.0f, 1.0f, 0.0f, "Mix 6C", "%", 0.0f, 100.0f);
- configParam(MIX_3_7_PARAM, -1.0f, 1.0f, 0.0f, "Mix 7C", "%", 0.0f, 100.0f);
- configParam(MIX_3_8_PARAM, -1.0f, 1.0f, 0.0f, "Mix 8C", "%", 0.0f, 100.0f);
- configParam(MIX_3_9_PARAM, -1.0f, 1.0f, 0.0f, "Mix 9C", "%", 0.0f, 100.0f);
- configParam(MIX_3_10_PARAM, -1.0f, 1.0f, 0.0f, "Mix 10C", "%", 0.0f, 100.0f);
- configParam(MIX_3_11_PARAM, -1.0f, 1.0f, 0.0f, "Mix 11C", "%", 0.0f, 100.0f);
- configParam(MIX_3_12_PARAM, -1.0f, 1.0f, 0.0f, "Mix 12C", "%", 0.0f, 100.0f);
- configParam(MIX_3_13_PARAM, -1.0f, 1.0f, 0.0f, "Mix 13C", "%", 0.0f, 100.0f);
- configParam(MIX_3_14_PARAM, -1.0f, 1.0f, 0.0f, "Mix 14C", "%", 0.0f, 100.0f);
- configParam(MIX_3_15_PARAM, -1.0f, 1.0f, 0.0f, "Mix 15C", "%", 0.0f, 100.0f);
- configParam(MIX_3_16_PARAM, -1.0f, 1.0f, 0.0f, "Mix 16C", "%", 0.0f, 100.0f);
+ configSwitchParam(MIX_3_1_PARAM, "Mix 1C");
+ configSwitchParam(MIX_3_2_PARAM, "Mix 2C");
+ configSwitchParam(MIX_3_3_PARAM, "Mix 3C");
+ configSwitchParam(MIX_3_4_PARAM, "Mix 4C");
+ configSwitchParam(MIX_3_5_PARAM, "Mix 5C");
+ configSwitchParam(MIX_3_6_PARAM, "Mix 6C");
+ configSwitchParam(MIX_3_7_PARAM, "Mix 7C");
+ configSwitchParam(MIX_3_8_PARAM, "Mix 8C");
+ configSwitchParam(MIX_3_9_PARAM, "Mix 9C");
+ configSwitchParam(MIX_3_10_PARAM, "Mix 10C");
+ configSwitchParam(MIX_3_11_PARAM, "Mix 11C");
+ configSwitchParam(MIX_3_12_PARAM, "Mix 12C");
+ configSwitchParam(MIX_3_13_PARAM, "Mix 13C");
+ configSwitchParam(MIX_3_14_PARAM, "Mix 14C");
+ configSwitchParam(MIX_3_15_PARAM, "Mix 15C");
+ configSwitchParam(MIX_3_16_PARAM, "Mix 16C");
- configParam(MIX_4_1_PARAM, -1.0f, 1.0f, 0.0f, "Mix 1D", "%", 0.0f, 100.0f);
- configParam(MIX_4_2_PARAM, -1.0f, 1.0f, 0.0f, "Mix 2D", "%", 0.0f, 100.0f);
- configParam(MIX_4_3_PARAM, -1.0f, 1.0f, 0.0f, "Mix 3D", "%", 0.0f, 100.0f);
- configParam(MIX_4_4_PARAM, -1.0f, 1.0f, 0.0f, "Mix 4D", "%", 0.0f, 100.0f);
- configParam(MIX_4_5_PARAM, -1.0f, 1.0f, 0.0f, "Mix 5D", "%", 0.0f, 100.0f);
- configParam(MIX_4_6_PARAM, -1.0f, 1.0f, 0.0f, "Mix 6D", "%", 0.0f, 100.0f);
- configParam(MIX_4_7_PARAM, -1.0f, 1.0f, 0.0f, "Mix 7D", "%", 0.0f, 100.0f);
- configParam(MIX_4_8_PARAM, -1.0f, 1.0f, 0.0f, "Mix 8D", "%", 0.0f, 100.0f);
- configParam(MIX_4_9_PARAM, -1.0f, 1.0f, 0.0f, "Mix 9D", "%", 0.0f, 100.0f);
- configParam(MIX_4_10_PARAM, -1.0f, 1.0f, 0.0f, "Mix 10D", "%", 0.0f, 100.0f);
- configParam(MIX_4_11_PARAM, -1.0f, 1.0f, 0.0f, "Mix 11D", "%", 0.0f, 100.0f);
- configParam(MIX_4_12_PARAM, -1.0f, 1.0f, 0.0f, "Mix 12D", "%", 0.0f, 100.0f);
- configParam(MIX_4_13_PARAM, -1.0f, 1.0f, 0.0f, "Mix 13D", "%", 0.0f, 100.0f);
- configParam(MIX_4_14_PARAM, -1.0f, 1.0f, 0.0f, "Mix 14D", "%", 0.0f, 100.0f);
- configParam(MIX_4_15_PARAM, -1.0f, 1.0f, 0.0f, "Mix 15D", "%", 0.0f, 100.0f);
- configParam(MIX_4_16_PARAM, -1.0f, 1.0f, 0.0f, "Mix 16D", "%", 0.0f, 100.0f);
+ configSwitchParam(MIX_4_1_PARAM, "Mix 1D");
+ configSwitchParam(MIX_4_2_PARAM, "Mix 2D");
+ configSwitchParam(MIX_4_3_PARAM, "Mix 3D");
+ configSwitchParam(MIX_4_4_PARAM, "Mix 4D");
+ configSwitchParam(MIX_4_5_PARAM, "Mix 5D");
+ configSwitchParam(MIX_4_6_PARAM, "Mix 6D");
+ configSwitchParam(MIX_4_7_PARAM, "Mix 7D");
+ configSwitchParam(MIX_4_8_PARAM, "Mix 8D");
+ configSwitchParam(MIX_4_9_PARAM, "Mix 9D");
+ configSwitchParam(MIX_4_10_PARAM, "Mix 10D");
+ configSwitchParam(MIX_4_11_PARAM, "Mix 11D");
+ configSwitchParam(MIX_4_12_PARAM, "Mix 12D");
+ configSwitchParam(MIX_4_13_PARAM, "Mix 13D");
+ configSwitchParam(MIX_4_14_PARAM, "Mix 14D");
+ configSwitchParam(MIX_4_15_PARAM, "Mix 15D");
+ configSwitchParam(MIX_4_16_PARAM, "Mix 16D");
- configParam(MIX_5_1_PARAM, -1.0f, 1.0f, 0.0f, "Mix 1E", "%", 0.0f, 100.0f);
- configParam(MIX_5_2_PARAM, -1.0f, 1.0f, 0.0f, "Mix 2E", "%", 0.0f, 100.0f);
- configParam(MIX_5_3_PARAM, -1.0f, 1.0f, 0.0f, "Mix 3E", "%", 0.0f, 100.0f);
- configParam(MIX_5_4_PARAM, -1.0f, 1.0f, 0.0f, "Mix 4E", "%", 0.0f, 100.0f);
- configParam(MIX_5_5_PARAM, -1.0f, 1.0f, 0.0f, "Mix 5E", "%", 0.0f, 100.0f);
- configParam(MIX_5_6_PARAM, -1.0f, 1.0f, 0.0f, "Mix 6E", "%", 0.0f, 100.0f);
- configParam(MIX_5_7_PARAM, -1.0f, 1.0f, 0.0f, "Mix 7E", "%", 0.0f, 100.0f);
- configParam(MIX_5_8_PARAM, -1.0f, 1.0f, 0.0f, "Mix 8E", "%", 0.0f, 100.0f);
- configParam(MIX_5_9_PARAM, -1.0f, 1.0f, 0.0f, "Mix 9E", "%", 0.0f, 100.0f);
- configParam(MIX_5_10_PARAM, -1.0f, 1.0f, 0.0f, "Mix 10E", "%", 0.0f, 100.0f);
- configParam(MIX_5_11_PARAM, -1.0f, 1.0f, 0.0f, "Mix 11E", "%", 0.0f, 100.0f);
- configParam(MIX_5_12_PARAM, -1.0f, 1.0f, 0.0f, "Mix 12E", "%", 0.0f, 100.0f);
- configParam(MIX_5_13_PARAM, -1.0f, 1.0f, 0.0f, "Mix 13E", "%", 0.0f, 100.0f);
- configParam(MIX_5_14_PARAM, -1.0f, 1.0f, 0.0f, "Mix 14E", "%", 0.0f, 100.0f);
- configParam(MIX_5_15_PARAM, -1.0f, 1.0f, 0.0f, "Mix 15E", "%", 0.0f, 100.0f);
- configParam(MIX_5_16_PARAM, -1.0f, 1.0f, 0.0f, "Mix 16E", "%", 0.0f, 100.0f);
+ configSwitchParam(MIX_5_1_PARAM, "Mix 1E");
+ configSwitchParam(MIX_5_2_PARAM, "Mix 2E");
+ configSwitchParam(MIX_5_3_PARAM, "Mix 3E");
+ configSwitchParam(MIX_5_4_PARAM, "Mix 4E");
+ configSwitchParam(MIX_5_5_PARAM, "Mix 5E");
+ configSwitchParam(MIX_5_6_PARAM, "Mix 6E");
+ configSwitchParam(MIX_5_7_PARAM, "Mix 7E");
+ configSwitchParam(MIX_5_8_PARAM, "Mix 8E");
+ configSwitchParam(MIX_5_9_PARAM, "Mix 9E");
+ configSwitchParam(MIX_5_10_PARAM, "Mix 10E");
+ configSwitchParam(MIX_5_11_PARAM, "Mix 11E");
+ configSwitchParam(MIX_5_12_PARAM, "Mix 12E");
+ configSwitchParam(MIX_5_13_PARAM, "Mix 13E");
+ configSwitchParam(MIX_5_14_PARAM, "Mix 14E");
+ configSwitchParam(MIX_5_15_PARAM, "Mix 15E");
+ configSwitchParam(MIX_5_16_PARAM, "Mix 16E");
- configParam(MIX_6_1_PARAM, -1.0f, 1.0f, 0.0f, "Mix 1F", "%", 0.0f, 100.0f);
- configParam(MIX_6_2_PARAM, -1.0f, 1.0f, 0.0f, "Mix 2F", "%", 0.0f, 100.0f);
- configParam(MIX_6_3_PARAM, -1.0f, 1.0f, 0.0f, "Mix 3F", "%", 0.0f, 100.0f);
- configParam(MIX_6_4_PARAM, -1.0f, 1.0f, 0.0f, "Mix 4F", "%", 0.0f, 100.0f);
- configParam(MIX_6_5_PARAM, -1.0f, 1.0f, 0.0f, "Mix 5F", "%", 0.0f, 100.0f);
- configParam(MIX_6_6_PARAM, -1.0f, 1.0f, 0.0f, "Mix 6F", "%", 0.0f, 100.0f);
- configParam(MIX_6_7_PARAM, -1.0f, 1.0f, 0.0f, "Mix 7F", "%", 0.0f, 100.0f);
- configParam(MIX_6_8_PARAM, -1.0f, 1.0f, 0.0f, "Mix 8F", "%", 0.0f, 100.0f);
- configParam(MIX_6_9_PARAM, -1.0f, 1.0f, 0.0f, "Mix 9F", "%", 0.0f, 100.0f);
- configParam(MIX_6_10_PARAM, -1.0f, 1.0f, 0.0f, "Mix 10F", "%", 0.0f, 100.0f);
- configParam(MIX_6_11_PARAM, -1.0f, 1.0f, 0.0f, "Mix 11F", "%", 0.0f, 100.0f);
- configParam(MIX_6_12_PARAM, -1.0f, 1.0f, 0.0f, "Mix 12F", "%", 0.0f, 100.0f);
- configParam(MIX_6_13_PARAM, -1.0f, 1.0f, 0.0f, "Mix 13F", "%", 0.0f, 100.0f);
- configParam(MIX_6_14_PARAM, -1.0f, 1.0f, 0.0f, "Mix 14F", "%", 0.0f, 100.0f);
- configParam(MIX_6_15_PARAM, -1.0f, 1.0f, 0.0f, "Mix 15F", "%", 0.0f, 100.0f);
- configParam(MIX_6_16_PARAM, -1.0f, 1.0f, 0.0f, "Mix 16F", "%", 0.0f, 100.0f);
+ configSwitchParam(MIX_6_1_PARAM, "Mix 1F");
+ configSwitchParam(MIX_6_2_PARAM, "Mix 2F");
+ configSwitchParam(MIX_6_3_PARAM, "Mix 3F");
+ configSwitchParam(MIX_6_4_PARAM, "Mix 4F");
+ configSwitchParam(MIX_6_5_PARAM, "Mix 5F");
+ configSwitchParam(MIX_6_6_PARAM, "Mix 6F");
+ configSwitchParam(MIX_6_7_PARAM, "Mix 7F");
+ configSwitchParam(MIX_6_8_PARAM, "Mix 8F");
+ configSwitchParam(MIX_6_9_PARAM, "Mix 9F");
+ configSwitchParam(MIX_6_10_PARAM, "Mix 10F");
+ configSwitchParam(MIX_6_11_PARAM, "Mix 11F");
+ configSwitchParam(MIX_6_12_PARAM, "Mix 12F");
+ configSwitchParam(MIX_6_13_PARAM, "Mix 13F");
+ configSwitchParam(MIX_6_14_PARAM, "Mix 14F");
+ configSwitchParam(MIX_6_15_PARAM, "Mix 15F");
+ configSwitchParam(MIX_6_16_PARAM, "Mix 16F");
- configParam(MIX_7_1_PARAM, -1.0f, 1.0f, 0.0f, "Mix 1G", "%", 0.0f, 100.0f);
- configParam(MIX_7_2_PARAM, -1.0f, 1.0f, 0.0f, "Mix 2G", "%", 0.0f, 100.0f);
- configParam(MIX_7_3_PARAM, -1.0f, 1.0f, 0.0f, "Mix 3G", "%", 0.0f, 100.0f);
- configParam(MIX_7_4_PARAM, -1.0f, 1.0f, 0.0f, "Mix 4G", "%", 0.0f, 100.0f);
- configParam(MIX_7_5_PARAM, -1.0f, 1.0f, 0.0f, "Mix 5G", "%", 0.0f, 100.0f);
- configParam(MIX_7_6_PARAM, -1.0f, 1.0f, 0.0f, "Mix 6G", "%", 0.0f, 100.0f);
- configParam(MIX_7_7_PARAM, -1.0f, 1.0f, 0.0f, "Mix 7G", "%", 0.0f, 100.0f);
- configParam(MIX_7_8_PARAM, -1.0f, 1.0f, 0.0f, "Mix 8G", "%", 0.0f, 100.0f);
- configParam(MIX_7_9_PARAM, -1.0f, 1.0f, 0.0f, "Mix 9G", "%", 0.0f, 100.0f);
- configParam(MIX_7_10_PARAM, -1.0f, 1.0f, 0.0f, "Mix 10G", "%", 0.0f, 100.0f);
- configParam(MIX_7_11_PARAM, -1.0f, 1.0f, 0.0f, "Mix 11G", "%", 0.0f, 100.0f);
- configParam(MIX_7_12_PARAM, -1.0f, 1.0f, 0.0f, "Mix 12G", "%", 0.0f, 100.0f);
- configParam(MIX_7_13_PARAM, -1.0f, 1.0f, 0.0f, "Mix 13G", "%", 0.0f, 100.0f);
- configParam(MIX_7_14_PARAM, -1.0f, 1.0f, 0.0f, "Mix 14G", "%", 0.0f, 100.0f);
- configParam(MIX_7_15_PARAM, -1.0f, 1.0f, 0.0f, "Mix 15G", "%", 0.0f, 100.0f);
- configParam(MIX_7_16_PARAM, -1.0f, 1.0f, 0.0f, "Mix 16G", "%", 0.0f, 100.0f);
+ configSwitchParam(MIX_7_1_PARAM, "Mix 1G");
+ configSwitchParam(MIX_7_2_PARAM, "Mix 2G");
+ configSwitchParam(MIX_7_3_PARAM, "Mix 3G");
+ configSwitchParam(MIX_7_4_PARAM, "Mix 4G");
+ configSwitchParam(MIX_7_5_PARAM, "Mix 5G");
+ configSwitchParam(MIX_7_6_PARAM, "Mix 6G");
+ configSwitchParam(MIX_7_7_PARAM, "Mix 7G");
+ configSwitchParam(MIX_7_8_PARAM, "Mix 8G");
+ configSwitchParam(MIX_7_9_PARAM, "Mix 9G");
+ configSwitchParam(MIX_7_10_PARAM, "Mix 10G");
+ configSwitchParam(MIX_7_11_PARAM, "Mix 11G");
+ configSwitchParam(MIX_7_12_PARAM, "Mix 12G");
+ configSwitchParam(MIX_7_13_PARAM, "Mix 13G");
+ configSwitchParam(MIX_7_14_PARAM, "Mix 14G");
+ configSwitchParam(MIX_7_15_PARAM, "Mix 15G");
+ configSwitchParam(MIX_7_16_PARAM, "Mix 16G");
- configParam(MIX_8_1_PARAM, -1.0f, 1.0f, 0.0f, "Mix 1H", "%", 0.0f, 100.0f);
- configParam(MIX_8_2_PARAM, -1.0f, 1.0f, 0.0f, "Mix 2H", "%", 0.0f, 100.0f);
- configParam(MIX_8_3_PARAM, -1.0f, 1.0f, 0.0f, "Mix 3H", "%", 0.0f, 100.0f);
- configParam(MIX_8_4_PARAM, -1.0f, 1.0f, 0.0f, "Mix 4H", "%", 0.0f, 100.0f);
- configParam(MIX_8_5_PARAM, -1.0f, 1.0f, 0.0f, "Mix 5H", "%", 0.0f, 100.0f);
- configParam(MIX_8_6_PARAM, -1.0f, 1.0f, 0.0f, "Mix 6H", "%", 0.0f, 100.0f);
- configParam(MIX_8_7_PARAM, -1.0f, 1.0f, 0.0f, "Mix 7H", "%", 0.0f, 100.0f);
- configParam(MIX_8_8_PARAM, -1.0f, 1.0f, 0.0f, "Mix 8H", "%", 0.0f, 100.0f);
- configParam(MIX_8_9_PARAM, -1.0f, 1.0f, 0.0f, "Mix 9H", "%", 0.0f, 100.0f);
- configParam(MIX_8_10_PARAM, -1.0f, 1.0f, 0.0f, "Mix 10H", "%", 0.0f, 100.0f);
- configParam(MIX_8_11_PARAM, -1.0f, 1.0f, 0.0f, "Mix 11H", "%", 0.0f, 100.0f);
- configParam(MIX_8_12_PARAM, -1.0f, 1.0f, 0.0f, "Mix 12H", "%", 0.0f, 100.0f);
- configParam(MIX_8_13_PARAM, -1.0f, 1.0f, 0.0f, "Mix 13H", "%", 0.0f, 100.0f);
- configParam(MIX_8_14_PARAM, -1.0f, 1.0f, 0.0f, "Mix 14H", "%", 0.0f, 100.0f);
- configParam(MIX_8_15_PARAM, -1.0f, 1.0f, 0.0f, "Mix 15H", "%", 0.0f, 100.0f);
- configParam(MIX_8_16_PARAM, -1.0f, 1.0f, 0.0f, "Mix 16H", "%", 0.0f, 100.0f);
+ configSwitchParam(MIX_8_1_PARAM, "Mix 1H");
+ configSwitchParam(MIX_8_2_PARAM, "Mix 2H");
+ configSwitchParam(MIX_8_3_PARAM, "Mix 3H");
+ configSwitchParam(MIX_8_4_PARAM, "Mix 4H");
+ configSwitchParam(MIX_8_5_PARAM, "Mix 5H");
+ configSwitchParam(MIX_8_6_PARAM, "Mix 6H");
+ configSwitchParam(MIX_8_7_PARAM, "Mix 7H");
+ configSwitchParam(MIX_8_8_PARAM, "Mix 8H");
+ configSwitchParam(MIX_8_9_PARAM, "Mix 9H");
+ configSwitchParam(MIX_8_10_PARAM, "Mix 10H");
+ configSwitchParam(MIX_8_11_PARAM, "Mix 11H");
+ configSwitchParam(MIX_8_12_PARAM, "Mix 12H");
+ configSwitchParam(MIX_8_13_PARAM, "Mix 13H");
+ configSwitchParam(MIX_8_14_PARAM, "Mix 14H");
+ configSwitchParam(MIX_8_15_PARAM, "Mix 15H");
+ configSwitchParam(MIX_8_16_PARAM, "Mix 16H");
- configParam(MIX_9_1_PARAM, -1.0f, 1.0f, 0.0f, "Mix 1I", "%", 0.0f, 100.0f);
- configParam(MIX_9_2_PARAM, -1.0f, 1.0f, 0.0f, "Mix 2I", "%", 0.0f, 100.0f);
- configParam(MIX_9_3_PARAM, -1.0f, 1.0f, 0.0f, "Mix 3I", "%", 0.0f, 100.0f);
- configParam(MIX_9_4_PARAM, -1.0f, 1.0f, 0.0f, "Mix 4I", "%", 0.0f, 100.0f);
- configParam(MIX_9_5_PARAM, -1.0f, 1.0f, 0.0f, "Mix 5I", "%", 0.0f, 100.0f);
- configParam(MIX_9_6_PARAM, -1.0f, 1.0f, 0.0f, "Mix 6I", "%", 0.0f, 100.0f);
- configParam(MIX_9_7_PARAM, -1.0f, 1.0f, 0.0f, "Mix 7I", "%", 0.0f, 100.0f);
- configParam(MIX_9_8_PARAM, -1.0f, 1.0f, 0.0f, "Mix 8I", "%", 0.0f, 100.0f);
- configParam(MIX_9_9_PARAM, -1.0f, 1.0f, 0.0f, "Mix 9I", "%", 0.0f, 100.0f);
- configParam(MIX_9_10_PARAM, -1.0f, 1.0f, 0.0f, "Mix 10I", "%", 0.0f, 100.0f);
- configParam(MIX_9_11_PARAM, -1.0f, 1.0f, 0.0f, "Mix 11I", "%", 0.0f, 100.0f);
- configParam(MIX_9_12_PARAM, -1.0f, 1.0f, 0.0f, "Mix 12I", "%", 0.0f, 100.0f);
- configParam(MIX_9_13_PARAM, -1.0f, 1.0f, 0.0f, "Mix 13I", "%", 0.0f, 100.0f);
- configParam(MIX_9_14_PARAM, -1.0f, 1.0f, 0.0f, "Mix 14I", "%", 0.0f, 100.0f);
- configParam(MIX_9_15_PARAM, -1.0f, 1.0f, 0.0f, "Mix 15I", "%", 0.0f, 100.0f);
- configParam(MIX_9_16_PARAM, -1.0f, 1.0f, 0.0f, "Mix 16I", "%", 0.0f, 100.0f);
+ configSwitchParam(MIX_9_1_PARAM, "Mix 1I");
+ configSwitchParam(MIX_9_2_PARAM, "Mix 2I");
+ configSwitchParam(MIX_9_3_PARAM, "Mix 3I");
+ configSwitchParam(MIX_9_4_PARAM, "Mix 4I");
+ configSwitchParam(MIX_9_5_PARAM, "Mix 5I");
+ configSwitchParam(MIX_9_6_PARAM, "Mix 6I");
+ configSwitchParam(MIX_9_7_PARAM, "Mix 7I");
+ configSwitchParam(MIX_9_8_PARAM, "Mix 8I");
+ configSwitchParam(MIX_9_9_PARAM, "Mix 9I");
+ configSwitchParam(MIX_9_10_PARAM, "Mix 10I");
+ configSwitchParam(MIX_9_11_PARAM, "Mix 11I");
+ configSwitchParam(MIX_9_12_PARAM, "Mix 12I");
+ configSwitchParam(MIX_9_13_PARAM, "Mix 13I");
+ configSwitchParam(MIX_9_14_PARAM, "Mix 14I");
+ configSwitchParam(MIX_9_15_PARAM, "Mix 15I");
+ configSwitchParam(MIX_9_16_PARAM, "Mix 16I");
- configParam(MIX_10_1_PARAM, -1.0f, 1.0f, 0.0f, "Mix 1J", "%", 0.0f, 100.0f);
- configParam(MIX_10_2_PARAM, -1.0f, 1.0f, 0.0f, "Mix 2J", "%", 0.0f, 100.0f);
- configParam(MIX_10_3_PARAM, -1.0f, 1.0f, 0.0f, "Mix 3J", "%", 0.0f, 100.0f);
- configParam(MIX_10_4_PARAM, -1.0f, 1.0f, 0.0f, "Mix 4J", "%", 0.0f, 100.0f);
- configParam(MIX_10_5_PARAM, -1.0f, 1.0f, 0.0f, "Mix 5J", "%", 0.0f, 100.0f);
- configParam(MIX_10_6_PARAM, -1.0f, 1.0f, 0.0f, "Mix 6J", "%", 0.0f, 100.0f);
- configParam(MIX_10_7_PARAM, -1.0f, 1.0f, 0.0f, "Mix 7J", "%", 0.0f, 100.0f);
- configParam(MIX_10_8_PARAM, -1.0f, 1.0f, 0.0f, "Mix 8J", "%", 0.0f, 100.0f);
- configParam(MIX_10_9_PARAM, -1.0f, 1.0f, 0.0f, "Mix 9J", "%", 0.0f, 100.0f);
- configParam(MIX_10_10_PARAM, -1.0f, 1.0f, 0.0f, "Mix 10J", "%", 0.0f, 100.0f);
- configParam(MIX_10_11_PARAM, -1.0f, 1.0f, 0.0f, "Mix 11J", "%", 0.0f, 100.0f);
- configParam(MIX_10_12_PARAM, -1.0f, 1.0f, 0.0f, "Mix 12J", "%", 0.0f, 100.0f);
- configParam(MIX_10_13_PARAM, -1.0f, 1.0f, 0.0f, "Mix 13J", "%", 0.0f, 100.0f);
- configParam(MIX_10_14_PARAM, -1.0f, 1.0f, 0.0f, "Mix 14J", "%", 0.0f, 100.0f);
- configParam(MIX_10_15_PARAM, -1.0f, 1.0f, 0.0f, "Mix 15J", "%", 0.0f, 100.0f);
- configParam(MIX_10_16_PARAM, -1.0f, 1.0f, 0.0f, "Mix 16J", "%", 0.0f, 100.0f);
+ configSwitchParam(MIX_10_1_PARAM, "Mix 1J");
+ configSwitchParam(MIX_10_2_PARAM, "Mix 2J");
+ configSwitchParam(MIX_10_3_PARAM, "Mix 3J");
+ configSwitchParam(MIX_10_4_PARAM, "Mix 4J");
+ configSwitchParam(MIX_10_5_PARAM, "Mix 5J");
+ configSwitchParam(MIX_10_6_PARAM, "Mix 6J");
+ configSwitchParam(MIX_10_7_PARAM, "Mix 7J");
+ configSwitchParam(MIX_10_8_PARAM, "Mix 8J");
+ configSwitchParam(MIX_10_9_PARAM, "Mix 9J");
+ configSwitchParam(MIX_10_10_PARAM, "Mix 10J");
+ configSwitchParam(MIX_10_11_PARAM, "Mix 11J");
+ configSwitchParam(MIX_10_12_PARAM, "Mix 12J");
+ configSwitchParam(MIX_10_13_PARAM, "Mix 13J");
+ configSwitchParam(MIX_10_14_PARAM, "Mix 14J");
+ configSwitchParam(MIX_10_15_PARAM, "Mix 15J");
+ configSwitchParam(MIX_10_16_PARAM, "Mix 16J");
- configParam(MIX_11_1_PARAM, -1.0f, 1.0f, 0.0f, "Mix 1K", "%", 0.0f, 100.0f);
- configParam(MIX_11_2_PARAM, -1.0f, 1.0f, 0.0f, "Mix 2K", "%", 0.0f, 100.0f);
- configParam(MIX_11_3_PARAM, -1.0f, 1.0f, 0.0f, "Mix 3K", "%", 0.0f, 100.0f);
- configParam(MIX_11_4_PARAM, -1.0f, 1.0f, 0.0f, "Mix 4K", "%", 0.0f, 100.0f);
- configParam(MIX_11_5_PARAM, -1.0f, 1.0f, 0.0f, "Mix 5K", "%", 0.0f, 100.0f);
- configParam(MIX_11_6_PARAM, -1.0f, 1.0f, 0.0f, "Mix 6K", "%", 0.0f, 100.0f);
- configParam(MIX_11_7_PARAM, -1.0f, 1.0f, 0.0f, "Mix 7K", "%", 0.0f, 100.0f);
- configParam(MIX_11_8_PARAM, -1.0f, 1.0f, 0.0f, "Mix 8K", "%", 0.0f, 100.0f);
- configParam(MIX_11_9_PARAM, -1.0f, 1.0f, 0.0f, "Mix 9K", "%", 0.0f, 100.0f);
- configParam(MIX_11_10_PARAM, -1.0f, 1.0f, 0.0f, "Mix 10K", "%", 0.0f, 100.0f);
- configParam(MIX_11_11_PARAM, -1.0f, 1.0f, 0.0f, "Mix 11K", "%", 0.0f, 100.0f);
- configParam(MIX_11_12_PARAM, -1.0f, 1.0f, 0.0f, "Mix 12K", "%", 0.0f, 100.0f);
- configParam(MIX_11_13_PARAM, -1.0f, 1.0f, 0.0f, "Mix 13K", "%", 0.0f, 100.0f);
- configParam(MIX_11_14_PARAM, -1.0f, 1.0f, 0.0f, "Mix 14K", "%", 0.0f, 100.0f);
- configParam(MIX_11_15_PARAM, -1.0f, 1.0f, 0.0f, "Mix 15K", "%", 0.0f, 100.0f);
- configParam(MIX_11_16_PARAM, -1.0f, 1.0f, 0.0f, "Mix 16K", "%", 0.0f, 100.0f);
+ configSwitchParam(MIX_11_1_PARAM, "Mix 1K");
+ configSwitchParam(MIX_11_2_PARAM, "Mix 2K");
+ configSwitchParam(MIX_11_3_PARAM, "Mix 3K");
+ configSwitchParam(MIX_11_4_PARAM, "Mix 4K");
+ configSwitchParam(MIX_11_5_PARAM, "Mix 5K");
+ configSwitchParam(MIX_11_6_PARAM, "Mix 6K");
+ configSwitchParam(MIX_11_7_PARAM, "Mix 7K");
+ configSwitchParam(MIX_11_8_PARAM, "Mix 8K");
+ configSwitchParam(MIX_11_9_PARAM, "Mix 9K");
+ configSwitchParam(MIX_11_10_PARAM, "Mix 10K");
+ configSwitchParam(MIX_11_11_PARAM, "Mix 11K");
+ configSwitchParam(MIX_11_12_PARAM, "Mix 12K");
+ configSwitchParam(MIX_11_13_PARAM, "Mix 13K");
+ configSwitchParam(MIX_11_14_PARAM, "Mix 14K");
+ configSwitchParam(MIX_11_15_PARAM, "Mix 15K");
+ configSwitchParam(MIX_11_16_PARAM, "Mix 16K");
- configParam(MIX_12_1_PARAM, -1.0f, 1.0f, 0.0f, "Mix 1L", "%", 0.0f, 100.0f);
- configParam(MIX_12_2_PARAM, -1.0f, 1.0f, 0.0f, "Mix 2L", "%", 0.0f, 100.0f);
- configParam(MIX_12_3_PARAM, -1.0f, 1.0f, 0.0f, "Mix 3L", "%", 0.0f, 100.0f);
- configParam(MIX_12_4_PARAM, -1.0f, 1.0f, 0.0f, "Mix 4L", "%", 0.0f, 100.0f);
- configParam(MIX_12_5_PARAM, -1.0f, 1.0f, 0.0f, "Mix 5L", "%", 0.0f, 100.0f);
- configParam(MIX_12_6_PARAM, -1.0f, 1.0f, 0.0f, "Mix 6L", "%", 0.0f, 100.0f);
- configParam(MIX_12_7_PARAM, -1.0f, 1.0f, 0.0f, "Mix 7L", "%", 0.0f, 100.0f);
- configParam(MIX_12_8_PARAM, -1.0f, 1.0f, 0.0f, "Mix 8L", "%", 0.0f, 100.0f);
- configParam(MIX_12_9_PARAM, -1.0f, 1.0f, 0.0f, "Mix 9L", "%", 0.0f, 100.0f);
- configParam(MIX_12_10_PARAM, -1.0f, 1.0f, 0.0f, "Mix 10L", "%", 0.0f, 100.0f);
- configParam(MIX_12_11_PARAM, -1.0f, 1.0f, 0.0f, "Mix 11L", "%", 0.0f, 100.0f);
- configParam(MIX_12_12_PARAM, -1.0f, 1.0f, 0.0f, "Mix 12L", "%", 0.0f, 100.0f);
- configParam(MIX_12_13_PARAM, -1.0f, 1.0f, 0.0f, "Mix 13L", "%", 0.0f, 100.0f);
- configParam(MIX_12_14_PARAM, -1.0f, 1.0f, 0.0f, "Mix 14L", "%", 0.0f, 100.0f);
- configParam(MIX_12_15_PARAM, -1.0f, 1.0f, 0.0f, "Mix 15L", "%", 0.0f, 100.0f);
- configParam(MIX_12_16_PARAM, -1.0f, 1.0f, 0.0f, "Mix 16L", "%", 0.0f, 100.0f);
+ configSwitchParam(MIX_12_1_PARAM, "Mix 1L");
+ configSwitchParam(MIX_12_2_PARAM, "Mix 2L");
+ configSwitchParam(MIX_12_3_PARAM, "Mix 3L");
+ configSwitchParam(MIX_12_4_PARAM, "Mix 4L");
+ configSwitchParam(MIX_12_5_PARAM, "Mix 5L");
+ configSwitchParam(MIX_12_6_PARAM, "Mix 6L");
+ configSwitchParam(MIX_12_7_PARAM, "Mix 7L");
+ configSwitchParam(MIX_12_8_PARAM, "Mix 8L");
+ configSwitchParam(MIX_12_9_PARAM, "Mix 9L");
+ configSwitchParam(MIX_12_10_PARAM, "Mix 10L");
+ configSwitchParam(MIX_12_11_PARAM, "Mix 11L");
+ configSwitchParam(MIX_12_12_PARAM, "Mix 12L");
+ configSwitchParam(MIX_12_13_PARAM, "Mix 13L");
+ configSwitchParam(MIX_12_14_PARAM, "Mix 14L");
+ configSwitchParam(MIX_12_15_PARAM, "Mix 15L");
+ configSwitchParam(MIX_12_16_PARAM, "Mix 16L");
- configParam(MIX_13_1_PARAM, -1.0f, 1.0f, 0.0f, "Mix 1M", "%", 0.0f, 100.0f);
- configParam(MIX_13_2_PARAM, -1.0f, 1.0f, 0.0f, "Mix 2M", "%", 0.0f, 100.0f);
- configParam(MIX_13_3_PARAM, -1.0f, 1.0f, 0.0f, "Mix 3M", "%", 0.0f, 100.0f);
- configParam(MIX_13_4_PARAM, -1.0f, 1.0f, 0.0f, "Mix 4M", "%", 0.0f, 100.0f);
- configParam(MIX_13_5_PARAM, -1.0f, 1.0f, 0.0f, "Mix 5M", "%", 0.0f, 100.0f);
- configParam(MIX_13_6_PARAM, -1.0f, 1.0f, 0.0f, "Mix 6M", "%", 0.0f, 100.0f);
- configParam(MIX_13_7_PARAM, -1.0f, 1.0f, 0.0f, "Mix 7M", "%", 0.0f, 100.0f);
- configParam(MIX_13_8_PARAM, -1.0f, 1.0f, 0.0f, "Mix 8M", "%", 0.0f, 100.0f);
- configParam(MIX_13_9_PARAM, -1.0f, 1.0f, 0.0f, "Mix 9M", "%", 0.0f, 100.0f);
- configParam(MIX_13_10_PARAM, -1.0f, 1.0f, 0.0f, "Mix 10M", "%", 0.0f, 100.0f);
- configParam(MIX_13_11_PARAM, -1.0f, 1.0f, 0.0f, "Mix 11M", "%", 0.0f, 100.0f);
- configParam(MIX_13_12_PARAM, -1.0f, 1.0f, 0.0f, "Mix 12M", "%", 0.0f, 100.0f);
- configParam(MIX_13_13_PARAM, -1.0f, 1.0f, 0.0f, "Mix 13M", "%", 0.0f, 100.0f);
- configParam(MIX_13_14_PARAM, -1.0f, 1.0f, 0.0f, "Mix 14M", "%", 0.0f, 100.0f);
- configParam(MIX_13_15_PARAM, -1.0f, 1.0f, 0.0f, "Mix 15M", "%", 0.0f, 100.0f);
- configParam(MIX_13_16_PARAM, -1.0f, 1.0f, 0.0f, "Mix 16M", "%", 0.0f, 100.0f);
+ configSwitchParam(MIX_13_1_PARAM, "Mix 1M");
+ configSwitchParam(MIX_13_2_PARAM, "Mix 2M");
+ configSwitchParam(MIX_13_3_PARAM, "Mix 3M");
+ configSwitchParam(MIX_13_4_PARAM, "Mix 4M");
+ configSwitchParam(MIX_13_5_PARAM, "Mix 5M");
+ configSwitchParam(MIX_13_6_PARAM, "Mix 6M");
+ configSwitchParam(MIX_13_7_PARAM, "Mix 7M");
+ configSwitchParam(MIX_13_8_PARAM, "Mix 8M");
+ configSwitchParam(MIX_13_9_PARAM, "Mix 9M");
+ configSwitchParam(MIX_13_10_PARAM, "Mix 10M");
+ configSwitchParam(MIX_13_11_PARAM, "Mix 11M");
+ configSwitchParam(MIX_13_12_PARAM, "Mix 12M");
+ configSwitchParam(MIX_13_13_PARAM, "Mix 13M");
+ configSwitchParam(MIX_13_14_PARAM, "Mix 14M");
+ configSwitchParam(MIX_13_15_PARAM, "Mix 15M");
+ configSwitchParam(MIX_13_16_PARAM, "Mix 16M");
- configParam(MIX_14_1_PARAM, -1.0f, 1.0f, 0.0f, "Mix 1N", "%", 0.0f, 100.0f);
- configParam(MIX_14_2_PARAM, -1.0f, 1.0f, 0.0f, "Mix 2N", "%", 0.0f, 100.0f);
- configParam(MIX_14_3_PARAM, -1.0f, 1.0f, 0.0f, "Mix 3N", "%", 0.0f, 100.0f);
- configParam(MIX_14_4_PARAM, -1.0f, 1.0f, 0.0f, "Mix 4N", "%", 0.0f, 100.0f);
- configParam(MIX_14_5_PARAM, -1.0f, 1.0f, 0.0f, "Mix 5N", "%", 0.0f, 100.0f);
- configParam(MIX_14_6_PARAM, -1.0f, 1.0f, 0.0f, "Mix 6N", "%", 0.0f, 100.0f);
- configParam(MIX_14_7_PARAM, -1.0f, 1.0f, 0.0f, "Mix 7N", "%", 0.0f, 100.0f);
- configParam(MIX_14_8_PARAM, -1.0f, 1.0f, 0.0f, "Mix 8N", "%", 0.0f, 100.0f);
- configParam(MIX_14_9_PARAM, -1.0f, 1.0f, 0.0f, "Mix 9N", "%", 0.0f, 100.0f);
- configParam(MIX_14_10_PARAM, -1.0f, 1.0f, 0.0f, "Mix 10N", "%", 0.0f, 100.0f);
- configParam(MIX_14_11_PARAM, -1.0f, 1.0f, 0.0f, "Mix 11N", "%", 0.0f, 100.0f);
- configParam(MIX_14_12_PARAM, -1.0f, 1.0f, 0.0f, "Mix 12N", "%", 0.0f, 100.0f);
- configParam(MIX_14_13_PARAM, -1.0f, 1.0f, 0.0f, "Mix 13N", "%", 0.0f, 100.0f);
- configParam(MIX_14_14_PARAM, -1.0f, 1.0f, 0.0f, "Mix 14N", "%", 0.0f, 100.0f);
- configParam(MIX_14_15_PARAM, -1.0f, 1.0f, 0.0f, "Mix 15N", "%", 0.0f, 100.0f);
- configParam(MIX_14_16_PARAM, -1.0f, 1.0f, 0.0f, "Mix 16N", "%", 0.0f, 100.0f);
+ configSwitchParam(MIX_14_1_PARAM, "Mix 1N");
+ configSwitchParam(MIX_14_2_PARAM, "Mix 2N");
+ configSwitchParam(MIX_14_3_PARAM, "Mix 3N");
+ configSwitchParam(MIX_14_4_PARAM, "Mix 4N");
+ configSwitchParam(MIX_14_5_PARAM, "Mix 5N");
+ configSwitchParam(MIX_14_6_PARAM, "Mix 6N");
+ configSwitchParam(MIX_14_7_PARAM, "Mix 7N");
+ configSwitchParam(MIX_14_8_PARAM, "Mix 8N");
+ configSwitchParam(MIX_14_9_PARAM, "Mix 9N");
+ configSwitchParam(MIX_14_10_PARAM, "Mix 10N");
+ configSwitchParam(MIX_14_11_PARAM, "Mix 11N");
+ configSwitchParam(MIX_14_12_PARAM, "Mix 12N");
+ configSwitchParam(MIX_14_13_PARAM, "Mix 13N");
+ configSwitchParam(MIX_14_14_PARAM, "Mix 14N");
+ configSwitchParam(MIX_14_15_PARAM, "Mix 15N");
+ configSwitchParam(MIX_14_16_PARAM, "Mix 16N");
- configParam(MIX_15_1_PARAM, -1.0f, 1.0f, 0.0f, "Mix 1O", "%", 0.0f, 100.0f);
- configParam(MIX_15_2_PARAM, -1.0f, 1.0f, 0.0f, "Mix 2O", "%", 0.0f, 100.0f);
- configParam(MIX_15_3_PARAM, -1.0f, 1.0f, 0.0f, "Mix 3O", "%", 0.0f, 100.0f);
- configParam(MIX_15_4_PARAM, -1.0f, 1.0f, 0.0f, "Mix 4O", "%", 0.0f, 100.0f);
- configParam(MIX_15_5_PARAM, -1.0f, 1.0f, 0.0f, "Mix 5O", "%", 0.0f, 100.0f);
- configParam(MIX_15_6_PARAM, -1.0f, 1.0f, 0.0f, "Mix 6O", "%", 0.0f, 100.0f);
- configParam(MIX_15_7_PARAM, -1.0f, 1.0f, 0.0f, "Mix 7O", "%", 0.0f, 100.0f);
- configParam(MIX_15_8_PARAM, -1.0f, 1.0f, 0.0f, "Mix 8O", "%", 0.0f, 100.0f);
- configParam(MIX_15_9_PARAM, -1.0f, 1.0f, 0.0f, "Mix 9O", "%", 0.0f, 100.0f);
- configParam(MIX_15_10_PARAM, -1.0f, 1.0f, 0.0f, "Mix 10O", "%", 0.0f, 100.0f);
- configParam(MIX_15_11_PARAM, -1.0f, 1.0f, 0.0f, "Mix 11O", "%", 0.0f, 100.0f);
- configParam(MIX_15_12_PARAM, -1.0f, 1.0f, 0.0f, "Mix 12O", "%", 0.0f, 100.0f);
- configParam(MIX_15_13_PARAM, -1.0f, 1.0f, 0.0f, "Mix 13O", "%", 0.0f, 100.0f);
- configParam(MIX_15_14_PARAM, -1.0f, 1.0f, 0.0f, "Mix 14O", "%", 0.0f, 100.0f);
- configParam(MIX_15_15_PARAM, -1.0f, 1.0f, 0.0f, "Mix 15O", "%", 0.0f, 100.0f);
- configParam(MIX_15_16_PARAM, -1.0f, 1.0f, 0.0f, "Mix 16O", "%", 0.0f, 100.0f);
+ configSwitchParam(MIX_15_1_PARAM, "Mix 1O");
+ configSwitchParam(MIX_15_2_PARAM, "Mix 2O");
+ configSwitchParam(MIX_15_3_PARAM, "Mix 3O");
+ configSwitchParam(MIX_15_4_PARAM, "Mix 4O");
+ configSwitchParam(MIX_15_5_PARAM, "Mix 5O");
+ configSwitchParam(MIX_15_6_PARAM, "Mix 6O");
+ configSwitchParam(MIX_15_7_PARAM, "Mix 7O");
+ configSwitchParam(MIX_15_8_PARAM, "Mix 8O");
+ configSwitchParam(MIX_15_9_PARAM, "Mix 9O");
+ configSwitchParam(MIX_15_10_PARAM, "Mix 10O");
+ configSwitchParam(MIX_15_11_PARAM, "Mix 11O");
+ configSwitchParam(MIX_15_12_PARAM, "Mix 12O");
+ configSwitchParam(MIX_15_13_PARAM, "Mix 13O");
+ configSwitchParam(MIX_15_14_PARAM, "Mix 14O");
+ configSwitchParam(MIX_15_15_PARAM, "Mix 15O");
+ configSwitchParam(MIX_15_16_PARAM, "Mix 16O");
- configParam(MIX_16_1_PARAM, -1.0f, 1.0f, 0.0f, "Mix 1P", "%", 0.0f, 100.0f);
- configParam(MIX_16_2_PARAM, -1.0f, 1.0f, 0.0f, "Mix 2P", "%", 0.0f, 100.0f);
- configParam(MIX_16_3_PARAM, -1.0f, 1.0f, 0.0f, "Mix 3P", "%", 0.0f, 100.0f);
- configParam(MIX_16_4_PARAM, -1.0f, 1.0f, 0.0f, "Mix 4P", "%", 0.0f, 100.0f);
- configParam(MIX_16_5_PARAM, -1.0f, 1.0f, 0.0f, "Mix 5P", "%", 0.0f, 100.0f);
- configParam(MIX_16_6_PARAM, -1.0f, 1.0f, 0.0f, "Mix 6P", "%", 0.0f, 100.0f);
- configParam(MIX_16_7_PARAM, -1.0f, 1.0f, 0.0f, "Mix 7P", "%", 0.0f, 100.0f);
- configParam(MIX_16_8_PARAM, -1.0f, 1.0f, 0.0f, "Mix 8P", "%", 0.0f, 100.0f);
- configParam(MIX_16_9_PARAM, -1.0f, 1.0f, 0.0f, "Mix 9P", "%", 0.0f, 100.0f);
- configParam(MIX_16_10_PARAM, -1.0f, 1.0f, 0.0f, "Mix 10P", "%", 0.0f, 100.0f);
- configParam(MIX_16_11_PARAM, -1.0f, 1.0f, 0.0f, "Mix 11P", "%", 0.0f, 100.0f);
- configParam(MIX_16_12_PARAM, -1.0f, 1.0f, 0.0f, "Mix 12P", "%", 0.0f, 100.0f);
- configParam(MIX_16_13_PARAM, -1.0f, 1.0f, 0.0f, "Mix 13P", "%", 0.0f, 100.0f);
- configParam(MIX_16_14_PARAM, -1.0f, 1.0f, 0.0f, "Mix 14P", "%", 0.0f, 100.0f);
- configParam(MIX_16_15_PARAM, -1.0f, 1.0f, 0.0f, "Mix 15P", "%", 0.0f, 100.0f);
- configParam(MIX_16_16_PARAM, -1.0f, 1.0f, 0.0f, "Mix 16P", "%", 0.0f, 100.0f);
+ configSwitchParam(MIX_16_1_PARAM, "Mix 1P");
+ configSwitchParam(MIX_16_2_PARAM, "Mix 2P");
+ configSwitchParam(MIX_16_3_PARAM, "Mix 3P");
+ configSwitchParam(MIX_16_4_PARAM, "Mix 4P");
+ configSwitchParam(MIX_16_5_PARAM, "Mix 5P");
+ configSwitchParam(MIX_16_6_PARAM, "Mix 6P");
+ configSwitchParam(MIX_16_7_PARAM, "Mix 7P");
+ configSwitchParam(MIX_16_8_PARAM, "Mix 8P");
+ configSwitchParam(MIX_16_9_PARAM, "Mix 9P");
+ configSwitchParam(MIX_16_10_PARAM, "Mix 10P");
+ configSwitchParam(MIX_16_11_PARAM, "Mix 11P");
+ configSwitchParam(MIX_16_12_PARAM, "Mix 12P");
+ configSwitchParam(MIX_16_13_PARAM, "Mix 13P");
+ configSwitchParam(MIX_16_14_PARAM, "Mix 14P");
+ configSwitchParam(MIX_16_15_PARAM, "Mix 15P");
+ configSwitchParam(MIX_16_16_PARAM, "Mix 16P");
}
};
diff --git a/src/Switch44.hpp b/src/Switch44.hpp
@@ -46,22 +46,22 @@ struct Switch44 : SwitchMatrixModule {
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);
- configParam(MIX31_PARAM, -1.0f, 1.0f, 0.0f, "Mix 3A", "%", 0.0f, 100.0f);
- configParam(MIX41_PARAM, -1.0f, 1.0f, 0.0f, "Mix 4A", "%", 0.0f, 100.0f);
- configParam(MIX12_PARAM, -1.0f, 1.0f, 0.0f, "Mix 1B", "%", 0.0f, 100.0f);
- configParam(MIX22_PARAM, -1.0f, 1.0f, 0.0f, "Mix 2B", "%", 0.0f, 100.0f);
- configParam(MIX32_PARAM, -1.0f, 1.0f, 0.0f, "Mix 3B", "%", 0.0f, 100.0f);
- configParam(MIX42_PARAM, -1.0f, 1.0f, 0.0f, "Mix 4B", "%", 0.0f, 100.0f);
- configParam(MIX13_PARAM, -1.0f, 1.0f, 0.0f, "Mix 1C", "%", 0.0f, 100.0f);
- configParam(MIX23_PARAM, -1.0f, 1.0f, 0.0f, "Mix 2C", "%", 0.0f, 100.0f);
- configParam(MIX33_PARAM, -1.0f, 1.0f, 0.0f, "Mix 3C", "%", 0.0f, 100.0f);
- configParam(MIX43_PARAM, -1.0f, 1.0f, 0.0f, "Mix 4C", "%", 0.0f, 100.0f);
- configParam(MIX14_PARAM, -1.0f, 1.0f, 0.0f, "Mix 1D", "%", 0.0f, 100.0f);
- configParam(MIX24_PARAM, -1.0f, 1.0f, 0.0f, "Mix 2D", "%", 0.0f, 100.0f);
- configParam(MIX34_PARAM, -1.0f, 1.0f, 0.0f, "Mix 3D", "%", 0.0f, 100.0f);
- configParam(MIX44_PARAM, -1.0f, 1.0f, 0.0f, "Mix 4D", "%", 0.0f, 100.0f);
+ configSwitchParam(MIX11_PARAM, "Mix 1A");
+ configSwitchParam(MIX21_PARAM, "Mix 2A");
+ configSwitchParam(MIX31_PARAM, "Mix 3A");
+ configSwitchParam(MIX41_PARAM, "Mix 4A");
+ configSwitchParam(MIX12_PARAM, "Mix 1B");
+ configSwitchParam(MIX22_PARAM, "Mix 2B");
+ configSwitchParam(MIX32_PARAM, "Mix 3B");
+ configSwitchParam(MIX42_PARAM, "Mix 4B");
+ configSwitchParam(MIX13_PARAM, "Mix 1C");
+ configSwitchParam(MIX23_PARAM, "Mix 2C");
+ configSwitchParam(MIX33_PARAM, "Mix 3C");
+ configSwitchParam(MIX43_PARAM, "Mix 4C");
+ configSwitchParam(MIX14_PARAM, "Mix 1D");
+ configSwitchParam(MIX24_PARAM, "Mix 2D");
+ configSwitchParam(MIX34_PARAM, "Mix 3D");
+ configSwitchParam(MIX44_PARAM, "Mix 4D");
}
};
diff --git a/src/Switch88.hpp b/src/Switch88.hpp
@@ -102,70 +102,70 @@ struct Switch88 : SwitchMatrixModule {
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);
- configParam(MIX31_PARAM, -1.0f, 1.0f, 0.0f, "Mix 3A", "%", 0.0f, 100.0f);
- configParam(MIX41_PARAM, -1.0f, 1.0f, 0.0f, "Mix 4A", "%", 0.0f, 100.0f);
- configParam(MIX51_PARAM, -1.0f, 1.0f, 0.0f, "Mix 5A", "%", 0.0f, 100.0f);
- configParam(MIX61_PARAM, -1.0f, 1.0f, 0.0f, "Mix 6A", "%", 0.0f, 100.0f);
- configParam(MIX71_PARAM, -1.0f, 1.0f, 0.0f, "Mix 7A", "%", 0.0f, 100.0f);
- configParam(MIX81_PARAM, -1.0f, 1.0f, 0.0f, "Mix 8A", "%", 0.0f, 100.0f);
- configParam(MIX12_PARAM, -1.0f, 1.0f, 0.0f, "Mix 1B", "%", 0.0f, 100.0f);
- configParam(MIX22_PARAM, -1.0f, 1.0f, 0.0f, "Mix 2B", "%", 0.0f, 100.0f);
- configParam(MIX32_PARAM, -1.0f, 1.0f, 0.0f, "Mix 3B", "%", 0.0f, 100.0f);
- configParam(MIX42_PARAM, -1.0f, 1.0f, 0.0f, "Mix 4B", "%", 0.0f, 100.0f);
- configParam(MIX52_PARAM, -1.0f, 1.0f, 0.0f, "Mix 5B", "%", 0.0f, 100.0f);
- configParam(MIX62_PARAM, -1.0f, 1.0f, 0.0f, "Mix 6B", "%", 0.0f, 100.0f);
- configParam(MIX72_PARAM, -1.0f, 1.0f, 0.0f, "Mix 7B", "%", 0.0f, 100.0f);
- configParam(MIX82_PARAM, -1.0f, 1.0f, 0.0f, "Mix 8B", "%", 0.0f, 100.0f);
- configParam(MIX13_PARAM, -1.0f, 1.0f, 0.0f, "Mix 1C", "%", 0.0f, 100.0f);
- configParam(MIX23_PARAM, -1.0f, 1.0f, 0.0f, "Mix 2C", "%", 0.0f, 100.0f);
- configParam(MIX33_PARAM, -1.0f, 1.0f, 0.0f, "Mix 3C", "%", 0.0f, 100.0f);
- configParam(MIX43_PARAM, -1.0f, 1.0f, 0.0f, "Mix 4C", "%", 0.0f, 100.0f);
- configParam(MIX53_PARAM, -1.0f, 1.0f, 0.0f, "Mix 5C", "%", 0.0f, 100.0f);
- configParam(MIX63_PARAM, -1.0f, 1.0f, 0.0f, "Mix 6C", "%", 0.0f, 100.0f);
- configParam(MIX73_PARAM, -1.0f, 1.0f, 0.0f, "Mix 7C", "%", 0.0f, 100.0f);
- configParam(MIX83_PARAM, -1.0f, 1.0f, 0.0f, "Mix 8C", "%", 0.0f, 100.0f);
- configParam(MIX14_PARAM, -1.0f, 1.0f, 0.0f, "Mix 1D", "%", 0.0f, 100.0f);
- configParam(MIX24_PARAM, -1.0f, 1.0f, 0.0f, "Mix 2D", "%", 0.0f, 100.0f);
- configParam(MIX34_PARAM, -1.0f, 1.0f, 0.0f, "Mix 3D", "%", 0.0f, 100.0f);
- configParam(MIX44_PARAM, -1.0f, 1.0f, 0.0f, "Mix 4D", "%", 0.0f, 100.0f);
- configParam(MIX54_PARAM, -1.0f, 1.0f, 0.0f, "Mix 5D", "%", 0.0f, 100.0f);
- configParam(MIX64_PARAM, -1.0f, 1.0f, 0.0f, "Mix 6D", "%", 0.0f, 100.0f);
- configParam(MIX74_PARAM, -1.0f, 1.0f, 0.0f, "Mix 7D", "%", 0.0f, 100.0f);
- configParam(MIX84_PARAM, -1.0f, 1.0f, 0.0f, "Mix 8D", "%", 0.0f, 100.0f);
- configParam(MIX15_PARAM, -1.0f, 1.0f, 0.0f, "Mix 1E", "%", 0.0f, 100.0f);
- configParam(MIX25_PARAM, -1.0f, 1.0f, 0.0f, "Mix 2E", "%", 0.0f, 100.0f);
- configParam(MIX35_PARAM, -1.0f, 1.0f, 0.0f, "Mix 3E", "%", 0.0f, 100.0f);
- configParam(MIX45_PARAM, -1.0f, 1.0f, 0.0f, "Mix 4E", "%", 0.0f, 100.0f);
- configParam(MIX55_PARAM, -1.0f, 1.0f, 0.0f, "Mix 5E", "%", 0.0f, 100.0f);
- configParam(MIX65_PARAM, -1.0f, 1.0f, 0.0f, "Mix 6E", "%", 0.0f, 100.0f);
- configParam(MIX75_PARAM, -1.0f, 1.0f, 0.0f, "Mix 7E", "%", 0.0f, 100.0f);
- configParam(MIX85_PARAM, -1.0f, 1.0f, 0.0f, "Mix 8E", "%", 0.0f, 100.0f);
- configParam(MIX16_PARAM, -1.0f, 1.0f, 0.0f, "Mix 1F", "%", 0.0f, 100.0f);
- configParam(MIX26_PARAM, -1.0f, 1.0f, 0.0f, "Mix 2F", "%", 0.0f, 100.0f);
- configParam(MIX36_PARAM, -1.0f, 1.0f, 0.0f, "Mix 3F", "%", 0.0f, 100.0f);
- configParam(MIX46_PARAM, -1.0f, 1.0f, 0.0f, "Mix 4F", "%", 0.0f, 100.0f);
- configParam(MIX56_PARAM, -1.0f, 1.0f, 0.0f, "Mix 5F", "%", 0.0f, 100.0f);
- configParam(MIX66_PARAM, -1.0f, 1.0f, 0.0f, "Mix 6F", "%", 0.0f, 100.0f);
- configParam(MIX76_PARAM, -1.0f, 1.0f, 0.0f, "Mix 7F", "%", 0.0f, 100.0f);
- configParam(MIX86_PARAM, -1.0f, 1.0f, 0.0f, "Mix 8F", "%", 0.0f, 100.0f);
- configParam(MIX17_PARAM, -1.0f, 1.0f, 0.0f, "Mix 1G", "%", 0.0f, 100.0f);
- configParam(MIX27_PARAM, -1.0f, 1.0f, 0.0f, "Mix 2G", "%", 0.0f, 100.0f);
- configParam(MIX37_PARAM, -1.0f, 1.0f, 0.0f, "Mix 3G", "%", 0.0f, 100.0f);
- configParam(MIX47_PARAM, -1.0f, 1.0f, 0.0f, "Mix 4G", "%", 0.0f, 100.0f);
- configParam(MIX57_PARAM, -1.0f, 1.0f, 0.0f, "Mix 5G", "%", 0.0f, 100.0f);
- configParam(MIX67_PARAM, -1.0f, 1.0f, 0.0f, "Mix 6G", "%", 0.0f, 100.0f);
- configParam(MIX77_PARAM, -1.0f, 1.0f, 0.0f, "Mix 7G", "%", 0.0f, 100.0f);
- configParam(MIX87_PARAM, -1.0f, 1.0f, 0.0f, "Mix 8G", "%", 0.0f, 100.0f);
- configParam(MIX18_PARAM, -1.0f, 1.0f, 0.0f, "Mix 1H", "%", 0.0f, 100.0f);
- configParam(MIX28_PARAM, -1.0f, 1.0f, 0.0f, "Mix 2H", "%", 0.0f, 100.0f);
- configParam(MIX38_PARAM, -1.0f, 1.0f, 0.0f, "Mix 3H", "%", 0.0f, 100.0f);
- configParam(MIX48_PARAM, -1.0f, 1.0f, 0.0f, "Mix 4H", "%", 0.0f, 100.0f);
- configParam(MIX58_PARAM, -1.0f, 1.0f, 0.0f, "Mix 5H", "%", 0.0f, 100.0f);
- configParam(MIX68_PARAM, -1.0f, 1.0f, 0.0f, "Mix 6H", "%", 0.0f, 100.0f);
- configParam(MIX78_PARAM, -1.0f, 1.0f, 0.0f, "Mix 7H", "%", 0.0f, 100.0f);
- configParam(MIX88_PARAM, -1.0f, 1.0f, 0.0f, "Mix 8H", "%", 0.0f, 100.0f);
+ configSwitchParam(MIX11_PARAM, "Mix 1A");
+ configSwitchParam(MIX21_PARAM, "Mix 2A");
+ configSwitchParam(MIX31_PARAM, "Mix 3A");
+ configSwitchParam(MIX41_PARAM, "Mix 4A");
+ configSwitchParam(MIX51_PARAM, "Mix 5A");
+ configSwitchParam(MIX61_PARAM, "Mix 6A");
+ configSwitchParam(MIX71_PARAM, "Mix 7A");
+ configSwitchParam(MIX81_PARAM, "Mix 8A");
+ configSwitchParam(MIX12_PARAM, "Mix 1B");
+ configSwitchParam(MIX22_PARAM, "Mix 2B");
+ configSwitchParam(MIX32_PARAM, "Mix 3B");
+ configSwitchParam(MIX42_PARAM, "Mix 4B");
+ configSwitchParam(MIX52_PARAM, "Mix 5B");
+ configSwitchParam(MIX62_PARAM, "Mix 6B");
+ configSwitchParam(MIX72_PARAM, "Mix 7B");
+ configSwitchParam(MIX82_PARAM, "Mix 8B");
+ configSwitchParam(MIX13_PARAM, "Mix 1C");
+ configSwitchParam(MIX23_PARAM, "Mix 2C");
+ configSwitchParam(MIX33_PARAM, "Mix 3C");
+ configSwitchParam(MIX43_PARAM, "Mix 4C");
+ configSwitchParam(MIX53_PARAM, "Mix 5C");
+ configSwitchParam(MIX63_PARAM, "Mix 6C");
+ configSwitchParam(MIX73_PARAM, "Mix 7C");
+ configSwitchParam(MIX83_PARAM, "Mix 8C");
+ configSwitchParam(MIX14_PARAM, "Mix 1D");
+ configSwitchParam(MIX24_PARAM, "Mix 2D");
+ configSwitchParam(MIX34_PARAM, "Mix 3D");
+ configSwitchParam(MIX44_PARAM, "Mix 4D");
+ configSwitchParam(MIX54_PARAM, "Mix 5D");
+ configSwitchParam(MIX64_PARAM, "Mix 6D");
+ configSwitchParam(MIX74_PARAM, "Mix 7D");
+ configSwitchParam(MIX84_PARAM, "Mix 8D");
+ configSwitchParam(MIX15_PARAM, "Mix 1E");
+ configSwitchParam(MIX25_PARAM, "Mix 2E");
+ configSwitchParam(MIX35_PARAM, "Mix 3E");
+ configSwitchParam(MIX45_PARAM, "Mix 4E");
+ configSwitchParam(MIX55_PARAM, "Mix 5E");
+ configSwitchParam(MIX65_PARAM, "Mix 6E");
+ configSwitchParam(MIX75_PARAM, "Mix 7E");
+ configSwitchParam(MIX85_PARAM, "Mix 8E");
+ configSwitchParam(MIX16_PARAM, "Mix 1F");
+ configSwitchParam(MIX26_PARAM, "Mix 2F");
+ configSwitchParam(MIX36_PARAM, "Mix 3F");
+ configSwitchParam(MIX46_PARAM, "Mix 4F");
+ configSwitchParam(MIX56_PARAM, "Mix 5F");
+ configSwitchParam(MIX66_PARAM, "Mix 6F");
+ configSwitchParam(MIX76_PARAM, "Mix 7F");
+ configSwitchParam(MIX86_PARAM, "Mix 8F");
+ configSwitchParam(MIX17_PARAM, "Mix 1G");
+ configSwitchParam(MIX27_PARAM, "Mix 2G");
+ configSwitchParam(MIX37_PARAM, "Mix 3G");
+ configSwitchParam(MIX47_PARAM, "Mix 4G");
+ configSwitchParam(MIX57_PARAM, "Mix 5G");
+ configSwitchParam(MIX67_PARAM, "Mix 6G");
+ configSwitchParam(MIX77_PARAM, "Mix 7G");
+ configSwitchParam(MIX87_PARAM, "Mix 8G");
+ configSwitchParam(MIX18_PARAM, "Mix 1H");
+ configSwitchParam(MIX28_PARAM, "Mix 2H");
+ configSwitchParam(MIX38_PARAM, "Mix 3H");
+ configSwitchParam(MIX48_PARAM, "Mix 4H");
+ configSwitchParam(MIX58_PARAM, "Mix 5H");
+ configSwitchParam(MIX68_PARAM, "Mix 6H");
+ configSwitchParam(MIX78_PARAM, "Mix 7H");
+ configSwitchParam(MIX88_PARAM, "Mix 8H");
}
};
diff --git a/src/matrix_base.cpp b/src/matrix_base.cpp
@@ -72,18 +72,72 @@ void KnobMatrixModule::dataFromJson(json_t* root) {
}
-#define CLICK_TO_INVERT "click_to_invert"
+#define INVERTING "inverting"
+#define INVERTING_CLICK "click"
+#define INVERTING_PARAM "param"
+#define INVERTING_DISABLED "disabled"
json_t* SwitchMatrixModule::dataToJson() {
json_t* root = MatrixBaseModule::dataToJson();
- json_object_set_new(root, CLICK_TO_INVERT, json_boolean(_clickToInvert));
+ switch (_inverting) {
+ case CLICK_INVERTING: {
+ json_object_set_new(root, INVERTING, json_string(INVERTING_CLICK));
+ break;
+ }
+ case PARAM_INVERTING: {
+ json_object_set_new(root, INVERTING, json_string(INVERTING_PARAM));
+ break;
+ }
+ case NO_INVERTING: {
+ json_object_set_new(root, INVERTING, json_string(INVERTING_DISABLED));
+ break;
+ }
+ }
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);
+ json_t* i = json_object_get(root, INVERTING);
+ if (i) {
+ const char* s = json_string_value(i);
+ if (s) {
+ if (0 == strcmp(INVERTING_CLICK, s)) {
+ setInverting(CLICK_INVERTING);
+ }
+ else if (0 == strcmp(INVERTING_PARAM, s)) {
+ setInverting(PARAM_INVERTING);
+ }
+ else if (0 == strcmp(INVERTING_DISABLED, s)) {
+ setInverting(NO_INVERTING);
+ }
+ }
+ }
+}
+
+void SwitchMatrixModule::setInverting(Inverting inverting) {
+ _inverting = inverting;
+
+ float minValue = -1.0f;
+ switch (_inverting) {
+ case CLICK_INVERTING:
+ case PARAM_INVERTING: {
+ minValue = -1.0f;
+ break;
+ }
+ default: {
+ minValue = 0.0f;
+ }
}
+ for (ParamQuantity* pq : _switchParamQuantities) {
+ pq->minValue = minValue;
+ if (pq->getValue() < minValue) {
+ pq->setValue(minValue);
+ }
+ }
+}
+
+void SwitchMatrixModule::configSwitchParam(int id, const char* label) {
+ configParam(id, -1.0f, 1.0f, 0.0f, label, "%", 0.0f, 100.0f);
+ _switchParamQuantities.push_back(paramQuantities[id]);
}
diff --git a/src/matrix_base.hpp b/src/matrix_base.hpp
@@ -109,7 +109,14 @@ struct KnobMatrixModuleWidget : MatrixBaseModuleWidget {
};
struct SwitchMatrixModule : MatrixModule {
- bool _clickToInvert = true;
+ enum Inverting {
+ CLICK_INVERTING,
+ PARAM_INVERTING,
+ NO_INVERTING
+ };
+
+ Inverting _inverting = CLICK_INVERTING;
+ std::vector<ParamQuantity*> _switchParamQuantities;
SwitchMatrixModule(int n, int firstParamID, int firstInputID, int firstOutputID)
: MatrixModule(n, firstParamID, firstInputID, firstOutputID)
@@ -117,13 +124,15 @@ struct SwitchMatrixModule : MatrixModule {
json_t* dataToJson() override;
void dataFromJson(json_t* root) override;
+ void setInverting(Inverting inverting);
+ void configSwitchParam(int id, const char* label);
};
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; });
+ s->setClickToInvertCallback([module]() { return module->_inverting == SwitchMatrixModule::CLICK_INVERTING; });
}
addParam(s);
}
@@ -132,11 +141,12 @@ struct SwitchMatrixModuleWidget : MatrixBaseModuleWidget {
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; }
- ));
+
+ OptionsMenuItem* i = new OptionsMenuItem("Inverting");
+ i->addItem(OptionMenuItem("On second click", [m]() { return m->_inverting == SwitchMatrixModule::CLICK_INVERTING; }, [m]() { m->setInverting(SwitchMatrixModule::CLICK_INVERTING); }));
+ i->addItem(OptionMenuItem("By param entry (right-click)", [m]() { return m->_inverting == SwitchMatrixModule::PARAM_INVERTING; }, [m]() { m->setInverting(SwitchMatrixModule::PARAM_INVERTING); }));
+ i->addItem(OptionMenuItem("Disabled", [m]() { return m->_inverting == SwitchMatrixModule::NO_INVERTING; }, [m]() { m->setInverting(SwitchMatrixModule::NO_INVERTING); }));
+ OptionsMenuItem::addToMenu(i, menu);
}
};
diff --git a/src/widgets.cpp b/src/widgets.cpp
@@ -404,7 +404,7 @@ void InvertingIndicatorButton::onButton(const event::Button& e) {
else if (value < 1.0f) {
paramQuantity->setValue(1.0f);
}
- else if (!clickToInvertCB || clickToInvertCB()) {
+ else if (paramQuantity->minValue < 0.0f && (!clickToInvertCB || clickToInvertCB())) {
paramQuantity->setValue(-1.0f);
}
else {