BogaudioModules

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

Sums.hpp (859B)


      1 #pragma once
      2 
      3 #include "bogaudio.hpp"
      4 #include "disable_output_limit.hpp"
      5 
      6 extern Model* modelSums;
      7 
      8 namespace bogaudio {
      9 
     10 struct Sums : DisableOutputLimitModule {
     11 	enum ParamsIds {
     12 		NUM_PARAMS
     13 	};
     14 
     15 	enum InputsIds {
     16 		A_INPUT,
     17 		B_INPUT,
     18 		NEGATE_INPUT,
     19 		NUM_INPUTS
     20 	};
     21 
     22 	enum OutputsIds {
     23 		SUM_OUTPUT,
     24 		DIFFERENCE_OUTPUT,
     25 		MAX_OUTPUT,
     26 		MIN_OUTPUT,
     27 		NEGATE_OUTPUT,
     28 		NUM_OUTPUTS
     29 	};
     30 
     31 	Sums() {
     32 		config(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS);
     33 
     34 		configInput(A_INPUT, "Signal A");
     35 		configInput(B_INPUT, "Signal B");
     36 		configInput(NEGATE_INPUT, "Negative signal");
     37 
     38 		configOutput(SUM_OUTPUT, "Sum");
     39 		configOutput(DIFFERENCE_OUTPUT, "Difference");
     40 		configOutput(MAX_OUTPUT, "Max");
     41 		configOutput(MIN_OUTPUT, "Min");
     42 		configOutput(NEGATE_OUTPUT, "Negative signal");
     43 	}
     44 
     45 	void processAll(const ProcessArgs& args) override;
     46 };
     47 
     48 } // namespace bogaudio