#include "plugin.hpp" #include struct SSI2164_Mixer1 : Module { enum ParamId { CH1_AUX1_PARAM, CH1_AUX2_PARAM, CH1_PAN_PARAM, CH1_MUTE_PARAM, CH1_FAD_PARAM, PARAMS_LEN }; enum InputId { CH1_IN_INPUT, CH1_PAN_INPUT, AUX2_RETURN_R_INPUT, AUX2_RETURN_L_INPUT, AUX1_RETURN_INPUT, INPUTS_LEN }; enum OutputId { AUX2_SEND_L_OUTPUT, AUX1_SEND_OUTPUT, AUX2_SEND_R_OUTPUT, MASTER_OUT_L_OUTPUT, MASTER_OUT_R_OUTPUT, OUTPUTS_LEN }; enum LightId { CH1_LEVEL_LIGHT, MASTER_LED_L_LIGHT, MASTER_LED_R_LIGHT, LIGHTS_LEN }; SSI2164_Mixer1() { config(PARAMS_LEN, INPUTS_LEN, OUTPUTS_LEN, LIGHTS_LEN); configParam(CH1_AUX1_PARAM, 0.f, 1.f, 0.f, "Aux 1"); configParam(CH1_AUX2_PARAM, 0.f, 1.f, 0.f, "Aux 2"); configParam(CH1_PAN_PARAM, 0.f, 1.f, 0.5f, "Pan", "R/L", 2.f); configParam(CH1_MUTE_PARAM, 0.f, 1.f, 0.f, "Mute"); configParam(CH1_FAD_PARAM, 0.f, 1.f, 0.f, "Fader"); configInput(CH1_IN_INPUT, "Ch1"); configInput(CH1_PAN_INPUT, "Ch1 Pan CV"); configOutput(AUX1_SEND_OUTPUT, "Aux 1 Send"); configInput(AUX1_RETURN_INPUT, "Aux 1 Return"); configOutput(AUX2_SEND_L_OUTPUT, "Aux 2 Send L"); configOutput(AUX2_SEND_R_OUTPUT, "Aux 2 Send R"); configInput(AUX2_RETURN_L_INPUT, "Aux 2 Return L"); configInput(AUX2_RETURN_R_INPUT, "Aux 2 Return R"); configOutput(MASTER_OUT_L_OUTPUT, "Master L"); configOutput(MASTER_OUT_R_OUTPUT, "Master R"); } void process(const ProcessArgs& args) override { } }; struct SSI2164_Mixer1Widget : ModuleWidget { SSI2164_Mixer1Widget(SSI2164_Mixer1* module) { setModule(module); setPanel(createPanel(asset::plugin(pluginInstance, "res/SSI2164-Mixer1.svg"))); addChild(createWidget(Vec(RACK_GRID_WIDTH, 0))); addChild(createWidget(Vec(box.size.x - 2 * RACK_GRID_WIDTH, 0))); addChild(createWidget(Vec(RACK_GRID_WIDTH, RACK_GRID_HEIGHT - RACK_GRID_WIDTH))); addChild(createWidget(Vec(box.size.x - 2 * RACK_GRID_WIDTH, RACK_GRID_HEIGHT - RACK_GRID_WIDTH))); addInput(createInputCentered(mm2px(Vec(12, 17)), module, SSI2164_Mixer1::CH1_IN_INPUT)); addInput(createInputCentered(mm2px(Vec(12, 28)), module, SSI2164_Mixer1::CH1_PAN_INPUT)); addParam(createParamCentered(mm2px(Vec(12, 38)), module, SSI2164_Mixer1::CH1_AUX1_PARAM)); addParam(createParamCentered(mm2px(Vec(12, 49)), module, SSI2164_Mixer1::CH1_AUX2_PARAM)); addParam(createParamCentered(mm2px(Vec(12, 59)), module, SSI2164_Mixer1::CH1_PAN_PARAM)); addParam(createParamCentered(mm2px(Vec(12, 68)), module, SSI2164_Mixer1::CH1_MUTE_PARAM)); addChild(createLightCentered>(mm2px(Vec(12, 77)), module, SSI2164_Mixer1::CH1_LEVEL_LIGHT)); addParam(createParamCentered(mm2px(Vec(12, 101)), module, SSI2164_Mixer1::CH1_FAD_PARAM)); addOutput(createOutputCentered(mm2px(Vec(141, 13)), module, SSI2164_Mixer1::AUX1_SEND_OUTPUT)); addInput(createInputCentered(mm2px(Vec(141, 27)), module, SSI2164_Mixer1::AUX1_RETURN_INPUT)); addInput(createInputCentered(mm2px(Vec(160, 27)), module, SSI2164_Mixer1::AUX2_RETURN_L_INPUT)); addInput(createInputCentered(mm2px(Vec(172, 27)), module, SSI2164_Mixer1::AUX2_RETURN_R_INPUT)); addOutput(createOutputCentered(mm2px(Vec(160, 13)), module, SSI2164_Mixer1::AUX2_SEND_L_OUTPUT)); addOutput(createOutputCentered(mm2px(Vec(172, 13)), module, SSI2164_Mixer1::AUX2_SEND_R_OUTPUT)); addOutput(createOutputCentered(mm2px(Vec(160, 113)), module, SSI2164_Mixer1::MASTER_OUT_L_OUTPUT)); addOutput(createOutputCentered(mm2px(Vec(172, 113)), module, SSI2164_Mixer1::MASTER_OUT_R_OUTPUT)); addChild(createLightCentered>(mm2px(Vec(160, 77)), module, SSI2164_Mixer1::MASTER_LED_L_LIGHT)); addChild(createLightCentered>(mm2px(Vec(172, 77)), module, SSI2164_Mixer1::MASTER_LED_R_LIGHT)); } }; Model* modelSSI2164_Mixer1 = createModel("SSI2164-Mixer1");