BogaudioModules

BogaudioModules for VCV Rack
Log | Files | Refs | README | LICENSE

Switch44.hpp (1797B)


      1 #pragma once
      2 
      3 #include "bogaudio.hpp"
      4 #include "matrix_base.hpp"
      5 
      6 extern Model* modelSwitch44;
      7 
      8 namespace bogaudio {
      9 
     10 struct Switch44 : SwitchMatrixModule {
     11 	enum ParamsIds {
     12 		MIX11_PARAM,
     13 		MIX21_PARAM,
     14 		MIX31_PARAM,
     15 		MIX41_PARAM,
     16 		MIX12_PARAM,
     17 		MIX22_PARAM,
     18 		MIX32_PARAM,
     19 		MIX42_PARAM,
     20 		MIX13_PARAM,
     21 		MIX23_PARAM,
     22 		MIX33_PARAM,
     23 		MIX43_PARAM,
     24 		MIX14_PARAM,
     25 		MIX24_PARAM,
     26 		MIX34_PARAM,
     27 		MIX44_PARAM,
     28 		NUM_PARAMS
     29 	};
     30 
     31 	enum InputsIds {
     32 		IN1_INPUT,
     33 		IN2_INPUT,
     34 		IN3_INPUT,
     35 		IN4_INPUT,
     36 		NUM_INPUTS
     37 	};
     38 
     39 	enum OutputsIds {
     40 		OUT1_OUTPUT,
     41 		OUT2_OUTPUT,
     42 		OUT3_OUTPUT,
     43 		OUT4_OUTPUT,
     44 		NUM_OUTPUTS
     45 	};
     46 
     47 	Switch44() : SwitchMatrixModule(4, 4, MIX11_PARAM, IN1_INPUT, OUT1_OUTPUT) {
     48 		config(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS);
     49 		configSwitchParam(MIX11_PARAM, "Mix 1A");
     50 		configSwitchParam(MIX21_PARAM, "Mix 2A");
     51 		configSwitchParam(MIX31_PARAM, "Mix 3A");
     52 		configSwitchParam(MIX41_PARAM, "Mix 4A");
     53 		configSwitchParam(MIX12_PARAM, "Mix 1B");
     54 		configSwitchParam(MIX22_PARAM, "Mix 2B");
     55 		configSwitchParam(MIX32_PARAM, "Mix 3B");
     56 		configSwitchParam(MIX42_PARAM, "Mix 4B");
     57 		configSwitchParam(MIX13_PARAM, "Mix 1C");
     58 		configSwitchParam(MIX23_PARAM, "Mix 2C");
     59 		configSwitchParam(MIX33_PARAM, "Mix 3C");
     60 		configSwitchParam(MIX43_PARAM, "Mix 4C");
     61 		configSwitchParam(MIX14_PARAM, "Mix 1D");
     62 		configSwitchParam(MIX24_PARAM, "Mix 2D");
     63 		configSwitchParam(MIX34_PARAM, "Mix 3D");
     64 		configSwitchParam(MIX44_PARAM, "Mix 4D");
     65 
     66 		configInput(IN1_INPUT, "Signal 1");
     67 		configInput(IN2_INPUT, "Signal 2");
     68 		configInput(IN3_INPUT, "Signal 3");
     69 		configInput(IN4_INPUT, "Signal 4");
     70 
     71 		configOutput(OUT1_OUTPUT, "Signal A");
     72 		configOutput(OUT2_OUTPUT, "Signal B");
     73 		configOutput(OUT3_OUTPUT, "Signal C");
     74 		configOutput(OUT4_OUTPUT, "Signal D");
     75 	}
     76 };
     77 
     78 } // namespace bogaudio