BogaudioModules

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

PolyMult.hpp (849B)


      1 #pragma once
      2 
      3 #include "bogaudio.hpp"
      4 
      5 extern Model* modelPolyMult;
      6 
      7 namespace bogaudio {
      8 
      9 struct PolyMult : BGModule {
     10 	enum ParamsIds {
     11 		CHANNELS_PARAM,
     12 		NUM_PARAMS
     13 	};
     14 
     15 	enum InputsIds {
     16 		CHANNELS_INPUT,
     17 		IN_INPUT,
     18 		NUM_INPUTS
     19 	};
     20 
     21 	enum OutputsIds {
     22 		OUT1_OUTPUT,
     23 		OUT2_OUTPUT,
     24 		OUT3_OUTPUT,
     25 		OUT4_OUTPUT,
     26 		NUM_OUTPUTS
     27 	};
     28 
     29 	PolyMult() {
     30 		config(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS);
     31 		configParam(CHANNELS_PARAM, 1.0f, 16.0f, 1.0f, "Polyphony channels");
     32 		paramQuantities[CHANNELS_PARAM]->snapEnabled = true;
     33 
     34 		configInput(CHANNELS_INPUT, "Channels CV");
     35 		configInput(IN_INPUT, "Signal");
     36 
     37 		configOutput(OUT1_OUTPUT, "Signal");
     38 		configOutput(OUT2_OUTPUT, "Signal");
     39 		configOutput(OUT3_OUTPUT, "Signal");
     40 		configOutput(OUT4_OUTPUT, "Signal");
     41 	}
     42 
     43 	void processAll(const ProcessArgs& args) override;
     44 };
     45 
     46 } // namespace bogaudio